Ultralytics YOLO27:

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

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 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
Bellek1 GB LPDDR2 SDRAM1 GB, 2 GB, 4 GB, 8 GB LPDDR4-3200 SDRAM4 GB, 8 GB LPDDR4X-4267 SDRAM
PCIeN/AN/A1xPCIe 2.0 arabirimi
Maksimum Güç Tüketimi2.5A@5V3A@5V5A@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 $t

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

  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. ultralytics pip paketini yükle

    pip install ultralytics
  3. 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:

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

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

YOLO26 benchmarks on RPi 5
Benchmarked with Ultralytics 8.4.108

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.

Performans
BiçimDurumDiskteki boyut (MB)mAP50-95(B)Çıkarım süresi (ms/im)
PyTorch5.30.4760299.09
TorchScript9.80.4734353.20
ONNX9.50.4734125.99
OpenVINO9.60.4734104.55
MNN9.40.474991.87
NCNN9.40.478467.03
ExecuTorch9.40.4772144.83
LiteRT9.80.4730123.30

Ultralytics 8.4.108 ile kıyaslanmıştır

Not

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

Ö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 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 dışa aktarma cihaz dışında çalışır

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.

İpucu
Not

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

Kamerayla Çıkarım#

YOLO26 modelleri üzerinde çıkarım çalıştırmak için Raspberry Pi Kamerasını kullanmanın iki yöntemi vardır.

Raspberry Pi kamerasıyla çıkarım çalıştırma

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.

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

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

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

  3. 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-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'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:

    1. Paket listesini güncelle ve pip paketini yükle:
      sudo apt update
      sudo apt install python3-pip -y
      pip install -U pip
    2. Ultralytics paketini yükle:
      pip install ultralytics
    3. 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.

  • 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:

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

    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