Arduino Object Detection Track APP
يمكن للتطبيق اكتشاف وتتبع أنواع مختلفة من الكائنات من كاميرا الهواتف الخاصة بك مثل الخطوط ونقاط الألوان والدوائر والمستطيلات والأشخاص. يمكن بعد ذلك إرسال أنواع الكائنات التي تم اكتشافها ومواضع الشاشة إلى جهاز استقبال Bluetooth مثل HC-05.
إذا كنت تستخدم جهاز تحكم دقيق مناسب ، على سبيل المثال يمكن لمستخدمي Arduino أو Raspberry Pi تحليل الكائنات المكتشفة لمشاريع أخرى قائمة على الروبوتات. مثال نموذجي يمكن أن يكون لتوصيل الهاتف بعدة روبوت 2 أو 4W والتي يمكن بعد ذلك تتبع / متابعة كرة أو شخص.
ميزات التطبيق الرئيسية:
1. كشف لون النقطة والمسار
2. دائرة كشف والمسار
3. كشف الخط
4. الناس يكتشفون ويتتبعون استخدام الرسم البياني للتدرجات (HoG)
5. الكشف عن كائنات TensorFlow Lite Coco Label (مثل الأشخاص والقطط والسيارات والتلفزيون وما إلى ذلك)
6. استخدام نماذج Tensorflow المخصصة.
7. إرسال معلمات الكائن الكشف عن البلوتوث.
لاحظ أن جميع عمليات معالجة الصور تعمل بشكل أفضل في ظروف الإضاءة الجيدة. إذا كنت غير قادر على اكتشاف الكائنات ، فحاول تغيير بعض إعدادات التكوين. لاحظ أيضًا أن خوارزميات التتبع المنفذة مبسطة وبالتالي لن تعمل بشكل موثوق عندما تتداخل كائنات متعددة مع بعضها البعض.
لاستخدام طرز Tensorflow المخصصة ، قم بتحميل نموذج tfile mobilenet متوافق. مثال على ذلك هو pet_detect.tflite و pet_labels.txt. ومع ذلك ، تحتاج إلى إعادة تسمية هذه إلى custom.tflite و custom.txt ووضعها في مجلد المستند العمومي للتخزين الداخلي للهواتف الخاصة بك. يرجى أيضًا التأكد من تمكين إذن تطبيق Android للوصول إلى التخزين.
تنسيقات إرسال بيانات Bluetooth:
يتم إرسال جميع اتصالات البيانات كنص ASCII بالتنسيق التالي:
"نوع الكائن": "المعرف": "XPos" ، "YPos" ، "العرض" ، "الارتفاع"
كائن Blob Color مثال: "CO: 0: -40،60،0،0"
حيث يكون المعرف رقمًا بين 0 و 4 بدون تتبع ، أو أي رقم معرّف فريد مُتتبع صحيح مع خيار التتبع.
تتعلق مواضع 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 تعطي عرض المستطيل وارتفاعه.
جميع الكائنات المتعقبة: "TO: 0: -40،60،20،40".
حيث x ، y المواضع تعطي مركز المستطيل ، و w ، h تعطي العرض والارتفاع من مركز المستطيل. لاحظ أنه في حالة التصفية على الدائرة والأشخاص ، فسيتم إعادة تعيين معرفات الكائنات المتعقبة على الصفر لكائنات ملونة متراكبة.
كائنات TensorFlow: "ObjectTitle: 0: -40،60،20،40"
حيث ObjectTitle هو أي كائن TensorFlow مصنف مثل "الشخص" ، "الكأس" ، "الزجاجة" ، إلخ. مواقف X ، Y تعطي مركز المستطيل ، و w ، h تعطي العرض والطول من مركز المستقيم. لاحظ أنه في حالة التصفية على تقاطع النقطة اللونية ، تأكد من تمكين تتبع النقطة اللونية.
تنسيق التصفية على TensorFlow: "FTF: الشخص: -40،60،20،40". حيث يمكن أن يكون "الشخص" أيًا من أنواع كائنات TensorFlow المتاحة التي تم الكشف عنها والمعرَّفة في coco_labels_list.txt (انظر Google TensorFlowLite).
المساعدة الكاملة عبر الإنترنت في Git Hub: /
https://github.com/GemcodeStudios/ObjectDetectionTracking
حقوق الطبع والنشر استوديوهات Gemcode 2019

