Tuvastage helisündmused rakendusega Amazon Rekognition PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

Tuvastage helisündmused Amazon Rekognitioniga

Kui enamik inimesi mõtleb masinõppe (ML) kasutamisele heliandmetega, tuleb tavaliselt meelde selline kasutusjuht transkriptsioon, tuntud ka kui kõne tekstiks muutmine. Siiski on ka teisi kasulikke rakendusi, sealhulgas ML-i kasutamine helide tuvastamiseks.

Tarkvara kasutamist heli tuvastamiseks nimetatakse helisündmuste tuvastamine, ja sellel on mitmeid rakendusi. Oletagem näiteks, et soovite jälgida mürarikkalt tehasekorruselt kostvaid helisid, kuulates häirekella, mis annab märku masina probleemist. Tervishoiukeskkonnas saate kasutada helisündmuste tuvastamist, et passiivselt kuulata patsiendi helisid, mis viitavad ägedale terviseprobleemile. Meedia töökoormused sobivad selle tehnika jaoks hästi, näiteks selleks, et tuvastada, kui spordivideos kohtuniku vile puhutakse. Ja muidugi saate seda tehnikat kasutada mitmesugustes valvetöödes, näiteks kuulda tulistamist või autoõnnetuse heli linnatänava kohale paigaldatud mikrofonist.

See postitus kirjeldab, kuidas helifailis helisid tuvastada isegi siis, kui samal ajal kostavad märkimisväärsed taustahelid. Veelgi enam, võib-olla üllataval kombel kasutame tuvastamiseks arvutinägemisel põhinevaid tehnikaid, kasutades Amazon Rekognitsioon.

Heliandmete kasutamine masinõppega

Helisündmuste tuvastamise esimene samm on heliandmete esitamise mõistmine. Selle postituse jaoks käsitleme ainult salvestatud heli, kuigi need tehnikad töötavad heli voogesituse puhul.

Salvestatud heli salvestatakse tavaliselt helinäidiste jadana, mis mõõdavad salvestamise ajal mikrofoni tabanud helilainete intensiivsust aja jooksul. Nende näidiste salvestamiseks on palju erinevaid vorminguid, kuid levinud lähenemisviis on salvestada 10,000 20,000, 40,000 0 või isegi 65535 XNUMX näidist sekundis, kusjuures iga valim on täisarv vahemikus XNUMX–XNUMX (kaks baiti). Kuna iga näidis mõõdab ainult helilainete intensiivsust konkreetsel hetkel, ei ole heliandmed üldiselt ML-protsesside jaoks kasulikud, kuna neil pole toores olekus kasulikke funktsioone.

Nende andmete kasulikuks muutmiseks teisendatakse helinäidis pildiks nimega a spektrogramm, mis on heliandmete esitus, mis näitab erinevate sagedusribade intensiivsust aja jooksul. Järgmisel pildil on näide.

Selle pildi X-telg tähistab aega, mis tähendab, et pildi vasak serv on heli algus ja pildi parem serv on lõpp. Iga pildi andmeveerg tähistab erinevaid sagedusribasid (näidatud pildi vasakpoolses servas oleva skaala abil) ja iga punkti värv tähistab selle sageduse intensiivsust sellel ajahetkel.

Spektrogrammide vertikaalset skaleerimist saab muuta muude esituste jaoks. Näiteks lineaarne skaleerimine tähendab, et Y-telg on sageduste vahel ühtlaselt jaotatud, logaritmiline skaleerimine kasutab logaritmilist skaalat ja nii edasi. Nende esituste kasutamise probleem seisneb selles, et helifaili sagedused ei ole tavaliselt ühtlaselt jaotunud, nii et enamik meid huvitavast teabest koondub pildi allserva (madalamad sagedused).

Selle probleemi lahendamiseks on meie näidispilt näide a Meli spektrogramm, mis on skaleeritud nii, et see läheks ligilähedaselt sellele, kuidas inimesed heli tajuvad. Pange tähele pildi vasakus servas olevaid sagedusindikaatoreid – need annavad aimu, kuidas need vertikaalselt jaotuvad, ja on selge, et tegemist on mittelineaarse skaalaga.

Lisaks saame muuta intensiivsuse mõõtmist sageduse järgi aja järgi, et täiustada mõõdetava heli erinevaid funktsioone. Nagu Y-telje skaleerimise puhul, mida rakendab Mel spektrogramm, rõhutavad teised sellised tunnused nagu 12 eristuva helikõrgusklassi intensiivsus, mida kasutatakse muusika (kroma) uurimiseks. Teises klassis rõhutatakse horisontaalseid (harmoonilisi) või vertikaalseid (löökide) jooni. Tuvastatava heli tüüp peaks juhtima tuvastussüsteemis kasutatava spektrogrammi tüüpi.

Varasem näide spektrogramm kujutab muusikaklippi, mis on veidi üle 2 minuti pikk. Sissesuumimine näitab rohkem detaile, nagu on näidatud järgmisel pildil.

Tuvastage helisündmused rakendusega Amazon Rekognition PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

Pildi ülaosas olevad numbrid näitavad sekundite arvu helifaili algusest. Näete selgelt helide jada, mis näib korduvat rohkem kui neli korda sekundis, mida näitavad pildi allservas olevad eredad värvid.

Nagu näete, on see üks heli spektrogrammiks teisendamise eeliseid – eristatavad helid on palja silmaga sageli kergesti nähtavad ja isegi kui nad seda ei näe, saab neid sageli tuvastada arvutinägemise objektide tuvastamise algoritmide abil. Tegelikult järgime täpselt seda protsessi helide tuvastamiseks.

Diskreetsete helide otsimine spektrogrammist

Sõltuvalt otsitava helifaili pikkusest on vaid sekundi või kaks kestva diskreetse heli leidmine väljakutse. Vaadake esimest spektrogrammi, mida jagasime – kuna me vaatame tervet 3:30 minutit andmeid, pole üksikasjad, mis kestavad umbes sekundi, nähtavad. Suumisime palju sisse, et näha teisel pildil näidatud rütmi. On selge, et suuremate helifailidega (ja seega ka palju suuremate spektrogrammidega) tekib kiiresti probleeme, kui me ei kasuta teistsugust lähenemist. Seda lähenemist nimetatakse akendamine.

Akendamine viitab libiseva akna kasutamisele, mis liigub üle kogu spektrogrammi, eraldades korraga mõne sekundi (või vähem). Korduvalt eraldades osa üldpildist, saame väiksemad pildid, mida saab otsida, et tuvastada heli olemasolu. Kuna iga aken võib anda tulemuseks ainult osa otsitavast pildist (nagu heli otsimisel, mis ei alga täpselt akna algusest), tehakse akendamine sageli nii, et järgnevad aknad kattuvad. Näiteks esimene aken algab kell 0:00 ja kestab 2 sekundit, siis teine ​​aken algab kell 0:01 ja kestab 2 sekundit ning kolmas aken algab kell 0:02 ja kestab 2 sekundit jne.

Akende loomine poolitab spektrogrammi kujutise horisontaalselt. Saame parandada tuvastamisprotsessi tõhusust, eraldades teatud sagedusribad, kärpides või otsides ainult teatud kujutise vertikaalseid osi. Näiteks kui teate, et häirekell, mida soovite tuvastada, tekitab helisid, mis ulatuvad ühest kindlast sagedusest teise, saate muuta praegust akent nii, et see arvestaks ainult neid sagedusvahemikke. See vähendab oluliselt manipuleeritavate andmete hulka ja tagab palju kiirema otsingu. Samuti parandab see täpsust, kuna see välistab võimalikud valepositiivsed vasted, mis esinevad soovitud vahemikust väljaspool olevates sagedusribades. Järgmistel piltidel võrreldakse täielikku Y-telge (vasakul) piiratud Y-teljega (paremal).

Täielik Y-telg

Täielik Y-telg

Piiratud Y-telg

Piiratud Y-telg

Nüüd, kui me teame, kuidas korrata spektrogrammi akende lähenemisviisiga ja filtreerida teatud sagedusaladele, on järgmine samm heli tegelik otsing. Selleks kasutame Amazon Rekognitioni kohandatud sildid. Rekognitioni kohandatud siltide funktsioon põhineb Amazon Rekognitioni olemasolevatel võimalustel, mis on juba koolitatud kümnete miljonite piltide jaoks paljudes kategooriates. Tuhandete piltide asemel peate lihtsalt üles laadima väikese komplekti treeningpilte (tavaliselt paarsada pilti, kuid optimaalne treeningandmete kogumi suurus tuleks jõuda katseliselt, lähtudes konkreetsest kasutusjuhtumist, et vältida mudeli ala- või ületreenimist ), mis on teie kasutusjuhtumile spetsiifilised Rekognitioni kohandatud siltide konsooli kaudu.

Kui teie pildid on juba märgistatud, pääseb Amazon Rekognitioni koolitusele juurde vaid mõne klõpsuga. Teise võimalusena saate pilte sildistada otse Amazon Rekognitioni sildistamisliideses või kasutada Amazon SageMaker Ground Truth et need teie jaoks sildistada. Kui Amazon Rekognition alustab teie pildikomplekti treenimist, loob see teie jaoks kohandatud pildianalüüsi mudeli vaid mõne tunniga. Kulisside taga laadib ja kontrollib Rekognition Custom Labels automaatselt treeningandmeid, valib õiged ML-algoritmid, treenib mudelit ja pakub mudeli jõudlusmõõdikuid. Seejärel saate oma kohandatud mudelit kasutada rakenduse kaudu Rekognitioni kohandatud siltide API ja integreerige see oma rakendustesse.

Treeningandmete kogumine ja Rekognitioni kohandatud siltide mudeli treenimine

aasta Selle postitusega seotud GitHubi repo, leiate koodi, mis näitab, kuidas kuulata suitsuanduri heli, olenemata taustmürast. Sel juhul on meie Rekognitioni kohandatud siltide mudel binaarne klassifikatsioonimudel, mis tähendab, et tulemused on kas "tuvastati suitsualarmi heli" või "suitsuhäire heli ei tuvastatud".

Kohandatud mudeli loomiseks vajame koolitusandmeid. Need treeninguandmed koosnevad kahest põhitüübist: keskkonnahelid ja helid, mida soovite tuvastada (nt suitsualarm).

Keskkonnaandmed peaksid esindama mitmesuguseid helimaastikke, mis on tüüpilised keskkonnale, milles soovite heli tuvastada. Näiteks kui soovite tuvastada suitsuanduri heli tehasekeskkonnas, alustage selles tehasekeskkonnas salvestatud helidest. mitmesuguseid olukordi (loomulikult ilma suitsuandurita).

Helid, mida soovite tuvastada, tuleks võimaluse korral eraldada, mis tähendab, et salvestised peaksid olema heli ise ilma keskkonnataustahelideta. Meie näiteks on see suitsuanduri heli.

Kui olete need helid kogunud, näitab GitHubi repos olev kood, kuidas keskkonnahelisid erinevatel viisidel kombineerida suitsuanduri helidega (ja seejärel need spektrogrammideks teisendada), et luua mitmeid keskkonnahelisid esindavaid kujutisi. koos ja ilma suitsuandurita kostab neile kattuvaid helisid. Järgmine pilt on näide mõnest keskkonnahelist, mille peal on suitsuanduri heli (heledad horisontaalsed ribad).

Tuvastage helisündmused rakendusega Amazon Rekognition PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

Treeningu ja testi andmed salvestatakse an Amazoni lihtne salvestusteenus (Amazon S3) kopp. Järgmine kataloogistruktuur on hea lähtepunkt andmete korraldamiseks ämbris.

Tuvastage helisündmused rakendusega Amazon Rekognition PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

GitHubi repos olev näidiskood võimaldab teil valida, mitu treeningpilti luua. Rekognitioni kohandatud sildid ei nõua suurt hulka treeningpilte. 200–500 pildist koosnev treeningkomplekt peaks olema piisav.

Rekognitioni kohandatud siltide projekti loomiseks peate määrama treeningandmeid ja (valikuliselt) testiandmeid sisaldava S3 kausta URI-d. Koolitustöö andmeallikate täpsustamisel on üheks võimaluseks Automaatne märgistamine, nagu on näidatud järgmisel ekraanipildil.

Tuvastage helisündmused rakendusega Amazon Rekognition PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

Selle suvandi kasutamine tähendab, et Amazon Rekognition kasutab sildinimedena kaustade nimesid. Meie suitsuanduri avastamise juhtumi puhul näeb rongi ja testkaustade sees olev kaustastruktuur välja nagu järgmine ekraanipilt.

Tuvastage helisündmused rakendusega Amazon Rekognition PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

Treeninguandmete kujutised lähevad nendesse kaustadesse, spektrogrammid, mis sisaldavad suitsuanduri heli, lähevad häirekausta ja spektrogrammid, mis ei sisalda suitsualarmi heli. no_alarm kausta. Amazon Rekognition kasutab neid nimesid kohandatud siltide mudeli väljundklassi nimedena.

Kohandatud etiketimudeli koolitamine võtab tavaliselt 30–90 minutit. Selle koolituse lõpus peate koolitatud mudeli käivitama, et see oleks kasutamiseks saadaval.

End-to-end arhitektuur heli tuvastamiseks

Pärast mudeli loomist on järgmiseks sammuks järelduskonveieri seadistamine, et saaksime mudeli abil tuvastada, kas helifailis on suitsualarmi heli. Selleks tuleb sisendheli muuta spektrogrammiks ning seejärel akendada ja filtreerida sageduse järgi, nagu seda tehti treeningprotsessi puhul. Iga spektrogrammi aken antakse mudelile, mis tagastab klassifikatsiooni, mis näitab, kas suitsuandur kõlas või mitte.

Järgmisel diagrammil on kujutatud selle järelduste konveieri rakendava arhitektuuri näide.

Tuvastage helisündmused rakendusega Amazon Rekognition PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

See arhitektuur ootab helifaili paigutamist S3 ämbrisse, mis seejärel põhjustab a AWS Lambda funktsioon. Lambda on serverita sündmustepõhine arvutusteenus, mis võimaldab teil käivitada peaaegu igat tüüpi rakenduste või taustateenuste koodi ilma servereid varustamise või haldamiseta. Saate käivitada Lambda funktsiooni enam kui 200 AWS-i teenusest ja tarkvarast teenusena (SaaS) ning maksta ainult selle eest, mida kasutate.

Lambda funktsioon võtab vastu helifaili ämbri nime ja võtme (või failinime) nime. Fail laaditakse Amazon S3-st alla funktsiooni mällu, mis seejärel teisendab selle spektrogrammiks ning teostab akende ja sagedusfiltrimise. Iga spektrogrammi aknaga osa saadetakse seejärel Amazon Rekognitionile, mis kasutab heli tuvastamiseks eelnevalt koolitatud Amazon Custom Labelsi mudelit. Kui see heli leitakse, annab lambda funktsioon sellest märku, kasutades a Amazoni lihtne teavitusteenus (Amazon SNS) teatis. Amazon SNS pakub pubi/sub-lähenemist, kuhu saab teateid saata Amazoni lihtsa järjekorra teenus (Amazon SQS) järjekorrad, Lambda funktsioonid, HTTPS-i lõpp-punktid, e-posti aadressid, mobiilne tõukejõud ja palju muud.

Järeldus

Saate kasutada heliandmetega masinõpet, et teha kindlaks, millal teatud helid kostuvad, isegi kui samal ajal kostuvad muud helid. Selleks on vaja heli teisendada spektrogrammi kujutiseks ja seejärel selle spektrogrammi eri osadesse siseneda akende ja sagedusribade järgi filtreerimise teel. Rekognition Custom Labels muudab kohandatud mudeli väljaõpetamise heli tuvastamiseks lihtsaks.

Võite kasutada GitHub repo mis sisaldab selle postituse näidiskoodi teie enda katsete lähtepunktiks. Lisateabe saamiseks helisündmuste tuvastamise kohta vt Helisündmuste tuvastamine: õpetus.


Autoritest

Tuvastage helisündmused rakendusega Amazon Rekognition PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.Greg Sommerville on vanemprototüüpimise arhitekt AWS-i prototüüpimise ja pilvetehnoloogia meeskonnas, kus ta aitab AWS-i klientidel rakendada uuenduslikke lahendusi masinõppe, asjade Interneti ja serverita tehnoloogiate väljakutsetele. Ta elab Michiganis Ann Arboris ja naudib joogat harjutamist, koerte toitlustamist ja pokkerit.

Tuvastage helisündmused rakendusega Amazon Rekognition PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.Jeff Harman on vanemprototüüpimise arhitekt AWS-i prototüüpimise ja pilvetehnoloogia meeskonnas, kus ta aitab AWS-i klientidel uuenduslikke lahendusi väljakutsuvatele probleemidele rakendada. Ta elab Connecticutis Unionville'is ja talle meeldib puidutöötlemine, sepatöö ja Minecraft.

Ajatempel:

Veel alates AWS-i masinõpe