Turinys:
- 1 žingsnis: medžiagos
- 2 žingsnis: Aparatūra - 3D spausdinimas
- 3 žingsnis: Aparatūra - elektroniniai komponentai
- 4 žingsnis: programinė įranga
- 5 žingsnis: programinė įranga - garsas
- 6 veiksmas: programinė įranga - veido ir kalbėjimo aptikimas
- 7 žingsnis: programinė įranga - besisukantis variklis
- 8 žingsnis: būsimi patobulinimai
Video: „Speaker-Aware Camara System“(SPACS): 8 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Įsivaizduokite konferencinį pokalbį, kai keli garsiakalbiai supa vieną kamerą. Dažnai susiduriame ten, kur ribotas kameros matymo kampas dažnai nesugeba pažvelgti į kalbantį asmenį. Šis aparatūros apribojimas žymiai pablogina vartotojo patirtį. Jei fotoaparatas gali žiūrėti į aktyvius garsiakalbius, pokalbio metu nuotolinė auditorija bus labiau įtraukta į pokalbį. Šiame projekte siūlome (prototipo) fotoaparato sistemą, kuri aptinka ir seka aktyvųjį garsiakalbį, pasukdama kamerą link garsiakalbio. Sistema naudoja ir vaizdinį, ir garso metodą. Kai fotoaparate aptinkami veidai, jis nustato kalbantį asmenį ir apskaičiuoja sukimosi kampą. Kai veidai neaptinkami dabartiniu kampu, sistema ieško garsiakalbio pagal atvykimo garso signalų kryptį.
1 žingsnis: medžiagos
„Adafruit Feather nRF52840 Express X“1
www.adafruit.com/product/4062
Elektreto mikrofono stiprintuvas - MAX4466 X 2
www.adafruit.com/product/1063
Mikro servo variklis X 1
www.adafruit.com/product/169
„Android“išmanusis telefonas X 1
2 žingsnis: Aparatūra - 3D spausdinimas
Norėdami greitai įgyvendinti, nusprendėme 3D spausdinti mums reikalingus korpusus. Yra du pagrindiniai gaubtų komponentai; patefonas ir išmaniųjų telefonų stovas. Mes naudojome patefoną iš šios nuorodos (https://www.thingiverse.com/thing:141287), kur apačioje yra „Arduino“dėklas ir besisukantis stalas, kurį galima prijungti prie servo variklio. Mes naudojome išmaniojo telefono stovą iš šios nuorodos (https://www.thingiverse.com/thing:2673050), kuris yra sulankstomas ir reguliuojamas kampu, kad būtų galima patogiai kalibruoti kampą. Žemiau esančiame paveikslėlyje parodytos 3D spausdintos dalys, surinktos kartu.
3 žingsnis: Aparatūra - elektroniniai komponentai
Yra keturi laidiniai komponentai; „Adafruit Feather“, du mikrofonai ir variklis. Dėl kompaktiškos pakuotės laidus litavome (pilki apskritimai) nenaudodami duonos lentos. Žemiau aprašoma schema ir tikrasis artefaktas.
4 žingsnis: programinė įranga
Mūsų sistema pirmiausia naudoja vizualinę veido atpažinimo informaciją, kad galėtų sekti garsiakalbį, nes ji yra tikslesnė. Kad plunksna gautų vaizdinę informaciją iš „Android“programos, kaip pagrindinį bendravimo metodą naudojame „Bluetooth Low Energy“.
Aptikus bet kokį veidą, programa apskaičiuoja kampą, kurį variklis turi pasukti, kad sufokusuotų garsiakalbį kadro centre. Mes suskaidėme galimus scenarijus ir elgėmės taip:
- Jei aptinkamas veidas ir jis kalba, jis apskaičiuoja garsiakalbių vidurį ir grąžina plunksnai santykinį kampą.
- Jei aptinkamas veidas (-ai), bet nė vienas iš jų nekalba, jis taip pat apskaičiuoja veidų vidurį ir atitinkamai grąžina kampą.
- Jei veidas neaptinkamas, sistema keičia garsiakalbių sekimo logiką iš vaizdinės į garsinę.
SPACS programinė įranga yra adresu
5 žingsnis: programinė įranga - garsas
Garsas (YH)
Norėdami rasti gaunamo garso šaltinį, pirmiausia pabandėme panaudoti laiko skirtumą tarp dviejų mikrofonų. Tačiau jis nebuvo toks tikslus, kaip tikėjomės, nes „Arduino Leopard“, kuriame išbandėme garso signalus, mėginių ėmimo dažnis (~ 900 Hz) buvo lėtas, todėl jis negalėjo nustatyti laiko skirtumo tarp 10 cm atstumu esančių mikrofonų.
Mes pakeitėme planą naudoti intensyvumo skirtumą tarp dviejų įvesties garso signalų. Dėl to plunksna paima du garso signalus ir apdoroja juos, kad nustatytų, iš kur sklinda garsas. Apdorojimą galima apibūdinti šiais veiksmais:
- Paimkite įvestis iš dviejų mikrofonų ir atimkite poslinkį, kad gautumėte signalų amplitudę.
- Sukaupkite absoliutines amplitudės vertes vienam MIC 500 imtuvų.
- Išsaugokite sukauptų verčių skirtumą eilėje, kurioje yra 5 lizdai.
- Grąžinkite eilių sumą kaip galutinę skirtumo vertę.
- Palyginkite galutinę vertę su slenksčiais, kad nuspręstumėte, iš kur sklinda garsas.
Mes nustatėme slenkstį, nubrėždami galutinę vertę įvairiomis aplinkybėmis, įskaitant garsą, sklindantį iš kairės ir dešinės. Be galutinės vertės slenksčių, 2 veiksme taip pat nustatėme kitą sukauptų amplitudžių vidurkį, kad filtruotume triukšmą.
6 veiksmas: programinė įranga - veido ir kalbėjimo aptikimas
Veido atpažinimui naudojome „Google“išleistą „ML Kit for Firebase“(https://firebase.google.com/docs/ml-kit). „ML Kit“teikia veido aptikimo API, kuri grąžina kiekvieno veido ribas ir jo orientyrus, įskaitant akis, nosį, ausis, skruostus ir įvairius burnos taškus. Aptikus veidus, programa stebi burnos judesius, kad nustatytų, ar žmogus kalba. Mes naudojame paprastą slenksčiu pagrįstą metodą, kuris užtikrina patikimą veikimą. Mes pasinaudojome tuo, kad kalbant žmogus burnos judesiai tampa didesni tiek horizontaliai, tiek vertikaliai. Mes apskaičiuojame vertikalų ir horizontalų burnos atstumą ir apskaičiuojame kiekvieno atstumo standartinį nuokrypį. Atstumas normalizuojamas pagal veido dydį. Didesnis standartinis nuokrypis rodo kalbėjimą. Šio požiūrio apribojimas yra tas, kad kiekviena veikla apima burnos judesius, įskaitant valgymą, gėrimą ar žiovavimą, gali būti pripažinta kalbančia. Tačiau jis turi mažą klaidingai neigiamų rodiklių skaičių.
7 žingsnis: programinė įranga - besisukantis variklis
Variklio sukimasis nebuvo toks paprastas, kaip tikėjomės dėl sukimosi greičio valdymo. Norėdami valdyti greitį, paskelbiame visuotinį skaitiklio kintamąjį, kuris leidžia varikliui suktis tik tada, kai kintamasis pasiekia tam tikrą vertę. Mes taip pat paskelbėme kitą visuotinį kintamąjį, nurodantį, ar variklis juda, kad mikrofonai žinotų, kad būtų išvengta variklio sukimosi skleidžiamo garso.
8 žingsnis: būsimi patobulinimai
Vienas iš apribojimų yra tas, kad variklis tam tikrais kampais ima svyruoti. Atrodo, kad variklis nėra pakankamai galingas, kad įveiktų sukimo momentą, sukuriamą sukant išmanųjį telefoną. Tai galima išspręsti naudojant galingesnį variklį arba pakoregavus išmaniojo telefono padėtį sukimosi centro link, kad sumažėtų sukimo momentas.
Garso garso krypties aptikimą galima patobulinti naudojant sudėtingesnį metodą. Mes norėtume išbandyti akustinį spindulių formavimo metodą, kad nustatytume gaunamo garso kryptį. Mes bandėme su garso signalų atvykimo laiku. Tačiau plunksnos mėginių ėmimo dažnis yra ribotas, kad būtų galima nustatyti laiko skirtumą, kai mikrofonai yra tik maždaug 10 cm atstumu.
Paskutinė trūkstama šio prototipo dalis yra tinkamumo naudoti įvertinimas. Vienas iš perspektyvių vertinimo būdų yra sistemos integravimas į esamą vaizdo skambučių platformą ir naudotojų atsakymų stebėjimas. Šie atsakymai padės patobulinti sistemą ir kitą šio prototipo kartojimą.
Rekomenduojamas:
„Mood Speaker“- galingas garsiakalbis, leidžiantis groti nuotaikai, atsižvelgiant į aplinkos temperatūrą: 9 žingsniai
„Mood Speaker“- galingas garsiakalbis, leidžiantis paleisti nuotaiką, atsižvelgiant į aplinkos temperatūrą: Sveiki! Savo mokyklos projekte „MCT Howest Kortrijk“sukūriau „Mood Speaker“, tai yra išmanusis „Bluetooth“garsiakalbių įrenginys su įvairiais jutikliais, LCD ir WS2812b LED juostelė įtraukta. Garsiakalbis leidžia foninę muziką pagal temperatūrą, tačiau gali
Proyecto Museo De Herling ir Paula De La Cámara: 4 žingsniai
Proyecto Museo De Herling ir Paula De La Cámara: En este proyecto vamos a relizar un museo, en el cual vamos ha programar varias alarmas para que salte cuando ketinimas robar la joya, tambien vamos a utilizar sensores de luz para que dectecten los distintos movimiento del que intento robar la joya
„Prototipo Deslizador Para Cámara“profesionalus DSLR: 6 žingsniai
Prototipo Deslizador Para Cámara Profesionalus DSLR: „Pro procte conso en hacer un deslizador de cámara motorizado con cabezal de giro“ir „inclinación“. „Proyecto es basado“ir „arduino“, „PLA“ir „Aluminio“konstrukcijos, 3 motociklai ir pasos, pradiniai botonai ir vairasvirtė bei PCB sutrikimai ir meditacijos. Dar kartą
Reutilizar Vieja Cámara Digital: 7 žingsniai
Reutilizar Vieja Cámara Digital: El prop ó sito de este instructable es: modificar una vieja c á mara que no utilizas.A ñ adir un bot ó no pulsador extra, con el que m á adelante podr á s instrucer time que har é. Tambi & ea
„Camara De Video“ir „Carro De Radio“valdymas / vaizdo kamera R / C sunkvežimyje: 5 žingsniai
„Camara De Video“ir „Carro De“radijo valdymas / vaizdo kamera R / C sunkvežimyje: Este Instruccionable presentado en Espanol e Ingles. Šios instrukcijos pateikiamos ispanų ir anglų kalbomis