Sadržaj:

Zvučni kamera sistem (SPACS): 8 koraka
Zvučni kamera sistem (SPACS): 8 koraka

Video: Zvučni kamera sistem (SPACS): 8 koraka

Video: Zvučni kamera sistem (SPACS): 8 koraka
Video: 💦Blackview BV9200 ЧЕСТНЫЙ ОБЗОР ПРОТИВОУДАРНОГО 2024, Novembar
Anonim
Image
Image
Hardver - 3D štampanje
Hardver - 3D štampanje

Zamislite konferencijski poziv u kojem više zvučnika okružuje jednu kameru. Često se susrećemo gdje ograničeni ugao gledanja kamere ne uspijeva pogledati u osobu koja govori. Ovo hardversko ograničenje značajno narušava korisničko iskustvo. Ako kamera može gledati u aktivne zvučnike, udaljena publika bila bi više uključena u razgovor tokom poziva. U ovom projektu predlažemo (prototip) sistem kamera koji otkriva i prati aktivni zvučnik okretanjem kamere prema zvučniku. Sistem koristi i vizuelni i audio-pristup. Kada se kamerom detektiraju lica, ona određuje osobu koja govori i izračunava kut zakretanja. Kada se lica ne otkriju pod trenutnim kutom, sistem traži zvučnik na osnovu smjera dolaznih audio signala.

Korak 1: Materijali

Adafruit pero nRF52840 Express X 1

www.adafruit.com/product/4062

Električno mikrofonsko pojačalo - MAX4466 X 2

www.adafruit.com/product/1063

Mikro servo motor X 1

www.adafruit.com/product/169

Android pametni telefon X 1

Korak 2: Hardver - 3D štampanje

Hardver - 3D štampanje
Hardver - 3D štampanje
Hardver - 3D štampanje
Hardver - 3D štampanje

