哈爾濱理工大學(xué)機(jī)械動力工程學(xué)院 黑龍江 哈爾濱 150080
隨著社會的發(fā)展,美容修復(fù)行業(yè)逐漸引領(lǐng)起了一個新的時代潮流[1]。近年來,由于交通事故發(fā)生率比較高,外傷造成的皮膚缺痕示例也日益趨多[2]。針對一些凹陷狀況的美容修復(fù),目前大都是通過修復(fù)醫(yī)生根據(jù)凹陷的大小、形狀進(jìn)行彌補性的填充,因其大小無法進(jìn)行定量控制,有的可能需要進(jìn)行多次填充,才能達(dá)到理想的填充效果。
傳統(tǒng)的面部軟組織形態(tài)采用接觸式測量,此類方法無法避免測量工具與軟組織表面接觸時產(chǎn)生微小形變帶來的誤差,而非接觸式測量方法能夠避免這種誤差[3]。目前在面部形態(tài)學(xué)研究中應(yīng)用較廣泛的非接觸式測量法有三維立體攝影技術(shù)[4]、影像學(xué)技術(shù)[5]和光學(xué)技術(shù)[6]。其中,三維立體攝影技術(shù)圖像采集效率較低,要求被測物長時間保持固定姿勢。
本文主要是針對目前醫(yī)學(xué)上鼻型修復(fù)面臨的問題進(jìn)行優(yōu)化,并應(yīng)用逆向工程技術(shù)進(jìn)行反向求解。通過掃面技術(shù)、曲面重構(gòu)、鼻模型的比對等步驟,求取填充部位數(shù)據(jù)。
2.1 鼻型數(shù)據(jù)的點云處理 掃描設(shè)備采集的點云數(shù)據(jù),一般是大量冗余數(shù)據(jù)且存在噪音點,通過去除體外孤點,將掃描儀采集到的不必要的點清除掉,采用統(tǒng)一采樣降低點云的密度,清理干凈的點云。為提高美容修復(fù)前端數(shù)據(jù)處理精度和效率,利用Geomagic Studio軟件將掃描點點云自動生成準(zhǔn)確的數(shù)字模型,提取面部點云的精確數(shù)據(jù)。
為提高和優(yōu)化點云對象以便后續(xù)的建模處理,載體為一個人體鼻型模型,通過點對象處理操作,得到一個高質(zhì)量的點云數(shù)據(jù)。點云處理過程如下:
(1)將點云著色。為了更加清晰、方便的觀察點云形狀,將點云著色。點云著色后以哪種顏色顯示在軟件里面是可以設(shè)置的。選擇“視圖”然后“顏色”,在彈出的“編輯對象顏色”對話框里,選擇需要的顏色,原始面部點云如圖1所示,著色后的點云如圖2所示。
(2)去除體外孤點。體外孤點是指模型中偏離主點云距離比較大的點云數(shù)據(jù),通常是由于掃描過程中不可避免地掃描到物體,必須刪除。選擇菜單中的“點”、“選擇”、“體外孤點”,通過設(shè)置“敏感度”的值選中體外孤點;然后再進(jìn)行刪除,紅色的點表示待刪除的點,如圖3所示。
(3)降低噪音。點云噪音去除在掃描過程中,由于現(xiàn)場環(huán)境、實體本身的反射特性等因素影響,最終獲取不穩(wěn)定或錯誤的點。通過“點”和“減少噪音”處理后,對參數(shù)進(jìn)行選擇設(shè)置。然后完成對面部的偏差分析如圖4所示。
(4)統(tǒng)一采樣
統(tǒng)一采樣的目的是為了使原始數(shù)據(jù)點云整體分布更加均勻。
選擇工具欄中的“點”、“采樣”和“統(tǒng)一采樣”設(shè)置采樣間距參數(shù)和在“優(yōu)化”欄中對曲率優(yōu)先的滑塊參數(shù)設(shè)置。通過統(tǒng)一采用降低點云的密度,降低后續(xù)重建的時間復(fù)雜度,如圖5所示。
2.2 曲面重構(gòu)
2.2.1 基于Delaunay的曲面重建 Delaunay三角剖分是一種特殊形式的三角剖分,具有最大空圓性和唯一性等多種優(yōu)良的數(shù)學(xué)性質(zhì),是網(wǎng)格曲面重建的重要理論基礎(chǔ)。隨機(jī)增量法效率比較高且空間復(fù)雜度低,是目前常用的平面點集Delaunay三角剖分方法。隨機(jī)增量法的主要步驟為:
(1)建立一個可以包含所有二維平面點云且邊長非常長的初始三角形;
(2)從二維平面點云中隨機(jī)選取一個未處理點p,若點p在某個三角形Δpipjpk內(nèi)部,則分別連接點p與點pipjpk。若點p在Δpipjpk的邊pjpk上,設(shè)存在與pjpk共邊的另一個三角形Δpmpjpk,則連接點p與點pi,pj;
(3)檢測并處理Delaunay剖分中的非法邊;
(4)重復(fù)步驟(2)-(3)直到所有二維平面點云處理完畢;
(5)刪除初始三角形以及與初始三角形頂點相連的邊。
2.2.2 算法實驗及分析 為驗證算法的可行性和有效性,在Windows 7系統(tǒng)Intel(R)Core(TM)i7-3630QM CPU 2.4GHz硬件環(huán)境下,結(jié)合MATLAB編程工具對面部數(shù)據(jù)進(jìn)行重建,重建結(jié)果如下。
如圖7所示為MATLAB編程工具對面部數(shù)據(jù)進(jìn)行重建后鼻部點云放大圖,圖8所示為經(jīng)Geomagic Studio軟件操作后的鼻部點云放大圖。根據(jù)前人的研究可知三角形的形狀越接近與正三角形三角網(wǎng)格的質(zhì)量越好,如果三角網(wǎng)格并不是特別的規(guī)則,那么會導(dǎo)致曲面重建的質(zhì)量不是很高。顯然,圖7中三角形網(wǎng)格比圖8更加接近正三角形。
如圖6和圖7所示重建的三角網(wǎng)格模型與面部原始結(jié)構(gòu)基本一致,且重建結(jié)果基本不含孔洞,驗證了方法的正確性和有效性。
3.1 填充部位模型的求取 通過對重建求得的網(wǎng)格模型及模型庫的STL模型進(jìn)行相交性測試和布爾求差運算得到填充部位模型的網(wǎng)格模型。
3.1.1 相交性測試 相交性測試是完成布爾求差運算的前提,其目的是為了判斷兩個模型內(nèi)三角面片間的相對的位置關(guān)系。對兩網(wǎng)格模型進(jìn)行相交性測試,如果兩個三角網(wǎng)格模型有交集,則算出兩個模型相交的位置點,并將這些交點擬合成線,根據(jù)最終的擬合線確定出兩個網(wǎng)格模型相交的最終邊界線,根據(jù)邊界線就可以對兩個三角形網(wǎng)格進(jìn)布爾求差。
設(shè)有兩個三角形T1和T2,頂點分別為V10、V11、V12和V20、V21、V22,三角形所在的平面分別為π1、π2,其法向量分別為N1、N2。
計算平面π2的方程:
其中:x為π2上任意一點;N2=(V20-V21)×(V22-V21);d2=-N2×V21。
將三角形T1的三個頂點分別代入平面方程π2,可得各頂點到平面π2的距離為
計算平面π1的方程,將三角形T2的三個頂點分別代入平面方程π1,排除頂點在π1同側(cè)的三角形。經(jīng)過前面的排除,可以判定π1、π2相交于一直線L,且L必與兩三角形相交。如果交線重疊,則兩三角形相交;否則不相交。直線方程為
其中:D為直線方向,D=N1×N2;O為L上一點;t為L上點的標(biāo)量值。定義L與兩三角形交線的端點在L上的標(biāo)量值分別為t1、t2、t3、t4,通過三角形相交邊與L的投影關(guān)系及相似三角形的性質(zhì),求出t1、t2、t3、t4。判斷間隔t1、t2和t3、t4是否重疊,如果是,則兩三角形相交。
3.1.2 布爾求差 將所有相交的三角形面片完成相交性測試對這些三角形面片及交點進(jìn)行編號后,以任意三角形面片中的某一個交點作為出發(fā)點,對其周圍的三角面片進(jìn)行搜索得到其交點坐標(biāo),直至完成對所有交點的搜索,將這些交點進(jìn)行擬合連接后可以形成封閉的線,稱為相交環(huán),以相交環(huán)作為邊界可以完成布爾求差運算。如果定義兩個相交的網(wǎng)格模型為A、B,相交環(huán)為S,以相交環(huán)為邊界可以分別將網(wǎng)格模型A、B分為兩個部分,其中每個模型的一部分會在另一個模型當(dāng)中,即網(wǎng)格模型的兩部分一部分是在B模型內(nèi),一部分在B模型外。布爾求差的公式如下:
AoutB和AinB分別為網(wǎng)格模型A在網(wǎng)格模型B的外側(cè)和內(nèi)側(cè)部分,同樣BoutA和BoutA分別為網(wǎng)格模型B在網(wǎng)格模型A的外側(cè)和內(nèi)側(cè)部分,圖10為布爾求算運算得到需要填充處的網(wǎng)格模型。
本文以人體鼻型美容修復(fù)模型為例,采用手持式三維激光掃描儀進(jìn)行了數(shù)據(jù)采集,獲取鼻部點云數(shù)據(jù)模型,利用Geomagic studio進(jìn)行點云模型體外孤點的去除,降低噪聲,統(tǒng)一采樣,完成曲面模型的快速重構(gòu);并與依據(jù)美學(xué)和快速修復(fù)為目的建立的鼻子標(biāo)準(zhǔn)模型庫進(jìn)行比對和布爾求差,最終得出該掃描模型與鼻子模型庫之間的差值即為美容修復(fù)需要填充的模型,該研究為后續(xù)美容修復(fù)的個性化定制和3D打印填充假體奠定了模型基礎(chǔ)。