YOLO 中的數據增強詳解及參數使用
在目標檢測算法中,YOLO無疑是機器學習從業者中最受歡迎的選擇。其卓越的速度和準確性使其成為廣泛應用的首選。隨著時間的推移,YOLO的多個版本如V5、V7、V8和YOLO-NAS相繼出現,不斷刷新目標檢測的最新記錄。
然而,要微調這些YOLO模型以實現最佳性能,僅僅實現算法本身是不夠的。其中一個關鍵方面是數據增強。每個YOLO版本都有其默認的數據增強配置,但僅僅依賴這些設置可能無法為您的特定用例帶來理想的結果。在本文中,我們將探討可用的數據增強技術并詳細了解它們。通過深入了解這些增強選項,您將能夠更好地根據您的特定需求定制和微調您的YOLO模型。
不同的數據增強方法
1. 圖像HSV(色調、飽和度和明度)增強
這種增強技術通過引入顏色、光照條件和對比度的變化來幫助YOLO模型。通過改變色調分量,我們可以模擬不同的光照條件,如日光或人工照明,使模型能夠在各種光照設置下學習檢測物體。調整飽和度分量可以控制顏色的鮮艷度或暗淡度,使模型能夠接觸到不同的顏色分布。修改亮度分量會影響圖像的亮度,使模型能夠適應不同的亮度水平。
通過將HSV增強納入YOLO,模型變得更加健壯,能夠處理具有不同光照條件、色彩方案和對比度的現實場景。在YOLO的后續版本中(不包括V4),我們可以通過為hsv_h、hsv_s和hsv_v指定分數值來配置HSV增強。這些值在0到1的范圍內定義,允許精確控制圖像色調、飽和度和明度分量的變化。
hsv_h: 0.015 # image HSV-Hue augmentation (fraction)
hsv_s: 0.7 # image HSV-Saturation augmentation (fraction)
hsv_v: 0.4 # image HSV-Value augmentation (fraction)
2. 圖像角度/度數旋轉增強
圖像角度/度數增強涉及將輸入圖像旋轉一定角度或度數。通過在訓練期間引入旋轉變化,模型變得更加健壯,能夠處理在現實世界圖像中可能以不同方向或角度出現的物體。
圖像旋轉增強可以通過指定0到360范圍內的旋轉度數來配置。
degrees: 0.0 # 圖像旋轉(+/- 度)
3. 圖像平移增強
平移增強涉及在圖像中移動或偏移物體。這種技術模擬了物體在幀內輕微位移或移動的場景。這種增強提高了模型在物體未居中或位于預期位置時檢測物體的準確性。圖像平移增強可以通過指定0到1范圍內的平移值來配置。
translate: 0.2 # 圖像平移(+/- 分數)
4. 圖像透視變換增強
透視變換增強涉及扭曲圖像以模擬透視變化。這對于物體可能出現在不同距離或視角的場景特別有用。
通過在訓練期間應用透視變換,YOLO模型學會處理由透視變化引起的物體大小、形狀和扭曲的變化。
perspective: 0.0 # 圖像透視(+/- 分數),范圍0-0.001
5. 圖像縮放增強
圖像縮放增強涉及將輸入圖像調整到不同的比例或尺寸。通過在具有不同比例的圖像上訓練YOLO模型,它能夠更好地適應現實場景中不同大小的物體。
這種增強幫助模型學習檢測不同比例的物體,使其能夠有效地處理小物體和大物體。
圖像縮放增強可以通過指定縮放值來配置,該值決定了圖像的縮放級別。當使用較小的縮放值時,圖像會縮小,使物體顯得更小并提供更廣泛的上下文。相反,較大的縮放值會使物體更近,從而產生放大的視圖。
scale: 0.9 # 圖像縮放(+/- 增益)
6. 圖像剪切增強
剪切增強通過沿x或y軸傾斜或扭曲圖像來引入幾何變形。這種技術模擬了由于透視或相機角度導致物體可能傾斜或扭曲的現實情況。
通過在訓練期間引入剪切變換,YOLO模型在檢測形狀扭曲的物體時變得更加健壯,例如從不同角度或具有透視效果的物體。
shear: 0.0 # 圖像剪切(+/- 度)
7. 圖像上下翻轉(垂直)和左右翻轉(水平)
上下翻轉增強涉及垂直翻轉圖像,生成一個鏡像圖像,其中頂部變為底部,反之亦然。這種增強幫助YOLO模型學習檢測在現實場景中可能倒置或反轉的物體。
左右翻轉增強則涉及水平翻轉圖像,生成一個鏡像圖像,其中左側變為右側,反之亦然。這種增強使YOLO模型能夠從不同的視角或視點學習和檢測物體。
通過在垂直翻轉或水平翻轉的圖像上進行訓練,模型變得更加健壯和適應性強,使其能夠準確地檢測物體,無論其方向如何。
flipud: 0.0 # 圖像上下翻轉(概率)
fliplr: 0.5 # 圖像左右翻轉(概率)
. 圖像馬賽克增強
馬賽克增強是一種將多張圖像組合成一張具有馬賽克外觀的訓練樣本的技術。這有助于YOLO模型學習在復雜場景中檢測物體,這些場景中物體可能重疊或環境擁擠。
當使用馬賽克增強圖像訓練模型時,它能夠更好地處理物體部分隱藏或混合在一起的情況。這種增強技術提高了模型在具有挑戰性的場景中準確檢測物體的能力。
mosaic: 1.0 # 圖像馬賽克(概率)
9. 圖像混合增強
混合增強將成對的圖像及其對應的物體標簽組合起來,創建新的訓練樣本。通過混合圖像及其標簽,YOLO模型學會識別常見的物體特征,并更好地在不同類別之間進行泛化。
這種增強技術增強了模型處理物體外觀變化的能力,并提高了其在檢測具有相似特征的物體時的整體性能。
mixup: 0.0 # 圖像混合(概率)
10. 圖像剪切混合增強
剪切混合增強涉及隨機選擇一張圖像的一部分并將其粘貼到另一張圖像上,同時保持相應的物體標簽。
這種技術鼓勵YOLO模型從混合和重疊的物體實例中學習,促進更好的物體邊界定位,并增強模型處理部分物體視圖的能力。
結論
數據增強是簡化和增強YOLO模型訓練過程的有力工具,為在各種實際應用中實現更有效和準確的目標檢測鋪平了道路。通過結合各種增強方法,如HSV增強、圖像角度/度數、平移、透視變換、圖像縮放、上下翻轉、左右翻轉,以及更高級的技術如馬賽克、剪切混合和混合增強,我們可以顯著提高YOLO模型的性能和魯棒性。