Arduino Object Detection Track APP
แอพพลิเคชั่นนี้สามารถตรวจจับและติดตามวัตถุประเภทต่าง ๆ จากกล้องในโทรศัพท์ของคุณเช่นเส้น, หยดสี, วงกลม, สี่เหลี่ยมและผู้คน ชนิดวัตถุที่ตรวจพบและตำแหน่งหน้าจอนั้นสามารถส่งไปยังอุปกรณ์รับสัญญาณบลูทู ธ เช่น HC-05
หากใช้ไมโครคอนโทรลเลอร์ที่เหมาะสมเช่น ผู้ใช้ Arduino หรือ Raspberry Pi สามารถวิเคราะห์วัตถุที่ตรวจพบสำหรับโครงการที่ใช้หุ่นยนต์ต่อไป ตัวอย่างทั่วไปสามารถแนบโทรศัพท์กับชุดหุ่นยนต์ 2 หรือ 4W ซึ่งสามารถติดตาม / ติดตามลูกบอลหรือบุคคล
คุณสมบัติการใช้งานที่สำคัญ:
1. Color Blob Detect and Track
2. Circle Detect and Track
3. การตรวจจับสาย
4. ผู้คนค้นหาและติดตามโดยใช้ฮิสโตแกรมของการไล่ระดับสี (HoG)
5. การตรวจจับวัตถุฉลาก Coco ของ TensorFlow Lite (เช่นคน, แมว, รถยนต์, ทีวี, ฯลฯ )
6. ใช้โมเดล Tensorflow ที่กำหนดเอง
7. ส่งพารามิเตอร์วัตถุที่ตรวจพบผ่าน Bluetooth
โปรดทราบว่าการประมวลผลภาพทั้งหมดทำงานได้ดีที่สุดในสภาพแสงที่ดี หากคุณไม่สามารถตรวจจับวัตถุได้โปรดลองเปลี่ยนการตั้งค่าบางอย่าง นอกจากนี้โปรดทราบว่าอัลกอริทึมการติดตามที่นำมาใช้นั้นเรียบง่ายและด้วยเหตุนี้จึงไม่สามารถทำงานได้อย่างน่าเชื่อถือเมื่อวัตถุหลายชิ้นซ้อนทับกัน
หากต้องการใช้โมเดล Tensorflow ที่กำหนดเองให้โหลดโมเดล mobilenet tfile ที่เข้ากันได้ ตัวอย่างสำหรับสิ่งนี้คือ pet_detect.tflite และ pet_labels.txt อย่างไรก็ตามคุณต้องเปลี่ยนชื่อเหล่านี้เป็น custom.tflite และ custom.txt และวางไว้ในโฟลเดอร์เอกสารสาธารณะที่เก็บข้อมูลภายในโทรศัพท์ของคุณ นอกจากนี้โปรดตรวจสอบให้แน่ใจว่าคุณเปิดใช้งานการอนุญาตแอพ android สำหรับการเข้าถึงที่เก็บข้อมูล
รูปแบบการส่งข้อมูล Bluetooth:
การสื่อสารข้อมูลทั้งหมดจะถูกส่งเป็นข้อความ ASCII ในรูปแบบต่อไปนี้:
"ประเภทวัตถุ": "ID": "XPos", "YPos", "กว้าง", "ความสูง"
ตัวอย่างวัตถุ Blob สี: "CO: 0: -40,60,0,0"
โดยที่ ID คือตัวเลขระหว่าง 0 ถึง 4 โดยไม่มีการติดตามหรือหมายเลข ID ที่ถูกติดตามที่เป็นจำนวนเต็มและตัวเลือกการติดตาม
ตำแหน่ง x และ y เกี่ยวข้องกับศูนย์กลางของหยดสีโดยมีค่า 0,0 อยู่ที่กึ่งกลางของหน้าจอแสดงตัวอย่างของกล้อง
ตัวอย่างการติดตามออบเจ็กต์วงกลม: "CC: 0: -40,60,20,0"
เมื่อ x, ตำแหน่ง y ให้ศูนย์กลางของวงกลมและความกว้างให้รัศมีของวงกลม
ในโหมดติดตาม x, y, w, h ให้สี่เหลี่ยมผืนผ้าภายในของวงกลม
ตัวอย่างวงกลมวัตถุที่มีตัวกรองสี: "FC: 0: -40,60,20,0"
เมื่อ x, ตำแหน่ง y ให้ศูนย์กลางของวงกลมและความกว้างให้รัศมีของวงกลม
ตัวอย่างวัตถุเส้น: "LO: 0: -40,60,20,200"
โดยที่ตำแหน่ง x, y ให้จุดบรรทัดแรกและ w, h givds จุดบรรทัดที่สอง
ตัวอย่างวัตถุบุคคลไม่มีการติดตาม: "PO: 0: -40,60,20,0"
โดยที่ x, ตำแหน่ง y ให้มุมบนซ้ายของรูปสี่เหลี่ยมผืนผ้าและ w, h ให้ความกว้างและความสูง
ตัวอย่างวัตถุบุคคลที่มีตัวกรองสี: "FP: 0: -40,60,20,0"
โดยที่ x, ตำแหน่ง y ให้มุมบนซ้ายของรูปสี่เหลี่ยมผืนผ้าและ w, h ให้ความกว้างและความสูงของรูปสี่เหลี่ยมผืนผ้า
วัตถุที่ถูกติดตามทั้งหมด: "ถึง: 0: -40,60,20,40"
โดยที่ตำแหน่ง x, y ให้ศูนย์กลางของสี่เหลี่ยมผืนผ้าและ w, h ให้ความกว้างและความสูงจากจุดศูนย์กลางของสี่เหลี่ยมผืนผ้า โปรดทราบว่าหากกรองในวงกลมและบุคคลรหัสวัตถุที่ถูกติดตามจะรีเซ็ตเป็นศูนย์สำหรับวัตถุสีที่ซ้อนทับกัน
วัตถุ TensorFlow: "ObjectTitle: 0: -40,60,20,40"
โดยที่ ObjectTitle เป็นวัตถุประเภท TensorFlow ที่จัดประเภทเช่น "บุคคล", "ถ้วย", "ขวด" ฯลฯ ตำแหน่ง X, Y ให้กึ่งกลางสี่เหลี่ยมผืนผ้าและ w, h ให้ความกว้างและความสูงจากกึ่งกลางสี่เหลี่ยม โปรดทราบว่าหากการกรองบนทางแยกสีหยดตรวจสอบให้แน่ใจว่าได้เปิดใช้งานการติดตามหยดสี
รูปแบบสำหรับตัวกรองบน TensorFlow: "FTF: Person: -40,60,20,40" โดยที่ "บุคคล" สามารถเป็นประเภทวัตถุ TensorFlow ที่ตรวจพบได้ซึ่งกำหนดไว้ภายใน coco_labels_list.txt (ดู Google TensorFlowLite)
ความช่วยเหลือออนไลน์เต็มรูปแบบที่ Git Hub: /
https://github.com/GemcodeStudios/ObjectDetectionTracking
ลิขสิทธิ์ Gemcode Studios 2019



