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

عصا هاري بوتر الحقيقية للعمل باستخدام رؤية الكمبيوتر: 8 خطوات (بالصور)
عصا هاري بوتر الحقيقية للعمل باستخدام رؤية الكمبيوتر: 8 خطوات (بالصور)

فيديو: عصا هاري بوتر الحقيقية للعمل باستخدام رؤية الكمبيوتر: 8 خطوات (بالصور)

فيديو: عصا هاري بوتر الحقيقية للعمل باستخدام رؤية الكمبيوتر: 8 خطوات (بالصور)
فيديو: فتاة الروبوت عندما سألها هل تؤمنين بالله شاهد ماذا أجابت #shorts 2024, يوليو
Anonim
Image
Image
عصا هاري بوتر الحقيقية للعمل باستخدام رؤية الكمبيوتر
عصا هاري بوتر الحقيقية للعمل باستخدام رؤية الكمبيوتر
عصا هاري بوتر الحقيقية للعمل باستخدام رؤية الكمبيوتر
عصا هاري بوتر الحقيقية للعمل باستخدام رؤية الكمبيوتر
عصا هاري بوتر الحقيقية للعمل باستخدام رؤية الكمبيوتر
عصا هاري بوتر الحقيقية للعمل باستخدام رؤية الكمبيوتر

"لا يمكن تمييز أي تقنية متقدمة بشكل كافٍ عن السحر" - آرثر سي كلارك

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

في Wizarding World of Harry Potter في Universal Studios ، يمكن للسائحين أداء "سحر حقيقي" في مواقع معينة (حيث يتم تثبيت نظام التقاط الحركة) باستخدام عصي مصنوعة خصيصًا مع خرز عاكسة عاكسة في الطرف. يمكن شراء العصي من متجر أوليفاندر الحقيقي الذي يشبه تمامًا تلك المعروضة في أفلام هاري بوتر ولكن تذكر: "العصا هي التي تختار المعالج": P

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

لذلك ، في هذا Instructable ، سأوضح كيف يمكنك إنشاء نظام التقاط حركة رخيص وفعال في المنزل لأداء "سحر حقيقي" عن طريق فتح صندوق بنقرة من العصا: D فقط باستخدام كاميرا الرؤية الليلية العادية ، وبعض الأجهزة الإلكترونية ، وبعض كود بايثون باستخدام مكتبة OpenCV Computer Vision و Machine Learning !!!

الخطوة 1: الفكرة الأساسية والأجزاء المطلوبة

الفكرة الأساسية والأجزاء المطلوبة
الفكرة الأساسية والأجزاء المطلوبة
الفكرة الأساسية والأجزاء المطلوبة
الفكرة الأساسية والأجزاء المطلوبة
الفكرة الأساسية والأجزاء المطلوبة
الفكرة الأساسية والأجزاء المطلوبة
الفكرة الأساسية والأجزاء المطلوبة
الفكرة الأساسية والأجزاء المطلوبة

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

يمكن استخدام كاميرا الرؤية الليلية البسيطة ككاميرا لدينا لالتقاط الحركة لأنها تنفث أيضًا ضوء الأشعة تحت الحمراء غير المرئي للبشر ولكن يمكن رؤيتها بوضوح باستخدام كاميرا لا تحتوي على مرشح الأشعة تحت الحمراء. لذلك ، يتم إدخال دفق الفيديو من الكاميرا في raspberry pi الذي يحتوي على برنامج python يقوم بتشغيل OpenCV والذي يستخدم لاكتشاف طرف العصا وعزله وتتبعه. ثم نستخدم خوارزمية SVM (آلة المتجهات البسيطة) للتعلم الآلي للتعرف على النمط المرسوم وبالتالي التحكم في GPIOs الخاصة بـ raspberry pi لأداء بعض الأنشطة.

المواد المطلوبة:

1) طراز Raspberry Pi 3 B والملحقات المطلوبة مثل لوحة المفاتيح والماوس

2) وحدة كاميرا Raspberry Pi NoIR (بدون الأشعة تحت الحمراء)

3) عصا هاري بوتر مع عاكس خلفي: لا تقلق إذا لم يكن لديك واحدة. يمكن استخدام أي شيء به عاكس رجعي. لذلك ، يمكنك استخدام أي عصا تشبه العصا وتطبيق شريط عاكس للضوء أو طلاء أو خرز عند الطرف ويجب أن تعمل كما هو موضح في الفيديو بواسطة William Osman: شاهد الفيديو

4) 10 المصابيح بالأشعة تحت الحمراء

5) طابعة ثلاثية الأبعاد وخيوط PLA من اختيارك

6) 12V - 1A محول الحائط ومقبس DC

7) محرك سيرفو

8) صندوق قديم ومكبس من عجلة دورة

9) مسدس الغراء الساخن

10) مطبوعات لبعض الشعارات والصور ذات الصلة بهاري بوتر على ورقة لامعة

11) صفائح مخملية خضراء وصفراء.

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

الخطوة 2: قم بتثبيت وحدة OpenCV

حان الوقت الآن للخطوة الأولى وربما الأطول في هذا المشروع بأكمله: تثبيت وبناء وحدة OpenCV في Raspberry Pi الخاص بك.

لا يستغرق تثبيت التبعيات لوحدة OpenCV الكثير من الوقت ولكن يمكن أن تستغرق عملية الإنشاء ما يصل إلى 2 إلى 3 ساعات !! لذا ، اربطوا حزام الأمان !!: ص

هناك العديد من البرامج التعليمية على الإنترنت والتي يمكنك اتباعها لتثبيت وحدة OpenCV 4.1.0. ها هو الرابط الذي اتبعته: اضغط هنا

ملاحظة: أوصي بشدة بتثبيت وحدة OpenCV في بيئة افتراضية كما هو موضح في البرنامج التعليمي لأنه سيمنع أنواعًا مختلفة من التعارضات التي يمكن أن تحدث بسبب تثبيت تبعيات وحدات مختلفة أو أثناء العمل مع إصدارات مختلفة من Python.

الخطوة 3: طباعة حامل الكاميرا

طباعة حامل الكاميرا
طباعة حامل الكاميرا
طباعة حامل الكاميرا
طباعة حامل الكاميرا
طباعة حامل الكاميرا
طباعة حامل الكاميرا

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

لذلك ، نحتاج أساسًا إلى مصدر ضوء الأشعة تحت الحمراء وشيء لتركيب الكاميرا عليه. لهذا صممت نموذجًا ثلاثي الأبعاد بسيطًا لكائن يمكننا تركيب الكاميرا عليه والتي سنحيط بها 10 مصابيح IR في دائرة. تم إنشاء النموذج باستخدام SketchUp وطباعته باستخدام Black PLA في حوالي 40 دقيقة.

الخطوة 4: الانتهاء من تركيب الكاميرا

الانتهاء من تركيب الكاميرا
الانتهاء من تركيب الكاميرا
الانتهاء من تركيب الكاميرا
الانتهاء من تركيب الكاميرا
الانتهاء من تركيب الكاميرا
الانتهاء من تركيب الكاميرا

بعد طباعة النموذج ، قمت أولاً برمله بورق رمل 80 حصباء ثم بدأت في وضع مصابيح LED في فتحاتها وفقًا للرسم التخطيطي الموضح أعلاه.

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

تم ترك السلك الإيجابي لأحد الصمامات والسلك السالب للمصباح المجاور له في الأسفل غير ملحوم من أجل توصيل الأطراف الموجبة والسالبة من محول الحائط بجهد 12 فولت.

الخطوة 5: نموذج التعلم الآلي المدرب

لغرض التعرف على الحرف الذي رسمه شخص ما ، قمت بتدريب نموذج التعلم الآلي بناءً على خوارزمية Support Vector Machine (SVM) باستخدام مجموعة بيانات من الأبجديات الإنجليزية المكتوبة بخط اليد التي وجدتها هنا. تعد خوارزميات SVM خوارزميات فعالة للغاية للتعلم الآلي والتي يمكن أن توفر دقة عالية ، حوالي 99.2٪ في هذه الحالة !! اقرأ المزيد عن SVMs

تكون مجموعة البيانات في شكل ملف.csv الذي يحتوي على 785 عمودًا وأكثر من 300000 صف حيث يمثل كل صف صورة 28 × 28 وكل عمود في هذا الصف يحتوي على قيمة هذا البكسل لتلك الصورة مع عمود إضافي في البداية التي تحتوي على الملصق ، رقم من 0 إلى 25 ، يتوافق كل منها مع حرف إنجليزي. من خلال رمز بيثون بسيط ، قمت بتقطيع البيانات للحصول على جميع الصور للحرفين فقط (A و C) اللذين أردتهما وقمت بتدريب نموذج لهم.

لقد أرفقت النموذج المدرَّب (alphabet_classifier.pkl) وأيضًا رمز التدريب لا تتردد في المرور به أو إجراء أي تغييرات لتدريب النموذج بأحرف مختلفة أو تجربة خوارزميات مختلفة. بعد تشغيل البرنامج ، يقوم تلقائيًا بحفظ النموذج المدرب في نفس الدليل حيث يتم حفظ الرمز الخاص بك.

الخطوة 6: الكود الذي يجعل كل شيء يحدث

الكود الذي يجعل كل شيء يحدث !!
الكود الذي يجعل كل شيء يحدث !!

