Përmbajtje:

Shkopi Harry Potter që punon vërtet duke përdorur vizionin kompjuterik: 8 hapa (me fotografi)
Shkopi Harry Potter që punon vërtet duke përdorur vizionin kompjuterik: 8 hapa (me fotografi)

Video: Shkopi Harry Potter që punon vërtet duke përdorur vizionin kompjuterik: 8 hapa (me fotografi)

Video: Shkopi Harry Potter që punon vërtet duke përdorur vizionin kompjuterik: 8 hapa (me fotografi)
Video: Part 2 - Triplanetary Audiobook by E. E. Smith (Chs 5-8) 2024, Korrik
Anonim
Image
Image
Shkopi i Harry Potter që punon vërtet duke përdorur vizionin kompjuterik
Shkopi i Harry Potter që punon vërtet duke përdorur vizionin kompjuterik
Shkopi i Harry Potter që punon vërtet duke përdorur vizionin kompjuterik
Shkopi i Harry Potter që punon vërtet duke përdorur vizionin kompjuterik
Shkopi i Harry Potter që punon vërtet duke përdorur vizionin kompjuterik
Shkopi i Harry Potter që punon vërtet duke përdorur vizionin kompjuterik

"Çdo teknologji mjaft e avancuar nuk dallohet nga magjia" - Arthur C. Clarke

Disa muaj më parë vëllai im vizitoi Japoninë dhe kishte përvojë të vërtetë magjistare në Botën e Magjistarëve të Harry Potter në Studiot Universale të mundësuara përmes teknologjisë së Computer Vision.

Në Botën e Magjistarëve të Harry Potter në Studios Universale turistët mund të bëjnë "magji të vërtetë" në vende të caktuara (ku është instaluar sistemi i kapjes së lëvizjes) duke përdorur shkopinj të bërë posaçërisht me rruaza reflektuese retro në majë. Shkopinjtë mund të blihen nga një Dyqan i vërtetë Ollivander, të cilët janë saktësisht si ai i treguar në Filmat e Harry Potter, por mbani mend: "wshtë shkopi që zgjedh magjistarin": P

Në ato vende të caktuara nëse personi kryen një gjest të veçantë me shkop, sistemi i kapjes së lëvizjes njeh gjestin dhe të gjitha gjestet korrespondojnë me një magji të caktuar e cila shkakton aktivitete të caktuara në zonën përreth si ndezja e burimit etj.

Pra, në këtë Instructable unë do të tregoj se si mund të krijoni një sistem të lirë dhe efektiv të kapjes së lëvizjeve në shtëpi për të kryer "magji të vërtetë" duke hapur një kuti me lëvizjen e shkopit tuaj: D duke përdorur vetëm një Kamera Normale të Vizionit të Natës, disa pajisje elektronike, dhe disa kod python duke përdorur bibliotekën OpenCV Computer Vision dhe Machine Learning !!!

Hapi 1: Ideja Themelore dhe Pjesët e Kërkuara

Ideja Themelore dhe Pjesët e Kërkuara
Ideja Themelore dhe Pjesët e Kërkuara
Ideja Themelore dhe Pjesët e Kërkuara
Ideja Themelore dhe Pjesët e Kërkuara
Ideja Themelore dhe Pjesët e Kërkuara
Ideja Themelore dhe Pjesët e Kërkuara
Ideja Themelore dhe Pjesët e Kërkuara
Ideja Themelore dhe Pjesët e Kërkuara

Shkopinjtë të cilët janë blerë nga Bota e Magjistarëve të Harry Potter në Studios Universale, kanë një rruaza reflektuese në majë. Ato rruaza reflektuese reflektojnë një sasi të madhe të dritës infra të kuqe e cila jepet nga kamera në sistemin e kapjes së lëvizjes. Pra, atë që ne njerëzit e perceptojmë si një majë jo shumë të veçantë të shkopit që lëviz në ajër, sistemi i kapjes së lëvizjes percepton si një pikë e ndritshme e cila mund të izolohet lehtësisht në transmetimin video dhe të gjurmohet për të njohur modelin e vizatuar nga personi dhe për të ekzekutuar veprimin e kërkuar. I gjithë ky përpunim zhvillohet në kohë reale dhe përdor Vizionin Kompjuterik dhe Mësimin e Makinerisë.

Një aparat i thjeshtë i Vizionit të Natës mund të përdoret si kamera jonë për kapjen e lëvizjes pasi ato gjithashtu shpërthejnë dritën infra të kuqe e cila nuk është e dukshme për njerëzit, por mund të shihet qartë me një aparat fotografik që nuk ka filtër infra të kuqe. Pra, transmetimi video nga kamera futet në një mjedër pi e cila ka një program python që ekzekuton OpenCV i cili përdoret për zbulimin, izolimin dhe gjurmimin e majës së shkopit. Pastaj ne përdorim algoritmin SVM (Simple Vector Machine) të Machine Learning për të njohur modelin e vizatuar dhe në përputhje me rrethanat kontrollojmë GPIO -të e mjedrës pi për të kryer disa aktivitete.

Materialet e kërkuara:

1) Një Raspberry Pi 3 model B dhe aksesorët e kërkuar si tastiera dhe miu

2) Raspberry Pi NoIR (Pa infra të kuqe) Moduli i kamerës

3) Shkopi i Harry Potter me reflektues në majë: Mos u shqetësoni nëse nuk e keni një të tillë. Çdo gjë me një reflektues mund të përdoret. Pra, mund të përdorni çdo shkop të ngjashëm me shkopinj dhe të aplikoni shirit, bojë ose rruaza retroreflektor në majë dhe duhet të funksionojë siç tregohet në videon nga William Osman: Shikoni videon

4) 10 LED me rreze infra të kuqe

5) Një printer 3D dhe fije e hollë PLA sipas dëshirës tuaj

6) Përshtatës muri 12V - 1A dhe prizë DC

7) Një motor servo

8) Një kuti e vjetër dhe një e folur nga rrota e një cikli

9) Një armë me zam të nxehtë

10) Shtypjet e disa logove dhe imazheve të lidhura me Harry Potter në fletë me shkëlqim

11) Çarçafë kadife të gjelbër dhe të verdhë.

SH NOTNIM: Unë gjithashtu u përpoqa të përdor një kamerë të vjetër të rregullt në internet për shikimin e natës duke hequr Filtrin e saj Infrared, por përfundova duke dëmtuar/zhvendosur lentet e saj, gjë që ndikoi shumë në cilësinë e videos dhe nuk mund ta përdorja. Por nëse doni t'i jepni një goditje, mund të kaloni nëpër këtë udhëzues të mrekullueshëm Kliko Këtu

Hapi 2: Instaloni modulin OpenCV !

Tani është koha për hapin e parë dhe ndoshta më të gjatë të të gjithë këtij projekti: Instalimi dhe ndërtimi i modulit OpenCV në Raspberry Pi tuaj.

Instalimi i varësive për modulin OpenCV nuk kërkon shumë kohë, por procesi i ndërtimit mund të zgjasë deri në 2 deri në 3 orë !! Pra, fiksohu !!: P

Ka shumë mësime në internet të cilat mund t'i ndiqni për të instaluar modulin OpenCV 4.1.0. Këtu është lidhja e asaj që ndoqa: Kliko Këtu

SH NOTNIM: Unë rekomandoj fuqimisht instalimin e modulit OpenCV në mjedis virtual siç tregohet në tutorial pasi do të parandalojë konflikte të llojeve të ndryshme që mund të ndodhin për shkak të instalimit të varësive të moduleve të ndryshme ose gjatë punës me versione të ndryshme të python.

Hapi 3: Shtypja e montimit të kamerës

Shtypja e montimit të kamerës
Shtypja e montimit të kamerës
Shtypja e montimit të kamerës
Shtypja e montimit të kamerës
Shtypja e montimit të kamerës
Shtypja e montimit të kamerës

Pikamera NoIR nuk ka filtër infra të kuqe, prandaj mund të përdoret si një aparat fotografik për natën, por ende i mungon një burim drite infra të kuqe. Të gjitha kamerat e shikimit të natës kanë burimin e tyre të dritës infra të kuqe që shpërthen rrezet IR në errësirë të cilat janë të padukshme për syrin e lirë, por rrezet mund të shihen nga kamera pa filtër infra të kuqe pasi të reflektohen nga ndonjë objekt.

Pra, ne kemi nevojë në thelb për një Burim Infrared të Dritës dhe diçka për të montuar kamerën. Për këtë unë hartova një model të thjeshtë 3D të një objekti mbi të cilin mund të montonim kamerën të cilën do ta rrethonim me 10 priza IR në një rreth. Modeli u krijua me SketchUp dhe u shtyp me Black PLA në rreth 40 minuta.

Hapi 4: Përfundimi i montimit të kamerës

Përfundimi i montimit të kamerës
Përfundimi i montimit të kamerës
Përfundimi i montimit të kamerës
Përfundimi i montimit të kamerës
Përfundimi i montimit të kamerës
Përfundimi i montimit të kamerës

Pas printimit të modelit, fillimisht e lëmova atë me një letër rëre me zhavorr 80 dhe më pas fillova të vendosja llambat IR në vrimat e tyre sipas diagramit të dhënë më sipër.

I sigurova ledet në vendin e tyre me disa zam të nxehtë dhe më pas bashkova lidhjet pozitive dhe negative të dy led -ve të njëpasnjëshëm së bashku dhe pastaj i bashkova ato për të krijuar një lidhje seri të leds.

Plumbi pozitiv i një led dhe plumbi negativ i led pranë tij në pjesën e poshtme u lanë të palidhura në mënyrë që të lidhnin skajet pozitive dhe negative nga përshtatësi i murit 12 volt.

Hapi 5: Modeli i Mësimit të Makinerisë së Trajnuar

Me qëllim të njohjes së shkronjës së tërhequr nga një person, unë trajnova një model të mësimit të makinerisë bazuar në algoritmin Support Vector Machine (SVM) duke përdorur një grup të të dhënave të alfabeteve angleze të shkruara me dorë që gjeta këtu. SVM -të janë algoritme shumë efikase të mësimit të makinerisë të cilat mund të japin një saktësi të lartë, rreth 99.2% në këtë rast !! Lexoni më shumë rreth SVM -ve

Baza e të dhënave është në formën e skedarit.csv i cili përmban 785 kolona dhe më shumë se 300,000 rreshta ku secila rresht përfaqëson një imazh 28 x 28 dhe secila kolonë në atë rresht përmban vlerën e atij pixel për atë imazh me një kolonë shtesë në fillimi i cili përmban etiketën, një numër nga 0 në 25, secili që korrespondon me një shkronjë angleze. Përmes një kodi të thjeshtë python, unë i preva të dhënat për të marrë të gjitha imazhet për vetëm 2 shkronjat (A dhe C) që doja dhe trajnova një model për to.

Unë kam bashkangjitur modelin e trajnuar (alphabet_classifier.pkl) dhe gjithashtu kodin e trajnimit mos ngurroni ta kaloni atë ose të bëni ndonjë ndryshim për trajnimin e modelit me shkronja të ndryshme ose të provoni algoritme të ndryshme. Pas ekzekutimit të programit, ai automatikisht ruan modelin e trajnuar në të njëjtën drejtori ku ruhet kodi juaj.

Hapi 6: Kodi që i bën të gjitha të ndodhin !

Kodi që i bën të gjitha të ndodhin !!
Kodi që i bën të gjitha të ndodhin !!

Pas krijimit të modelit të trajnuar, hapi përfundimtar është të shkruani një program python për Raspberry Pi tonë që na lejon të bëjmë sa më poshtë:

  • Hyni në video nga picamera në kohë reale
  • Zbuloni dhe gjurmoni blloqet e bardha (në këtë rast maja e shkopit që ndizet në shikimin e natës) në video
  • Filloni të gjurmoni shtegun e pikës lëvizëse në video pas një ngjarjeje të shkaktuar (shpjegohet më poshtë)
  • Ndalo gjurmimin pas një ngjarjeje tjetër shkaktuese (shpjegohet më poshtë)
  • Ktheni kornizën e fundit me modelin e vizatuar nga përdoruesi
  • Kryeni para-përpunim në kornizë si pragu, heqja e zhurmës, ndryshimi i madhësisë etj.
  • Përdorni kornizën e fundit të përpunuar për parashikim.
  • Kryeni një lloj magjie duke kontrolluar GPIO -të e Raspberry Pi sipas parashikimit

Për këtë projekt krijova një kuti me temë Harry Potter të cilën mund ta hap dhe mbyll duke përdorur një servo motor i cili kontrollohet nga GPIO i Raspberry Pi. Meqenëse shkronja 'A' do të thotë 'Alohamora' (një nga magjitë më të famshme nga filmat e Harry Potter që lejon një magjistar të hapë çdo bravë !!), nëse një person tërheq shkronjën A me shkopin, pi urdhëron servo -n hap Kutinë. Nëse personi tërheq shkronjën 'C' që qëndron për mbyllje (pasi nuk mund të mendoja për ndonjë magji të përshtatshme të përdorur për mbylljen ose kyçjen: P), pi urdhëron servo -n që të mbyllë kutinë.

E gjithë puna që lidhet me përpunimin e imazhit/videos, si zbulimi i pikave, gjurmimi i rrugës së blobës, para-përpunimi i kornizës së fundit etj., Bëhet përmes modulit OpenCV.

Për ngjarjet e shkaktimit të përmendura më lart, krijohen dy qarqe në videon në kohë reale, një rreth i gjelbër dhe i kuq. Kur pika të hyjë në rajon brenda rrethit të gjelbër, programi fillon të gjurmojë rrugën e marrë nga pika pas atij momenti duke i lejuar personit të fillojë të krijojë shkronjën. Kur pika të arrijë rrethin e kuq, videoja ndalet dhe korniza e fundit kalon në një funksion i cili kryen para-përpunimin në kornizë për ta bërë atë gati për parashikim.

Unë i kam bashkangjitur skedarët e kodit në këtë hap. Ndjehuni të lirë ta kaloni atë dhe të bëni çdo ndryshim sipas dëshirës tuaj.

SH NOTNIM: Unë duhej të krijoja dy skedarë python të veçantë që punonin me versione të ndryshme python, njëra që importon modulin OpenCV (Python 2.7) dhe tjetra që importon modulin sklearn (Python 3.5) për parashikim pas ngarkimit të modelit të trajnuar, pasi OpenCV im ishte instaluar për versioni Python 2.7 ndërsa sklearn ishte instaluar për python 3.5. Pra, kam përdorur modulin e nënprocesit për të drejtuar skedarin HarryPotterWandsklearn.py (për parashikim) nga HarryPotterWandcv.py (për të gjithë punën e hapur dhe regjistrimin e videove në kohë reale) dhe për të marrë daljen e saj. Në këtë mënyrë më duhet vetëm të ekzekutoj skedarin HarryPotterWandcv.py.

Hapi 7: Mekanizmi i Hapjes së Kutisë

Mekanizmi i Hapjes së Kutisë
Mekanizmi i Hapjes së Kutisë
Mekanizmi i Hapjes së Kutisë
Mekanizmi i Hapjes së Kutisë
Mekanizmi i Hapjes së Kutisë
Mekanizmi i Hapjes së Kutisë

Kisha një kuti të vjetër me ngjyrë të kuqe të shtrirë rreth së cilës e përdorja për këtë projekt.

Për mekanizmin e hapjes së kutisë:

  1. Unë ngjita një servo pranë skajit të pasmë të kutisë në një copë kartoni pranë buzës së kutisë.
  2. Pastaj mora një spike nga rrota e një cikli dhe e ngjita me nxehtësi në krahun e servos.
  3. Fundi tjetër i gropës ishte ngjitur në kapakun e kutisë duke përdorur një copë teli.
  4. Pozitivi i servo ishte i lidhur me +5V Pin 2 në Raspberry Pi.
  5. Negativi i servo ishte i lidhur me GND Pin 39.
  6. Sinjali i servo ishte i lidhur me Pin 12

Hapi 8: Bërja e Kutisë me temë Harry Potter

Bërja e Kutisë Theme Harry Potter
Bërja e Kutisë Theme Harry Potter
Bërja e Kutisë Theme Harry Potter
Bërja e Kutisë Theme Harry Potter
Bërja e Kutisë Harry Potter Themed
Bërja e Kutisë Harry Potter Themed

Për ta bërë Kutinë me temën Harry Potter, unë printova disa imazhe me ngjyra të gjërave të ndryshme si Logoja e Harry Potter, The Hogwarts Crest, The Crest e secilës prej katër shtëpive etj. Në fletë me shkëlqim të madhësisë A4 dhe i ngjita në kuti në vende vende.

Kam përdorur gjithashtu një fletë kadifeje me ngjyrë të Verdhë për të prerë shirita dhe i kam ngjitur në kapak për t'i dhënë kutisë të njëjtën ngjyrë si ajo e Shtëpisë Gryffindor. Mbulova pjesën e brendshme të kapakut dhe kartonin për servo me çarçaf jeshil kadife. Në pjesën e brendshme të kapakut unë ngjita më shumë simbole dhe një emblemë që tregonte kafshët që përfaqësojnë çdo shtëpi të Shkollës së Hogwarts.

Pastaj më në fund i futa të gjitha gjërat e mia të lidhura me Harry Potter në kutinë e cila përfshinte një silenciator Gryffindor, një ditar me uniformën e Hogwarts dhe Shkopin e Plakut të përdorur në këtë projekt: D

Recommended: