Teknoloji

Mikrodenetleyicilerde Makine Öğrenimini Dağıtmak: TinyML Ses, Görüntü ve Hareket Sınıflandırmasını Nasıl Sağlar

Güncellendi: 6 Şubat 2024

TinyML, Küçük Makine Öğrenimi’nin kısaltmasıdır ve makine öğrenimi algoritmalarının mikrodenetleyicilere uygulanmasını ifade eder. Mikrodenetleyiciler, genellikle gömülü sistemlerde ve Nesnelerin İnterneti (IoT) cihazlarında kullanılan küçük, düşük güç tüketimli bilgisayar cihazlarıdır.
TinyML’nin amacı, makine öğreniminin gücünü bu küçük cihazlara getirerek, daha önce mümkün veya pratik olmayan görevleri yerine getirmelerini sağlamaktır. Mikrodenetleyicilerde makine öğrenimi modelleri çalıştırarak, TinyML, sınırlı hesaplama kaynaklarına sahip cihazlarda, ses tanıma, hareket tanıma ve öngörücü bakım gibi görevleri gerçekleştirmeyi mümkün kılar; bu cihazlar genellikle düşük bellek, düşük güç ve sınırlı işlem yeteneklerine sahiptir.
Mikrodenetleyicilerde makine öğrenimi uygulamanın bazı zorlukları vardır; bunlar arasında sınırlı bellek ve işlem gücü ile kaynak kısıtlı ortamlar için algoritmaların optimize edilmesi ihtiyacı bulunmaktadır. Ancak, donanım ve yazılım alanındaki ilerlemeler, mikrodenetleyicilerde makine öğrenimini giderek daha mümkün hale getiriyor ve sağlık, tarım ve akıllı evler gibi alanlarda TinyML için artan sayıda uygulama görüyoruz.
Bu blog yazısı, TinyML’nin ses tanıma, hareket tanıma ve görüntü sınıflandırma gibi üç ana alandaki çeşitli uygulamalarını inceleyecektir.

Ses Tanımada TinyML

TinyML’nin ses tanımada geniş bir uygulama yelpazesi vardır; sesleri tanımlama ve sınıflandırma sürecidir. Anahtar kelime tespiti, ses kayıtlarında belirli kelimeleri veya ifadeleri tanıma sürecidir. Bu, TinyML’nin ses tanımadaki yaygın bir uygulamasıdır; çünkü akıllı hoparlörler veya sesli asistanlar gibi cihazların belirli komutlara yanıt vermesini sağlar. Örneğin, TinyML algoritmalarıyla donatılmış bir akıllı hoparlör, “müzik çal” ifadesini tanıyabilir ve bir şarkı çalarak yanıt verebilir. 

Anahtar kelime tespitinin birçok avantajı vardır.  İlk olarak, cihazların elle kontrol edilmesinin zor veya imkansız olduğu durumlarda, örneğin sürüş veya yemek pişirme sırasında, eller serbest kontrol sağlar.  İkinci olarak, engelli bireyler için erişilebilirliği artırabilir; bu sayede yalnızca sesleriyle cihazlarla etkileşimde bulunabilirler.  Üçüncü olarak, cihazların daha kolay ve sezgisel bir şekilde kullanılmasını sağlayarak genel kullanıcı deneyimini iyileştirebilir.

Anahtar kelime tespitinin hayatımızı nasıl faydalı hale getireceği konusunda olanaklar geniş ve çeşitlidir.  Örneğin, akıllı ev cihazlarıyla daha verimli ve doğal bir iletişim sağlanabilir; bu sayede kullanıcılar, basit sesli komutlarla ışıklarını, termostatlarını ve aletlerini kontrol edebilirler.  Ayrıca, tekerlekli sandalyeler veya protezler gibi cihazların elle kontrol edilmesini sağlayarak engelli bireyler için erişilebilirliği artırabilir.  Genel olarak, anahtar kelime tespiti, teknolojiyi etkileşim şeklimizi devrim niteliğinde değiştirme potansiyeline sahip, ses tanımada TinyML’nin heyecan verici bir uygulamasıdır.

Burada, popüler ve yaygın mikrodenetleyicileri kullanarak kendi anahtar kelime tespit demo’nuzu oluşturmanız için sizi ilham vermesi amacıyla iki eğitim derledik.

Örnek Bir: TinyML’nin Potansiyelini Keşfedin: XIAO nRF52840 Sense Kullanarak Kendi Anahtar Kelime Tespit Uygulamanızı Oluşturun

Başlamadan önce, piyasada bulunan bazı yaygın Sesli Asistanları, örneğin Google Home veya Amazon Echo-Dot hakkında bilgi edinelim; bu asistanlar, yalnızca “Hey Google” gibi belirli anahtar kelimelerle “uyandırıldıklarında” insanlara tepki verirler.

Tüm süreç iki aşamaya ayrılabilir. Aşama 1, daha küçük bir mikroişlemci üzerinde bir TinyML modelinin sürekli olarak bir anahtar kelimeyi dinlemesini içerir; bu, Aşama 2’yi tetikler; veriler buluta gönderilir ve tespit edildiğinde daha büyük bir modelde işlenir.

Bu projede, Aşama 1’e odaklanacağız ve KWS uygulaması için anahtar kelimeyi tespit etmek üzere XIAO BLE Sense’in dijital mikrofonunu kullanacağız.

Donanım Tanıtımı: XIAO nRF52840 Sense, güçlü bir 32-bit ARM Cortex-M4 işlemcisi ile donatılmıştır ve 256KB RAM ve 1MB flash belleğe sahiptir. Bu, mikrodenetleyicinin sınırlı kaynaklarıyla bile karmaşık makine öğrenimi algoritmalarını çalıştırmasını mümkün kılar. Ayrıca, XIAO nRF52840 Sense, ses ve hareket tanıma uygulamaları için gerekli olan mikrofon ve ivmeölçer gibi bir dizi sensör içerir. Diğer cihazlarla ve sistemlerle entegrasyonu kolaylaştıran yerleşik Bluetooth ve USB bağlantısına da sahiptir.

Anahtar Kelime Tespit Projesinin Temel Diyagramı

  1. Veri Seti 

Veri seti, Makine Öğrenimi İş Akışının kritik bir bileşenidir; özellikle ses sınıflandırması ile çalışırken. Ses verileriyle ilgilendiğimiz için, mikrofon tarafından üretilen ses dalgalarını 16KHz’de ve 16 bit derinlikte örneklemek önemlidir. Bu spesifikasyon, XIAO BLE Sense, bir bilgisayar veya bir cep telefonu gibi çeşitli cihazlar tarafından karşılanabilir.

2. Edge Impulse ile Çevrimiçi Ses Verisi Yakalama ve Akıllı Telefon

TinyML Made Easy eğitiminde anomali tespiti ve hareket sınıflandırması için cihazımızı nasıl kuracağımızı ve test edeceğimizi öğrendik ve verileri yakalamak için Edge Impulse Studio’ya bağlandık. Ancak, 16KHz yüksek örnekleme frekansı nedeniyle Veri İletici işlevini kullanarak ses verisi yakalamak mümkün değildir. Şu anda, ses verilerini yakalamanın en kolay yolu, bunları WAV dosyasına dönüştürmek ve yükleyici ile yüklemektir. Alternatif olarak, ses verileri, Edge Impulse Studio çevrimiçi ile bağlantılı bir akıllı telefon kullanılarak yakalanabilir. Daha fazla rehberlik için Edge Impulse belgeleri ve eğitimlerine başvurabilirsiniz.

3. XIAO BLE Sense ile (çevrimdışı) Ses Verisi Yakalama

Ses verilerini yakalamanın ve yerel olarak .wav dosyası olarak kaydetmenin en kolay yolu, XIAO ailesi cihazları için bir genişletme kartı kullanmaktır; Seeed Studio XIAO Genişletme Kartı. Bu genişletme kartı, OLED Ekran, SD Kart arayüzü, RTC, pasif buzzer, RESET/Kullanıcı düğmesi, 5V servo konektörü ve birden fazla veri arayüzü gibi zengin çevresel birimleri kullanarak prototipler ve projeler oluşturmayı kolay ve hızlı hale getirir.

Bu eğitim, anahtar kelimeleri sınıflandırmaya odaklanacak ve cihazda bulunan MicroSD kart, veri yakalamada bize çok önemli bir yardımcı olacaktır.

Kayıtlı sesi bir SD karta nasıl kaydedeceğinize dair ayrıntılı adımları öğrenmek için buraya tıklayın

4. (çevrimdışı) Ses Verisi Yakalama için Akıllı Telefon veya PC Kullanma

Ses verilerini yakalamanın bir diğer seçeneği, 16KHz örnekleme frekansı ve 16 Bit derinliği olan bir PC veya akıllı telefon kullanmaktır. Voice Recorder Pro (IOS) bu amaç için iyi bir uygulamadır. Kaydedilen ses, .wav dosyası olarak kaydedilebilir ve daha fazla kullanım için bilgisayarınıza gönderilebilir.

