Hızlı Başlangıç Kılavuzu: Ultralytics YOLO26 ile Raspberry Pi#
Raspberry Pi, GPU gerektirmeden uçta (edge) gerçek zamanlı nesne tespiti için Ultralytics YOLO26 çalıştıran küçük ve uygun fiyatlı bir bilgisayardır. Bu kılavuz, YOLO26'yı Raspberry Pi 4 ve 5 üzerinde nasıl dağıtacağını anlatır: işletim sistemini yüklemek, Ultralytics'i kurmak, ARM üzerinde en hızlı çıkarım için NCNN formatına aktarmak ve canlı kamera akışı üzerinde tahminler çalıştırmak. Ayrıca, donanımın için en iyi hız ve doğruluk dengesini seçebilmen için sekiz dışa aktarım formatındaki performans kıyaslamalarını da içerir.
Ultralytics kurulumuna, NCNN'e aktarmaya ve çıkarım çalıştırmaya, kıyaslamalara veya kamera çıkarımına atlayın.
Watch: Raspberry Pi 5 updates and improvements.
Bu kılavuz, en son 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 kurulu olduğu sürece çalışması beklenmektedir.
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 modelleri mevcuttur ancak hepsi düşük maliyetli, kompakt ve çok yönlü olma temel tasarım felsefesini paylaşır.
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 Maks Frekansı | 1.4GHz | 1.8GHz | 2.4GHz |
| GPU | Videocore IV | Videocore VI | VideoCore VII |
| GPU Maks Frekansı | 400Mhz | 500Mhz | 800Mhz |
| Bellek | 1GB LPDDR2 SDRAM | 1GB, 2GB, 4GB, 8GB LPDDR4-3200 SDRAM | 4GB, 8GB LPDDR4X-4267 SDRAM |
| PCIe | N/A | N/A | 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ı bilgisayarlar ailesi için Debian GNU/Linux dağıtımını temel alan Unix benzeri bir işletim sistemidir. Raspberry Pi OS, ARM CPU'lara sahip Raspberry Pi için yüksek düzeyde optimize edilmiştir ve Openbox istifleme pencere yöneticisine sahip değiştirilmiş bir LXDE masaüstü ortamı kullanır. Raspberry Pi OS, Raspberry Pi üzerinde mümkün olduğunca çok sayıda Debian paketinin kararlılığını ve performansını artırmaya vurgu yapılarak aktif geliştirme aşamasındadır.
Raspberry Pi OS'i Raspberry Pi'ye Flash'la#
Bir Raspberry Pi edindikten sonra yapmanız gereken ilk şey, bir mikro SD karta Raspberry Pi OS yüklemek, kartı cihaza takmak ve işletim sistemini başlatmaktır. Cihazınızı ilk kullanıma hazırlamak için ayrıntılı Raspberry Pi Başlangıç Belgelerini takip edin.
Ultralytics Kurulumu#
Bir sonraki Bilgisayarlı Görü projeniz için Ultralytics paketini Raspberry Pi üzerinde iki şekilde kurabilirsiniz:
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ş bir Docker imajı kullanmaktır.
Docker konteynerini çekmek ve Raspberry Pi üzerinde çalıştırmak için aşağıdaki komutu yürütün. Bu, Python3 ortamında Ubuntu 24.04 çalıştıran arm64v8/ubuntu Docker görüntüsünü temel alır.
t=ultralytics/ultralytics:latest-arm64
sudo docker pull $t && sudo docker run -it --ipc=host $tDocker görüntüsü halihazırda Ultralytics'i içerir, böylece doğrudan modelinizi NCNN'e aktarmaya geçebilirsiniz.
Docker olmadan Başla#
Ultralytics Paketini Yükleyin#
Burada PyTorch modellerini diğer formatlara aktarabilmemiz için Ultralytics paketini isteğe bağlı bağımlılıklarla birlikte Raspberry Pi üzerine kuracağız.
-
Paket listesini güncelleyin, pip'i kurun ve en son sürüme yükseltin
sudo apt update sudo apt install python3-pip -y pip install -U pip -
İsteğe bağlı bağımlılıklarla birlikte
ultralyticspip paketini kurpip install ultralytics[export] -
Cihazı yeniden başlatın
sudo reboot
Raspberry Pi üzerinde NCNN kullanma#
Ultralytics tarafından desteklenen tüm model dışa aktarım formatları arasından NCNN, ARM mimarisi gibi mobil/gömülü platformlar için yüksek düzeyde optimize edildiğinden Raspberry Pi cihazlarında en iyi çıkarım performansını sunar. YOLO26n PyTorch modelinizi NCNN'e dönüştürün, ardından dışa aktarılan modelle çıkarım çalıştırın:
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 aktarım seçenekleri hakkında daha fazla ayrıntı için model dağıtım seçenekleri kılavuzuna bakın.
YOLO11'e kıyasla YOLO26 Performans İyileştirmeleri#
YOLO26, özellikle Raspberry Pi 5 gibi donanım kısıtlı cihazlarda çalışmak üzere tasarlanmıştır. YOLO11n ile karşılaştırıldığında YOLO26n, Raspberry Pi 5 üzerinde ONNX ile dışa aktarılmış modellerle 640 giriş boyutunda %~15 FPS artışı (6.79 → 7.79) sağlarken aynı zamanda daha yüksek mAP (40.1'e karşı 39.5) sunar. Aşağıdaki tablo ve grafik bu karşılaştırmayı göstermektedir.
| Model | mAP50-95(B) | Çıkarım süresi (ms/im) |
|---|---|---|
| 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ğruluk ölçülerek sekiz farklı model formatında çalıştırıldı: PyTorch, TorchScript, ONNX, OpenVINO, MNN, NCNN, ExecuTorch, LiteRT. Kıyaslamalar, 640 varsayılan giriş resmi boyutuyla FP32 hassasiyetinde bir Raspberry Pi 5 üzerinde çalıştırıldı.
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ük ve yeterli performans sunmuyor.
Ayrıntılı Karşılaştırma Tablosu#
Aşağıdaki tablo, bir Raspberry Pi 5 üzerinde çalışan sekiz farklı formatta (PyTorch, TorchScript, ONNX, OpenVINO, MNN, NCNN, ExecuTorch, LiteRT) iki farklı model (YOLO26n, YOLO26s) için kıyaslama sonuçlarını sunarak her kombinasyonun durumunu, boyutunu, mAP50-95(B) metriğini ve çıkarım süresini gösterir.
| Format | Durum | Diskteki boyut (MB) | mAP50-95(B) | Çıkarım süresi (ms/im) |
|---|---|---|---|---|
| PyTorch | ✅ | 5.3 | 0.4760 | 299.09 |
| TorchScript | ✅ | 9.8 | 0.4734 | 353.20 |
| ONNX | ✅ | 9.5 | 0.4734 | 125.99 |
| OpenVINO | ✅ | 9.6 | 0.4734 | 104.55 |
| MNN | ✅ | 9.4 | 0.4749 | 91.87 |
| NCNN | ✅ | 9.4 | 0.4784 | 67.03 |
| ExecuTorch | ✅ | 9.4 | 0.4772 | 144.83 |
| LiteRT | ✅ | 9.8 | 0.4730 | 123.30 |
Ultralytics 8.4.108 ile kıyaslandı
Çıkarım süresi, ön/son işleme aşamalarını içermez.
Sonuçlarımızı Yeniden Oluştur#
Yukarıdaki Ultralytics kıyaslamalarını tüm dışa aktarım formatlarında yeniden oluşturmak için şu kodu çalıştırın:
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, bir sistemin tam donanım ve yazılım yapılandırmasına ve ayrıca kıyaslamaların çalıştırıldığı sırada sistemin mevcut iş yüküne bağlı olarak değişebileceğini unutma. En güvenilir sonuçlar için çok sayıda görüntü içeren bir veri seti kullan, örn. data='coco.yaml' (5000 val görüntüsü).
litert-converter, aarch64 Linux tekerleği (wheel) barındırmaz, bu nedenle format=litert dışa aktarımı yalnızca Linux x86_64 ve macOS üzerinde desteklenir, Raspberry Pi'nin kendisinde desteklenmez. .tflite modelini bir Linux x86_64 makinede veya Mac'te dışa aktarın, Raspberry Pi'ye kopyalayın ve çıkarım için Pi'yi kullanın.
Raspberry Pi Kamerası Kullan#
Raspberry Pi'yi Bilgisayarlı Görü projeleri için kullanırken, çıkarım gerçekleştirmek üzere gerçek zamanlı video akışları yakalamak çok önemli olabilir. Raspberry Pi üzerindeki yerleşik MIPI CSI konektörü, resmi Raspberry Pi kamera modüllerini bağlamanıza olanak tanır. Bu kılavuzda, video akışlarını yakalamak ve YOLO26 modellerini kullanarak çıkarım gerçekleştirmek için bir Raspberry Pi Kamera Modülü 3 kullandık.
Raspberry Pi tarafından sunulan farklı kamera modülleri hakkında daha fazla bilgi edinin ve ayrıca Raspberry Pi kamera modülleriyle nasıl başlanacağını öğrenin.
Raspberry Pi 5, Raspberry Pi 4'e göre daha küçük CSI konektörleri (15 pin ve 22 pin) kullanır, bu nedenle bir Raspberry Pi Kamerasına bağlanmak için bir 15 pin - 22 pin adaptör kablosuna ihtiyacınız 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-helloResmi Raspberry Pi belgelerinde rpicam-hello kullanımı hakkında daha fazla bilgi edinin
Kamera ile Çıkarım#
YOLO26 modellerinde çıkarım çalıştırmak için Raspberry Pi Kamerasını kullanmanın iki yöntemi vardır.
Kameraya erişmek ve YOLO26 modellerinde çıkarım çalıştırmak için Raspberry Pi OS ile önceden yüklenmiş olarak gelen picamera2 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 giriş türünü değiştirmek istiyorsanız Çıkarım Kaynakları hakkındaki belgemizi kontrol edin
Raspberry Pi kullanırken en iyi uygulamalar#
YOLO26 çalıştıran Raspberry Pi cihazlarında maksimum performansı elde etmek için takip etmen gereken birkaç en iyi uygulama bulunmaktadır.
-
SSD kullan
Raspberry Pi 7/24 sürekli kullanım için kullanılacaksa, bir SD kart sürekli yazma işlemlerine dayanamayacağından ve arızalanabileceğinden, sistem için bir SSD kullanılması önerilir. Raspberry Pi 5 üzerindeki yerleşik PCIe konektörü ile artık Raspberry Pi 5 için NVMe Tabanı gibi bir adaptör kullanarak SSD'ler bağlayabilirsiniz.
-
GUI olmadan yükle
Raspberry Pi OS'i kurarken Masaüstü ortamını yüklememeyi (Raspberry Pi OS Lite) seçebilirsin; bu, cihazda biraz RAM tasarrufu sağlayarak bilgisayarlı görü işleme 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 biraz performans artışı istiyorsan, işlemciyi (CPU) 2.4GHz taban hızından 2.9GHz'e ve grafik işlemciyi (GPU) 800MHz'den 1GHz'e hız aşırtabilirsin. Eğer sistem kararsızlaşır veya çökerse, hız aşırtma değerlerini 100MHz'lik adımlarla düşür. Hız aşırtma ısı üretimini artırdığından ve ısıl kısıtlamaya (thermal throttling) 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, ardından Y tuşlarına basarak kaydet ve çık, sonra ENTER tuşuna bas
e. Raspberry Pi'yi yeniden başlat
Sonraki Adımlar#
Raspberry Pi cihazınızda YOLO26'yı başarıyla kurdunuz. Daha ileri gitmek için daha fazla çıkarım seçeneği için Tahmin modunu, ek dağıtım formatları için Dışa Aktarma modunu veya uç noktada daha fazla işlem gücüne ihtiyacınız varsa NVIDIA Jetson kılavuzunu keşfedin. Eksiksiz belgeler için Ultralytics YOLO26 Belgelerini ziyaret edin.
Teşekkür ve Alıntılar#
Bu kılavuz, nesli tükenmekte olan türlerin korunması için YOLO kullanımına kendini adamış bir kuruluş olan Kashmir World Foundation adına başlangıçta Daan Eeltink tarafından oluşturulmuştur. Nesne algılama teknolojileri alanındaki öncü çalışmalarını ve eğitim odaklarını takdir ediyoruz.
Kashmir World Foundation'ın faaliyetleri hakkında daha fazla bilgi için web sitelerini ziyaret edebilirsiniz.
SSS#
Docker kullanmadan bir Raspberry Pi üzerinde Ultralytics YOLO26 kurulumunu nasıl yaparım?#
Ultralytics YOLO26'yı Raspberry Pi üzerinde Docker olmadan kurmak için şu adımları izle:
- Paket listesini güncelleyin ve
pipyükleyin: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şlayın bölümüne bakın.
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 düzeyde optimize edilmiştir; 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 daha verimli işleme sağlar. Desteklenen dışa aktarım formatları hakkında daha fazla ayrıntı için model dışa aktarma seçeneklerine bakın.
Raspberry Pi'de kullanmak için bir YOLO26 modelini 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'de NCNN Kullanımı bölümüne bakın.
YOLO26 çalıştırmakla ilgili olarak Raspberry Pi 4 ve Raspberry Pi 5 arasındaki 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, 1.8GHz maksimum frekansa sahipken, 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 sunulan LPDDR4X-4267 SDRAM özelliğine sahiptir.
Bu geliştirmeler, Raspberry Pi 4'e kıyasla Raspberry Pi 5 üzerindeki YOLO26 modelleri için daha iyi performans kıyaslamalarına katkıda bulunur. Daha fazla ayrıntı için Raspberry Pi Serisi Karşılaştırması tablosuna bakın.
Raspberry Pi Kamera Modülünü Ultralytics YOLO26 ile çalışacak şekilde nasıl ayarlayabilirim?#
Raspberry Pi kamerasını YOLO26 çıkarımı için ayarlamanın iki yöntemi vardır:
-
picamera2Kullanımı: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 edin.