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.
Not

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 3Raspberry Pi 4Raspberry Pi 5
CPUBroadcom BCM2837, Cortex-A53 64Bit SoCBroadcom BCM2711, Cortex-A72 64Bit SoCBroadcom BCM2712, Cortex-A76 64Bit SoC
CPU Maksimum Frekansı1.4GHz1.8GHz2.4GHz
GPUVideocore IVVideocore VIVideoCore VII
GPU Maksimum Frekansı400Mhz500Mhz800Mhz
Bellek1GB LPDDR2 SDRAM1GB, 2GB, 4GB, 8GB LPDDR4-3200 SDRAM4GB, 8GB LPDDR4X-4267 SDRAM
PCIeYokYok1xPCIe 2.0 Arayüzü
Maksimum Güç Tüketimi2.5A@5V3A@5V5A@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 $t

Bu 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.

  1. 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
  2. İsteğe bağlı bağımlılıklarla ultralytics pip paketini yükle

    pip install ultralytics[export]
  3. 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.

Örnek
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")
İpucu

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.

YOLO26 benchmarks on RPi 5
Benchmarked with Ultralytics 8.4.14
Performans
ModelmAP50-95(B)Çıkarım süresi (ms/görüntü)
YOLO26n40.1128.42
YOLO26s47.8352.84
YOLO26m52.5993.78
YOLO26l54.41259.46
YOLO26x56.92636.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.

YOLO26 benchmarks on RPi 5
Benchmarked with Ultralytics 8.4.1

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.

Performans
FormatDurumDisk boyutu (MB)mAP50-95(B)Çıkarım süresi (ms/görüntü)
PyTorch5.30.4798302.15
TorchScript9.80.4764357.58
ONNX9.50.4764130.33
OpenVINO9.60.481870.74
TF SavedModel24.60.4764213.58
TF GraphDef9.50.4764213.5
TF Lite9.90.4764251.41
MNN9.40.478490.89
NCNN9.40.480567.69
ExecuTorch9.40.4764148.36

Ultralytics 8.4.1 ile test edilmiştir.

Not

Çı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:

Örnek
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.

İpucu
Not

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-hello
İpucu

Kamera ile Çıkarım

YOLO26 modellerinde çıkarım çalıştırmak için Raspberry Pi Kamerasını kullanmanın 2 yöntemi vardır.

Kullanım

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.

Örnek
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()
İpucu

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.

  1. 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.

  2. 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.

  3. 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-upgrade

    b. Yapılandırma dosyasını düzenlemek için aç

    sudo nano /boot/firmware/config.txt

    c. Aşağıdaki satırları en alta ekle

    arm_freq=3000
    gpu_freq=1000
    force_turbo=1

    d. 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:

  1. Paket listesini güncelle ve pip aracını kur:
    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
  2. İsteğe bağlı bağımlılıklarla birlikte Ultralytics paketini kur:
    pip install ultralytics[export]
  3. 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:

Örnek
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:

  1. picamera2 Kullanarak:

    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()
  2. TCP Akışı Kullanarak:

    rpicam-vid -n -t 0 --inline --listen -o tcp://127.0.0.1:8888
    from 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.

Yorumlar