1986年10月202期上一篇下一篇

#發行日期:1986、10

#期號:0202

#專欄:「認知與視覺消息處理」專輯

#標題:談視覺的計算理論

#作者:櫻井正二郎

背景介紹

什麼是計算理論

訊息處理的三個層次

影像之表現

雙眼像差及點配對

立體視覺的計算理論

立體視覺之算則

立體視覺之訊息處理

  

表一:訊息處理工作之三種層次。
圖一:(a)亮度變化
(b)一次微分後
(c)二次微分後
Z表零交叉。
圖二:將影像模糊,(a)原來之影像,(b)經高斯分布過濾σ=8光點,(c)σ=4光點時。
圖三:零交叉的一個例圖。
圖四:隨機點立體圖。
圖五:配對之例圖。
圖六:合作算則之說明圖(詳見內文)

 

 

 

談視覺的計算理論


【摘要】計算理論是訊息處理的一種歷程,基本上可使用電腦來模擬人類對外界現象之處理過程;因此視覺現象必得描述成電腦能接受的狀態,亦即成為能夠計算的狀態。

背景介紹

電腦的出現給予各種科學相當大的衝擊與震撼,由於它的快速計算、龐大記憶,可以處理已往人手難以處理的問題與繁瑣的計算。

尤其到1960年左右,高階語言之風行,使更多的人能操作電腦。在此時,心理學界也開始有人使用電腦。

心理學界使用電腦的方式,可大分為兩種。第一種是用來作較大的統計運算,例如:變異數分析、迴歸分析、因素分析、多變項分析等等不勝枚舉。另一種是作人類行為的模擬,例如:選擇行為的模擬、賭博行為的模擬、圖形辨認(pattern recognition)及語言辨認等等。尤其後二者,不但心理學者感到興趣,有許多計算機科學家均感興趣。

另外,計算機的各種概念,直接或間接地影響了各種心理學理論,在1960∼1970年代的心理學論文中,到處可見輸入、輸出、工作記憶(working memory)、密碼、登錄及解碼(decoding)等等字眼,其中受影響最大的應該屬於「訊息處理論」(information processing theory)。將一個人視為一計算機系統,可以接受外界訊息的輸入,然後經過一些處理──例如:登錄與記憶比對在短期記憶中作複誦,存入長期記憶中等──最後作出適當的輸出。

計算理論是訊息處理之一種歷程,基本上可使用電腦來模擬人類對外界現象之處理過程。因此在處理之前,必須將現象透過某種表現法來描述成電腦能接受的狀態,亦即成為能夠計算之狀態。表現法不同所得之描述亦不同;例如整數37在阿拉伯數字、羅馬數字及二進位表示等不同表現法之下,有不同之描述(37、XXXVII及100101)。

計算理論不但要有適當之表現法使現象能夠輸入及輸出結果,更重要的是其中之處理歷程。此過程有很多種,加法是一種歷程,傅立葉轉換(Fourier transform)也是一種歷程,或者更複雜之歷程。要了解這些歷程如何被運用是相當抽象的。

現在以超級市場收銀機之歷程來說明。收銀機之歷程只需求出顧客所購物品之價錢總和,因此只需要加法,但是這加法必須滿足以下幾個命題:

一、如果沒有買東西則其價錢是零;如果沒有買東西後買一些東西,其價錢應和一開始就買一些東西時相同。

二、貨物價錢打入收銀機之順序不影響總和。

三、如果將貨物分兩批分別付款,並不影響貨物價錢之總和。

四、如果買一樣東西之後將其退還,則價錢總和為零。

這些命題總合起來可說是一種收銀機的計算理論。其中有兩個重要特徵:一、這些各別命題均有關計算何物與它為何被計算;二、合乎命題的運算法只有一種。

以上是計算理論概要,但要實際使用卻不能只是如此,必須要有適當的輸入輸出的表現法,還必須要有好的算則來聯結輸入與輸出。

什麼是計算理論

當我們使用電腦模擬,必須要有理論。有些模擬是根據其現象背後的機率分配為骨架來作電腦模擬,我們稱之為蒙地卡洛法(Monte Carlo method)。另外,一些模擬並無任何機率分配之根據,而是將輸入各種不同之「參數」(parameter)經過一連串之處理後將其結果輸出。而這一連串之處理程序,總稱為「算則」(algorithm)。計算理論(computational theory)就是類似後者之運作理論。

訊息處理的三個層次

在作訊息處理時有三個層次可探討(見表一)。首先是計算理論,位於最高層次、訊息處理之精神所在,在這一層次可以知道什麼是計算的目標,為何如此之計算方法是適當等等事情。第二個層次,有關輸入與輸出之方式以及中間處理的算則問題。第三個層次,討論到硬體上如何實現這些表現法與算則等。

