Amazon Rekognition PlatoBlockchain Data Intelligence ile ses olaylarını tespit edin. Dikey Arama. Ai.

Amazon Rekognition ile ses olaylarını tespit edin

Çoğu insan ses verileriyle makine öğrenimini (ML) kullanmayı düşündüğünde, genellikle akla gelen kullanım durumu şudur: transkripsiyonkonuşmadan metne olarak da bilinir. Ancak, sesleri algılamak için ML kullanmak da dahil olmak üzere başka faydalı uygulamalar da vardır.

Bir sesi algılamak için yazılım kullanmak denir ses olayı algılama, ve bir dizi uygulamaya sahiptir. Örneğin, gürültülü bir fabrika katından gelen sesleri izlemek, bir makinede sorun olduğunu gösteren alarm zilini dinlemek istediğinizi varsayalım. Bir sağlık hizmeti ortamında, bir hastadan akut bir sağlık sorununa işaret eden sesleri pasif olarak dinlemek için sesli olay algılamayı kullanabilirsiniz. Medya iş yükleri, örneğin bir spor videosunda bir hakemin düdüğünün ne zaman çalındığını algılamak için bu teknik için uygundur. Ve elbette, bu tekniği, bir şehir caddesinin üzerine monte edilmiş bir mikrofondan silah sesi veya bir araba kazası sesi dinlemek gibi çeşitli gözetim iş yüklerinde kullanabilirsiniz.

Bu gönderi, aynı anda meydana gelen önemli arka plan sesleri olsa bile bir ses dosyasındaki seslerin nasıl algılanacağını açıklar. Dahası, belki de şaşırtıcı bir şekilde, algılamayı yapmak için bilgisayarla görü tabanlı teknikler kullanıyoruz. Amazon Rekognisyon.

Ses verilerini makine öğrenimi ile kullanma

Ses olaylarını algılamanın ilk adımı, ses verilerinin nasıl temsil edildiğini anlamaktır. Bu yazının amaçları doğrultusunda, bu teknikler ses akışıyla çalışmasına rağmen, yalnızca kayıtlı sesle ilgileniyoruz.

Kaydedilen ses tipik olarak, kayıt sırasında mikrofona çarpan ses dalgalarının zamanla yoğunluğunu ölçen bir dizi ses örneği olarak saklanır. Bu örnekleri depolamak için çok çeşitli biçimler vardır, ancak yaygın bir yaklaşım, her örnek 10,000-20,000 (iki bayt) arasında bir tam sayı olacak şekilde saniyede 40,000, 0 ve hatta 65535 örnek depolamaktır. Her örnek yalnızca belirli bir anda ses dalgalarının yoğunluğunu ölçtüğü için, ses verileri genellikle ML süreçleri için yararlı değildir çünkü ham durumunda herhangi bir yararlı özelliğe sahip değildir.

Bu verileri kullanışlı hale getirmek için ses örneği, ses adı verilen bir görüntüye dönüştürülür. spektrogram, zaman içinde farklı frekans bantlarının yoğunluğunu gösteren ses verilerinin bir temsilidir. Aşağıdaki resimde bir örnek gösterilmektedir.

Bu görüntünün X ekseni zamanı temsil eder, yani görüntünün sol kenarı sesin başlangıcı ve görüntünün sağ kenarı bitiştir. Görüntü içindeki her veri sütunu farklı frekans bantlarını temsil eder (görüntünün sol tarafındaki ölçekle belirtilir) ve her noktadaki renk, o andaki frekansın yoğunluğunu temsil eder.

Spektrogramlar için dikey ölçeklendirme, diğer gösterimlerle değiştirilebilir. Örneğin, doğrusal ölçekleme, Y ekseninin frekanslara eşit olarak bölündüğü, logaritmik ölçeklemenin bir günlük ölçeği kullandığı ve benzeri anlamına gelir. Bu temsilleri kullanmadaki sorun, bir ses dosyasındaki frekansların genellikle eşit olarak dağıtılmamasıdır, bu nedenle ilgilenebileceğimiz bilgilerin çoğu, görüntünün alt kısmına yakın bir yerde kümelenir (düşük frekanslar).

Bu sorunu çözmek için örnek görüntümüz bir örnektir. Mel spektrogramıinsanların sesi nasıl algıladığını yaklaşık olarak tahmin etmek için ölçeklendirilmiştir. Görüntünün sol tarafındaki sıklık göstergelerine dikkat edin; dikey olarak nasıl dağıldıkları hakkında bir fikir verirler ve bunun doğrusal olmayan bir ölçek olduğu açıktır.

Ek olarak, ölçülen sesin çeşitli özelliklerini geliştirmek için zamana göre yoğunluk ölçümünü frekansa göre değiştirebiliriz. Bir Mel spektrogramı tarafından uygulanan Y ekseni ölçeklemesinde olduğu gibi, diğerleri müzik (kroma) çalışmak için kullanılan 12 farklı perde sınıfının yoğunluğu gibi özellikleri vurgular. Başka bir sınıf, yatay (harmonik) özellikleri veya dikey (darbeli) özellikleri vurgular. Algılanan sesin türü, algılama sistemi için kullanılan spektrogram türünü yönlendirmelidir.

Önceki örnek spektrogram, 2 dakikadan biraz uzun olan bir müzik klibini temsil eder. Yakınlaştırma, aşağıdaki resimde gösterildiği gibi daha fazla ayrıntıyı ortaya çıkarır.

Amazon Rekognition PlatoBlockchain Data Intelligence ile ses olaylarını tespit edin. Dikey Arama. Ai.

Görüntünün üst kısmındaki sayılar, ses dosyasının başlangıcından itibaren saniye sayısını gösterir. Görüntünün alt kısmındaki parlak renklerle gösterilen, saniyede dört defadan fazla tekrar ediyormuş gibi görünen bir dizi sesi net bir şekilde görebilirsiniz.

Gördüğünüz gibi, bu, sesi bir spektrograma dönüştürmenin faydalarından biridir—farklı sesler genellikle çıplak gözle kolayca görülebilir ve öyle olmasalar bile, bilgisayarla görme nesnesi algılama algoritmaları kullanılarak sıklıkla tespit edilebilirler. Aslında sesleri algılamak için takip ettiğimiz süreç de tam olarak bu.

Bir spektrogramda ayrık sesler aramak

Aradığımız ses dosyasının uzunluğuna bağlı olarak, yalnızca bir veya iki saniye süren ayrı bir ses bulmak zor olabilir. Paylaştığımız ilk spektrograma bakın - çünkü 3:30 dakikalık bir verinin tamamını görüntülüyoruz, yalnızca bir saniye kadar süren ayrıntılar görünmüyor. İkinci resimde gösterilen ritmi görmek için çok yakınlaştırdık. Açıkça, daha büyük ses dosyalarıyla (ve dolayısıyla çok daha büyük spektrogramlarla), farklı bir yaklaşım kullanmadıkça hızla sorunlarla karşılaşırız. Bu yaklaşım denir pencereleme.

Pencereleme, bir seferde birkaç saniye (veya daha az) ayırarak tüm spektrogram boyunca hareket eden kayan bir pencerenin kullanılması anlamına gelir. Genel görüntünün bölümlerini tekrar tekrar izole ederek, algılanacak sesin varlığı için aranabilir daha küçük görüntüler elde ederiz. Her pencere aradığımız görüntünün yalnızca bir kısmıyla sonuçlanabileceğinden (tam olarak bir pencerenin başlangıcında başlamayan bir sesin aranması durumunda olduğu gibi), pencereleme genellikle sonraki pencerelerin üst üste gelmesiyle gerçekleştirilir. Örneğin, ilk pencere 0:00'da başlar ve 2 saniye uzar, ardından ikinci pencere 0:01'de başlar ve 2 saniye uzar ve üçüncü pencere 0:02'de başlar ve 2 saniye uzar, vb.

Pencereleme, bir spektrogram görüntüsünü yatay olarak böler. Görüntünün yalnızca belirli dikey kısımlarını kırparak veya arayarak belirli frekans bantlarını izole ederek algılama işleminin etkinliğini iyileştirebiliriz. Örneğin, algılamak istediğiniz alarm zilinin belirli bir frekanstan diğerine değişen sesler oluşturduğunu biliyorsanız, geçerli pencereyi yalnızca bu frekans aralıklarını dikkate alacak şekilde değiştirebilirsiniz. Bu, manipüle edilecek veri miktarını büyük ölçüde azaltır ve çok daha hızlı bir arama ile sonuçlanır. Ayrıca, istenen aralığın dışındaki frekans bantlarında meydana gelen olası yanlış pozitif eşleşmeleri ortadan kaldırdığı için doğruluğu da artırır. Aşağıdaki resimler, tam Y eksenini (sol) sınırlı Y ekseni (sağ) ile karşılaştırmaktadır.

Tam Y Ekseni

Tam Y Ekseni

Sınırlı Y Ekseni

Sınırlı Y Ekseni

Artık bir pencereleme yaklaşımıyla bir spektrogram üzerinde nasıl yineleneceğimizi ve belirli frekans bantlarına filtre uygulayacağımızı bildiğimize göre, bir sonraki adım ses için gerçek aramayı yapmaktır. Bunun için kullandığımız Amazon Rekognition Özel Etiketleri. Rekognition Özel Etiketleri özelliği, birçok kategoride on milyonlarca görüntü üzerinde halihazırda eğitilmiş olan Amazon Rekognition'ın mevcut yeteneklerinden oluşur. Binlerce görüntü yerine, küçük bir eğitim görüntüsü seti yüklemeniz yeterlidir (tipik olarak birkaç yüz görüntü, ancak modelin yetersiz veya aşırı eğitilmesini önlemek için belirli kullanım durumuna dayalı olarak en uygun eğitim veri kümesi boyutuna deneysel olarak ulaşılmalıdır) ) Rekognition Özel Etiketler konsolu aracılığıyla kullanım durumunuza özeldir.

Resimleriniz zaten etiketlenmişse, Amazon Rekognition eğitimine yalnızca birkaç tıklamayla erişilebilir. Alternatif olarak, görüntüleri doğrudan Amazon Rekognition etiketleme arayüzü içinde etiketleyebilir veya Amazon SageMaker Yer Gerçeği onları sizin için etiketlemek için. Amazon Rekognition, görüntü kümenizden eğitim almaya başladığında, yalnızca birkaç saat içinde sizin için özel bir görüntü analizi modeli oluşturur. Arka planda, Rekognition Custom Labels eğitim verilerini otomatik olarak yükler ve inceler, doğru ML algoritmalarını seçer, bir modeli eğitir ve model performans ölçümleri sağlar. Daha sonra özel modelinizi şuradan kullanabilirsiniz: Tanıma Özel Etiketler API'sı ve uygulamalarınıza entegre edin.

Eğitim verilerini birleştirme ve bir Rekognition Özel Etiketler modeli eğitimi

içinde Bu gönderiyle ilişkili GitHub deposu, arka plan gürültüsünden bağımsız olarak bir duman alarmının sesini nasıl dinleyeceğinizi gösteren bir kod bulacaksınız. Bu durumda, Rekognition Özel Etiketleri modelimiz ikili bir sınıflandırma modelidir, yani sonuçların ya "duman alarmı sesi algılandı" ya da "duman alarmı sesi algılanmadı" olduğu anlamına gelir.

Özel bir model oluşturmak için eğitim verilerine ihtiyacımız var. Bu eğitim verileri iki ana türden oluşur: çevresel sesler ve algılamak istediğiniz sesler (duman alarmının çalması gibi).