5. Edge Impulse Studio ile Model Eğitimi

Bu oturum, aşağıdaki adımları içerecektir: MFCC kullanarak ön işleme, model tasarımı ve eğitimi, test etme, dağıtım ve çıkarım, ve son işleme. Bu adımlar hakkında ayrıntıya girmeyeceğiz, ancak daha fazla bilgi için Seeed’in wiki’sine (Seeed Studio XIAO nRF52840 Sense Edge Impulse Başlangıç Kılavuzu

) veya Hackster’daki orijinal proje eğitimlerine göz atabilirsiniz.

Örnek İki: TinyML Kolaylaştırıldı – XIAO ESP32S3 ile Anahtar Kelime Tespiti (KWS)

Seeed XIAO ailesinin devasa yeni küçük cihazı ESP32S3 Sense üzerinde Makine Öğrenimini keşfetmeye devam ediyoruz.

Donanım Tanıtımı: XIAO ESP32S3 Sense, Espressif’in ESP32-S3 çipi ile güçlendirilmiş, kompakt ve güçlü bir mikrodenetleyicidir. Çift çekirdekli Xtensa LX7 işlemcisi, entegre Wi-Fi ve Bluetooth sunmaktadır. Hesaplama gücü, enerji verimliliği ve çok yönlü bağlantı dengesi, onu TinyML uygulamaları için mükemmel bir platform haline getirir. Genişletme kartı ile, 1600×1200 OV2640 kamera, bir SD kart yuvası ve dijital mikrofon gibi cihazın “hissetme” özelliklerine erişim sağlarız. Bu bileşenler, özellikle entegre mikrofon ve SD kart, bu projede hayati öneme sahiptir.

Proje, Makine Öğrenimi İş Akışı ve XIAO ESP32S3 Sense üzerinde bir impuls oluşturma, ön işleme, model tanımlama ve eğitim adımlarını içeren bir genel bakışla başlar. Edge Impulse kullanarak ses verilerini yakalamayı ve etiketlemeyi ve bir makine öğrenimi modelini eğitmeyi gösterir. Ardından, proje XIAO ESP32S3 ve Edge Impulse yazılımını kullanarak ses verilerini toplama ve gerçek zamanlı anahtar kelime tespiti yapmayı gösterir. Proje, kodun detaylı bir açıklamasını ve mikrodenetleyici üzerinde modeli dağıtma ve test etme adımlarını içerir. Son olarak, proje ses verilerini bir SD kartta depolamayı ve verileri analiz etmek ve görselleştirmek için son işleme görevlerini gerçekleştirmeyi gösterir. Proje, Anahtar Kelime Tespiti ve mikrodenetleyicilerde Makine Öğrenimi’nin potansiyel uygulamaları hakkında bir tartışma ile sona erer ve daha fazla öğrenme için kaynaklar sağlar.

Görüntü Sınıflandırmasında TinyML

Görüntü sınıflandırması, görüntüleri önceden tanımlanmış sınıflara veya kategorilere ayırmayı içeren bir bilgisayarla görme görevidir. Görüntü sınıflandırmasının amacı, bir makine öğrenimi modeline görüntüler içindeki farklı nesneleri veya desenleri tanımayı ve ayırt etmeyi öğretmektir.

Görüntü sınıflandırmasında, bir makine öğrenimi modeli, her görüntünün belirli bir sınıf veya kategori ile ilişkilendirildiği etiketli görüntülerden oluşan bir veri kümesi üzerinde eğitilir. Model, sınıflandırma görevine ilişkin olan şekiller, renkler veya dokular gibi görüntülerden özellikleri tanımlamayı ve çıkarmayı öğrenir.

Model eğitildikten sonra, yeni, etiketlenmemiş görüntülerin sınıfını veya kategorisini tahmin etmek için kullanılabilir. Model, yeni görüntünün özelliklerini analiz eder ve tahmin yapmak için bunları eğitim veri kümesindeki görüntülerin özellikleriyle karşılaştırır.

Görüntü sınıflandırmasının birçok uygulaması vardır; bunlar arasında nesne tanıma, yüz tanıma ve tıbbi teşhis bulunmaktadır. Bilgisayarla görmenin temel bir görevidir ve üretimden sağlık hizmetlerine, eğlenceye kadar geniş bir yelpazede endüstrilerde kullanılmaktadır.

Örnek Bir: TinyML Kolaylaştırıldı: XIAO ESP32S3 Sense Üzerinde Görüntü Sınıflandırması

