Yapay zeka modelleri ve platformları
YOLOv8’i Açıklamak: Ultralytics’in Viral Bilgisayarlı Görme Ustası

Şimdiye kadar, bilgisayar görme modelleri kullanarak görüntülerde nesne algılama birkaç saniye gecikme nedeniyle işleme süresindeki büyük bir engel ile karşı karşıyaydı. Bu gecikme, otonom sürüş gibi kullanım örneklerinde pratik benimsenmeyi engelledi. Ancak, Ultralytics tarafından yayınlanan YOLOv8 bilgisayar görme modeli bu işleme gecikmesini aşmıştır. Yeni model, eşsiz hız ve doğrulukla gerçek zamanlı olarak nesneleri algılayabilir ve bu nedenle bilgisayar görme alanında popülerlik kazanmıştır.
Bu makale, YOLOv8’i, yeteneklerini ve açık kaynaklı Github deposu aracılığıyla nasıl özelleştirebileceğinizi ve kendi modellerinizi nasıl oluşturabileceğinizi keşfedecektir.
YOLOv8 Açıklaması
YOLO (You Only Live Once), görüntülerde nesne ve segmentasyonu algılayabilen popüler bir bilgisayar görme modelidir. Model, geçmişte birkaç güncelleme geçirmiş ve YOLOv8, 8. sürümünü temsil etmektedir. YOLOv8, önceki sürümlerin yeteneklerine dayanarak güçlü yeni özellikler ve geliştirmeler sunar. Bu, görüntüleri ve video verilerini gerçek zamanlı olarak algılayabilen ve gelişmiş doğruluk ve kesinlik sunan bir model oluşturur.
v1’den v8’e: Kısa Bir Tarih
Yolov1: 2015 yılında yayınlanan ilk YOLO sürümü, tek aşamalı bir nesne algılama modeli olarak tanıtıldı. Model, her bir sınırlayıcı kutuyu bir değerlendirmede tahmin etmek için tüm görüntüyü okurdu.
Yolov2: 2016 yılında yayınlanan sonraki sürüm, PASCAL VOC ve COCO gibi benchmarklerde üstün performans sergiledi ve yüksek hızlarda (67-40 FPS) çalışabiliyordu. Ayrıca, sınırlı özel algılama verisine rağmen 9000’den fazla nesne kategorisini doğru bir şekilde algılayabiliyordu.
Yolov3: 2018 yılında yayınlanan Yolov3, daha etkili bir omurga ağı, çoklu anchor’lar ve çok ölçekli özellik çıkarma için spatial pyramid pooling gibi yeni özellikler sundu.
Yolov4: 2020 yılında yayınlanan Yolov4, yeni bir veri artırma tekniği olan Mosaic veri artırma tekniğini tanıttı ve eğitim yeteneklerini geliştirdi.
Yolov5: 2021 yılında yayınlanan Yolov5, hiperparametre optimizasyonu ve entegre deney takip gibi güçlü yeni özellikler ekledi.
Yolov6: 2022 yılında yayınlanan Yolov6, topluluk tarafından sürüklenen gelişimi teşvik etmek için açık kaynaklı hale getirildi. Yeni özellikler, self-distillation stratejisi ve Anchor-Aided Training (AAT) stratejisi gibi özellikler tanıtıldı.
Yolov7: Aynı yıl yayınlanan Yolov7, mevcut modelin hızını ve doğruluğunu geliştirdi ve yayınlandığı sırada en hızlı nesne algılama modeli oldu.
YOLOv8’i Neler Ayırır?

YOLOv8’in eşsiz doğruluğu ve yüksek hızı, bu bilgisayar görme modelini önceki sürümlerden ayırır. Nesnelerin gerçek zamanlı olarak algılanabilmesi, önceki sürümlerde yaşanan gecikmeleri ortadan kaldırır.
Ayrıca, YOLOv8 aşağıdaki güçlü özelliklerle gelir:
- Özelleştirilebilir mimari: YOLOv8, geliştiricilerin özel gereksinimlerine uyacak şekilde özelleştirilebilen esnek bir mimari sunar.
- Uyumlu eğitim: YOLOv8’in yeni uyumlu eğitim yetenekleri, eğitim sırasında kayıp fonksiyonu dengelenmesi ve teknikler gibi özellikler, öğrenme oranını iyileştirir. Örneğin, Adam, daha iyi doğruluk, daha hızlı yakınsama ve genel olarak daha iyi model performansı sağlar.
- Gelişmiş görüntü analizi: YOLOv8, yeni anlamsal segmentasyon ve sınıf tahmini yetenekleri ile nesnelerin yanı sıra faaliyetleri, renkleri, dokuları ve nesneler arasındaki ilişkileri de algılayabilir.
- Veri artırma: Yeni veri artırma teknikleri, gerçek dünya nesne algılama durumlarında ideal olmayan koşullarda (düşük çözünürlük, gizleme vb.) görüntüdeki varyasyonları ele alır.
- Omurga desteği: YOLOv8, CSPDarknet (varsayılan omurga), EfficientNet (hafif omurga) ve ResNet (klasik omurga) gibi多lu omurgaları destekler ve kullanıcılar bunlardan birini seçebilir.
Kullanıcılar, CSPDarknet53’ü YOLOv8’in giriş ve çıkış boyutlarına uyumlu herhangi bir CNN mimarisi ile değiştirebilir.
YOLOv8’i Eğitmek ve İyileştirmek
YOLOv8 modeli, belirli kullanım örneklerine uyacak şekilde iyileştirilebilir veya tamamen sıfırdan eğitilerek özel bir model oluşturulabilir. Eğitim prosedürleri hakkında daha fazla bilgi, resmi belgelerde bulunabilir.
Şimdi, her iki işlemi nasıl gerçekleştirebileceğimizi keşfedeceğiz.
Özel Veri Seti ile YOLOV8’i İyileştirmek
İyileştirme işlemi, mevcut bir modeli yükler ve varsayılan ağırlıkları eğitim için başlangıç noktası olarak kullanır. İyileştirme işlemi, modelin önceki bilgilerini korur ve yeni bilgileri ağırlıkları ayarlayarak ekler.
YOLOv8 modeli, Python kodu veya komut satırı arabirimi (CLI) aracılığıyla iyileştirilebilir.
1. Python Kullanarak YOLOv8 Modelini İyileştirmek
İlk olarak, Ultralytics paketini kodunuza ekleyin. Ardından, eğitim için kullanmak istediğiniz özel modeli aşağıdaki kod ile yükleyin:
İlk olarak, resmi dağıtımdan Ultralytics kütüphanesini kurun.
| # Ultralytics paketini PyPI’den kurun pip install ultralytics |
Ardından, aşağıdaki kodu bir Python dosyasında çalıştırın:
| from ultralytics import YOLO
# Modeli yükleyin # Modeli MS COCO veri seti üzerinde eğitin |
Varsayılan olarak, kod modeli COCO veri seti üzerinde 100 epoch için eğitecektir. Ancak, bu ayarları YAML dosyasında yapılandırabilirsiniz.
Modeli ayarlarınız ve veri yolunuzla eğittikten sonra, ilerlemeyi izleyin, modeli test edin ve ayarlayın ve istediğiniz sonuçları elde edene kadar yeniden eğitin.
2. CLI Kullanarak YOLOv8 Modelini İyileştirmek
Modeli CLI aracılığıyla eğitmek için, aşağıdaki komutu çalıştırın:
| yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640 |
CLI komutu, önceden eğitilmiş `yolov8n.pt` modelini yükler ve `coco8.yaml` dosyasında tanımlanan veri seti üzerinde eğitimini gerçekleştirir.
Kendi Modelinizi YOLOv8 ile Oluşturmak
Kendi modelinizi YOLOv8 ile oluşturmanın temelde iki yolu vardır:
- Sıfırdan Eğitim: Bu yaklaşım, önceden eğitilmiş ağırlıklar kullanmadan YOLOv8 mimarisini kullanmanıza olanak tanır. Eğitim completely sıfırdan gerçekleşir.
- Özelleştirilmiş Mimari: YOLOv8’in varsayılan mimarisini değiştirir ve yeni yapıyı sıfırdan eğitin.
Her iki yöntemin uygulanması aynı kalır. YOLO modelini sıfırdan eğitmek için aşağıdaki Python kodunu çalıştırın:
| from ultralytics import YOLO
# Modeli yükleyin # Modeli eğitin |
Bu kez, `.pt` dosyası yerine `.yaml` dosyasını yüklediğimizi fark edeceksiniz. YAML dosyası, modelin mimari bilgilerini içerir ve ağırlıklar yüklenmez. Eğitim komutu, bu modeli sıfırdan eğitime başlayacaktır.
Özelleştirilmiş bir mimari oluşturmak için, `yolov8n.yaml` gibi bir `.yaml` dosyasında özel yapıyı tanımlamanız gerekir. Ardından, bu dosyayı yükleyin ve aynı kodu kullanarak modeli eğitin.
AI kullanarak nesne algılama hakkında daha fazla bilgi edinmek ve en son AI trendlerini takip etmek için unite.ai‘yi ziyaret edin.













