很多圖片識別為什麼將彩色圖像灰度化?


  • 同意 @水哥 的回答,首先,梯度信息對於識別物體來說很重要。所以我們可以把灰度圖像看作圖像的強度(Intensity),來求一些梯度特徵。比較常用的有 HOG,LBP,SIFT等等。如下圖為行人檢測中的hog模型。通過hog來檢測部件,最後找到圖像中的行人。(Reference: rbgirshick/voc-dpm)註:可視化為rgb圖像,但輸入是灰度圖像,不要被騙了。

  • 另外對於大多數的醫學圖像RGB提供的信息量很少(幾乎沒有),所以可以直接灰度圖像來進行後續計算。在這些問題上,反而對灰度圖像預處理更重要(當然,CNN發展以後這些預處理作用也小了)。下圖為Kaggle肺癌比賽的熱度圖。熱度圖其實也為一維的強度圖像,只是可視化的時候把亮度高的變為紅色,亮度低變為藍色的一種方式。

(來源:https://www.kaggle.com/jesyfax/lung-cancer-detection/data)


我們識別物體,最關鍵的因素是梯度(現在很多的特徵提取,SIFT,HOG等等本質都是梯度的統計信息),梯度意味著邊緣,這是最本質的部分,而計算梯度,自然就用到灰度圖像了。

顏色本身,非常容易受到光照等因素的影響,同類的物體顏色有很多變化。所以顏色本身難以提供關鍵信息。2010PAMI有colorSIFT的一些工作,本質也是不同通道的梯度。


知乎慣例,先問是不是再問為什麼。

題主可否補充常見領域常見演算法哪些主要輸入灰度圖而不是彩色圖?然後大家可以一起討論。


彩色圖像單個像素是(R, G, B)

轉換成灰度圖就是(L)

簡化矩陣, 提高運算速度.


彩色圖片信息量大,有的時候我們僅僅用灰度圖像里的信息就已經夠了,為了提高運算速度自然就會採用灰度圖,甚至有時灰度圖還是過大,採用二值化圖像也是有可能的


現行很多演算法是需要將彩色圖像灰度化再進行處理的。

其實你要想明白,灰度化之後失去了什麼,又得到了什麼。。

灰度化之後顏色信息丟失,很多color-based演算法就不可能這麼做,但是很多簡單的識別演算法對於顏色的依賴性不強,hand-craft特徵更多關注邊緣梯度信息。工程中很多應用加上color信息之後魯棒性會下降。

灰度化之後矩陣維數下降,運算速度大幅度提高,並且梯度信息仍然保留。

就是在performance和efficiency之間做一個權衡罷了。


降維......不過一直覺得不是每個應用都需要把彩色變成灰度,畢竟顏色某時是一個比較有用的特徵


因為opencv的函數只支持單通道 匿~~~


推薦閱讀:

求人臉識別FRVT和LFW最新的排名,最主要是國內的。?
人臉識別技術是否可以用來發現被拐賣小孩?
how-old.net通過什麼演算法測年齡?
新手想學習人臉識別及跟蹤技術該學習哪些東西?
matlab中高維數組怎麼做PCA?

TAG:人臉識別 | 模式識別 | 圖片識別 | 深度學習DeepLearning |