|
4 weeks ago | |
---|---|---|
.. | ||
README.md | 4 weeks ago | |
assignment.md | 4 weeks ago | |
pi-camera.md | 4 weeks ago | |
single-board-computer-classify-image.md | 4 weeks ago | |
virtual-device-camera.md | 4 weeks ago | |
wio-terminal-camera.md | 4 weeks ago | |
wio-terminal-classify-image.md | 4 weeks ago |
README.md
IoT Cihazından Meyve Kalitesini Kontrol Etme
Sketchnote: Nitya Narasimhan. Daha büyük bir versiyon için görsele tıklayın.
Ders Öncesi Test
Giriş
Son derste, görüntü sınıflandırıcıları ve bunları iyi ve kötü meyveleri tespit etmek için nasıl eğitebileceğinizi öğrendiniz. Bu görüntü sınıflandırıcıyı bir IoT uygulamasında kullanmak için, bir tür kamera kullanarak bir görüntü yakalayabilmeli ve bu görüntüyü sınıflandırılması için buluta gönderebilmelisiniz.
Bu derste, kamera sensörlerini ve bunları bir IoT cihazıyla görüntü yakalamak için nasıl kullanacağınızı öğreneceksiniz. Ayrıca IoT cihazınızdan görüntü sınıflandırıcıyı nasıl çağıracağınızı da öğreneceksiniz.
Bu derste şunları ele alacağız:
- Kamera sensörleri
- Bir IoT cihazı kullanarak görüntü yakalama
- Görüntü sınıflandırıcınızı yayınlama
- IoT cihazınızdan görüntüleri sınıflandırma
- Modeli geliştirme
Kamera Sensörleri
Kamera sensörleri, adından da anlaşılacağı gibi, IoT cihazınıza bağlayabileceğiniz kameralardır. Bu kameralar sabit görüntüler çekebilir veya akışlı video kaydedebilir. Bazıları ham görüntü verisi dönerken, diğerleri görüntü verisini JPEG veya PNG gibi bir görüntü dosyasına sıkıştırır. Genellikle IoT cihazlarıyla çalışan kameralar, alışık olduğunuz kameralardan çok daha küçük ve düşük çözünürlüklüdür, ancak üst düzey telefonlarla yarışabilecek yüksek çözünürlüklü kameralar da bulabilirsiniz. Değiştirilebilir lensler, çoklu kamera kurulumları, kızılötesi termal kameralar veya UV kameralar gibi birçok seçenek mevcuttur.
Çoğu kamera sensörü, her pikselin bir fotodiyot olduğu görüntü sensörlerini kullanır. Bir lens, görüntüyü görüntü sensörüne odaklar ve binlerce veya milyonlarca fotodiyot, her birine düşen ışığı algılar ve bunu piksel verisi olarak kaydeder.
💁 Lensler görüntüleri ters çevirir, kamera sensörü daha sonra görüntüyü doğru şekilde çevirir. Gözlerinizde de aynı durum geçerlidir - gördüğünüz şey gözünüzün arkasında ters algılanır ve beyniniz bunu düzeltir.
🎓 Görüntü sensörü, Aktif Piksel Sensörü (APS) olarak bilinir ve en popüler APS türü, tamamlayıcı metal oksit yarı iletken sensör veya CMOS'tur. Kamera sensörleri için kullanılan CMOS sensörü terimini duymuş olabilirsiniz.
Kamera sensörleri dijital sensörlerdir ve genellikle iletişimi sağlayan bir kütüphanenin yardımıyla görüntü verilerini dijital olarak gönderir. Kameralar, büyük miktarda veri göndermelerine olanak tanıyan SPI gibi protokoller kullanarak bağlanır - görüntüler, bir sıcaklık sensörü gibi bir sensörden gelen tek bir sayıdan çok daha büyüktür.
✅ IoT cihazlarında görüntü boyutuyla ilgili sınırlamalar nelerdir? Özellikle mikrodenetleyici donanımındaki kısıtlamaları düşünün.
Bir IoT Cihazı Kullanarak Görüntü Yakalama
IoT cihazınızı kullanarak sınıflandırılacak bir görüntü yakalayabilirsiniz.
Görev - Bir IoT Cihazı Kullanarak Görüntü Yakalama
IoT cihazınızı kullanarak bir görüntü yakalamak için ilgili kılavuzu takip edin:
Görüntü Sınıflandırıcınızı Yayınlama
Son derste görüntü sınıflandırıcınızı eğittiniz. IoT cihazınızdan kullanabilmek için modeli yayınlamanız gerekir.
Model İterasyonları
Modeliniz son derste eğitilirken, Performans sekmesinde yan tarafta iterasyonların gösterildiğini fark etmiş olabilirsiniz. Modeli ilk eğittiğinizde, eğitim sırasında İterasyon 1 görmüş olacaksınız. Tahmin görüntülerini kullanarak modeli geliştirdiğinizde, eğitim sırasında İterasyon 2 görmüş olacaksınız.
Modeli her eğittiğinizde yeni bir iterasyon elde edersiniz. Bu, farklı veri setleriyle eğitilmiş modelinizin farklı sürümlerini takip etmenin bir yoludur. Hızlı Test yaptığınızda, birden fazla iterasyon arasındaki sonuçları karşılaştırmak için kullanabileceğiniz bir açılır menü vardır.
Bir iterasyondan memnun olduğunuzda, bunu harici uygulamalar tarafından kullanılabilir hale getirmek için yayınlayabilirsiniz. Bu şekilde cihazlarınız tarafından kullanılan bir yayınlanmış sürümünüz olabilir, ardından yeni bir sürüm üzerinde birden fazla iterasyon boyunca çalışabilir ve memnun olduğunuzda bunu yayınlayabilirsiniz.
Görev - Bir İterasyonu Yayınlama
İterasyonlar Custom Vision portalından yayınlanır.
-
CustomVision.ai adresinden Custom Vision portalını başlatın ve henüz açık değilse oturum açın. Ardından
fruit-quality-detector
projenizi açın. -
Üstteki seçeneklerden Performans sekmesini seçin.
-
Yan taraftaki İterasyonlar listesinden en son iterasyonu seçin.
-
İterasyon için Yayınla düğmesini seçin.
-
Modeli Yayınla iletişim kutusunda, Tahmin kaynağı olarak önceki derste oluşturduğunuz
fruit-quality-detector-prediction
kaynağını seçin. AdıIteration2
olarak bırakın ve Yayınla düğmesini seçin. -
Yayınlandıktan sonra, Tahmin URL'si düğmesini seçin. Bu, tahmin API'sinin ayrıntılarını gösterecek ve modeli IoT cihazınızdan çağırmak için bunlara ihtiyacınız olacak. Alt bölüm Bir görüntü dosyanız varsa olarak etiketlenmiştir ve istediğiniz ayrıntılar bunlardır. Şu şekilde bir URL'nin bir kopyasını alın:
https://<location>.api.cognitive.microsoft.com/customvision/v3.0/Prediction/<id>/classify/iterations/Iteration2/image
Burada
<location>
, özel görüş kaynağınızı oluştururken kullandığınız konum olacak ve<id>
harfler ve rakamlardan oluşan uzun bir kimlik olacaktır.Ayrıca Tahmin Anahtarı değerinin bir kopyasını alın. Bu, modeli çağırırken geçirmeniz gereken güvenli bir anahtardır. Sadece bu anahtarı geçen uygulamaların modeli kullanmasına izin verilir, diğer tüm uygulamalar reddedilir.
✅ Yeni bir iterasyon yayınlandığında, farklı bir adı olacaktır. IoT cihazının kullandığı iterasyonu nasıl değiştirebileceğinizi düşünün.
IoT Cihazınızdan Görüntüleri Sınıflandırma
Artık bu bağlantı ayrıntılarını kullanarak IoT cihazınızdan görüntü sınıflandırıcıyı çağırabilirsiniz.
Görev - IoT Cihazınızdan Görüntüleri Sınıflandırma
IoT cihazınızı kullanarak görüntüleri sınıflandırmak için ilgili kılavuzu takip edin:
Modeli Geliştirme
IoT cihazınıza bağlı kamerayı kullanırken elde ettiğiniz sonuçların beklediğinizle eşleşmediğini fark edebilirsiniz. Tahminler, bilgisayarınızdan yüklenen görüntüleri kullanmaya kıyasla her zaman o kadar doğru olmayabilir. Bunun nedeni, modelin tahminlerde kullanılan verilerden farklı verilerle eğitilmiş olmasıdır.
Bir görüntü sınıflandırıcıdan en iyi sonuçları almak için, modeli tahminlerde kullanılan görüntülere mümkün olduğunca benzeyen görüntülerle eğitmek istersiniz. Örneğin, eğitmek için telefon kameranızı kullandıysanız, görüntü kalitesi, keskinlik ve renk, bir IoT cihazına bağlı bir kameradan farklı olacaktır.
Yukarıdaki görüntüde, soldaki muz resmi bir Raspberry Pi Kamerası kullanılarak çekildi, sağdaki ise aynı muzun aynı konumda bir iPhone kullanılarak çekildi. Kalite açısından belirgin bir fark var - iPhone resmi daha keskin, daha parlak renkler ve daha fazla kontrast içeriyor.
✅ IoT cihazınızın yakaladığı görüntülerin yanlış tahminlere neden olmasına başka neler sebep olabilir? IoT cihazının kullanılabileceği ortamı düşünün, görüntünün yakalanmasını etkileyebilecek faktörler nelerdir?
Modeli geliştirmek için, IoT cihazından yakalanan görüntüleri kullanarak yeniden eğitebilirsiniz.
Görev - Modeli Geliştirme
-
IoT cihazınızı kullanarak hem olgun hem de olgunlaşmamış meyvelerin birden fazla görüntüsünü sınıflandırın.
-
Custom Vision portalında, Tahminler sekmesindeki görüntüleri kullanarak modeli yeniden eğitin.
-
Görüntüleriniz, eğitmek için kullanılan orijinal görüntülerden çok farklı görünüyorsa, Eğitim Görüntüleri sekmesindeki tüm orijinal görüntüleri seçip Sil düğmesini seçerek silebilirsiniz. Bir görüntüyü seçmek için, imlecinizi üzerine getirin ve bir işaret görünecektir, bu işareti seçerek görüntüyü seçebilir veya seçimden kaldırabilirsiniz.
-
Modelin yeni bir iterasyonunu eğitin ve yukarıdaki adımları kullanarak yayınlayın.
-
Kodunuzdaki uç nokta URL'sini güncelleyin ve uygulamayı yeniden çalıştırın.
-
Tahmin sonuçlarından memnun kalana kadar bu adımları tekrarlayın.
🚀 Zorluk
Görüntü çözünürlüğü veya aydınlatma tahmini ne kadar etkiler?
Cihaz kodunuzdaki görüntülerin çözünürlüğünü değiştirin ve bunun görüntü kalitesine bir fark yaratıp yaratmadığını görün. Ayrıca aydınlatmayı değiştirmeyi deneyin.
Çiftliklere veya fabrikalara satılacak bir üretim cihazı oluşturacak olsaydınız, her zaman tutarlı sonuçlar vermesini nasıl sağlardınız?
Ders Sonrası Test
Gözden Geçirme ve Kendi Kendine Çalışma
Custom Vision modelinizi portalı kullanarak eğittiniz. Bu, görüntülerin mevcut olmasına dayanır - ve gerçek dünyada cihazınızdaki kameranın yakaladığı görüntülerle eşleşen eğitim verilerini elde edemeyebilirsiniz. Bunu, IoT cihazınızdan yakalanan görüntüleri kullanarak bir modeli eğitmek için eğitim API'sini doğrudan cihazınızdan kullanarak aşabilirsiniz.
- Custom Vision SDK hızlı başlangıcında eğitim API'si hakkında bilgi edinin.
Ödev
Sınıflandırma sonuçlarına yanıt verin
Feragatname:
Bu belge, AI çeviri hizmeti Co-op Translator kullanılarak çevrilmiştir. Doğruluk için çaba göstersek de, otomatik çevirilerin hata veya yanlışlıklar içerebileceğini lütfen unutmayın. Belgenin orijinal dili, yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından kaynaklanan yanlış anlamalar veya yanlış yorumlamalar için sorumluluk kabul etmiyoruz.