Za brzu implementaciju, odlučili smo 3D ispisati potrebna kućišta. Postoje dvije glavne komponente za kućišta; gramofon i stalak za pametni telefon. Koristili smo gramofon s ove veze (https://www.thingiverse.com/thing:141287), gdje pruža Arduino kućište na dnu i rotirajući stol koji se može povezati servo motorom. Koristili smo stalak za pametni telefon sa ove veze (https://www.thingiverse.com/thing:2673050), koji je sklopiv i podesiv pod uglom tako da nam omogućava prikladnu kalibraciju ugla. Donja slika prikazuje 3D štampane dijelove sastavljene zajedno.

Korak 3: Hardver - elektroničke komponente

Hardver - elektroničke komponente
Hardver - elektroničke komponente
Hardver - elektroničke komponente
Hardver - elektroničke komponente

Postoje četiri žičane komponente; Adafruit pero, dva mikrofona i motor. Za kompaktno pakiranje lemili smo (sive krugove) žice bez upotrebe matične ploče. U nastavku je opisan dijagram kola i stvarni artefakt.

Korak 4: Softver

Naš sistem prvenstveno koristi vizuelne informacije iz prepoznavanja lica kako bi pratio govornika jer je tačniji. Kako bi Feather dobio vizualne informacije iz Android aplikacije, koristimo Bluetooth Low Energy kao glavni način komunikacije.

Kada se detektira bilo koje lice, aplikacija izračunava kut koji motor mora okrenuti kako bi fokusirao zvučnik u središte kadra. Raščlanili smo moguće scenarije i postupili na sljedeći način:

  1. Ako se detektira lice (lica) i govore, on izračunava sredinu zvučnika i vraća relativni kut pero.
  2. Ako se detektira lice (lica), a nijedno od njih ne govori, također izračunava sredinu lica i vraća kut u skladu s tim.
  3. Ako nijedno lice nije otkriveno, sistem mijenja logiku praćenja zvučnika iz vizuelnog u audio.

SPACS softver se nalazi na

Korak 5: Softver - Zvuk

Softver - Zvuk
Softver - Zvuk

Zvuk (YH)

Da bismo locirali izvor dolaznog zvuka, prvo smo pokušali koristiti vremensku razliku između dva mikrofona. Ali to nije bilo onoliko koliko smo očekivali jer je brzina uzorkovanja (~ 900Hz) Arduino Leoparda, gdje smo testirali zvučne signale, bila spora tako da ne može pokupiti vremensku razliku između mikrofona udaljenih 10 cm.

Promijenili smo plan korištenja razlike u intenzitetu između dva ulazna zvučna signala. Kao rezultat toga, pero uzima dva zvučna signala i obrađuje ih da otkrije odakle zvuk dolazi. Obrada se može opisati sljedećim koracima:

  1. Uzmite ulaze iz dva mikrofona i oduzmite pomak da biste dobili amplitude signala.
  2. Akumulirajte apsolutne vrijednosti amplituda po MIC -u za 500 hvatanja.
  3. Razliku akumuliranih vrijednosti spremite u red s 5 utora.
  4. Vratite zbir redova kao konačnu vrijednost razlike.
  5. Uporedite konačnu vrijednost s pragovima kako biste odlučili odakle je zvuk došao.

Prag smo pronašli iscrtavanjem konačne vrijednosti u različitim okolnostima, uključujući zvuk koji dolazi s lijeve i desne strane. Povrh pragova za konačnu vrijednost, također smo postavili još jedan prag za srednju vrijednost akumuliranih amplituda u koraku 2 kako bismo filtrirali šumove.

Korak 6: Softver - Otkrivanje lica i govora

Za prepoznavanje lica upotrijebili smo ML Kit za Firebase koji je izdao Google (https://firebase.google.com/docs/ml-kit). ML Kit pruža API za otkrivanje lica koji vraća ograničenje svakog lica i njegove orijentire, uključujući oči, nos, uši, obraze i različite tačke na ustima. Nakon što se prepoznaju lica, aplikacija prati kretanje usta kako bi utvrdila govori li osoba. Koristimo jednostavan pristup zasnovan na pragu koji daje pouzdane performanse. Iskoristili smo činjenicu da se pokret usta povećava i vodoravno i okomito kada osoba govori. Izračunavamo okomitu i vodoravnu udaljenost usta i izračunavamo standardnu devijaciju za svaku udaljenost. Udaljenost se normalizira prema veličini lica. Veća standardna devijacija ukazuje na govor. Ovaj pristup ima ograničenje da se svaka aktivnost koja uključuje pokrete usta, uključujući jelo, piće ili zijevanje, može prepoznati kao govor. No, ona ima nisku stopu lažno negativnih rezultata.

Korak 7: Softver - rotirajući motor

Softver - Rotirajući motor
Softver - Rotirajući motor

Rotacija motora nije bila tako jednostavna kao što smo očekivali zbog kontrole brzine rotacije. Za kontrolu brzine deklariramo globalnu promenljivu brojača koja dozvoljava motoru da se okreće samo kada varijabla dostigne određenu vrijednost. Također smo proglasili drugu globalnu varijablu koja označava da li se motor kreće kako bi mikrofoni znali kako bi mogao izbjeći zvuk koji dolazi iz rotacije motora.

Korak 8: Buduća poboljšanja

Jedno od ograničenja je da se motor klima pod određenim kutovima. Čini se da motor nije dovoljno snažan da prevlada okretni moment generiran rotiranjem pametnog telefona. To se može riješiti korištenjem snažnijeg motora ili podešavanjem položaja pametnog telefona prema središtu rotacije kako bi se smanjio okretni moment.

Detekcija smjera zvuka zasnovana na zvuku mogla bi se poboljšati sofisticiranijom metodom. Željeli bismo isprobati pristup oblikovanju zvučnog snopa kako bismo odredili smjer dolaznog zvuka. Pokušali smo s vremenom dolaska audio signala. No, brzina uzorkovanja Pera ograničena je na otkrivanje vremenske razlike kada su mikrofoni udaljeni samo oko 10 cm.

Posljednji dio ovog prototipa koji nedostaje je ocjena upotrebljivosti. Jedan od obećavajućih načina evaluacije je integracija sistema sa postojećom platformom za video pozive i posmatranje odgovora korisnika. Ti će odgovori pomoći u poboljšanju sistema i napraviti sljedeću iteraciju ovog prototipa.

Preporučuje se: