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