Isi kandungan:

Tongkat Harry Potter Bekerja Sebenar Menggunakan Penglihatan Komputer: 8 Langkah (dengan Gambar)
Tongkat Harry Potter Bekerja Sebenar Menggunakan Penglihatan Komputer: 8 Langkah (dengan Gambar)

Video: Tongkat Harry Potter Bekerja Sebenar Menggunakan Penglihatan Komputer: 8 Langkah (dengan Gambar)

Video: Tongkat Harry Potter Bekerja Sebenar Menggunakan Penglihatan Komputer: 8 Langkah (dengan Gambar)
Video: Fakta Unik Tentang Mumi #shorts #mumi #mesirkuno 2024, Julai
Anonim
Image
Image
Tongkat Harry Potter Bekerja Sebenar Menggunakan Penglihatan Komputer
Tongkat Harry Potter Bekerja Sebenar Menggunakan Penglihatan Komputer
Tongkat Harry Potter Bekerja Sebenar Menggunakan Penglihatan Komputer
Tongkat Harry Potter Bekerja Sebenar Menggunakan Penglihatan Komputer
Tongkat Harry Potter Bekerja Sebenar Menggunakan Penglihatan Komputer
Tongkat Harry Potter Bekerja Sebenar Menggunakan Penglihatan Komputer

"Mana-mana Teknologi Canggih yang Cukup Tidak dapat Dibezakan dari Sihir" - Arthur C. Clarke

Beberapa bulan yang lalu saudara saya mengunjungi Jepun dan mempunyai pengalaman sihir sebenar dalam Dunia Sihir Harry Potter di Universal Studios yang dimungkinkan melalui teknologi Computer Vision.

Di Dunia Sihir Harry Potter di Universal Studios para pelancong dapat melakukan "sihir sebenar" di lokasi tertentu (di mana sistem tangkapan gerakan dipasang) menggunakan tongkat yang dibuat khas dengan manik-manik retro-reflektif di hujungnya. Tongkat sihir boleh dibeli dari Kedai Ollivander sejati yang persis seperti yang ditunjukkan dalam Filem Harry Potter tetapi ingat: "Tongkat sihir itulah yang memilih ahli sihir": P

Di lokasi-lokasi tertentu jika orang tersebut melakukan gerakan tertentu dengan tongkat sihir, sistem tangkapan gerakan mengenali gerak isyarat dan semua gerak isyarat sesuai dengan mantera tertentu yang menyebabkan aktiviti tertentu di kawasan sekitarnya seperti menghidupkan air pancut dll.

Oleh itu, dalam Instructable ini saya akan menunjukkan bagaimana anda boleh membuat sistem tangkapan gerakan yang murah dan berkesan di rumah untuk melakukan "sihir sebenar" dengan membuka kotak dengan sentuhan tongkat sihir anda: D hanya menggunakan Kamera Penglihatan Malam biasa, beberapa elektronik, dan beberapa kod python menggunakan perpustakaan OpenCV Computer Vision dan Machine Learning !!!

Langkah 1: Idea Asas dan Bahagian yang Diperlukan

Idea Asas dan Bahagian yang Diperlukan
Idea Asas dan Bahagian yang Diperlukan
Idea Asas dan Bahagian yang Diperlukan
Idea Asas dan Bahagian yang Diperlukan
Idea Asas dan Bahagian yang Diperlukan
Idea Asas dan Bahagian yang Diperlukan
Idea Asas dan Bahagian yang Diperlukan
Idea Asas dan Bahagian yang Diperlukan

Tongkat yang dibeli dari Dunia Penyihir Harry Potter di Universal Studios, mempunyai manik retroreflective di hujungnya. Manik-manik retroreflective ini memantulkan sejumlah besar cahaya inframerah yang diberikan oleh kamera dalam sistem tangkapan gerakan. Oleh itu, apa yang kita manusia anggap sebagai hujung tongkat tongkat yang tidak begitu khas yang bergerak di udara, sistem tangkapan gerakan merasakan sebagai gumpalan terang yang dapat dengan mudah diasingkan dalam aliran video dan dijejaki untuk mengenali corak yang dilukis oleh orang itu dan melakukan tindakan yang diperlukan. Semua pemprosesan ini berlaku dalam masa nyata dan menggunakan Computer Vision dan Machine Learning.

Kamera Night Vision yang sederhana boleh digunakan sebagai kamera kami untuk menangkap gerakan kerana mereka juga mengeluarkan cahaya inframerah yang tidak dapat dilihat oleh manusia tetapi dapat dilihat dengan jelas dengan kamera yang tidak mempunyai Penapis Inframerah. Oleh itu, aliran video dari kamera dimasukkan ke dalam raspberry pi yang mempunyai program python yang menjalankan OpenCV yang digunakan untuk mengesan, mengasingkan dan mengesan hujung tongkat. Kemudian kami menggunakan algoritma SVM (Simple Vector Machine) Machine Learning untuk mengenali corak yang dilukis dan seterusnya mengawal GPIO pi raspberry untuk melakukan beberapa aktiviti.

Bahan yang Diperlukan:

1) Model Raspberry Pi 3 B dan aksesori yang diperlukan seperti papan kekunci dan tetikus

2) Modul Kamera Raspberry Pi NoIR (Tanpa Inframerah)

3) Harry Potter Wand dengan retroreflector di hujung: Jangan bimbang jika anda tidak memilikinya. Apa sahaja dengan retroreflector boleh digunakan. Oleh itu, anda boleh menggunakan tongkat seperti tongkat sihir dan menggunakan pita retroreflector, cat atau manik di hujungnya dan ia boleh berfungsi seperti yang ditunjukkan dalam video oleh William Osman: Tonton Video

4) 10 LED Inframerah

5) Pencetak 3D dan filamen PLA pilihan anda

6) Penyesuai Dinding 12V - 1A dan bicu DC

7) Motor servo

8) Kotak Lama dan Pidato dari roda kitaran

9) Pistol gam panas

10) Cetakan beberapa logo dan gambar yang berkaitan dengan Harry Potter pada Lembaran kertas Glossy

11) Lembaran baldu hijau dan kuning.

CATATAN: Saya juga mencuba menggunakan kamera web biasa lama untuk penglihatan malam dengan mengeluarkan Penapis Inframerahnya tetapi akhirnya merosakkan / mengganti lensanya yang sangat mempengaruhi kualiti video dan saya tidak dapat menggunakannya. Tetapi jika anda ingin mencuba, anda boleh melalui Klik Di Sini yang sangat baik yang boleh dipelajari ini

Langkah 2: Pasang Modul OpenCV

Sekarang masanya untuk langkah pertama dan mungkin yang terpanjang dari keseluruhan projek ini: Pemasangan dan pembinaan modul OpenCV di Raspberry Pi anda.

Pemasangan kebergantungan untuk modul OpenCV tidak memerlukan banyak masa tetapi proses membina boleh memakan masa hingga 2 hingga 3 jam !! Oleh itu, Gantung !!: P

Terdapat banyak tutorial dalam talian yang boleh anda ikuti untuk memasang modul OpenCV 4.1.0. Inilah pautan yang saya ikuti: Klik Di Sini

CATATAN: Saya sangat mengesyorkan memasang modul OpenCV dalam persekitaran maya seperti yang ditunjukkan dalam tutorial kerana ia akan mencegah pelbagai jenis konflik yang boleh berlaku kerana memasang pergantungan modul yang berbeza atau semasa bekerja dengan versi python yang berbeza.

Langkah 3: Mencetak Pemasangan Kamera

Mencetak Pemasangan Kamera
Mencetak Pemasangan Kamera
Mencetak Pemasangan Kamera
Mencetak Pemasangan Kamera
Mencetak Pemasangan Kamera
Mencetak Pemasangan Kamera

Picamera NoIR tidak memiliki penapis inframerah, oleh karena itu dapat digunakan sebagai kamera penglihatan malam tetapi masih kekurangan sumber cahaya inframerah. Semua kamera penglihatan malam mempunyai sumber cahaya inframerah mereka sendiri yang mengeluarkan sinar IR dalam gelap yang tidak dapat dilihat dengan mata kasar tetapi sinarnya dapat dilihat oleh kamera tanpa penapis inframerah setelah terpantul dari objek apa pun.

Oleh itu, kita pada dasarnya memerlukan Sumber Cahaya Inframerah dan sesuatu untuk memasang kamera. Untuk ini saya merancang model 3D sederhana objek di mana kita dapat memasang kamera yang akan kita dikelilingi oleh 10 LED IR dalam bulatan. Model dibuat dengan SketchUp dan dicetak dengan Black PLA dalam masa kira-kira 40 minit.

Langkah 4: Selesaikan Pemasangan Kamera

Menyiapkan Pemasangan Kamera
Menyiapkan Pemasangan Kamera
Menyiapkan Pemasangan Kamera
Menyiapkan Pemasangan Kamera
Menyiapkan Pemasangan Kamera
Menyiapkan Pemasangan Kamera

Selepas mencetak model saya mula-mula memasangnya dengan kertas pasir 80 grit dan kemudian mula meletakkan lekukan IR di lubang mereka mengikut rajah yang diberikan di atas.

Saya mengamankan lekapan di tempat mereka dengan beberapa gam panas dan kemudian menyatukan petunjuk positif dan negatif dari dua lekukan berturut-turut dan kemudian menyoldernya untuk membuat sambungan siri lekapan.

Pimpin positif satu lekapan dan timbal negatif dari sebelah di sebelah bawah dibiarkan tidak terpateri untuk menghubungkan hujung positif dan negatif dari penyesuai dinding 12 volt.

Langkah 5: Model Pembelajaran Mesin Terlatih

Untuk tujuan mengenali surat yang dilukis oleh seseorang, saya melatih model pembelajaran mesin berdasarkan algoritma Support Vector Machine (SVM) menggunakan Dataset abjad tulisan tangan Inggeris yang saya dapati di sini. SVM adalah algoritma pembelajaran mesin yang sangat berkesan yang dapat memberikan ketepatan yang tinggi, sekitar 99.2% dalam kes ini !! Baca lebih lanjut mengenai SVM

Dataset adalah dalam bentuk file.csv yang mengandungi 785 lajur dan lebih dari 300, 000 baris di mana setiap baris mewakili gambar 28 x 28 dan setiap lajur di baris itu mengandungi nilai piksel itu untuk gambar itu dengan lajur tambahan di permulaan yang mengandungi label, angka dari 0 hingga 25, masing-masing sesuai dengan huruf bahasa inggeris. Melalui kod python yang mudah, saya memotong data untuk mendapatkan semua gambar hanya dengan 2 huruf (A dan C) yang saya mahukan dan melatih model untuknya.

Saya telah melampirkan model terlatih (alphabet_classifier.pkl) dan juga kod latihan jangan ragu untuk melaluinya atau membuat perubahan untuk melatih model dengan huruf yang berbeza atau mencuba algoritma yang berbeza. Setelah menjalankan program, secara automatik menyimpan model terlatih di direktori yang sama di mana kod anda disimpan.

Langkah 6: Kod yang Menjadikannya Semua Berlaku

Kod yang Menjadikannya Semua Berlaku !!
Kod yang Menjadikannya Semua Berlaku !!

Setelah membuat model terlatih, langkah terakhir adalah menulis program python untuk Raspberry Pi kami yang membolehkan kami melakukan perkara berikut:

  • Akses video membentuk picamera dalam masa nyata
  • Kesan dan jejak gumpalan putih (dalam hal ini hujung tongkat yang menyala dalam penglihatan malam) dalam video
  • Mula menelusuri jalur gumpalan bergerak dalam video setelah beberapa peristiwa pencetus (dijelaskan di bawah)
  • Berhenti mengesan selepas peristiwa pencetus yang lain (dijelaskan di bawah)
  • Kembalikan bingkai terakhir dengan corak yang dilukis oleh pengguna
  • Lakukan pra-pemprosesan pada bingkai seperti ambang, penghapusan bunyi, ubah ukuran dll.
  • Gunakan bingkai terakhir yang diproses untuk ramalan.
  • Lakukan sihir baik dengan mengawal GPIO Raspberry Pi mengikut ramalan

Untuk projek ini saya membuat kotak bertema Harry Potter yang boleh saya buka dan tutup menggunakan motor servo yang dikendalikan oleh GPIO Raspberry Pi. Oleh kerana huruf 'A' adalah singkatan dari 'Alohamora' (salah satu mantra paling terkenal dari filem Harry Potter yang membolehkan penyihir membuka kunci apa pun !!), jika seseorang menarik huruf A dengan tongkat sihir, pi memerintahkan servo untuk buka Kotak. Sekiranya orang itu menarik huruf 'C' yang bermaksud dekat (kerana saya tidak dapat memikirkan ejaan yang sesuai digunakan untuk menutup atau mengunci: P), pi memerintahkan servo untuk menutup kotak.

Semua kerja yang berkaitan dengan pemprosesan gambar / video, seperti pengesanan gumpalan, menelusuri jalur gumpalan, pra-pemprosesan bingkai terakhir dll., Dilakukan melalui modul OpenCV.

Untuk peristiwa pencetus yang disebutkan di atas, dua lingkaran dibuat pada video masa nyata, lingkaran hijau dan merah. Apabila gumpalan memasuki wilayah dalam lingkaran hijau, program mula menelusuri jalan yang diambil oleh gumpalan setelah saat itu memungkinkan orang itu mulai membuat surat itu. Apabila gumpalan mencapai bulatan merah, video berhenti dan bingkai terakhir diteruskan ke fungsi yang melakukan pra-pemprosesan pada bingkai untuk membuatnya siap untuk predcition.

Saya telah melampirkan fail kod dalam langkah ini. Jangan ragu untuk melaluinya dan membuat perubahan yang anda mahukan.

CATATAN: Saya terpaksa membuat dua fail python yang berasingan yang berfungsi dengan versi python yang berbeza, satu yang mengimport modul OpenCV (Python 2.7) dan yang lain yang mengimport modul sklearn (Python 3.5) untuk ramalan setelah memuatkan model terlatih, kerana OpenCV saya dipasang untuk versi Python 2.7 sementara sklearn dipasang untuk python 3.5. Oleh itu, saya menggunakan modul subproses untuk menjalankan fail HarryPotterWandsklearn.py (untuk ramalan) dari HarryPotterWandcv.py (untuk semua kerja opencv dan rakaman video masa nyata) dan mendapatkan outputnya. Dengan cara ini saya hanya perlu menjalankan fail HarryPotterWandcv.py.

Langkah 7: Mekanisme Pembukaan Kotak

Mekanisme Pembukaan Kotak
Mekanisme Pembukaan Kotak
Mekanisme Pembukaan Kotak
Mekanisme Pembukaan Kotak
Mekanisme Pembukaan Kotak
Mekanisme Pembukaan Kotak

Saya mempunyai kotak berwarna merah tua yang terletak di sekitar yang saya gunakan untuk projek ini.

Untuk mekanisme Pembukaan Kotak:

  1. Saya panas melekatkan servo di hujung belakang kotak pada sekeping kadbod berhampiran pinggir kotak.
  2. Kemudian saya mengambil ceramah dari roda kitaran dan panas melekatkannya ke lengan servo.
  3. Ujung ujung yang lain dilekatkan pada penutup kotak menggunakan sehelai wayar.
  4. Positif servo dihubungkan ke + 5V Pin 2 pada Raspberry Pi.
  5. Negatif servo dihubungkan ke GND Pin 39.
  6. Isyarat servo dihubungkan ke Pin 12

Langkah 8: Menjadikan Kotak Harry Potter Bertema

Menjadikan Kotak Harry Potter Bertema
Menjadikan Kotak Harry Potter Bertema
Menjadikan Kotak Harry Potter Bertema
Menjadikan Kotak Harry Potter Bertema
Menjadikan Kotak Harry Potter Bertema
Menjadikan Kotak Harry Potter Bertema

Untuk menjadikan tema Harry Potter bertema, saya mencetak beberapa gambar berwarna dari pelbagai perkara seperti Logo Harry Potter, The Hogwarts Crest, The Crest masing-masing dari empat rumah dan lain-lain pada lembaran bersaiz A4 yang berkilat dan menempelkannya di dalam kotak di pelbagai tempat.

Saya juga menggunakan helai beludru berwarna Kuning untuk memotong helai dan menempelkannya di penutup untuk memberi kotak warna yang sama dengan yang ada di Gryffindor House. Saya menutup bahagian dalam penutup dan kadbod untuk servo dengan kepingan baldu hijau. Di bahagian dalam penutup saya menampal lebih banyak simbol dan lambang yang menunjukkan haiwan yang mewakili setiap rumah Sekolah Hogwarts.

Kemudian akhirnya saya memasukkan semua barang berkaitan Harry Potter ke dalam kotak yang merangkumi selendang Gryffindor, buku harian dengan pakaian seragam Hogwarts dan Tongkat Penatua yang digunakan dalam projek ini: D

Disyorkan: