5.5 KiB
Nesne Algılayıcınızı IoT Cihazınızdan Çalıştırın - Sanal IoT Donanımı ve Raspberry Pi
Nesne algılayıcınız yayınlandıktan sonra, IoT cihazınızdan kullanılabilir.
Görüntü sınıflandırıcı projesini kopyalayın
Stok algılayıcınızın büyük bir kısmı, önceki bir derste oluşturduğunuz görüntü sınıflandırıcı ile aynıdır.
Görev - görüntü sınıflandırıcı projesini kopyalayın
-
Eğer sanal bir IoT cihazı kullanıyorsanız bilgisayarınızda, ya da Raspberry Pi üzerinde
stock-counter
adında bir klasör oluşturun. Sanal bir IoT cihazı kullanıyorsanız, bir sanal ortam kurduğunuzdan emin olun. -
Kamera donanımını kurun.
- Eğer bir Raspberry Pi kullanıyorsanız, PiCamera'yı takmanız gerekecek. Ayrıca, kamerayı sabit bir konuma yerleştirmek isteyebilirsiniz; örneğin, kabloyu bir kutunun ya da tenekenin üzerine asarak veya kamerayı çift taraflı bantla bir kutuya sabitleyerek.
- Eğer sanal bir IoT cihazı kullanıyorsanız, CounterFit ve CounterFit PyCamera shim'i yüklemeniz gerekecek. Eğer sabit görüntüler kullanacaksanız, nesne algılayıcınızın daha önce görmediği bazı görüntüler yakalayın. Eğer web kameranızı kullanacaksanız, algılayacağınız stokları görebilecek şekilde konumlandırdığınızdan emin olun.
-
Kameradan görüntü yakalamak için üretim projesinin 2. dersi'ndeki adımları tekrarlayın.
-
Görüntü sınıflandırıcıyı çağırmak için üretim projesinin 2. dersi'ndeki adımları tekrarlayın. Bu kodun büyük bir kısmı nesne algılamak için yeniden kullanılacaktır.
Kodunuzu bir sınıflandırıcıdan görüntü algılayıcıya dönüştürün
Görüntüleri sınıflandırmak için kullandığınız kod, nesneleri algılamak için kullanılan koda oldukça benzerdir. Ana fark, Custom Vision SDK'da çağrılan yöntem ve çağrının sonuçlarıdır.
Görev - kodu bir sınıflandırıcıdan görüntü algılayıcıya dönüştürün
-
Görüntüyü sınıflandıran ve tahminleri işleyen üç satırlık kodu silin:
results = predictor.classify_image(project_id, iteration_name, image) for prediction in results.predictions: print(f'{prediction.tag_name}:\t{prediction.probability * 100:.2f}%')
Bu üç satırı kaldırın.
-
Görüntüdeki nesneleri algılamak için aşağıdaki kodu ekleyin:
results = predictor.detect_image(project_id, iteration_name, image) threshold = 0.3 predictions = list(prediction for prediction in results.predictions if prediction.probability > threshold) for prediction in predictions: print(f'{prediction.tag_name}:\t{prediction.probability * 100:.2f}%')
Bu kod, nesne algılayıcıyı çalıştırmak için tahmin edicinin
detect_image
yöntemini çağırır. Daha sonra, belirli bir eşik değerinin üzerindeki tüm tahminleri toplar ve bunları konsola yazdırır.Görüntü sınıflandırıcı yalnızca her etiket için bir sonuç döndürürken, nesne algılayıcı birden fazla sonuç döndürebilir. Bu nedenle, düşük olasılıklı tahminlerin filtrelenmesi gerekir.
-
Bu kodu çalıştırın; bir görüntü yakalayacak, nesne algılayıcıya gönderecek ve algılanan nesneleri yazdıracaktır. Eğer sanal bir IoT cihazı kullanıyorsanız, CounterFit'te uygun bir görüntü ayarlandığından veya web kameranızın seçili olduğundan emin olun. Eğer bir Raspberry Pi kullanıyorsanız, kameranızın bir raftaki nesnelere yöneldiğinden emin olun.
pi@raspberrypi:~/stock-counter $ python3 app.py tomato paste: 34.13% tomato paste: 33.95% tomato paste: 35.05% tomato paste: 32.80%
💁 Görüntüleriniz için uygun bir değer belirlemek amacıyla
threshold
ayarını değiştirmeniz gerekebilir.Çekilen görüntüyü ve bu değerleri Custom Vision'daki Predictions sekmesinde görebileceksiniz.
💁 Bu kodu code-detect/pi veya code-detect/virtual-iot-device klasöründe bulabilirsiniz.
😀 Stok sayıcı programınız başarıyla tamamlandı!
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ış yorumlamalardan sorumlu değiliz.