1. 程式人生 > >計算機視覺基本知識

計算機視覺基本知識

計算機視覺主要分為四個步驟:影象獲取、影象校正、立體匹配和三維重建。其中,立體匹配的目的是在兩個或多個對應同一場景的影象中找到匹配點,生成視差圖。視差圖可以通過一些簡單的幾何關係轉換成深度圖,用於三維重建。立體匹配是計算機視覺領域一個瓶頸問題,其結果的好壞直接影響著三維重建的效果。

立體匹配演算法,主要分為特徵匹配演算法和區域匹配演算法。特徵匹配演算法主要是提取影象特徵進行匹配,生成檢視。由於只提取區域性特徵,因此特徵匹配演算法速度快,但是得到的都是稀疏的視差圖,而稀疏的視差圖在很多應用中都不適用。

基於特徵的匹配主要提取影象特徵點進行匹配,例如邊緣、輪廓、直線、角點等,具體步驟如圖所示。由於這些特徵點不受光照、尺度、旋轉等變化影響,因此基於特徵的匹配對於影象畸變、遮擋等具有一定的魯棒性。但是它得到的視差圖為稀疏視差圖,如果需要畫素的視差資訊沒能在稀疏視差圖中得以體現,則需要利用已得到的特徵點的視差通過擬合、插值、區域性生長法等方法將稀疏視差圖轉成稠密視差圖,來得到需要畫素的視差資訊。這種通過周圍特徵點插值計算得到的稠密視差圖往往不可靠,喪失了大部分表面細節,使得生成的視差圖不可靠。

區域匹配演算法依據是否使用全域性搜尋可以分為全域性匹配演算法和區域性匹配演算法。全域性匹配演算法是基於畫素的,通常將匹配運算構建在一個能量最小化的框架下,然後使用優化演算法來最小化或最大化能量函式,得到視差圖。比較經典的全域性匹配演算法有:置信度傳播演算法(belief propagation)、圖割演算法(graph cut)等。全域性匹配演算法得到的視差圖較為準確,但執行時間長。區域性匹配演算法將畫素代價聚集在一個支援窗中,然後選擇與其相匹配的支援窗。然而,在這個過程中,選擇合適的支援窗是一個困難的問題。

全域性匹配將立體匹配關係用一個能量函式表示,如下式所示。能量函式由匹配代價和平滑代價組成,然後使用不同的優化演算法來迭代地得到視差圖。經典的全域性演算法有置信度傳播演算法(belief  propagation)、圖割演算法(graph  cuts)、動態規劃演算法(dynamic  programming)等。這些演算法雖然能得到比較正確的視差圖,但都需要通過多次迭代來獲得最終結果,其計算耗時大,效率低。

2006 年 Yoon 提出了自適應權值演算法,固定支援窗的大小,賦予支援窗中每個畫素不同的權值。Yoon 演算法的效能超過了一般的區域性演算法,甚至可以和全域性演算法相媲美,因此得到了很多的關注。

計算機視覺的目標是從攝像機得到的二維影象中提取三維資訊,從而重建三維世界模型。在這個過程中,獲得場景中某一物體的深度,即場景中物體各點相對於攝像機的距離,無疑成為了計算機視覺的研究重點。獲得深度圖的方法可分為被動測距和主動測距。被動測距是指視覺系統接受來自場景發射或反射的光能量,形成有關場景的二維影象,然後在這些二維影象的基礎上恢復場景的深度資訊。具體實現方法可以使用兩個或多個相隔一定距離的照相機同時獲取場景影象,也可使用一臺照相機在不同空間位置上分別獲取兩幅或兩幅以上的影象。主動測距與被動測距的主要區別在於視覺系統是否是通過增收自身發射的能量來測距,

雷達測距系統、鐳射測距系統則屬於主動測距。主動測距的系統投資巨大,成本太高,而被動測距方法簡單,並且容易實施,從而得到了廣泛的應用。利用被動測距的計算機視覺主要分為四個步驟,如圖所示。


(1)影象獲取。一般情況下,人類通過雙眼來獲得影象,雙眼可近似為平行排列,在觀察同一場景時,左眼獲得左邊的場景資訊多一些,在左視網膜中的影象偏右;而右眼獲得右邊場景資訊多一些,在右視網膜中的影象偏左。同一場景點在左視網膜上和右視網膜上的影象點位置差異即為視差,也是感知物體深度的重要資訊。

計算機視覺的獲取影象的原理與人眼相似,是通過不同位置上的相機來獲得不同的影象,左攝像機拍攝的影象稱為左影象,右攝像機拍攝的影象稱為右影象。左影象得到左邊的場景資訊多一些,右影象得到右邊場景的資訊多一些,

(2)   影象校準。在影象獲取過程中,有許多因素會導致影象失真,如成像系統的象差、畸變、頻寬有限等造成的影象失真;由於成像器件拍攝姿態和掃描非線性引起的影象幾何失真;由於運動模糊、輻射失真、引入噪聲等造成的影象失真。

(3)   立體匹配。在兩幅或多幅不同位置下拍攝的且對應同一場景的影象中,建立匹配基元之間關係的過程稱為立體匹配。例如,在雙目立體匹配中,匹配基元選擇畫素,然後獲得對應於同一個場景的兩個影象中兩個匹配畫素的位置差別,即視差。並將視差按比例轉換到0-255 之間,以灰度圖的形式顯示出來,即為視差圖

(4)三維重建。根據立體匹配得到的畫素的視差,如果已知照相機的內外引數,則根據攝像機幾何關係得到得到場景中物體的深度資訊,進而得到場景中物體的三維座標。

區域性匹配演算法主要有自適應支援窗演算法(windowwith adaptive size)、自適應權值演算法(adaptivesuppot-weight)和多視窗演算法(multiple window)。自適應支援窗演算法假設支援窗中的畫素的視差值是一樣的,然後在目標影象的搜尋區域中尋找與參考影象支援窗差異最小的支援窗,兩個支援窗中的中心畫素即為匹配畫素,圖1.11 中左影象為參考影象,右影象為目標影象,和分別為左影象和右影象支援窗中的中心畫素,由於採用水平極線校正的約束,因此,搜尋區域為一維,即可能匹配畫素的縱座標y 相同。自適應權值的演算法與自適應支援窗的演算法不同,它用權值來代表支援窗中的畫素對中心畫素匹配影響的大小,權值越大,影響越大。多視窗匹配演算法,主要是根據一定準則,在事先指定的多個視窗中選擇最佳的視窗進行匹配計算。


在國際方面,將現存的立體匹配演算法進行了分類和總結,將演算法分成四個步驟:匹配代價計算、代價聚集、視差計算、視差精化,但並不是所有匹配演算法中都包括這四個步驟,需要哪一步,要根據具體情況而定。還提出了一個專供稠密視差圖定量測試的平臺(www.middlebury.edu/stereo),得到了廣泛的應用。下面將通過這四個步驟分別對國外近些年的立體匹配演算法進行總結。

(1)匹配代價計算。若令參考影象中任一畫素點為 p ,目標影象中可能匹配畫素點為q ,d 為視差範圍。最普通的匹配演算法有灰度平方差異(squared intensity differences)和灰度絕對值差異(absoluteintensity differences)。


還有一些匹配代價對相機偏移、噪聲和光照魯棒,如基於梯度的一些測量rank 變換和census變換等。rank 變換大致過程為以待匹配畫素為中心作一個矩形視窗(rank 視窗),然後統計 rank 視窗中灰度值比中心畫素灰度值小的畫素的數目,並用這個數代替原來中心畫素的灰度值,依次計算,直到被轉換成一個整數矩陣,這個整數矩陣稱為rank 影象。圖 1.12 為 rank 變換的一個示例,紅色圈內為待匹配元素,rank 視窗大小為3*3 ,rank 視窗內比中心畫素灰度值小的元素有 4 個,因此,用 4 來代替中心畫素的灰度值。


而 census 變換則將視窗中心畫素以外的畫素變成一個位元串,如果視窗中一個畫素的灰度值比中心畫素大,則相應位置為1,反之為 0。文獻匹配代價應用到相鄰的半畫素值,如下式所示,使得匹配代價對影象抽樣具有一定的魯棒性。



(2)代價聚集。區域性演算法是基於視窗的聚集方法,將支援窗內畫素的代價相加或平均作為中心畫素的匹配代價。支援窗可以是二維的,也可以三維的。二維的支援窗先將視差固定,然後計算聚集代價。除上述介紹的多視窗法和自適應視窗法,常用的支援窗有移動視窗(shiftable  window)、常數視差的連通視窗(window based on connectd components of constant disparity)。三維支援窗包括有界的視差差分視窗(limited disparity difference)、有界的視差梯度視窗(limiteddisparity gradient)、Prazdny 的相關準則(coherence principle)等。

(3)視差計算。區域性演算法主要強調匹配代價、代價聚集和視差計算三個步驟,在視差計算中,最小代價對應的視差即為所要求的視差,這也被稱為WTA 演算法。這個演算法的缺點在於它的唯一性約束只在參考影象中有所體現,而目標影象中的畫素點可能對應許多個參考影象的畫素點。而全域性演算法則強調視差計算步驟,通常跳過代價聚集步驟。

(4)視差精化。大多數立體匹配演算法都是在一個離散的空間中進行運算的,得到的視差值也是整數的。對於許多應用,如機器人導航(robot navigation)和人類跟蹤(people tracking),這已經足夠了,但是對於影象繪製(image-based rendering)來說,這些量化的過程會導致視點綜合的結果出現錯誤。為了應對這種情況,許多演算法在初始視差計算後,應用子畫素精化步驟。子畫素精化方法有迭代梯度下降法(iterative  gradient  descent)和擬合曲線法(fitting  a curve)。對偶運算(cross-checking)也可以對視差進行後處理運算,對偶運算可以檢測出遮擋區域,然後應用平面擬合算法(surface fitting)或鄰域視差估計演算法(neighboringdisparity estimates)對遮擋區域的視差進行填補。

立體匹配面臨的挑戰

目前,國際上存在很多演算法,但這些匹配方法仍不能很好地解決立體匹配中存在的一些問題:噪聲、遮擋匹配問題、弱紋理或重複匹配問題、深度不連續問題、光照變化引起的匹配問題、傾斜區域的匹配問題。除此之外,立體匹配演算法都在實驗室進行實驗階段,通常在實驗過程中採用了許多假設,例如匹配影象對應具有相同的影象特徵,包括畫素RGB 值,灰度值等,即匹配影象對不受光照等元素的影響。這些挑戰限制了立體匹配演算法在實際中的應用。

(1)噪聲。影象獲取過程中,受到光線變化,影象模糊,感測器噪聲等因素的影響。這要求實際應用的立體匹配演算法一定具有魯棒性。

(2)遮擋問題。遮擋是由於攝像機的空間位置不同,造成一些場景在一幅圖中可以看到,但在另一幅圖中不可見的現象。本論文將在第六章詳細介紹遮擋問題以及解決方法。

(3)弱紋理區域或紋理單調重複區域。影象對中存在大量重複區域,在尋找匹配點的過程中,容易存在二義性或多義性,使匹配不準確。如圖所示,兩個視點的影象由於重複性過多,對左影象中任一畫素,在右影象中有許多畫素和它相似,因此,在匹配中容易出現誤匹配情況,影響了匹配質量。這個問題也叫“孔徑問題”,即灰度一致性約束在無紋理區是無用的,所以,立體匹配時,訊息需要從高紋理區傳到低紋理區。


(4)深度不連續問題。影象中物體上視差都是平滑過度的,但到了物體邊緣處,則視差出現突變,對於區域性匹配來說,如果在物體邊緣處還認為其匹配窗內的畫素視差相同的話,則會出現一些錯誤,對結果造成影響。如圖所示,圖中物體比較多,物體邊緣也多,因此採用區域性匹配很容易出現錯誤。在全域性演算法中,當使用空間平滑約束時,訊息傳遞應該停止在物體邊緣。


(5)光照強度變化。照相機處於不同的空間位置,如果場景中存在一些鏡面反射的現象,有可能使對應點在兩幅影象中表現出不同的特徵,導致匹配錯誤。如圖所示,兩個曝光不同的針對同一場景的影象有不同的RGB 值,而通常的匹配演算法則是通過畫素 RGB 值來判斷兩個可能匹配畫素是否匹配,這樣,光照條件差異無疑給立體匹配造成了許多困難。


(6)傾斜區域。由於視差圖中視差變化是以整數為單位的,即離散的;而場景中物體的深度變化是連續的,用離散的視差表示連續的地方,必定會出現一些不足。

攝像機成像幾何模型

在立體視覺系統中,第一步應該建立攝像機成像系統,進行攝像機標定,然後獲取影象對,最後進行立體匹配與三維重建等後續工作。如圖所示,用攝像機拍攝建築上的某一點,然後在照片中出現這個三維點的二維投影點,而攝像機標定主要是根據攝像機成像系統,來建立三維場景中的點和二維影象畫素位置的對應關係。攝像機需要標定的模型引數分為內部引數和外部引數。攝像機模型也有許多,主要分為線性模型和非線性模型。線性模型又稱針孔成像模型,是實驗室中常用的一種模型,將著重介紹。


針孔成像模型

首先,介紹最簡單的點光源成像模型,如圖2.2 所示,A ,B ,C 代表實際空間中的線,O 點為光心, A’, B’和C’分別為 A , B 和C 在影象平面中的成像,從圖中可知,實際空間中的三維點和影象中的二維投影點確實存在一定的對應關係,且根據幾何關係可求得。


然後,引入小孔成像模型,如圖 2.3 所示。所有光線都經過小孔,使得物體通過孔平面在影象平面上形成了一個倒立的實像。影象平面與孔平面的距離為f ,孔平面與物體的距離為 Z 。



為了向攝像機模型靠近,將成像平面和景物放在一側,如圖2.4 所示。P(x,y, z)為實際空間中一點,p(x, y)為其對應的像平面上的點,為影象平面與攝像機光心O 的距離 ,一般稱為攝像機的焦距,用 f 表示。根據幾何關係,我們能得到如下式子:


用齊次座標和矩陣表示式(2-1)的關係如下:


式中, s 為一比例因子, P 為透視投影矩陣。


影象座標系與攝像機座標系

攝像機拍攝的影象經高速影象採集系統變換為數字影象,並輸入計算機,計算機內每幅數字影象顯示為 M*N 陣列,即有M 行 N 列個元素,其中每一個元素稱為畫素。


如圖 2.5 所示,每一個畫素的座標(u,v)是以畫素為單位的影象座標系座標,代表該畫素在計算機中的行數和列數。由於以畫素為單位的影象座標系沒能顯示畫素在影象中的位置,因此又定義了一個以物理單位表示的影象座標系。以影象中某一點為原點,作 X 、 Y 軸與u 、 v 軸平行,(X,Y)即為畫素的影象座標系。每一個畫素在X 軸與Y 軸的物理尺寸為 dX 和 d Y ,影象中任一畫素在兩個影象座標系的關係可表示為如下:


用齊次座標與矩陣的形式可表示為


逆關係可寫成



攝像機座標系與世界座標系

    世界座標系描述攝像機在環境中的任意位置,也用它來描述環境中任何物體的位置,由WX 、WY 和WZ 軸組成。攝像機座標系和世界座標系之間的關係可用旋轉矩陣R 和平移向量t 來描述,用齊次座標與矩陣的形式可表示為:



影象座標系與世界座標系

將式(2-8)代入式(2-6)中,得到影象座標系與世界座標系的關係,如下式所示:


從式(2-9)可知,已知攝像機內外引數M1 和M2 ,對任意空間點 P ,如果知道它的世界座標系座標,就可以知道它的影象座標系座標;而已知它的影象座標系座標,並不能知道它的世界座標系座標,而只能確定它的空間點均在射線OP 上,如圖 2.4 所示。因此,為了得到一空間點準確的世界座標系座標,就必須有兩個或更多攝像機構成的立體視覺系統模型才能實現。

雙目立體視覺

雙目立體視覺原理

人用雙眼去觀察實際空間中物體,空間中的物體點在左右兩眼視網膜上成像,左視網膜成像偏右,右視網膜成像偏左,這種差異稱為雙目視差(binocular  disparity),人有深度感知就是因為雙目視差,如圖2.6 所示。兩眼同時看實際空間中的 A 點、C點和 D 點,三點在左視網膜上成像為a2、c2和d2;三點在右視網膜中成像為a1、c1和d1,從圖中可明顯看出c1,c2的距離比d1,d2

的距離短,即C 點的視差比D點小,而空間點C 點比 D 點離人眼的距離遠。


基於此理論,用兩個攝像機代替人眼,對同一空間物體拍攝,獲得兩幅圖片,稱為立體影象對。然後,運用立體匹配演算法找到對應同一物體點的影象點,計算出視差,根據簡單的三角幾何關係即可得到此物體點的深度資訊。


圖2.7為簡單的平視雙目立體視覺系統示意圖,和分別為左攝像機和右攝像機的光心,兩個光心連線即為基線,基線距離為 B 。p 為實際空間中一點,它在左影象上成像點為,在右影象上成像點為。假設兩個攝像機是平行的,在同一平面上,因此左右影象成像點的縱座標相同,即。由三角幾何關係得到



從式(2-11)可以看出,對於簡單平視的雙目立體視覺系統,只要找到對應同一空間點的影象匹配點,知道焦距f 和基線 B 距離,就可以得到空間點在攝像機座標系下的三維座標。z 即為空間點 p 的深度,可以看出空間點視差和深度是成反比的

極線幾何

極線幾何討論的是兩個攝像機影象平面的關係,下面介紹幾個概念,如圖 2.8。(1)基線:指左右兩攝像機光心和的連線,用 B 表示。

(2)極平面:指任一空間點和兩攝像機光心三點確定的平面,如平面和平面都是極平面,所有的極平面相交於基線。

(3)極點:指基線與左右兩影象平面的交點,用和表示。

(4)極線:指極平面與左右兩影象平面的交線,左影象或右影象中所有極線相交於極點或。

立體匹配中,為了降低可能匹配點對的數量,提出了極線約束,即左影象上的任一點,在右影象上的可能匹配點只可能位於極線上。假設和是空間中同一點 p在兩個影象匹配點。左影象平面任一點,它在右影象上的可能匹配點不可能在整個平面上,而一定位於極線上,這樣找到最終匹配點為;相似的,右影象平面點,在左影象上的可能匹配點一定位於極線上,和稱為共軛極線。極線約束使得立體匹配搜尋範圍從二維平面降到一維直線,大大減少了搜尋時間,在立體匹配中佔據著重要的地位。


如上一節分析,在平視雙目立體視覺系統中,左右影象匹配點之間的縱座標相同,只存在水平差異,即極線是水平的,這一特徵對立體匹配演算法的簡化起了很大的作用。然而,在實際應用中,由於組裝、成像等多方面原因,平視雙目立體視覺系統很難構建,左右影象中可能匹配點之間不只存在水平差異,同時也存在垂直差異,這就需要通過極線校正來使左右兩幅影象的極線相平行,消除或減少兩個可能匹配點間的垂直差異,從而較小匹配搜尋難度。極線校正示意圖如圖 2.9 所示,將匯聚立體匹配模型的兩個影象平面進行了旋轉,產生虛擬的平行立體系統,其中虛線為原影象平面,實線為經過校正後的影象平面。


基本約束關係

為了提高系統的去歧義匹配能力和計算效率,除了上一節所說的極線約束,立體匹配中還存在許多匹配約束,如唯一性約束(uniqueness  Constraint)、連續性約束(ContinueConstraint)、相似性約束(Feature Compatibility Constrain)、順序一致性約束(ordering  Constraint)、互對應約束(Mutual  correspondence  constraint)、視差範圍約束(DisparitvLimit constraint)。  下面將分別介紹這幾種約束。

(1)唯一性約束。對雙目匹配來說,參考影象上的任一點在目標影象上只能有唯一的點與其相匹配。此約束可避免重複匹配問題。

(2)連續性約束。空間中物體表面一般都是光滑的,因此攝像機將其拍攝在影象上的點是連續的。在計算視差時,參考影象上同一物體上相鄰點的視差應該是連續的。對物體邊界處的點,連續性約束並不成立。 

(3)相似性約束。在兩幅或多幅影象對應同一實際空間上的點,在某些物體度量上(如灰度,梯度變化等幾何形狀上)具有一定的相似性。例如空間中某一點在物體的邊緣,梯度變化較大,則它在另一幅影象上也位於物體的邊緣,且梯度變化較大。

(4)順序一致性約束。對於參考影象上的兩個畫素和,在的左邊,這兩個畫素在目標影象上的對應畫素分別為和 ,則也在的左邊。但此約束在視點方位變化很大時不滿足。

(5)互對應約束。左影象上的畫素和右影象上的畫素為一對匹配畫素。如果根據立體匹配運算,以左影象為參考影象,找到畫素 在右影象中的匹配畫素,那麼,以右影象為參考影象,同樣也能找到畫素 在左影象中的匹配畫素為 。這個過程也被稱為對偶運算,可以有效減少立體匹配過程中由於遮擋、高光或噪聲原因而導致的誤匹配問題。

(6)視差範圍約束。視差範圍約束是指人類視覺系統只能融合視差比某個限度小的立體影象。此約束限制了尋找對應點時的搜尋範圍。例如從Middlebury 網站上得到的測試影象 cones 和 teddy 的視差範圍為 0-59。

同一物點Q在左右眼兩幅視差圖上的對應畫素點分別稱為左畫素點L和右畫素點R,兩畫素點間的水平距離稱為該物點的水平視差

三維模型特徵提取演算法

三維模型由於其結構屬於三維子空間,因此能夠表現的資訊較二維影象更多、更復雜。基於內容的三維模型檢索需要根據模型的形狀資訊提取特定的特徵描述符,以特徵描述符來代替三維模型的形狀特徵,然後根據特徵描述符的形式來確定三維模型間的相似度,從而實現對三維模型的相似性檢索。因此特徵描述符也稱為三維形狀描述子。大多數三維模型的特徵描述符都是基於三維模型的幾何屬性,包括頂點座標、法向向量、高斯曲率、三角形面積、法向向量等等。根據描述機理和側重特徵的不同可將三維形狀描述子分為:

A. 基於全域性特徵(Global Feature-based)的方法

B. 基於統計(Histogram-based)的方法

C. 基於投影檢視(Graph-based)的方法

D. 基於拓撲結構(Topology-based)的方法

E. 基於區域性特徵點的方法

F. 綜合利用上述方法的混合描述運算元(HybridDescriptor)

基於統計的特徵提取演算法

由於三維模型的表面有任意的拓撲結構,因此一些在二維影象分析和檢索中常用的一些演算法無法直接在三維模型檢索領域進行拓展和應用;同時對三維模型進行引數化表示也是很複雜的問題,導致獲取有清晰幾個或形狀意義的三維模型特徵十分困難。

    由於存在上述諸多的困難和不便,很多研究人員傾向於從統計學的觀點出發,應用一些統計特徵作為三維模型的特徵。這方面的研究主要使用了模型頂點間的距離、角度、法向、曲率、面積等的幾何資料分佈以及各階統計矩和變換特徵係數等。

在大多數基於統計的特徵提取演算法中,經常被引用的一個演算法是Osada等根據頂點在模型表面上的相互關係統計出的分佈特徵,如此即將一個任意的三維模型中的複雜特徵提取問題轉化為一個簡單形狀分佈的概率問題。演算法使用了5 種在三維模型上取樣得到的幾何函式,統計這些幾何函式的取值,然後對取值進行排序,構造成值序列,以該序列作為三維模型的特徵描述符來描述三維模型的形狀特徵,最後,計算不同序列之間的歐式距離來確認2 組序列之間的相似度,以此來代替三維模型的相似度。該演算法基於統計特徵,在三維模型檢索領域已經成為比較經典的演算法之一。

A1:基於角度的函式,在模型表面上取樣任意三個頂點構成的兩條線段之間的角度;

 D1:基於距離的函式,取樣模型中心到任意頂點的距離;

 D2:基於距離的函式,取樣任意兩個頂點之間的距離;

 D3:基於面積的函式,取樣任意三個頂點組成的三角形面積的平方根;

 D4:基於體積的函式,取樣任意四個頂點組成的四面體體積的立方根;

 由於取樣的資料都是基於頂點的,因此該方法具有平移、旋轉、縮放不變性,同時抗噪音干擾效果也比較好。實驗分析的結果表明,基於D2 距離的幾何函式,在這 5 種幾何函式中的檢索效果最好,也就是圖1-5 中的 D2 距離。然而,當三維模型形狀比較複雜,包含較多細節資訊時,D2 距離分佈就會因為資訊表徵過於粗糙而造成差別較大的三維模型具有相似的形狀分佈。為了提高 D2距離形狀描述符的檢索能力, 為了提高 提出根據兩點間連線是否經過模型內部、外部或都經過將 D2 分佈分為內部、外部、混合三種類型,實現對 CAD 模型的相似性檢索。



除了前面的取樣統計的方法以外,還有一些基於切分統計的方法,用球體或者用正立方體進行切分,其中 Ankerst提出了一種用球體對模型進行切分,然後進行統計的方法。該方法首先計算可以包圍模型的最小球體,然後將球體按照 3 種規則分割成一系列的格子,分別是基於同心球、基於扇形和組合的切分規則,如圖 1-6 所示。通過統計每個格子中的頂點數量,來構造三維模型的特徵序列,作為三維模型的特徵描述符使用。對於大多數以三角網格表示的三維模型來說,同樣的形狀可能存在不同的三角網格表示形式,因此模型上網格的細分和簡化是影響此類演算法準確性的一個問題。若要提高該方法對模型表示形式的相容性,則需要在使用該方法之前,對三維模型的三角網格化表示形式進行統一的簡化處理,增強該演算法的穩定性。

在圖 1-6 中,(a)是基於同心球切分規則的示意圖,(b)是基於扇形切分規則的示意圖,(c)是基於組合切分規則的示意圖。在這三種切分規則中,基於同心球的切分規則,其特徵描述符具有旋轉不變性;基於扇形的切分規則,模型的等比例變化對其特徵描述符沒有影響;基於組合的切分規則,特徵描述符的維數比前兩個更大,更能體現三維模型的形狀細節,但是失去了旋轉和比例不變性。圖1-6 最右側的圖是將一個三維蛋白質分子模型應用上述三種方法獲得的特徵描述符的圖形化表示。


另一種用正立方體切分的方法由 Suzuki提出,顧名思義,該方法與用球體切分的方法類似,採用可以容納模型的最小正立方體將模型進行包圍,然後對正立方體進行切分,將切分後的立方體切塊進行分類,然後統計切分後的每個立方體切塊中的三維模型的頂點數量,據此構造三維模型的特徵描述符,以此來描述三維模型的形狀特徵。由於切分後的切塊都是小立方體形式,因此該方法也被稱為“點密度方法”。圖1-7 展示了點密度方法的大致思路。


模型預處理

隨著計算機三維造型軟體技術的發展以及網際網路的普及,三維模型的製作軟體和網上可共享的資源也越來越多,但是能夠在網際網路上獲取到的三維模型在尺寸、位置和方向上都存在著或多或少的差異。因此使用的三維模型的來源的多樣性導致三維模型可能具有不同的尺度、方位、旋轉角度等。這種基本資訊的不統一性在三維模型特徵提取過程中會對特徵結果產生嚴重影響,所以要在特徵提取時,要使得提取出來的特徵向量具有平移不變性、旋轉不變性、縮放不變性。

一種解決的辦法是把要進行匹配的模型,相互對齊座標方向,但是這種方案對每個庫中的三維模型都要進行一次座標對準,需要耗費大量的時間,因此很少被採用。另一種解決的辦法是在提取三維模型特徵之前對三維模型進行一系列的處理,該處理將模型進行變換,變換後的三維模型將會統一在標準的座標尺度下,具有相同的方向、位置和角度。這一系列操作被稱為模型標準化(Normaliztion),也叫預處理。一般預處理過程中,以三維模型的質心作為座標原點,對三維模型進行平移變換,保證模型具有平移不變性;採用主成分析法(Principal  Componment Analize)將三維模型旋轉對齊,使之保證旋轉不變性;對三維模型的頂點到質心距離進行計算,採用最大距離作為標準值對三維模型進行尺度歸一化。、


基於面積分布算子的檢索演算法的基本思想是三維模型 STL 檔案作為入,首先對模型進行預處理,使得表達模型的點和麵的集合達到最小化,接著通過計算各個頂點關聯的三角形面積,並對點相關的面積進行歸一化處理,然後對點關聯的面積序列進行通傅立葉變換,得到特徵向量,做出面積分布圖,通過計算模型間特徵向量的差異,得到模型間的差異,進而檢索出相似的三維模型。

模型的簡化處理


STL 檔案是以三角網格模型表示模型的,因此對於相同的模型可能存在著不同的表示形式,如圖 2-4所示,就是同一個模型的兩種網格表示形式。

對於圖 2-4 中的 2 個模型的表示形式,可以看出,第 1 個模型的表示方式其點和麵積的集合最小,而第 2 個模型中存在著部分點並不能表示模型的凸凹資訊,將這些點過濾後會得到與第 1 個模型相似的點和麵的集合。

為了避免相似模型的不同的點和麵的表示形式對演算法的影響,考慮對所有的模型先進行預處理過程,也就是對模型進行簡化,使模型的表達簡潔,同時更好的突出物件的關鍵特徵,現有的網格簡化策略中,幾何元素刪除法應用最為廣泛,它包括頂點刪除法、三角形摺疊法、邊摺疊法等,採用基於頂點刪除的三角形網格模型簡化方法,對模型進行預處理,基本思想是判斷每一頂點的型別,根據不同的型別選擇不同的判據進行計算,若滿足判據成立條件,則將頂點刪除,對形成的空洞三角化,其操作示意如圖 2-5所示:

判斷頂點是否可刪除有 2 個準則,第一,如果一個頂點所有鄰接三角形的法向量均相同,則刪除該頂點,第二鄰接三角形某2 個邊在一條直線上,第一個是將平面中間的點去掉,第二個是將邊緣上不必要的點去掉。根據該演算法,對圖 2-4 中第 2 個模型進行了簡化處理,最終得到了一個與圖 2-4 中第 1 個模型類似的模型化表示。


匹配約束條件

一般情況下,一幅影象中的某一特徵基元在另一幅影象中可能會有很多候選匹配物件,可真正同名的結構基元只有一個,因此可能會出現歧義匹配。在這種情況下,就需要根據物體的先驗知識和某些約束條件來消除誤匹配,降低匹配工作量,提高匹配精度、準確度和速度。常用的約束原則如下:

1)極線約束:一幅影象上的任一點,在另一幅影象的對應點只可能位於一條特定的被稱為極線的直線上。這個約束極大的降低了待驗證的可能匹配點對的數量,把一個點在另一幅影象上的可能匹配點的分佈從二維降到了一維。若是已知目標與攝像機之間的距離在某一區間內,則搜尋範圍可以限制在極線上的一個很小區間內,這樣可以大大的縮小對應點的搜尋空間,既可以提高特徵點搜尋速度,也可以減少誤匹配的數量。

2)唯一性約束:一般情況下,一幅影象上的一個特徵點只與另一幅影象的唯一特徵點對應。



一般情況下,當人觀察一現實世界中某一物體的時候,每隻眼睛的視網膜上各自形成一個獨立的影像,左眼看到物體的左邊多一些,右眼看到物體的右邊多些,同一物體在兩個視網膜上得到不同的影像,同一物體上某點落在左右兩眼視網膜上的位置是不同的,這種位置差就稱為雙眼視差。人之所以能有深度感知,就是因為有了這個視差,本文的工作主要就是根據人類雙眼對同一景物成像的視差原理來研究雙目視覺影象的視差生成演算法。

按照marr的理論,視覺過程可以看成是成像過程的逆過程,在成像過程中,有如下三個重要的變化。

(1)三維的場景被投影為兩維的影象,深度和不可見部分的資訊被丟失了,因為也產生了同一物體在不同視角下的影象會有極大的不同,以及後面的物體被前面的物體遮擋而丟失資訊等問題。

(2)場景中的諸多因素,包括照明和光源的情況、場景中的物體的幾何形狀和物理性質特別是物體表面的發射特性、攝像機的特性、以及光源於物體設攝像機之間的空間關係等,都被綜合成單一的影象中的畫素的灰度值了。

(3)成像過程或多或少的帶入了一些畸變和噪聲。

總之,由於成像過程中存在的投影、混合、畸變與噪聲等原因,使得作為成像過程逆過程的視覺過程是個病態的問題。

Marr的視覺理論框架

70年代中期到80年代中期,Marr提出了第一個計算機視覺領域的理論框架,即視覺計算理論,極大地推動了計算機視覺的發展,並最終形成了這一領域的主導思想,Marr的視覺計算理論立足於電腦科學,系統地概括了心理學、物理學、神經生理學、臨床神經病理學等方面已經取得的重要成果,是迄今為止比較系統的視覺理論,計算機視覺這一學科與此理論框架有著密切的關係,目前的基於視覺的方法都還沒有脫離這個指導性的理論框架,如圖1-1所示。


Marr的視覺計算理論從資訊處理的角度出發,認為視覺處理中存在三個不同的層次,即計算理論的層次、表示資料結構與演算法的層次、硬體實現的層次。其中最重要的是計算理論層次,並根據Warrington臨床神經學的研究結果,闡明視覺的目的是從影象中建立物體形狀和位置的描述。在這一層次把視覺過程主要規定為從二維影象資訊中定量地恢復出影象所反映的場景中的三維物體的形狀和空間位置,即三維重建。在計算理論這一層次上,與三個層次對應,Marr將三維重建這一過程分為三個階段。第一階段是從影象中獲得要素圖,稱為早期視覺。所謂要素圖是隻從影象中灰度變化劇烈處的位置及其幾何分佈和組織結構,如零交叉、邊緣、邊界等,早期視覺是提取原始二維影象中的有用資訊而拋棄無關緊要的部分,第二階段是由要素圖獲得2.5維圖,稱為中期視覺,2.5維圖是指在以觀察者為中心的座標系中,景物表面的法向,深度及輪廓等,這些資訊包含了深度資訊,但不是真正的物體三維表示。第三階段是由第一階段和第二階段的結果獲得物體的三維表示,稱為後期視覺,所謂物體的三維表示是指在物體座標中心描述各物體之間的空間關係。

   所有的知識點均為從論文中擷取的有效知識點。