眼睛是絕大部分生物賴以生存的重要工具,也是人類大腦伸出體表唯一的器官。同時,在自然界中把眼睛大致分為四種,蜘蛛眼相當於兩萬個畫素解析度的相機,昆蟲的複眼自帶立體視覺的功能,鷹眼能夠準確的測量距離。利用這些特性,將仿生眼做成了產品,不僅可以做深度圖,也可以進行三維重建。眼睛是怎麼誕生的?和大腦有哪些聯絡?仿生眼都有什麼功能?
以下內容為中國科學院上海微系統與資訊科技研究所研究員張曉林演講實錄:
今天我主要講一下我們團隊在我們的領域得到的一些新的進展,首先,我們講一下仿生眼。
因為眼睛是所有生物或者是絕大部分生物賴以生存的重要工具,可以說沒有眼睛,絕大部分生物幾乎無法生存,包括人類。
眼睛是怎麼誕生的呢?
大家可以想象,在寒武紀,也就是在5億多年前,有一個小的生物,它的大腦上長出了一顆感光的細胞。
因為有了這個細胞,它可以感知周圍的環境,使它的生存能力大大提高。
隨著進化,眼睛被越做越好,生物們的競爭更加激烈起來,也會產生兩性,也就是說雄性和雌性之間可以互相追逐了。
當然在那之前也有兩性,但是它們互相之間無法找到對方。
隨著這些能力的進化,產生了寒武紀的生物大爆發,也就是在幾百萬年間,大量的生物出來。
當時的眼睛千奇百怪,有一隻眼的,也有三隻眼的、六隻眼的,甚至有渾身都是眼的,最後慢慢進化成了現在的幾種眼睛。
由於眼睛是從腦子裡面出來的,所以人的眼睛也是一樣,是大腦伸出體表的唯一的一個器官,我們的眼球其實就是大腦。
由於眼睛的功能極為特殊,而且它與大腦的聯絡非常緊密,所以要製作仿生眼,就要研究大腦。
因此我們說,仿生眼就是仿製大腦最精緻的部件,因為仿生眼本身就是機器視覺。
但是為什麼要把仿生眼與機器視覺做比較呢?
是因為現在的機器視覺,比如大部分的無人駕駛,或者是機器人,用的視覺基本上是主動式的,什麼叫主動式的?
比如鐳射雷達是要射出一束鐳射,然後來測量它返回來時的時間,來測深度,因此鐳射雷達或TOF相機,或超音波雷達等,基本上都是主動式的機器視覺。
而仿生眼屬於被動視覺,它是用自然的光,來測量對方的距離,測量它的顏色、位置等。所以說我們把仿生眼定義在了被動視覺的領域。
仿生眼的種類
雖然自然界中有很多種眼睛,但是大概也就分為四種。
首先一種,就是叫蜘蛛眼,應該說是比較完善的,視覺系統裡面最簡單的眼睛。
蜘蛛的眼睛有8只,前面4只,後面4只,所以全方位它都能看得見,因為它沒有脖子,所以需要看見全方位。
而且蜘蛛的眼睛也都是一對一對的,所以我們把蜘蛛眼認為是和現在的相機,比如雙目相機、多目相機一樣的東西。
第二個是複眼,也就昆蟲的眼睛,是自然界裡種類最多的眼睛。
再往上更高階一點,比較有特點的就是鷹眼,老鷹的眼睛可以在千米高空看到下面的小動物。
所有這些眼睛裡,最好的眼睛,即綜合能力最強的眼睛,是人類的眼睛。
絕大部分動物的眼睛都是黑白的,它們看不到彩色,當然有些昆蟲是有的。
人類的眼睛在進化的過程中,因為人類的大腦是最發達的,所以它的能力就各式各樣,特別多。
下面這幾張機器圖,是我們團隊製作的各種眼睛。
先講一下蜘蛛眼,蜘蛛前面有兩對大的眼睛,裡面有兩萬多個感光細胞,相當於兩萬個畫素解析度的相機,而且是固定相機。
所以我們就把目前為止在行業上主要應用的立體相機,雙目的或多目的相機,都稱為仿生蜘蛛眼。
還有一種比較好的眼睛叫仿生複眼,複眼是所有昆蟲都在用的眼睛,蜻蜓是昆蟲裡眼睛最好的,它有兩萬多個小眼,它的小眼是什麼原理?
大家可以看上面的圖,每一個小眼上都有一個小透鏡,這個小透鏡,讓它可以把一束光打到它的焦平面上。
也就是說,焦平面上有一點,它就可以對應這個方向上的一束平行光,如果焦平面上有三點,它就有三束平行光。
蜻蜓的眼睛或果蠅的眼睛等等,基本上都有8個感光神經,就是每個小眼下面有8個感光神經,即有8束光。
如果把所有小眼中的每一個對應的感光細胞影象抽取出來,它就是一幅影象,如果有8個感光神經,就有8幅影象。
有8幅影象能夠檢測出不同方向的光,這樣就可以做成一個視差,也就是複眼本身就帶有立體視覺的功能,而這個功能,運算相對簡單。
像昆蟲這樣沒有太複雜的大腦的生物,它們也能有立體視覺的感覺,也能夠讓它們落在樹枝上,也可以抓取獵物。
我們也模仿這種結構做了仿生複眼,比如在右上角可以看到,每一個小眼下面都有幾個畫素。
我們在普通的攝像機上貼上小型的微小鏡頭,目前為止,我們可以得到一個比較好的影象。
但是問題來了,我們無法做球形晶片,因為現在的晶片全是平面的,所以這一個仿生眼只能看到這一面光束,這是不夠的。
如果想要散開,和普通相機一樣,有大一點的視場角,那就一定要有球面的晶片,現在做複眼的環境,沒有完全成熟。
下面我們再講一下鷹眼,老鷹的眼睛和人類不太一樣的是,它有兩個中心視。
也就是人眼看中間看得清楚,而旁邊是有點模糊的,不是很清楚。
但是老鷹的眼睛有兩個中心視點,一個叫深的中心視,它可以看很遠的地方。可能人視力有1.5,就算是視力好的眼睛了,它可能是十或者幾十也說不定。
還有一個淺的中心視,它有兩種方式,大家可以看下面這張圖。
當鷹在高空盤旋時,它用一隻眼睛看底下,即用深的中心視看,如果看到下面有獵物,比如有小老鼠,它就開始盤旋下來。
快到底下時,離獵物近了,它就開始用兩隻眼睛看,這時是用淺的中心視看,這時它會走直線,能很準確地抓到獵物。
因為用兩隻眼睛看,它就會有深度,所以能準確地測量距離。
再詳細一點,可以看這樣的圖。
右上圖可以看到深的中心視,上面是兩個斜線,這兩個是拼在一起的,也就是說深的中心視是無法形成立體視的,所以它看什麼東西都用一隻眼睛看。
大家看到,雞看你時,它是側著臉看你,而它用淺的中心視是可以做立體視的。
我們做的仿生眼的相機也是一樣的,廣角的是兩隻眼,望遠的或者變焦鏡頭是一隻眼。
這整個頭是可以動的,剛才看到的圖也是這樣,無論下面怎麼晃,上面是非常穩的。
大家也看到過那種影片,就是雞的身體怎麼晃,頭都是不動的。
當然我們現在做的這個鷹眼,它只是姿態,三個自由度,而人的脖子有7個頸椎,平移也是可以的。
所以人如果願意,頭可以不動,身體動,但是人類的脖子太短了,而鳥類的脖子比較長,無論怎麼晃,上面都是可以穩的。
最好的眼睛還是人眼,因為人的大腦好,我回國後,花了7年的時間,終於把仿生眼做成了產品。
眼睛是大腦的一部分,所以只有一個眼球是什麼也看不到的,因為視覺感測器和其它感測器不一樣。
比如溫度感測器,把溫度訊號提交過來,我就知道了,如果是觸覺上的力覺感測器,一個力過來我就可以知道了。
但是視覺不一樣,因為影象過來,你不知道是幹什麼用的,必須要做非常複雜的處理才行。
眼睛包含大部分的大腦
所以眼球幾乎牽扯到大腦的所有部分,也就是說眼睛就完全包括整個的大腦,它相當於一個腦系統。
如果把眼睛做好了,就是把整個大腦都做好了。
透過眼睛的視覺進來後分兩塊,一塊進入到上丘的地方,還有一塊進入到後腦的地方,叫枕葉,它叫視覺初級皮層。
進入這兩個地方後進行處理,處理後的結果又反饋到腦幹上來控制眼球,腦幹有控制的系統,這個控制如果是要做微調,或者做更好的效果,小腦又有幫助。
小腦直接牽扯到人眼的控制,它是一個萬能的學習控制系統,然後在大腦裡面,又往上走,走到頂葉、韋尼克區、布羅卡氏區,再往前面走就是額葉前區。
額葉是做決策的,再到頂葉,就是腦頂端,去做運動規劃,這一套系統做出來,我們的眼球就可以動了,而且同時還可以控制我們整個身體的運動。
我們把這個過程畫成了一個方框圖。
首先,腦幹包括中腦、腦橋、延髓,中腦的上丘被我單獨分離出來了。
主要的腦幹的系統做了一個最基礎的運動控制系統,這也是最原始的大腦的眼睛運動控制系統。
因為很多動物沒有大腦小腦,仍然能滿地跑,所以眼睛基礎控制基本上是在腦幹上。
腦幹這一部分的控制特性是比較獨特的,我們當時發現腦幹上的訊號都是做交叉的,這個交叉產生的作用就叫做協調運動。
也就是它把人的兩個眼球一起運動的部分和相對運動完全獨立分割開來做,左邊這個是普通的控制方法,兩隻眼是單獨控制的,右邊這個是仿生眼的協調運動控制方法。
不一樣的是,普通方法,當你遮住一隻眼,看見它停了,然後再給它兩個球的時候,眼睛是會亂的,就是有時會各看各的,因為兩個球完全一樣。
但是仿生眼不會,你遮住一隻眼,它會一起走,然後再給它兩個球,它也不會亂,當然它還可以對眼,還可以輻輳。
腦幹上還有一個很重要的特點,就是它把所有訊號都統合在一起了。
所以我們的眼球可以做跟蹤,也可以做切換運動,即高速的跳躍運動,也可以防震,底盤的防抖等功能都可以。
它能夠把所有的控制系統都融合在一起,這也是腦幹很重要的提示。
上丘是中腦後面的一個部位,中腦後側有4個球,有4個鼓包,上層的兩個鼓包叫上丘,這個是低等動物的中樞決策器官。
低等動物沒有大腦小腦,它主要的命令器官就是從上丘來的,所以人類現在還保留著上丘,它控制眼球的跳躍運動,即眼的目標切換。
也就是說人無論怎麼跑,跑得多快,或者騎著摩托車,或者開飛機,依然可以想看誰就看誰。對方也在跑的時候,在好幾個人中,我想看他也可以看。
高速跳躍、高速的控制,就是從上丘發出來的,為什麼上丘會有這個功能?
其實這兩個不是完全匹配的,右邊是人的視網膜,左邊是猴子的上丘,猴子上丘的中層,有一個地圖和視網膜是一一對應的。
也就是說如果在視網膜上,用光來刺激某一點,在上丘上與它對應的這一點的神經細胞就開始興奮。
它會帶領周邊的神經細胞興奮,眼球就轉了,把剛才刺激它的光斑放到視覺中心,也就是中心視這個位置,或者叫作中心凹,或者叫黃斑,就把這個位置對準了。
這個運動控制精度非常高,準確率也非常高,人的大腦能夠控制眼球就是因為這一點。
其實眼睛是一個完全自動的系統,外部只給它一個位置命令,看哪的命令,迭代性眼球運動控制是一個很簡單但效率非常高的控制系統。
這個眼球在快速轉,這也是仿生眼的很重要的特點。
買到手機或者相機的穩拍系統,人拿著它動,它上面也是穩的,但是一般這種系統不能快速運動,因為它的馬達力量不夠那麼大。
因為馬達力量一旦變大,或者電機一變大,控制就會變得非常複雜,所以我們就把快速運動加在裡面。
小腦的結構看起來和大腦完全不一樣,它是分離出來的,大家覺得大腦好像是萬能的,什麼都能幹,其實不是。
能控制身體的各種運動的是小腦,大腦是做不到、做不好的。
現在搞小腦研究的不是很多,人工智慧神經網基本上是關於大腦的。
當時是用貓的視覺皮層的拓撲結構,做了數學模型來模擬,產生了現在的神經網,有大量的研究出來,小腦這塊的模型沒有做成功。
小腦上一共就有5種細胞,而且它的結構非常一致,就是非常規則。
所以按道理講,做小腦模型不是一個特別難的事情,不知道為什麼,大家做不出來。
我們也做過,而且做了好多年,試圖把小腦的結構做成神經模型,雖然能有些許效果,但是效果不是特別好。
我猜有一個很重要的原因,就是我們無法把積分、微分這些與時間相關的要素加到神經模型裡,怎麼加進去是一個難題。
我一直認為,可能要在頻域做這件事,但是有一點大家是有共識的,就是小腦的學習系統在整個控制系統裡面的位置是定的。
這樣一個構成,也就是右側這個前饋系統和反饋系統中間,可以加一個學習功能系統,這個學習功能只要做得好,所有東西就都可以控制了。
現在我們控制機器人都是鋼體的,鋼體強度越強,精度越高,但是精度越高,它要求鋼體越強,就越重,這就是互相矛盾的。
所以我們做挖掘機就做不到太完美,做不出來像人手臂這樣完美的東西,其實和控制有很大關係。
大腦視覺皮層的位置
我們視覺的主要處理系統是在大腦的視覺皮層上,這個位置的主要功能有很多,比如特徵抽出、匹配、檢測、分類等。
再細分一下,就是大腦可以分成四大塊,最前面的叫額葉,就是腦門這裡,上面是頂葉,後面是枕葉,再到顳葉。
再細分的話,是有52個區,有小區,當然還可以再細分,每一個區的功能不一樣。
比如枕葉,這是我們視覺處理的基礎處理的地方,把影象變成各個有意義的東西,例如桌子、地面、椅子、電視等,它把它們分類。
視覺皮層上兩側的,就是耳朵的聽覺方面的處理,這兩個處理做成一個抽象的資訊後,進入頂葉,在頂葉做更進一步的分析。
然後傳到額葉做決策、做判斷,再回到頂葉做身體的控制,運動規劃。
這是猴子的大腦構造,就是它的視覺皮層,也就是枕葉這個地方還有幾個區,比如V1、V2、V3、V4,其實還有V5沒畫出來,還有MT這些特徵。
我們可以逐步給這些特徵分類,比如V1就是做邊緣的,做視差計算的。在V2這裡,區域性的紋理,邊界界定,相對視差等。
其實這些功能,我們在視覺領域搞視覺研究或者影象處理的人,已經有類似的可以匹配的地方,叫做特徵線的提取與匹配。
當空間上的一個影象進來後,有一種特徵點和特徵線的抽取方式,因為點和線的特徵比較強烈,所以它很穩定。
我在不同角度都能看得到,就能抽得出來,這樣有什麼效果?
我根據空間上的這些點,就能反算出自己的位置,反算出自己的座標。
所以可以根據右面那些空間的特徵點、特徵線,反算出自己攝像機的位置,這個攝像機是怎麼走的、軌道是怎麼樣的就出來了。
當然軌道生成是另一方面,至少特徵點、特徵線,應該是在枕葉最基礎的V1領域做的。V1領域和V2領域還有別的特徵,比如邊緣的抽出。
下面就是上面這張圖的邊緣抽出。
同時它還有遠近測量的功能,把空間所有點的深度距離算出來,叫視差圖或深度圖。
紅的是近,藍的遠,然後再把它的顏色貼上,就是三維圖了。
在計算機的座標上,每個點是三維的,再走到V2這一塊,可以看到上面的V2是區域性紋理、邊界界定、相對視差等。
我們在影象處理上就叫做語義識別,也就是把空間的各個東西都分離出來,牆是牆,地面是地面,門是門,然後它再把語義分離出來。
場景分割等這種影象處理的術語和腦袋裡V2的功能比較對應,這些都是生理實驗做出來的。
V3就更近一步了,這裡面就有方向的選擇或初步的運動加工,還有語義分割、光流,它和影象處理裡面的語義分割或光流的檢測很接近。
我們在光學上也做了實驗,這都是我們實驗室的研究結果。
亮度代表它的速度,紅色代表向右,藍色代表向左,它把一個影象上的所有點都用速度來顯示,這個就叫光流,我們在大腦的V3領域做這件事。
還有進入到更深一層的,就像V4裡面就有高度分化,有曲率還有顏色等,這些我們在影象處理裡面,就可以分成例項分割或語義識別。
什麼叫例項分割、語義識別?
這和剛才是類似的,但是剛才只是把它變成性質了,比如牆或人等。
我們這裡就是要把每一個人分離出來,也就是這個人走了一會後,不能把他再當成別人,要知道這和剛才的是同一個人。
所以它把空間上有用的東西、我們想要的東西抽取出來,這叫做例項分割。
再往下就是MT的功能,可以看到它這裡處理運動的、處理深度的、處理控制的,實際上它就可以做風格檢測了。
因為有了這些處理結果,就可以做目標檢測,做深一層的跟蹤。
其實我們很早就做過這一塊,這應該是十五六年前的影片了,它跟蹤你的臉,你走近它就退,你退它就追,保證一定的距離,這就是當時影象處理的一個機器人。
再往下,就是大腦這部分,其實大腦的顳葉裡有一個海馬體,這個摳出來的圖案就像一隻海馬,所以我們叫海馬體。
這一塊是做位置記憶的,做地圖、做環境的。
這張圖是一位諾貝爾獎獲得者做的,他把海馬體的性質研究出來後發表了論文。
就是說海馬體上有位置定位的細胞,也有頭部方向的細胞,也有分界線的細胞,都是一一對應的。
這就是我們常用在機器人機器視覺上的,這是一個小機器人,它的速度比較快。
它跑一遍,眼睛所看到的地方都能做出立體圖,然後把它們拼接在一起,最後就會形成一個整體的影象。
整體影象出來後,我就可以命令這個機器人到什麼地方去,這個影象做成後還可以上傳到雲端,傳給其他機器人,其他機器人就不需要再做了。
它也能行走,可以避開障礙物,也可以做軌道生成,這一部分有些功能就相當於腦袋頂葉的行動規劃,這一部分合在一起了。
現在我們再往上走,就走到頂葉和前額葉,基本上就可以看到關於一般性理解的運動語言還有邏輯分析和決策。
這個其實是我們現在研究上還比較弱的地方。
猴子的上一層就相當於我們的視覺皮層,即枕葉到頂葉接觸的,這一部分的各項功能在裡面也是一一對應的。
這個一一對應的地方,我們在搞人工智慧和影象處理時也是有的,比如我們現在做的注意焦點顯著性等。
人注意到什麼地方,或者說機器人或仿生眼它看哪個地方感興趣,它去看才行,這個總不能用人來控制它。
它對哪個地方感興趣,首先它要把語義分割、例項分割等檢測出來,同時它又要知道自己的位置,然後再看到對方的速度,也就是光流。
經過它的綜合判斷,覺得什麼地方該去看,什麼地方危險或什麼地方重要,它要去看。
這裡面的熱力圖代表的是它感興趣的地方,這也是一個比較深層次的研究。
再往下走,叫做機器人的意識空間,我們常說,看電視、看電影讓人失去想象的空間。
其實我們看小說時,比如看《三國演義》,看關雲長千里走單騎,腦子裡會有這種空間的想象,現在看了電視後,這種想象就差了。
但是這種想象,我們要在機器人裡做,這就叫意識空間。
這些意識空間是帶有物理特性的,這個小熊或者蘋果都是有質量的。還有各種摩擦係數等功能。
這種模型或者叫物理模型搞的人不是特別多,我國做的比較少,剛才的所有影片和圖片都是我們實驗室做的。
但唯獨這一個,是我們請日本來的一個兼職教授做的,他花了20多年的時間。
我也非常希望我們中國的年輕人,將來會花10年、20年的時間堅持做一件事,把這種比較有深層次的、有理論基礎的東西做好。
如果有了物理空間在機器人頭腦裡,那麼它就可以有一個想象空間,它就可以做物理推演。
什麼叫物理推演?
比如我們做下棋,下圍棋、下象棋,你下不過機器人了,因為每一個棋子的推演,機器人比你看得更遠,看得更廣。
但是物理推演還差,比如讓機器人踢足球,它們踢不過人。
就是說機器人怎樣在看到對方的球員和自己球員的位置和行動速度,再加上球的運動速度時,來推測出自己在什麼位置最好,應該怎麼做。
這種物理推演,如果我們意識空間做得好,將來人也會比不過機器人。
還有一個非常重要的機器人比人強的地方,那就是雲腦,即需要時間考慮的或者需要大量資料的,都可以弄到雲上去。
因為雲上可以有大型計算機,有大量的資料,所以我們現在做雲腦,就是我們可以給它各種東西看,或者它自己走。
透過語義分割、語義識別等功能,它自己做資訊,我們叫做知識圖譜。
然後再讓它幹什麼時,它就可以根據自己得到的知識做判斷,這就是雲腦的功能。
仿生眼的產業化
我們做產業化做得比較久,最開始是做3D拍攝,因為3D拍攝的兩個相機的位置要和人眼一樣,人看了才不會暈,效果比較好。
我們做完後,發現這個市場沒有了,因為現在的3D拍攝都用2D轉3D,電視機的3D也沒有人搞了。
但是我估計,將來3D的頭顯出來後,這個產業還會再重新發展起來。
再一個就是我們做的仿生眼最近開始銷售,主要是對應搞研究的人。
這個仿生眼的兩隻眼睛動,它可以做左下角的深度圖,也可以做三維重建,比如語義分割和顯著性。
能夠做深度圖的可動的眼睛,現在我們在國際上還沒發現有別人做出來,這是我們一個很大的成果。
我們這個仿生眼也可以做導航,右邊就是我們抓的一個固定好的雙目。
我是震動著走的,這時的影象不僅模糊,下面的軌道也是很亂的,有時就看不見,斷了,它要靠IMU 陀螺儀加感測器來接續。
但是左邊就是用了仿生眼,這個仿生眼無論被怎麼晃,影象都非常穩定,所以效果也非常好。
我們在產業上,比如新松機器人的一個獲獎的產品,就是用了我們的機器頭腦、仿生眼。
右邊是我們自己在做的機器人,帶機器頭腦和眼,上海市給了我們一個比較大的專案做機器頭腦。
這塊就是無人駕駛了,現在做自主行駛機器人,在無人駕駛領域肯定會有很大的用處。
因為現在無人駕駛的雙目都是固定的,固定雙目有個最大問題就是當車平穩地走時沒問題,一遇到顛簸,影象馬上就模糊了,它就看不到了。
當然人眼不會出現這個問題,當你摔跟頭時,雙眼看得很清楚。
視覺系統必將引發機器人寒武紀的到來,生物的寒武紀是生物的眼引起的,視覺系統一定會引起機器人種族的寒武紀。
也就是說如果眼睛做好了,我們的機器人就會滿地跑了。