Hızlı Başlangıç Kılavuzu: Raspberry Pi ile Ultralytics YOLO26#
Raspberry Pi, gerçek zamanlı nesne algılama işlemlerini uçta gerçekleştirmek için Ultralytics YOLO26 çalıştırabilen küçük ve uygun fiyatlı bir bilgisayardır — GPU gerekmez. Bu kılavuzda YOLO26'yı Raspberry Pi 4 ve 5 üzerinde dağıtma işlemlerinde sana yol gösterilir: işletim sistemini yazma, Ultralytics'ı yükleme, ARM üzerinde en hızlı çıkarım için NCNN formatına aktarma ve canlı kamera akışı üzerinde tahminler çalıştırma. Ayrıca donanımın için en iyi hız ve doğruluk dengesini seçebilmen için sekiz dışa aktarma formatı genelinde performans kıyaslamaları da içerir.
Ultralytics kurulumuna, NCNN'e aktarma ve çıkarım çalıştırma, kıyaslamalara veya kamera çıkarımına geç.
Watch: Raspberry Pi 5 updates and improvements.
Bu kılavuz, en yeni Raspberry Pi OS Bookworm (Debian 12) sürümünü çalıştıran Raspberry Pi 4 ve Raspberry Pi 5 ile test edilmiştir. Raspberry Pi 3 gibi daha eski Raspberry Pi cihazlarında da aynı Raspberry Pi OS Bookworm yüklü olduğu sürece bu kılavuzun çalışması beklenir.
Raspberry Pi nedir?#
Raspberry Pi, küçük ve uygun fiyatlı, tek kartlı bir bilgisayardır. Hobi amaçlı ev otomasyonundan endüstriyel kullanımlara kadar çok çeşitli proje ve uygulamalarda popüler hale gelmiştir. Raspberry Pi kartları çeşitli işletim sistemlerini çalıştırabilir ve sensörler, aktüatörler ile diğer donanım bileşenleriyle kolay entegrasyon sağlayan GPIO (Genel Amaçlı Giriş/Çıkış) pinleri sunar. Farklı özelliklere sahip çeşitli modelleri vardır; ancak tümü düşük maliyetli, kompakt ve çok yönlü olma şeklindeki temel tasarım anlayışını 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 Maksimum Frekansı | 1.4GHz | 1.8GHz | 2.4GHz |
| GPU | Videocore IV | Videocore VI | VideoCore VII |
| GPU Maksimum Frekansı | 400Mhz | 500Mhz | 800Mhz |
| Bellek | 1 GB LPDDR2 SDRAM | 1 GB, 2 GB, 4 GB, 8 GB LPDDR4-3200 SDRAM | 4 GB, 8 GB LPDDR4X-4267 SDRAM |
| PCIe | N/A | N/A | 1xPCIe 2.0 arabirimi |
| 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 Foundation tarafından dağıtılan kompakt tek kartlı bilgisayarlardan oluşan 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'lara sahip Raspberry Pi için yüksek düzeyde optimize edilmiştir ve Openbox yığınlama pencere yöneticisiyle değiştirilmiş bir LXDE masaüstü ortamı kullanır. Raspberry Pi OS aktif olarak geliştirilmektedir ve mümkün olduğunca çok Debian paketinin Raspberry Pi üzerindeki kararlılığını ve performansını iyileştirmeye odaklanır.
Raspberry Pi OS'yi Raspberry Pi'ye Yazma#
Raspberry Pi'yi edindikten sonra yapman gereken ilk şey, bir micro-SD karta Raspberry Pi OS'yi yazmak, kartı cihaza takmak ve işletim sistemini başlatmaktır. Cihazını ilk kullanıma hazırlamak için Raspberry Pi'nin Ayrıntılı Başlangıç Belgelerini takip et.
Ultralytics'ı Kurma#
Bir sonraki Bilgisayarlı Görü projen için Raspberry Pi üzerinde Ultralytics paketini iki şekilde kurabilirsin:
Docker ile başla#
Raspberry Pi üzerinde Ultralytics YOLO26 ile başlamanın en hızlı yolu, Raspberry Pi için önceden oluşturulmuş bir Docker imajı kullanmaktır.
Docker container'ını çekmek ve Raspberry Pi üzerinde çalıştırmak için aşağıdaki komutu yürüt. Bu işlem, Python3 ortamında Ubuntu 24.04 çalıştıran arm64v8/ubuntu Docker imajını temel alır.
t=ultralytics/ultralytics:latest-arm64
sudo docker pull $t && sudo docker run -it --ipc=host $tDocker imajında Ultralytics zaten bulunur; bu nedenle doğrudan modelini NCNN'e aktarabilirsin.
Docker olmadan başla#
Ultralytics Paketini Yükleme#
Burada Ultralytics paketini Raspberry Pi'ye yükleyeceğiz. NCNN gibi formatlara yönelik dışa aktarma bağımlılıkları, bir PyTorch modeli ilk kez dışa aktarıldığında otomatik olarak yüklenir; bu nedenle burada yalnızca temel paket gereklidir.
-
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 -
ultralyticspip paketini yüklepip install ultralytics -
Cihazı yeniden başlat
sudo reboot
Raspberry Pi üzerinde NCNN kullanma#
Ultralytics tarafından desteklenen tüm model dışa aktarma formatları arasında 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 modelini NCNN'e dönüştür, ardından dışa aktarılan modelle çıkarım çalıştı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 model dağıtım seçenekleri kılavuzuna bak.
YOLO26'nın YOLO11'e Göre Performans İyileştirmeleri#
YOLO26, Raspberry Pi 5 gibi donanım kaynakları kısıtlı cihazlarda çalışmak üzere özel olarak tasarlanmıştır. YOLO11n ile karşılaştırıldığında YOLO26n, Raspberry Pi 5 üzerinde ONNX'e aktarılmış modellerle 640 giriş boyutunda daha yüksek mAP (40.1'e karşı 39.5) sunarken FPS'de de yaklaşık ~%15 artış (6.79 → 7.79) elde eder. Aşağıdaki tablo ve grafik bu karşılaştırmayı gösterir.
| 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 kıyaslanmıştır.
Raspberry Pi 5 YOLO26 Kıyaslamaları#
YOLO26 kıyaslamaları, hız ve doğruluğu ölçmek üzere sekiz farklı model formatında Ultralytics ekibi tarafından gerçekleştirildi: PyTorch, TorchScript, ONNX, OpenVINO, MNN, NCNN, ExecuTorch, LiteRT. Kıyaslamalar, varsayılan giriş görüntüsü boyutu 640 olacak şekilde Raspberry Pi 5 üzerinde FP32 hassasiyetinde gerçekleştirildi.
Karşılaştırma Grafiği#
Diğer model boyutları Raspberry Pi'lerde çalıştırılamayacak kadar büyük olduğundan ve yeterli performans sunmadığından yalnızca YOLO26n ve YOLO26s modellerine ait kıyaslamaları dahil ettik.
Ayrıntılı Karşılaştırma Tablosu#
Aşağıdaki tablo, Raspberry Pi 5 üzerinde çalışan iki farklı modelin (YOLO26n, YOLO26s) sekiz farklı format (PyTorch, TorchScript, ONNX, OpenVINO, MNN, NCNN, ExecuTorch, LiteRT) genelindeki kıyaslama sonuçlarını gösterir ve her kombinasyon için durumu, boyutu, mAP50-95(B) metriğini ve çıkarım süresini sunar.
| Biçim | 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ıyaslanmıştır
Çıkarım süresine ön/son işleme dahil değildir.
Sonuçlarımızı Yeniden Üretme#
Yukarıdaki Ultralytics kıyaslamalarını tüm dışa aktarma formatlarında yeniden üretmek için bu 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 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 kümesi kullan; örneğin data='coco.yaml' (5000 doğrulama görüntüsü).
litert-converter herhangi bir aarch64 Linux wheel'i içermediğinden format=litert dışa aktarma işlemi 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, Raspberry Pi'ye kopyala ve Pi'yi çıkarım için kullan.
Raspberry Pi Kamerasını Kullanma#
Raspberry Pi'yi Bilgisayarlı Görü projelerinde kullanırken çıkarım gerçekleştirmek için gerçek zamanlı video akışlarını almak önemli olabilir. Raspberry Pi üzerindeki yerleşik 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 gerçekleştirmek için bir Raspberry Pi Camera Module 3 kullandık.
Raspberry Pi tarafından sunulan farklı kamera modülleri ve Raspberry Pi kamera modüllerini kullanmaya nasıl başlayacağın hakkında daha fazla bilgi edin.
Raspberry Pi 5, Raspberry Pi 4'ten daha küçük CSI konektörleri kullanır (15 pimli ve 22 pimli); bu nedenle Raspberry Pi Kamerasına bağlanmak için bir 15 pimden 22 pine adaptör kablosuna ihtiyacın olacaktır.
Kamerayı Test Etme#
Kamerayı Raspberry Pi'ye bağladıktan sonra aşağıdaki komutu yürüt. Kameradan yaklaşık 5 saniye boyunca canlı bir video akışı görmelisin.
rpicam-helloResmî Raspberry Pi belgelerinde rpicam-hello kullanımı hakkında daha fazla bilgi edin.
Kamerayla Çıkarım#
YOLO26 modelleri üzerinde çıkarım çalıştırmak için Raspberry Pi Kamerasını kullanmanın iki yöntemi vardır.
Kameraya erişmek ve YOLO26 modelleri üzerinde çıkarım çalıştırmak için Raspberry Pi OS ile önceden yüklenmiş olarak gelen picamera2 aracını 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 Çıkarım Kaynakları belgemize bak.
Raspberry Pi kullanırken en iyi uygulamalar#
YOLO26 çalıştıran Raspberry Pi'lerde maksimum performansı etkinleştirmek için izlenmesi gereken birkaç en iyi uygulama vardır.
-
SSD kullan
Raspberry Pi'yi 7/24 kesintisiz kullanırken sistem için SSD kullanman önerilir; çünkü bir SD kartı sürekli yazma işlemlerine dayanamayabilir ve bozulabilir. Raspberry Pi 5 üzerindeki yerleşik PCIe konektörü sayesinde artık Raspberry Pi 5 için NVMe Base gibi bir adaptör kullanarak SSD'leri bağlayabilirsin.
-
GUI olmadan yazma
Raspberry Pi OS'yi yazarken masaüstü ortamını yüklememeyi (Raspberry Pi OS Lite) 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'yi hız aşırtma
Raspberry Pi 5 üzerinde Ultralytics YOLO26 modellerini çalıştırırken performansta küçük bir artış istiyorsan, CPU'yu temel 2.4GHz'den 3.0GHz'e ve GPU'yu 800MHz'den 1GHz'e hızaşırtma (overclock) yapabilirsin. Sistem kararsız hale gelirse veya çökerse, hızaşırtma değerlerini 100MHz'lik artışlarla azalt. Hızaşırtma ısı üretimini artırdığı ve ısıl kısıtlamaya (thermal throttling) yol açabileceği için uygun soğutmanın sağlandığından emin ol.
a. Yazılımı yükselt
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'e, ardından Y'ye basıp ENTER'a basarak kaydet ve çık
e. Raspberry Pi'yi yeniden başlat
Sonraki Adımlar#
Raspberry Pi üzerinde YOLO26 kurulumunu başarıyla tamamladın. Daha fazlası için daha fazla çıkarım seçeneği sunan Tahmin modunu, ek dağıtım formatları sunan Dışa Aktarma modunu veya uçta daha fazla hesaplama gücüne ihtiyacın varsa NVIDIA Jetson kılavuzunu incele. Belgelerin tamamı için Ultralytics YOLO26 Belgelerini ziyaret et.
Teşekkürler ve Atıflar#
Bu kılavuz başlangıçta, nesli tükenmekte olan türlerin korunması amacıyla YOLO kullanımına adanmış bir kuruluş olan Kashmir World Foundation için Daan Eeltink tarafından oluşturulmuştur. Nesne algılama teknolojileri alanındaki öncü çalışmalarını ve eğitime verdikleri önemi takdir ediyoruz.
Kashmir World Foundation'ın faaliyetleri hakkında daha fazla bilgi için web sitelerini ziyaret edebilirsin.
SSS#
Ultralytics YOLO26'yı Raspberry Pi üzerinde Docker olmadan kurmak için şu adımları izle:
- Paket listesini güncelle ve
pippaketini yükle:sudo apt update sudo apt install python3-pip -y pip install -U pip - Ultralytics paketini yükle:
pip install ultralytics - Değişiklikleri uygulamak için cihazı yeniden başlat:
sudo reboot
Ayrıntılı talimatlar için Docker olmadan başlatma bölümüne bak.
- Paket listesini güncelle ve
Ultralytics YOLO26'nın NCNN biçimi, mobil ve gömülü platformlar için yüksek düzeyde optimize edilmiştir; bu da onu Raspberry Pi cihazlarında yapay zekâ görevlerini çalıştırmak için ideal hâle getirir. NCNN, ARM mimarisinden yararlanarak çıkarım performansını en üst düzeye çıkarır ve diğer biçimlere kıyasla daha hızlı ve verimli işlem sağlar. Desteklenen dışa aktarma biçimleri hakkında daha fazla bilgi için model dışa aktarma seçenekleri sayfasına bak.
PyTorch YOLO26 modelini Python veya CLI komutlarını kullanarak NCNN biçimine dönüştürebilirsin:
Örnekfrom 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 bilgi için Raspberry Pi'de NCNN kullanma bölümüne bak.
Temel farklılıklar ş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 içerir.
Bu geliştirmeler, Raspberry Pi 5'teki YOLO26 modellerinin Raspberry Pi 4'e kıyasla daha iyi performans ölçümleri sunmasına katkıda bulunur. Daha fazla bilgi için Raspberry Pi Serisi Karşılaştırması tablosuna bak.
YOLO26 çıkarımı için Raspberry Pi Kamerasını kurmanın iki yöntemi 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.
-