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