Sisukord:

Kõlariteadlik Camara süsteem (SPACS): 8 sammu
Kõlariteadlik Camara süsteem (SPACS): 8 sammu

Video: Kõlariteadlik Camara süsteem (SPACS): 8 sammu

Video: Kõlariteadlik Camara süsteem (SPACS): 8 sammu
Video: Голубая стрела (1958) фильм 2024, November
Anonim
Image
Image
Riistvara - 3D -printimine
Riistvara - 3D -printimine

Kujutage ette konverentskõnet, kus ühte kaamerat ümbritseb mitu kõlarit. Sageli puutume kokku sellega, et kaamera piiratud vaatenurk ei suuda sageli rääkida kõnelevat inimest. See riistvarapiirang halvendab oluliselt kasutajakogemust. Kui kaamera suudab aktiivseid kõlareid vaadata, oleks kaugpublik kõne ajal rohkem vestlusse kaasatud. Selles projektis pakume välja (prototüübi) kaamerasüsteemi, mis tuvastab aktiivse kõlari ja jälgib seda, keerates kaamera kõlari poole. Süsteem kasutab nii visuaalset kui ka helipõhist lähenemist. Kui kaamerast tuvastatakse nägusid, määrab see kõneleja ja arvutab pöördenurga. Kui nägusid praeguse nurga all ei tuvastata, otsib süsteem kõlarit saabuvate helisignaalide suuna alusel.

Samm: materjalid

Adafruit Feather nRF52840 Express X 1

www.adafruit.com/product/4062

Elektreedi mikrofonivõimendi - MAX4466 X 2

www.adafruit.com/product/1063

Mikroservomootor X 1

www.adafruit.com/product/169

Androidi nutitelefon X 1

2. samm: riistvara - 3D -printimine

Riistvara - 3D -printimine
Riistvara - 3D -printimine
Riistvara - 3D -printimine
Riistvara - 3D -printimine

