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