การพัฒนาโปรแกรม Computer Vision สําหรับโทรศัพท์เคลื่อนที่ได้

การพัฒนาโปรแกรม Computer Vision สําหรับ Smartphone มีจุดประสงค์เพื่อพัฒนาโปรแกรม Computer Vision เพื่อแยกแยะวัตถุ สําหรับใช้ใน Smartphone และนําไปประยุกต์ต่อกับ Mobile Robot เพื่อช่วยเหลือและอํานวยความสะดวกให้แก่ผู้สูงอายุ โดยขั้นตอนในการทํางานหลักสามารถแบ่งออกเป็น 3 ส่วน ได้แก่ 1) การเขียนแอปพลิเคชันและโปรแกรมต่างๆ 2) แก้ไขข้อผิดพลาดของแอปพลิเคชัน 3) การวัดผลของแอปพลิเคชัน

สมาชิก

  • นาย กฤต สุรินทราบูรณ์ โครงการ วมว. โรงเรียนดรุณสิกขาลัย
  • นาย กฤติน กิจจารุวรรณกุล โครงการ วมว. โรงเรียนดรุณสิกขาลัย
  • นาย ปภินวิทย์ รัตนศิริ โครงการ วมว. โรงเรียนดรุณสิกขาลัย

วัตถุประสงค์

  • เพื่อนําคอมพิวเตอร์วิทัศน์ไปใช้ในโทรศัพท์เคลื่อนที่
  • เพื่อศึกษาการนําคอมพิวเตอร์วิทัศน์ไปประยุกต์รวมกับ Mobile Robot เพื่อช่วยเหลือและอํานวยความสะดวกให้แก่ผู้สูงอายุ

การดำเนินงาน

  • การเขียนแอปพลิเคชันและโปรแกรมต่างๆ โดยเขียนโค้ดการตรวจจับและแยกแยะวัตถุ ดาวโหลดไลบารี่ Tensor Flow Lite object detection ลงบน android studio นำไฟล์ data set ที่ train แล้ว ที่เป็นสกุลไฟล์ .tflite นำมาใส่ลงในแอปพลิเคชัน และเขียนโค้ดคำนวนระยะห่างระหว่างวัตถุกับกล้อง โดยแอปพลิเคชันนี้ไม่สามารถบอกระยะห่างจริงได้ เนื่องจากกล้องที่ใช้มีเพียงกล้องเดียว แต่แอปพลิเคชันสามารถบอกระยะห่างจากวัตถุถึงกล้องเป็นจำนวนเท่ากับความกว้างหรือความยาวของวัตถุ
  • เขียน Server และ Client ระหว่างแอปพลิเคชันกับ python ในคอมพิวเตอร์
  • แก้ไขข้อผิดพลาดของแอปพลิเคชัน ในขั้นตอนเริ่มต้นการใช้ไลบรารี่ OpenCV นั้นเกิดปัญหา เนื่องจากไลบรารี่นี้ใช้ทรัพยากรเครื่องในปริมาณมาก แอปพลิเคชันจึงทำงานล่าช้า ส่งผลให้แยกแยะวัตถุผิดพลาด จึงเปลี่ยนเป็นไลบรารี่ Tensor Flow Lite ที่ใช้ปริมาณทรัพยากรในเครื่องน้อยกว่า แอปพลิเคชันจึงทำงานได้รวดเร็วขึ้น และเขียน data ใหม่ โดยเจาะจงเลือกนำข้อมูลเฉพาะสิ่งที่จำเป็นต้องแยกแยะได้มาใส่ก่อน เพื่อเพิ่มความถูกต้อง
  • การวัดผลของแอปพลิเคชัน จะแบ่งออกเป็นสองส่วนคือ ความแม่นยําในการตรวจจับวัตถุ และความแม่นยําในการวัดระยะทางจากวัตถุถึงตัวกล้อง

สรุปการทดลอง

  • จากการทดสอบการวัดระยะทางพบว่าโปรแกรมจะแสดงผลการวัดระยะทางได้อย่างแม่นยําในช่วง 10-15 เซนติเมตรหลังจากที่แอปพลิเคชันสามารถตรวจจับวัตถุได้ โดยระยะก่อนหรือหลังจากช่วง 10-15 เซนติเมตรนั้น ค่าความคาดเคลื่อนจะมีแนวโน้มที่เพิ่มมากขึ้น
  • ค่าความคลาดเคลื่อนเฉลี่ยจะมีแนวโน้มที่น้อยลง เมื่อขนาดความกว้างของวัตถุมีค่าเพิ่มขึ้น
  • ตัวแอปพลิเคชันสามารถตรวจจับและระบุวัตถุได้ดีในระดับหนึ่ง
  • ตัวแอปพลิเคชันสามารถส่งข้อมูลไปยังเซิร์ฟเวอร์ได้ในระบบ TCP/IP

ข้อเสนอแนะ

  • ตัวแอปพลิเคชันตรวจจับวัตถุต่างชนิดด้วยความเร็วที่แตกต่างกัน
  • การวัดระยะทางของตัวแอปพลิเคชันจะทํางานโดยมีค่าความคลาดเคลื่อนที่แตกต่างกันในสภาวะแสงที่แตกต่างกัน
  • สามารถนําข้อมูลจากการวัดค่าความคลาดเคลื่อนไปสร้างโมเดลทางคณิตศาสตร์เพื่อไปปรับเทียบทําให้การทํางานของ mobile robot มีความแม่นยํามากขึ้น