Tartalomjegyzék:
- 1. lépés: Anyagok
- 2. lépés: Hardver - 3D nyomtatás
- 3. lépés: Hardver - elektronikus alkatrészek
- 4. lépés: Szoftver
- 5. lépés: Szoftver - hang
- 6. lépés: Szoftver - Arc- és beszédfelismerés
- 7. lépés: Szoftver - Forgó motor
- 8. lépés: Jövőbeli fejlesztések
Videó: Hangszóró-tudatos Camara rendszer (SPACS): 8 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Képzeljen el egy konferenciahívást, ahol több hangszóró veszi körül egy kamerát. Gyakran találkozunk azzal, hogy a kamera korlátozott látószöge gyakran nem képes a beszélő személyre nézni. Ez a hardverkorlátozás jelentősen rontja a felhasználói élményt. Ha a kamera képes az aktív hangszórókra nézni, akkor a távoli közönség jobban bekapcsolódik a beszélgetésbe a hívás során. Ebben a projektben egy (prototípus) kamerarendszert javasolunk, amely érzékeli és követi az aktív hangszórót úgy, hogy a kamerát a hangszóró felé fordítja. A rendszer mind vizuális, mind hang alapú megközelítést alkalmaz. Amikor arcokat észlel a fényképezőgépről, ez meghatározza a beszélő személyt, és kiszámítja a forgatási szöget. Ha az arcokat nem érzékeli az aktuális szögben, a rendszer a hangszórót az érkező hangjelek iránya alapján keresi.
1. lépés: Anyagok
Adafruit Feather nRF52840 Express X 1
www.adafruit.com/product/4062
Elektret mikrofonerősítő - MAX4466 X 2
www.adafruit.com/product/1063
Mikroszervó motor X 1
www.adafruit.com/product/169
Android okostelefon X 1
2. lépés: Hardver - 3D nyomtatás
A gyors megvalósítás érdekében úgy döntöttünk, hogy 3D-n nyomtatjuk ki a szükséges burkolatokat. A házaknak két fő eleme van; forgótányér és okostelefon -állvány. A lemezjátszót ebből a linkből (https://www.thingiverse.com/thing:141287) használtuk, ahol alul Arduino tokot és egy szervo motorral összekapcsolható forgó asztalt biztosít. Ebből a linkből (https://www.thingiverse.com/thing:2673050) okostelefon állványt használtunk, amely összecsukható és szögben állítható, így lehetővé teszi a szög kényelmes kalibrálását. Az alábbi ábra a 3D nyomtatott alkatrészeket mutatja össze.
3. lépés: Hardver - elektronikus alkatrészek
Négy vezetékes alkatrész van; Adafruit toll, két mikrofon és egy motor. A kompakt csomagoláshoz forrasztottuk (szürke karikák) a vezetékeket kenyértábla használata nélkül. Az alábbiakban a kapcsolási rajzot és a tényleges műterméket ismertetjük.
4. lépés: Szoftver
Rendszerünk elsősorban az arcfelismerés vizuális információit használja a hangszóró követésére, mivel azok pontosabbak. Annak érdekében, hogy a toll vizuális információkat kapjon az Android alkalmazásból, a Bluetooth Low Energy mint fő kommunikációs módszert használjuk.
Ha bármilyen arcot észlel, az alkalmazás kiszámítja azt a szöget, amelyet a motornak el kell forgatnia ahhoz, hogy a hangsugárzót a keret közepére fókuszálja. Lebontottuk a lehetséges forgatókönyveket, és az alábbiak szerint kezeltük:
- Ha arcot észlel és beszél, akkor kiszámítja a hangszórók középpontját, és visszaadja a relatív szöget a tollhoz.
- Ha arcot észlel, de egyikük sem beszél, akkor kiszámítja az arcok középpontját, és ennek megfelelően adja vissza a szöget.
- Ha nem észlel arcot, a rendszer megváltoztatja a hangszórókövetési logikát a vizuálisról az audiora.
A SPACS szoftver a https://github.com/yhoonkim/cse599h-fp címen található.
5. lépés: Szoftver - hang
Hang (YH)
A bejövő hang forrásának megkereséséhez először a két mikrofon közötti időkülönbséget próbáltuk kihasználni. De nem volt olyan pontos, mint vártuk, mivel az Arduino Leopard mintavételezési gyakorisága (~ 900 Hz), ahol a hangjeleket teszteltük, olyan lassú volt, hogy nem tudta felvenni az időkülönbséget a 10 cm-re lévő mikrofonok között.
Módosítottuk a tervet, hogy a két bemeneti hangjel közötti intenzitáskülönbséget használjuk. Ennek eredményeként a toll két hangjelet vesz fel, és feldolgozza, hogy felismerje, honnan jött a hang. A feldolgozás a következő lépésekkel írható le:
- Vegye ki a bemeneteket két mikrofonból, és vonja le az eltolást, hogy megkapja a jelek amplitúdóját.
- Gyűjtse össze az amplitúdók MIC -re eső abszolút értékeit 500 hangszedő esetén.
- Mentse a felhalmozott értékek különbségét az 5 réses sorba.
- Adja vissza a sorok összegét végső különbségként.
- Hasonlítsa össze a végső értéket a küszöbértékekkel annak eldöntéséhez, hogy a hang honnan származik.
A küszöböt úgy találtuk meg, hogy a végső értéket különböző körülmények között ábrázoltuk, beleértve a balról és jobbról érkező hangot. A végső érték küszöbértékei mellett egy másik küszöböt is beállítottunk a halmozott amplitúdók átlagához a 2. lépésben, hogy kiszűrjük a zajokat.
6. lépés: Szoftver - Arc- és beszédfelismerés
Az arcfelismeréshez a Google által kiadott ML Kit for Firebase alkalmazást használtuk (https://firebase.google.com/docs/ml-kit). Az ML Kit biztosítja az arcfelismerő API -t, amely visszaadja az egyes arcok határoló dobozát és annak nevezetességeit, beleértve a szemeket, az orrot, a füleket, az arcokat és a száj különböző pontjait. Az arcok észlelése után az alkalmazás követi a szájmozgást, hogy megállapítsa, beszél -e a személy. Egyszerű küszöb-alapú megközelítést alkalmazunk, amely megbízható teljesítményt nyújt. Kihasználtuk azt a tényt, hogy a szájmozgás vízszintesen és függőlegesen is nagyobb lesz, ha valaki beszél. Kiszámítjuk a száj függőleges és vízszintes távolságát, és kiszámítjuk a szórást minden távolságra. A távolság normalizálva van az arc méretével. A nagyobb szórás jelzi a beszédet. Ennek a megközelítésnek az a korlátja, hogy minden tevékenység magában foglalja a szájmozgást, beleértve az evést, ivást vagy ásítást is, és felismerhető a beszéd. Ennek azonban alacsony a hamis negatív aránya.
7. lépés: Szoftver - Forgó motor
A motor forgása nem volt olyan egyszerű, mint vártuk a forgási sebesség szabályozása miatt. A sebesség szabályozásához olyan globális számlálóváltozót deklarálunk, amely lehetővé teszi, hogy a motor csak akkor forogjon, ha a változó eléri egy bizonyos értéket. Egy másik globális változót is bejelentettünk, amely jelzi, hogy a motor mozog -e, hogy a mikrofonok tudassák, hogy elkerülje a motor forgásából származó hangot.
8. lépés: Jövőbeli fejlesztések
Az egyik korlátozás az, hogy a motor bizonyos szögben inogni kezd. Úgy tűnik, hogy a motor nem elég erős ahhoz, hogy legyőzze az okostelefon forgatásával keletkező nyomatékot. Megoldható egy erősebb motor használatával, vagy az okostelefon helyzetének a forgás közepe felé történő beállításával a nyomaték csökkentése érdekében.
Az audio-alapú hangirány-érzékelés kifinomultabb módszerrel javítható. Szeretnénk kipróbálni egy akusztikus sugárformázó megközelítést a bejövő hang irányának meghatározásához. Megpróbáltuk az audio jelek érkezési idejével. A toll mintavételezési gyakorisága azonban korlátozott az időkülönbség észlelésére, amikor a mikrofonok csak körülbelül 10 cm távolságra vannak.
Ennek a prototípusnak az utolsó hiányzó darabja a használhatóság értékelése. Az értékelés egyik ígéretes módja a rendszer integrálása a meglévő videohívási platformra, és a felhasználók válaszainak megfigyelése. Ezek a válaszok segítenek a rendszer fejlesztésében és a prototípus következő iterációjában.
Ajánlott:
Erősítő és hangszóró DIY: 4 lépés
Erősítő és hangszóró barkácsolás: Ez az erősítő DIY projekt utolsó szakasza, amikor hangszórókat ad hozzá az alábbi utasítások korábbi kimeneteihez. ***-PC hangszóró-erősítő https://www.instructables.com/PC-Speaker-Amplifier/ 2020. december 27- Arduino Au
Hordozható Bluetooth hangszóró - MKBoom DIY készlet: 5 lépés (képekkel)
Hordozható Bluetooth hangszóró | MKBoom DIY Kit: Sziasztok mindenkinek! Annyira jó, hogy hosszú szünet után visszatérhetek egy újabb hangszóróprojekthez. Mivel a legtöbb építéshez elég sok eszközre van szükség, ezúttal úgy döntöttem, hogy egy hordozható hangszórót építek egy könnyen megvásárolható készlet segítségével. Gondoltam
Hangulatos hangszóró- Erőteljes hangszóró a hangulati zene lejátszásához a környezeti hőmérséklet alapján: 9 lépés
Hangulatos hangszóró- Erőteljes hangszóró a hangulati zene lejátszásához a környezeti hőmérséklet alapján: Üdv! Az MCT Howest Kortrijk-i iskolai projektemhez készítettem egy hangulati hangszórót, ez egy intelligens Bluetooth hangszóró, különböző érzékelőkkel, LCD-vel és WS2812b-vel LED szalag mellékelve. A hangszóró háttérzenét játszik a hőmérséklet alapján, de
Színrendező rendszer: Arduino alapú rendszer két övvel: 8 lépés
Színrendező rendszer: Arduino alapú rendszer két övvel: Az ipari területen lévő termékek és tárgyak szállítása és/vagy csomagolása szállítószalagok segítségével készült vonalakkal történik. Ezek az övek bizonyos sebességgel segítik az elemek egyik pontból a másikba történő áthelyezését. Egyes feldolgozási vagy azonosítási feladatok
DIY audio hangszóró 2.1 rendszer: 10 lépés
DIY audio hangszóró 2.1 rendszer: 4 hónap elteltével az ötlet, a dobozok készen állnak a tanulásra az első leckéztethető tanításom során. Valójában a projekttel kezdődött, mert a meglévő (nagyon olcsó) 5.1 berendezéseket sajnos ritkán használták. Túl bonyolult 2 távirányítóval stb. Az erősítő