Innholdsfortegnelse:
- Trinn 1: Materialer
- Trinn 2: Maskinvare - 3D -utskrift
- Trinn 3: Maskinvare - elektroniske komponenter
- Trinn 4: Programvare
- Trinn 5: Programvare - lyd
- Trinn 6: Programvare - Ansikts- og taledeteksjon
- Trinn 7: Programvare - roterende motor
- Trinn 8: Fremtidige forbedringer
Video: Speaker-Aware Camara System (SPACS): 8 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Tenk deg en konferansesamtale der flere høyttalere omgir ett kamera. Vi møter ofte der den begrensede visningsvinkelen til et kamera ofte ikke klarer å se på personen som snakker. Denne maskinvarebegrensningen forringer brukeropplevelsen betydelig. Hvis kameraet kan se på aktive høyttalere, ville det eksterne publikummet være mer engasjert i en samtale under samtalen. I dette prosjektet foreslår vi et (prototype) kamerasystem som oppdager og følger den aktive høyttaleren ved å snu kameraet mot høyttaleren. Systemet bruker både visuell og lydbasert tilnærming. Når ansikter oppdages fra kameraet, bestemmer det personen som snakker og beregner vinkelen som skal roteres. Når ansiktene ikke blir oppdaget i den nåværende vinkelen, søker systemet etter høyttaleren basert på retningen for ankomstlydsignalene.
Trinn 1: Materialer
Adafruit Feather nRF52840 Express X 1
www.adafruit.com/product/4062
Electret mikrofonforsterker - MAX4466 X 2
www.adafruit.com/product/1063
Micro Servo Motor X 1
www.adafruit.com/product/169
Android -smarttelefon X 1
Trinn 2: Maskinvare - 3D -utskrift
For rask implementering bestemte vi oss for å 3D-skrive ut kabinettene vi trenger. Det er to hovedkomponenter for skap; en platespiller og et smarttelefonstativ. Vi brukte dreieskiven fra denne lenken (https://www.thingiverse.com/thing:141287), der den gir Arduino -kabinett nederst og et roterende bord som kan kobles til med en servomotor. Vi brukte et smarttelefonstativ fra denne lenken (https://www.thingiverse.com/thing:2673050), som er sammenleggbar og vinkeljusterbar slik at den lar oss enkelt kalibrere vinkelen. Figuren nedenfor viser 3D -trykte deler satt sammen.
Trinn 3: Maskinvare - elektroniske komponenter
Det er fire kablede komponenter; Adafruit Feather, to mikrofoner og en motor. For den kompakte emballasjen loddet vi (grå sirkler) ledningene uten å bruke et brødbrett. Nedenfor beskriver kretsdiagrammet og den faktiske artefakten.
Trinn 4: Programvare
Systemet vårt bruker først og fremst den visuelle informasjonen fra ansiktsgjenkjenning for å følge høyttaleren, da den er mer nøyaktig. For at fjæren skal få visuell informasjon fra Android -appen, bruker vi Bluetooth Low Energy som hovedkommunikasjonsmetode.
Når et ansikt oppdages, beregner appen vinkelen motoren må rotere for å fokusere høyttaleren i midten av rammen. Vi dekomponerte de mulige scenariene og håndterte slik:
- Hvis ansikt (er) oppdages og snakker, beregner det midtpunktet til høyttalerne og returnerer den relative vinkelen til fjæren.
- Hvis ansikt (er) oppdages, men ingen av dem snakker, beregner det også midtpunktet til ansiktene og returnerer vinkelen tilsvarende.
- Hvis et ansikt ikke blir oppdaget, endrer systemet høyttalersporingslogikken fra det visuelle til lyden.
SPACS-programvaren ligger på
Trinn 5: Programvare - lyd
Lyd (YH)
For å finne kilden til innkommende lyd, prøvde vi først å bruke tidsforskjellen mellom de to mikrofonene. Men det var ikke nøyaktig så mye som vi forventet siden samplingsfrekvensen (~ 900Hz) til Arduino Leopard, hvor vi testet lydsignalene, var treg slik at den ikke kan fange opp tidsforskjellen mellom 10 cm-forskjellige mikrofoner.
Vi endret planen om å bruke intensitetsforskjellen mellom de to inngangssignalene. Som et resultat tar fjæren to lydsignaler og behandler dem for å oppdage hvor lyden kom fra. Behandlingen kan beskrives med følgende trinn:
- Ta inngangene fra to mikrofoner og trekk fra forskyvningen for å få amplituden til signalene.
- Akkumuler de absolutte verdiene til amplituder per MIC for 500 pickups.
- Lagre forskjellen mellom de akkumulerte verdiene i køen med 5 plasser.
- Returner summen av køene som den endelige differansen.
- Sammenlign den endelige verdien med terskler for å bestemme hvor lyden kom fra.
Vi fant terskelen ved å plotte den endelige verdien under forskjellige omstendigheter, inkludert lyd som kom fra venstre og høyre. På toppen av tersklene for den endelige verdien, satte vi også en annen terskel for gjennomsnittet av de akkumulerte amplituder i trinn 2 for å filtrere ut støyene.
Trinn 6: Programvare - Ansikts- og taledeteksjon
For ansiktsgjenkjenning brukte vi ML Kit for Firebase utgitt av Google (https://firebase.google.com/docs/ml-kit). ML Kit gir ansiktsgjenkjennings -API som returnerer avgrensningsboksen til hvert ansikt og dets landemerker, inkludert øyne, nese, ører, kinn og forskjellige punkter på en munn. Når ansikter er oppdaget, sporer appen munnbevegelsen for å avgjøre om personen snakker. Vi bruker en enkel terskelbasert tilnærming som gir pålitelig ytelse. Vi utnyttet det faktum at munnbevegelsen blir større både horisontalt og vertikalt når en person snakker. Vi beregner den vertikale og horisontale avstanden til munnen og beregner standardavviket for hver avstand. Avstanden normaliseres til størrelsen på ansiktet. Større standardavvik indikerer å snakke. Denne tilnærmingen har grensen for at hver aktivitet involverer munnbevegelsen, inkludert å spise, drikke eller gjespe, kan gjenkjennes som å snakke. Men den har en lav falsk negativ rate.
Trinn 7: Programvare - roterende motor
Motorrotasjonen var ikke så grei som vi forventet på grunn av kontrollen av rotasjonshastigheten. For å kontrollere hastigheten erklærer vi en global tellervariabel slik at motoren bare kan snu når variabelen når en viss verdi. Vi erklærte også en annen global variabel som indikerer om motoren beveger seg for å gi beskjed til mikrofoner, slik at den kan unngå at lyden kommer fra motorrotasjonen.
Trinn 8: Fremtidige forbedringer
En av begrensningene er at motoren svinger i visse vinkler. Det ser ut til at motoren ikke er kraftig nok til å overvinne dreiemomentet som genereres ved å rotere smarttelefonen. Det kan løses ved å bruke en kraftigere motor eller justere posisjonen til smarttelefonen mot midten av rotasjonen for å redusere dreiemomentet.
Lydbasert deteksjon av lydretning kan forbedres med en mer sofistikert metode. Vi vil prøve en akustisk stråledannende tilnærming for å bestemme retningen til den innkommende lyden. Vi har prøvd med ankomsttiden for lydsignalene. Men samplingshastigheten til fjæren er begrenset til å oppdage tidsforskjellen når mikrofonene bare er rundt 10 cm unna.
Det siste manglende stykket i denne prototypen er brukervennlighetsvurderingen. En lovende måte å evaluere på er å integrere systemet med den eksisterende plattformen for videosamtaler og observere brukernes svar. Disse svarene vil bidra til å forbedre systemet og gjøre neste iterasjon av denne prototypen.
Anbefalt:
Proyecto Museo De Herling Y Paula De La Cámara: 4 trinn
Proyecto Museo De Herling Y 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 intenten robar la joya, tambien vamos a utilizar sensores de luz para que dectecten los distintos movimiento que intentiono robar la joya
Prototipo Deslizador Para Cámara Profesional DSLR: 6 trinn
Prototipo Deslizador Para Cámara Profesional DSLR: El proyecto consiste en hacer un deslizador de cámara motorizado con cabezal de giro e inclinación. El proyecto es basado en arduino, construido con PLA y Aluminio, 3 motores a pasos, algunos botones y un joystick en una PCB diseñada a medida. El re
Reutilizar Vieja Cámara Digital: 7 trinn
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 á s adelante podr á s hacer; que har é .Tambi & ea
DIY Audio Speaker 2.1 System: 10 trinn
DIY Audio Speaker 2.1 System: 4 måneder siden jeg fikk ideen, er boksene klare til å bli utgitt i min aller første instruks. Det startet faktisk med prosjektet fordi eksisterende (veldig billig) 5.1 utstyr dessverre sjelden ble brukt. For komplisert med 2 fjernkontroller etc. Forsterkeren
Camara De Video En Carro De Radio Control / Videokamera på R / C Truck: 5 trinn
Camara De Video En Carro De Radio Control / Videokamera på R / C Truck: Este Instruccionable presentado en Espanol e Ingles.These Instructable presenteres på spansk og engelsk