Image Classification คือ กระบวนการที่จำแนกรูปภาพออกเป็น Class ได้นั่นเอง เช่น การที่เราส่งภาพองุ่นให้คอมพิวเตอร์ และคอมพิวเตอร์นั้นๆ สามารถจำแนกและบอกเรากลับมาได้ว่า ภาพที่เราส่งไปให้ คือองุ่น
การทำ Image Classification เราจะใช้กระบวนการที่เรียกว่า “Convolutional Neural Networks” หรือ “CNN”
ในครั้งนี้เราจะ Classification ทั้งหมด 4 หมวดหมู่คือ แอปเปิ้ล องุ่น กล้วย และ ส้ม
CNN คือ
Convolutional Neural Network (CNN) หรือ โครงข่ายประสาทแบบคอนโวลูชัน เป็นโครงข่ายประสาทเทียมหนึ่งในกลุ่ม bio-inspired โดยที่ CNN จะจำลองการมองเห็นของมนุษย์ที่มองพื้นที่เป็นที่ย่อยๆ และนำกลุ่มของพื้นที่ย่อยๆมาผสานกัน เพื่อดูว่าสิ่งที่เห็นอยู่เป็นอะไร
Requirement
ราจะใช้ Python และ Tensorflow ในการทำ ซึ่งมี 2 ทางเลือก คือ
- Google colab ที่มีทุกอย่างพร้อม และทำผ่าน Web browser ซึ่งเป็น Saas ของ Google นั่นเอง
- Jupyter Notebook ที่ทำใน Client ของเรา
ทั้งหมดจะทำผ่าน Jupyter Notebook ในตัวเครื่อง Local ของเรา ซึ่งจะมีสิ่งที่จำเป็น 3 อย่างดังนี้
- Cuda
- CuDNN
- Tensorflow เเละ Tensorflow-gpu
เริ่มจากทำการเตรียม Data set กันก่อนเลย โดยจุดประสงค์ของการทำครั้งนี้ คือการจำแนหภาพผลไม้ทั้งหมด 4 ชนิดด้วยกัน คือ กล้วย ส้ม เเอปเปิ้ล เเละองุ่น(โดยแต่ละชนิดจะทำการรวบรวมภาพผลไม้ชนิดละ 30ภาพ)
Import Libary
Prediction
การทดลองพยากรณ์ หรือการจำแนกผลไม้ด้วย Model ที่เรา Train มาโดยที่เราจะใช้ภาพที่เราเตรียมไว้ดังนี้
นี่คือการทำ image Classification จากการจำแนกภาพผลไม้