Hızlı Başlangıç Kılavuzu: Ultralytics YOLO26 ile Raspberry Pi
Bu kapsamlı kılavuz, Raspberry Pi cihazlarında Ultralytics YOLO26 dağıtımı için ayrıntılı bir yol haritası sunar. Ayrıca, YOLO26'nın bu küçük ve güçlü cihazlardaki yeteneklerini göstermek için performans karşılaştırmalarına yer verir.
Watch: Raspberry Pi 5 updates and improvements.
Bu kılavuz, en güncel Raspberry Pi OS Bookworm (Debian 12) çalıştıran Raspberry Pi 4 ve Raspberry Pi 5 ile test edilmiştir. Bu kılavuzu Raspberry Pi 3 gibi daha eski Raspberry Pi cihazlarında kullanmanın, aynı Raspberry Pi OS Bookworm işletim sistemi yüklü olduğu sürece çalışması beklenir.
Raspberry Pi nedir?
Raspberry Pi, küçük ve uygun fiyatlı bir tek kartlı bilgisayardır. Hobi amaçlı ev otomasyonundan endüstriyel kullanımlara kadar çok çeşitli projeler ve uygulamalar için popüler hale gelmiştir. Raspberry Pi kartları çeşitli işletim sistemlerini çalıştırabilir ve sensörler, aktüatörler ve diğer donanım bileşenleriyle kolay entegrasyon sağlayan GPIO (Genel Amaçlı Giriş/Çıkış) pinleri sunar. Farklı özelliklere sahip çeşitli modellerde gelirler, ancak hepsinin ortak özelliği düşük maliyetli, kompakt ve çok yönlü olma tasarım felsefesidir.
Raspberry Pi Serisi Karşılaştırması
| Raspberry Pi 3 | Raspberry Pi 4 | Raspberry Pi 5 | |
|---|---|---|---|
| CPU | Broadcom BCM2837, Cortex-A53 64Bit SoC | Broadcom BCM2711, Cortex-A72 64Bit SoC | Broadcom BCM2712, Cortex-A76 64Bit SoC |
| CPU Maksimum Frekansı | 1.4GHz | 1.8GHz | 2.4GHz |
| GPU | Videocore IV | Videocore VI | VideoCore VII |
| GPU Maksimum Frekansı | 400Mhz | 500Mhz | 800Mhz |
| Bellek | 1GB LPDDR2 SDRAM | 1GB, 2GB, 4GB, 8GB LPDDR4-3200 SDRAM | 4GB, 8GB LPDDR4X-4267 SDRAM |
| PCIe | Yok | Yok | 1xPCIe 2.0 Arayüzü |
| Maksimum Güç Tüketimi | 2.5A@5V | 3A@5V | 5A@5V (PD etkin) |
Raspberry Pi OS nedir?
Raspberry Pi OS (eski adıyla Raspbian), Raspberry Pi Vakfı tarafından dağıtılan kompakt tek kartlı Raspberry Pi ailesi için Debian GNU/Linux dağıtımını temel alan Unix benzeri bir işletim sistemidir. Raspberry Pi OS, ARM CPU'lu Raspberry Pi için yüksek oranda optimize edilmiştir ve Openbox yığın pencere yöneticisine sahip değiştirilmiş bir LXDE masaüstü ortamı kullanır. Raspberry Pi OS, Raspberry Pi üzerindeki mümkün olan en fazla sayıda Debian paketinin kararlılığını ve performansını artırmaya odaklanarak aktif bir şekilde geliştirilmektedir.
Raspberry Pi OS'i Raspberry Pi'ye Flash'la
Raspberry Pi'yi eline aldığında yapman gereken ilk şey, bir mikro-SD karta Raspberry Pi OS'i flash'lamak, karta cihazına takmak ve işletim sistemini başlatmaktır. Cihazını ilk kullanıma hazırlamak için Raspberry Pi'nin Başlangıç Belgelerini takip et.
Ultralytics'i Kur
Bir sonraki Bilgisayarlı Görü projenizi oluşturmak için Raspberry Pi'de Ultralytics paketini kurmanın iki yolu vardır. Bunlardan birini kullanabilirsin.
Docker ile Başla
Raspberry Pi üzerinde Ultralytics YOLO26 ile çalışmaya başlamanın en hızlı yolu, Raspberry Pi için önceden oluşturulmuş docker imajı ile çalıştırmaktır.
Docker konteynerini çekmek ve Raspberry Pi'de çalıştırmak için aşağıdaki komutu yürüt. Bu, Python3 ortamında Debian 12 (Bookworm) içeren arm64v8/debian docker imajını temel alır.
t=ultralytics/ultralytics:latest-arm64
sudo docker pull $t && sudo docker run -it --ipc=host $tBu işlem bittikten sonra Raspberry Pi'de NCNN Kullanma bölümüne geç.
Docker olmadan Başla
Ultralytics Paketini Yükle
Burada, PyTorch modellerini diğer farklı formatlara dışa aktarabilmemiz için isteğe bağlı bağımlılıklarla birlikte Raspberry Pi'ye Ultralytics paketini kuracağız.
-
Paket listesini güncelle, pip'i yükle ve en son sürüme yükselt
sudo apt update sudo apt install python3-pip -y pip install -U pip -
İsteğe bağlı bağımlılıklarla
ultralyticspip paketini yüklepip install ultralytics[export] -
Cihazı yeniden başlat
sudo reboot
Raspberry Pi'de NCNN Kullan
Ultralytics tarafından desteklenen tüm model dışa aktarma formatları arasından NCNN, Raspberry Pi cihazlarıyla çalışırken en iyi çıkarım performansını sağlar, çünkü NCNN, mobil/gömülü platformlar (ARM mimarisi gibi) için yüksek oranda optimize edilmiştir.
Modeli NCNN'ye Dönüştür ve Çıkarımı Çalıştır
PyTorch formatındaki YOLO26n modeli, dışa aktarılan model ile çıkarım yapmak üzere NCNN'ye dönüştürülür.
from ultralytics import YOLO
# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")
# Export the model to NCNN format
model.export(format="ncnn") # creates 'yolo26n_ncnn_model'
# Load the exported NCNN model
ncnn_model = YOLO("yolo26n_ncnn_model")
# Run inference
results = ncnn_model("https://ultralytics.com/images/bus.jpg")Desteklenen dışa aktarma seçenekleri hakkında daha fazla ayrıntı için dağıtım seçenekleri hakkındaki Ultralytics belgeleri sayfasına göz at.
YOLO11'e Göre YOLO26 Performans İyileştirmeleri
YOLO26, Raspberry Pi 5 gibi donanım kısıtlamalı cihazlarda çalışmak üzere özel olarak tasarlanmıştır. YOLO11n ile karşılaştırıldığında YOLO26n, Raspberry Pi 5 üzerinde ONNX ile dışa aktarılan modellerle 640 giriş boyutunda yaklaşık %15 FPS artışı (6.79 → 7.79) sağlarken aynı zamanda daha yüksek mAP (39.5'e karşı 40.1) sunar. Aşağıdaki tablo ve grafik bu karşılaştırmayı göstermektedir.
| Model | mAP50-95(B) | Çıkarım süresi (ms/görüntü) |
|---|---|---|
| YOLO26n | 40.1 | 128.42 |
| YOLO26s | 47.8 | 352.84 |
| YOLO26m | 52.5 | 993.78 |
| YOLO26l | 54.4 | 1259.46 |
| YOLO26x | 56.9 | 2636.26 |
Ultralytics 8.4.14 ile test edilmiştir.
Raspberry Pi 5 YOLO26 Kıyaslamaları
YOLO26 kıyaslamaları, Ultralytics ekibi tarafından hız ve doğruluğu ölçmek üzere on farklı model formatında gerçekleştirilmiştir: PyTorch, TorchScript, ONNX, OpenVINO, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch. Kıyaslamalar, varsayılan 640 giriş görsel boyutuyla ve FP32 hassasiyetiyle bir Raspberry Pi 5 üzerinde çalıştırılmıştır.
Karşılaştırma Tablosu
Yalnızca YOLO26n ve YOLO26s modelleri için kıyaslamaları dahil ettik çünkü diğer model boyutları Raspberry Pi'lerde çalışmak için çok büyüktür ve yeterli performans sunmamaktadır.
Ayrıntılı Karşılaştırma Tablosu
Aşağıdaki tablo, bir Raspberry Pi 5 üzerinde çalışan on farklı formatta (PyTorch, TorchScript, ONNX, OpenVINO, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch) iki farklı modelin (YOLO26n, YOLO26s) kıyaslama sonuçlarını; her kombinasyon için durum, boyut, mAP50-95(B) metrikleri ve çıkarım süresini gösterir.
| Format | Durum | Disk boyutu (MB) | mAP50-95(B) | Çıkarım süresi (ms/görüntü) |
|---|---|---|---|---|
| PyTorch | ✅ | 5.3 | 0.4798 | 302.15 |
| TorchScript | ✅ | 9.8 | 0.4764 | 357.58 |
| ONNX | ✅ | 9.5 | 0.4764 | 130.33 |
| OpenVINO | ✅ | 9.6 | 0.4818 | 70.74 |
| TF SavedModel | ✅ | 24.6 | 0.4764 | 213.58 |
| TF GraphDef | ✅ | 9.5 | 0.4764 | 213.5 |
| TF Lite | ✅ | 9.9 | 0.4764 | 251.41 |
| MNN | ✅ | 9.4 | 0.4784 | 90.89 |
| NCNN | ✅ | 9.4 | 0.4805 | 67.69 |
| ExecuTorch | ✅ | 9.4 | 0.4764 | 148.36 |
Ultralytics 8.4.1 ile test edilmiştir.
Çıkarım süresine ön/son işleme dahil değildir.
Sonuçlarımızı Yeniden Oluştur
Yukarıdaki Ultralytics kıyaslamalarını tüm dışa aktarma formatlarında yeniden üretmek için şu kodu çalıştır:
from ultralytics import YOLO
# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")
# Benchmark YOLO26n speed and accuracy on the COCO128 dataset for all export formats
results = model.benchmark(data="coco128.yaml", imgsz=640)Kıyaslama sonuçlarının, sistemin donanım ve yazılım yapılandırmasına ve kıyaslamaların çalıştırıldığı andaki sistem yüküne bağlı olarak değişebileceğini unutma. En güvenilir sonuçlar için, çok sayıda görsel içeren bir veri seti kullan, örneğin data='coco.yaml' (5000 doğrulama görseli).
Raspberry Pi Kamerasını Kullan
Raspberry Pi'yi Bilgisayarlı Görü projeleri için kullanırken, çıkarım yapmak adına gerçek zamanlı video akışları elde etmek çok önemlidir. Raspberry Pi üzerindeki dahili MIPI CSI konektörü, resmi Raspberry Pi kamera modüllerini bağlamana olanak tanır. Bu kılavuzda, video akışlarını almak ve YOLO26 modellerini kullanarak çıkarım yapmak için bir Raspberry Pi Camera Module 3 kullandık.
Raspberry Pi tarafından sunulan farklı kamera modülleri ve ayrıca Raspberry Pi kamera modülleriyle nasıl başlayacağın hakkında daha fazla bilgi edin.
Raspberry Pi 5, Raspberry Pi 4'ten daha küçük CSI konektörleri (15-pin yerine 22-pin) kullanır, bu nedenle bir Raspberry Pi Kamerasına bağlanmak için bir 15-pin'den 22-pin'e adaptör kablosuna ihtiyacın olacaktır.
Kamerayı Test Et
Kamerayı Raspberry Pi'ye bağladıktan sonra aşağıdaki komutu çalıştır. Kameradan yaklaşık 5 saniye boyunca canlı bir video akışı görmelisin.
rpicam-helloKamera ile Çıkarım
YOLO26 modellerinde çıkarım çalıştırmak için Raspberry Pi Kamerasını kullanmanın 2 yöntemi vardır.
Kameraya erişmek ve YOLO26 modellerinde çıkarım çalıştırmak için Raspberry Pi OS ile birlikte önceden yüklenmiş olarak gelen picamera2 kütüphanesini kullanabiliriz.
import cv2
from picamera2 import Picamera2
from ultralytics import YOLO
# Initialize the Picamera2
picam2 = Picamera2()
picam2.preview_configuration.main.size = (1280, 720)
picam2.preview_configuration.main.format = "RGB888"
picam2.preview_configuration.align()
picam2.configure("preview")
picam2.start()
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
while True:
# Capture frame-by-frame
frame = picam2.capture_array()
# Run YOLO26 inference on the frame
results = model(frame)
# Visualize the results on the frame
annotated_frame = results[0].plot()
# Display the resulting frame
cv2.imshow("Camera", annotated_frame)
# Break the loop if 'q' is pressed
if cv2.waitKey(1) == ord("q"):
break
# Release resources and close windows
cv2.destroyAllWindows()Görüntü/video girdi türünü değiştirmek istersen Çıkarım Kaynakları hakkındaki belgemize göz at
Raspberry Pi kullanırken en iyi uygulamalar
YOLO26 çalıştıran Raspberry Pi'lerde maksimum performansı sağlamak için izlemen gereken birkaç en iyi uygulama vardır.
-
Bir SSD kullan
Raspberry Pi'yi 7/24 sürekli kullanım için kullanırken, sistem için bir SSD kullanılması önerilir; çünkü bir SD kart sürekli yazma işlemlerine dayanamayabilir ve bozulabilir. Raspberry Pi 5 üzerindeki dahili PCIe konektörü ile artık Raspberry Pi 5 için NVMe Base gibi bir adaptör kullanarak SSD'leri bağlayabilirsin.
-
GUI olmadan flaşla
Raspberry Pi OS'i flaşlarken, Masaüstü ortamını (Raspberry Pi OS Lite) yüklememeyi seçebilirsin; bu, cihazda bir miktar RAM tasarrufu sağlayarak bilgisayarlı görü işlemleri için daha fazla alan bırakır.
-
Raspberry Pi'ye hız aşırtma (overclock) yap
Raspberry Pi 5 üzerinde Ultralytics YOLO26 modellerini çalıştırırken performansta küçük bir artış istiyorsan, CPU'yu 2.4GHz taban hızından 2.9GHz'e ve GPU'yu 800MHz'den 1GHz'e hız aşırtabilirsin. Sistem kararsız hale gelirse veya çökerse, hız aşırtma değerlerini 100MHz'lik artışlarla azalt. Hız aşırtma ısı üretimini artırdığından ve termal kısıtlamaya yol açabileceğinden uygun soğutmanın sağlandığından emin ol.
a. Yazılımı güncelle
sudo apt update && sudo apt dist-upgradeb. Yapılandırma dosyasını düzenlemek için aç
sudo nano /boot/firmware/config.txtc. Aşağıdaki satırları en alta ekle
arm_freq=3000 gpu_freq=1000 force_turbo=1d. CTRL + X tuşlarına, ardından Y tuşuna basarak ve ENTER tuşuna vurarak kaydet ve çık
e. Raspberry Pi'yi yeniden başlat
Sonraki Adımlar
YOLO'yu Raspberry Pi cihazında başarıyla kurdun. Daha fazla öğrenmek ve destek almak için Ultralytics YOLO26 Dokümanlarını ve Kashmir World Foundation adresini ziyaret et.
Teşekkürler ve Alıntılar
Bu kılavuz başlangıçta, nesli tükenmekte olan türlerin korunması için YOLO kullanımına kendini adamış bir kuruluş olan Kashmir World Foundation adına Daan Eeltink tarafından oluşturulmuştur. Nesne algılama teknolojileri alanındaki öncü çalışmalarını ve eğitim odaklı yaklaşımlarını takdir ediyoruz.
Kashmir World Foundation'ın faaliyetleri hakkında daha fazla bilgi için web sitelerini ziyaret edebilirsin.
SSS
Docker kullanmadan Raspberry Pi üzerinde Ultralytics YOLO26'yı nasıl kurarım?
Ultralytics YOLO26'yı Raspberry Pi üzerinde Docker olmadan kurmak için şu adımları izle:
- Paket listesini güncelle ve
piparacını kur:sudo apt update sudo apt install python3-pip -y pip install -U pip - İsteğe bağlı bağımlılıklarla birlikte Ultralytics paketini kur:
pip install ultralytics[export] - Değişiklikleri uygulamak için cihazı yeniden başlat:
sudo reboot
Ayrıntılı talimatlar için Docker olmadan başlat bölümüne bak.
Yapay zeka görevleri için Raspberry Pi'de neden Ultralytics YOLO26'nın NCNN formatını kullanmalıyım?
Ultralytics YOLO26'nın NCNN formatı, mobil ve gömülü platformlar için yüksek oranda optimize edilmiştir ve bu da onu Raspberry Pi cihazlarında yapay zeka görevlerini çalıştırmak için ideal kılar. NCNN, ARM mimarisinden yararlanarak çıkarım performansını en üst düzeye çıkarır ve diğer formatlara kıyasla daha hızlı ve verimli işleme sağlar. Desteklenen dışa aktarma seçenekleriyle ilgili daha fazla ayrıntı için Ultralytics dağıtım seçenekleri dokümantasyon sayfasına göz at.
Bir YOLO26 modelini Raspberry Pi'de kullanım için nasıl NCNN formatına dönüştürebilirim?
Bir PyTorch YOLO26 modelini Python veya CLI komutlarını kullanarak NCNN formatına dönüştürebilirsin:
from ultralytics import YOLO
# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")
# Export the model to NCNN format
model.export(format="ncnn") # creates 'yolo26n_ncnn_model'
# Load the exported NCNN model
ncnn_model = YOLO("yolo26n_ncnn_model")
# Run inference
results = ncnn_model("https://ultralytics.com/images/bus.jpg")Daha fazla ayrıntı için Raspberry Pi üzerinde NCNN kullan bölümüne bak.
Raspberry Pi 4 ve Raspberry Pi 5 arasında YOLO26 çalıştırmakla ilgili donanım farkları nelerdir?
Temel farklar şunlardır:
- CPU: Raspberry Pi 4, Broadcom BCM2711, Cortex-A72 64-bit SoC kullanırken, Raspberry Pi 5, Broadcom BCM2712, Cortex-A76 64-bit SoC kullanır.
- Maksimum CPU Frekansı: Raspberry Pi 4'ün maksimum frekansı 1.8GHz iken, Raspberry Pi 5 2.4GHz'e ulaşır.
- Bellek: Raspberry Pi 4, 8GB'a kadar LPDDR4-3200 SDRAM sunarken, Raspberry Pi 5, 4GB ve 8GB seçenekleriyle LPDDR4X-4267 SDRAM'e sahiptir.
Bu geliştirmeler, Raspberry Pi 5 üzerinde YOLO26 modelleri için Raspberry Pi 4'e kıyasla daha iyi performans kıyaslamalarına katkıda bulunur. Daha fazla ayrıntı için Raspberry Pi Serisi Karşılaştırması tablosuna bak.
Ultralytics YOLO26 ile çalışması için bir Raspberry Pi Kamera Modülünü nasıl kurabilirim?
Raspberry Pi kamerasını YOLO26 çıkarımı için kurmanın iki yolu vardır:
-
picamera2Kullanarak:import cv2 from picamera2 import Picamera2 from ultralytics import YOLO picam2 = Picamera2() picam2.preview_configuration.main.size = (1280, 720) picam2.preview_configuration.main.format = "RGB888" picam2.preview_configuration.align() picam2.configure("preview") picam2.start() model = YOLO("yolo26n.pt") while True: frame = picam2.capture_array() results = model(frame) annotated_frame = results[0].plot() cv2.imshow("Camera", annotated_frame) if cv2.waitKey(1) == ord("q"): break cv2.destroyAllWindows() -
TCP Akışı Kullanarak:
rpicam-vid -n -t 0 --inline --listen -o tcp://127.0.0.1:8888from ultralytics import YOLO model = YOLO("yolo26n.pt") results = model("tcp://127.0.0.1:8888")
Ayrıntılı kurulum talimatları için Kamera ile Çıkarım bölümünü ziyaret et.