جدول المحتويات:

HackerBox 0024: مهمة الرؤية: 11 خطوة
HackerBox 0024: مهمة الرؤية: 11 خطوة

فيديو: HackerBox 0024: مهمة الرؤية: 11 خطوة

فيديو: HackerBox 0024: مهمة الرؤية: 11 خطوة
فيديو: HackerBox #0024: Vision Quest 2024, يوليو
Anonim
HackerBox 0024: Vision Quest
HackerBox 0024: Vision Quest

Vision Quest - يقوم HackerBox Hackers هذا الشهر بتجربة رؤية الكمبيوتر وتتبع الحركة المؤازرة. يحتوي هذا Instructable على معلومات للعمل مع HackerBox # 0024 ، والتي يمكنك الحصول عليها هنا أثناء نفاد الإمدادات. أيضًا ، إذا كنت ترغب في تلقي HackerBox مثل هذا في صندوق البريد الخاص بك كل شهر ، فيرجى الاشتراك في HackerBoxes.com والانضمام إلى الثورة!

الموضوعات وأهداف التعلم لـ HackerBox 0024:

  • تجربة الرؤية الحاسوبية
  • إعداد OpenCV (رؤية الكمبيوتر)
  • برمجة Arduino Nano من Arduino IDE
  • التحكم في المحركات المؤازرة باستخدام Arduino Nano
  • تجميع المقلاة الميكانيكية وتجميع الإمالة
  • التحكم في حركة المقلاة والإمالة باستخدام متحكم دقيق
  • إجراء تتبع الوجه باستخدام OpenCV

HackerBoxes هي خدمة صندوق الاشتراك الشهري للإلكترونيات اليدوية وتقنية الكمبيوتر. نحن هواة ، صناع ، ومجربون. نحن حالمو الاحلام. هاك الكوكب!

الخطوة 1: HackerBox 0024: محتويات الصندوق

HackerBox 0024: محتويات الصندوق
HackerBox 0024: محتويات الصندوق
  • HackerBoxes # 0024 بطاقة مرجعية قابلة للتحصيل
  • ثلاثة عموم قوس وتجميع الميل
  • اثنين من الماكينات MG996R مع الملحقات
  • اثنين من مقرنات مؤازرة دائرية من الألومنيوم
  • اردوينو نانو V3 - 5 فولت ، 16 ميجا هرتز ، MicroUSB
  • تجميع الكاميرا الرقمية مع كابل USB
  • ثلاث عدسات مع مشبك تثبيت عالمي
  • قلم فحص طبي خفيف
  • دوبونت ذكر / أنثى صداري
  • كابل MicroUSB
  • ملصق OpenCV حصري
  • Dia de Muertos شارات حصري

بعض الأشياء الأخرى التي ستكون مفيدة:

  • خردة لوح خشبي صغير لقاعدة الكاميرا
  • لحام الحديد وأدوات اللحام الأساسية
  • كمبيوتر لتشغيل أدوات البرمجيات

الأهم من ذلك أنك ستحتاج إلى حس المغامرة وروح DIY وفضول الهاكرز. إلكترونيات Hardcore DIY ليست مسعى تافهًا ، ونحن لا نخففها من أجلك. الهدف هو التقدم وليس الكمال. عندما تستمر في المغامرة وتستمتع بها ، يمكن الحصول على قدر كبير من الرضا من تعلم التكنولوجيا الجديدة ونأمل أن تعمل بعض المشاريع. نقترح اتخاذ كل خطوة ببطء ، مع مراعاة التفاصيل ، وعدم التردد في طلب المساعدة.

أسئلة متكررة: نود أن نسأل جميع أعضاء HackerBox خدمة كبيرة حقًا. يرجى قضاء بضع دقائق لمراجعة الأسئلة الشائعة على موقع HackerBoxes قبل الاتصال بالدعم. بينما من الواضح أننا نريد مساعدة جميع الأعضاء بقدر الضرورة ، فإن معظم رسائل البريد الإلكتروني الخاصة بالدعم تتضمن أسئلة بسيطة يتم تناولها بوضوح شديد في الأسئلة الشائعة. شكرا لتفهمك!

الخطوة الثانية: رؤية الكمبيوتر

الرؤية الحاسوبية
الرؤية الحاسوبية

رؤية الكمبيوتر هي مجال متعدد التخصصات يتعامل مع كيفية حصول أجهزة الكمبيوتر على فهم عالي المستوى من الصور الرقمية أو مقاطع الفيديو. من منظور الهندسة ، تسعى رؤية الكمبيوتر إلى أتمتة المهام التي يمكن للنظام البصري البشري القيام بها. كتخصص علمي ، تهتم رؤية الكمبيوتر بالنظرية الكامنة وراء الأنظمة الاصطناعية التي تستخرج المعلومات من الصور. يمكن أن تتخذ بيانات الصورة أشكالًا عديدة ، مثل تسلسل الفيديو أو المشاهدات من كاميرات متعددة أو بيانات متعددة الأبعاد من ماسح ضوئي طبي. كتخصص تقني ، تسعى رؤية الكمبيوتر إلى تطبيق نظرياتها ونماذجها لبناء أنظمة رؤية الكمبيوتر. تشمل المجالات الفرعية لرؤية الكمبيوتر إعادة بناء المشهد ، واكتشاف الأحداث ، وتتبع الفيديو ، والتعرف على الأشياء ، وتقدير الوضع ثلاثي الأبعاد ، والتعلم ، والفهرسة ، وتقدير الحركة ، واستعادة الصورة.

من المثير للاهتمام ملاحظة أن رؤية الكمبيوتر يمكن اعتبارها عكس رسومات الكمبيوتر.

الخطوة 3: المعالجة و OpenCV

المعالجة و OpenCV
المعالجة و OpenCV

المعالجة عبارة عن كراسة رسم برمجية مرنة ولغة لتعلم كيفية الترميز في سياق الفنون المرئية. عززت المعالجة محو الأمية البرمجية في الفنون المرئية ومحو الأمية البصرية داخل التكنولوجيا. هناك عشرات الآلاف من الطلاب والفنانين والمصممين والباحثين والهواة الذين يستخدمون المعالجة من أجل التعلم والنماذج الأولية.

OpenCV (مكتبة رؤية الكمبيوتر مفتوحة المصدر) هي مكتبة برمجيات رؤية الكمبيوتر والتعلم الآلي مفتوحة المصدر. تم بناء OpenCV لتوفير بنية تحتية مشتركة لتطبيقات رؤية الكمبيوتر ولتسريع استخدام تصور الآلة في المنتجات التجارية. تحتوي مكتبة OpenCV على أكثر من 2500 خوارزمية محسّنة ، والتي تتضمن مجموعة شاملة من كل من الرؤية الحاسوبية الكلاسيكية والحديثة وخوارزميات التعلم الآلي. يمكن استخدام هذه الخوارزميات لاكتشاف الوجوه والتعرف عليها ، وتحديد الأشياء ، وتصنيف الأفعال البشرية في مقاطع الفيديو ، وتتبع حركات الكاميرا ، وتتبع الأجسام المتحركة ، وما إلى ذلك.

قم بتثبيت OpenCV ضمن المعالجة من قائمة File> Examples عن طريق تحديد "Add Examples" ثم ضمن علامة التبويب Libraries تثبيت كل من مكتبات الفيديو ومكتبات OpenCV. افتح مثال LiveCamTest لتتبع الوجه الأساسي. تحقق من بعض أمثلة OpenCV الأخرى للمعالجة هنا.

المزيد من الموارد:

الشروع في العمل مع رؤية الكمبيوتر هو مشروع كتاب يوفر نقطة دخول سهلة للتجربة الإبداعية مع رؤية الكمبيوتر. يقدم الكود والمفاهيم اللازمة لبناء مشاريع الرؤية الحاسوبية.

Programming Computer Vision with Python هو كتاب O'Reilly عن PCV ، وهو وحدة Python مفتوحة المصدر لرؤية الكمبيوتر.

تعلم OpenCV

الرؤية الحاسوبية: الخوارزميات والتطبيقات

إتقان OpenCV

دورة ستانفورد CS231n الشبكات العصبية التلافيفية للتعرف البصري (16 مقطع فيديو)

Chris Urmson TED Talk كيف ترى سيارة ذاتية القيادة الطريق

الخطوة 4: منصة Arduino Nano Microcontroller

منصة Arduino Nano Microcontroller
منصة Arduino Nano Microcontroller

يمكننا استخدام أي منصة microntroller الشائعة للتحكم في الماكينات في حامل الكاميرا المتحرك والميل. Arduino Nano عبارة عن لوحة Arduino صغيرة مثبتة على السطح وصديقة للوحة التجارب ومزودة بـ USB مدمج. إنه كامل الميزات بشكل مثير للدهشة وسهل الاختراق.

سمات:

  • متحكم: Atmel ATmega328P
  • الجهد: 5V
  • دبابيس الإدخال / الإخراج الرقمية: 14 (6 PWM)
  • دبابيس الإدخال التناظرية: 8
  • تيار مستمر لكل منفذ إدخال / إخراج: 40 مللي أمبير
  • ذاكرة فلاش: 32 كيلو بايت (2 كيلو بايت لمحمل الإقلاع)
  • SRAM: 2 كيلو بايت
  • إيبروم: 1 كيلو بايت
  • سرعة الساعة: 16 ميجا هرتز
  • الأبعاد: 17 مم × 43 مم

هذا البديل الخاص من Arduino Nano هو تصميم Robotdyn الأسود. الواجهة بواسطة منفذ MicroUSB على اللوحة متوافق مع نفس كبلات MicroUSB المستخدمة مع العديد من الهواتف المحمولة والأجهزة اللوحية.

يتميز Arduino Nanos بشريحة USB / Serial bridge مدمجة. في هذا المتغير المحدد ، شريحة الجسر هي CH340G. لاحظ أن هناك أنواعًا أخرى مختلفة من رقائق الجسر التسلسلي / USB المستخدمة في أنواع مختلفة من لوحات Arduino. تسمح لك هذه الرقائق لمنفذ USB بالكمبيوتر بالاتصال بالواجهة التسلسلية على شريحة معالج Arduino.

يتطلب نظام تشغيل الكمبيوتر وجود برنامج تشغيل الجهاز للاتصال بشريحة USB / المسلسل. يسمح السائق لـ IDE بالاتصال بلوحة Arduino. يعتمد برنامج تشغيل الجهاز المحدد المطلوب على كل من إصدار نظام التشغيل وأيضًا نوع شريحة USB / المسلسل. بالنسبة لشرائح CH340 USB / Serial ، تتوفر برامج تشغيل للعديد من أنظمة التشغيل (UNIX أو Mac OS X أو Windows). يوفر صانع CH340 هؤلاء السائقين هنا.

عند توصيل Arduino Nano لأول مرة بمنفذ USB بجهاز الكمبيوتر الخاص بك ، يجب أن يضيء مصباح الطاقة الأخضر وبعد فترة وجيزة يبدأ مؤشر LED الأزرق في الوميض ببطء. يحدث هذا لأن Nano محمّل مسبقًا ببرنامج BLINK ، والذي يعمل على Arduino Nano الجديد تمامًا.

الخطوة 5: بيئة التطوير المتكاملة لاردوينو (IDE)

بيئة التطوير المتكاملة لاردوينو (IDE)
بيئة التطوير المتكاملة لاردوينو (IDE)

إذا لم يكن لديك Arduino IDE مثبتًا بعد ، فيمكنك تنزيله من Arduino.cc

إذا كنت ترغب في الحصول على معلومات تمهيدية إضافية للعمل في نظام Arduino البيئي ، فنحن نقترح مراجعة الإرشادات الخاصة بورشة HackerBoxes Starter Workshop.

قم بتوصيل Nano بكابل MicroUSB والطرف الآخر من الكبل بمنفذ USB على الكمبيوتر ، وقم بتشغيل برنامج Arduino IDE ، وحدد منفذ USB المناسب في IDE ضمن الأدوات> المنفذ (على الأرجح اسم يحتوي على "wchusb" بداخله). حدد أيضًا "Arduino Nano" في IDE ضمن الأدوات> اللوحة.

أخيرًا ، قم بتحميل جزء من مثال التعليمات البرمجية:

ملف> أمثلة> أساسيات> وميض

هذا هو في الواقع الكود الذي تم تحميله مسبقًا على Nano ويجب تشغيله الآن ليومض مؤشر LED الأزرق ببطء. وفقًا لذلك ، إذا قمنا بتحميل رمز المثال هذا ، فلن يتغير شيء. بدلاً من ذلك ، دعنا نعدل الكود قليلاً.

بالنظر عن كثب ، يمكنك أن ترى أن البرنامج يقوم بتشغيل مؤشر LED ، وينتظر 1000 مللي ثانية (ثانية واحدة) ، ويطفئ مؤشر LED ، وينتظر ثانية أخرى ، ثم يقوم بذلك مرة أخرى - إلى الأبد.

قم بتعديل الكود عن طريق تغيير كل من عبارات "delay (1000)" إلى "delay (100)". سيؤدي هذا التعديل إلى وميض LED أسرع عشر مرات ، أليس كذلك؟

لنقم بتحميل الكود المعدل في Nano بالنقر فوق الزر UPLOAD (رمز السهم) أعلى الكود المعدل مباشرةً. شاهد أدناه رمز معلومات الحالة: "تجميع" ثم "تحميل". في النهاية ، يجب أن يشير IDE إلى "اكتمل التحميل" ويجب أن يومض مؤشر LED الخاص بك بشكل أسرع.

إذا كان الأمر كذلك ، تهانينا! لقد قمت للتو باختراق أول جزء من التعليمات البرمجية المضمنة.

بمجرد تحميل الإصدار سريع الوميض وتشغيله ، لماذا لا ترى ما إذا كان يمكنك تغيير الرمز مرة أخرى لجعل مؤشر LED يومض بسرعة مرتين ثم الانتظار لبضع ثوان قبل التكرار؟ جربها! ماذا عن بعض الأنماط الأخرى؟ بمجرد أن تنجح في تصور النتيجة المرجوة ، وترميزها ، ومراقبتها لتعمل كما هو مخطط لها ، تكون قد اتخذت خطوة هائلة نحو أن تصبح مخترقًا مختصًا للأجهزة.

الخطوة 6: المحركات المؤازرة

أجهزة المحركات
أجهزة المحركات

يتم التحكم في المحركات المؤازرة بشكل عام من خلال سلسلة من النبضات الكهربائية المتكررة حيث يشير عرض النبضات إلى موضع المؤازرة. غالبًا ما يتم إنشاء إشارة التحكم في عرض النبضة المعدلة (PWM) بواسطة متحكم دقيق مثل Arduino.

يتم توصيل أجهزة الهواية الصغيرة ، مثل MG996R ، من خلال اتصال قياسي بثلاثة أسلاك: سلكان لمصدر طاقة تيار مستمر وسلك واحد لحمل نبضات التحكم. الماكينات MG996R لها معدل جهد تشغيل يبلغ 4.8-7.2 VDC.

الخطوة 7: تجميع آلية التحريك والإمالة

تجميع آلية المقلاة والإمالة
تجميع آلية المقلاة والإمالة
  1. اسحب كلا الماكينات MG996R من حقائبهم وضع الملحقات المرفقة جانبًا في الوقت الحالي.
  2. قم بتوصيل مقرن مؤازر دائري من الألومنيوم بكل مؤازر. لاحظ أن القارنات تأتي في أكياس منفصلة عن الماكينات. المقرنة مناسبة للغاية. ابدأ بالضغط على قارنة التوصيل في نهاية خرج المؤازرة ثم قم بربط المسمار في الفتحة المركزية. شد الخيط لرسم قارنة التوصيل على خرج المؤازرة.
  3. لاحظ أن هناك ثلاثة أقواس لتجميع الميل عمومًا - حاملان صندوقيان وقوس واحد على شكل حرف U.
  4. قم بتركيب أحد أقواس الصندوق على دائرة الألومنيوم لإحدى الماكينات. سوف نسمي هذه المؤازرة مؤازرة عموم. قم بتوجيه حامل الصندوق بجداره المركزي مقابل دائرة الألمنيوم بحيث يكون الجداران الآخران للحامل الصندوقي متجهين بعيدًا عن المؤازرة المقلاة. استخدم الفتحات المركزية الموجودة على الجدار الأوسط لقوس الصندوق. يجب أن يسمح هذا الترتيب لمؤازرة المقلاة بتدوير قوس الصندوق المرفق حوله بمجرد تشغيله.
  5. ضع المؤازرة الأخرى (المؤازرة المائلة) في قوس الصندوق المتصل بدائرة الألمنيوم لمؤازرة المقلاة. استخدم ما لا يقل عن اثنين من الصواميل والمسامير لتثبيت مؤازر الإمالة - واحد على كل جانب.
  6. أمسك قوس U ، أدخل "المحمل" النحاسي من داخل U من خلال أحد فتحات التثبيت المحورية الكبيرة.
  7. ضع قوس U مع المحمل على مؤازر الإمالة الموجود داخل قوس الصندوق بحيث يتماشى ثقب التثبيت المحوري الكبير الآخر (الذي لا يحتوي على المحمل) مع دائرة الألمنيوم على معزز الإمالة.
  8. استخدم البراغي لتركيب قوس U على دائرة الألومنيوم على جانب واحد من قوس U.
  9. على الجانب الآخر من قوس U ، اربط برغيًا واحدًا من خلال المحمل وفي الفتحة الصغيرة في قوس الصندوق بداخله. يجب أن يسمح هذا للحامل U بالدوران حول قوس الصندوق لاحقًا عند تشغيل مضاعفات الإمالة.

الخطوة 8: تركيب مجموعة المقلاة والإمالة

تصاعد مجموعة المقلاة والإمالة
تصاعد مجموعة المقلاة والإمالة
تصاعد مجموعة المقلاة والإمالة
تصاعد مجموعة المقلاة والإمالة

يمكن ثمل دعامة الصندوق المتبقية لأسفل إلى خردة لوح خشبي صغير لتكون بمثابة قاعدة للكاميرا كما هو موضح في الصورة. أخيرًا ، يتم تثبيت مؤازرة المقلاة داخل قوس الصندوق المتبقي باستخدام صامولتين ومسامير على الأقل لتركيب المؤازرة على الحامل - واحد على كل جانب.

الخطوة 9: قم بتوصيل واختبار مجموعة المقلاة والإمالة

قم بتوصيل واختبار مجموعة المقلاة والإمالة
قم بتوصيل واختبار مجموعة المقلاة والإمالة

لتوصيل الماكينات وفقًا للتخطيط ، من الأسرع قطع الموصلات الأنثوية الأصلية من الماكينات ثم استخدام بعض نهايات الطائر DuPont الأنثوية للحصول على إشارة وخطوط أرضية متصلة بمسامير نانو.

لا يحتوي Nano على تيار كافٍ على مصدر 5V لتشغيل الماكينات من USB ، لذلك يوصى بتزويد إضافي. يمكن أن يكون هذا أي شيء في نطاق 4.8-7.2 فولت. على سبيل المثال ، ستعمل أربع بطاريات AA (متسلسلة) بشكل جيد. يعد توريد مقاعد البدلاء أو ثؤلول الجدار خيارًا جيدًا أيضًا.

يمكن استخدام المثال البسيط لرمز Arduino المرفق هنا كـ PanTiltTest.ino لاختبار التحكم في الماكينتين من الشاشة التسلسلية على Arduino IDE. اضبط معدل البث بالباود على الشاشة بحيث يتطابق مع 9600 بت في الثانية المحدد في رمز المثال. سيؤدي إدخال قيم الزاوية بين 0 و 180 درجة إلى وضع الماكينات وفقًا لذلك.

أخيرًا ، يمكن تركيب وحدة كاميرا USB (أو مستشعر آخر) على قوس U الخاص بمجموعة Pan-Tilt لاستخدامها في تطبيقات التتبع.

الخطوة 10: تتبع الوجه باستخدام OpenCV

Image
Image
هاك الكوكب
هاك الكوكب

يمكن تنفيذ نظام تتبع الوجه برؤية الآلة من خلال الجمع بين الأنظمة الفرعية كما هو موضح في مخطط الكتلة. يمكن العثور على رسم SerialServoControl لـ Arduino في البرنامج التعليمي التالي Sparkfun جنبًا إلى جنب مع العرض التوضيحي ذي الصلة باستخدام OpenCV والمعالجة و Arduino وكاميرا USB ومجموعة Pan / Tilt لتتبع وجه بشري. يستخدم العرض التوضيحي مؤازرتين لإعادة وضع الكاميرا من أجل الحفاظ على مركز الوجه في إطار الفيديو حتى أثناء تحرك المستخدم في الغرفة. على سبيل المثال الكود في C # ، تحقق من مستودع GitHub لفيديو CamBot.

الخطوة 11: اخترق الكوكب

إذا كنت قد استمتعت بهذا Instrucable وترغب في الحصول على صندوق من الإلكترونيات ومشاريع تكنولوجيا الكمبيوتر مثل هذا يتم تسليمه مباشرة إلى صندوق البريد الخاص بك كل شهر ، فيرجى الانضمام إلينا عن طريق الاشتراك هنا.

تواصل وشارك نجاحك في التعليقات أدناه أو على صفحة HackerBoxes على Facebook. أخبرنا بالتأكيد إذا كان لديك أي أسئلة أو تحتاج إلى بعض المساعدة في أي شيء. شكرا لكونك جزء من HackerBoxes. يرجى إبقاء اقتراحاتك وملاحظاتك قادمة. HackerBoxes هي صناديقك. لنصنع شيئًا رائعًا!

موصى به: