Vehicle Search : image processing on surveillance VDO
โครงงานการค้นหารถบน VDO ระดับปริญญาตรี วิศวกรรมซอฟต์แวร์ วิทยาลัยนานาชาติ สถาบันเทคโนโลยีพระจอมเกล้าเจ้าคุณทหารลาดกระบัง
โดย ดร.ชัยวัฒน์ หนูทอง ที่ปรึกษา
1.เกียรติขจร ศริพันธุ์
2.ชินกฤต เดชะกูล
3.วัชรินทร์ ม่วงไม้
ดร.ชัยวัฒน์ หนูทอง ที่ปรึกษา
ความตั้งใจของโครงงานคือ ต้องการพัฒนาซอฟต์แวร์เพื่อให้สามารถค้นหารถที่มีลักษณะตามที่ระบุไว้ใน VDO ได้ เช่น รถยนต์สีแดง โดยระบบจะเข้าไปค้นใน VDO แล้วบอกว่าเจอรถลักษณะดังกล่าว ในช่วงใดบ้างของ VDO เมื่อพบแล้วเราสามารถทราบเวลาจริงที่พบได้ โดยดูจากเวลาที่ปรากฏใน VDO หรือหากไม่มีการบันทึกไว้สามารถคำนวณเพื่อเทียบหาเวลาจริงได้เมื่อทราบเวลาที่เริ่มบันทึก

ประโยชน์ของโครงงานนี้คือสามารถช่วยในการค้นหารถตามลักษณะที่ต้องการได้จาก VDO โดยใช้เวลาในการค้นหาน้อยกว่าเวลาของ VDO และมีความแม่นยำที่สามารถยอมรับได้ แม้ว่าการค้นหาแบบนี้จะสามารถใช้เจ้าหน้าที่ในการทำงานได้
แต่ในกรณีที่ต้องค้นหาในหลาย VDO และเวลาในการค้นหานาน การใช้คนอาจเกิดความผิดพลาดได้ โครงการนี้สามารถนำไปใช้งานได้หลากหลาย เช่น ใช้ในเชิงการรักษาปลอดภัย หรือ การค้นหาเหตุการณ์ที่สนใจใน VDO เช่น การเกิดอุบัติเหตุจากรถยนต์ เป็นต้น

โดยปกติแล้วถ้าเราจะใช้คอมพิวเตอร์แก้ไขปัญหา ผลลัพธ์ที่ได้จะเป็นไปตามสูตรที่กำหนดไว้ล่วงหน้าแล้วในโปรแกรมของเรา อย่างเช่นเราบอกว่าจะให้ค้นหาข้อมูลมันก็ต้องหาข้อมูลตาม algorithm ที่เราใส่เข้าไป ซึ่งไม่สามารถเปลี่ยนแปลงได้ แต่ทีนี้ ถ้าเราต้องการให้คอมพิวเตอร์เรียนรู้เองตามสถานการณ์ที่เปลี่ยนไป เราต้องใช้โปรแกรมที่ให้ผลลัพธ์ตามข้อมูลที่ใส่เข้าไป
โดยต้องป้อนข้อมูลให้คอมพิวเตอร์เรียนรู้ว่าข้อมูลแบบไหนต้องตอบว่าอะไร เหมือนสอนให้เด็กรู้จักแมว ก็ต้องเอาแมวหลายๆแบบให้ดูแล้วเด็กก็จะเรียนรู้เองว่าลักษณะไหนที่เป็นแมว ในกรณีนี้ก็ให้คอมพิวเตอร์เรียนรู้ว่ารถคันไหนเรียกรถยนต์ หรือรถบรรทุกก็เอารูปรถหลายๆแบบให้คอมพิวเตอร์ดู เพื่อให้เกิดการเรียนรู้ว่ารถคันนี้คือรถประเภทไหน อันนี้คือรูปแบบหนึ่งของ Machine Learning หรือเรียนเป็นไทยว่า การเรียนรู้ของเครื่อง
การหารถตามลักษณะที่ต้องการในโครงการนี้ ทำโดยหลังจากที่ถ่าย VDO แล้วจะแปลงให้เป็นรูปภาพเสียก่อน หลังจากนั้นเราก็จะนำรูปภาพที่ได้มาค้นหารถ

หลังจากนั้นก็นำรูปมาทำการประมวลผลภาพต่างๆ เพื่อให้ได้รูปที่ตีความง่ายขึ้น เช่นการแปลงเป็นรูปขาว-ดำ, การหาของของรูป, การหาวัตถุในภาพ เป็นต้น

พอเราเจอรถแล้วก็ต้องมาดูว่ารถเคลื่อนที่ไปอย่างไรบ้าง เช่น รถยนต์สีขาว ในภาพหนึ่งนั้น จะเคลื่อนที่ไปในทิศทางไหนในภาพถัดไป เพื่อสรุปว่าเป็นรถคันเดียวกันหรือไม่ ข้อมูลนี้ใช้เพื่อในการนับจำนวนรถที่มีลักษณะดังกล่าวใน VDO
ขณะนี้เราใช้ข้อมูลต่อไปนี้เพื่อระบุลักษณะของรถ
- สี
- ขนาดรถ
- อัตราส่วนของพื้นที่วัตถุต่อพื้นหลัง
โดยเมื่อนำข้อมูลดังกล่าวไปใช้ในการเรียนรู้ของเครื่อง เราสามารถจำแนกประเภทรถออกมาได้ 3 แบบคือ
- รถขนาดเล็ก เช่น jazz , brio ฯลฯ
- รถขนาดกลาง เช่น รถตู้ , camry ฯลฯ
- รถขนาดใหญ่ เช่น รถบรรทุก ฯลฯ
ซอฟต์แวร์ของโครงงานนี้ออกแบบมาเป็นโมดูล (Module) ประกอบกัน 3 โมดูลคือ
1. Feature extraction: ดึงข้อมูลออกจาก VDO แล้วส่งต่อให้ classification module
2. Classification: แยกข้อมูลออกตามประเภทที่ตั้งไว้
3. Search manager: เก็บและแสดงผลตามข้อมูลที่ user ต้องการ
ในอนาคตเราสามารถทำให้ซอฟต์แวร์ค้นหารถจากลักษณะที่ละเอียด หรือเฉพาะได้มากกว่านี้โดยการใช้ Machine Learning เช่น ระบุให้ซอฟต์แวร์ค้นหา รถ BMW Series 7 สีขาว เป็นต้น
แต่ยิ่งระบุลักษณะที่ละเอียดหรือเฉพาะมากเท่าไรก็ต้องใช้ฐานข้อมูลที่ใหญ่ และครอบคลุมเท่านั้นเพื่อให้ระบบสามารถเรียนรู้ได้ ดังนั้นโครงงานชิ้นนี้ยังสามารถพัฒนาต่อยอดไปได้อีก
เป็นโอกาสให้นักศึกษารุ่นต่อๆไปที่สนใจเกี่ยวกับการประมวลผลภาพ และการเรียนรู้ของเครื่องได้พัฒนาเพื่อให้ได้ซอฟต์แวร์ที่ซับซ้อนและมีความแม่นยำมากขึ้น
"วิทยาลัยนานาชาติสาขา Software Engineering สถาบันเทคโนโลยีเจ้าคุณทหารลาดกระบัง"