我們的眼睛是如何看到顏色的?為什麼能分別貓和狗?機器行嗎?

在理解傳統計算機視覺算法之前,瞭解人類視覺系統的工作原理是很重要的,因為只有這樣才能夠開發出正確的算法。

計算機視覺算法的目的是理解圖像和視頻的內容,人類似乎可以毫不費力的做到這一點。那麼,如何使機器也能夠做到這一點呢?

一、理解人類視覺系統

人類視覺系統中大概有6百萬至7百萬個視錐細胞,但按類別只分為3種,分別對應三種不同顏色的感應:65%的紅色+33%的綠色+2%的藍色,藍色雖然數量最少, 但卻是最敏感的。

不同的色光作用於視網膜時,3種視錐細胞產生了不同程度的興奮,這樣興奮信息經處理後轉化為不同組合的視神經衝動,傳到大腦皮層就產生不同的色覺。

因此在繽紛的世界中,失去了視覺細胞,即使面對似錦的繁花,我們也可能猶如色盲,常常對一些色彩“視而不見”。

PS:鳥類獨特的視覺系統,擁有4種視錐細胞,能辨別出更多色彩,看見的世界也更加絢麗多彩,遠遠超越了人類。

我們的眼睛是如何看到顏色的?為什麼能分別貓和狗?機器行嗎?

人類的眼睛會同時捕獲色彩、形狀、亮度等信息。看到東西后,人眼捕獲了這個主體的所有信息,並以某種方式將它們存儲起來。一旦明白了人類的視覺系統是如何工作的,我們就可以利用這個來實現預期結果。下面有幾件事情需要知道:

人類視覺系統對低頻內容敏感程度高於高頻內容。低頻內容是指像素值不迅速改變的平面區域,高頻內容是指像素值波動很大的角落和邊緣地區。你可能已經注意到,如果在平坦的表面有斑點,就可以很容易地被發現,但是如果在質地不平的表面就很難被發現。

人眼對亮度的變化敏感程度高於顏色的變化

人類視覺系統對運動的事物很敏感。如果有東西在視野中移動,即使人們沒有直視它,也能很快地意識到。

人們往往會用心記住視野內突出的點

。下面來想象一下,有一個白色的桌子,它的四條腿是黑色的,並且表面的某個角落上有一個紅點。當看著這張桌子時,你會立即記住表面和腿有對立的顏色,並且其中一個角落有一個紅點。人類大腦是很聰明的!它會立即做這些,以便下次遇到的時候能夠對其進行快速識別。

二、人類是怎麼理解圖像內容的

作為自認為心智健全的成年人,環顧我們的四周,會看到很多對象。每天可能都會遇到各種各樣的對象,但你會毫不費勁地一眼識別出它們。事實上,當看到一張椅子,你不會等待幾分鐘才意識到那是張椅子,而你會立馬意識到那是張椅子。

實際上從另一方面說,計算機很難做好這件事。研究者們進行了多年研究才找出為什麼計算機不擅長做這種人類相對相當擅長的事情。為了得到這個問題的答案,首先要理解人們是怎麼做到的。

視覺數據的處理發生在腹側視覺通路,這個腹側視覺通路涉及與對象識別相關聯的人類視覺系統迴路。

我們的眼睛是如何看到顏色的?為什麼能分別貓和狗?機器行嗎?

科普講臺:

視覺皮層兩條通路的理論最早是在1983年被提出的,該理論將視覺皮層分為知覺形狀的腹側通路和知覺空間位置的背側通路,曾被廣泛地接受並被認為是早期認知神經科學的一大成就。


腹側通路(Ventral Stream):通向背腹沿,著大腦皮層的枕顳葉分佈,包括紋狀體皮層、前紋狀體皮層和下顳葉,主要功能是物體的識別;


背側通路(Dorsal Stream):通向背側,沿著枕頂葉分佈,包括紋狀體皮層、前紋狀體皮層和下頂葉,主要功能是空間位置和運動的識別。


科學家提出:在這兩條分離的視知覺通路上,如何重新整合物體的信息將是未來研究的一個重要問題。

從上面補充的小知識可以知道,腹側視覺通路是人類大腦中一塊區域的基本層次結構,它會有助於

對象識別。人們可以毫不費勁地認知不同事物,並且還可以將相似的對象歸類成組。

之所以可以做到這個,是因為人類開發對相同類別對象的不變性排序。當人們觀察某個對象時,他們的大腦提取了一些特徵點,例如方向、尺寸、觀點以及不要緊的光照等因素。

比正常大一倍尺寸並且傾斜45度角放著的椅子仍然是一張椅子,因為處理方式的原因,我們可以很輕鬆地識別出它。機器反而不能輕鬆處理好這樣的情況。人們趨向於通過形狀和一些重要的特徵記憶一個對象,不管這個對象是如何擺放的,人們仍然可以認出它。


在人類視覺系統中,大腦創建了可以幫助我們的穩健有關位置、縮放和角度方面的不變性層次結構。

我們的眼睛是如何看到顏色的?為什麼能分別貓和狗?機器行嗎?

人類腹面通路中的神經元會在感覺域上顯示尺寸增長,這也與加上它們首選的刺激的複雜性地增加的事實相關聯。

三、為什麼機器很難理解圖像內容

現在,我們理解了視覺數據是怎麼進入人類視覺系統,以及人類視覺系統怎麼處理它。目前的問題是還沒理解透徹人類大腦如何識別和組織這些視覺數據。

人們僅從圖像中提取出一些特徵,並且要求計算機通過機器學習算法學習人類。仍有很多變化例如形狀、尺寸、觀點、角度、光照、遮擋等。例如,在機器眼裡,同樣的椅子從側面看起來不一樣。不管它如何呈現,人們可以很容易地識別出它是一張椅子。但是應該如何給計算機解釋這個呢?

一種處理方法是將一個對象不同的變化存儲起來,包括大小、角度、光照等。但是這樣處理過於麻煩又太耗時。而且事實上,它不能將能遇到的每一種變化數據收集起來。為了識別出這些對象,計算機會消耗大量內存和時間去構建模型。即使能滿足所有這些,當存在特殊遮擋的,計算機仍不能夠識別出它,因為計算機會認為它是一個新事物。

所以,提取出目標物體的基本具有代表性的特徵,就顯得對目標對象的識別顯得尤為重要。在構建一個計算機視覺庫時,就是在構建這種包羅萬千對象的基本功能塊,那樣就可以在各種各樣的情況下結合成複雜的算法,以不變應萬變的方式來對世間萬物進行特徵描述。

但是,物體與物體之間存在著較大的差異,但是又存在明顯的相似之處。比如風扇與人、波斯貓與英短貓。

我們的眼睛是如何看到顏色的?為什麼能分別貓和狗?機器行嗎?

上面我們考慮的東西可能比較的雜,這也正是在日常生活中所最常見的一批事務,也正是現階段語義分割、自動駕駛所面臨的最大困難:目標對象繁而複雜,不可以預料的因素太多。

就像美國佛羅里達州特斯拉撞車事故中,駕駛員以及Autopilot(Tesla的自動駕駛系統)都未對該卡車進行有效的反應(轉向或減速),以至於Model S直接撞上了拖掛卡車的側面並且從卡車下面鑽了過去。

我們的眼睛是如何看到顏色的?為什麼能分別貓和狗?機器行嗎?

事後有人在博客中提及了非常多的細節,包括藍天背景加上白色卡車容易被識別為雲彩,並且拖掛卡車側面從Tesla Autopilot的視角看是懸浮在地面上的,這種非常少見的情況導致了Autoplot系統的漏檢。
其實這正是計算機視覺主要的工作,和所面臨的最大的挑戰。儘管自動駕駛領域都採用了機器學習(深度學習),歸根結底還是在尋找特徵。

總結

今天我們從人類視覺系統、人類理解圖像和機器理解圖像三個方面對計算機視覺的基礎內容做了介紹,也就算是科普了,希望能對小夥伴們的日常思考有所啟發。

儘管現在圖像處理的第三方開源庫和深度學習在計算機視覺領域都得到了最大化的應用,但在工業落地和算法研發等方面仍然存在著較多的問題需要解決。革命尚未成功,同志仍需努力。(ps,部分圖像來源於網絡,若存在侵權,請聯繫刪除)

往期回顧


分享到:


相關文章: