導(dǎo)讀
包括了適用于傳統(tǒng)圖像的數(shù)據(jù)處理和深度學(xué)習(xí)的數(shù)據(jù)處理。
介紹:
在過(guò)去幾年從事多個(gè)計(jì)算機(jī)視覺(jué)和深度學(xué)習(xí)項(xiàng)目之后,我在這個(gè)博客中收集了關(guān)于如何處理圖像數(shù)據(jù)的想法。對(duì)數(shù)據(jù)進(jìn)行預(yù)處理基本上要比直接將其輸入深度學(xué)習(xí)模型更好。有時(shí),甚至可能不需要深度學(xué)習(xí)模型,經(jīng)過(guò)一些處理后一個(gè)簡(jiǎn)單的分類(lèi)器可能就足夠了。
最大化信號(hào)并最小化圖像中的噪聲使得手頭的問(wèn)題更容易處理。在構(gòu)建計(jì)算機(jī)視覺(jué)系統(tǒng)時(shí),應(yīng)考慮使用濾波器來(lái)增強(qiáng)特征并使圖像對(duì)光照、顏色變化等更加穩(wěn)健。
考慮到這一點(diǎn),讓我們探索一些可以幫助解決經(jīng)典計(jì)算機(jī)視覺(jué)或基于圖像的深度學(xué)習(xí)問(wèn)題的方法。
1. 先簡(jiǎn)單再深入:
在應(yīng)用最新和最好的深度學(xué)習(xí)解決問(wèn)題之前,請(qǐng)嘗試經(jīng)典的計(jì)算機(jī)視覺(jué)技術(shù)。特別是在數(shù)據(jù)可能稀缺的情況下,就像許多現(xiàn)實(shí)世界的問(wèn)題一樣。
檢查計(jì)算圖像像素的統(tǒng)計(jì)值(例如均值、峰度、標(biāo)準(zhǔn)差)是否會(huì)導(dǎo)致不同類(lèi)別的統(tǒng)計(jì)值不同。然后可以在這些值上訓(xùn)練一個(gè)簡(jiǎn)單的分類(lèi)器,例如 SVM、KNN,以在不同的類(lèi)之間進(jìn)行分類(lèi)。
2. 增加圖像信噪比:
在將它們輸入深度學(xué)習(xí)模型之前,檢查預(yù)處理技術(shù)是否增強(qiáng)了圖像的主要特征并提高了信噪比。這將有助于模型獲得更好的準(zhǔn)確性。
使用閾值處理等技術(shù)、腐蝕和膨脹等噪聲消除技術(shù)、高斯模糊(平滑邊緣)和中值模糊(消除椒鹽噪聲)等模糊技術(shù)。
對(duì)于不同的問(wèn)題,不同的運(yùn)算可能在不同的順序下有用。
通常的做法是多次使用特定運(yùn)算符,如果可以增強(qiáng)特征,那就在幾個(gè)步驟之后再次應(yīng)用。
找到濾波器、閾值等不同kernel大小的最佳組合(其組合可能達(dá)到數(shù)百萬(wàn)!),可以產(chǎn)生產(chǎn)生最佳效果的圖像,可以通過(guò)構(gòu)建交互式滑塊來(lái)幫助找到這些值的理想范圍。
3. 直方圖均衡
增強(qiáng)圖像特征的另一種方法是使用直方圖均衡化。直方圖均衡化提高了圖像的對(duì)比度。直方圖均衡化的目的是使出現(xiàn)頻率最高的像素值均勻分布。
讓我們看看下面的例子。
可以看出,上圖的對(duì)比度非常低。在這種情況下,重要的是要提高對(duì)比度,使圖像的特征更清晰可見(jiàn)。OpenCV 提供了兩種這樣做的技術(shù) —— 直方圖均衡化和對(duì)比度受限自適應(yīng)直方圖均衡化 (CLAHE)。
應(yīng)用直方圖均衡化,圖像的對(duì)比度確實(shí)有所提高。但是,它也會(huì)增加圖像中的噪點(diǎn),如下圖中間所示。
這就是CLAHE 的用武之地。使用這種方法,圖像被分成 m x n 網(wǎng)格,然后將直方圖均衡應(yīng)用于每個(gè)網(wǎng)格。可以使用交互式滑塊找到理想的對(duì)比度閾值和網(wǎng)格大小,如下所示。
用于查找最佳閾值和圖塊大小值的交互式滑塊
從左到右:原始圖像、直方圖均衡圖像、CLAHE 后圖像
4. 圖像的顏色空間變換:
將圖像轉(zhuǎn)換到不同的顏色空間,例如 HSV,通常可以提供更好的信息來(lái)分割目標(biāo),用于目標(biāo)跟蹤等情況。通常,RGB 顏色空間對(duì)陰影、光照的輕微變化(影響目標(biāo)的顏色)不穩(wěn)健。對(duì)于使用經(jīng)典計(jì)算機(jī)視覺(jué)進(jìn)行目標(biāo)跟蹤等任務(wù),由于上述原因,在稍有不同的環(huán)境中使用時(shí),RGB 空間中經(jīng)過(guò)調(diào)試的mask通常會(huì)失敗。此外,一旦將圖像轉(zhuǎn)換為不同的空間(例如 HSV),分離通道通常有助于分割感興趣的區(qū)域并消除噪聲。如下圖所示,一旦將圖像轉(zhuǎn)換為 HSV 空間并拆分通道,就可以更輕松地去除陰影并分割網(wǎng)球。
不同的顏色空間(RGB、HSV)及其分量拆分
5. 歸一化圖像:
如果將圖像輸入深度學(xué)習(xí)模型,則必須使用批歸一化等技術(shù)對(duì)圖像進(jìn)行歸一化,這將有助于標(biāo)準(zhǔn)化網(wǎng)絡(luò)的輸入。這將有助于網(wǎng)絡(luò)學(xué)習(xí)得更快、更穩(wěn)定。批量歸一化有時(shí)也會(huì)減少泛化誤差。
6. 進(jìn)行有意義的增強(qiáng):
在增強(qiáng)圖像時(shí),確保應(yīng)用的增強(qiáng)技術(shù)保留圖像的類(lèi)別并且類(lèi)似于現(xiàn)實(shí)世界中遇到的數(shù)據(jù)。例如,對(duì)狗的圖像應(yīng)用裁剪增強(qiáng)可能會(huì)導(dǎo)致增強(qiáng)后的圖像不像狗。在某些目標(biāo)使用旋轉(zhuǎn)和翻轉(zhuǎn)進(jìn)行增強(qiáng)的情況下也是如此。在增強(qiáng)時(shí)更改圖像屬性(例如顏色)時(shí)要非常小心。此外,請(qǐng)確保擴(kuò)充數(shù)據(jù)不會(huì)更改圖像的標(biāo)簽。
始終檢查增強(qiáng)圖像是否有意義并反映現(xiàn)實(shí)世界。
7. 訓(xùn)練集和驗(yàn)證集的數(shù)據(jù)泄露:
確保相同的圖像(比如原始圖像和增強(qiáng)圖像)不在訓(xùn)練集和驗(yàn)證集中同時(shí)出現(xiàn)是很重要的。這通常發(fā)生在訓(xùn)練驗(yàn)證集拆分之前就執(zhí)行數(shù)據(jù)增強(qiáng)。忽略這一點(diǎn)可能會(huì)導(dǎo)致給出錯(cuò)誤的模型指標(biāo),因?yàn)樗鼤?huì)在訓(xùn)練期間從非常相似的圖像中學(xué)習(xí),這些圖像也存在于驗(yàn)證集中。
8. 在測(cè)試集合驗(yàn)證集上需要包括所有類(lèi)別:
確保測(cè)試集和驗(yàn)證集包含所有標(biāo)簽樣本。這樣模型指標(biāo)反映的才是模型的真實(shí)表現(xiàn)。
以其中一個(gè)標(biāo)簽的樣本數(shù)量明顯較少的情況為例。執(zhí)行隨機(jī)訓(xùn)練集測(cè)試集拆分可能會(huì)導(dǎo)致更少標(biāo)簽的類(lèi)根本不會(huì)出現(xiàn)在驗(yàn)證/測(cè)試集中。當(dāng)訓(xùn)練好的模型被測(cè)試時(shí),它不會(huì)在那個(gè)特定的類(lèi)上被測(cè)試,模型指標(biāo)也不會(huì)反映其性能的真實(shí)表現(xiàn)。
9. 后處理完整性檢查:
模型訓(xùn)練好之后,執(zhí)行一些完整性檢查也很重要:
確保在多類(lèi)分類(lèi)器的情況下所有類(lèi)的輸出總和為 1。
確保在測(cè)試或部署模型時(shí)也應(yīng)用訓(xùn)練期間應(yīng)用于圖像的預(yù)處理
編輯:黃飛
?
評(píng)論
查看更多