在訊息處理的探索中,這三個層次並非有很緊密之關係,有些現象甚至可使用其中一個或兩個層次即可解釋,例如後像(after image,即看見強光後在眼睛中留下來的影像),只要由第三個層次,亦即網膜細胞層次即可解釋。

一般可說計算理論控制算則,硬體設備限制輸入輸出之表現法及影響算則之運行,而實際執行訊息處理是算則部分與輸入輸出之表現法。

影像之表現

本文將以立體視覺為例,說明視覺的計算理論運作之方式,在尚未提到立體視覺以前,必須要說明影像之表現法。

我們的視覺系統收錄外界的訊息,並非照單全收而是經由適當的表現法,來強調外界變化所在,例如偵測亮度之改變、局部幾何結構、光源之偵測等等。如此之描述稱為「原始圖」(primal sketch)。

原始圖即是我們賴以作以下各歷程計算之基本圖。我們一般對外界之影像作何種之原始圖?休柏(Hubel)和魏瑟(Wiesel)在接受區之研究中發現,貓及猴子之視覺接受區〔在側膝核(LGN),大腦皮層17∼19區〕,對亮度之變化以及對圖形之邊界與角有反應。人類之原始圖也可能是偵測邊界及亮度變化。

如此之偵測法可以由下面兩個想法出發:一、偵測時對不同大小的均有效,即有時較大的陰影,有時是比較細的圖形均可用。最好的偵測法是,只要偵測法中之參數改變即可適用。二、當有突然之亮度變化時對其亮度作一次微分可以得到尖峰,作二次微分即可得到一個「零交叉」(zero-crossing,所謂零交叉即該處之函數值,從正值變為負值而通過零,見圖一)。

合乎上述想法而能偵測邊界之最佳運算方法就是2G,其中2表示拉氏運算子(Laplacian operator,),G是二維的高斯分配(Gaussian distribution)

其分配有標準差σ。而合起來

其分配為類似甜甜圈狀。在此運算方法中兩個主要部分,第一個部分是G,G中有一常數即σ,我們可由改變σ來改變影像之模糊度〔見圖二;(a)是原圖,(b)是σ=8光點(pixels),(c)是σ=4光點〕,如此高斯分配可以捨去原圖之細微處,使影像比較平滑。另一個部分是2,拉氏運算子,正是尋求零交叉的運算,它對於二維空間中呈圓形對稱之分配,可以偵測任何方向之亮度變化。

求出零交叉的結果如圖三,(a)是原來之影像,(b)是將發生零交叉的地方描繪出。

雙眼像差及點配對

圖四中(a)、(b)兩圖看起來均是一沒有意義之點之集合,但藉由立體鏡(stereoscope)等儀器將(a)圖投射至左眼,(b)圖投射至右眼,即可看出中央有一正方形浮出來,這種圖形稱之為「隨機點立體圖」(random dots stereogram,簡稱RDS),這是由朱立茲(B.Julesz)開發出來的圖形。

要了解為何看出立體的過程並不難,我們平常看外界時兩眼所收錄之影像不完全相同(只要交互閉雙眼即可明白),這種差異稱為「雙眼像差」(binocular disparity)。隨機點立體圖之兩個圖,在背景上之點均相同,圖形(即圖中之正方形)中之點亦均相同,只是兩個圖中圖形與背景的相關位置不同,亦即在(b)圖中的圖形以背景為準來說比(a)圖之圖形向右靠一點。兩個圖中的這種差異也就是雙眼像差,亦即造成立體感的原因。

在觀看隨機點立體圖時還需要作一種工作,就是兩個圖中間的點與點的配對。點與點配對,是從背景的點先作配對,或是從圖形的點先作配對,或是背景與圖形同時進行配對,這些到現在為止沒有定論。但是無論如何,隨機點立體圖之兩張圖中大部分的點在另一張圖中可以找到相對應的點。而有些點則找不到對應之點,這一些找不到對應的點,也就是前述之雙眼像差。至於如何配對,將在以下詳述。

立體視覺的計算理論

以簡化的模型來看我們如何進行配對,假設現在左右眼上各投射四個點(見圖五),其所有配對的可能性有4×4=16種,可是我們所能見到的是圖五中實心圓的配對,而其12種空心圓的配對實際上不會發生。

為何有一組的配對可能?其他如中間垂直的配對(即L1-R4、L2-R3、L3-R2、L4-R1)為何不發生?又L1為何只能與R1配對,不與R2、R3或R4同時發生配對?我們也不知道為何,可是由現象可以歸納出幾個特徵:一、圖五中水平虛線表示同一像差上之配對,而發生的四種配對均在同一像差上,因此可以認為同一像差上之配對比較容易發生,亦即外界物體表面均為相當平滑的;二、每一點同一時間只能與另一點形成配對。

實際上,我們是以那一種東西當配對之對象呢?如前兩節所述視覺系統所輸入的是原始圖,即端點、邊界、亮度變化之處等等。這些以零交叉方式描繪成原始圖,在立體視覺中有左右兩眼各一,共兩個原始圖,這兩個原始圖中之每一點就如同隨機點立體圖中兩個圖中的每一點,就是配對之對象。

由上述幾個觀點,我們可導出立體視覺之計算理論,此理論中共有三個基本規則:

規則一:相容性(compatibility)黑點與黑點形成配對。

規則二:單一性(uniqueness)一個點最多與另一影像之一點形成配對。

規則三:連續性(continuity)幾乎在影像的任何一部分地方,配對之間的影像變化是平滑的,亦即相鄰兩個配對之間的像差變化若不是等於零,就是非常小。

立體視覺之算則

此算則是依照上述立體視覺的計算理論而來,可稱之為合作算則(cooperative algorithm)。合作算則可以用圖六來說明,橫軸代表投射於左眼之各點,縱軸代表投射於右眼之各點。實線交叉處表示可能形成的配對。虛線表示同一像差值。

假設在圖六中,根據上述規則一,每一實線交叉處均可能形成配對。L3-R3如果形成配對,則依據上述之規則二L3與R3上不再形成配對,又根據規則三與L3-R3配對在同一像差之配對比較容易形成配對,所以L4較易與R4配對,其次可能與R5。如果現在有L3-R3與L5-R5之配對,則L4只能與R4形成配對。

由此看來,此算則與鄰近(neighborhood)關係相當大。現在算則可以用以下的想法來導出:在兩個影像的黑點與黑點之間形成配對之地方給予值「1」,無法形成配對之地方給予值「0」。當使用此一算則計算某一處之配對可能性時,在其鄰近之促進形成配對之「1」加起來,然後也從鄰近之每一抑制配對形成之「1」加起來,然後將後者之和乘以適當之加權係數後從前者之和中扣除,並再加上一常數,最後之結果若大於閾限(threshold)則給予值「1」否則為「0」。底下以算式呈現此算則。


其中表在(x,y)位置,像差為d且時間(或者計算次數)為t時配對狀態;配對形成則為「1」否則為「0」;S(x,y;d)是在x,y;d附近促進配對之鄰近配對;O(x,y;d)是附近抑制配對之鄰近配對;ε是抑制之加權常數;σ是閾限函數;C0是起始狀態。

此一算則成功地模擬隨機點立體圖之立體視覺。在隨機點密度為50%,像差層次有四層,每一層次間的像差大約3個光點之隨機點立體圖,約需14次之重複運算即可得到穩定之立體圖。

立體視覺之訊息處理

最前面已提過,在一訊息處理之歷程中有三種層次。沿著這三種層次,將前面討論之立體視覺之訊息處理予以整理。

首先是計算理論,在前面已說明過,不再贅述。只是再提一下這理論由三個規則組成,亦即相容性、單一性及連續性。

在訊息輸入上,所使用之表現法是2G之運作來描繪出零交叉之原始圖。算則是求算雙眼之原始圖的各點中最佳之配對方式,每一配對與其鄰近之配對有互動合作之關係,所以亦稱之為合作算則,此算則遵循計算理論的三個規則。

關於硬體設備方面,休柏和魏瑟之一連串對視覺接受區之實驗,可以知道視覺對亮度變化、邊界、角等等的敏感;也發現對不同之雙眼像差反應之細胞。可以知道算則、表現法以及理論均合乎硬體之要求。

雖然如此,立體視覺的訊息處理歷程,仍然有一些問題。以下兩者都不能用合作算則或立體視覺的計算理論說明:一、一般立體圖將左右眼之圖倒反,應可以看到深度相反,即凸變凹,凹變凸之圖形,但有一些卻不能看到相反之深度;二、錯覺輪廓之立體圖。

本文雖以立體視覺之計算理論為例來說明其運作過程,其他視覺現象也有計算理論,如似動現象(apparent motion)、輪廓之偵測(contour detection)、表面質地(surface texture)及色彩(color)等等。

〔本文主要參考馬爾(D.Marr)於1982年所出版的「視覺」(Vision)一書。這本書還有個副標題:人類的表現法與視覺訊息處理的計算式之研究。談及許多視覺訊息處理之理論與電腦模擬,本文無法一一提到,有興趣的讀者請參考原書。〕

櫻井正二郎就讀台大心理系博士班

 

 

 
   

回到最上面

 

科學月刊全文資料庫

最佳瀏覽解析度800*600,請使用IE4.0以上版本的瀏覽器

科學月刊雜誌社.金台灣資訊事業有限公司.圖龍文化事業股份有限公司版權所有
Copyright 2000 Science Monthly and King-Taiwan Information Technology Inc. All Rights Reserved.