Мазмұны:

Нағыз жұмыс істейтін Гарри Поттер таяқшасы компьютерлік көруді қолданады: 8 қадам (суреттермен)
Нағыз жұмыс істейтін Гарри Поттер таяқшасы компьютерлік көруді қолданады: 8 қадам (суреттермен)

Бейне: Нағыз жұмыс істейтін Гарри Поттер таяқшасы компьютерлік көруді қолданады: 8 қадам (суреттермен)

Бейне: Нағыз жұмыс істейтін Гарри Поттер таяқшасы компьютерлік көруді қолданады: 8 қадам (суреттермен)
Бейне: Басқа тышты деген осы 😡 2024, Шілде
Anonim
Image
Image
Нағыз жұмыс істейтін Гарри Поттер таяқшасы компьютерлік көруді қолданады
Нағыз жұмыс істейтін Гарри Поттер таяқшасы компьютерлік көруді қолданады
Нағыз жұмыс істейтін Гарри Поттер таяқшасы компьютерлік көруді қолданады
Нағыз жұмыс істейтін Гарри Поттер таяқшасы компьютерлік көруді қолданады
Нағыз жұмыс істейтін Гарри Поттер таяқшасы компьютерлік көруді қолданады
Нағыз жұмыс істейтін Гарри Поттер таяқшасы компьютерлік көруді қолданады

«Кез келген жеткілікті озық технология сиқырдан ерекшеленбейді» - Артур C. Кларк

Бірнеше ай бұрын менің ағам Жапонияға барды және Universal Vios студиясында Гарри Поттердің сиқырлы әлемінде шынайы сиқыршылық тәжірибеге ие болды, бұл Vision Computer технологиясының арқасында мүмкін болды.

Универсал студиясындағы Гарри Поттердің сиқырлы әлемінде туристер белгілі бір жерлерде (қозғалысты түсіру жүйесі орнатылған жерде) «реалды сиқыр» жасай алады, ұшында ретро шағылысатын моншақтармен арнайы жасалған таяқшаларды қолдана отырып. Таяқтарды нақты Олливандер дүкенінен сатып алуға болады, ол Гарри Поттер фильмінде көрсетілгендей, бірақ есіңізде болсын: «Сиқырды таяқша таңдайды»: P

Белгілі бір жерлерде, егер адам таяқшамен белгілі бір қимыл жасаса, қозғалысты түсіру жүйесі қимылды таниды және барлық қимылдар белгілі бір заклинаниеге сәйкес келеді, бұл айналадағы кейбір әрекеттерді субұрқақты қосу және т.

Сонымен, мен осы нұсқаулықта үйдегі «шынайы сиқырды» орындау үшін үйдегі арзан және тиімді қозғалыс түсіретін жүйені қалай құруға болатынын көрсетемін, таяқшаны шертіп қорапты ашыңыз: D қарапайым түнгі көру камерасын, кейбір электрониканы қолдана отырып, және OpenCV Computer Vision кітапханасы мен Machine Learning көмегімен кейбір питон коды !!!

1 -қадам: Негізгі идея мен қажетті бөлшектер

Негізгі идея және қажет бөлшектер
Негізгі идея және қажет бөлшектер
Негізгі идея және қажет бөлшектер
Негізгі идея және қажет бөлшектер
Негізгі идея және қажет бөлшектер
Негізгі идея және қажет бөлшектер
Негізгі идея және қажет бөлшектер
Негізгі идея және қажет бөлшектер

Гарри Поттердің сиқырлы әлемінен әмбебап студияларда сатып алынған таяқшалардың ұшында артқы шағылысатын моншақ бар. Бұл кері шағылыстыратын моншақтар камерада қозғалыс түсіретін жүйеде шығарылатын инфрақызыл сәуленің үлкен мөлшерін көрсетеді, сондықтан біз адамдар ауада қозғалатын таяқшаның ерекше емес ұшы ретінде қабылдаймыз. бейне ағынында оңай оқшауланатын және адам салған үлгіні тану және қажетті әрекетті орындау үшін бақылауға болатын жарқын блок ретінде. Бұл өңдеудің барлығы нақты уақытта жүзеге асады және компьютерлік көру мен машиналық оқытуды қолданады.

