PetBreed Identifier
Deep Learning Deep Learning-Based Dog and Cat Breed Classification Application (แอปพลิเคชันการจำแนกสายพันธุ์สุนัขและแมวด้วยเทคโนโลยี)
วัตถุประสงค์
1) เพื่อพัฒนาแอปพลิเคชันบนมือถือที่สามารถตรวจจับและจำแนกสายพันธุ์ของสุนัขและแมวจากภาพถ่ายได้อย่างแม่นยำ
2)เพื่อให้ผู้ใช้งานสามารถเข้าถึงข้อมูลเบื้องต้นเกี่ยวกับสายพันธุ์ เช่น ประวัติ อุปนิสัย อายุขัยเฉลี่ย สิ่งที่ต้องรู้ก่อนเลี้ยง
3)เพื่อพัฒนาระบบที่สามารถจำแนกช่วงวัยของสัตว์ออกเป็น 4 ช่วง ได้แก่ Kitten/Puppy, Young, Adult และ Senior
4)เพื่อสร้างเครื่องมือที่ช่วยให้เจ้าของสัตว์เลี้ยงเข้าใจและดูแลสัตว์เลี้ยงได้ดียิ่งขึ้น
ลักษณะและขอบเขต
ระบบถูกออกแบบมาให้ใช้งานง่าย สะดวก และรวดเร็ว ใช้หลักการ Deep Learning ในการพัฒนาโมเดลเพื่อนำไปตรวจจับและจำแนกสายพันธุ์ของสุนัขและแมว โดยโมเดลที่จะใช้ในการพัฒนาระบบนี้คือโมเดล YOLOv11 และการพัฒนาโมเดลเพื่อนำไปจำแนกช่วงวัยของสัตว์ โดยโมเดลที่จะใช้ในการพัฒนาระบบนี้คือโมเดล MobileNetV2 และใช้ชุดข้อมูล Petfinder (ภาพถ่ายจากเว็บไซต์รับเลี้ยงสุนัขและแมว) จำนวน 4,181 ภาพ ในการฝึกโมเดล
ผลที่คาดว่าจะได้รับ
1) ได้แอปพลิเคชันที่สามารถตรวจจับ จำแนกสายพันธุ์ และจำแนกช่วงวัยของสัตว์เลี้ยงได้อย่างแม่นยำ
2)ผู้ใช้งานได้รับข้อมูลเบื้องต้นเกี่ยวกับสัตว์เลี้ยงเพื่อช่วยในการดูแล
สรุปผลงานที่เกี่ยวข้อง
จากผลงานที่เกี่ยวข้อง ผู้พัฒนาได้สรุปข้อดีและข้อเสียของผลงานที่เกี่ยวข้องเพื่อนำมาประยุกต์ใช้กับโครงงานวิจัย เพื่อให้เกิดประสิทธิภาพที่ดีที่สุด จึงได้สรุปออกมาดังตารางที่ 2.1
ตารางที่ 2.1 ตารางแสดงข้อดี ข้อเสียของผลงานที่เกี่ยวข้อง และการนำผลงานที่เกี่ยวข้องมาปรับใช้กับโครงงาน
ชื่อผลงานที่เกี่ยวข้อง
ข้อดี
ข้อเสีย
การนำมาปรับใช้
1. Exploring Deep Learning for Comprehensive Dog Breed Identification
มีการเปรียบเทียบโมเดล deep learning หลายตัว ทำให้เข้าใจข้อดีของแต่ละโมเดล และสามารถเลือกโมเดลที่เหมาะสมกับความต้องการได้
บางโมเดลมีความซับซ้อนและใช้ทรัพยากรมาก จึงไม่เหมาะกับการใช้งานบนอุปกรณ์มือถือ อีกทั้งประสิทธิภาพจะลดลงในกรณีของสุนัขลูกผสมหรือภาพที่ไม่ชัดเจน
นำแนวคิดมาใช้ โดยเลือก MobileNetV2 ซึ่งแม้จะมีความแม่นยำน้อยกว่าบางโมเดล แต่เหมาะกับการนำไปใช้งานจริงบนแอปมือถือที่ต้องการความเร็วและประหยัดทรัพยากร
2. The Application and Expansion of the YOLO Algorithm in the Field of Campus Cat and Dog Identification
มีการนำ YOLOv8 มาเปรียบเทียบกับโมเดลอื่น เช่น SSD และ Faster R-CNN ซึ่งแสดงให้เห็นถึงความได้เปรียบของ YOLO ในด้านประสิทธิภาพและการใช้หน่วยความจำน้อย
การเตรียมข้อมูลยังต้องใช้แรงงานคนในการติดป้ายกำกับ และหากภาพที่ใช้ทดสอบมีความหลากหลายมากเกินไป จะทำให้โมเดลประมวลผลได้ไม่ดี
นำโมเดล YOLOv11 มาใช้ในการตรวจจับสัตว์ในภาพ ซึ่งสอดคล้องกับเป้าหมายของระบบที่ต้องการทำงานแบบ real-time บนภาพจริง พร้อมทั้งรองรับทั้งแมวและสุนัข
3. Canine Age Classification using Deep Learning
มีการพัฒนาโมเดลที่สามารถจำแนกอายุของสุนัขได้จากใบหน้า โดยใช้การผสมผสานระหว่าง CNN และ Vision Transformer ทำให้สามารถจัดการกับข้อมูลที่ไม่สมดุลและมีคุณภาพหลากหลายได้ดีขึ้น
ความแม่นยำโดยรวมยังอยู่ในระดับปานกลาง โดยเฉพาะการจำแนกกลุ่มอายุ adult ที่มีความแม่นยำต่ำ อีกทั้งระบบยังไม่ได้ทดสอบในคลินิกจริง
ในการพัฒนาโมเดล MobileNetV2 สำหรับจำแนกช่วงอายุของสัตว์ในโครงงาน โดยปรับการจัดกลุ่มอายุใหม่ให้ละเอียดขึ้นเป็น 4 กลุ่ม เพื่อเหมาะกับการดูแลสัตว์เลี้ยงในแต่ละช่วงวัย
4. Deep Learning-Based Predictive and Management System for Dog Care Centers
มีการรวมหลายฟังก์ชัน ได้แก่ การจำแนกสายพันธุ์ การประเมินอายุ อารมณ์ และโรคผิวหนัง โดยใช้โมเดลหลายแบบ ทำให้รองรับการใช้งานแบบครบวงจรในศูนย์ดูแลสัตว์
ประสิทธิภาพของบางฟังก์ชันยังไม่สูงเท่าที่ควร โดยเฉพาะการทำนายอายุที่แม่นยำเพียง 65% และข้อมูลบางส่วนยังมีปริมาณน้อย เช่น ชุดข้อมูลโรคผิวหนัง
ในการรวมหลายฟังก์ชันของระบบ โดยออกแบบให้แอปพลิเคชันสามารถแสดงผลทั้งสายพันธุ์ ช่วงวัย และข้อมูลลักษณะนิสัยของสัตว์ในแอปเดียว
5. Dog Scanner & Cat Scanner (Siwalu Software)
สามารถจำแนกสายพันธุ์ของสัตว์เลี้ยงได้แม้เป็นสายพันธุ์ผสม พร้อมให้ข้อมูลประกอบที่หลากหลาย และมีฟีเจอร์เสริมอย่างการแชร์ข้อมูลและ gamification ซึ่งทำให้ผู้ใช้มีส่วนร่วมมากขึ้น
เวอร์ชันฟรีมีข้อจำกัด เช่น มีโฆษณา และจำนวนสายพันธุ์แมวที่รองรับยังน้อย นอกจากนี้ประสิทธิภาพลดลงเมื่อภาพที่ถ่ายมีคุณภาพต่ำหรือท่าทางสัตว์ไม่ชัดเจน
ในเรื่องการแสดงข้อมูลพื้นฐานของสัตว์ เช่น ลักษณะนิสัยและอายุขัย โดยเพิ่มความสามารถในการจำแนกช่วงอายุ
สำหรับตรวจจับและจำแนกสายพันธุ์
โมเดลที่ใช้ในการฝึก: YOLOv11
จำนวนรูปภาพ: 12,480 ภาพ (หลังจากทำเพิ่มข้อมูลจากเดิม 4,181 ภาพ) แบ่งเป็น 20 class ดังนี้
Cat
American Shorthair 633 ภาพ
Bombay 624 ภาพ
Calico 645 ภาพ
Domestic Long Hair 642 ภาพ
Domestic Short Hair 651 ภาพ
Maine Coon 636 ภาพ
Manx 615 ภาพ
Persian 594 ภาพ
Russian Blue 615 ภาพ
Siamese 609 ภาพ
Dog
Chihuahua 660 ภาพ
Corgi 621 ภาพ
French Bulldog 636 ภาพ
Golden Retriever 642 ภาพ
Labrador Retriever 627 ภาพ
Pomeranian 621 ภาพ
Poodle 633 ภาพ
Pug 657 ภาพ
Shih Tzu 627 ภาพ
Siberian Husky 642 ภาพ
สำหรับจำแนกช่วงวัย
โมเดลที่ใช้ในการฝึก: MobileNetV2
จำนวนรูปภาพ: 12,630 ภาพ (หลังจากตัดภาพวัตถุจากชุดข้อมูลที่ผ่านการเพิ่มข้อมูลเดิม 12,480 ภาพ จากข้อมูลตั้งต้น 4,181 ภาพ)
Dog
Senior 1,611 ภาพ
Adult 1,575 ภาพ
Young 1,599 ภาพ
Puppy 1,581 ภาพ
Cat
Senior 1,536 ภาพ
Adult 1,578 ภาพ
Young 1,563 ภาพ
Kitten 1,587 ภาพ
กระบวนการทำงานของระบบหลังบ้าน
การรับภาพจากผู้ใช้
ผู้ใช้ถ่ายรูปสุนัข/แมว หรือเลือกรูปจากคลังรูปภาพ เพื่อส่งเข้ามาผ่าน API ของระบบหลังบ้าน
การประมาวลภาพ
การตรวจจับและจำแนกสายพันธุ์
ใช้โมเดล YOLOv11 ที่ผ่านการฝึกฝนแล้ว ตรวจจับสุนัข/แมวในภาพ พร้อมแสดง Bounding Box และ ค่าความมั่นใจ (Confidence)
หากไม่พบสัตว์ในภาพ ระบบจะแจ้งเตือนว่า “ไม่พบสัตว์” และสิ้นสุดการทำงาน
หากตรวจพบสัตว์ ระบบจะทำการ Crop ภาพสัตว์จาก Bounding Box เพื่อใช้ในขั้นตอนต่อไป
การจำแนกช่วงวัย
ปรับขนาดภาพที่ Crop แล้วเป็น 224x224 พิกเซล
ใช้โมเดล MobileNetV2 (TF-Lite) ที่ผ่านการฝึกฝนแล้ว จำแนกช่วงวัยของสุนัข/แมว พร้อมค่าความมั่นใจ
ทำการ Mapping ผลช่วงวัย ให้ตรงกับประเภทของสัตว์ (แมว ↔ สุนัข)
การรวมผลลัพธ์และส่งข้อมูลกลับไปยังแอปพลิเคชัน
ระบบรวมผลทั้งหมดเป็น ข้อมูล JSON ประกอบด้วย
ชื่อสายพันธุ์และค่าความมั่นใจ
ประเภทสัตว์ (dog/cat)
Bounding Box (พิกัดตำแหน่งสัตว์ในภาพ)
ช่วงวัยและค่าความมั่นใจของช่วงวัย
ส่ง JSON Response กลับไปยังแอปพลิเคชัน เพื่อแสดงผลให้ผู้ใช้
โดยสามารถอธิบายหลักการทำงานในส่วนของ back-end ได้เป็น flowchart ดังรูป

ผลการทดลอง
การวัดประสิทธิภาพของระบบ
การจำแนกสายพันธุ์
เพื่อประเมินประสิทธิภาพของระบบการจำแนกสายพันธุ์ที่พัฒนาโดยใช้โมเดล YOLOv11 ได้มีการทดสอบระบบ ด้วยชุดข้อมูลภาพ 1,864 ภาพ และสัตว์ทั้งหมด 1,881 ตัว โดยประเมินด้วยตัวชี้วัดมาตรฐาน ได้แก่ Precision, Recall, mAP@0.5 และ mAP@0.5:0.95
ผลลัพธ์จากการประเมินประสิทธิภาพของระบบการจำแนกสายพันธุ์ที่พัฒนาโดยใช้โมเดล YOLOv11 มีรายละเอียดดังใน ตารางที่ 6.1
ตารางที่ 6.1 ค่าประสิทธิภาพของระบบในแต่ละสายพันธุ์
สายพันธุ์
จำนวนภาพ
จำนวนสัตว์
Instances
Precision
Recall
mAP@0.5
mAP@0.5:0.95
F1-Score
Poodle Dog
94
94
99.1%
98.9%
99.5%
87.5%
99%
American Shorthair Cat
94
94
89.6%
83%
94.3%
82.1%
86.2%
Bombay Cat
91
91
94.8%
99.3%
99%
86.7%
97%
Calico Cat
96
96
98.4%
92.7%
98.4%
86.3%
95.5%
Chihuahua Dog
95
99
97%
97.2%
99.3%
87.2%
97.1%
Corgi Dog
92
92
97.7%
97.8%
99.1%
86.8%
97.8%
Domestic Long Hair Cat
94
94
100%
94.2%
98.8%
83.3%
97%
Domestic Short Hair Cat
96
96
88.7%
81.6%
92.9%
80.6%
85%
French Bulldog Dog
94
94
100%
98.8%
99.5%
88%
99.4%
Golden Retriever Dog
93
94
98.8%
100%
99.5%
87.9%
99.4%
Labrador Retriever Dog
94
94
98.6%
100%
98.6%
85%
99.3%
Maine Coon Cat
93
93
95.8%
97.3%
99.2%
85.8%
96.5%
Manx Cat
92
92
96.1%
79.6%
93.4%
78.6%
87.1%
Persian Cat
89
89
98.8%
96%
99.4%
86.8%
97.4%
Pomeranian Dog
93
93
97.7%
100%
99.3%
85.7%
98.8%
Pug Dog
93
103
99.1%
100%
99.5%
87.4%
99.6%
Russian Blue Cat
92
92
97.1%
100%
99.5%
87.6%
98.5%
Shih Tzu Dog
94
94
98.2%
98.9%
99.4%
89.5%
98.6%
Siamese Cat
91
91
99.2%
100%
99.5%
86.2%
99.6%
Siberian Husky Dog
96
96
99.4%
100%
99.5%
89.7%
99.7%
รวม
1,864
1,881
97.2%
95.8%
98.4%
85.9%
96.5%
สรุปผลการประเมิน จากตารางที่ 6.1 พบว่าโมเดลมีค่าความแม่นยำ (Precision) เฉลี่ยอยู่ที่ 97.2%, ค่าความครอบคลุม (Recall) เฉลี่ยอยู่ที่ 95.8%, และค่า F-measure (F1-Score) เฉลี่ยอยู่ที่ 96.5% โดยมีค่าความแม่นยำเฉลี่ยรวม (mAP@0.5) เท่ากับ 98.4% และค่า mAP@0.5:0.95 เท่ากับ 85.9% ซึ่งถือว่าอยู่ในระดับที่ดีมากสำหรับงานด้านการจำแนกสายพันธุ์ของสุนัขและแมวจากภาพถ่ายจริง
การจำแนกช่วงวัย
เพื่อประเมินประสิทธิภาพของระบบการจำแนกช่วงวัยที่พัฒนาโดยใช้โมเดล MobileNetV2 ได้มีการทดสอบระบบ ด้วยชุดข้อมูลภาพ 632 ภาพ ครอบคลุมทั้ง 8 คลาส ได้แก่ Cat Adult, Cat Kitten, Cat Senior, Cat Young, Dog Adult, Dog Puppy, Dog Senior และ Dog Young โดยประเมินด้วยตัวชี้วัดมาตรฐาน ได้แก่ Precision, Recall และ F1-Score
ผลลัพธ์จากการประเมินประสิทธิภาพของระบบการจำแนกช่วงวัยที่พัฒนาโดยใช้โมเดล MobileNetv2 มีรายละเอียดดังใน ตารางที่ 6.2
ตารางที่ 6.2 ค่าประสิทธิภาพของระบบในแต่ละช่วงวัย
ช่วงวัย
Precision
Recall
F1-Score
จำนวนภาพ (Support)
Cat Adult
94%
84%
89%
79
Cat Kitten
95%
92%
94%
79
Cat Senior
92%
92%
92%
79
Cat Young
84%
96%
90%
79
Dog Adult
94%
95%
94%
79
Dog Puppy
94%
99%
96%
79
Dog Senior
99%
93%
95%
80
Dog Young
94%
94%
94%
80
เฉลี่ย (Macro Avg)
93%
93%
93%
632
สรุปผลการประเมิน จากตารางที่ 6.2 พบว่าโมเดลสามารถจำแนกช่วงวัยของสัตว์ได้อย่างมีประสิทธิภาพ โดยมีค่า Precision เฉลี่ย 0.93, Recall เฉลี่ย 0.93 และ F1-Score เฉลี่ย 0.93 ซึ่งแสดงให้เห็นว่าโมเดลมีความแม่นยำและเสถียรในการแยกแยะช่วงวัยของทั้งสุนัขและแมวในระดับที่ดีมาก
Last updated