Donanım Tanıtımı: Yakın zamanda, gömülü ML hesaplama gücü ve fotoğrafçılık yeteneğini birleştiren uygun fiyatlı bir geliştirme kartı olan XIAO ESP32S3 Sense‘i piyasaya sürdük. 8MB PSRAM ve 8MB FLASH ile donatılmış bu kart, bir kamera sensörü, dijital mikrofon ve SD kart desteği entegre ederek, TinyML (akıllı ses ve görüntü AI) ile başlamak isteyen geliştiriciler için harika bir araçtır. Görüntü sınıflandırması ve nesne tespiti gibi akıllı görsel ve ses uygulamalarını kolayca prototipleyebilir ve dağıtabilirsiniz. 

Tüm proje aşağıdaki adımlara ayrılmıştır: 

  1. XIAO ESP32S3 Sense’i Arduino IDE’ye Kurma
  2. Kartı BLINK ile Test Etme
  3. Sense modülünü (Genişletme Kartı) Bağlama
  4. Mikrofon Testi
  5. Kamerayı Test Etme
  6. WiFi’yi Test Etme
  7. Meyveler ve Sebzeler – Bir TinyML Görüntü Sınıflandırma Projesi
  8. Modeli Edge Impulse Studio ile Eğitme
  9. Modeli Test Etme (Çıkarım)
  10. Daha Büyük Bir Model ile Test Etme

Hareket Sınıflandırması/Anomali Tespiti için TinyML 

TinyML, ivmeölçerler ve jiroskoplar gibi sensörlerden gelen hareket verilerinin gerçek zamanlı analizini sağlamak için hareket sınıflandırması ve anomali tespiti için kullanılabilir. Hareket sınıflandırması, hareket verilerini önceden tanımlanmış sınıflara veya kategorilere ayırmayı içerirken, anomali tespiti anormal veya beklenmedik hareket desenlerini tanımlamayı içerir.

TinyML kullanarak hareket sınıflandırmasına bir örnek, yürüyüş, koşu veya zıplama gibi insan aktivitelerinin analizidir. Bu uygulamada, bir makine öğrenimi modeli, her hareketin belirli bir aktivite sınıfıyla ilişkilendirildiği etiketli hareket verilerinden oluşan bir veri kümesi üzerinde eğitilir. Model, aktivite sınıflandırma görevine ilişkin olan frekans, genlik veya faz gibi hareket verilerinden özellikleri tanımlamayı ve çıkarmayı öğrenir.

Model eğitildikten sonra, yeni, etiketlenmemiş hareket verilerinin aktivite sınıfını gerçek zamanlı olarak tahmin etmek için kullanılabilir. Model, yeni hareket verilerinin özelliklerini analiz eder ve tahmin yapmak için bunları eğitim veri kümesindeki hareket verilerinin özellikleriyle karşılaştırır.

TinyML kullanarak anomali tespiti, bir makine öğrenimi modelinin normal hareket desenlerini tanımayı ve anormal veya beklenmedik desenleri tanımlamayı öğrenmesini içerir. Bu, anormal hareket desenlerinin bir arıza veya kusurun varlığını gösterebileceği tahmine dayalı bakım gibi uygulamalarda faydalı olabilir.

TinyML’yi hareket sınıflandırması ve anomali tespiti için kullanmak üzere, sensör girişi yeteneklerine sahip bir mikrodenetleyici gereklidir ve mikrodenetleyici ortamı için optimize edilmiş bir makine öğrenimi modeli gereklidir. Modelin boyutunu azaltmak ve mikrodenetleyici için performansını optimize etmek için kuantizasyon, budama ve sıkıştırma gibi teknikler kullanılabilir.

Genel olarak, hareket sınıflandırması ve anomali tespiti için TinyML, sensörlerden gelen hareket verilerinin gerçek zamanlı analizini sağlayarak değerli içgörüler sunabilir ve sağlık, spor ve endüstriyel otomasyon gibi alanlarda geniş bir uygulama yelpazesini mümkün kılabilir.

Örnek Bir: XIAO nRF52840 Sense ile Taşımadaki Konteynerler için Anomali Tespiti ve Hareket Sınıflandırması 

Arka Plan: Kargo hasarı, düşme, yuvarlanma, kırılma veya elleçleme sırasında çarpma gibi faktörlerden kaynaklanan yaygın bir durumdur. Mekanik elleçleme ekipmanlarının dikkatsiz hareketi ve ağırlık yüklerine ve kaldırma ekipmanına dikkat edilmemesi, kargo hasarının iki yaygın nedenidir. Doğru palet paketleme teknikleri ve uygun kamyon yükleme teknikleri bu sorunları önlemeye yardımcı olabilir.

