Съдържание:
- Стъпка 1: Материали
- Стъпка 2: Хардуер - 3D печат
- Стъпка 3: Хардуер - електронни компоненти
- Стъпка 4: Софтуер
- Стъпка 5: Софтуер - Звук
- Стъпка 6: Софтуер - Откриване на лице и говор
- Стъпка 7: Софтуер - въртящ се двигател
- Стъпка 8: Бъдещи подобрения
Видео: Говорителска система Camara (SPACS): 8 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Представете си конферентен разговор, при който няколко високоговорителя обграждат една камера. Често се сблъскваме, когато ограниченият ъгъл на видимост на камерата често не успява да погледне човека, който говори. Това хардуерно ограничение значително влошава потребителското изживяване. Ако камерата може да гледа към активни високоговорители, отдалечената аудитория ще бъде по -ангажирана в разговор по време на разговора. В този проект ние предлагаме (прототип) система от камери, която открива и следва активния високоговорител, като обърне камерата към високоговорителя. Системата използва както визуален, така и аудио-базиран подход. Когато се открият лица от камерата, тя определя човека, който говори, и изчислява ъгъла на завъртане. Когато лицата не бъдат разпознати под текущия ъгъл, системата търси високоговорителя въз основа на посоката на пристигащите аудио сигнали.
Стъпка 1: Материали
Перо Adafruit nRF52840 Express X 1
www.adafruit.com/product/4062
Електретен микрофонен усилвател - MAX4466 X 2
www.adafruit.com/product/1063
Микро серво мотор X 1
www.adafruit.com/product/169
Смартфон с Android X 1
Стъпка 2: Хардуер - 3D печат
За бързо внедряване решихме да отпечатаме 3D корпусите, от които се нуждаем. Има два основни компонента за заграждения; грамофон и стойка за смартфон. Използвахме грамофона от тази връзка (https://www.thingiverse.com/thing:141287), където той осигурява корпус Arduino в долната част и въртяща се маса, която може да бъде свързана със серво мотор. Използвахме стойка за смартфон от тази връзка (https://www.thingiverse.com/thing:2673050), която е сгъваема и регулируема под ъгъл, така че да ни позволява да калибрираме ъгъла удобно. Фигурата по -долу показва 3D отпечатаните части, сглобени заедно.
Стъпка 3: Хардуер - електронни компоненти
Има четири жични компонента; Перо от Adafruit, два микрофона и двигател. За компактната опаковка ние запоехме (сиви кръгове) проводниците, без да използваме макет. По -долу е описана електрическата схема и действителният артефакт.
Стъпка 4: Софтуер
Нашата система използва предимно визуалната информация от разпознаването на лица, за да следва говорещия, тъй като е по -точна. За да може перото да получи визуална информация от приложението за Android, използваме Bluetooth Low Energy като основен метод за комуникация.
Когато се открие лице, приложението изчислява ъгъла, който двигателят трябва да завърти, за да фокусира високоговорителя в центъра на кадъра. Разложихме възможните сценарии и се справихме по следния начин:
- Ако лицето (ите) бъдат открити (и) и говорят, той изчислява средната точка на високоговорителите и връща относителния ъгъл на Перото.
- Ако лице (и) бъдат открити (и) и никое от тях не говори, то също така изчислява средната точка на лицата и съответно връща ъгъла.
- Ако някое лице не бъде открито, системата променя логиката за проследяване на високоговорителите от визуална към аудио.
Софтуерът SPACS се намира на адрес
Стъпка 5: Софтуер - Звук
Звук (YH)
За да локализираме източника на входящ звук, първо се опитахме да използваме времевата разлика между двата микрофона. Но това не беше точно толкова, колкото очаквахме, тъй като честотата на дискретизация (~ 900Hz) на Arduino Leopard, където тествахме звуковите сигнали, беше бавна, така че не може да улови разликата във времето между 10-сантиметровите микрофони.
Променихме плана, за да използваме разликата в интензитета между двата входни звукови сигнала. В резултат на това перото приема два звукови сигнала и ги обработва, за да открие откъде идва звукът. Обработката може да бъде описана чрез следните стъпки:
- Вземете входовете от два микрофона и извадете отместването, за да получите амплитудите на сигналите.
- Натрупвайте абсолютните стойности на амплитудите за MIC за 500 пикапа.
- Запазете разликата от натрупаните стойности в опашката с 5 слота.
- Връща сумата на опашките като крайна стойност на разликата.
- Сравнете крайната стойност с праговете, за да решите откъде идва звукът.
Открихме прага, като начертахме крайната стойност при различни обстоятелства, включително звук, идващ отляво и отдясно. На върха на праговете за крайната стойност, ние също задаваме друг праг за средната стойност на натрупаните амплитуди в стъпка 2, за да филтрираме шумовете.
Стъпка 6: Софтуер - Откриване на лице и говор
За разпознаване на лица използвахме ML Kit за Firebase, издаден от Google (https://firebase.google.com/docs/ml-kit). ML Kit предоставя API за разпознаване на лица, който връща ограничаващата кутия на всяко лице и неговите ориентири, включително очи, нос, уши, бузи и различни точки на устата. След като се открият лица, приложението проследява движението на устата, за да определи дали лицето говори. Използваме прост подход, базиран на праг, който дава надеждна производителност. Използвахме факта, че движението на устата става по -голямо както хоризонтално, така и вертикално, когато човек говори. Изчисляваме вертикалното и хоризонталното разстояние на устието и изчисляваме стандартното отклонение за всяко разстояние. Разстоянието се нормализира спрямо размера на лицето. По -голямо стандартно отклонение показва говорене. Този подход има ограничението, че всяка дейност включва движение на устата, включително хранене, пиене или прозяване, може да се разпознае като говорене. Но има нисък процент на фалшиво отрицателни резултати.
Стъпка 7: Софтуер - въртящ се двигател
Ротацията на двигателя не беше толкова ясна, колкото очаквахме поради контрола на скоростта на въртене. За да контролираме скоростта, декларираме глобална променлива на брояча, която позволява на двигателя да се завърти само когато променливата достигне определена стойност. Декларирахме и друга глобална променлива, показваща дали двигателят се движи, за да уведоми микрофоните, за да може да избегне звука, идващ от въртенето на двигателя.
Стъпка 8: Бъдещи подобрения
Едно от ограниченията е, че двигателят се клати под определени ъгли. Изглежда, че двигателят не е достатъчно мощен, за да преодолее въртящия момент, генериран от завъртането на смартфона. Тя може да бъде разрешена чрез използване на по -мощен двигател или регулиране на позицията на смартфона към центъра на въртенето, за да се намали въртящият момент.
Аудио-базираното разпознаване на посоката на звука може да бъде подобрено с по-сложен метод. Бихме искали да опитаме подход за формиране на акустичен лъч, за да определим посоката на входящия звук. Опитахме с времето на пристигане на аудио сигналите. Но скоростта на дискретизация на перото е ограничена, за да открие времевата разлика, когато микрофоните са само на около 10 см разстояние.
Последната липсваща част от този прототип е оценката на използваемостта. Един обещаващ начин за оценка е интегрирането на системата със съществуващата платформа за видео разговори и наблюдение на отговорите на потребителите. Тези отговори ще помогнат за подобряване на системата и ще направят следващата итерация на този прототип.
Препоръчано:
СИСТЕМА ЗА ФАКТУРИРАНЕ И СИСТЕМА ЗА КОНТРОЛ НА ИНВЕНТАРИ: 3 стъпки
СИСТЕМА ЗА ФАКТУРИРАНЕ И СИСТЕМА ЗА КОНТРОЛ НА ИНВЕНТАЦИИТЕ: С тези инструкции ще ви дам идея за създаване на система за контрол на фактури и запаси. Използвайки MS достъп. Много е лесно и не се нуждаете от повече познания за компютър или програмиране. Ако имате основни познания за Ms Достъп, таблици. формуляри и отчети t
Система за предупреждение за паркиране на автомобил Arduino - Стъпки по стъпка: 4 стъпки
Система за предупреждение за паркиране на автомобил Arduino | Стъпки по стъпка: В този проект ще проектирам обикновена верига за сензори за паркиране на автомобил Arduino, използвайки Arduino UNO и HC-SR04 ултразвуков сензор. Тази базирана на Arduino система за предупреждение за автомобил за заден ход може да се използва за автономна навигация, измерване на роботи и други обхвати
Proyecto Museo De Herling Y Paula De La Cámara: 4 стъпки
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 отличителни movimiento del que intento robar la joya
Система за сортиране на цветовете: Ардуино базирана система с два колана: 8 стъпки
Система за сортиране на цветовете: Система на базата на Arduino с две ленти: Транспортирането и/или опаковането на продукти и артикули в индустриалната сфера се извършва с помощта на линии, направени с помощта на конвейерни ленти. Тези колани помагат за преместване на елемента от една точка в друга със специфична скорост. Някои задачи за обработка или идентификация може да са
Пожароизвестителна система, използваща Arduino [На няколко лесни стъпки]: 3 стъпки
Пожароизвестителна система, използваща Arduino [На няколко лесни стъпки]: Искате ли да направите прост и интересен проект с Arduino, който в същото време може да бъде наистина полезен и потенциално животоспасяващ? нещо ново и иновативно. В този пост отиваме