Çevresel veriler, sesi algılamak istediğiniz ortam için tipik olan çok çeşitli ses manzaralarını temsil etmelidir. Örneğin, bir fabrika ortamında bir duman alarmı sesi algılamak istiyorsanız, altında o fabrika ortamında kaydedilen seslerle başlayın. çeşitli durumlar (tabii ki duman alarmı çalmadan).

Algılamak istediğiniz sesler mümkünse izole edilmelidir, yani kayıtlar herhangi bir çevresel arka plan sesi olmadan sadece sesin kendisi olmalıdır. Örneğimiz için, bu bir duman alarmının çalma sesidir.

Bu sesleri topladıktan sonra, GitHub deposundaki kod, çevresel sesleri temsil eden bir dizi görüntü oluşturmak için çevresel seslerin duman alarmı sesleriyle çeşitli şekillerde nasıl birleştirileceğini (ve ardından bunları spektrogramlara dönüştürüleceğini) gösterir. üzerlerinde duman alarmı sesleri olan ve olmayan. Aşağıdaki görüntü, üzerinde duman alarmı sesi (parlak yatay çubuklar) bulunan bazı çevresel seslere bir örnektir.

Amazon Rekognition PlatoBlockchain Data Intelligence ile ses olaylarını tespit edin. Dikey Arama. Ai.

Eğitim ve test verileri bir Amazon Basit Depolama Hizmeti (Amazon S3) kova. Aşağıdaki dizin yapısı, kova içindeki verileri düzenlemek için iyi bir başlangıç ​​noktasıdır.

Amazon Rekognition PlatoBlockchain Data Intelligence ile ses olaylarını tespit edin. Dikey Arama. Ai.

GitHub deposundaki örnek kod, kaç tane eğitim görüntüsü oluşturacağınızı seçmenize olanak tanır. Tanıma Özel Etiketleri, çok sayıda eğitim görüntüsü gerektirmez. 200–500 görüntüden oluşan bir eğitim seti yeterli olmalıdır.

Bir Tanıma Özel Etiketler projesi oluşturmak, eğitim verilerini ve (isteğe bağlı olarak) test verilerini içeren S3 klasörünün URI'lerini belirtmenizi gerektirir. Eğitim işi için veri kaynakları belirlenirken seçeneklerden biri Otomatik etiketleme, aşağıdaki ekran görüntüsünde gösterildiği gibi.

Amazon Rekognition PlatoBlockchain Data Intelligence ile ses olaylarını tespit edin. Dikey Arama. Ai.

Bu seçeneğin kullanılması, Amazon Rekognition'ın etiket adları olarak klasör adlarını kullandığı anlamına gelir. Duman alarmı algılama kullanım durumumuz için, tren ve test klasörlerinin içindeki klasör yapısı aşağıdaki ekran görüntüsüne benziyor.

Amazon Rekognition PlatoBlockchain Data Intelligence ile ses olaylarını tespit edin. Dikey Arama. Ai.

Eğitim verisi görüntüleri, alarm klasörüne giren duman alarmının sesini içeren spektrogramlar ve alarm klasöründeki duman alarmı sesini içermeyen spektrogramlar ile bu klasörlere gider. no_alarm dosya. Amazon Rekognition, bu adları özel etiket modeli için çıktı sınıfı adları olarak kullanır.

Özel bir etiket modelinin eğitimi genellikle 30-90 dakika sürer. Bu eğitimin sonunda, kullanıma hazır hale gelmesi için eğitilmiş modeli başlatmanız gerekir.

Ses algılama için uçtan uca mimari

Modelimizi oluşturduktan sonra, bir sonraki adım bir çıkarım hattı oluşturmaktır, böylece bir ses dosyasında bir duman alarmı sesi olup olmadığını tespit etmek için modeli kullanabiliriz. Bunu yapmak için, giriş sesi bir spektrograma dönüştürülmeli ve ardından eğitim sürecinde olduğu gibi pencerelenmeli ve frekansa göre filtrelenmelidir. Spektrogramın her penceresi, duman alarmının çalıp çalmadığını gösteren bir sınıflandırma döndüren modele verilir.

