姓名:黃姣蕊
學號:21011110244
【嵌牛導讀】 “A Survey on Shape Correspondence”論文解讀
【嵌牛鼻子】對應點匹配,無標記運動捕獲,基于深度視頻的鉸接式目標重建,計算機視覺
【嵌牛提問】三維數據無標記對應點匹配及鉸接式立體目標重建
【嵌牛正文】
一、基于相似性的配準
目的:在兩個數據集之間找到對應關系。
描述:使用形狀描述符來量化對應關系。
目標函數:兩個點集P, Q ,對應關系R? ?
主要代表性的方法:
Transformation and alignment search:
剛性校準、分段剛性對準、非剛性配準
ICP(Iterative Closest Point) and variants:
經典的ICP匹配算法、非剛性ICP
Transformation and alignment search(變換與對齊搜索)
剛性校準
剛性變換主要包括平移和旋轉,其重要特征之一是存在于低維空間中。對于給定為3D點集S和Z的兩種形狀,剛性對準的問題的提出:找剛性變換,對于點集S,使S中與Z中點對齊的點的數量最大化。當對齊的點數足夠多時,可以認為是相互匹配。
預處理加快對齊:主要思想是將一組參考點集的所有可能點存儲在哈希表中,以便當我們尋找與查詢點集最匹配的參考點集時,能夠有效地執行這種搜索。
分段剛性對準:
在“Automatic registration for articulated shapes.”文章中,以分段剛性方式應用在鉸接形狀之間以建立對應關系。
目的:描述自動配準具有明顯缺失數據的鉸接形狀匹配的方法。
問題的描述:對于一個形狀中的每個點,經過旋轉和平移將它移動到另一個形狀中的相應點。
主要思想:
①首先確定一對形狀中大多數剛性的部分之間的有限的運動變換。該文章證明了即使大部分形狀缺失也可以提取出重要的運動。
②然后,通過解決標簽分配問題來找到匹配,每個轉換對應于一個標簽。
對于標簽問題構建了一個成本函數,通過靈活的分配轉換權重因子,以保持形狀的完整性,并確保每個部分都可以進行完整的映射。該方法主要的難點:許多形狀包含幾個相似的部分,例如馬的四條腿。解決方案:將該問題表述為一個連續的優化問題,并求解一個平滑變化的變換域。存在的問題:這是一個復雜的連續非線性優化問題。
非剛性配準
非剛性配準:模板除了平移,縮放和旋轉之外,還可以變形。在配準中,模板是作為source,從設備掃描出來的三維數據作為target。
配準目的:找到一個變換(為每個頂點分別找到一個變換矩陣),使得source能夠表示target。
參考文獻:ALLEN B., CURLESS B., POPOVIC′ Z.: The space of human body shapes: reconstruction and parameterization from range scans. ACM Trans. on Graphics (Proc. SIGGRAPH) 22,3 (2003), 587–594.
算法中有三個損失函數,分別是Data error 、Smoothness error和Marker error 。
ICP(Iterative Closest Point) and variants(ICP及變型)
經典的ICP匹配算法:
待匹配點集P={P1,P2,...,Pn}的點坐標,在模板數據點集S={S1,S2,...,Sn}中搜索相應最近點的點集Q={q1,q2,...,qn}.
兩點間的距離平方和為dis。公式如下
? ? ? 其中,j遍歷整個點集S,通過不斷比較,找到距離最近的點,根據該點序列號保存該點集Q中,記為qi
計算兩個點集P、Q的重心位置坐標,并進行點集重心化生成新的點集。
兩個數據點集P、Q的重心坐標? 公式如下:
其中,k為數據點集中的當前點序號,n為數據點集總數。并將點集中的所有數據點扣除重心點坐標生成新的點集D、M。
由新的點集計算協方差矩陣,并求解由它組成的一個四元數矩陣的最大特征值及其最大特征向量。
新點集的協方差矩陣為:
再定義一個矩陣A和T。
為Sxx+Syy+Szz。然后定義四元素矩陣,如下
最后就是求解旋轉矩陣,找到四元數矩陣對應的最大特征值和對應的特征向量[f0,f1,f2,f3]。
旋轉矩陣R:
在旋轉矩陣R被確定后,由平移向量T僅僅是兩個點集的重心差異,可以通過兩個坐標系中的重心點和旋轉矩陣確定。
??????我們將兩個重心坐標寫成向量形式,分別為:
???????則平移向量T的計算公式下:
將待匹配數據點集P按照計算的旋轉矩陣R和平移矩陣T變換后形成新的點集P’,通過新的點集P’與模板的鄰近點集Q計算所有對應數據點距離平方和值除以數據點總數的值I作為迭代判斷數值。
?基于奇 異 值 分 解 (Singular Value Decomposition, SVD) ICP法
通過Matlab編程實現: