
Tartalomjegyzék:
- 1. lépés: Az alapötlet és a szükséges alkatrészek
- 2. lépés: Telepítse az OpenCV modult
- 3. lépés: A kamera tartó kinyomtatása
- 4. lépés: A kamera tartó befejezése
- 5. lépés: A képzett gépi tanulási modell
- 6. lépés: A kód, amely mindent megtörténik
- 7. lépés: A doboznyitó mechanizmus
- 8. lépés: A doboz elkészítése Harry Potter témával
2025 Szerző: John Day | [email protected]. Utoljára módosítva: 2025-01-23 14:48





"Bármilyen kellően fejlett technológia megkülönböztethetetlen a mágiától" - Arthur C. Clarke
Néhány hónappal ezelőtt a bátyám meglátogatta Japánt, és igazi varázslói tapasztalatokat szerzett a Harry Potter varázsvilágában a Universal Studiosban, ami lehetővé tette a Computer Vision technológiáját.
A Universal Studios Harry Potter varázslóvilágában a turisták "valódi varázslatot" végezhetnek bizonyos helyeken (ahol a mozgásrögzítő rendszer telepítve van), speciálisan készített pálcák segítségével, amelyek csúcsán fényvisszaverő gyöngyök vannak. A pálcákat egy igazi Ollivander boltban lehet megvásárolni, pontosan olyanokat, mint a Harry Potter -filmekben, de ne feledje: "A varázsló a pálca"
Ezeken a bizonyos helyeken, ha a személy pálcával hajt végre egy adott gesztust, a mozgásrögzítő rendszer felismeri a gesztust, és minden gesztus egy bizonyos varázslatnak felel meg, amely bizonyos tevékenységeket okoz a környező területen, például a szökőkút bekapcsolását stb.
Tehát ebben az utasításban megmutatom, hogyan lehet otthon olcsó és hatékony mozgásrögzítő rendszert létrehozni az "igazi varázslat" elvégzéséhez, ha kinyit egy dobozt a pálcája mozdulataival: D csak egy normál Éjjellátó kamera, néhány elektronika, és néhány python kód az OpenCV Computer Vision könyvtár és a Machine Learning segítségével !!!
1. lépés: Az alapötlet és a szükséges alkatrészek




A pálcák, amelyeket a Universal Studios -ban vásároltak a Harry Potter Varázslóvilágából, csúcsukon fényvisszaverő gyöngy található. Ezek a fényvisszaverő gyöngyök nagy mennyiségű infravörös fényt tükröznek, amelyet a kamera bocsát ki a mozgásrögzítő rendszerben. Tehát amit mi emberek a levegőben mozgó pálca nem annyira megkülönböztető csúcsának érzékelünk, a mozgásrögzítő rendszer érzékeli fényes foltként, amelyet könnyen el lehet különíteni a videófolyamban, és nyomon lehet követni, hogy felismerje a személy által rajzolt mintát, és végrehajtsa a szükséges műveletet. Mindezek a feldolgozások valós időben zajlanak, és számítógépes látást és gépi tanulást használnak.
Egy egyszerű Éjjellátó kamera használható mozgásrögzítő fényképezőgépünkként, mivel az emberek számára nem látható, de infravörös szűrővel nem rendelkező kamerával jól látható infravörös fényt is elfúj. Tehát a kamerából származó videofolyam egy málna pi -be kerül, amely rendelkezik egy OpenCV -t futtató python programmal, amelyet a pálcahegy észlelésére, elkülönítésére és nyomon követésére használnak. Ezután a SVM (Simple Vector Machine) Machine Learning algoritmus segítségével felismerjük a rajzolt mintát, és ennek megfelelően ellenőrizzük a málna pi GPIO -jait bizonyos tevékenységek végrehajtásához.
Szükséges anyagok:
1) A Raspberry Pi 3 B modell és a szükséges kiegészítők, például billentyűzet és egér
2) Raspberry Pi NoIR (nincs infravörös) kamera modul
3) Harry Potter pálca fényvisszaverővel a végén: Ne aggódj, ha nincs. Bármi használható fényvisszaverővel. Tehát bármilyen pálcához hasonló botot használhat, és fényvisszaverő szalagot, festéket vagy gyöngyöket ragaszthat a hegyére, és úgy kell működnie, ahogy William Osman videója mutatja: Nézze meg a videót
4) 10 infravörös LED
5) Az Ön által választott 3D nyomtató és PLA szál
6) 12V - 1A fali adapter és DC aljzat
7) Szervómotor
8) Egy régi doboz és egy kerék a kerék kerékéből
9) Forró ragasztópisztoly
10) Néhány Harry Potterrel kapcsolatos logó és kép kinyomtatása fényes papírlapon
11) Zöld és sárga bársonylapok.
MEGJEGYZÉS: Próbáltam egy régi, normál webkamerát is használni az éjszakai látáshoz, eltávolítva az infravörös szűrőt, de végül megsérült/elmozdult a lencse, ami nagyban befolyásolta a videó minőségét, és nem tudtam használni. De ha ki akarja próbálni, akkor nézze át ezt a remek, tanulságos kattintson ide
2. lépés: Telepítse az OpenCV modult
Itt az ideje az egész projekt első és valószínűleg leghosszabb lépésének: az OpenCV modul telepítése és építése a Raspberry Pi -ben.
Az OpenCV modul függőségeinek telepítése nem sok időt vesz igénybe, de az összeállítás akár 2-3 órát is igénybe vehet !! Szóval, Csatold fel !!: P
Sok online oktatóanyag található az OpenCV 4.1.0 modul telepítéséhez. Itt a link, amit követtem: Kattintson ide
MEGJEGYZÉS: Határozottan javaslom az OpenCV modul virtuális környezetbe történő telepítését az oktatóanyagban látható módon, mivel ez megakadályozza a különféle konfliktusokat, amelyek a különböző modulok függőségeinek telepítése vagy a python különböző verzióival való munka során fordulhatnak elő.
3. lépés: A kamera tartó kinyomtatása



A NoIR picamera nem rendelkezik infravörös szűrővel, ezért éjjellátó kameraként használható, de még mindig nincs infravörös fényforrása. Minden éjjellátó kamerának saját infravörös fényforrása van, amely sötétben felrobbantja az infravörös sugarakat, amelyek szabad szemmel nem láthatók, de a sugarakat a kamera látja infravörös szűrő nélkül, miután bármilyen tárgyról visszaverődik.
Tehát alapvetően szükségünk van egy infravörös fényforrásra, és valamire, amire felszerelhetjük a kamerát. Ehhez megterveztem egy objektum egyszerű 3D -s modelljét, amelyre felszerelhetjük a kamerát, amelyet körben 10 IR led vesz körül. A modellt SketchUp segítségével hozták létre, és körülbelül 40 perc alatt kinyomtatták fekete PLA -val.
4. lépés: A kamera tartó befejezése



A modell kinyomtatása után először 80 -as csiszolópapírral csiszoltam, majd elkezdtem az IR ledeket a lyukakba helyezni a fenti ábra szerint.
A LED -eket a helyükre rögzítettem valamilyen forró ragasztóval, majd két egymást követő LED pozitív és negatív vezetékét összeillesztettem, majd forrasztottam őket, hogy soros kapcsolatot létesítsenek a LED -ekkel.
Az egyik led pozitív vezetékét és a mellette lévő alsó vezeték negatív vezetékét alul forrasztás nélkül hagyták, hogy összekapcsolják a 12 voltos fali adapter pozitív és negatív végeit.
5. lépés: A képzett gépi tanulási modell
Annak érdekében, hogy felismerjem egy személy által rajzolt betűt, betanítottam egy gépi tanulási modellt, amely a Support Vector Machine (SVM) algoritmuson alapul, és itt találtam egy kézzel írott angol ábécé adathalmazát. Az SVM -ek nagyon hatékony gépi tanulási algoritmusok, amelyek nagy pontosságot adhatnak, ebben az esetben körülbelül 99,2% -ot !! További információ az SVM -ekről
Az adathalmaz.csv fájl formájában van, amely 785 oszlopot és több mint 300 000 sort tartalmaz, ahol minden sor 28 x 28 -as képet képvisel, és az adott sor minden oszlopa tartalmazza az adott képpont értékét egy további oszloppal az eleje, amely tartalmazza a címkét, egy szám 0 és 25 között, mindegyik egy angol betűnek felel meg. Egy egyszerű python -kód segítségével felvágtam az adatokat, hogy az összes képet csak a kívánt 2 betűhöz (A és C) kapjam, és modellt képeztem ki számukra.
Csatoltam a betanított modellt (alphabet_classifier.pkl) és a képzési kódot is, bátran nézze át, vagy hajtson végre változtatásokat a modell betűkkel történő betanításában, vagy próbáljon ki különböző algoritmusokat. A program futtatása után automatikusan elmenti a betanított modellt ugyanabba a könyvtárba, ahová a kódot mentette.
6. lépés: A kód, amely mindent megtörténik

A betanított modell létrehozása után az utolsó lépés egy python program írása a Raspberry Pi -hez, amely lehetővé teszi számunkra, hogy a következőket tegyük:
- Valós idejű hozzáférés a videóhoz a picamera -ról
- Észlelje és kövesse nyomon a videóban a fehér foltokat (ebben az esetben a pálca hegyét, amely világít az éjszakai látásban)
- Kezdje nyomon követni a mozgó folt útját a videóban valamilyen kiváltó esemény után (az alábbiakban ismertetjük)
- A nyomkövetés leállítása egy másik trigger esemény után (az alábbiakban ismertetjük)
- Az utolsó keretet adja vissza a felhasználó által rajzolt mintával
- Végezzen előfeldolgozást a kereten, például küszöbérték, zajeltávolítás, átméretezés stb.
- Használja a feldolgozott utolsó keretet az előrejelzéshez.
- Végezzen valamilyen varázslatot a Raspberry Pi GPIO -jainak vezérlésével az előrejelzés szerint
Ehhez a projekthez létrehoztam egy Harry Potter témájú dobozt, amelyet kinyithatok és bezárhatok egy szervomotorral, amelyet a Raspberry Pi GPIO vezérel. Mivel az „A” betű az „Alohamora” (a Harry Potter -filmek egyik leghíresebb varázslata, amely lehetővé teszi a varázsló számára, hogy bármilyen zárat kinyisson !!), ha egy személy A betűt húz a pálcával, a pi megparancsolja a szervónak, hogy nyissa ki a dobozt. Ha a személy „C” betűt rajzol, amely a zárást jelöli (mivel nem jutottam eszembe a záráshoz vagy záráshoz használt megfelelő varázslathoz: P), a pi azt parancsolja a szervónak, hogy zárja be a dobozt.
A kép/videó feldolgozással kapcsolatos összes munka, például a blob észlelése, a blob útvonalának nyomon követése, az utolsó képkocka előfeldolgozása stb., Az OpenCV modulon keresztül történik.
A fent említett kiváltó eseményekhez két kör jön létre a valós idejű videón, egy zöld és egy piros kör. Amikor a folt belép a zöld körön belüli régióba, a program elkezdi nyomon követni a blob által megtett utat az adott pillanat után, lehetővé téve a személy számára, hogy elkezdje létrehozni a betűt. Amikor a folt eléri a piros kört, a videó leáll, és az utolsó képkockát átadja egy funkciónak, amely elvégzi a keret előfeldolgozását, hogy készen álljon a predikcióra.
Ebben a lépésben csatoltam a kódfájlokat. Nyugodtan menjen át rajta, és végezzen tetszés szerinti változtatásokat.
MEGJEGYZÉS: Két különálló python -fájlt kellett létrehoznom, amelyek különböző python verziókkal dolgoznak, az egyik az OpenCV modult (Python 2.7) importálja, a másik pedig a sklearn modult (Python 3.5) importálja az előrejelzéshez a betanított modell betöltése után, mivel az OpenCV -m telepítve volt a Python 2.7 verzió, míg a sklearn telepítve volt a python 3.5 számára. Tehát az alfolyamat modullal futtattam a HarryPotterWandsklearn.py fájlt (az előrejelzéshez) a HarryPotterWandcv.py -ből (minden opencv munkához és valós idejű videofelvételhez), és megkaptam a kimenetét. Így csak a HarryPotterWandcv.py fájlt kell futtatnom.
7. lépés: A doboznyitó mechanizmus



Volt egy régi piros színű dobozom, amely körül ezt a projektet használtam.
A doboznyitó mechanizmus esetében:
- Szervót erősen ragasztottam a doboz hátsó vége közelében egy kartondobozra a doboz pereme közelében.
- Aztán kivettem egy küllőt a kerék kerékéből, és forró ragasztottam a szervó karjához.
- A küllő másik vége egy drótdarab segítségével a doboz fedeléhez volt rögzítve.
- A szervo pozitív csatlakozott a Raspberry Pi +5V 2 -es tűjéhez.
- A szervo negatívja a GND 39 -es csaphoz volt csatlakoztatva.
- A szervo jele csatlakozott a 12 -es csaphoz
8. lépés: A doboz elkészítése Harry Potter témával



A doboz Harry Potter témájához fényes A4 -es lapra kinyomtattam néhány színes képet különböző dolgokról, például a Harry Potter logóról, a Roxforti címerről, a négy ház címereiről stb. helyeket.
Sárga színű bársonylapot is használtam csíkok vágására, és a fedélre ragasztottam, hogy a doboz ugyanolyan színű legyen, mint a Griffendél házé. Zöld bársonylappal letakartam a fedél belsejét és a szervo kartonját. A fedél belső oldalára további szimbólumokat és emblémát ragasztottam, amelyek a Roxfort Iskola minden házát ábrázoló állatokat mutatják be.
Aztán végül minden Harry Potter -hez kapcsolódó dolgot a dobozba töltöttem, amely tartalmazott egy griffendéles hangtompítót, egy naplót a Roxfort -egyenruhával és a projektben használt Elder Wand -t: D
Ajánlott:
A Hexbug Spider XL feltörése a számítógépes látás hozzáadásához Android okostelefon használatával: 9 lépés (képekkel)

A Hexbug Spider XL feltörése a számítógépes látás hozzáadásához Android okostelefon használatával: Nagy rajongója vagyok az eredeti Hexbug ™ Pók. Több mint egy tucat tulajdonom volt és feltörtem mindegyiket. Amikor az egyik fiam elmegy egy barátjához ’ születésnapi partin, a barát Hexbug ™ pók ajándékba. Feltörtem a vagy
Harry Potter forgó RGB kijelző: 10 lépés (képekkel)

Harry Potter forgó RGB kijelző: Miután úgy döntöttem, hogy valamit készítek a lányom születésnapjára, úgy gondoltam, hogy az egyik akril RGB kijelző elkészítése jó lesz. Rajong a Harry Potter filmekért, így a téma választása egyszerű volt. Nem volt szabad eldönteni, hogy milyen képeket használjon! Az én wi
Hogyan készítsünk valódi számítógépes játékokat. Szórakoztató és csak körülbelül egy óra: 10 lépés

Hogyan készítsünk valódi számítógépes játékokat. Szórakoztató és csak körülbelül egy óra: Hé, ez a projekt megmutatja, hogyan kell játékokat készíteni !!! valódi játékok számítógépekhez, és nem szükséges, hogy ismerje a zavaró kódokat. Amikor befejezi ezt a projektet, ismeri a játékteremtés néhány alapját, és annyit készíthet, amennyit csak akar
Sipeed MaiX Bit OpenMV bemutatók - Számítógépes látás: 3 lépés

Sipeed MaiX Bit OpenMV bemutatók - Számítógépes látás: Ez a második cikk a sorozatban a Sipeed AI -ról az Edge mikrokontroller platformon. Ezúttal a MaiX Bit -ről fogok írni (link a Seeed Studio Shop -hoz), egy kisebb, kenyeretáblára kész fejlesztőlapról. A specifikációi nagyon hasonlítanak a
Valódi működő iPod jelmez (ek) létrehozása: 12 lépés (képekkel)

Valódi működő iPod jelmez (ek) létrehozása: Egy menyasszonyi esküvő napján … az egész a ruháról szól, de Halloweenkor … a jelmezről. Tehát szerettem volna találni valamit, amiben a gyerekeim megegyezhetnek a lassú & megkezdődött apjuk stratégiai gyötrelme. Mindannyian ott voltatok