saplama Yolov8'in Paketinin Açılması: Ultralytics'in Viral Bilgisayarlı Görme Başyapıtı - Unite.AI
Bizimle iletişime geçin

Yapay Zeka

Yolov8'in Paketinin Açılması: Ultralytics'in Viral Bilgisayarlı Görme Başyapıtı

mm
Güncellenmiş on
YOLOv8 için blogda öne çıkan görsel

Şimdiye kadar görüntülerde nesne tespiti bilgisayarlı görme modelleri işlem süresi nedeniyle birkaç saniyelik gecikmeden oluşan büyük bir engelle karşılaştı. Bu gecikme, otonom sürüş gibi kullanım durumlarının pratik olarak benimsenmesini engelledi. Ancak YOLOv8 bilgisayarlı görme modelinin Ultralytics tarafından piyasaya sürülmesi, işlem gecikmesini aştı. Yeni model, nesneleri gerçek zamanlı olarak benzersiz bir doğruluk ve hızla algılayabiliyor ve bu da onu bilgisayarlı görme alanında popüler hale getiriyor.

Bu makale YOLOv8'i, yeteneklerini ve açık kaynaklı Github deposu aracılığıyla kendi modellerinizi nasıl ince ayar yapabileceğinizi ve oluşturabileceğinizi araştırıyor.

Yolov8 Açıklaması

YOLOv8-Ultralitik

YOLO (Yalnızca Bir Kez Yaşarsınız) popüler bir bilgisayarlı görme modelidir. görüntülerdeki nesneleri algılama ve bölümlere ayırma. Model birkaç süreçten geçti geçmişte güncellemelerYOLOv8 8. sürümü işaret ediyor.

Şu anki haliyle YOLOv8, güçlü yeni özellikler ve iyileştirmeler sunarak önceki sürümlerin yeteneklerini geliştiriyor. Bu, görüntü ve video verilerinde gelişmiş doğruluk ve hassasiyetle gerçek zamanlı nesne algılamaya olanak tanır.

V1'den v8'e: Kısa Bir Tarih

Yolov1: 2015 yılında piyasaya sürülen YOLO'nun ilk versiyonu, tek aşamalı nesne algılama modeli olarak tanıtıldı. Özellikler, tek bir değerlendirmede her sınırlayıcı kutuyu tahmin etmek için görüntünün tamamını okuyan modeli içeriyordu.

yolov2: 2016 yılında piyasaya sürülen bir sonraki sürüm, PASCAL VOC ve COCO gibi kıyaslamalarda en üst performansı sergiledi ve yüksek hızlarda (67-40 FPS) çalıştı. Ayrıca sınırlı spesifik tespit verileriyle bile 9000'den fazla nesne kategorisini doğru bir şekilde tespit edebiliyor.

Yolov3: 2018'de piyasaya sürülen Yolov3, daha etkili bir omurga ağı, çoklu bağlantı noktaları ve çok ölçekli özellik çıkarımı için uzamsal piramit havuzu oluşturma gibi yeni özellikler sundu.

Yolov4: Yolov4'ün 2020'de piyasaya sürülmesiyle birlikte, gelişmiş eğitim yetenekleri sunan yeni Mosaic veri artırma tekniği tanıtıldı.

Yolov5: 2021'de piyasaya sürülen Yolov5, hiperparametre optimizasyonu ve entegre deney takibi gibi güçlü yeni özellikler ekledi.

Yolov6: Yolov6'nın 2022'de piyasaya sürülmesiyle model, topluluk odaklı gelişmeyi teşvik etmek için açık kaynaklı hale geldi. Yeni bir kendi kendine damıtma stratejisi ve Çapa Destekli Eğitim (AAT) stratejisi gibi yeni özellikler tanıtıldı.

Yolov7: Aynı yıl, yani 2022'de piyasaya sürülen Yolov7, hız ve doğruluk açısından mevcut modeli geliştirdi ve piyasaya sürüldüğü tarihte en hızlı nesne algılama modeliydi.

YOLOv8'i Öne Çıkaran Nedir?

Araç algılamayı gösteren resim

YOLOv8'in benzersiz doğruluğu ve yüksek hızı, bilgisayarlı görme modelinin önceki sürümlerden öne çıkmasını sağlıyor. Önceki sürümlerden farklı olarak nesneler artık gecikmeler olmadan gerçek zamanlı olarak algılanabildiğinden bu çok önemli bir başarıdır.

Ancak bunun yanı sıra YOLOv8 aşağıdakileri içeren güçlü yeteneklerle birlikte gelir:

  1. Özelleştirilebilir mimari: YOLOv8, geliştiricilerin kendi özel gereksinimlerine uyacak şekilde özelleştirebilecekleri esnek bir mimari sunar.
  2. Uyarlanabilir eğitim: YOLOv8'in eğitim sırasında fonksiyon kaybı dengeleme gibi yeni uyarlanabilir eğitim yetenekleri ve teknikler öğrenme oranını artırır. Daha iyi doğruluk, daha hızlı yakınsama ve genel olarak daha iyi model performansına katkıda bulunan Adam'ı ele alalım.
  3. Gelişmiş görüntü analizi: Yeni semantik segmentasyon ve sınıf tahmin yetenekleri sayesinde model, temel nesne algılama işlevinin yanı sıra etkinlikler, renk, doku ve hatta nesneler arasındaki ilişkileri bile algılayabiliyor.
  4. Veri artırma: Yeni veri artırma teknikleri, koşulların ideal olmadığı gerçek dünyadaki nesne algılama durumlarında düşük çözünürlük, kapanma vb. gibi görüntü varyasyonlarının üstesinden gelmeye yardımcı olur.
  5. Omurga desteği: YOLOv8, kullanıcıların aralarından seçim yapabileceği CSPDarknet (varsayılan omurga), EfficientNet (hafif omurga) ve ResNet (klasik omurga) dahil olmak üzere birden fazla omurga için destek sunar.

Kullanıcılar, CSPDarknet53'ü YOLOv8'in giriş ve çıkış boyutlarıyla uyumlu herhangi bir CNN mimarisiyle değiştirerek omurgayı bile özelleştirebilirler.

YOLOv8'in Eğitimi ve İnce Ayarı

YOLOv8 modeline belirli kullanım durumlarına uyacak şekilde ince ayar yapılabilir veya özel bir model oluşturmak için tamamen sıfırdan eğitilebilir. Eğitim prosedürleri hakkında daha fazla ayrıntıyı adresinde bulabilirsiniz. resmi belgeler.

Bu operasyonların her ikisini de nasıl gerçekleştirebileceğinizi keşfedelim.

YOLOV8'e Özel Veri Kümesiyle İnce Ayar Yapma

İnce ayar işlemi, önceden var olan bir modeli yükler ve eğitim için başlangıç ​​noktası olarak onun varsayılan ağırlıklarını kullanır. Sezgisel olarak konuşursak, model tüm önceki bilgilerini hatırlar ve ince ayar işlemi, ağırlıkları değiştirerek yeni bilgiler ekler.

YOLOv8 modeline Python kodunuzla veya komut satırı arayüzü (CLI) aracılığıyla ince ayar yapılabilir.

1. Python kullanarak bir YOLOv8 modeline ince ayar yapın

Ultralytics paketini kodunuza aktararak başlayın. Ardından aşağıdaki kodu kullanarak eğitmek istediğiniz özel modeli yükleyin:

Öncelikle resmi dağıtımdan Ultralytics kütüphanesini yükleyin.

# PyPI'den ultralytics paketini yükleyin
pip kurulumu ultralytics

Daha sonra bir Python dosyasında aşağıdaki kodu yürütün:

ultralytics'ten YOLO'yu içe aktarın

# Bir model yükle
model = YOLO('yolov8n.pt')  # önceden eğitilmiş bir model yükleyin (eğitim için önerilir)

# Modeli MS COCO veri kümesi üzerinde eğitin
sonuçlar = model.train(data='coco128.yaml', epochs=100, imgsz=640)

Varsayılan olarak kod, modeli 100 dönem boyunca COCO veri kümesini kullanarak eğitecektir. Ancak bu ayarları, bir YAML dosyasındaki boyutu, dönemi vb. ayarlamak için de yapılandırabilirsiniz.

Modeli ayarlarınızla ve veri yolunuzla eğittikten sonra ilerlemeyi izleyin, modeli test edip ayarlayın ve istediğiniz sonuçlara ulaşana kadar yeniden eğitime devam edin.

2. CLI'yi kullanarak YOLOv8 modeline ince ayar yapın

CLI'yi kullanarak bir modeli eğitmek için komut satırında aşağıdaki betiği çalıştırın:

yolo tren modeli=yolov8n.pt data=coco8.yaml dönemleri=100 imgsz=640

CLI komutu, önceden eğitilmiş "yolov8n.pt" modelini yükler ve onu "coco8.yaml" dosyasında tanımlanan veri kümesi üzerinde daha fazla eğitir.

YOLOv8 ile Kendi Modelinizi Oluşturmak

YOLO çerçevesiyle özel bir model oluşturmanın esasen 2 yolu vardır:

  • Sıfırdan Eğitim: Bu yaklaşım, önceden tanımlanmış YOLOv8 mimarisini kullanmanıza olanak tanır ancak önceden eğitilmiş ağırlıkları KULLANMAZ. Eğitim sıfırdan gerçekleşecek.
  • Özel Mimari: Varsayılan YOLO mimarisini değiştirirsiniz ve yeni yapıyı sıfırdan eğitirsiniz.

Bu yöntemlerin her ikisinin de uygulanması aynı kalır. Bir YOLO modelini sıfırdan eğitmek için aşağıdaki Python kodunu çalıştırın:

ultralytics'ten YOLO'yu içe aktarın

# Bir model yükle
model = YOLO('yolov8n.yaml')  # YAML'den yeni bir model oluşturun

# Modeli eğit
sonuçlar = model.train(data='coco128.yaml', epochs=100, imgsz=640)

Bu sefer '.pt' dosyası yerine '.yaml' dosyasını yüklediğimize dikkat edin. YAML dosyası modelin mimari bilgilerini içerir ve herhangi bir ağırlık yüklenmez. Eğitim komutu bu modeli sıfırdan eğitmeye başlayacaktır.

Özel bir mimariyi eğitmek için özel yapıyı yukarıdaki 'yolov8n.yaml' dosyasına benzer bir '.yaml' dosyasında tanımlamanız gerekir. Daha sonra bu dosyayı yüklersiniz ve yukarıdaki kodu kullanarak modeli eğitirsiniz.

Yapay zeka kullanarak nesne algılama hakkında daha fazla bilgi edinmek ve en yeni yapay zeka trendlerinden haberdar olmak için şu adresi ziyaret edin: birleştirmek.ai.