Çözüm: XIAO nRF52840 Sense ile güçlendirilmiş anomali tespit aracı

Kargo hasarını önlemek için, XIAO nRF52840 Sense ile güçlendirilmiş bir anomali tespit aracı, anormallikleri hızlı bir şekilde tespit edebilir ve ilgili önlemleri tetikleyebilir. Bu araç, kargo sahiplerinin çıkarlarını koruyabilir ve taşımada gereksiz kayıpları önleyebilir. Cihaz, belirli bir konteynerin taşıma geçmişini, yolculuğunu deniz, kara, kaldırma ve bekleme gibi tipik durumlara ayırarak tanımlayabilir. Eğer bir konteyner, beklenmedik elleçleme veya depolama koşulları gibi tipik olmayan durumlarda bulunuyorsa anormallikler tespit edilir. Personel, herhangi bir acil durumun meydana gelip gelmediğini kontrol etmek için ilgili önlemleri alabilir.

Neden XIAO nRF52840 Sense: Düşük maliyetli ve TinyML ile akıllı

Marcelo Rovail, bu cihazı oluşturmak için TinyML ve XIAO nRF52840 Sense mikrodenetleyicisini seçti. Mikrodenetleyiciler, düşük maliyetli elektronik bileşenlerdir ve az miktarda enerji kullanmak üzere tasarlanmışlardır; hemen hemen her tüketici, tıbbi, otomotiv veya endüstriyel cihazda bulunabilirler. TinyML, mikrodenetleyicileri ve makine öğrenimi algoritmalarını kullanarak sensör verilerinden anlam çıkarmak için kullanılan yeni bir teknolojidir. Nesnelerin İnterneti (IoT) ile birlikte, mikrodenetleyiciler tarafından üretilen veri artmakta, ancak veri iletiminin yüksek maliyeti ve karmaşıklığı nedeniyle bunun büyük bir kısmı kullanılmamaktadır. TinyML, bu cihazlarda çok az güç kullanarak makine zekasının sensör verilerini daha fazla yorumlamasını sağlar.

Seeed Studio XIAO nRF52840 Sense, yerleşik IMU ve PDM ile birlikte gelir ve bağlı olduğu nesnenin özgül ağırlığını ve açısal hızını ölçüp raporlayabilir. Ayrıca Bluetooth 5.0 kablosuz yeteneğine sahiptir ve düşük güç tüketimi ile çalışarak bu tür uygulamalar için ideal bir platform oluşturur.

Genel olarak, XIAO nRF52840 Sense ile güçlendirilmiş anomali tespit aracı, taşıma sırasında kargo hasarını önlemek için yenilikçi bir çözümdür. Sensör verilerinin gerçek zamanlı analizini sağlamak ve kargo hasarını önlemek için ilgili önlemleri tetiklemek amacıyla TinyML ve mikrodenetleyicilerin gücünü birleştirir.


SenseCraft AI’yi Tanıtıyoruz

SenseCraft AI, kod yazmadan/düşük kod ile kolay AI modeli eğitimi ve dağıtımı sağlayan bir platformdur. Şu anda XIAO ESP32S3, Grove Vision AI Modülü v2 ve reComputer Jetson ile uyumlu çalışarak eğitilen modellerin bu ürünlere tamamen uyumlu olmasını sağlar. Ayrıca, bu platform üzerinden modellerin dağıtımı, web sitesinde tanımlama sonuçlarının anında görselleştirilmesini sağlar ve model performansının hızlı bir şekilde değerlendirilmesine olanak tanır.

TinyML uygulamaları için ideal olan bu platform, cihazı bağlayarak, bir model seçerek ve tanımlama sonuçlarını görüntüleyerek, hazır veya özel AI modellerini zahmetsizce dağıtmanıza olanak tanır.

TinyML, ses, görüntü ve hareket sınıflandırma görevlerini gerçekleştirebilen akıllı, düşük güç tüketimli ve maliyet etkin gömülü sistemler ve IoT cihazlarının geliştirilmesini sağlar. Bu, akıllı ev cihazlarından sağlık hizmetlerine ve endüstriyel otomasyona kadar geniş bir uygulama yelpazesi için yeni fırsatlar sunar.

Daha fazla TinyML hikayesini keşfedin:

Leave a Reply

Your email address will not be published. Required fields are marked *