李 舫,張 挺
(上海電力學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,上海 200090)(*通信作者電子郵箱tingzh@shiep.edu.cn)
點(diǎn)集配準(zhǔn)是計(jì)算機(jī)視覺、醫(yī)學(xué)圖像分析、模式識別和信號處理的基本和關(guān)鍵問題之一[1-3]。點(diǎn)集配準(zhǔn)的目標(biāo)是找到兩個(gè)點(diǎn)集之間的正確匹配關(guān)系,并確定出能對準(zhǔn)它們的空間變換。通常從圖像中提取或由3D掃描儀生成的點(diǎn)集所表示的物體表面,由于測量方法的可變性、實(shí)驗(yàn)誤差、光照變化等因素,不可避免地在圖像采集和特征提取的過程中產(chǎn)生噪聲、異常值和缺失點(diǎn)。因此,點(diǎn)集配準(zhǔn)問題面臨著一些挑戰(zhàn),最關(guān)鍵的挑戰(zhàn)之一是能否在存在異常值、缺失點(diǎn)和噪聲的情況下建立正確的匹配關(guān)系。
已有研究提出了迭代算法以解決配準(zhǔn)問題,它交替地估計(jì)匹配關(guān)系和計(jì)算變換關(guān)系以獲得近似最優(yōu)解。這類方法使用的匹配關(guān)系是基于局部特征描述符的,其中,典型的迭代最近點(diǎn)(Iterative Closest Point, ICP)算法就是試圖將兩組點(diǎn)之間的距離最小化[4]??紤]到這種點(diǎn)對點(diǎn)的匹配關(guān)系,ICP的一個(gè)重要缺陷就是缺乏對噪聲、異常值和缺失點(diǎn)的穩(wěn)健性。針對這個(gè)問題已經(jīng)作了一些研究,如:文獻(xiàn)[5-8]提出了魯棒點(diǎn)匹配(Robust Points Matching, RPM)及其變體算法,并廣泛用于非剛性配準(zhǔn)。 RPM方法使用軟分類、松弛點(diǎn)匹配關(guān)系的變量以建立模糊匹配,并采用確定性模擬退火方法逐步估計(jì)點(diǎn)的匹配關(guān)系。雖然模糊匹配減輕了噪聲等的影響,但錯(cuò)誤的匹配關(guān)系仍然存在。另一方面的研究是基于概率統(tǒng)計(jì)理論的新度量方法建立點(diǎn)集間的匹配關(guān)系,其中連續(xù)密度函數(shù),如高斯混合模型(Gaussian Mixture Model, GMM)被用來表示點(diǎn)集[9-12]。文獻(xiàn)[9]利用一致點(diǎn)漂移(Coherent Point Drift, CPD)之類的概率方法將配準(zhǔn)視為最大似然估計(jì)問題;文獻(xiàn)[10]則基于GMM的方法將配準(zhǔn)視為與點(diǎn)集相應(yīng)的兩個(gè)分布之間的對準(zhǔn)。
為了提高算法對異常值、噪聲和缺失點(diǎn)的魯棒性,文獻(xiàn)[1]利用基于混合模型的流形正則化一致向量場(Manifold Regularized Coherent Vector Field, MRCVF)從異常點(diǎn)集中排除外部數(shù)據(jù),尋求點(diǎn)集間的正確匹配關(guān)系。由此,考慮到正常點(diǎn)和異常點(diǎn)之間存在某種關(guān)系或區(qū)別的先驗(yàn)知識,可以通過機(jī)器學(xué)習(xí)的過程來模擬對匹配關(guān)系的估計(jì)。本文提出了一種基于深度信念網(wǎng)絡(luò)(Deep Belief Network, DBN)的學(xué)習(xí)方法來訓(xùn)練具有正常點(diǎn)集的網(wǎng)絡(luò),使用訓(xùn)練好的DBN就可以在異常點(diǎn)集中識別異常值和不匹配的點(diǎn),從而實(shí)現(xiàn)魯棒的點(diǎn)集配準(zhǔn)。
作為一種無監(jiān)督學(xué)習(xí)方法,DBN可以使用訓(xùn)練數(shù)據(jù)集來訓(xùn)練獲得數(shù)據(jù)的特征表示。DBN是通過限制玻爾茲曼機(jī)器(Restricted Boltzmann Machine, RBM)的多級連接組成的,在RBM中一個(gè)可見層和一個(gè)隱藏層之間是雙向和完全連接的[13]。DBN的結(jié)構(gòu)如圖1所示。
圖1 DBN 的結(jié)構(gòu)Fig. 1 Structure of DBN
波爾茲曼機(jī)器(BM)是對數(shù)線性馬爾可夫隨機(jī)場(Markov Random Field, MRF)的一種特殊形式,RBM將BM限制為沒有可見層-可見層連接和隱藏層-隱藏層連接關(guān)系的BM。RBM的能量函數(shù)定義如下:
(1)
其中:vi和hj分別表示可見層和隱含層的單元;bi和cj分別表示可見單元和隱層單元的偏差;Wij表示連接可見單元和隱藏單元的權(quán)重。機(jī)器學(xué)習(xí)的過程中需要通過給DBN輸入訓(xùn)練樣本集,學(xué)習(xí)可見層和隱藏層的偏差向量以及兩層之間的權(quán)重矩陣,以便使網(wǎng)絡(luò)能夠表征數(shù)據(jù)的分布。
實(shí)際中的采樣點(diǎn)集可能會(huì)出現(xiàn)某些異常情況,如噪聲、異常值和缺失數(shù)據(jù)等,這可能會(huì)影響點(diǎn)集之間匹配關(guān)系的確定。因此,有必要學(xué)習(xí)檢測數(shù)據(jù)中存在的異常點(diǎn),以利于在兩個(gè)采樣點(diǎn)集之間建立正確的匹配關(guān)系。
假設(shè)兩個(gè)點(diǎn)集X和Y分別是原始的和經(jīng)過變換后的樣本。根據(jù)正常情況下X和Y匹配點(diǎn)的關(guān)系,兩點(diǎn)集之間的誤差符合具有均值為零且均勻標(biāo)準(zhǔn)差的高斯分布特征[14-15],這正是通過訓(xùn)練DBN所需學(xué)習(xí)的特征。設(shè)X-Y為DBN的輸入,將輸入樣本劃分為子塊,然后依次輸入到網(wǎng)絡(luò)。本文采用的DBN由三級RBM組成,每一級的隱層單元數(shù)目為10。每一級的訓(xùn)練都是獨(dú)立完成,訓(xùn)練次數(shù)設(shè)定為5次,具體訓(xùn)練過程為:
(2)
(3)
cj=cj+P(hj|v(0))-P(hj|v(1))
(4)
2)由子塊訓(xùn)練得到第一級的參數(shù)后,再隨機(jī)選取新的子塊輸入到這一級,按照同樣的方法訓(xùn)練會(huì)進(jìn)一步調(diào)整權(quán)重和偏差參數(shù),直到所有的樣本數(shù)據(jù)都被訓(xùn)練過為止。
對于異常情況下的兩個(gè)采樣點(diǎn)集,一些異常值、噪聲和缺失點(diǎn)可能會(huì)影響正常點(diǎn)的匹配關(guān)系??紤]到正常匹配點(diǎn)誤差的高斯分布,異常點(diǎn)間的誤差與該高斯分布不一致,因此,可以通過訓(xùn)練好的DBN從點(diǎn)集中檢測噪聲和缺失數(shù)據(jù)。
考慮到數(shù)據(jù)不完整的情況,兩點(diǎn)集的大小可能不一致。因此將每個(gè)點(diǎn)集分組為多個(gè)分塊,然后將一個(gè)點(diǎn)集的分塊與另一個(gè)點(diǎn)集的分塊之間的誤差依次輸入到網(wǎng)絡(luò)中。
利用正常點(diǎn)集訓(xùn)練DBN,除了學(xué)習(xí)權(quán)重和偏差參數(shù)外,還學(xué)習(xí)了分塊的平均重構(gòu)誤差σ。當(dāng)檢測含有異常點(diǎn)集的數(shù)據(jù)時(shí),由于含有異常點(diǎn)的分塊間的誤差不符合高斯分布,經(jīng)過訓(xùn)練好的DBN之后將不能重建可見單元,因而分塊的重構(gòu)誤差將遠(yuǎn)遠(yuǎn)大于σ。對于具有噪聲的兩個(gè)采樣點(diǎn)集,如果來自一對分塊的重構(gòu)誤差接近于σ,則將這對分塊中的點(diǎn)視為點(diǎn)集的正常點(diǎn)。否則,若一對分塊的誤差大于k×σ,則其中的點(diǎn)被認(rèn)為是點(diǎn)集中的噪聲,而系數(shù)k的大小可以通過實(shí)驗(yàn)確定出最優(yōu)值。
特別是對于有缺失數(shù)據(jù)的兩個(gè)點(diǎn)集,當(dāng)定義為Xb和Yb的一對分塊間的誤差大于k×σ時(shí),其中一個(gè)分塊肯定是沒有匹配關(guān)系的。為了確定不匹配的分塊,將Xb的相鄰分塊和Yb之間的誤差重新輸入到網(wǎng)絡(luò)中。如果其中一對分塊的輸出接近于σ,說明在點(diǎn)集Y的某個(gè)區(qū)域中存在缺失點(diǎn),并且Xb被標(biāo)識為不匹配的分塊;否則,將Yb的相鄰分塊和Xb之間的誤差重新輸入網(wǎng)絡(luò),以找到輸出接近于σ的匹配分塊,說明在點(diǎn)集X的某個(gè)區(qū)域中存在缺失數(shù)據(jù),并將Yb標(biāo)識為不匹配的分塊。
采用的實(shí)驗(yàn)數(shù)據(jù)包括魚的2D點(diǎn)集、人臉的3D點(diǎn)集和兔子的3D點(diǎn)集,如圖2所示。待配準(zhǔn)的兩個(gè)點(diǎn)集中,一個(gè)是原始采樣數(shù)據(jù),另一個(gè)則是由原始數(shù)據(jù)經(jīng)過空間變換得到的。實(shí)驗(yàn)中模擬了缺失數(shù)據(jù)由5%上升到10%,以及噪聲由30%上升到50%的情況。通過應(yīng)用本文算法建立了點(diǎn)集間的匹配關(guān)系,并對實(shí)驗(yàn)結(jié)果作了定量評估。
圖2 實(shí)驗(yàn)中的2D和3D點(diǎn)集Fig. 2 2D and 3D point sets in the experiment
實(shí)驗(yàn)主要分為兩個(gè)階段。首先,將原始點(diǎn)集和變換后的點(diǎn)集輸入到DBN之前,這兩個(gè)正常點(diǎn)集都被分塊處理,并且分塊的大小為10。通過DBN來訓(xùn)練樣本,學(xué)習(xí)與點(diǎn)集有關(guān)的特征參數(shù)。接下來,將含有噪聲或者缺失數(shù)據(jù)的點(diǎn)集輸入訓(xùn)練好的DBN,對異常情況下的點(diǎn)集進(jìn)行測試以檢測異常值或未匹配點(diǎn)。
點(diǎn)集間要建立正確的匹配關(guān)系,首先就要能盡量減少異常點(diǎn)的影響,所以異常點(diǎn)誤判為正常點(diǎn)的情況應(yīng)降低。為此,本文采用精確率來評估所提出的方法的性能。根據(jù)異常點(diǎn)和正常匹配點(diǎn)的預(yù)測結(jié)果,假定用TP(True Positive)表示真正,TN(True Negative)表示真負(fù),F(xiàn)P(False Positive)表示假正,F(xiàn)N(False Negative)表示假負(fù),則評估標(biāo)準(zhǔn)精確率可以定義為:
precision=TP/(TP+FP)
(5)
從式(5)可以看出,精確率越高,說明配準(zhǔn)受異常點(diǎn)影響的程度越小。
另外,為了進(jìn)一步分析模型的性能,實(shí)驗(yàn)中根據(jù)系數(shù)k的大小在不同取值下繪制了受試者工作特征(Receiver Operating Characteristic, ROC)曲線,以反映模型區(qū)分正常點(diǎn)、異常點(diǎn)的性能,并且從中確定出最優(yōu)的系數(shù)值。ROC曲線的橫坐標(biāo)是假正率(False Positive Rate, FPR),縱坐標(biāo)是真正率(True Positive Rate, TPR),其中TPR、FPR分別定義為:
TPR=TP/(TP+FN)
(6)
FPR=FP/(FP+TN)
(7)
為了模擬實(shí)際應(yīng)用中數(shù)據(jù)缺失的情況,其中一個(gè)點(diǎn)集中的5%和10%的點(diǎn)被分別移除。缺失數(shù)據(jù)的兩點(diǎn)集間的匹配結(jié)果如圖3所示。
圖3(a)中,魚的正常點(diǎn)集隨機(jī)選取的兩個(gè)區(qū)域中有10%的點(diǎn)被移除,通過算法檢測出兩個(gè)點(diǎn)集中有匹配關(guān)系的點(diǎn),并用箭頭連接表示,無箭頭連接的則為未匹配的點(diǎn),如圖3(b)所示。圖3(c)中,人臉的一個(gè)正常點(diǎn)集中5%的點(diǎn)被移除,經(jīng)過檢測兩個(gè)點(diǎn)集之間的匹配關(guān)系如圖3(d)所示,其中有匹配關(guān)系的點(diǎn)以線連接。
對于兩個(gè)正常點(diǎn)集,在每個(gè)點(diǎn)集中分別添加30%和50%的隨機(jī)噪聲。含有噪聲的兩點(diǎn)集間的匹配結(jié)果如圖4所示。
圖4(a)中,魚的兩個(gè)點(diǎn)集中加入50%的噪聲,它們之間有匹配關(guān)系的點(diǎn)在圖4(b)中用箭頭連接表示,無箭頭連接的為未匹配的點(diǎn)。圖4(c)中,人臉的每個(gè)點(diǎn)集中加入了30%的隨機(jī)噪聲,兩個(gè)點(diǎn)集之間的匹配關(guān)系如圖4(d)所示,其中有匹配關(guān)系的點(diǎn)以線連接。
圖3 缺失數(shù)據(jù)的兩點(diǎn)集間的匹配結(jié)果Fig. 3 Matching results of two point sets with missing data
圖4 含有噪聲的兩點(diǎn)集間的匹配結(jié)果Fig. 4 Matching results of two point sets with noise
對于魚的2D點(diǎn)集以及人臉和兔子的3D點(diǎn)集,根據(jù)所有實(shí)驗(yàn)的預(yù)測結(jié)果估算了點(diǎn)集匹配的精確率,結(jié)果如表1所示。表1中,分別給出了點(diǎn)集中的噪聲比和點(diǎn)集中缺失數(shù)據(jù)的比例。
表1 實(shí)驗(yàn)中所用點(diǎn)集的精確率 %Tab. 1 Precision of point sets used in the experiment %
從表1結(jié)果可以看出,對于有噪聲的采樣點(diǎn)集,兩個(gè)點(diǎn)集之間的匹配關(guān)系受隨機(jī)噪聲的影響很小,即使對于噪聲為50%的點(diǎn)集也是如此。另外,對于數(shù)據(jù)缺失的采樣點(diǎn)集,精確率稍有下降,反映出數(shù)據(jù)缺失對點(diǎn)集的匹配關(guān)系有一定影響。
實(shí)驗(yàn)中還對魚的2D點(diǎn)集、人臉和兔子的3D點(diǎn)集,分別在含有50%噪聲和缺失10%數(shù)據(jù)的兩種情況下,根據(jù)系數(shù)k的6個(gè)取值(0.5,2,4,6,8,10)確定出相應(yīng)的假正率(FPR)和真正率(TPR),并繪制了ROC曲線,結(jié)果如圖5~6所示。
從圖5~6可以看出,在兩種情況下,F(xiàn)PR較低而TPR較高,這說明點(diǎn)集中的正常點(diǎn)較多地被歸為匹配點(diǎn),同時(shí)異常點(diǎn)較少地被誤歸入正常匹配的點(diǎn)集中。為了獲得最優(yōu)性能,本文選取曲線靠近左上角的點(diǎn)對應(yīng)的系數(shù)k作為算法的最優(yōu)系數(shù),k=6,該系數(shù)對應(yīng)的FPR相對較低,TPR相對較高。由此,利用這個(gè)訓(xùn)練好的DBN就能夠識別點(diǎn)集中的異常點(diǎn),排除了異常值對正常匹配關(guān)系的影響,同時(shí)保證了正常點(diǎn)的匹配關(guān)系,這有助于接下來獲得較高的點(diǎn)集配準(zhǔn)精度。
圖5 含有50%噪聲的三種點(diǎn)集的ROC曲線Fig. 5 ROC curve of three point sets with 50% noise
圖6 缺少10%數(shù)據(jù)的三種點(diǎn)集的ROC曲線Fig. 6 ROC curve of three point sets with 10% missing data
對比圖5~6可以看出,圖5中的FPR明顯低于圖6中的FPR,說明在噪聲情況下異常點(diǎn)很少被誤判為正常匹配的點(diǎn);同時(shí)圖5中的TPR略高于圖6中的TPR,說明在噪聲情況下正常點(diǎn)能較多地保留在匹配點(diǎn)集中。圖5~6對比結(jié)果說明,本文算法在噪聲情況下比在缺失數(shù)據(jù)的情況下能更好地區(qū)分正常點(diǎn)和異常點(diǎn)。這是由于含噪分塊間的誤差分布不同于正常分塊,而在缺失數(shù)據(jù)的情況下,由于點(diǎn)集鄰域的相關(guān)性,未匹配的分塊與缺失數(shù)據(jù)的鄰域間的誤差分布接近于正常分塊,從而會(huì)將未匹配的點(diǎn)誤歸入正常點(diǎn),導(dǎo)致了FPR的數(shù)值較高。
流形正則化一致向量場(MRCVF)算法能夠在異常點(diǎn)集中排除外部數(shù)據(jù),為此,將本文算法和MRCVF算法在同樣的數(shù)據(jù)集上進(jìn)行了比較。實(shí)驗(yàn)中利用人臉的3D點(diǎn)集,在加入噪聲和數(shù)據(jù)缺失的情況下,比較了兩種算法的精確率,結(jié)果如表2所示。
表2 不同算法精確率的比較結(jié)果 %Tab. 2 Comparison results of precision of different algorithms %
從表2精確率的結(jié)果可以看出:在含噪聲情況下,MRCVF算法的精確率明顯低于本文算法,說明MRCVF算法會(huì)將較多的噪聲點(diǎn)引入到正常匹配關(guān)系的點(diǎn)對中,這不利于下一步點(diǎn)集間的配準(zhǔn);而在缺失數(shù)據(jù)情況下,兩種算法的精確率都較高,說明缺失點(diǎn)對正常點(diǎn)的匹配關(guān)系影響較小。
由于異常值、噪聲和缺失數(shù)據(jù)會(huì)影響點(diǎn)集間匹配關(guān)系的確定,本文提出了基于DBN的學(xué)習(xí)方法來識別異常點(diǎn)和不匹配點(diǎn)。兩個(gè)正常采樣點(diǎn)集之間的誤差分布可以通過訓(xùn)練DBN來學(xué)習(xí),利用異常值或缺失數(shù)據(jù)的不一致的誤差分布,可以由訓(xùn)練好的DBN識別出異常點(diǎn)。對2D和3D點(diǎn)集的實(shí)驗(yàn)結(jié)果表明,本文算法可以在噪聲和缺失數(shù)據(jù)情況下識別出異常點(diǎn),確保點(diǎn)集之間建立正確的匹配關(guān)系。不過由于點(diǎn)集鄰域的相關(guān)性,缺失點(diǎn)對正常點(diǎn)的匹配關(guān)系有較小影響。未來的工作將著重于機(jī)器學(xué)習(xí)方法在點(diǎn)集配準(zhǔn)中的應(yīng)用,并將探索醫(yī)學(xué)成像和圖像引導(dǎo)的神經(jīng)外科系統(tǒng)的配準(zhǔn)方法。