Veri artırma, bilgisayarla görmede mevcut görüntülere çeşitli dönüşümler uygulayarak eğitim veri kümenizi yapay olarak genişleten önemli bir tekniktir. Ultralytics YOLO gibi derin öğrenme modellerini eğitirken, veri artırımı model sağlamlığını artırmaya yardımcı olur, aşırı uyumu azaltır ve gerçek dünya senaryolarına genellemeyi geliştirir.
Veri Artırımı Neden Önemlidir?
Veri artırımı, bilgisayarla görme modellerinin eğitiminde birçok kritik amaca hizmet eder:
Genişletilmiş Veri Kümesi: Mevcut görüntülerin varyasyonlarını oluşturarak, yeni veri toplamadan eğitim veri kümesi boyutunuzu etkili bir şekilde artırabilirsiniz.
Geliştirilmiş Genelleme: Modeller çeşitli koşullar altında nesneleri tanımayı öğrenerek gerçek dünya uygulamalarında daha dayanıklı hale gelir.
Azaltılmış Aşırı Uyum: Eğitim verilerine değişkenlik katarak, modellerin belirli görüntü özelliklerini ezberleme olasılığı daha düşüktür.
Geliştirilmiş Performans: Uygun güçlendirme ile eğitilen modeller genellikle doğrulama ve test setlerinde daha iyi doğruluk elde eder.
Ultralytics YOLO'nun uygulaması, her biri belirli amaçlara hizmet eden ve model performansına farklı şekillerde katkıda bulunan kapsamlı bir artırma teknikleri paketi sunar. Bu kılavuz, her bir artırma parametresini ayrıntılı olarak inceleyerek projelerinizde bunları ne zaman ve nasıl etkili bir şekilde kullanacağınızı anlamanıza yardımcı olacaktır.
Örnek Konfigürasyonlar
Python API, komut satırı arayüzüCLI) veya bir yapılandırma dosyası kullanarak her parametreyi özelleştirebilirsiniz. Aşağıda, her bir yöntemde veri artırımının nasıl ayarlanacağına dair örnekler verilmiştir.
Yapılandırma Örnekleri
fromultralyticsimportYOLO# Load a modelmodel=YOLO("yolo11n.pt")# Training with custom augmentation parametersmodel.train(data="coco.yaml",epochs=100,hsv_h=0.03,hsv_s=0.6,hsv_v=0.5)# Training without any augmentations (disabled values omitted for clarity)model.train(data="coco.yaml",epochs=100,hsv_h=0.0,hsv_s=0.0,hsv_v=0.0,translate=0.0,scale=0.0,fliplr=0.0,mosaic=0.0,erasing=0.0,auto_augment=None,)
# Training with custom augmentation parameters
yolodetecttraindata=coco8.yamlmodel=yolo11n.ptepochs=100hsv_h=0.03hsv_s=0.6hsv_v=0.5
Yapılandırma dosyası kullanma
Artırmalar da dahil olmak üzere tüm eğitim parametrelerini bir YAML yapılandırma dosyasında tanımlayabilirsiniz (örn, train_custom.yaml). Bu mode parametresi yalnızca CLI kullanılırken gereklidir. Bu yeni YAML dosyası daha sonra varsayılan olan içinde bulunan ultralytics Paket.
# train_custom.yaml# 'mode' is required only for CLI usagemode:traindata:coco8.yamlmodel:yolo11n.ptepochs:100hsv_h:0.03hsv_s:0.6hsv_v:0.5
Ardından Python API ile eğitimi başlatın:
Tren Örneği
fromultralyticsimportYOLO# Load a COCO-pretrained YOLO11n modelmodel=YOLO("yolo11n.pt")# Train the model with custom configurationmodel.train(cfg="train_custom.yaml")
# Train the model with custom configuration
yolodetecttrainmodel="yolo11n.pt"cfg=train_custom.yaml
Renk Alanı Büyütmeleri
Renk Tonu Ayarı (hsv_h)
Menzil: 0.0 - 1.0
Varsayılan: 0.015
Kullanım: İlişkilerini koruyarak görüntü renklerini değiştirir. Bu hsv_h hiperparametresi kaydırma büyüklüğünü tanımlar ve son ayarlama rastgele olarak -hsv_h ve hsv_h. Örneğin, ile hsv_h=0.3içinde rastgele seçilir.-0.3 için 0.3. Yukarıdaki değerler için 0.5renk tonu kayması renk tekerleğinin etrafını sarar, bu yüzden büyütmeler iki renk arasında aynı görünür 0.5 ve -0.5.
Amaç: Özellikle aydınlatma koşullarının nesne görünümünü önemli ölçüde etkileyebildiği dış mekan senaryoları için kullanışlıdır. Örneğin, bir muz parlak güneş ışığı altında daha sarı görünebilir ancak iç mekanlarda daha yeşilimsi olabilir.
Kullanım: Görüntüdeki renklerin yoğunluğunu değiştirir. Renkler hsv_h hiperparametresi kaydırma büyüklüğünü tanımlar ve son ayarlama rastgele olarak -hsv_s ve hsv_s. Örneğin, ile hsv_s=0.7içinde rastgele seçilir, yoğunluk-0.7 için 0.7.
Amaç: Modellerin değişen hava koşulları ve kamera ayarlarıyla başa çıkmasına yardımcı olur. Örneğin, kırmızı bir trafik işareti güneşli bir günde son derece canlı görünebilir ancak sisli koşullarda donuk ve soluk görünebilir.
Kullanım: Görüntünün parlaklığını değiştirir. Görüntü parlaklığı hsv_v hiperparametresi kaydırma büyüklüğünü tanımlar ve son ayarlama rastgele olarak -hsv_v ve hsv_v. Örneğin, ile hsv_v=0.4içinde rastgele seçilir, yoğunluk-0.4 için 0.4.
Amaç: Farklı aydınlatma koşullarında performans göstermesi gereken modelleri eğitmek için gereklidir. Örneğin, kırmızı bir elma güneş ışığında parlak görünebilir ancak gölgede çok daha koyu olabilir.
Kullanım: Görüntüleri belirtilen aralıkta rastgele döndürür. Bu degrees arasında rastgele seçilen son ayarlama ile dönme açısını tanımlar. -degrees ve degrees. Örneğin, ile degrees=10.0içinde rastgele seçilir, rotasyon-10.0 için 10.0.
Amaç: Nesnelerin farklı yönlerde görünebildiği uygulamalar için çok önemlidir. Örneğin, havadan drone görüntülerinde, araçlar herhangi bir yönde yönlendirilebilir ve modellerin nesneleri dönüşlerinden bağımsız olarak tanımasını gerektirir.
Kullanım: Görüntüleri yatay ve dikey olarak görüntü boyutunun rastgele bir kesri kadar kaydırır. Bu translate hiperparametresi kayma büyüklüğünü tanımlar ve son ayarlama aralık içinde rastgele iki kez (her eksen için bir kez) seçilir -translate ve translate. Örneğin, ile translate=0.5içinde rastgele seçilir, çeviri-0.5 için 0.5 ve y ekseninde aynı aralıkta başka bir bağımsız rastgele değer seçilir.
Amaç: Modellerin kısmen görünen nesneleri tespit etmeyi öğrenmesine yardımcı olur ve nesne konumuna karşı sağlamlığı artırır. Örneğin, araç hasar tespit uygulamalarında, araba parçaları fotoğrafçının konumuna ve mesafesine bağlı olarak tamamen veya kısmen kadrajda görünebilir, çeviri artırımı modele bu özellikleri tamlıklarına veya konumlarına bakılmaksızın tanımayı öğretecektir.
Not: Basitlik açısından, aşağıda uygulanan çeviriler her ikisi için de her seferinde aynıdır x ve y eksenler. Değerler -1.0 ve 1.0görüntüyü tamamen çerçevenin dışına çevireceği için gösterilmez.
-0.5
-0.25
0.0
0.25
0.5
Ölçek (scale)
Menzil: ≥0.0
Varsayılan: 0.5
Kullanım: Görüntüleri belirtilen aralıkta rastgele bir faktörle yeniden boyutlandırır. Bu scale hiperparametresi ölçeklendirme faktörünü tanımlar ve nihai ayarlama aşağıdakiler arasında rastgele seçilir 1-scale ve 1+scale. Örneğin, ile scale=0.5içinde rastgele seçilir, ölçekleme0.5 için 1.5.
Amaç: Modellerin farklı mesafelerdeki ve boyutlardaki nesneleri işlemesini sağlar. Örneğin, otonom sürüş uygulamalarında, araçlar kameradan çeşitli mesafelerde görünebilir ve modelin bunları boyutlarından bağımsız olarak tanımasını gerektirir.
Değer -1.0 görüntünün kaybolmasına neden olacağı için gösterilmezken 1.0 basitçe 2x yakınlaştırma ile sonuçlanır.
Aşağıdaki tabloda gösterilen değerler hiperparametre aracılığıyla uygulanan değerlerdir scalenihai ölçek faktörü değil.
Eğer scale 'den büyüktür. 1.0arasında rastgele seçildiği için görüntü ya çok küçük ya da ters çevrilmiş olabilir. 1-scale ve 1+scale. Örneğin, ile scale=3.0içinde rastgele seçilir, ölçekleme-2.0 için 4.0. Negatif bir değer seçilirse, görüntü çevrilir.
-0.5
-0.25
0.0
0.25
0.5
Kesme (shear)
Menzil: -180 için +180
Varsayılan: 0.0
Kullanım: Görüntüyü hem x ekseni hem de y ekseni boyunca eğen, paralel çizgileri korurken görüntünün parçalarını etkili bir şekilde bir yöne kaydıran geometrik bir dönüşüm sunar. Bu dönüşüm shear hiperparametresi kayma açısını tanımlar ve son ayarlama rastgele olarak aşağıdakiler arasından seçilir -shear ve shear. Örneğin, ile shear=10.0içinde rastgele seçilir.-10 için 10 ve y ekseninde aynı aralıkta başka bir bağımsız rastgele değer seçilir.
Amaç: Modellerin, hafif eğimler veya eğik bakış açılarının neden olduğu görüş açılarındaki değişikliklere genelleme yapmasına yardımcı olur. Örneğin, trafik izlemede, arabalar ve yol işaretleri gibi nesneler dik olmayan kamera yerleşimleri nedeniyle eğik görünebilir. Kayma artırımı uygulamak, modelin bu tür çarpık bozulmalara rağmen nesneleri tanımayı öğrenmesini sağlar.
shear değerleri görüntüyü hızla bozabilir, bu nedenle küçük değerlerle başlayıp kademeli olarak artırmanız önerilir.
Perspektif dönüşümlerinden farklı olarak, kesme işlemi derinlik veya ufuk noktaları getirmez, bunun yerine karşıt tarafları paralel tutarken açılarını değiştirerek nesnelerin şeklini bozar.
-10
-5
0.0
5
10
Perspektif (perspective)
Menzil: 0.0 - 0.001
Varsayılan: 0.0
Kullanım: Hem x ekseni hem de y ekseni boyunca tam bir perspektif dönüşümü uygulayarak nesnelerin farklı derinliklerden veya açılardan bakıldığında nasıl göründüğünü simüle eder. Perspektif perspective hiperparametresi perspektif büyüklüğünü tanımlar ve son ayarlama rastgele olarak aşağıdakiler arasından seçilir -perspective ve perspective. Örneğin, ile perspective=0.001içinde rastgele seçilir, perspektif-0.001 için 0.001 ve y ekseninde aynı aralıkta başka bir bağımsız rastgele değer seçilir.
Amaç: Perspektif büyütme, özellikle nesnelerin perspektif kaymaları nedeniyle kısalmış veya bozulmuş göründüğü senaryolarda aşırı bakış açısı değişikliklerini ele almak için çok önemlidir. Örneğin, drone tabanlı nesne tespitinde binalar, yollar ve araçlar drone'un eğimine ve yüksekliğine bağlı olarak uzatılmış veya sıkıştırılmış görünebilir. Perspektif dönüşümleri uygulayarak, modeller bu perspektif kaynaklı bozulmalara rağmen nesneleri tanımayı öğrenir ve gerçek dünya dağıtımlarında sağlamlıklarını artırır.
Kullanım: Görüntüyü y ekseni boyunca ters çevirerek dikey bir çevirme gerçekleştirir. Bu dönüşüm tüm görüntüyü baş aşağı yansıtır ancak nesneler arasındaki tüm uzamsal ilişkileri korur. Flipud hiper parametresi, dönüşümün uygulanma olasılığını tanımlar ve değeri flipud=1.0 tüm görüntülerin çevrildiğinden emin olmak ve flipud=0.0 dönüşümü tamamen devre dışı bırakmak. Örneğin, ile flipud=0.5her görüntünün %50 ters çevrilme şansı vardır.
Amaç: Nesnelerin baş aşağı görünebileceği senaryolar için kullanışlıdır. Örneğin, robotik görüş sistemlerinde, konveyör bantları veya robotik kollar üzerindeki nesneler alınabilir ve çeşitli yönlerde yerleştirilebilir. Dikey çevirme, modelin nesneleri yukarıdan aşağıya konumlarından bağımsız olarak tanımasına yardımcı olur.
Kullanım: Görüntüyü x ekseni boyunca yansıtarak yatay bir çevirme gerçekleştirir. Bu dönüşüm, uzamsal tutarlılığı korurken sol ve sağ tarafları değiştirir, bu da modelin yansıtılmış yönlerde görünen nesnelere genelleştirilmesine yardımcı olur. Bu fliplr hiperparametresi, dönüşümün uygulanma olasılığını tanımlar ve değeri fliplr=1.0 tüm görüntülerin çevrildiğinden emin olmak ve fliplr=0.0 dönüşümü tamamen devre dışı bırakmak. Örneğin, ile fliplr=0.5her görüntünün soldan sağa çevrilme şansı %50'dir.
Amaç: Yatay çevirme, sol-sağ varyasyonlarına karşı sağlamlığı artırmak için nesne algılama, poz tahmini ve yüz tanımada yaygın olarak kullanılmaktadır. Örneğin, otonom sürüşte, araçlar ve yayalar yolun her iki tarafında da görünebilir ve yatay çevirme, modelin bunları her iki yönde de eşit derecede iyi tanımasına yardımcı olur.
Kullanım: Bir görüntünün renk kanallarını RGB'den BGR'ye değiştirerek renklerin temsil edilme sırasını değiştirir. Bu bgr hiperparametresi, dönüşümün uygulanma olasılığını tanımlar ve bgr=1.0 tüm görüntülerin kanal değişiminden geçmesini sağlamak ve bgr=0.0 devre dışı bırakılması. Örneğin, ile bgr=0.5her görüntünün RGB'den BGR'ye dönüştürülme şansı %50'dir.
Amaç: Farklı renk kanalı sıralamalarına karşı dayanıklılığı artırır. Örneğin, RGB ve BGR formatlarının tutarsız bir şekilde kullanılabileceği çeşitli kamera sistemleri ve görüntüleme kütüphanelerinde çalışması gereken modelleri eğitirken veya modelleri, giriş renk formatının eğitim verilerinden farklı olabileceği ortamlara dağıtırken.
Kullanım: Dört eğitim görüntüsünü tek bir görüntüde birleştirir. Eğitim mosaic hiperparametresi, dönüşümün uygulanma olasılığını tanımlar ve mosaic=1.0 tüm görüntülerin birleştirilmesini sağlamak ve mosaic=0.0 dönüşümü devre dışı bırakmak. Örneğin, ile mosaic=0.5her görüntünün diğer üç görüntü ile birleştirilme şansı %50'dir.
Amaç: Küçük nesne algılama ve bağlam anlayışını geliştirmek için son derece etkilidir. Örneğin, hayvanların çeşitli mesafelerde ve ölçeklerde görünebildiği yaban hayatı koruma projelerinde, mozaik büyütme, sınırlı verilerden yapay olarak çeşitli eğitim örnekleri oluşturarak modelin aynı türleri farklı boyutlarda, kısmi tıkanıklıklarda ve çevresel bağlamlarda tanımayı öğrenmesine yardımcı olur.
Hatta eğer mosaic artırımı modeli daha sağlam hale getirirken, eğitim sürecini de daha zorlu hale getirebilir.
Bu mosaic ayarı yapılarak eğitimin sonuna doğru güçlendirme devre dışı bırakılabilir close_mosaic kapatılması gerektiğinde tamamlanmadan önceki epok sayısına. Örneğin, eğer epochs olarak ayarlanmıştır 200 ve close_mosaic olarak ayarlanmıştır 20, the mosaic sonra büyütme devre dışı bırakılacaktır. 180 çağlar. Eğer close_mosaic olarak ayarlanmıştır 0, the mosaic tüm eğitim süreci için artırma etkinleştirilecektir.
Oluşturulan mozaiğin merkezi rastgele değerler kullanılarak belirlenir ve görüntünün içinde ya da dışında olabilir.
Mevcut uygulama mosaic büyütme, veri kümesinden rastgele seçilen 4 görüntüyü birleştirir. Veri kümesi küçükse, aynı görüntü aynı mozaikte birden çok kez kullanılabilir.
mosaic kapalı
mosaic üzerinde
Karışıklık (mixup)
Menzil: 0.0 - 1.0
Varsayılan: 0.0
Kullanım: İki görüntüyü ve etiketlerini verilen olasılıkla harmanlar. Bu mixup hiperparametresi, dönüşümün uygulanma olasılığını tanımlar ve mixup=1.0 tüm görüntülerin karışık olmasını sağlamak ve mixup=0.0 dönüşümü devre dışı bırakmak. Örneğin, ile mixup=0.5her görüntünün başka bir görüntüyle karıştırılma olasılığı %50'dir.
Amaç: Modelin sağlamlığını artırır ve aşırı uyumu azaltır. Örneğin, perakende ürün tanıma sistemlerinde karıştırma, farklı ürünlerin görüntülerini harmanlayarak modelin daha sağlam özellikler öğrenmesine yardımcı olur ve kalabalık mağaza raflarında kısmen görünür olduklarında veya diğer ürünler tarafından gizlendiklerinde bile öğeleri tanımlamayı öğretir.
Bu mixup oranından seçilen rastgele bir değerdir. np.random.beta(32.0, 32.0) beta dağılımı, yani her görüntü küçük farklılıklarla birlikte yaklaşık %50 katkıda bulunur.
İlk resim, mixup kapalı
İkinci resim, mixup kapalı
mixup üzerinde
CutMix (cutmix)
Menzil: 0.0 - 1.0
Varsayılan: 0.0
Kullanım: Bir görüntüden dikdörtgen bir bölgeyi keser ve verilen olasılıkla başka bir görüntüye yapıştırır. Bu cutmix hiperparametresi, dönüşümün uygulanma olasılığını tanımlar ve cutmix=1.0 tüm görüntülerin bu dönüşümden geçmesini sağlamak ve cutmix=0.0 tamamen devre dışı bırakmak. Örneğin, ile cutmix=0.5her görüntünün bir bölgesinin başka bir görüntüden bir yama ile değiştirilmesi için %50 şansı vardır.
Amaç: Yerel özellik bütünlüğünü korurken gerçekçi oklüzyon senaryoları oluşturarak model performansını artırır. Örneğin, otonom sürüş sistemlerinde cutmix, modelin araçları veya yayaları diğer nesneler tarafından kısmen örtüldüklerinde bile tanımayı öğrenmesine yardımcı olarak, üst üste binen nesnelerin bulunduğu karmaşık gerçek dünya ortamlarında algılama doğruluğunu artırır.
Kesim bölgesinin boyutu ve konumu her uygulama için rastgele belirlenir.
Piksel değerlerini global olarak karıştıran mixup'ın aksine, cutmix yerel özellikleri koruyarak kesilen bölgelerdeki orijinal piksel yoğunluklarını muhafaza eder.
Bir bölge hedef görüntüye yalnızca mevcut herhangi bir sınırlayıcı kutuyla çakışmıyorsa yapıştırılır. Ayrıca, yalnızca en az bir sınırlayıcı kutuyu koruyan sınırlayıcı kutular 0.1 Yapıştırılan bölge içindeki orijinal alanlarının (%10'u) korunur.
Bu minimum sınırlayıcı kutu alanı eşiği mevcut uygulama ile değiştirilemez ve şu şekilde ayarlanır 0.1 varsayılan olarak.
İlk resim, cutmix kapalı
İkinci resim, cutmix kapalı
cutmix üzerinde
Segmentasyona Özel Büyütmeler
Kopyala-Yapıştır (copy_paste)
Menzil: 0.0 - 1.0
Varsayılan: 0.0
Kullanım: Yalnızca segmentasyon görevleri için çalışır, bu büyütme, nesneleri görüntüler içinde veya arasında belirli bir olasılığa göre kopyalar ve copy_paste_mode. Bu copy_paste hiperparametresi, dönüşümün uygulanma olasılığını tanımlar ve copy_paste=1.0 tüm görüntülerin kopyalandığından emin olmak ve copy_paste=0.0 dönüşümü devre dışı bırakmak. Örneğin, ile copy_paste=0.5her resmin başka bir resimden kopyalanmış nesnelere sahip olma olasılığı %50'dir.
Amaç: Özellikle örnek segmentasyon görevleri ve nadir nesne sınıfları için kullanışlıdır. Örneğin, belirli kusur türlerinin seyrek olarak görüldüğü endüstriyel kusur tespitinde, kopyala-yapıştır artırımı, bu nadir kusurların oluşumunu bir görüntüden diğerine kopyalayarak yapay olarak artırabilir ve modelin ek kusurlu örneklere ihtiyaç duymadan bu yetersiz temsil edilen durumları daha iyi öğrenmesine yardımcı olabilir.
Aşağıdaki gifte gösterildiği gibi copy_paste augmentation, nesneleri bir görüntüden diğerine kopyalamak için kullanılabilir.
Bir nesne kopyalandıktan sonra, nesnenin copy_paste_modeAlan Üzerindeki Kesişimi (IoA) kaynak görüntünün tüm nesneleri ile hesaplanır. Tüm IoA'lar aşağıda ise 0.3 (%30), nesne hedef görüntüye yapıştırılır. Yalnızca bir IoA yukarıda ise 0.3'de nesne hedef görüntüye yapıştırılmaz.
IoA eşiği mevcut uygulama ile değiştirilemez ve şu şekilde ayarlanır 0.3 varsayılan olarak.
copy_paste kapalı
copy_paste ile copy_paste_mode=flip
Görselleştirin copy_paste süreç
Kopyala-Yapıştır Modu (copy_paste_mode)
Seçenekler: 'flip', 'mixup'
Varsayılan: 'flip'
Kullanım: için kullanılan yöntemi belirler. kopyala-yapıştır büyütme. Eğer ayarlanırsa 'flip'nesneler aynı görüntüden gelirken 'mixup' nesnelerin farklı görüntülerden kopyalanmasını sağlar.
Amaç: Kopyalanan nesnelerin hedef görüntülere nasıl entegre edileceği konusunda esneklik sağlar.
Kullanım: Sınıflandırma için otomatik artırma ilkelerini uygular. Sınıflandırma 'randaugment' seçeneği RandAugment kullanır, 'autoaugment' AutoAugment kullanır ve 'augmix' AugMix kullanır. Ayarlamak için None otomatik büyütmeyi devre dışı bırakır.
Amaç: Sınıflandırma görevleri için artırma stratejilerini otomatik olarak optimize eder. Farklılıklar aşağıdaki gibidir:
AutoAugment: Bu mod, ImageNet, CIFAR10 ve SVHN gibi veri kümelerinden öğrenilen önceden tanımlanmış büyütme ilkelerini uygular. Kullanıcılar bu mevcut politikaları seçebilir ancak Torchvision içinde yenilerini eğitemez. Belirli veri kümeleri için en uygun artırma stratejilerini keşfetmek için harici kütüphaneler veya özel uygulamalar gerekli olacaktır. AutoAugment makalesine referans.
RandAugment: Tek tip büyüklükte rastgele bir dönüşüm seçimi uygular. Bu yaklaşım, kapsamlı bir arama aşamasına olan ihtiyacı azaltarak hesaplama açısından daha verimli hale getirirken model sağlamlığını da artırır. RandAugment makalesine referans.
AugMix: AugMix, basit dönüşümlerin rastgele kombinasyonları yoluyla çeşitli görüntü varyasyonları oluşturarak model sağlamlığını artıran bir veri artırma yöntemidir. AugMix makalesine referans.
Esasen, üç yöntem arasındaki temel fark, artırma politikalarının tanımlanma ve uygulanma şeklidir.
Üç yöntemi ayrıntılı olarak karşılaştıran bu makaleye başvurabilirsiniz.
Rastgele Silme (erasing)
Menzil: 0.0 - 0.9
Varsayılan: 0.4
Kullanım: Sınıflandırma eğitimi sırasında görüntünün bazı kısımlarını rastgele siler. Bu erasing hiperparametresi, dönüşümün uygulanma olasılığını tanımlar ve erasing=0.9 neredeyse tüm görüntülerin silinmesini sağlamak ve erasing=0.0 dönüşümü devre dışı bırakmak. Örneğin, ile erasing=0.5her görüntünün bir kısmının silinme olasılığı %50'dir.
Amaç: Modellerin sağlam özellikler öğrenmesine yardımcı olur ve belirli görüntü bölgelerine aşırı bağımlılığı önler. Örneğin, yüz tanıma sistemlerinde rastgele silme, modellerin güneş gözlüğü, yüz maskeleri veya yüz özelliklerini kısmen kapatabilecek diğer nesneler gibi kısmi oklüzyonlara karşı daha dayanıklı olmasına yardımcı olur. Bu, modeli yalnızca gizlenebilecek ayırt edici özelliklere bağlı kalmak yerine birden fazla yüz özelliğini kullanarak bireyleri tanımlamaya zorlayarak gerçek dünya performansını artırır.
Bu erasing büyütme ile birlikte gelir scale, ratiove value ile değiştirilemeyen hiperparametreler mevcut uygulama. Varsayılan değerleri şunlardır (0.02, 0.33), (0.3, 3.3)ve 0PyTorch'ta belirtildiği gibi sırasıyla dokümantasyon.
Üst sınırı erasing hiperparametre şu şekilde ayarlanmıştır 0.9 dönüşümü tüm görüntülere uygulamaktan kaçınmak için.
erasing kapalı
erasing açık (örnek 1)
erasing açık (örnek 2)
erasing açık (örnek 3)
SSS
Aralarından seçim yapabileceğiniz çok fazla güçlendirme var. Hangilerini kullanacağımı nasıl bileceğim?
Doğru güçlendirmeleri seçmek, özel kullanım durumunuza ve veri kümenize bağlıdır. İşte karar vermenize yardımcı olacak birkaç genel kılavuz:
Çoğu durumda, renk ve parlaklıktaki küçük farklılıklar faydalıdır. Şunlar için varsayılan değerler hsv_h, hsv_sve hsv_v sağlam bir başlangıç noktasıdır.
Kameranın bakış açısı tutarlıysa ve model dağıtıldıktan sonra değişmeyecekse, muhtemelen aşağıdaki gibi geometrik dönüşümleri atlayabilirsiniz rotation, translation, scale, shearveya perspective. Bununla birlikte, kamera açısı değişebiliyorsa ve modelin daha sağlam olması gerekiyorsa, bu artırmaları korumak daha iyidir.
Kullanın mosaic artırımını yalnızca kısmen örtülü nesneler veya görüntü başına birden fazla nesne olması kabul edilebilirse ve etiket değerini değiştirmiyorsa kullanabilirsiniz. Alternatif olarak, şunları tutabilirsiniz mosaic aktif ama artırın close_mosaic değerini eğitim sürecinin başlarında devre dışı bırakmak için kullanın.
Kısacası: basit tutun. Küçük bir takviye seti ile başlayın ve gerektiğinde kademeli olarak daha fazlasını ekleyin. Amaç, eğitim sürecini aşırı karmaşıklaştırmak değil, modelin genellemesini ve sağlamlığını geliştirmektir. Ayrıca, uyguladığınız artırımların modelinizin üretimde karşılaşacağı veri dağılımının aynısını yansıttığından emin olun.
Bir eğitime başlarken, bir albumentations: Blur[...] referans. Bu Ultralytics YOLO 'nun bulanıklaştırma gibi ek güçlendirmeler yaptığı anlamına mı geliyor?
Eğer albumentations paketi yüklendiğinde, Ultralytics bunu kullanarak otomatik olarak bir dizi ekstra görüntü büyütme uygular. Bu büyütmeler dahili olarak ele alınır ve ek yapılandırma gerektirmez.
Uygulanan dönüşümlerin tam listesini şurada bulabilirsiniz tekni̇k dokümantasyonyanı sıra bizim Albümantasyon entegrasyon kılavuzu. Sadece bir olasılıkla büyütmelerin p daha büyük 0 aktiftir. Bunlar, bulanıklık veya gri tonlama efektleri gibi gerçek dünyadaki görsel eserleri taklit etmek için kasıtlı olarak düşük frekanslarda uygulanır.
Bir eğitime başlarken, albumentasyonlarla ilgili herhangi bir referans göremiyorum. Neden?
Kontrol edin eğer albumentations paketi yüklüdür. Yüklü değilse, şu komutu çalıştırarak yükleyebilirsiniz pip install albumentations. Yüklendikten sonra, paket Ultralytics tarafından otomatik olarak algılanmalı ve kullanılmalıdır.