董建民+郭霖蓉



摘要:針對已有光學設備難以對表面復雜工藝品進行空間高分辨率數字化缺點,改用醫用CT為數據獲取手段,以獲取復雜表面藏族工藝品數據為目標,給出了數據獲取的采集參數設計策略和原則。以Visualization toolkit 5.8(VTK5.8)為底層程序開發包,在Visual C++ 6.0程序語言環境下給出獲取數據文件的主要代碼,并利用該數據實現了3D打印的逼真輸出。參照原物品照片,利用人工繪制方法還原彩色表面。原件和打印件比對表明,該方法正確有效。
關鍵詞:復雜表面;藏族工藝品;3D打印;數據采集
DOIDOI:10.11907/rjdk.171640
中圖分類號:TP392
文獻標識碼:A 文章編號:1672-7800(2017)006-0155-04
0 引言
以數字模型為基礎,不用大規模投入生產線就可快速生成3D物品外形的3D打印技術逐漸被人們重視,典型代表是1995年美國ZCorp公司從麻省理工學院獲得唯一授權開發的3D打印機。在過去的20多年時間里,3D打印技術出現了質的飛躍,其應用領域已從普通的工業生產領域逐漸推廣到醫療、軍事、航空、文化遺產、旅游產品開發等應用領域,其特征體現為少量生產、個性定制和樣品研發等,特別是對一些特征鮮明、舉世稀缺的復雜珍貴物品進行高精度復制有著獨特的技術優勢。
目前已有將3D打印技術應用于表面相對光滑、結果簡單的工藝品事例[1-4]。三維數字化設備主要以非接觸式光學掃描為主,其基本原理是向目標發射特定光線,然后通過其傳感器接收反射光進行數字化處理,具體體現為以普通光學為主的結構光學數字化、以激光+照相為主的復合光學數字化技術,前者可自動進行對齊和配準完成數字化過程,后者往往需要人工進行對齊和配準。從數字化效果來看,采用激光進行數字化精度相對較高,但兩者在數字化過程中均是通過反射光進行數字化,對那些表面相對復雜、具有明顯遮擋的物品難以進行高精度數字化。圖1為表面復雜藏族工藝品,利用Artec M型結構光掃描儀掃描后出現圖2所示的數據嚴重缺損現象。在表面相對光滑且發生鏡面反射或透射情形時,由于儀器接收傳感器均在同側而無法獲取任何反射光,結果出現數字化失敗。圖3是實驗采用的一個鍍銅香爐,圖4是利用Artec M型結構光掃描儀數據獲取失敗的案例。目前對表面發生鏡面反射或透射現象進行數字化時,往往通過給其表面撒上微小粉末狀物質使其發生漫反射,此類方法顯然對珍貴物品不適合,而對那些表面結構相對復雜,具有明顯遮擋的物品,目前還沒有專門設備來實現數字化。
醫用X射線CT設備是利用不同物質對X射線的衰減率不同,通過特定算法實現人體指定器官或部位的斷層數據形成圖像數據,然后以該圖像數據作為輸入基礎,根據不同應用目標來設計算法進行三維數字建模與可視化的技術,廣泛應用于醫學輔助診療等領域。從理論上來看,X射線CT設備對于一般物品的數字化僅僅與其所構成的材質有關,與物體表面復雜程度無關,因此,可用其解決普通光學儀器數據采集遮擋和透射問題。材質與密度直接相關,本文在考慮材質差異時,主要以密度作為衡量標準。
醫用X射線CT設備空間精度可達到亞毫米級,完全可以滿足3D打印技術要求。由于知識版權保護等因素,通過醫用X射線CT設備雖然在視角上可以三維重建和可視化,但卻無法導出3D三角化后的模型數據;有時雖然實現了視角的三維可視化,但數據本身沒有進行三角化處理,無法被3D打印機使用。本文針對表面相對復雜的物品,給出掃描參數設計策略和原則,通過在Visual C++6.0環境下編譯好的visualization toolkit (VTK)5.8開源包[7]來編程,解決上述問題。
1 表面復雜物品掃描參數設計
掃描參數的設計直接關系著數據空間精度和數據處理難度,需要考慮諸多因素。普通的醫學X射線CT檢查,需要針對病人患病部位詳細設計,考慮掃描類型、曝光條件、視野、圖像矩陣大小、準直參數、層厚、層距、重建間隔、螺距以及重建算法等因素[5]。對于表面復雜、具有明顯遮擋關系物品的X射線CT掃描設計,基本原則是盡可能實現高精度的空間數字化,同時要考慮CT機球管的瞬時電壓、電流等因素。掃描參數可簡化為采集層厚、層距和圖像矩陣3個。掃描方式一般采用螺旋掃描,掃描視野為使被掃描物體盡可能占滿視區;球管電壓一般采用120KV;圖像矩陣一般為512×512大小,顏色深度有效位為12位。X射線劑量一般與采集對象密度成正比,根據經驗設置。為了降低圖像分割難度,在采集對象四周不要有其它物品。如果不得不與其它物品接觸,也盡量采用密度差異明顯的材料。例如,對于圖1所示的藏族工藝品,其材質均勻,密度接近于骨質,設計一組掃描參數如表1所示,或者在醫用CT機上采用人體頭部模版參數,在固定時采用輕質尼龍材質。
2 數據采集
數據采集參數設定后即可設定數據采集參數模版。CT機控制移動時需要將物品固定在掃描架上快速進行數據采集處理,利用CT機進行圖像數據重建,使其空間精度盡可能高,目前可以達到的空間精度為0.5mm;然后通過醫學影像工作站進行dicom 3.0格式圖像數據導出,或者燒錄光盤以備程序使用。圖5是將圖1所示的工藝品在表格1參數下,在GE 64排螺旋CT設備上掃描后的部分數據截圖。
3 數據模型文件生成
使用dicom 3.0數據進行表面重建,通過Marching Cubes(MC)算法實現[6]。MC算法是將CT切片數據堆積成一個三維空間的數據場,逐個處理數據場中的立方體,找出與等值面相交的立方體,采用線性插值計算出等值面與立方體邊的交點。根據立方體每一頂點與等值面的相對位置,將等值面與立方體邊上的交點按一定方式連接生成等值面,作為等值面在該立方體內的一個逼近表示。從工程設計和數據處理效率來看,VTK集成的Marching Cubes算法效率較高,可以根據重建效果靈活調整相關參數。它是一個開源的免費軟件開發包,借助于自身所支持的CMake跨平臺編譯器,比較容易地生成支持多種編程語言環境的開發包,目前32位穩定版本為VTK5.8。本文就是在Windows 7 32位中文專業版操作系統下,基于VTK5.8開發包在Visual C++ 6.0環境下編譯生成3D打印機使用的STL格式文件。
3.1 定義數據讀取
3.4 生成模型文件
利用上述代碼,在電腦上配置好VTK5.8所必需的開發環境,將CT機所導出的符合dicom 3.0規范的數據存放在指定磁盤路徑上。本文所列的主要代碼存放于F盤的SE0目錄下,同時設定好輸出的stl文件名稱,如本文代碼設置的文件名為printed3d.stl;然后編譯運行上述代碼即可完成數據生成。圖6是在上述環境下生成的三維數據幾個視角截圖。在程序設計時,需要多次根據顯示效果調整其對應的光滑參數和面顯示參數。
4 3D打印機分層軟件轉化和打印輸出
考慮到后期制作的經濟性,本文使用PLA材料在makerbot Z18型 3D打印機上完成數據最終的打印工作。首先將數據導入到該打印機所帶的分層軟件MakerBot Desktop 2.1中,如圖7所示,設置好尺寸和填充百分比。本文打印與原品大小一致,填充比率為20%,經過分層轉化成該打印機可以直接使用的數據后打印輸出。圖8是去掉支持材料后的3D打印成品。
5 人工繪制彩色
為了更好地顯示效果,需要給打印的成品參照工藝品原件進行人工涂色。由于采用PLA材質,普通水性顏料很難附著上色和長久保存,因此給彩色顏料適當加入粘性液體,使其能快速附著到打印件上。圖9是人工上色后的效果圖。
6 結語
針對普通光學難以實現表面復雜藏族工藝品數字化模型的問題,從理論上分析了獲取數據缺損或失敗的原因,提出了以醫用CT設備對此類物品進行數字化的策略、方法和原則。以VTK5.8為主要開發包,以Visual C++ 6.0為程序開發語言,實現了利用CT切片進行重構的模型數據,給出主要的程序代碼并利用3D打印機進行了驗證,最后經過人工著色得到了很好的效果。實驗證明本文方法可行。由于從CT數據重建得到的是物品的幾何信息,顏色信息完全丟失,因此今后的工作首先應設法獲取或生成物品表面彩色紋理信息,然后與CT建模數據進行配準融合,這樣可大大減少人工參與量,在全彩色3D打印工程中應用。
參考文獻:
[1]張盼盼,蔣正清.基于3D 打印云平臺的旅游紀念品開發設計[J].設計,2015(4):20-21.
[2]王忠宏,李揚帆,張曼茵.中國3D 打印產業的現狀及發展思路[J].經濟縱橫,2013(1):90-93.
[3]李小麗,馬劍雄,李萍,等.3D 打印技術及應用趨勢[J].自動化儀表,2014(1):1-5.
[4]盧秉恒.激光快速原型制造技術的發展與應用[J].航空制造工程,1997(7):15-18.
[5]于茲喜.醫學影像檢查技術學[M].北京:人民衛生出版社,2010.
[6]LORENSEN W E,CLINE H E.Marching cubes:a high-resoulution 3D suface construction algorithm[J].Computer Graphics,1987,21(4):163-169.
[7]張曉東,羅火靈.VTK圖形圖像開發進階[M].北京:機械工業出版社,2015.
(責任編輯:杜能鋼)
英文摘要Abstract:In order to obtain the digitization of the complex surface about the Tibetan handicrafts,computer tomography (CT)as the device to obtain data which can overcome the disadvantages of digital optical equipment for high spatial resolution currently.Strategy and principle of acquisition about parameters are designed while using Visualization Toolkit 5.8 (VTK5.8)as the underlying program development package,main code in Visual C++ 6 being presented to obtain the surface reconstruction of the data file and use the data to achieve a realistic output of the 3D print,then restored its color surface using the method of manual drawing by being refered to the original item photos in the paper.The correctness and effectiveness of the methods is proved by comparing the original and copy respectively.
英文關鍵詞Key Words:Complex Surface; Tibetan Arts and Crafts; 3D Printing;Data