Kiireks rakendamiseks otsustasime vajalikud korpused 3D-printida. Korpuste jaoks on kaks põhikomponenti; pöördalus ja nutitelefoni alus. Kasutasime sellel lingil olevat pöördlauda (https://www.thingiverse.com/thing:141287), kus see pakub Arduino korpust allosas ja pöörlevat lauda, mida saab ühendada servomootoriga. Kasutasime sellelt lingilt nutitelefoni alust (https://www.thingiverse.com/thing:2673050), mis on kokkupandav ja reguleeritav nurgaga, nii et see võimaldab nurka mugavalt kalibreerida. Alloleval joonisel on kujutatud kokku trükitud 3D -osad.

3. samm: riistvara - elektroonilised komponendid

Riistvara - elektroonilised komponendid
Riistvara - elektroonilised komponendid
Riistvara - elektroonilised komponendid
Riistvara - elektroonilised komponendid

Juhtmega komponente on neli; Adafruit Feather, kaks mikrofoni ja mootor. Kompaktse pakendi jaoks jootsime (hallid ringid) juhtmed ilma leivaplaati kasutamata. Allpool kirjeldatakse vooluahelat ja tegelikku artefakti.

4. samm: tarkvara

Meie süsteem kasutab kõlari jälgimiseks peamiselt näotuvastuse visuaalset teavet, kuna see on täpsem. Selleks, et sulg saaks Androidi rakendusest visuaalset teavet, kasutame peamise suhtlusmeetodina Bluetooth Low Energy.

Kui nägu tuvastatakse, arvutab rakendus nurga, mida mootor peab pöörama, et kõlar teravustada kaadri keskel. Lahustasime võimalikud stsenaariumid ja käitusime järgmiselt.

  1. Kui nägu (d) tuvastatakse ja ta räägib, arvutab see kõlarite keskpunkti ja tagastab sule suhtelise nurga.
  2. Kui nägu (d) tuvastatakse ja keegi neist ei räägi, arvutab see ka nägude keskpunkti ja tagastab vastavalt nurga.
  3. Kui ühtegi nägu ei tuvastata, muudab süsteem kõlarite jälgimise loogika visuaalsest heliks.

Tarkvara SPACS asub aadressil

Samm: tarkvara - heli

Tarkvara - heli
Tarkvara - heli

Heli (YH)

Sissetuleva heli allika leidmiseks proovisime kõigepealt kasutada kahe mikrofoni vahelist ajavahet. Kuid see ei olnud nii täpne, kui me ootasime, kuna Arduino Leopardi proovivõtu sagedus (~ 900 Hz), kus helisignaale testisime, olid aeglased, nii et see ei suutnud 10 cm kaugusel asuvate mikrofonide vahelist ajavahet üles võtta.

Muutsime plaani kasutada kahe sisendsignaali intensiivsuse erinevust. Selle tulemusena võtab sulg kaks helisignaali ja töötleb neid, et tuvastada, kust heli tuli. Töötlemist saab kirjeldada järgmiste sammudega:

  1. Võtke kahest mikrofonist sisendid ja lahutage nihe signaalide amplituudide saamiseks.
  2. Kogunege amplituudide absoluutväärtused MIC kohta 500 vastuvõtja kohta.
  3. Salvestage kogunenud väärtuste erinevus 5 pesaga järjekorda.
  4. Tagastage järjekordade summa lõpliku erinevusväärtusena.
  5. Võrrelge lõppväärtust künnistega, et otsustada, kust heli pärineb.

Leidsime läve, joonistades lõpliku väärtuse erinevates olukordades, sealhulgas vasakult ja paremalt tulev heli. Lisaks lõppväärtuse künnistele määrasime müra filtreerimiseks teises etapis ka teise künnise kogunenud amplituudide keskmisele.

6. samm. Tarkvara - näo ja kõne tuvastamine

Näotuvastuseks kasutasime Google'i välja antud ML Kit for Firebase'i (https://firebase.google.com/docs/ml-kit). ML Kit pakub näotuvastuse API -d, mis tagastab iga näo ja selle vaatamisväärsuste, sealhulgas silmade, nina, kõrvade, põskede ja suu erinevate punktide piirdekaardi. Kui näod on tuvastatud, jälgib rakendus suu liikumist, et teha kindlaks, kas inimene räägib. Kasutame lihtsat lävepõhist lähenemisviisi, mis tagab usaldusväärse jõudluse. Me kasutasime tõsiasja, et suu liikumine suureneb nii horisontaalselt kui ka vertikaalselt, kui inimene räägib. Arvutame suu vertikaalse ja horisontaalse kauguse ning arvutame iga kauguse standardhälbe. Kaugus normaliseeritakse näo suuruse järgi. Suurem standardhälve näitab rääkimist. Selle lähenemisviisi piirang on see, et iga tegevus hõlmab suu liigutamist, sealhulgas söömist, joomist või haigutamist. Kuid sellel on madal vale -negatiivne määr.

Samm 7: Tarkvara - pöörlev mootor

Tarkvara - pöörlev mootor
Tarkvara - pöörlev mootor

Mootori pöörlemine ei olnud pöörlemiskiiruse juhtimise tõttu nii lihtne, kui ootasime. Kiiruse kontrollimiseks kuulutame välja globaalse loenduri muutuja, mis võimaldab mootoril pöörata ainult siis, kui muutuja jõuab teatud väärtuseni. Samuti kuulutasime välja veel ühe globaalse muutuja, mis näitab, kas mootor liigub, et anda mikrofonidele teada, et vältida mootori pöörlemisest tulevat heli.

8. samm: tulevased täiustused

Üks piiranguid on see, et mootor muutub teatud nurkade all võnkuma. Tundub, et mootor ei ole piisavalt võimas, et ületada nutitelefoni pööramisel tekkivat pöördemomenti. Selle saab lahendada, kasutades võimsamat mootorit või reguleerides pöördemomendi vähendamiseks nutitelefoni asendit pöörlemiskeskuse poole.

Helipõhist helisuuna tuvastamist saaks täiustada keerukama meetodiga. Sissetuleva heli suuna kindlakstegemiseks tahaksime proovida akustilist kiirguse kujundamise meetodit. Oleme proovinud helisignaalide saabumisaega. Kuid sulgede proovivõtukiirus on piiratud ajavahe tuvastamiseks, kui mikrofonid on vaid umbes 10 cm kaugusel.

Selle prototüübi viimane puuduv osa on kasutatavuse hindamine. Üks paljutõotav viis hindamiseks on süsteemi integreerimine olemasoleva videokõne platvormiga ja kasutajate vastuste jälgimine. Need vastused aitavad süsteemi täiustada ja selle prototüübi järgmise iteratsiooni teha.

Soovitan: