TensorFlow: Image Classification

CrossKnight
3 min readAug 10, 2020

--

Image Classification

คือการจำแนกประเภทของรูปภาพ โดยสิ่งที่ขาดไม่ได้นั้นเลยคือข้อมูล (Dataset) ซึ่งเบื้องหลังจะมีกระบวนการทำงานแบบ Convolutional Neural Network (CNN หรือ ConvNet)

หากท่านใดที่ไม่ต้องการ Setup Environment ต่างๆ ของ Python หรือ Jupyter notebook แนะนำให้ลองใช้ Colab แทนครับ เป็น notebook ที่ทาง Google เปิดให้ใช้งานฟรี(Limit Resource) พร้อมกับ GPU (จะไม่ขอลงรายละเอียดในส่วนนี้นะ)

https://colab.research.google.com

เบื้องต้นทำการตรวจสอบ GPU และ Python ว่าพร้อมใช้งานไหม

Import Library ต่างๆที่ใช้งาน

ตรงนี้จะวุ่นวายนิดหน่อย เนื่องจากใช้งาน Dataset จากข้างนอก จึงมีการ Config เพิ่มเติม

สั่งให้ทำการ Download มาแล้วทำการแตกไฟล์

เนื่องจากตัว Dataset ที่โหลดมาจาก Github ทำให้ตอนแตกไฟล์มีคำว่า master ต่อท้ายเข้ามา (จาก Fruit-Images-Dataset) จึงมีการแก้ไขเล็กน้อยและเช็คไฟล์รูปภาพ

โดยที่ผลลัพธ์จะเป็น Path Directory ใหม่และจำนวนรูปภาพ

ทำการ Config ข้อมูลที่จะไปคำนวณ โดย num_classes ในที่นี้คือจำนวนชนิดของผลไม้จาก และ Width, Height มีขนาด 100x100 ของ Dataset ชุดนี้

ทำการนำเข้า Dataset ที่จะ Train และ Validate

ผลลัพธ์บรรทัดสุดท้ายคือชนิดของผลไม้ของ Dataset ชุดนี้

ทำการ Normalization ค่าสี RGB

เสร็จไปแล้วกับเตรียมข้อมูล ขั้นตอนต่อไปคือการสร้าง Model ขึ้นมา

ทดลอง Compile Model เพื่อเช็คความถูกต้อง

Train มันซะ !

เสร็จแล้วก็ Save Model ไว้ซะหน่อย เผื่อต้องใช้ในคราวหน้าจะได้ไม่ต้องมา Train มันซะใหม่

Save เสร็จแล้ว ก็ทดลอง Load ดูซะหน่อยว่าไม่มีปัญหา

นำมา Plot Graph ตรวจสอบ Accuracy/Loss

แสดงตัวอย่างจาก Dataset

ทดลอง Predict จาก Model ที่ทำการ Train เสร็จแล้ว

ทดลองนำรูปจาก Dataset

ทดลองนำรูปที่ไม่อยู่ใน Dataset

สรุป เท่าที่ทดลองเล่นดูพบว่าหากนำรูปใน Dataset มาทำนายจะให้ผลลัพธ์ที่ค่อนข้างตรง แต่หากเป็นรูปที่ไม่อยู่ใน Dataset จะให้ผลลัพธ์ที่ไม่เป็นที่คาดหวังเท่าไร อาจเป็นเพราะ Dataset ที่มีจำนวน Class มากเกินไป หรือเพราะ Model/Algorithm ที่ยังไม่เหมาะสมกับ Dataset/Normalization นี้

Reference
https://www.tensorflow.org/tutorials/images/classification
https://github.com/Horea94/Fruit-Images-Dataset
https://blog.pjjop.org/deep-learning

Colab
https://colab.research.google.com/drive/1as41WUg31RN2aGVK2zf6LxP7syht09R6

บทความนี้เป็นส่วนหนึ่งของรายวิชา AI จัดทำขึ้นเพื่อทดลองทำ Lab ซึ่งหากมีข้อผิดพลาดใดๆ ขออภัยไว้ ณ ที่นี้

--

--

No responses yet