İçeriğe geç

Yapılandırma

YOLO ayarları ve hiperparametreleri, modelin performansı, hızı ve doğruluğunda kritik bir rol oynar. Bu ayarlar, modelin eğitim, doğrulama ve tahmin dahil olmak üzere çeşitli aşamalardaki davranışını etkileyebilir.

İzle: Ultralytics YOLO'da Uzmanlaşma: Yapılandırma



İzle: Ultralytics YOLO'da Uzmanlaşmak: Yapılandırma

Ultralytics komutları aşağıdaki sözdizimini kullanır:

Örnek

yolo TASK MODE ARGS
from ultralytics import YOLO

# Load a YOLO model from a pre-trained weights file
model = YOLO("yolo11n.pt")

# Run MODE mode using the custom arguments ARGS (guess TASK)
model.MODE(ARGS)

Nerede:

Varsayılan ARG değerler bu sayfada tanımlanmıştır ve şuradan gelir: cfg/defaults.yaml dosyası.

Görevler

Ultralytics YOLO modelleri, aşağıdakiler de dahil olmak üzere çeşitli bilgisayarla görme görevlerini gerçekleştirebilir:

  • Tespit Et: Nesne tespiti bir görüntü veya video içindeki nesneleri tanımlar ve konumlandırır.
  • Segment: Örnek segmentasyonu, bir resim veya videoyu farklı nesnelere veya sınıflara karşılık gelen bölgelere ayırır.
  • Sınıflandır: Görüntü sınıflandırması, bir giriş görüntüsünün sınıf etiketini tahmin eder.
  • Poz: Poz tahmini nesneleri tanımlar ve bir resim veya videodaki anahtar noktalarını tahmin eder.
  • OBB: Yönlendirilmiş Sınırlayıcı Kutular, uydu veya tıbbi görüntüleme için uygun olan döndürülmüş sınırlayıcı kutular kullanır.
Argüman Varsayılan Açıklama
task 'detect' YOLO görevini belirtir: detect için nesne tespiti, segment segmentasyon için, classify sınıflandırma için, pose poz tahmini için ve obb yönlendirilmiş sınırlayıcı kutular için. Her görev, görüntü ve video analizindeki belirli çıktılara ve sorunlara göre uyarlanmıştır.

Görevler Kılavuzu

Modlar

Ultralytics YOLO modelleri, model yaşam döngüsünün belirli bir aşaması için tasarlanmış farklı modlarda çalışır:

  • Eğitim: Özel bir veri kümesinde bir YOLO modeli eğitin.
  • Val: Eğitilmiş bir YOLO modelini doğrulayın.
  • Tahmin Et: Yeni resimler veya videolar üzerinde tahminler yapmak için eğitilmiş bir YOLO modelini kullanın.
  • Dışa Aktar: Bir YOLO modelini dağıtım için dışa aktarın.
  • İzle: Bir YOLO modeli kullanarak nesneleri gerçek zamanlı olarak izleyin.
  • Kıyaslama: YOLO dışa aktarımlarının (ONNX, TensorRT, vb.) hızını ve doğruluğunu kıyaslayın.
Argüman Varsayılan Açıklama
mode 'train' YOLO modelinin çalışma modunu belirtir: train model eğitimi için, val doğrulama için, predict çıkarım için, export dağıtım formatlarına dönüştürmek için, track nesne takibi için ve benchmark performans değerlendirmesi için. Her mod, geliştirmeden dağıtıma kadar farklı aşamaları destekler.

Modlar Kılavuzu

Eğitim Ayarları

YOLO modelleri için eğitim ayarları, modelin performansını, hızını ve doğruluğunu etkileyen hiperparametreleri ve yapılandırmaları içerir. Temel ayarlar arasında batch boyutu, öğrenme oranı, momentum ve ağırlık azalması bulunur. Optimizasyon algoritması, kayıp fonksiyonu ve veri kümesi kompozisyonu da eğitimi etkiler. Optimum performans için ince ayar ve deneme yapmak çok önemlidir. Daha fazla ayrıntı için Ultralytics giriş noktası fonksiyonuna bakın.

Argüman Tür Varsayılan Açıklama
model str None Eğitim için model dosyasını belirtir. Önceden eğitilmiş bir modelin veya bir .pt modelin veya bir .yaml yapılandırma dosyasının yolunu kabul eder. Model yapısını tanımlamak veya ağırlıkları başlatmak için gereklidir.
data str None Veri kümesi yapılandırma dosyasının yolu (örn. coco8.yaml'). Bu dosya, eğitim ve doğrulama verilerinin yolları, sınıf adları ve sınıf sayısı dahil olmak üzere veri kümesine özgü parametreleri içerir.
epochs int 100 Toplam eğitim epoch sayısı. Her epoch, tüm veri kümesi üzerinde tam bir geçişi temsil eder. Bu değeri ayarlamak, eğitim süresini ve model performansını etkileyebilir.
time float None Saat cinsinden maksimum eğitim süresi. Ayarlanırsa, epochs argümanını geçersiz kılar ve eğitimin belirtilen süre sonra otomatik olarak durmasını sağlar. Zaman kısıtlı eğitim senaryoları için kullanışlıdır.
patience int 100 Eğitimi erken durdurmadan önce doğrulama metriklerinde iyileşme olmadan beklenecek epoch sayısı. Performansın plato çizdiği durumlarda eğitimi durdurarak aşırı öğrenmeyi önlemeye yardımcı olur.
batch int veya float 16 Batch boyutu, üç mod ile: bir tamsayı olarak ayarlanır (örn. batch=16), %60 GPU bellek kullanım için otomatik mod (batch=-1), veya belirtilen kullanım oranıyla otomatik mod (batch=0.70).
imgsz int veya list 640 Eğitim için hedef resim boyutu. Tüm resimler, modele verilmeden önce bu boyuta yeniden boyutlandırılır. Model doğruluğunu ve hesaplama karmaşıklığını etkiler.
save bool True Eğitim kontrol noktalarının ve nihai model ağırlıklarının kaydedilmesini sağlar. Eğitime devam etmek veya model dağıtımı için kullanışlıdır.
save_period int -1 Model kontrol noktalarını kaydetme sıklığı, epoch olarak belirtilir. -1 değeri bu özelliği devre dışı bırakır. Uzun eğitim oturumları sırasında ara modelleri kaydetmek için kullanışlıdır.
cache bool False Veri kümesi resimlerinin bellekte (True/ram), diskte (disk), veya devre dışı bırakılarak (False) önbelleğe alınmasını sağlar. Artan bellek kullanımı pahasına disk G/Ç'sini azaltarak eğitim hızını artırır.
device int veya str veya list None Eğitim için işlem cihaz(lar)ını belirtir: tek bir GPU (device=0), birden çok GPU (device=[0,1]), CPU (device=cpu), Apple silikon için MPS (device=mps), veya en boşta olan GPU'nun otomatik seçimi (device=-1) veya birden fazla boşta GPU (device=[-1,-1])
workers int 8 Veri yükleme için çalışan iş parçacığı sayısı (her RANK Multi-GPU eğitimi için). Veri ön işleme ve modele besleme hızını etkiler, özellikle çoklu GPU kurulumlarında kullanışlıdır.
project str None Eğitim çıktılarının kaydedildiği proje dizininin adı. Farklı deneylerin düzenli bir şekilde saklanmasını sağlar.
name str None Eğitim çalıştırmasının adı. Eğitim günlüklerinin ve çıktılarının saklandığı proje klasörü içinde bir alt dizin oluşturmak için kullanılır.
exist_ok bool False Doğru ise, mevcut bir proje/ad dizininin üzerine yazılmasına izin verir. Önceki çıktıları manuel olarak temizlemeye gerek kalmadan yinelemeli deneyler için kullanışlıdır.
pretrained bool veya str True Eğitime önceden eğitilmiş bir modelden başlayıp başlamayacağını belirler. Ağırlıkların yükleneceği belirli bir modelin boolean değeri veya dize yolu olabilir. Eğitim verimliliğini ve model performansını artırır.
optimizer str 'auto' Eğitim için optimize edici seçimi. Seçenekler arasında SGD, Adam, AdamW, NAdam, RAdam, RMSProp vb. veya model yapılandırmasına göre otomatik seçim için auto bulunur. Yakınsama hızını ve kararlılığını etkiler.
seed int 0 Eğitim için rastgele tohumu ayarlar, aynı yapılandırmalara sahip çalıştırmalarda sonuçların tekrarlanabilirliğini sağlar.
deterministic bool True Deterministik algoritma kullanımını zorlar, tekrarlanabilirliği sağlar ancak deterministik olmayan algoritmalardaki kısıtlama nedeniyle performansı ve hızı etkileyebilir.
single_cls bool False Çok sınıflı veri kümelerindeki tüm sınıfları eğitim sırasında tek bir sınıf olarak ele alır. İkili sınıflandırma görevleri için veya sınıflandırmadan ziyade nesne varlığına odaklanırken kullanışlıdır.
classes list[int] None Üzerinde eğitim yapılacak sınıf kimliklerinin bir listesini belirtir. Eğitim sırasında yalnızca belirli sınıflara odaklanmak ve bunları filtrelemek için kullanışlıdır.
rect bool False Dikdörtgen eğitimini etkinleştirir, minimum dolgu için toplu iş bileşimini optimize eder. Verimliliği ve hızı artırabilir ancak model doğruluğunu etkileyebilir.
multi_scale bool False Artırarak/azaltarak çok ölçekli eğitimi etkinleştirir. imgsz ...faktörüne kadar 0.5 eğitim sırasında. Modeli birden fazla ile daha doğru olacak şekilde eğitir imgsz çıkarım sırasında.
cos_lr bool False Dönemler boyunca bir kosinüs eğrisini izleyerek öğrenme oranını ayarlayan bir kosinüs öğrenme oranı zamanlayıcısı kullanır. Daha iyi yakınsama için öğrenme oranını yönetmeye yardımcı olur.
close_mosaic int 10 Tamamlanmadan önce eğitimi stabilize etmek için son N dönemde mozaik veri artırmayı devre dışı bırakır. 0'a ayarlamak bu özelliği devre dışı bırakır.
resume bool False Son kaydedilen kontrol noktasından eğitime devam eder. Model ağırlıklarını, optimize edici durumunu ve dönem sayısını otomatik olarak yükler ve eğitime sorunsuz bir şekilde devam eder.
amp bool True Otomatik Karışık Duyarlıklı (AMP) eğitimini etkinleştirir, bellek kullanımını azaltır ve doğruluğu en az etkileyerek eğitimi hızlandırabilir.
fraction float 1.0 Eğitim için kullanılacak veri kümesinin oranını belirtir. Tam veri kümesinin bir alt kümesi üzerinde eğitime olanak tanır; deneyler için veya kaynaklar sınırlı olduğunda kullanışlıdır.
profile bool False Model dağıtımını optimize etmek için kullanışlı olan eğitim sırasında ONNX ve TensorRT hızlarının profilini çıkarmayı sağlar.
freeze int veya list None Modelin ilk N katmanını veya belirtilen katmanlarını indeksine göre dondurarak eğitilebilir parametrelerin sayısını azaltır. İnce ayar veya transfer öğrenimi için kullanışlıdır.
lr0 float 0.01 Başlangıç öğrenme oranı (yani SGD=1E-2, Adam=1E-3). Bu değeri ayarlamak, model ağırlıklarının ne kadar hızlı güncellendiğini etkileyerek optimizasyon süreci için çok önemlidir.
lrf float 0.01 Başlangıç oranının bir kesri olarak nihai öğrenme oranı = (lr0 * lrf), zaman içinde öğrenme oranını ayarlamak için zamanlayıcılarla birlikte kullanılır.
momentum float 0.937 SGD için momentum faktörü veya Adam optimize ediciler için beta1, geçmiş gradyanların mevcut güncellemeye dahil edilmesini etkiler.
weight_decay float 0.0005 Aşırı öğrenmeyi önlemek için büyük ağırlıkları cezalandıran L2 düzenlileştirme terimi.
warmup_epochs float 3.0 Öğrenme oranı ısınması için dönem sayısı, eğitimi erken aşamada stabilize etmek için öğrenme oranını düşük bir değerden başlangıç öğrenme oranına kademeli olarak artırır.
warmup_momentum float 0.8 Isınma aşaması için başlangıç momentumu, ısınma süresi boyunca ayarlanan momentuma kademeli olarak ayarlanır.
warmup_bias_lr float 0.1 Isınma aşamasında bias parametreleri için öğrenme oranı, ilk dönemlerde model eğitimini stabilize etmeye yardımcı olur.
box float 7.5 Kayıp fonksiyonundaki kutu kaybı bileşeninin ağırlığı, sınırlayıcı kutu koordinatlarını doğru bir şekilde tahmin etmeye ne kadar önem verildiğini etkiler.
cls float 0.5 Toplam kayıp fonksiyonunda sınıflandırma kaybının ağırlığı, diğer bileşenlere göre doğru sınıf tahmininin önemini etkiler.
dfl float 1.5 Dağıtım odaklı kaybın ağırlığı, ince taneli sınıflandırma için belirli YOLO sürümlerinde kullanılır.
pose float 12.0 Poz tahmini için eğitilmiş modellerde poz kaybının ağırlığı, poz anahtar noktalarını doğru bir şekilde tahmin etmeye verilen önemi etkiler.
kobj float 2.0 Poz tahmini modellerinde anahtar nokta nesnelliği kaybının ağırlığı, algılama güvenini poz doğruluğu ile dengeler.
nbs int 64 Kayıp normalleştirme için nominal toplu iş boyutu.
overlap_mask bool True Nesne maskelerinin eğitim için tek bir maskede birleştirilip birleştirilmeyeceğini veya her nesne için ayrı tutulup tutulmayacağını belirler. Çakışma durumunda, birleştirme sırasında daha küçük maske daha büyük maskenin üzerine yerleştirilir.
mask_ratio int 4 Eğitim sırasında kullanılan maskelerin çözünürlüğünü etkileyen segmentasyon maskeleri için alt örnekleme oranı.
dropout float 0.0 Sınıflandırma görevlerinde düzenlileştirme için bırakma oranı (dropout rate), eğitim sırasında birimleri rastgele çıkararak aşırı öğrenmeyi önler.
val bool True Eğitim sırasında doğrulamayı etkinleştirir ve modelin performansının ayrı bir veri kümesi üzerinde periyodik olarak değerlendirilmesine olanak tanır.
plots bool False Model performansı ve öğrenme ilerlemesi hakkında görsel bilgiler sağlayan eğitim ve doğrulama metriklerinin yanı sıra tahmin örneklerinin grafiklerini oluşturur ve kaydeder.

Yığın Boyutu Ayarları Hakkında Not

batch argümanı üç yapılandırma seçeneği sunar:

  • Sabit Toplu Boyutu: Her bir toplu işlemdeki görüntü sayısını bir tamsayı ile belirtin (örneğin, batch=16).
  • Otomatik Mod (%60 GPU Belleği): Kullanın batch=-1 yaklaşık %60 CUDA bellek kullanımına otomatik ayarlama için.
  • Kullanım Oranı ile Otomatik Mod: Bir kesir ayarlayın (örneğin, batch=0.70) belirtilen bir GPU bellek kullanımına göre ayarlamak için.

Eğitim Kılavuzu

Tahmin Ayarları

YOLO modelleri için tahmin ayarları, çıkarım sırasında performansı, hızı ve doğruluğu etkileyen hiperparametreleri ve yapılandırmaları içerir. Temel ayarlar arasında güven eşiği, Non-Maximum Suppression (NMS) (Maksimum Olmayan Baskılama) eşiği ve sınıf sayısı bulunur. Girdi verisi boyutu, biçimi ve maskeler gibi ek özellikler de tahminleri etkiler. Optimum performans için bu ayarları yapmak çok önemlidir.

Çıkarım argümanları:

Argüman Tür Varsayılan Açıklama
source str 'ultralytics/assets' Çıkarım için veri kaynağını belirtir. Bir resim yolu, video dosyası, dizin, URL veya canlı yayınlar için cihaz kimliği olabilir. Farklı türde girdilerde esnek uygulamaya olanak tanıyan çok çeşitli formatları ve kaynakları destekler.
conf float 0.25 Algılamalar için minimum güven eşiğini ayarlar. Bu eşiğin altında güvenle algılanan nesneler dikkate alınmaz. Bu değeri ayarlamak, yanlış pozitifleri azaltmaya yardımcı olabilir.
iou float 0.7 Non-Maximum Suppression (NMS) için Kesişim Üzerinden Birleşim (IoU) eşiği. Daha düşük değerler, örtüşen kutuları ortadan kaldırarak daha az algılama ile sonuçlanır ve bu da yinelenenleri azaltmak için kullanışlıdır.
imgsz int veya tuple 640 Çıkarım için resim boyutunu tanımlar. Tek bir tamsayı olabilir 640 kare yeniden boyutlandırma veya (yükseklik, genişlik) demeti için. Doğru boyutlandırma, algılamayı iyileştirebilir doğruluğu ve işleme hızı.
rect bool True Etkinleştirilirse, çıkarım hızını artırmak için görüntünün kısa kenarını stride ile bölünebilir olana kadar minimum düzeyde doldurur. Devre dışı bırakılırsa, çıkarım sırasında görüntüyü kare olacak şekilde doldurur.
half bool False Yarı-duyarlıklı (FP16) çıkarımını etkinleştirir; bu, desteklenen GPU'larda model çıkarımını doğruluk üzerinde minimum etkiyle hızlandırabilir.
device str None Çıkarım için cihazı belirtir (örn. cpu, cuda:0 veya 0). Kullanıcıların model yürütme için CPU, belirli bir GPU veya diğer işlem cihazları arasında seçim yapmasına olanak tanır.
batch int 1 Çıkarım için toplu iş boyutunu belirtir (yalnızca kaynak olduğunda çalışır) bir dizin, video dosyası veya .txt dosyası). Daha büyük bir toplu iş boyutu, daha yüksek verim sağlayarak çıkarım için gereken toplam süreyi kısaltabilir.
max_det int 300 Görüntü başına izin verilen maksimum algılama sayısı. Modelin tek bir çıkarımda algılayabileceği toplam nesne sayısını sınırlar ve yoğun sahnelerde aşırı çıktıları önler.
vid_stride int 1 Video girişleri için çerçeve adımı. Zamansal çözünürlük pahasına işlemeyi hızlandırmak için videolardaki karelerin atlanmasına olanak tanır. 1 değeri her kareyi işler, daha yüksek değerler kareleri atlar.
stream_buffer bool False Video akışları için gelen çerçevelerin sıraya alınıp alınmayacağını belirler. Eğer False, eski çerçeveler yeni çerçevelere yer açmak için bırakılır (gerçek zamanlı uygulamalar için optimize edilmiştir). Eğer True, hiçbir çerçevenin atlanmamasını sağlamak için yeni çerçeveleri bir arabelleğe alır, ancak çıkarım FPS'si akış FPS'sinden düşükse gecikmeye neden olur.
visualize bool False Modelin ne "gördüğüne" dair içgörüler sağlayarak, çıkarım sırasında model özelliklerinin görselleştirilmesini etkinleştirir. Hata ayıklama ve model yorumlama için kullanışlıdır.
augment bool False Tahminler için test zamanı artırmayı (TTA) etkinleştirir, bu da çıkarım hızı pahasına algılama sağlamlığını potansiyel olarak artırır.
agnostic_nms bool False Sınıf-agnostik Non-Maximum Suppression'ı (NMS) etkinleştirir, bu da farklı sınıfların örtüşen kutularını birleştirir. Sınıf örtüşmesinin yaygın olduğu çok sınıflı algılama senaryolarında kullanışlıdır.
classes list[int] None Tahminleri bir dizi sınıf kimliğine filtreler. Yalnızca belirtilen sınıflara ait algılamalar döndürülür. Çok sınıflı algılama görevlerinde ilgili nesnelere odaklanmak için kullanışlıdır.
retina_masks bool False Yüksek çözünürlüklü segmentasyon maskeleri döndürür. Döndürülen maskeler (masks.data), etkinleştirilirse orijinal görüntü boyutuna eşleşecektir. Devre dışı bırakılırsa, çıkarım sırasında kullanılan görüntü boyutuna sahip olurlar.
embed list[int] None Öznitelik vektörlerini veya gömme (embedding) işlemlerini çıkarmak için katmanları belirtir. Kümeleme veya benzerlik araması gibi sonraki görevler için kullanışlıdır.
project str None Tahmin çıktıları kaydedilirse proje dizininin adı save etkinleştirildi.
name str None Tahmin çalıştırmasının adı. Proje klasörü içinde bir alt dizin oluşturmak için kullanılır; tahmin çıktıları burada saklanırsa save etkinleştirildi.
stream bool False Tüm çerçeveleri aynı anda belleğe yüklemek yerine, Sonuç nesnelerinin bir üretecinin döndürülmesiyle uzun videolar veya çok sayıda görüntü için bellek açısından verimli işlemeyi etkinleştirir.
verbose bool True Tahmin süreci hakkında gerçek zamanlı geri bildirim sağlayarak, terminalde ayrıntılı çıkarım günlüklerinin görüntülenip görüntülenmeyeceğini kontrol eder.

Görselleştirme argümanları:

Argüman Tür Varsayılan Açıklama
show bool False Eğer True, ek açıklamalı görüntüleri veya videoları bir pencerede görüntüler. Geliştirme veya test sırasında anında görsel geri bildirim için kullanışlıdır.
save bool False or True Açıklamalı resimlerin veya videoların dosyaya kaydedilmesini sağlar. Belgeleme, daha fazla analiz veya sonuçları paylaşmak için kullanışlıdır. CLI kullanılırken True ve python'da kullanılırken False olarak ayarlanmıştır.
save_frames bool False Videoları işlerken, tek tek kareleri görüntü olarak kaydeder. Belirli kareleri çıkarmak veya ayrıntılı kare kare analizi için kullanışlıdır.
save_txt bool False Algılama sonuçlarını şu formatta bir metin dosyasına kaydeder: [class] [x_center] [y_center] [width] [height] [confidence]Diğer analiz araçlarıyla entegrasyon için kullanışlıdır.
save_conf bool False Kaydedilen metin dosyalarına güvenilirlik skorlarını dahil eder. İşlem sonrası ve analiz için mevcut ayrıntıları geliştirir.
save_crop bool False Algılamaların kırpılmış görüntülerini kaydeder. Veri kümesi artırma, analiz veya belirli nesneler için odaklanmış veri kümeleri oluşturmak için kullanışlıdır.
show_labels bool True Görsel çıktıdaki her algılama için etiketleri görüntüler. Algılanan nesnelerin anında anlaşılmasını sağlar.
show_conf bool True Etiketin yanında her algılama için güvenilirlik puanını görüntüler. Modelin her algılama için kesinliği hakkında fikir verir.
show_boxes bool True Algılanan nesnelerin etrafına sınırlayıcı kutular çizer. Görüntülerdeki veya video karelerindeki nesnelerin görsel olarak tanımlanması ve konumlandırılması için önemlidir.
line_width None or int None Sınırlayıcı kutuların çizgi genişliğini belirtir. Eğer None, çizgi genişliği, görüntü boyutuna göre otomatik olarak ayarlanır. Netlik için görsel özelleştirme sağlar.

Tahmin Kılavuzu

Doğrulama Ayarları

YOLO modelleri için doğrulama ayarları, bir doğrulama veri kümesi üzerinde performansı değerlendirmek için hiperparametreleri ve yapılandırmaları içerir. Bu ayarlar performansı, hızı ve doğruluğu etkiler. Yaygın ayarlar arasında yığın boyutu, doğrulama sıklığı ve performans metrikleri bulunur. Doğrulama veri kümesinin boyutu ve bileşimi, belirli görevle birlikte süreci de etkiler.

Argüman Tür Varsayılan Açıklama
data str None Veri kümesi yapılandırma dosyasının yolunu belirtir (örn. coco8.yaml). Bu dosya, şunlara giden yolları içerir: doğrulama verilerinin yolları, sınıf adları ve sınıf sayısı dahil olmak üzere veri kümesine özgü parametreleri içerir.
imgsz int 640 Giriş görüntülerinin boyutunu tanımlar. Tüm görüntüler işlenmeden önce bu boyuta yeniden boyutlandırılır. Daha büyük boyutlar küçük nesneler için doğruluğu artırabilir ancak hesaplama süresini artırır.
batch int 16 Her bir toplu işte bulunan görüntü sayısını ayarlar. Daha yüksek değerler GPU belleğini daha verimli kullanır ancak daha fazla VRAM gerektirir. Mevcut donanım kaynaklarına göre ayarlayın.
save_json bool False Eğer True, sonuçları daha fazla analiz, diğer araçlarla entegrasyon veya COCO gibi değerlendirme sunucularına gönderme için bir JSON dosyasına kaydeder.
conf float 0.001 Algılamalar için minimum güven eşiğini ayarlar. Daha düşük değerler hatırlamayı artırır ancak daha fazla yanlış pozitif sonuç verebilir. Kesinlik-hatırlama eğrilerini hesaplamak için doğrulama sırasında kullanılır.
iou float 0.7 Non-Maximum Suppression için Intersection Over Union eşiğini ayarlar. Kopya algılama elemesini kontrol eder.
max_det int 300 Görüntü başına maksimum tespit sayısını sınırlar. Aşırı tespitleri önlemek ve işlem kaynaklarını yönetmek için yoğun sahnelerde kullanışlıdır.
half bool True Yarı-duyarlıklı (FP16) hesaplamayı etkinleştirir, bellek kullanımını azaltır ve doğruluk üzerinde minimum etkiyle hızı potansiyel olarak artırır.
device str None Doğrulama için cihazı belirtir (cpu, cuda:0, vb.). Ne zaman None, otomatik olarak mevcut en iyi cihazı seçer. Birden çok CUDA cihazı virgülle ayrılarak belirtilebilir.
dnn bool False Eğer True, şunu kullanır OpenCV ONNX model çıkarımı için DNN modülü, şuna bir alternatif sunar: PyTorch çıkarım yöntemleri.
plots bool False Şu şekilde ayarlandığında True, model performansının görsel olarak değerlendirilmesi için tahminlere karşı gerçek değerlerin, karışıklık matrislerinin ve PR eğrilerinin grafiklerini oluşturur ve kaydeder.
classes list[int] None Üzerinde eğitim yapılacak sınıf kimliklerinin bir listesini belirtir. Değerlendirme sırasında yalnızca belirli sınıflara odaklanmak ve bunları filtrelemek için kullanışlıdır.
rect bool True Eğer True, toplu işlem için dikdörtgen çıkarım kullanır, dolguyu azaltır ve görüntüleri orijinal en boy oranlarında işleyerek hızı ve verimliliği potansiyel olarak artırır.
split str 'val' Doğrulama için kullanılacak veri kümesi bölümünü belirler (val, test, veya train). Performans değerlendirmesi için veri bölümünü seçmede esneklik sağlar.
project str None Doğrulama çıktılarının kaydedildiği proje dizininin adı. Farklı deneylerden veya modellerden elde edilen sonuçları düzenlemeye yardımcı olur.
name str None Doğrulama çalıştırmasının adı. Doğrulama günlüklerinin ve çıktılarının saklandığı proje klasörü içinde bir alt dizin oluşturmak için kullanılır.
verbose bool False Eğer True, sınıf başına metrikler, toplu iş ilerlemesi ve ek hata ayıklama bilgileri dahil olmak üzere doğrulama işlemi sırasında ayrıntılı bilgi görüntüler.
save_txt bool False Eğer True, algılama sonuçlarını, görüntü başına bir dosya olacak şekilde metin dosyalarına kaydeder; bu, daha fazla analiz, özel işlem sonrası veya diğer sistemlerle entegrasyon için kullanışlıdır.
save_conf bool False Eğer True, ne zaman kaydedilen metin dosyalarında güven değerlerini içerir save_txt etkinleştirildi, analiz ve filtreleme için daha ayrıntılı çıktı sağlıyor.
workers int 8 Veri yükleme için çalışan iş parçacığı sayısı. Daha yüksek değerler veri ön işlemeyi hızlandırabilir ancak CPU kullanımını artırabilir. 0'a ayarlamak ana iş parçacığını kullanır, bu da bazı ortamlarda daha kararlı olabilir.
augment bool False Girişin dönüştürülmüş sürümlerinde çıkarım çalıştırarak çıkarım hızı pahasına algılama doğruluğunu potansiyel olarak artıran, doğrulama sırasında test zamanı artırmayı (TTA) etkinleştirir.
agnostic_nms bool False Tahmin edilen sınıflarından bağımsız olarak örtüşen kutuları birleştiren, sınıftan bağımsız Non-Maximum Suppression özelliğini etkinleştirir. Örnek odaklı uygulamalar için kullanışlıdır.
single_cls bool False Doğrulama sırasında tüm sınıfları tek bir sınıf olarak ele alır. İkili algılama görevlerinde veya sınıf ayrımlarının önemli olmadığı durumlarda model performansını değerlendirmek için kullanışlıdır.

Optimum performansı sağlamak ve aşırı öğrenmeyi tespit edip önlemek için dikkatli ayarlama ve deney yapılması çok önemlidir.

Val Kılavuzu

Dışa Aktarma Ayarları

YOLO modelleri için dışa aktarma ayarları, modelin farklı ortamlarda kullanılmak üzere kaydedilmesi veya dışa aktarılmasına yönelik yapılandırmaları içerir. Bu ayarlar performansı, boyutu ve uyumluluğu etkiler. Temel ayarlar arasında dışa aktarılan dosya biçimi (örn. ONNX, TensorFlow SavedModel), hedef cihaz (örn. CPU, GPU) ve maskeler gibi özellikler bulunur. Modelin görevi ve hedef ortamın kısıtlamaları da dışa aktarma sürecini etkiler.

Argüman Tür Varsayılan Açıklama
format str 'torchscript' Dışa aktarılan model için hedef biçim, örneğin 'onnx', 'torchscript', 'engine' (TensorRT) veya diğerleri. Her format, farklı ile uyumluluk sağlar dağıtım ortamları.
imgsz int veya tuple 640 Model girişi için istenen görüntü boyutu. Kare görüntüler için bir tamsayı olabilir (örn. 640 640×640 için) veya bir demet (height, width) belirli boyutlar için.
keras bool False TensorFlow SavedModel için Keras formatına dışa aktarmayı etkinleştirir ve TensorFlow serving ve API'lerle uyumluluk sağlar.
optimize bool False TorchScript'e aktarılırken mobil cihazlar için optimizasyon uygular, bu da model boyutunu potansiyel olarak küçültür ve çıkarım performansını artırır. NCNN formatı veya CUDA cihazlarıyla uyumlu değildir.
half bool False Model boyutunu küçülten ve desteklenen donanımda çıkarımı potansiyel olarak hızlandıran FP16 (yarım duyarlıklı) nicelemeyi etkinleştirir. ONNX için INT8 niceleme veya yalnızca CPU dışa aktarmalarıyla uyumlu değildir.
int8 bool False Öncelikle uç cihazlar için olmak üzere, INT8 nicelemesini etkinleştirir, modeli daha da sıkıştırır ve minimum doğruluk kaybıyla çıkarımı hızlandırır. TensorRT ile kullanıldığında, eğitim sonrası niceleme (PTQ) gerçekleştirir.
dynamic bool False ONNX, TensorRT ve OpenVINO dışa aktarımları için dinamik giriş boyutlarına izin vererek, değişen görüntü boyutlarını işlemede esnekliği artırır. Otomatik olarak şu şekilde ayarlanır: True INT8 ile TensorRT kullanırken.
simplify bool True ONNX dışa aktarımları için model grafiğini basitleştirir onnxslim, performansı ve çıkarım motorlarıyla uyumluluğu potansiyel olarak artırır.
opset int None Farklı ONNX ayrıştırıcıları ve çalışma zamanlarıyla uyumluluk için ONNX opset sürümünü belirtir. Ayarlanmazsa, desteklenen en son sürüm kullanılır.
workspace float veya None None için maksimum çalışma alanı boyutunu GiB cinsinden ayarlar TensorRT optimizasyonları, bellek kullanımını ve performansı dengeleme. Şunu kullanın: None TensorRT tarafından cihazın maksimumuna kadar otomatik tahsis için.
nms bool False Desteklendiğinde (bkz. Dışa Aktarma Biçimleri), dışa aktarılan modele Non-Maximum Suppression (NMS) ekleyerek algılama sonrası işleme verimliliğini artırır. Uçtan uca modeller için mevcut değildir.
batch int 1 Dışa aktarma modelinin toplu çıkarım boyutunu veya dışa aktarılan modelin eşzamanlı olarak işleyeceği maksimum görüntü sayısını belirtir predict modu. Edge TPU dışa aktarımları için bu, otomatik olarak 1 olarak ayarlanır.
device str None Dışa aktarma için cihazı belirtir: GPU (device=0), CPU (device=cpu), Apple silikon için MPS (device=mps) veya NVIDIA Jetson için DLA (device=dla:0 veya device=dla:1). TensorRT dışa aktarımları otomatik olarak GPU'yu kullanır.
data str 'coco8.yaml' Şuraya giden yol: veri kümesi yapılandırma dosyası (varsayılan: coco8.yaml), INT8 nicelemesi kalibrasyonu için önemlidir. INT8 etkinleştirilmişken belirtilmezse, varsayılan bir veri kümesi atanır.
fraction float 1.0 Veri kümesinin INT8 niceleme kalibrasyonu için kullanılacak kısmını belirtir. Tam veri kümesinin bir alt kümesi üzerinde kalibrasyon yapılmasına olanak tanır, bu da deneyler için veya kaynaklar sınırlı olduğunda kullanışlıdır. INT8 etkinleştirilmişse belirtilmezse, tam veri kümesi kullanılır.

Düşünceli yapılandırma, dışa aktarılan modelin kullanım durumu için optimize edilmesini ve hedef ortamda etkili bir şekilde çalışmasını sağlar.

Dışa Aktarma Kılavuzu

Çözümler Ayarları

Ultralytics Solutions yapılandırma ayarları, nesne sayma, ısı haritası oluşturma, egzersiz takibi, veri analizi, bölge takibi, sıra yönetimi ve bölge tabanlı sayma gibi görevler için modelleri özelleştirme esnekliği sunar. Bu seçenekler, belirli ihtiyaçlara göre uyarlanmış doğru ve kullanışlı sonuçlar için kolay ayarlamalar sağlar.

Argüman Tür Varsayılan Açıklama
model str None Ultralytics YOLO Model Dosyasına Giden Yol.
region list '[(20, 400), (1260, 400)]' Sayma bölgesini tanımlayan nokta listesi.
show_in bool True Video akışında giriş sayılarının görüntülenip görüntülenmeyeceğini kontrol etme işareti.
show_out bool True Video akışında çıkış sayılarının görüntülenip görüntülenmeyeceğini kontrol etme işareti.
analytics_type str line Grafik türü, örneğin, line, bar, area, veya pie.
colormap int cv2.COLORMAP_JET Isı haritası için kullanılacak renk haritası.
json_file str None Tüm otopark koordinat verilerini içeren JSON dosyasına giden yol.
up_angle float 145.0 'Yukarı' pozu için açı eşiği.
kpts list[int, int, int] '[6, 8, 10]' Egzersizleri izlemek için kullanılan anahtar noktaların listesi. Bu anahtar noktalar, şınav, barfiks, squat, karın egzersizleri gibi egzersizler için omuzlar, dirsekler ve bilekler gibi vücut eklemlerine veya parçalarına karşılık gelir.
down_angle float 90.0 'Aşağı' pozu için açı eşiği.
blur_ratio float 0.5 Bulanıklık yoğunluğunun yüzdesini ayarlar, aralıktaki değerlerle 0.1 - 1.0.
crop_dir str 'cropped-detections' Kırpılmış algılamaların saklanacağı dizin adı.
records int 5 Güvenlik alarm sistemiyle bir e-posta tetiklemek için toplam tespit sayısı.
vision_point tuple[int, int] (20, 20) VisionEye Solution kullanılarak nesnelerin izleneceği ve yolların çizileceği nokta.
source str None Giriş kaynağının yolu (video, RTSP, vb.). Yalnızca Solutions komut satırı arayüzü (CLI) ile kullanılabilir.
figsize tuple[int, int] (12.8, 7.2) Isı haritaları veya grafikler gibi analiz çizelgeleri için şekil boyutu.
fps float 30.0 Hız hesaplamaları için kullanılan saniye başına kare sayısı.
max_hist int 5 Hız/yön hesaplamaları için nesne başına izlenecek maksimum geçmiş nokta sayısı.
meter_per_pixel float 0.05 Piksel mesafesini gerçek dünya birimlerine dönüştürmek için kullanılan ölçekleme faktörü.
max_speed int 120 Görsel katmanlarda maksimum hız sınırı (uyarılarda kullanılır).
data str 'images' Benzerlik araması için kullanılan resim dizininin yolu.

Çözümler Kılavuzu

Artırma Ayarları

Veri artırma teknikleri, eğitim verilerine değişkenlik katarak YOLO modelinin sağlamlığını ve performansını artırmak için gereklidir ve modelin görülmemiş verilere daha iyi genellemesine yardımcı olur. Aşağıdaki tablo, her bir artırma argümanının amacını ve etkisini özetlemektedir:

Argüman Tür Varsayılan Aralık Açıklama
hsv_h float 0.015 0.0 - 1.0 Görüntünün renk tonunu, renk tekerleğinin bir bölümü kadar ayarlar ve renk değişkenliği sağlar. Modelin farklı aydınlatma koşullarında genelleme yapmasına yardımcı olur.
hsv_s float 0.7 0.0 - 1.0 Görüntünün doygunluğunu bir kesir oranında değiştirerek renklerin yoğunluğunu etkiler. Farklı çevre koşullarını simüle etmek için kullanışlıdır.
hsv_v float 0.4 0.0 - 1.0 Modelin çeşitli aydınlatma koşullarında iyi performans göstermesine yardımcı olarak, görüntünün değerini (parlaklığını) bir kesir oranında değiştirir.
degrees float 0.0 0.0 - 180 Görüntüyü belirtilen derece aralığında rastgele döndürerek, modelin nesneleri çeşitli yönlerde tanıma yeteneğini geliştirir.
translate float 0.1 0.0 - 1.0 Görüntüyü yatay ve dikey olarak görüntü boyutunun bir kısmı kadar kaydırır, bu da kısmen görünen nesneleri algılamayı öğrenmeye yardımcı olur.
scale float 0.5 >=0.0 Görüntüyü bir kazanç faktörüyle ölçeklendirerek, nesneleri kameradan farklı mesafelerdeymiş gibi simüle eder.
shear float 0.0 -180 - +180 Görüntüyü belirtilen bir dereceye kadar kaydırır ve nesnelerin farklı açılardan görüntülenmesi etkisini taklit eder.
perspective float 0.0 0.0 - 0.001 Modelin nesneleri 3B uzayda anlama yeteneğini geliştirmek için görüntüye rastgele bir perspektif dönüşümü uygular.
flipud float 0.0 0.0 - 1.0 Nesnenin özelliklerini etkilemeden veri değişkenliğini artırarak görüntüyü belirtilen olasılıkla baş aşağı çevirir.
fliplr float 0.5 0.0 - 1.0 Simetrik nesneleri öğrenmek ve veri kümesi çeşitliliğini artırmak için görüntüyü belirtilen olasılıkla soldan sağa çevirir.
bgr float 0.0 0.0 - 1.0 Yanlış kanal sıralamasına karşı sağlamlığı artırmak için belirtilen olasılıkla görüntü kanallarını RGB'den BGR'ye çevirir.
mosaic float 1.0 0.0 - 1.0 Dört eğitim görüntüsünü bir araya getirerek farklı sahne kompozisyonlarını ve nesne etkileşimlerini simüle eder. Karmaşık sahne anlayışı için oldukça etkilidir.
mixup float 0.0 0.0 - 1.0 İki görüntüyü ve etiketlerini harmanlayarak kompozit bir görüntü oluşturur. Etiket gürültüsü ve görsel değişkenlik sağlayarak modelin genelleme yeteneğini geliştirir.
cutmix float 0.0 0.0 - 1.0 İki görüntünün bölümlerini birleştirerek, belirgin bölgeleri korurken kısmi bir karışım oluşturur. Oklüzyon senaryoları oluşturarak modelin sağlamlığını artırır.
copy_paste float 0.0 0.0 - 1.0 Yalnızca segmentasyon. Nesne örneklerini artırmak için nesneleri görüntüler arasında kopyalar ve yapıştırır.
copy_paste_mode str flip - Yalnızca Segmentasyon. Şunu belirtir: copy-paste kullanılacak strateji. Seçenekler şunları içerir: 'flip' ve 'mixup'.
auto_augment str randaugment - Yalnızca sınıflandırma. Önceden tanımlanmış bir artırma ilkesi uygular ('randaugment', 'autoaugment', veya 'augmix') görsel çeşitliliği artırarak model performansını iyileştirmek için.
erasing float 0.4 0.0 - 0.9 Yalnızca sınıflandırma. Modelin daha az belirgin özelliklere odaklanmasını teşvik etmek için eğitim sırasında görüntünün bölgelerini rastgele siler.

Bu ayarları, veri kümesi ve görev gereksinimlerini karşılayacak şekilde düzenleyin. Farklı değerlerle denemeler yapmak, en iyi model performansı için optimum artırma stratejisini bulmanıza yardımcı olabilir.

Artırma Kılavuzu

Günlüğe Kaydetme, Kontrol Noktaları ve Çizim Ayarları

Bir YOLO modeli eğitilirken günlüğe kaydetme, kontrol noktaları, çizim ve dosya yönetimi önemlidir:

  • Günlüğe Kaydetme: TensorBoard gibi kitaplıkları kullanarak veya bir dosyaya yazarak modelin ilerlemesini izleyin ve sorunları teşhis edin.
  • Kontrol Noktaları: Eğitime devam etmek veya farklı yapılandırmalarla denemeler yapmak için modeli düzenli aralıklarla kaydedin.
  • Çizim: Matplotlib veya TensorBoard gibi kitaplıkları kullanarak performansı ve eğitim ilerlemesini görselleştirin.
  • Dosya yönetimi: Kontrol noktaları, günlük dosyaları ve çizimler gibi eğitim sırasında oluşturulan dosyaları kolay erişim ve analiz için düzenleyin.

Bu unsurların etkili yönetimi, ilerlemeyi izlemeye yardımcı olur ve hata ayıklama ve optimizasyonu kolaylaştırır.

Argüman Varsayılan Açıklama
project 'runs' Eğitim çalıştırmalarını kaydetmek için kök dizini belirtir. Her çalıştırma ayrı bir alt dizine kaydedilir.
name 'exp' Deney adını tanımlar. Belirtilmemişse, YOLO her çalıştırma için bu adı artırır (örneğin, exp, exp2) üzerine yazmaktan kaçınmak için.
exist_ok False Mevcut bir deneme dizininin üzerine yazılıp yazılmayacağını belirler. True üzerine yazmaya izin verir; False bunu engeller.
plots False Eğitim ve doğrulama grafiklerinin oluşturulmasını ve kaydedilmesini kontrol eder. Şuna ayarlanır: True kayıp eğrileri gibi grafikler oluşturmak için, kesinlik-duyarlılık (recall) eğriler ve performansın görsel takibi için örnek tahminler.
save False Eğitim kontrol noktalarının ve son model ağırlıklarının kaydedilmesini sağlar. Şu şekilde ayarlayın: True model durumlarını periyodik olarak kaydetmek, eğitime devam etmeyi veya model dağıtımını sağlamak için.

SSS

YOLO modelimin eğitim sırasındaki performansını nasıl artırabilirim?

Yığın boyutu, öğrenme oranı, momentum ve ağırlık azalması gibi hiperparametreleri ayarlayarak performansı artırın. Veri artırma ayarlarını düzenleyin, doğru optimize ediciyi seçin ve erken durdurma veya karışık duyarlılık gibi teknikler kullanın. Ayrıntılar için Eğitim Kılavuzu'na bakın.

YOLO model doğruluğu için temel hiperparametreler nelerdir?

Doğruluğu etkileyen temel hiperparametreler şunlardır:

  • Yığın Boyutu (batch): Daha büyük boyutlar eğitimi dengeleyebilir ancak daha fazla bellek gerekir.
  • Öğrenme Oranı (lr0): Daha küçük oranlar ince ayarlar sunar ancak daha yavaş yakınsama sağlar.
  • Momentum (momentum): Gradyan vektörlerini hızlandırır, salınımları azaltır.
  • Görüntü Boyutu (imgsz): Daha büyük boyutlar doğruluğu artırır ancak hesaplama yükünü artırır.

Bunları veri kümenize ve donanımınıza göre ayarlayın. Eğitim Ayarları bölümünde daha fazla bilgi edinin.

Bir YOLO modeli eğitmek için öğrenme oranını nasıl ayarlarım?

Öğrenme oranı (lr0) çok önemlidir; şununla başlayın: 0.01 SGD veya 0.001 için Adam optimize edici. Metrikleri izleyin ve gerektiğinde ayarlayın. Cosine öğrenme oranı zamanlayıcılarını kullanın (cos_lr) veya ısınma (warmup_epochs, warmup_momentum). Ayrıntılar şurada: Eğitim Kılavuzu.

YOLO modelleri için varsayılan çıkarım ayarları nelerdir?

Varsayılan ayarlar şunları içerir:

  • Güven Eşiği (conf=0.25): Algılamalar için minimum güven düzeyi.
  • IoU Eşiği (iou=0.7): Şunun için Non-Maximum Suppression (NMS) (Maksimum Olmayan Bastırma).
  • Görüntü Boyutu (imgsz=640): Giriş görüntülerini yeniden boyutlandırır.
  • Cihaz (device=None): CPU veya GPU'yu seçer.

Tam bir genel bakış için Tahmin Ayarları ve Tahmin Kılavuzu'na bakın.

YOLO modelleriyle karma duyarlıklı eğitim neden kullanılır?

Karışık duyarlılık eğitim (amp=True) bellek kullanımını azaltır ve FP16 ve FP32 kullanarak eğitimi hızlandırır. Daha büyük modeller ve önemli bir doğruluk kaybı olmadan daha hızlı hesaplamalar sağlayarak modern GPU'lar için faydalıdır. Daha fazla bilgiyi şurada bulabilirsiniz: Eğitim Kılavuzu.



📅 1 yıl önce oluşturuldu ✏️ 1 ay önce güncellendi

Yorumlar