Kullanılan Ürünler
- Raspberry Pi 5
- Raspberry Pi 5 Güç Adaptörü
- 128 GB Micro SD Kart
- Raspberry Pi Camera Module 3
- Raspberry Pi AI Kit
- Raspberry Pi 5 Aktif Soğutucu
- Mikro HDMI Kablo (Micro)
- Raspberry Pi Kamera Kablosu Standard – Mini – 200mm
Herkese merhaba, bu yazımızda; Raspberry Pi AI Kit ‘i kullanarak Nesne tanıma, görüntü bölümlendirme, poz algılama gibi temel görüntü işleme işlemlerini yapacağız.
Başlamadan önce kısa bir şekilde AI Kit’i tanıyalım isterseniz.
Raspberry Pi AI Kit Nedir?
AI Kit Raspberry Pi 5 ve sonrasındaki modeller için geliştirilmiş bir yapay zeka proje geliştirme kartıdır. Bu kart aslında Raspberry Pi M.2 Hat Plus ve Hailo-8L AI modülünün birleşiminden oluşmaktadır. Bu kiti kullanarak yapay zeka modelleri oluşturabilir ya da oluşturulmuş yapay zeka modellerine müdahalede bulunarak kendi yapay zeka projelerinizi geliştirebilirsiniz. Biz bu yazıda oluşturulmuş yapay zeka modellerini test ederek. Bu modeller üzerinde değişiklik yapacağız.
AI Kit Kurulumuna Başlayalım.
Raspberry Pi – AI kit bağlantı adımlarına başlamadan önce AI kit ‘i kullanmamız için gerekli olan 64 BIT Raspbian işletim sistemini SD kartımızın içerisine yazalım. Bu işlemi yaparken Raspberry Pi İmager’ı kullanacağız.
Raspbian işletim sistemini Raspberry Pi 5’e yüklediğimiz blog yazımıza ulaşmak için tıklayınız.
İşletim sistemini SD karta yazdıktan sonra artık elektronik bağlantı adımlarına geçiş yapabiliriz.
- Raspberry Pi 5 aktif soğutucuyu takın.
- SD Kartı Raspberry Pi 5 ‘e takın.
- AI Kit den çıkan aralayıcı, vida ve header’ın bağlantısını yapın.
- AI Kit’in kablosunu PCI express portuna takın.
- Daha sonra AI Kit’i takın ve aralayıcılara vidalayın.
- AI Kit kablosunu AI kit üzerindeki porta takın.
Bütün elektronik bağlantı adımlarını tamamladık artık klavye , mouse ve ekran bağlantılarımızı yaparak Raspberry Pi ‘ye güç verebiliriz.
Raspbian işletim sistemini açtıktan sonra terminali açalım ve aşağıdaki komut satırlarını çalıştıralım.
sudo apt update && sudo apt full-upgrade
En güncel Raspbian yazılımlarını yüklemek için yukarıdaki komut satırlarını çalıştıralım. Bu işlem biraz uzun sürebilir.
sudo rpi-eeprom-update
Doğru yazılımın çalıştığından emin olmak için yazılım ile ilgili bilgilendirmeleri veren yukarıdaki komut satırını çalıştırınız. Komut satırını çalıştırdıktan sonra, Yazılımın 6 aralık 2023 tarihinden sonraki bir tarihe ait olduğunu teyit ediniz.
Eğer 6 aralık 2023 öncesine ait olduğunu görürseniz aşağıdaki komut satırıyla konfigürasyon ayarlarını açınız ve aşağıda anlatıldığı gibi ayarlamaları yapınız.
sudo raspi-config
Advanced Options > Bootloader Version > …Latest Bu ayarlamaları yaptıktan sonra esc yada finish butonu ile çıkış yapabilirsiniz.
sudo rpi-eeprom-update -a
Aygıt yazılımını son sürüme güncellemek için yukarıdaki komut satırını çalıştırın.
sudo reboot
Yukarıdaki komut ile işletim sistemini yeniden başlatınız.
Artık Raspbian yazılımlarını AI Kit’e uygun hale getirdik. Bundan sonra yazacağımız komutlar ile AI kit için gerekli olan yapay zeka yazılımlarını işletim sistemimizin içerisine çekeceğiz.
sudo apt install hailo-all
Yukarıdaki komut ile hailo yapay zeka modülü için gerekli olan yazılımları Raspberry Pi ‘ye indirin.
sudo reboot
Yukarıdaki komut ile işletim sistemini yeniden başlatınız.
hailortcli fw-control identify
Yukarıdaki komut satırını yazarak, bütün işlemleri doğru yapıp yapmadığımızdan emin olalım.
Aşağıdaki gibi bir çıktı almıyorsanız yaptığınız işlemleri gözden geçirin ya da Raspberry Pi yi yeniden başlatın.
Executing on device: 0000:01:00.0
Identifying board
Control Protocol Version: 2
Firmware Version: 4.17.0 (release,app,extended context switch buffer)
Logger Version: 0
Board Name: Hailo-8
Device Architecture: HAILO8L
Serial Number: HLDDLBB234500054
Part Number: HM21LB1C2LAE
Product Name: HAILO-8L AI ACC M.2 B+M KEY MODULE EXT TMP
AI kit yazılımlarının doğruluğunu kontrol ettikten sonra kamera bağlantılarımızın doğru olup olmadığını test etmek için aşağıdaki komutu çalıştıralım.
rpicam-hello -t 10s
Bu komut çalıştırıldığında ön izleme pencereniz 10 saniye boyunca açık kalır ve daha sonra kapanır. Eğer önizleme penceresi açılmıyorsa kamera bağlantılarınızı kontrol ediniz.
Demo Yapay Zeka Modellerinin Çalıştırılması
Aşağıdaki komut satırları ile ilk olarak gerekli olan GitHub reposunu Raspberry Pi ye klonlayalım. Daha sonra klonlanan repodan demo yapay zeka modellerini çalıştıralım.
git clone --depth 1 https://github.com/raspberrypi/rpicam-apps.git ~/rpicam-apps
Yukarıdaki komut ile GitHub reposunu klonlayalım. Artık yapay zeka işlemlerimiz için her şey hazır şimdi Nesne Tanıma (Object Detection) , Görüntü Bölümlendirme (Image Segmentation) ve Poz Algılama (Pose Estimation) modellerini çağırabliriz.
Nesne Tanıma (Object Detection)
Nesne tanıma modelinde kamera kadrajına giren cisimlerin algılanarak önizleme penceresinde bir kare içine alınarak doğruluk ornanı ile beraber cismin isimi yazdırırlır. Buradaki doğruluk oranı modelin eğitilmesine bağlıdır. Algılanan cisim modele ne kadar fazla veri ile tanıtıldıysa o cisimin doğru bir şekilde algılanma olasılığı artacaktır.
Aşağıdaki komut satırlarını çalıştırarak Nesne Tanıma modelini çalıştırabilirsiniz.
rpicam-hello -t 0 --post-process-file ~/rpicam-apps/assets/hailo_yolov6_inference.json --lores-width 640 --lores-height 640
rpicam-hello -t 0 --post-process-file ~/rpicam-apps/assets/hailo_yolov8_inference.json --lores-width 640 --lores-height 640
rpicam-hello -t 0 --post-process-file ~/rpicam-apps/assets/hailo_yolox_inference.json --lores-width 640 --lores-height 640
rpicam-hello -t 0 --post-process-file ~/rpicam-apps/assets/hailo_yolov5_personface.json --lores-width 640 --lores-height 640
Görüntü Bölümlendirme (Image Segmentation)
Görüntü bölümlendirme modeli, algılanan cisimleri görüntü içerisnden ayırarak farklı renkte yapmayı sağlamaktadır.
Aşağıdaki komut satırı ile görüntü bölümlendirme modelini çağırınız.
rpicam-hello -t 0 --post-process-file ~/rpicam-apps/assets/hailo_yolov5_segmentation.json --lores-width 640 --lores-height 640 --framerate 20
Poz Algılama (Pose Estimation)
Poz algılama modeli, kamera kadrajına giren insanların hareketlerini insan vicudundaki belirli noktaları baz alarak algılamayı sağlamaktadır.
Aşağıdaki komut satırı ile poz algılama modelini çalıştırabilirsiniz.
rpicam-hello -t 0 --post-process-file ~/rpicam-apps/assets/hailo_yolov8_pose.json --lores-width 640 --lores-height 640
Demo modelleri çağırıp deneyimlediğimize göre artık Nesne tanıma modülünü kullanarak yapay zeka projlerine küçük bir başlangıç yapabiliriz.
Yapay Zeka (AI) Kit ‘i Kullanarak Araba ve İnsanları Saydıralım
İlk olarak aşağıdaki komut satırını kullanarak üzerinde değişiklik yapacağımız nesne tanımlama modülünü raspberry pi’ye klonlayalım.
git clone https://github.com/hailo-ai/hailo-rpi5-examples.git
Aşağıdaki komutu kullanarak değişiklik yapacağımız dizinin içerisine gidelim.
cd hailo-rpi5-examples
HAILO işlemcisinde bir sanal ortam oluşturmak için aşağıdaki komutu çalıştırın. Yap zeka modelimiz bu sanal ortamnda çalışacak.
source setup_env.sh
Sanal ortamda çalıştığımızdan emin olmak için aşağıdaki komutu çalıştırın.
pip install -r requirements.txt
Gerekli olan kaynakları indirmek için aşağıdaki komutu çalıştırın.
./download_resources.sh
Post işlemini derleyin.
./compile_postprocess.sh
Şimdi komut dosyasında kodlarımızı değiştirmek için aşağıdaki dosya dizinin içersindeki python kod dosyasını Thonny IDE ‘de açın.
hailo-rpi5-examples > basic_pipelines > detection.py
- İnsan ve araba sayısını tutmak için iki adet değişken tanımlayalım.
- 64-70. satırlar arasına aşağıdaki koşul yapılarını oluşturalım.
- 79 ve 80. staırdaki kod satırlarını yazalım ve 84. satırı yorum satırı yapınız.
Aşağıdaki komut satırı ile modelimizi çalıştıralım.
python basic_pipelines/detection.py rpi -u