哈爾濱理工大學機械動力工程學院 黑龍江 哈爾濱 150080
隨著社會的發展,美容修復行業逐漸引領起了一個新的時代潮流[1]。近年來,由于交通事故發生率比較高,外傷造成的皮膚缺痕示例也日益趨多[2]。針對一些凹陷狀況的美容修復,目前大都是通過修復醫生根據凹陷的大小、形狀進行彌補性的填充,因其大小無法進行定量控制,有的可能需要進行多次填充,才能達到理想的填充效果。
傳統的面部軟組織形態采用接觸式測量,此類方法無法避免測量工具與軟組織表面接觸時產生微小形變帶來的誤差,而非接觸式測量方法能夠避免這種誤差[3]。目前在面部形態學研究中應用較廣泛的非接觸式測量法有三維立體攝影技術[4]、影像學技術[5]和光學技術[6]。其中,三維立體攝影技術圖像采集效率較低,要求被測物長時間保持固定姿勢。
本文主要是針對目前醫學上鼻型修復面臨的問題進行優化,并應用逆向工程技術進行反向求解。通過掃面技術、曲面重構、鼻模型的比對等步驟,求取填充部位數據。
2.1 鼻型數據的點云處理 掃描設備采集的點云數據,一般是大量冗余數據且存在噪音點,通過去除體外孤點,將掃描儀采集到的不必要的點清除掉,采用統一采樣降低點云的密度,清理干凈的點云。為提高美容修復前端數據處理精度和效率,利用Geomagic Studio軟件將掃描點點云自動生成準確的數字模型,提取面部點云的精確數據。
為提高和優化點云對象以便后續的建模處理,載體為一個人體鼻型模型,通過點對象處理操作,得到一個高質量的點云數據。點云處理過程如下:
(1)將點云著色。為了更加清晰、方便的觀察點云形狀,將點云著色。點云著色后以哪種顏色顯示在軟件里面是可以設置的。選擇“視圖”然后“顏色”,在彈出的“編輯對象顏色”對話框里,選擇需要的顏色,原始面部點云如圖1所示,著色后的點云如圖2所示。


(2)去除體外孤點。體外孤點是指模型中偏離主點云距離比較大的點云數據,通常是由于掃描過程中不可避免地掃描到物體,必須刪除。選擇菜單中的“點”、“選擇”、“體外孤點”,通過設置“敏感度”的值選中體外孤點;然后再進行刪除,紅色的點表示待刪除的點,如圖3所示。

(3)降低噪音。點云噪音去除在掃描過程中,由于現場環境、實體本身的反射特性等因素影響,最終獲取不穩定或錯誤的點。通過“點”和“減少噪音”處理后,對參數進行選擇設置。然后完成對面部的偏差分析如圖4所示。

(4)統一采樣
統一采樣的目的是為了使原始數據點云整體分布更加均勻。
選擇工具欄中的“點”、“采樣”和“統一采樣”設置采樣間距參數和在“優化”欄中對曲率優先的滑塊參數設置。通過統一采用降低點云的密度,降低后續重建的時間復雜度,如圖5所示。

2.2 曲面重構
2.2.1 基于Delaunay的曲面重建 Delaunay三角剖分是一種特殊形式的三角剖分,具有最大空圓性和唯一性等多種優良的數學性質,是網格曲面重建的重要理論基礎。隨機增量法效率比較高且空間復雜度低,是目前常用的平面點集Delaunay三角剖分方法。隨機增量法的主要步驟為:
(1)建立一個可以包含所有二維平面點云且邊長非常長的初始三角形;
(2)從二維平面點云中隨機選取一個未處理點p,若點p在某個三角形Δpipjpk內部,則分別連接點p與點pipjpk。若點p在Δpipjpk的邊pjpk上,設存在與pjpk共邊的另一個三角形Δpmpjpk,則連接點p與點pi,pj;
(3)檢測并處理Delaunay剖分中的非法邊;
(4)重復步驟(2)-(3)直到所有二維平面點云處理完畢;
(5)刪除初始三角形以及與初始三角形頂點相連的邊。
2.2.2 算法實驗及分析 為驗證算法的可行性和有效性,在Windows 7系統Intel(R)Core(TM)i7-3630QM CPU 2.4GHz硬件環境下,結合MATLAB編程工具對面部數據進行重建,重建結果如下。

如圖7所示為MATLAB編程工具對面部數據進行重建后鼻部點云放大圖,圖8所示為經Geomagic Studio軟件操作后的鼻部點云放大圖。根據前人的研究可知三角形的形狀越接近與正三角形三角網格的質量越好,如果三角網格并不是特別的規則,那么會導致曲面重建的質量不是很高。顯然,圖7中三角形網格比圖8更加接近正三角形。


如圖6和圖7所示重建的三角網格模型與面部原始結構基本一致,且重建結果基本不含孔洞,驗證了方法的正確性和有效性。
3.1 填充部位模型的求取 通過對重建求得的網格模型及模型庫的STL模型進行相交性測試和布爾求差運算得到填充部位模型的網格模型。
3.1.1 相交性測試 相交性測試是完成布爾求差運算的前提,其目的是為了判斷兩個模型內三角面片間的相對的位置關系。對兩網格模型進行相交性測試,如果兩個三角網格模型有交集,則算出兩個模型相交的位置點,并將這些交點擬合成線,根據最終的擬合線確定出兩個網格模型相交的最終邊界線,根據邊界線就可以對兩個三角形網格進布爾求差。
設有兩個三角形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同側的三角形。經過前面的排除,可以判定π1、π2相交于一直線L,且L必與兩三角形相交。如果交線重疊,則兩三角形相交;否則不相交。直線方程為

其中:D為直線方向,D=N1×N2;O為L上一點;t為L上點的標量值。定義L與兩三角形交線的端點在L上的標量值分別為t1、t2、t3、t4,通過三角形相交邊與L的投影關系及相似三角形的性質,求出t1、t2、t3、t4。判斷間隔t1、t2和t3、t4是否重疊,如果是,則兩三角形相交。
3.1.2 布爾求差 將所有相交的三角形面片完成相交性測試對這些三角形面片及交點進行編號后,以任意三角形面片中的某一個交點作為出發點,對其周圍的三角面片進行搜索得到其交點坐標,直至完成對所有交點的搜索,將這些交點進行擬合連接后可以形成封閉的線,稱為相交環,以相交環作為邊界可以完成布爾求差運算。如果定義兩個相交的網格模型為A、B,相交環為S,以相交環為邊界可以分別將網格模型A、B分為兩個部分,其中每個模型的一部分會在另一個模型當中,即網格模型的兩部分一部分是在B模型內,一部分在B模型外。布爾求差的公式如下:

AoutB和AinB分別為網格模型A在網格模型B的外側和內側部分,同樣BoutA和BoutA分別為網格模型B在網格模型A的外側和內側部分,圖10為布爾求算運算得到需要填充處的網格模型。

本文以人體鼻型美容修復模型為例,采用手持式三維激光掃描儀進行了數據采集,獲取鼻部點云數據模型,利用Geomagic studio進行點云模型體外孤點的去除,降低噪聲,統一采樣,完成曲面模型的快速重構;并與依據美學和快速修復為目的建立的鼻子標準模型庫進行比對和布爾求差,最終得出該掃描模型與鼻子模型庫之間的差值即為美容修復需要填充的模型,該研究為后續美容修復的個性化定制和3D打印填充假體奠定了模型基礎。