بعد إنشاء النموذج المُدرَّب ، تتمثل الخطوة الأخيرة في كتابة برنامج Python لـ Raspberry Pi الخاص بنا والذي يسمح لنا بالقيام بما يلي:

  • الوصول إلى الفيديو من picamera في الوقت الحقيقي
  • اكتشف وتتبع النقاط البيضاء (في هذه الحالة ، رأس العصا الذي يضيء في الرؤية الليلية) في الفيديو
  • ابدأ في تتبع مسار النقطة المتحركة في الفيديو بعد حدث تشغيل (موضح أدناه)
  • وقف التتبع بعد حدث مشغل آخر (موضح أدناه)
  • أعد الإطار الأخير بالنمط الذي رسمه المستخدم
  • قم بإجراء معالجة مسبقة للإطار مثل العتبة وإزالة الضوضاء وتغيير الحجم وما إلى ذلك.
  • استخدم الإطار الأخير المعالج للتنبؤ.
  • نفذ بعض السحر اللطيف من خلال التحكم في GPIOs لـ Raspberry Pi وفقًا للمقدار

بالنسبة لهذا المشروع ، قمت بإنشاء صندوق يحمل عنوان Harry Potter والذي يمكنني فتحه وإغلاقه باستخدام محرك مؤازر يتم التحكم فيه بواسطة GPIO الخاص بـ Raspberry Pi. نظرًا لأن الحرف "A" يرمز إلى "Alohamora" (أحد أشهر التعويذات من أفلام Harry Potter والذي يسمح للمعالج بفتح أي قفل !!) ، إذا رسم شخص الحرف A باستخدام العصا ، فإن pi يأمر المؤازرة بـ افتح الصندوق. إذا رسم الشخص الحرف `` C '' الذي يشير إلى الإغلاق (حيث لم أستطع التفكير في أي تعويذة مناسبة تستخدم للإغلاق أو القفل: P) ، فإن pi يأمر المؤازرة لإغلاق الصندوق.

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

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

لقد أرفقت ملفات الشفرة في هذه الخطوة. لا تتردد في استعراضه وإجراء أي تغييرات كما تريد.

ملاحظة: اضطررت إلى إنشاء ملفين منفصلين من نوع python يعملان مع إصدارات مختلفة من Python ، أحدهما يستورد وحدة OpenCV (Python 2.7) والآخر يستورد وحدة sklearn (Python 3.5) للتنبؤ بعد تحميل النموذج المدرب ، حيث تم تثبيت OpenCV الخاص بي من أجل إصدار Python 2.7 بينما تم تثبيت sklearn على Python 3.5. لذلك ، استخدمت وحدة العملية الفرعية لتشغيل الملف HarryPotterWandsklearn.py (للتنبؤ) من HarryPotterWandcv.py (لجميع أعمال opencv وتسجيل الفيديو في الوقت الفعلي) والحصول على مخرجاته. بهذه الطريقة يجب علي فقط تشغيل ملف HarryPotterWandcv.py.

الخطوة 7: آلية فتح الصندوق

آلية فتح الصندوق
آلية فتح الصندوق
آلية فتح الصندوق
آلية فتح الصندوق
آلية فتح الصندوق
آلية فتح الصندوق

كان لدي صندوق أحمر قديم اللون ملقى حوله كنت أستخدمه في هذا المشروع.

بالنسبة لآلية فتح الصندوق:

  1. لقد قمت بلصق جهاز مؤازر بالقرب من الطرف الخلفي للصندوق على قطعة من الورق المقوى بالقرب من حافة الصندوق.
  2. ثم أخذت مكبرًا من عجلة دورة وقمت بلصقه على ذراع المؤازرة.
  3. تم توصيل الطرف الآخر من السماعة بغطاء الصندوق باستخدام قطعة من الأسلاك.
  4. تم توصيل المؤازرة الإيجابية بـ + 5V Pin 2 على Raspberry Pi.
  5. تم توصيل سلبية المؤازرة بـ GND Pin 39.
  6. تم توصيل إشارة المؤازرة بـ Pin 12

الخطوة 8: جعل الصندوق تحت عنوان هاري بوتر

صنع صندوق هاري بوتر تحت عنوان
صنع صندوق هاري بوتر تحت عنوان
صنع صندوق هاري بوتر تحت عنوان
صنع صندوق هاري بوتر تحت عنوان
صنع صندوق هاري بوتر تحت عنوان
صنع صندوق هاري بوتر تحت عنوان

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

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

ثم أخيرًا قمت بحشو كل الأشياء المتعلقة بهاري بوتر في الصندوق والتي تضمنت كاتم صوت جريفندور ، ومذكرات بزي هوجورتس و Elder Wand المستخدم في هذا المشروع: D

موصى به: