Günümüzde akıllı robotlar, güvenlik sistemleri ve otomasyon projeleri giderek daha fazla sahada, yani internete bağlı olmayan ortamlarda çalışıyor. Bu da yapay zekanın artık sadece bulutta değil, cihazın bizzat kendisinde — yani Edge AI olarak adlandırdığımız yapıda — çalışmasını zorunlu kılıyor.
İşte bu dönüşüm, küçük ama güçlü cihazlara olan ihtiyacı artırıyor. Raspberry Pi ekosistemi de bu ihtiyaca sessiz kalmadı ve sahaya yepyeni bir oyuncu sürdü: Raspberry Pi AI Digital camera. Bu Digital camera sadece bir kamera değil. Bu, görüntüyü yalnızca yakalamakla kalmayıp, aynı zamanda içinde ne olduğunu anlayabilen bir yapay zeka birimi.
Bu yazıda, sıfırdan başlayarak bu akıllı kameranın nasıl çalıştığını, içinde barındırdığı Sony IMX500 akıllı sensör ve RP2040 mikrodenetleyicisi ile nasıl fark yarattığını adım adım öğreneceğiz. Ve tabii ki, örnek bir uygulama üzerinden, MobileNet-SSD modeliyle nasıl kolayca nesne tespiti yapabileceğinizi de göstereceğim. Hiç kod yazmamış olsanız bile, bu rehberle başlayabileceksiniz.
Hazırsanız, Raspberry Pi AI Digital camera’nın kapılarını birlikte aralayalım. 👇
🔍 Raspberry Pi AI Digital camera Nedir?
Raspberry Pi AI Digital camera, Raspberry Pi’nin donanımıyla tam uyumlu çalışan, entegre yapay zeka işlemcisine (AI accelerator/NPU) sahip bir kamera modülüdür. Sadece görüntü yakalamakla kalmaz, aynı zamanda bu görüntüleri kendi üzerinde barındırdığı Sony IMX500 akıllı sensörü sayesinde işleyebilir.
Ana Özellikleri:
- Dahili AI işlemcisi ile gerçek zamanlı nesne, yüz, poz algılama
- Raspberry Pi 4/5 ile CSI arayüzü üzerinden doğrudan bağlantı
- OpenCV, ONNX, TFLite gibi framework’lerle uyumlu
- Düşük güç tüketimi ile edge AI uygulamaları için excellent
Raspberry Pi AI Digital camera’nın kalbinde yer alan şey diyebiliriz.
IMX500, sadece bir kamera sensörü değildir. Aynı zamanda Görüntü verisini işleyen entegre bir AI işlemci (NPU) barındırır. Görüntüyü yakalayıp doğrudan çıktıyı (inference sonuçlarını) verebilir. İşlemeye gerek kalmadan “bu karede bir insan var ve sağa bakıyor” gibi anlamlı sonuçlar döndürebilir. Yani veri Raspberry Pi’ye gönderilmeden önce ön işleme kamera üzerinde yapılır. Bu sayede:
- Veri aktarım yükü azalır
- Gecikme (latency) düşer
- Enerji tüketimi optimize olur
🧠 Sony IMX500 AI Kamera Modülü: Çalışma Prensibi
Raspberry Pi AI Kamera, geleneksel kamera sistemlerinden farklı olarak, görüntü verilerini doğrudan kamerada işleyerek AI çıkarımı yapabilen bir yapıya sahiptir. Bu, aşağıdaki adımlarla gerçekleşir:
- Görüntü Yakalama ve İşleme:
- Kamera, görüntüleri yakalar ve bir Picture Sign Processor (ISP) aracılığıyla işler.
- İşlenen görüntü, enter tensor formatında, yani yapay zeka modelinin anlayacağı bir biçimde hazırlanır.
2. AI Çıkarımı:
- Hazırlanan enter tensor, kameradaki AI Accelerator’a iletilir.
- AI Accelerator, bu veriyi işleyerek output tensor oluşturur; bu, modelin çıkış sonuçlarını içerir.
3. Sonuçların Raspberry Pi’ye İletilmesi:
- Oluşan output tensor, Raspberry Pi’ye gönderilir.
- Raspberry Pi, bu veriyi kullanarak uygulama seviyesinde işlemler yapar.
Bu süreç, Raspberry Pi’nin CPU’sunu AI işlemlerinden bağımsız tutarak, daha verimli bir sistem sağlar.
Akıldaki Soru: Peki O zaman Digital camera üzerindeki RP2040 Ne Yapıyor?
RP2040, kameradaki Sony IMX500 sensörünü başlatmak, yapılandırmak ve kontrol etmekle görevlidir. RP2040 bir tür komut yönlendirici gibi davranır. Yani “kameranın ürettiği çıktı verisi” düzgün formatta Pi’ye ulaşsın diye RP2040 onu hazırlayıp gönderir. AI’ı çalıştırmaz ama çalıştırılmasını sağlar. IMX500’e “ne zaman ne yapacağını” söyleyen küçük ama çok zeki bir yardımcıdır. Yani RP2040 için Kameranın gizli koordinatörü diyebiliriz.
Raspberry Pi AI Digital camera, içinde hazır yüklü gelen MobileNet SSD modeliyle birlikte gelir. Bu mannequin, gerçek zamanlı olarak sahnedeki nesneleri tanıyabilir. İlk uygulamamızda bu modeli kullanarak Raspberry Pi üzerinde bir nesne tanıma demosu çalıştıracağız.
🔌 1. Donanım Kontrolü
İlk olarak kameranın doğru şekilde bağlandığından emin olmalıyız. Terminali açın ve şu komutu çalıştırın:
libcamera-hello
Eğer kamera düzgün bağlandıysa kısa bir görüntü akışı görmeniz gerekir. Her şey yolundaysa devam edelim.
🔄 2. Yazılım Güncellemesi
Sistemin en güncel haliyle çalıştığından emin olun:
sudo apt replace && sudo apt full-upgrade
📥 3. Gerekli Bileşenleri Kur
AI kamera modülünün yazılımlarını ve modellerini yüklemek için şu komutu çalıştırın:
sudo apt set up imx500-all
Bu işlem:
- IMX500 sensörünü çalıştırmak için gereken /lib/firmware/imx500_loader.fpk ve /lib/firmware/imx500_firmware.fpk aygıt yazılımı dosyalarını yükler
- bir dizi sinir ağı modeli aygıt yazılımı dosyasını /usr/share/imx500-models/ dizinine yerleştirir
- rpicam-apps dizinine IMX500 son işlem yazılım aşamalarını yükler
- Sony ağ modeli paketleme araçlarını yükler
🔁 4. Yeniden Başlat
Kurulumların geçerli olması için sistemi yeniden başlatıyoruz:
sudo reboot
🎯 5. Nesne Tespiti Uygulamasını Çalıştır
Artık her şey hazır. Şimdi MobileNet SSD modelini kullanarak nesne tespiti yapan örnek uygulamayı çalıştıralım:
rpicam-hello -t 0s --post-process-file /usr/share/rpi-camera-assets/imx500_mobilenet_ssd.json --viewfinder-width 1920 --viewfinder-height 1080 --framerate 30
Bu komut çalıştığında, kamera canlı görüntü akışının üzerine tanınan nesneleri kutu ve etiketlerle çizecektir. Artık kameranız yalnızca görmüyor, aynı zamanda görüp anlıyor!
🎯6. Pose estimation Uygulamasını Çalıştır
Şimdi MobileNet SSD modelini kullanarak Pose estimation yapan örnek uygulamayı çalıştıralım:
rpicam-hello -t 0s --post-process-file /usr/share/rpi-camera-assets/imx500_posenet.json --viewfinder-width 1920 --viewfinder-height 1080 --framerate 30