Aşağıdaki diyagram, bu çıkarım işlem hattını uygulayan örnek bir mimariyi göstermektedir.

Amazon Rekognition PlatoBlockchain Data Intelligence ile ses olaylarını tespit edin. Dikey Arama. Ai.

Bu mimari, bir ses dosyasının bir S3 kovasına yerleştirilmesini bekler, bu da daha sonra bir AWS Lambda çağrılacak işlev. Lambda, sunucuları sağlamadan veya yönetmeden hemen hemen her tür uygulama veya arka uç hizmeti için kod çalıştırmanıza olanak tanıyan sunucusuz, olaya dayalı bir bilgi işlem hizmetidir. 200'den fazla AWS hizmeti ve hizmet olarak yazılım (SaaS) uygulamasından bir Lambda işlevini tetikleyebilir ve yalnızca kullandığınız kadar ödeyebilirsiniz.

Lambda işlevi, ses dosyasının paketinin adını ve anahtarın (veya dosya adının) adını alır. Dosya, Amazon S3'ten işlevin belleğine indirilir ve bu bellek daha sonra onu bir spektrograma dönüştürür ve pencereleme ve frekans filtrelemesi gerçekleştirir. Spektrogramın pencerelenmiş her bir bölümü daha sonra sesi algılamak için önceden eğitilmiş Amazon Özel Etiketler modelini kullanan Amazon Rekognition'a gönderilir. Bu ses bulunursa, Lambda işlevi bir Amazon Basit Bildirim Servisi (Amazon SNS) bildirimi. Amazon SNS, bildirimlerin gönderilebileceği bir yayın/alt yaklaşımı sunar. Amazon Basit Kuyruk Hizmeti (Amazon SQS) kuyrukları, Lambda işlevleri, HTTPS uç noktaları, e-posta adresleri, mobil anında iletme ve daha fazlası.

Sonuç

Diğer sesler aynı anda ortaya çıksa bile, belirli seslerin ne zaman ortaya çıktığını belirlemek için ses verileriyle makine öğrenimini kullanabilirsiniz. Bunu yapmak, sesi bir spektrogram görüntüsüne dönüştürmeyi ve ardından pencereleme ve frekans bandına göre filtreleme yoluyla bu spektrogramın farklı bölümlerine yönelmeyi gerektirir. Tanıma Özel Etiketleri, ses algılama için özel bir modelin eğitilmesini kolaylaştırır.

Sen kullanabilirsiniz GitHub repo kendi deneyleriniz için bir başlangıç ​​noktası olarak bu gönderi için örnek kodu içerir. Ses olayı algılama hakkında daha fazla bilgi için, bkz. Ses Olayı Algılama: Bir Eğitim.


yazarlar hakkında

Amazon Rekognition PlatoBlockchain Data Intelligence ile ses olaylarını tespit edin. Dikey Arama. Ai.greg sommerville AWS müşterilerinin makine öğrenimi, IoT ve sunucusuz teknolojilerle ilgili zorlu sorunlara yenilikçi çözümler uygulamasına yardımcı olduğu AWS Prototipleme ve Bulut Mühendisliği ekibinde Kıdemli Prototip Oluşturma Mimarıdır. Michigan, Ann Arbor'da yaşıyor ve yoga yapmaktan, köpeklerine yemek yemekten ve poker oynamaktan hoşlanıyor.

Amazon Rekognition PlatoBlockchain Data Intelligence ile ses olaylarını tespit edin. Dikey Arama. Ai.Jeff Harman AWS müşterilerinin zorlu sorunlara yenilikçi çözümler uygulamasına yardımcı olduğu AWS Prototipleme ve Bulut Mühendisliği ekibinde Kıdemli Prototip Oluşturma Mimarıdır. Unionville, Connecticut'ta yaşıyor ve ağaç işleri, demircilik ve Minecraft'tan hoşlanıyor.

Zaman Damgası:

Den fazla AWS Makine Öğrenimi