Қарапайым Night Vision камерасын қозғалысқа түсіру үшін біздің камера ретінде пайдалануға болады, өйткені олар адамдарға көрінбейтін инфрақызыл сәулені өшіреді, бірақ инфрақызыл сүзгісі жоқ камерамен анық көруге болады. Сонымен, камерадағы бейне ағыны таяқшаның ұшын анықтауға, оқшаулауға және қадағалауға арналған OpenCV жұмыс істейтін питон бағдарламасы бар таңқурай пи -ге беріледі. Содан кейін біз SVM (Simple Vector Machine) Machine Learning алгоритмін қолданылған үлгіні тану үшін қолданамыз және сәйкесінше кейбір әрекеттерді орындау үшін таңқурай пи GPIO -ларын басқарамыз.

Қажетті материалдар:

1) B моделі Raspberry Pi 3 және пернетақта мен тінтуір сияқты қажетті керек -жарақтар

2) Raspberry Pi NoIR (инфрақызыл емес) камера модулі

3) Гарри Поттер таяқшасы, оның ұшында ретрансляторы бар: егер сізде жоқ болса, уайымдамаңыз. Ретрорефлекторы бар кез келген нәрсені қолдануға болады. Сонымен, сіз таяқшаға ұқсас кез келген таяқшаны қолдана аласыз және ұшында ретранслятор лентасын, бояуды немесе бисерді қолдана аласыз және ол Уильям Османның бейнеде көрсетілгендей жұмыс істеуі керек: Бейнені қараңыз

4) 10 инфрақызыл светодиодтар

5) 3D принтері мен PLA талғамы бойынша сіздің қалауыңыз бойынша

6) 12В - 1А қабырға адаптері мен тұрақты ток ұясы

7) Серво қозғалтқышы

8) Ескі қорап және цикл дөңгелегінен шыққан сөз

9) Ыстық желім мылтығы

10) Гарри Поттерге қатысты логотиптер мен суреттердің жылтыр қағаз парақтарында басып шығарылуы

11) Жасыл және сары барқыт парақтар.

ЕСКЕРТПЕ: Мен түнгі көру үшін ескі әдеттегі веб -камераны инфрақызыл сүзгіні алып тастауға тырыстым, бірақ оның линзасын зақымдады/ауыстырдым, бұл бейне сапасына қатты әсер етті, мен оны пайдалана алмадым. Бірақ егер сіз оған мүмкіндік бергіңіз келсе, осы керемет нұсқаулықты өтуге болады Мұнда басыңыз

2 -қадам: OpenCV модулін орнатыңыз

Енді бұл жобаның бірінші және, мүмкін, ең ұзақ кезеңі: Raspberry Pi -де OpenCV модулін орнату және құру.

OpenCV модуліне тәуелділікті орнату көп уақытты қажет етпейді, бірақ құрастыру процесі 2 -ден 3 сағатқа дейін созылуы мүмкін !! Сонымен, көтеріңіз !!: P

OpenCV 4.1.0 модулін орнату үшін Интернетте көптеген оқулықтар бар. Міне, мен барған сілтеменің сілтемесі: Мына жерді басыңыз

ЕСКЕРТПЕ: Мен оқулықта көрсетілгендей OpenCV модулін виртуалды ортаға орнатуды ұсынамын, себебі ол әртүрлі модульдердің тәуелділігін орнатуға немесе pythonның әр түрлі нұсқаларымен жұмыс істеуге байланысты туындауы мүмкін түрлі жанжалдардың алдын алады.

3 -қадам: Камера тірегін басып шығару

Камера тірегін басып шығару
Камера тірегін басып шығару
Камера тірегін басып шығару
Камера тірегін басып шығару
Камера тірегін басып шығару
Камера тірегін басып шығару

NoIR пикамерасында инфрақызыл сүзгі жоқ, сондықтан оны түнгі көру камерасы ретінде пайдалануға болады, бірақ инфрақызыл жарық көзі әлі де жоқ. Барлық түнгі көру камераларында инфрақызыл жарық көзі бар, олар қараңғыда көзге көрінбейтін қараңғыда инфрақызыл сәулелерді шығарады, бірақ сәулелерді инфрақызыл сүзгісі жоқ камера кез келген заттан шағылғаннан кейін көре алады.

Сонымен, бізге инфрақызыл жарық көзі мен камераны қосатын нәрсе қажет. Ол үшін мен объектінің қарапайым 3D моделін жасадым, оған камераны орнатуға болатын едік, оны біз шеңберде 10 ИК жарықдиодты шаммен қоршап алатын болдық. Модель SketchUp көмегімен жасалды және шамамен 40 минут ішінде Black PLA көмегімен басып шығарылды.

4 -қадам: Камераны орнатуды аяқтау

Камераны орнатуды аяқтау
Камераны орнатуды аяқтау
Камераны орнатуды аяқтау
Камераны орнатуды аяқтау
Камераны орнатуды аяқтау
Камераны орнатуды аяқтау

Үлгіні басып шығарғаннан кейін мен оны алдымен 80 құмды қағазбен сүргілеп, содан кейін жоғарыда келтірілген схемаға сәйкес ИҚ шамдарын тесіктеріне сала бастадым.

Мен олардың орнына шамдарды ыстық желіммен бекітіп қойдым, содан кейін екі светодиодтың оң және теріс сымдарын біріктіріп, светодиодтардың тізбекті байланысын жасау үшін оларды дәнекерледім.

12 вольтты қабырға адаптерінің оң және теріс ұштарын қосу үшін бір сымның оң сымы мен оның түбіндегі теріс сымның қосылмайтын дәнекерленген күйінде қалдырылды.

5 -қадам: Машинамен оқытудың үлгісі

Адам салған хатты тану үшін мен осы жерден қолмен жазылған ағылшын алфавитінің деректер жиынтығын қолдайтын Support Vector Machine (SVM) алгоритміне негізделген машиналық оқыту моделін үйреттім. SVM - бұл машинаны оқытудың өте тиімді алгоритмі, ол жоғары дәлдік бере алады, бұл жағдайда шамамен 99,2% !! SVM туралы толығырақ оқыңыз

Деректер жинағы.csv файлы түрінде болады, оның құрамында 785 баған мен 300 000 -нан астам жол бар, онда әр жол 28х28 кескінді көрсетеді және сол жолдағы әрбір баған осы пиксельдің мәнін қосымша бағанмен қамтиды басында жапсырмасы бар, әрқайсысы ағылшын әріпіне сәйкес келетін 0 -ден 25 -ке дейінгі сан. Қарапайым питон коды арқылы мен барлық кескіндерді өзім қалаған 2 әріпке (А және С) алу үшін кесіп, оларға үлгі үйреттім.

Мен үйретілген үлгіні (alpha_classifier.pkl) тіркедім, сонымен қатар оқу коды оны өтуге немесе модельді әртүрлі әріптермен оқытуға немесе әр түрлі алгоритмдерді қолданып көруге өзгерістер енгізуге болады. Бағдарламаны іске қосқаннан кейін ол автоматты түрде дайындалған үлгіні сіздің кодыңыз сақталатын каталогқа сақтайды.

6 -қадам: Мұның бәрін жасайтын код

Бәрін жасайтын код !!
Бәрін жасайтын код !!

Дайындалған модельді жасағаннан кейін, соңғы қадам - біздің Raspberry Pi үшін келесі әрекеттерді орындауға мүмкіндік беретін питон бағдарламасын жазу:

  • Нақты уақытта пикамера түріндегі бейнеге қол жеткізіңіз
  • Бейнедегі ақ түйіршіктерді анықтаңыз және қадағалаңыз (бұл жағдайда таяқшаның ұшы түнде көрінеді)
  • Қандай да бір триггерлік оқиғадан кейін бейненің қозғалатын жолының жолын бақылауды бастаңыз (төменде түсіндірілген)
  • Басқа триггер оқиғасынан кейін іздеуді тоқтатыңыз (төменде түсіндірілген)
  • Пайдаланушы салған үлгісі бар соңғы кадрды қайтарыңыз
  • Шектеу, шуды кетіру, өлшемін өзгерту сияқты кадрда алдын ала өңдеуді орындаңыз.
  • Болжау үшін өңделген соңғы кадрды пайдаланыңыз.
  • Алдын ала айтылған сәйкес Raspberry Pi GPIO -ларын басқару арқылы қандай да бір сиқыр жасаңыз

Бұл жоба үшін мен Гарри Поттердің тақырыптық қорабын жасадым, оны Raspberry Pi GPIO басқаратын серво қозғалтқышының көмегімен ашуға және жабуға болады. «А» әрпі «Алохамора» дегенді білдіреді (Гарри Поттер фильміндегі ең әйгілі заклинание, ол сиқыршыға кез келген құлыпты ашуға мүмкіндік береді !!), егер адам таяқшамен А әрпін салса, пи сервоға бұйрық береді. қорапты ашыңыз. Егер адам жақын дегенді білдіретін 'C' әрпін салса (мен жабу немесе құлыптау үшін қолданылатын қандай да бір заклинание туралы ойлана алмадым: P), pi сервоға қорапты жабуды бұйырады.

Кескінді/бейнені өңдеуге қатысты барлық жұмыстар, мысалы, кескінді анықтау, блоктың жолын қадағалау, соңғы кадрды алдын ала өңдеу және т.б. OpenCV модулі арқылы орындалады.

Жоғарыда аталған триггерлік оқиғалар үшін нақты уақыттағы бейнеде жасыл және қызыл шеңбердің екі шеңбері құрылады. Блок жасыл шеңбердің аймағына кіргенде, бағдарлама сол сәттен кейін адамға хат құруды бастауға мүмкіндік беретін жолақты іздей бастайды. Блок қызыл шеңберге жеткенде, бейне тоқтайды және соңғы кадр оны алдын ала анықтауға дайын болу үшін кадрда алдын ала өңдеуді орындайтын функцияға өтеді.

Мен осы қадамда код файлдарын тіркедім. Одан өтіп, қалағаныңызша өзгертулер енгізіңіз.

ЕСКЕРТПЕ: Мен әр түрлі python нұсқаларымен жұмыс істейтін екі бөлек питон файлын жасауым керек болды, олардың бірі OpenCV модулін (Python 2.7) импорттайды, екіншісі sklearn модулін (Python 3.5) импорттайтын, үйретілген модельді жүктегеннен кейін болжау үшін, менің OpenCV орнатылған. python 3.5 үшін sklearn орнатылған кезде Python 2.7 нұсқасы. Сонымен, мен HarryPotterWandsklearn.py файлын (болжау үшін) HarryPotterWandcv.py (барлық ашық жұмыс пен нақты уақыттағы бейне жазба үшін) файлын іске қосу және оның шығысын алу үшін ішкі процесс модулін қолдандым. Осылайша мен тек HarryPotterWandcv.py файлын іске қосуым керек.

7 -қадам: қораптың ашылу механизмі

Қораптың ашылу механизмі
Қораптың ашылу механизмі
Қораптың ашылу механизмі
Қораптың ашылу механизмі
Қораптың ашылу механизмі
Қораптың ашылу механизмі

Менде осы жобада қолданған ескі қызыл түсті қорап бар еді.

Қорапты ашу механизмі үшін:

  1. Мен қораптың шетіне жақын картонға қораптың артқы жағындағы серводы ыстық желіммен жапсырдым.
  2. Содан кейін мен цикл дөңгелегінен динамикті алып, оны серво қолына ыстық түрде жапсырдым.
  3. Тіректің екінші ұшы сым арқылы қораптың қақпағына бекітілген.
  4. Серваның оң көрсеткіші Raspberry Pi -дегі +5V Pin 2 -ге қосылды.
  5. Серваның теріс мәні GND PIN 39 -ға қосылды.
  6. Серво белгісі түйреуіш 12 -ге қосылды

8 -қадам: қорапты Гарри Поттер тақырыбына айналдыру

Гарри Поттердің тақырыптық қорапшасын жасау
Гарри Поттердің тақырыптық қорапшасын жасау
Гарри Поттердің тақырыптық қорапшасын жасау
Гарри Поттердің тақырыптық қорапшасын жасау
Гарри Поттердің тақырыптық қорапшасын жасау
Гарри Поттердің тақырыптық қорапшасын жасау

Гарри Поттердің қорабын жасау үшін мен әр түрлі заттардың түрлі -түсті суреттерін шығардым: Гарри Поттер логотипі, Хогвартс шыңы, төрт үйдің әрқайсысының кресті және т. орындар.

Мен сонымен қатар жолақтарды кесу үшін сары түсті барқыт парағын қолдандым және оларды қақпақшаға жапсырдым, олар қорапқа Гриффиндор үйінің түсіне сәйкес келеді. Мен қақпақтың ішкі жағын және сервоға арналған картонды жасыл барқытпен жаптым. Қақпақтың ішкі жағына мен Хогвартс мектебінің әр үйін бейнелейтін жануарлар бейнеленген көптеген белгілер мен эмблеманы жапсырдым.

Содан кейін мен Гарри Поттерге қатысты барлық нәрселерді қорапқа салдым, оның ішінде Гриффиндор сөндіргіші, Хогвартс формасы бар күнделік және осы жобада қолданылған ақсақал таяқшасы бар: D

Ұсынылған: