Raspberry Pi’nin yenisi Yapay Zeka Kamera Kiti CPU’nun sinir ağı modellerini işleme yükünü alır; bunun yerine Sony IMX500 tüm zorlu işleri yapıyor. Evet 70 dolar Raspberry Pi AI Kamera Kiti henüz piyasaya sürüldü ve incelememiz için bir üniteye erken erişimimiz oldu, ancak size sete nasıl başlayacağınızı göstermek istedik ve bu, nasıl yapılır, başlangıç ve nasıl yapılacağı konularını kapsayan kısa bir serinin ilki olacak. Kitle birlikte kullanmak üzere kendi sinir ağı modellerinizi oluşturun.
Bu bölümde işleri kurup çalıştırıyoruz, yazılımı terminalden ve Python aracılığıyla nasıl kullanacağımızı öğreniyoruz. Nasıl yapılacağını öğrenmek için Raspberry Pi 5 kullanacağız, ancak işlem Raspberry Pi 4 veya Zero 2 W’de tekrarlanabilir. Diğer Pi modellerinin çalışması için birkaç ince ayara ihtiyaç duyabileceğini unutmayın.
Bu proje için ihtiyacınız olacak
- Raspberry Pi 5 veya 4
- Raspberry Pi AI Kamera
Raspberry Pi AI Kameranın Kurulumu
İlk adımımız donanımı kurmaktır, neyse ki bunu yapmak gerçekten çok kolaydır.
- Kameranın plastik klipslerinin kilidini dikkatli bir şekilde açın ve kamera kablosunun geniş ucunu, metal “dişler” kameranın önünden görünecek şekilde takın.
- Kabloyu yerine kilitleyin.
- Güç kapalıyken, CAM1 (Pi4 üzerinde KAMERA) konektörü üzerindeki plastik klipsin kilidini açın. Evet, CAM1 kullanılacak konnektördür. CAM0’ı denedik ve cihaz yazılımı güncellemesinden sonra bile kamera Pi 5 tarafından algılanmadı.
- Kamera kablosunun diğer ucunu metal pinleri Pi üzerindeki USB/Ethernet bağlantı noktasına bakacak şekilde konnektöre takın.
- Kablonun düz olup olmadığını kontrol edin ve dikkatlice yerine kilitleyin.
- Raspberry Pi’yi güçlendirin Raspberry Pi masaüstüne.
- Bir terminal aç ve önce yazılım deposu listesini güncelleyin, ardından tam yükseltme gerçekleştirin.
sudo apt update && sudo apt full-upgrade
- Raspberry Pi AI Kamerada kullanılan Sony IMX500 yazılım paketini yükleyin. Bu, Sony IMX500’ün çalışması için gerekli donanım yazılımı dosyalarını yükleyecektir. Ayrıca /usr/share/imx500-models/ dizinine sinir ağı modellerini yükleyecek ve rpicam-apps’i IMX500 ile kullanılmak üzere güncelleyecektir.
sudo apt install imx500-all
- Raspberry Pi’yi yeniden başlatın
Demo uygulamalarını çalıştırma
Raspberry Pi OS, hızlı kamera projeleri için veya bu durumda kameranın düzgün çalışıp çalışmadığını test etmek için kullanılabilecek bir dizi kamera uygulamasına sahiptir. Birincisi, kamera testinin “merhaba dünyası” olan raspi-merhaba. Bunu hiç bitmeyen bir zamanlayıcı (-t 0s) ve mobilenet nesne algılama modeliyle kullanacağız.
- Bir terminal açın ve bu komutu girin, ardından Enter tuşuna basın.
rpicam-hello -t 0s --post-process-file /usr/share/rpi-camera-assets/imx500_mobilenet_ssd.json
- Test etmek için nesneleri kameraya tutun. Vizörde kameranın nesneleri (ve insanları) tanımladığını göreceksiniz.
- Odak kapalıysa nesneyi odağa taşıyın veya odağı ayarlayın birlikte verilen ayarlama aracını kullanarak merceği yakına odaklama için saat yönünün tersine, uzağa odaklanma için saat yönünde çevirin. Minimum odak 20 CM’dir.
- Testi tamamladığınızda pencereyi sonuna kadar kapatın.
Poz tahminini kullanmak istersek, posenet modelini kullanmak için komutu değiştirmemiz gerekir.
- Bir terminal açın ve bu komutu girin, ardından Enter tuşuna basın.
rpicam-hello -t 0s --post-process-file /usr/share/rpi-camera-assets/imx500_posenet.json
- Kameranın önünde durun, Kollarınızın, bacaklarınızın ve gövdenizin üzerinde bir tel çerçevenin belirdiğini fark edin. Hareket edin! Gerekirse odağı değiştirin.
- Bitirmek için pencereyi kapatın.
Oturumu on saniyelik bir video olarak kaydetmek için, bir MP4 dosyasının çıktısını almak üzere raspicam-vid’i kullanın. Bu, videoyu sınırlayıcı kutular ve tanınan nesnelerle birlikte kaydedecektir.
- Bir terminal penceresi açın ve videoyu çıktı.mp4 adlı bir dosyaya kaydetmek için bu komutu kullanın. Komut ayrıca çözünürlüğü ve FPS’yi ayarlamak için parametreler alabilir, –genişlik 1920 –yükseklik 1080 –kare hızı 30. Ayrıca posenet modelini de değiştirip çıktısını kaydedebiliriz.
rpicam-vid -t 10s -o output.mp4 --post-process-file /usr/share/rpi-camera-assets/imx500_mobilenet_ssd.json
- Kodu çalıştırmak için Enter’a basın. Bir süre sonra akış görünecektir. Nesneleri kameraya gösterin ve değişen düzeylerde kesinlik ile tanımlanmalarını izleyin. Önizleme penceresi kapatıldığında kayıt sona erecektir.
- Dosya Yöneticisi aracılığıyla dosyaya gidin ve VLC’yi kullanarak açın. Bu varsayılan olmalıdır, değilse sağ tıklayıp VLC’yi seçebilirsiniz.
Raspberry Pi AI Kamerayı Picamera2 ile Kullanma
Picamera2, çok sayıda Raspberry Pi kamerasını kontrol etmek için kullanılabilecek Python modülüdür ve artık yeni AI Kamera desteğine sahiptir. Ancak kullanmadan önce bazı yazılım bağımlılıklarını yüklememiz gerekiyor.
- Bir terminal açın ve bu komutu çalıştırın.
sudo apt update && sudo apt install python3-opencv python3-munkres
- Picamera2 GitHub deposunu Raspberry Pi’nizin ana dizinine indirin. Depoyu klonlayabilir veya arşivi indir ve ana dizininize ekstra.
#To clone
git clone https://github.com/raspberrypi/picamera2.git
- picamera2/examples/imx500’e gidin.
- Python’u kullanarak imx500_object_detection_demo.py dosyasını açın
python imx500_object_detection_demo.py
- Önizleme penceresinde AI kameranın, kameraya sunulan nesneleri tanımlamaya çalışmasını izleyin.
- Çıkmak için pencereyi kapatın.
Python’un bir insan pozunu tespit edip edemediğini kontrol etmek için poz tahmin demosunu da kullanabiliriz.
- picamera2/examples/imx500’e gidin.
- Python’u kullanarak imx500_pose_estimation_higherhrnet_demo.py’yi açın.
python imx500_pose_estimation_higherhrnet_demo.py
- Kameraya poz ver.
- Çıkmak için pencereyi kapatın.
Kendi sinir ağı modellerimizi oluşturmaya ne dersiniz?
dokümantasyon kendi sinir ağı modellerinizi oluşturmaya atıfta bulunuyor, ancak Sony’nin AITRIOS için Brain Builder’ı henüz hazır değil ve Microsoft Lobe’da oluşturulan bir Tensorflow modelini imx500 dönüştürücü araç paketinde kullanılmak üzere dönüştüremedik. Bunu takip edeceğiz ve araç hazır olduğunda, kendi sinir ağı modelinizi Raspberry Pi Yapay Zeka Kamera ile kullanmak üzere nasıl eğiteceğinizi ek olarak ele alacağız.