牛金霞,梁發云
南昌大學機電工程學院,江西 南昌 330031
隨著應用技術的不斷發展與完善,如今通過圖形表達某一事物的形態已經不僅僅局限于二維的平面圖形,具有空間意義的三維模型被廣泛應用于機械加工、建筑設計、動畫制作等多種領域,并對據設計圖形進行加工建造的工程項目具有十分重要的意義。在將二維圖形轉換成三維模型時,必須完成一系列的數據、線條、標注等信息的三維轉換,這是一個相對復雜的過程,即“三組重建”[1]。應用計算機語言進行相應的轉換,就是三維重建算法。
三維重建屬于一種技術難點[2],但其應用價值高、應用廣泛,因而受到廣泛重視。在實際應用中,越是結構復雜的實體造型,其對于工程技術人員的素質和技能要求越為嚴格,因而,更加深入的二、三維轉換算法還在進一步探索和研究之中,而建立這一算法的應用軟件較常用的為AutoCAD。
目前三維重建算法主要包含自頂而下和自底而上兩種,它們各有優劣,主要根據不同應用情況選用。而在具體識別時,必須吸取國際最先進的研究成果,并取眾家所長,綜合利用,以實現高度自動化的數據識別[3]。概述部分筆者分別簡述自底而上、利用語義信息輔助、基于體切削、基于專家系統等幾種重構方法。
自底而上重構是目前較為主流的一種算法模式。其主要基于從三視圖的頂點進行初始化分析的思想,自底部向上方逐次完成三維模型的構建,步驟為先頂點、再邊線、而后立面……該算法的優勢在于適應性較強,能夠較準確的識別出平面、圓柱圓錐面、圓環面、球面等;劣勢在于搜索空間相對較寬泛,運算的時間較長,空間的復雜程度也比較大,難以操作和保證工時。
利用語義信息輔助重構算法,是從識別圖形當中標注信息入手,利用標注信息的相關內容指導對子物體的準確識別;該方法僅為輔助性操作,其對螺栓、螺孔等的運算和識別較為迅速,但在重構時主要的三維部件仍需依靠其它方法進行。
基于專家系統重構是指通過三維模型進行機械制圖,也就是通過二維圖片轉換成為正交二維三視圖的逆過程。機械制圖必須經過一系列具有規范性的指導標準才能準確完成,因而在操作過程中必須首先識別所有相關規則,并進行對應的數學描述;其次,要全面熟悉和深入掌握機械識圖的方法與規律。與重構相關的程序人員只有準確的識別圖形,才能夠進一步指導整個程序進行有序化識別。所謂基于專家系統,就是利用這些規則來建立起規則庫,將三視圖中的點、線、面等要素作為資料輸入到數據庫中,從而達到利用推理方法輸出準確三維模型的目的。
基于體切削重構,要根據三維視圖構建起適當大小的包圍盒,并參照三視圖對該包圍盒進行持續性的切削,一直到切削后的三視圖與原始模型達到完全一致為止。實際上該算法與模型匹配算法極其相似,只不過該算法是從最大的模型開始,但模型匹配算法則是從最小的模型開始。
三維模型的建立過程相對復雜,需要保障每一個數據和點、線、面的準確性,因而在重建過程中最好進行重建檢驗,而判斷檢驗結果的準確性,就是通過三維模型三視圖和原本輸和的三視圖樣例進行比較[4]。在設計程序中,必須具有將三維模型轉換成二維圖像的模塊工具,來完成對比和檢驗。當然,這一方面的技術目前已經較為成熟,可以直接通過有關算法來完成。而三維模型的表達則相對稍顯復雜。
三維模型的表達主要有兩種方式,一為實體模型式,二為表面模型式。顧名思義,表面模型即僅用模型邊界來進行輪廓性的刻畫,該方法優點在于計算機能夠以最快的速度響應和顯示,因而目前多數商用模型都采用此類方法進行存儲;而其缺點就在于存儲量過大、精確度不夠,對一相應工程機械類加工來說較為困難,比如較難進行表面模型的數字分析,而整個存儲信息僅由大量的點、線、面組成。實體模型是指將部分簡單的圖元作為基本構造單位來進行多層次的操作,同時獲得結構相對復雜的模型形式,相對于表面模型而言,實體模型的存儲量較鎖上,操作更加快捷簡便。以后無論模型放大多少倍,需求哪類精度,系統都能夠根據要求調用出相關指數。實體模型多數情況下僅作為一種概念性模型應用,其與設計者的理念相適應,如果想通過電視播放實體模型,則需于將其轉換成表面模型。
目前對于較為復雜的三維實體模型輸出尚未形成統一的國際標準規范,用戶可自定義與自己需求相適應的格式進行輸出操作。通常情況下較為簡便的輸出格式為圖元,該類格式化一方面能夠較為完整的描繪出三維模型的整體,另一方面又節省存儲空間,縮短操作時間;但這對計算機的相關瀏覽軟件又提出了相對苛刻的要求,必須能夠對該實體模型的邊界能力具有識別性。
多數情況下,三維重建需要運算的模型表面復雜,比如巖石、形象物、人物等,這里舉一個重建人體五觀的三維操作,僅供參考。首先要對遇重建人物面部二維表面進行分割,獲取有效的點數據,并集合在一起[5]。通常情況下,用戶需要根據個人經驗來指定數據庫相關參數。根據人體面部表情及需進行切割的器官,首先尋找原始數據進行剪裁,把最小體數據單獨列出,以減少數據處理的時間和數據量[6]。已經裁剪完成的圖像,使用分割平臺提供的各種分割算法來完成預分割操作,然后再利用數字形態學的相關內容進行結果中小噪聲點的運算,再進行人面部各器官的平滑操作,使人物表面看起來更生動真實。
利用類似的半自動手工分割方法所獲得的數字模型中,可以較快較準確的獲得模型人物的單個器官表面相應點位置信息坐標以及其對應的顏色值。將這些數據統一并形成集合,存儲入表面點集合文件夾中。各個表面點的法向量是通過對表面各點位置信息的相應運算而獲得,而這種法向量的運算將成為整個設計過程中的一個難點,需要工程技術人員有耐心、有信心。在以上基礎上,就可以通過顯卡3D加速功能進行整個人體面部器官三維重建的實時瀏覽了。
三維重建工作復雜而繁瑣,不僅需要工程技術人員具有足夠的耐心與恒心,還必須具有較強的鉆研精神,要在不斷的學習與實踐中總結經驗,汲取國內外先進的思想和操作方法,取眾家之長,從而獲得更加準確有效、且簡便易懂的運算方法,來實現二維與三維的快速轉換。
[1]孔凡樹,王蓓蓓,賈超.基于等值面拓撲簡化的三維重建算法[J].燕山大學學報,2009,33(2):120-123.
[2]諸葛斌.基于數字人彩色圖像的三維重建算法研究[J].計算機工程與應用,2008,44(2):109-110.
[3]荊海龍,蘇顯渝,劉元坤,伍凡.基于條紋反射的鏡面測量及三維重建算法分析[J].光電工程,2008,35(10):37-39.
[4]李曉,朱鵬飛.淺析三維重建算法[J].計算機工程應用技術,2009,5(16):4299-5301.
[5]谷月霞,張維忠,王曉燕,油世明,王靜.基于未標定圖像的三維重建算法,2010,36(8):214-217.
[6]李晉芳,何漢武.從二維視圖到三維幾何模型轉換的研究與實現[J].機械與電子,2006(1):16-18.