Sadržaj:

Zvučni kamara sustav (SPACS): 8 koraka
Zvučni kamara sustav (SPACS): 8 koraka

Video: Zvučni kamara sustav (SPACS): 8 koraka

Video: Zvučni kamara sustav (SPACS): 8 koraka
Video: Как зеки спят с девушками на зоне 2024, Studeni
Anonim
Image
Image
Hardver - 3D ispis
Hardver - 3D ispis

Zamislite konferencijski poziv gdje više zvučnika okružuje jednu kameru. Često se susrećemo s time da ograničeni kut gledanja fotoaparata često ne uspijeva pogledati 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 tijekom poziva. U ovom projektu predlažemo (prototip) sustav kamere koji detektira i prati aktivni zvučnik okretanjem kamere prema zvučniku. Sustav koristi i vizualni i audio-pristup. Kad se kamerom detektiraju lica, ona određuje osobu koja govori i izračunava kut zakretanja. Kad se lica ne detektiraju pod trenutnim kutom, sustav traži zvučnik na temelju 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 ispis

Hardver - 3D ispis
Hardver - 3D ispis
Hardver - 3D ispis
Hardver - 3D ispis

Za brzu implementaciju odlučili smo 3D ispisati potrebne 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 s ove veze (https://www.thingiverse.com/thing:2673050), koji je sklopiv i podesiv pod kutom tako da nam omogućuje prikladnu kalibraciju kuta. Donja slika prikazuje 3D tiskane 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 kruga i stvarni artefakt.

Korak 4: Softver

Naš sustav prvenstveno koristi vizualne informacije iz prepoznavanja lica za praćenje govornika jer su točniji. Kako bi Feather dobio vizualne informacije iz Android aplikacije, koristimo Bluetooth Low Energy kao glavnu komunikacijsku metodu.

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

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

Softver SPACS nalazi se 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 nije bilo točno 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 kako bi otkrio odakle zvuk dolazi. Obrada se može opisati sljedećim koracima:

  1. Uzmite ulaze s dva mikrofona i oduzmite pomak kako 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 zbroj redova kao konačnu vrijednost razlike.
  5. Usporedite 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 omeđujući okvir svakog lica i njegove znamenitosti, uključujući oči, nos, uši, obraze i različite toč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, 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 vrtnje. Za kontrolu brzine deklariramo globalnu varijablu brojača koja omogućuje okretanje motora samo kada varijabla dosegne 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 temeljena 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 sustava s postojećom platformom za videopozive i promatranje odgovora korisnika. Ti će odgovori pomoći u poboljšanju sustava i napraviti sljedeću iteraciju ovog prototipa.

Preporučeni: