本文介紹基於EinScan-S軟體,實現編碼結構光方法的空間三維模型重建的具體操作。
上一篇文章物體三維模型的構建:3DSOM軟體實現側影輪廓方法詳細介紹了基於3DSOM的側影輪廓方法物體空間三維模型重建;接下來,本文我們將在一款新的空間模型建立軟體——EinScan-S中,完成一種新的空間三維模型重建方法——編碼結構光方法。
需要注意的是,基於EinScan-S軟體完成空間三維模型重建,可以分為前期的資料掃描工作與後期的上機建模工作;而本文直接基於掃描後所得資料,僅對上機建模工作加以詳細介紹。
本文所用資料為某品牌清透防曬霜罐、番茄以及曼妥思罐等三種實際物體的初始影像若干。由於所用的影像資料並不是我的,因此遺憾不能將這一資料一併提供給大家;但是依據本篇部落格的思想與對操作步驟的詳細解釋,大家用自己手頭的圖片,可以將相關操作與分析過程加以完整重現。
本文所用軟體為EinScan-S series_v2.7.0.6軟體、Microsoft照片2020軟體。
1 相關原理
隨著高畫質晰度、高速影像感測器出現,以及計算機運算能力提升,三維成像技術得到迅速發展[1],已廣泛應用於新型農業、三維表面修復、三維空間測量、人臉識別、人機互動與航空航天等多領域[2-5]。
在上一篇文章物體三維模型的構建:3DSOM軟體實現側影輪廓方法中提到,三維資訊獲取方法在具體接觸方式角度,可分為接觸式方法與非接觸式方法兩種[2]。而由資訊獲取時所依據輻射原理,其亦可分為主動方法與被動方法[3];前者需要對目標物體進行能量輻射,後者則藉助物體影像,透過分析物體對環境光的反射加以完成[1, 3]。在上述部落格中的基於側影輪廓方法物體空間三維模型重建即為一種被動方法;這一建模方法具有便捷、原理易於理解與模型所模擬輪廓較為細緻等優勢。而另一方面,側影輪廓方法僅僅獲取目標物體表面輪廓資訊與紋理資訊,對物體表面可能存在的內陷部分(如茶杯的內部、番茄頂部與底部的凹槽等)建模效果則較為不理想。
編碼結構光方法則可解決這一問題。本文依據這一方法,依據若干目標物體投影影像,建立其三維模型。
1.1 編碼結構光成像原理
完整的編碼結構光系統由攝像機、投影儀與計算機系統組成[3]。在已知投影儀與攝像機位置的情況下,利用三角法原理即可獲取物體位置資訊。不考慮計算機系統,簡化編碼結構光系統如圖1所示。
圖1 簡化編碼結構光成像示意圖
其中,L為攝像機位置,S為投影儀位置,H為投影儀至物體表面距離,ABCDEF為目標物體表面,BCDE位置為物體表面凸起,p為投影儀發出光線與物體交匯處,pL為投影儀經過物體後進入相機光線,pm與pn分別為兩光線直線的延長線。
由數學關係可知:
其中,LS為系統已知引數,mn可依據光柵位移求解,H在投影成像時由裝置自動求出;由此即可得出物體表面凸起厚度pm。針對物體表面的凹陷深度求解同理。
上述為簡化後的編碼光成像示意圖,可以看到投影儀光線與物體表面為垂直狀態。若將其進一步擴充至一般情況,依據相關文獻[3],得到結構光三維視覺模型如圖2所示。
圖2 結構光三維視覺模型
其中,左側攝像機與右側投影儀分別具有一個對應座標系,在某一空間物體表麵點對應投影儀座標與攝像機座標均確定的情況下,即可求解得到這一點的空間座標(世界座標,World Coordinate)。上述過程在不同結構光三維繫統中可能所使用具體公式不同,但其所依據原理均為三角化[1]。
此處值得一提的是,立體(雙目)視覺與結構光三維成像系統光學模型與成像原理較為類似——前者對視差進行三角化,從而計算物體的深度;後者中投影儀光學模型與攝像機光學模型基本一致,僅在方向上具有區別[1],即可視作將“雙目”其中一隻“目”更改為投影儀。
因此,為實現目標物體點位的空間座標,需要將投影儀所產生光線圖案與攝像機所得到投影影像相結合。這一過程即需要對投影儀投影圖案加以編碼——先將投影儀“編碼”,再利用攝像機“解碼”,從而將編碼視作投影儀與攝像機之間資訊溝通的“橋樑”。
1.2 編碼結構光編碼方式
依據不同角度,可將結構光投影圖案所對應多種編碼方法加以類別區分。依據文獻[3],由編碼策略角度,將結構光的編碼方法分為時間編碼、空間編碼與直接編碼。
圖3 編碼結構光編碼方式
時間編碼方法依據時間順序依次產生多種投影圖案,並以像元為單位分別對其加以編號;其可進一步分為二值編碼、n值編碼、時間編碼與相移法結合,以及混合編碼等四類。其中,二值編碼還可繼續分為普通二值碼(以m個圖案編碼2m個條紋)與格雷碼(減少普通二值碼條紋邊界數);n值編碼需建立一張碼值表,碼值與特定RGB顏色或灰度對應,是對二值編碼的泛化;時間編碼與相移法結合可獲得較高空間解析度,且對像元編碼準確;混合編碼則可在投影圖案數量較少時獲得較高的精度。時間編碼方法整體實現過程簡單,空間解析度較高;但其執行過程中需投影多幅圖案,故只適合於靜態場景測量。
空間編碼方法中各點碼字由其周圍臨近點畫素值、形狀等資訊得到;其可進一步分為非正式編碼、基於德布魯因(de Bruijn)序列編碼與基於M-陣列編碼三類。其中,非正式編碼依據各區域資訊(如條紋間隔資訊)產生碼字;基於德布魯因序列編碼藉助尤拉圈或哈密頓圈[6],生成de Bruijn序列作為編碼;基於M-陣列編碼利用並圈剪接法、代數生成法等獲得M-陣列,從而獲取各點碼值。空間編碼方法只需一幅投影圖案,適用於動態場景的三維資訊獲取;而其空間解析度較之時間編碼方法較低,且在解碼階段,可能由於空間鄰近點資訊丟失而導致誤差產生。
直接編碼方法則對各像元分別加以編碼;其可進一步分為灰度直接編碼與彩色直接編碼兩類。其中,灰度直接編碼依據影像中各像元畫素值與其在均勻強度光照下畫素值之比實現編碼;彩色直接編碼則利用彩虹圖案編碼模式對前者加以改進。直接編碼方法需利用較多顏色或週期性以得到高解析度投影圖案;而其編碼影像各像元間色差較小,對噪聲敏感;且影像顏色易受到測量表面顏色影響,其應用往往侷限於中性顏色或灰、白色物體。
編碼結構光不同編碼方式從屬關係如圖3所示。
除上述內容外,結構光編碼方式還有許多其他分類方法,如依據像元取值可分為二值編碼、灰度編碼與彩色編碼;依據編碼週期可分為週期編碼與絕對編碼等[3]。
1.3 編碼結構光與側影輪廓方法比較
透過學習、理解與查閱相關文獻,可以感受到編碼結構光與側影輪廓方法的異同。
在三維資訊獲取方法層面,編碼結構光方法與側影輪廓方法均屬於非接觸式方法,即二者在執行時均無需直接與目標物體接觸,而是採取利用一定儀器裝置拍攝物體影像的方式(或許其亦可以視作一種廣義的遙感)獲取資訊;其中,前者由於需要自身投影儀作為光源,因此屬於主動方法;後者由於直接利用目標物體的多角度影像,即直接運用成像時太陽光或其它外部光源等,因此屬於被動方法。
在模型建立方法原理層面,如前所述,編碼結構光方法利用攝像機獲取投影儀所發射出光線在目標物體表面的分佈特徵,並透過對不同的光線分佈方式加以編碼,由此建立物體位置、投影儀座標與攝像機座標之間的聯絡,進而利用三角化方法求解目標物體當前位置所處的空間座標資訊;如前所述,這一原理與雙目視覺基本原理(即對視差進行三角化進而求解物體深度)較為近似[1]。而側影輪廓方法則藉助可見外殼(Visual Hull)——即當以透視投影方式由多視角觀察目標物件時,各視角對應畫面均可得到一條該物體側影輪廓線,此側影輪廓線與對應透視投影中心共同確定三維空間中一個一般形狀錐體,而所觀察物件物體便位於這一立體錐體內部。不斷由不同方向增加目標物體的觀測視角數量,可使得各對應錐體外形不斷逼近物件物體表面,從而對目標物體外形特徵加以空間三維視覺化。
在所獲取物體資訊層面,編碼結構光方法依據所拍攝影像,分別獲取目標物體外形細節與紋理資訊,其中外形細節包括物體表面的內陷部分等;外形細節透過光線在物體表面的彎曲、形變等資訊獲取,紋理資訊則直接由普通拍攝方式所得影像中物體紋理獲取。側影輪廓方法則直接依據目標物體多角度影像,分別獲取物體表面形狀與紋理資訊。由於側影輪廓方法對物體表面形狀的獲取是依據不同多角度影像的目標區域邊緣(即目標物體區域與背景等非目標區域交界處)加以實現,因此其難免會丟失物體表面部分內陷區域資訊。
在操作流程層面,編碼結構光方法與側影輪廓方法均需要“定標操作”;這是由於兩種方法均需依據所拍攝影像對目標物體位置加以確定。而側影輪廓方法定標操作較為簡單,僅需對拍攝多角度影像所用相機加以定標,目前已有基於平面鏡的相機內參標定方法、基於幾何的成角度平面鏡裝置相機標定方法等。而對於編碼結構光方法,除了需要對相機定標外,還需要對投影儀的亮度、幾何等加以定標[1]。這是由於其編碼往往與投影儀所輻射出光線的亮度、顏色或位置分佈等具有關係。
1.4 編碼結構光方法流程
進行編碼結構光方法的執行,需要首先搭建一個完整的編碼結構光系統,即由攝像機、投影儀與計算機系統三者所組成的整體。編碼結構光系統的視覺模型示意圖如圖2所示。
搭建完成後,需要對系統進行標定,定標的結果直接決定三維繫統的重建精度。其中,定標包括相機定標與投影儀定標,投影儀定標又可繼續分為投影儀亮度定標與投影儀幾何標定[1]。相機定標即建立感測器中點與空間中過光心的直線之間對應關係,如平板定標演算法[7];投影儀亮度定標將使得系統實際所得投影影像亮度與投影儀投影影像的亮度值滿足線性關係,從而使得亮度值可被用來恢復該點在投影儀成像平面的座標;投影儀幾何標定用以確定目標物體表面某點空間位置與投影儀平面畫素點的對應關係。
定標完成後,依據所選擇策略生成編碼影像。如前所述,影像具有多種編碼方式,如時間編碼、空間編碼、直接編碼等。影像編碼後,將其匯入投影儀中,並由投影儀將其投射至目標物體表面。同時,由攝像機拍攝投影后的目標物體,透過解碼方式獲取原有編碼影像在目標物體表面各位置的分佈情況,從而獲取能夠反映目標物體表面特徵的點雲檔案。以本文所用EinScan-S series_v2.7.0.6軟體為例,可以看到其所得到的目標物體模型表面亦為由點雲組成的實體,如圖4所示。
圖4 點雲示意圖
獲取點雲檔案後,對其進行相關後處理操作,對所生成目標物體表面進行後續補充、最佳化等,並最終顯示建模結果。
編碼結構光方法流程如圖5所示。
圖5 側影輪廓方法流程
2 三維模型製作
2.1 防曬霜罐三維模型製作
本部分以某品牌清透防曬霜罐為例,展示利用EinScan-S軟體,藉助編碼結構光方法制作三維模型的具體流程。同時,對本文操作過程中出現的問題、存在的不足以及值得注意的地方等探討附於本文第三部分。
2.1.1 前期準備工作
如本文開頭部分所述,我們本次未涉及EinScan-SE掃描頭、轉檯、標定板等硬體裝置與前期目標物體對應的拍攝、掃描圖片獲取工作;但是要了解,在我們開始本文的上機實際操作前,還需進行硬體安裝、標定、白平衡測試(若選擇紋理掃描)、物體掃描(包括固定掃描與旋轉掃描模式,本文需同時選中紋理掃描)、亮度調節與儲存資料等線下實際操作。經過上述操作後,方可得到本文中我們開始操作時所用的目標物體模型初始影像資料。
2.1.2 軟體配置與資料匯入
開啟EinScan-S軟體,選擇“EinScan-SE”選項,單擊“下一步”,隨後可以看到軟體左上角出現“EinScan-SE”字樣;若嘗試選擇“EinScan-SP”選項,則介面將呈現灰色,如下圖,且軟體左上角出現“EinScan-SP”字樣。由此判斷,這一軟體全名應為“EinScan-S”,其後“SE”與“SP”取決於使用者選擇,而這一使用者選擇則取決於所使用的掃描裝置;本次我們已知所使用的掃描裝置為EinScan-SE,因此在此選擇“EinScan-SE”選項。
選擇“固定掃描”工作模式,單擊“下一步”。在可獲取裝置的情況下,應選擇“新建工程”,從而開始掃描工作;而本文中,我們直接使用掃描後的模型開始操作,因此選擇“開啟工程”,並選擇對應的目標物體檔案。
2.1.3 手動拼接
透過上述操作,目標物體原始模型資料已匯入EinScan-S軟體中。
但由預覽圖可以看出,這一初始模型資料依然具有一定問題——在防曬霜罐模型底部,其底層區域與鄰近的柱狀區域在拼接時出現了未完全重合的錯誤,如下圖所示。
因此,需要透過手動調整的方式對這一問題加以處理。在軟體右側選單欄選擇“手動拼接”模組,在左側彈出的A、B視口中分別確定三個點,軟體將依據三對點的位置自動將兩部分拼接。
其中,需要注意的是,由於防曬霜罐體這一目標物體整體多呈現圓柱形,尤其是在需要拼接的兩部分交界處為較為標準的圓形;因此需要藉助其表面的紋理特徵對上方圓柱形罐體與下方原型底面蓋子加以相對位置的確定,否則可能會出現二者的位置偏離,即蓋子與罐體發生相對旋轉。這需要在確定三對拼接點時注意結合罐體文字、圖案與底面蓋子注塑口、脫模工藝槽等位置,從而確定出二者原始相對位置。
例如下圖,即可利用罐體灰色長方形圖案位置與罐體底部吹口(即紅線區域內部,但可看到這一吹口可能由於部分位置未被影像拍攝到導致出現缺口)位置進行二者相對位置的確定。
確定三對拼接點後,若所得結果仍不滿意,可以再次選擇右側選單欄“手動拼接”模組,重新選取拼接點。這裡同樣需要注意,若對某次拼接結果不滿意而重新生成拼接點時,停留在軟體檢視中的物體為剛剛自己不滿意的拼接結果所對應模型,若需要重新選擇拼接點,不可以再按照軟體中目前存在的模型確定二者相對位置,往往需要將模型檔案刪除後重新解壓對應壓縮包以得到原始模型。這一問題亦在本文第三部分有所討論。
多次重複,直到得到滿意結果。最終我所得到結果如下第一幅圖所示;其中,可以看到底面蓋子與罐體之間依然具有一定空隙,如下第二幅圖所示。但在空隙對側,蓋子並沒有超過罐體範圍,由下第三幅圖亦可看出底部蓋子與罐體連線較好。因此,推斷這一空隙可能是由於影像拍攝時部分角度未拍攝到或拍攝時光線較暗等導致的。
此外,在執行手動拼接這一過程時並不是一帆風順,前後也多次出現很多問題。其中一些問題附於本文第三部分。
2.1.4 封裝處理
由上述圖片與分析可知,此時所得模型並不屬於真正意義上的模型,而是由數以萬計的點及其形成的細小面片所組成的實體,如下圖所示即為模型所包含點數與面片數。
因此,需要對此時所得模型表面加以封裝處理,即將當前由點集合組成的模型表面轉換為密閉的實體。
封裝分為“封閉模型”與“非封閉模型”,其中前者會將模型表面均完全密閉,後者則不會對原始模型表面未緊密連線的部分進行封閉。本文選擇“封閉模型”,並在隨後彈出的視窗中選擇“高細節”以保留目標物體更多細節。選擇後軟體即開始自動執行封裝操作。
其中,第一次得到的封裝結果中防曬霜罐底面蓋子出現位置錯誤,其與圓柱形罐壁的側面相連線,如下圖所示;而封裝前的手動拼接結果應該是沒有問題的。因此猜測,這一問題可能是由於個人操作或軟體執行問題導致封裝時未使用正確拼接結果導致的。
再次執行封裝操作,得到正確結果,分別如以下兩圖所示。
在封裝結束彈出的視窗中,可以選擇是否需要對所得模型表面加以簡化。顧名思義,簡化即為對當前所得目標物體模型細節加以舍取,丟棄部分細節資訊,減少模型所具有的三角面片數量;簡化後的檔案大小將隨之降低。在這裡,考慮到資料質量與大小、電腦空間等,此處將簡化比例選擇為100,即簡化後模型資訊為原有模型資訊的100%,亦即不進行任何簡化。因此,可以看到對應資料檔案的大小將不發生任何變化。簡化與不簡化的效果對比附於本文第三部分。
此處選中“紋理展開最佳化”與“銳化”選項。其中,“紋理展開最佳化”適用於後續操作有望繼續對紋理加以編輯的場合;“銳化”又稱為“高通濾波”,其可增強影像高頻分量,增強影像輪廓,使得影像更為清晰,同時亦會部分增加影像噪聲;“平滑”則與之相反:其過濾高頻分量,降低影像噪聲,同時會使得影像較為模糊。
在這裡,考慮到防曬霜罐表面原有紋理較為細緻,為使得最終模型包含有更多細節資訊,因此選擇“銳化”;平滑與銳化處理的效果對比附於本文第三部分。
2.1.5 模型定性描述
透過前述步驟,即可開始資料後處理操作。同前述操作一致,後處理操作過程中可對模型加以移動、旋轉等變化操作,如下首圖。
得到最終結果後,對模型結果加以檢查,檢視是否出現殘缺、紋理丟失等情況。模型結果如下後三幅圖所示。
外形方面,可以看到所建立防曬霜罐模型與實際照片中物體外形十分接近。其下部分呈現出較為標準的圓柱狀,而圓柱上方噴嘴處粗細變化明顯可見;其上部具有較為明顯的條紋特徵,噴嘴口處凹陷區域明顯(如下圖);底部凹槽明顯,注塑口等特徵突出;頂部彎曲明顯,且此處具有部分黑色區域,結合所用初始資料材料中防曬霜罐影像看,可能為拍攝時角度較低導致;放大觀看,可以看到罐體側壁所具有的粗糙凹陷。
表面紋理特徵方面,可以看到防曬霜罐表面字型較大部分均可辨認,如罐體正面的紅色品牌標誌與中、英文產品說明,以及罐體背面的生產日期等均可識別;而罐體較小字型,如“清透防曬霜”下部英文單詞、罐體背面下側英文與數字註釋等,需結合產品特質、相關英文知識等才可辨認;而“清透防曬霜”左側灰色紋理圖案(如下圖),以及罐體背面中部英文說明等辨識程度相對更低。
另一方面,可以看到罐體與罐底交界處具有多處明顯黑色部分,因而具有一種“焊接”效果。針對這一問題,檢視本文所用原始資料中防曬霜罐初始拍攝圖片,發現圖片中並不存在這一黑色區域;而在本文所用檔案貼圖(result.jpg檔案)中同樣發現了這一問題。因此,個人認為這一問題或許是軟體對紋理進行貼圖時導致。
2.1.6 模型定量描述
與本文開頭所提及的那篇部落格藉助3D S.O.M.軟體尺子工具對所生成模型尺寸加以定量描述不同,本文所用EinScan-S軟體將定量描述模組放置於“儲存”階段。
完成上述操作,在對模型亮度與對比度加以進一步適當調整後,選擇“儲存資料”功能;配置好檔名與路徑等資訊後,即可看到模型所對應長、寬、高尺寸資料。
如下所示,本次所製作防曬霜罐空間三維模型長度(由罐體正面至罐體背面)為41.91mm,寬度(由罐體左側至罐體右側)為35.93mm,高度(由罐體頂部至罐體底部)為101.74mm(此處長、寬、高三者與軟體所給三個尺寸數值的匹配方式依據後期曼妥思罐這一長、寬、高數值分明的物體模型尺寸得到)。
完成尺寸讀取後,即可選擇縮放比例並儲存縮放。本文不設定縮放,將縮放比例設定為100。
2.2 番茄與曼妥思罐三維模型製作
完成上述曬霜罐這一目標物體的空間三維模型建立後,為進一步展示空間三維模型可觀的建立結果,我們再對番茄、曼妥思罐等兩個目標物體進行空間三維模型建立。同時,對本部分操作過程中出現的問題、存在的不足等探討附於本文第三部分。
2.2.1 番茄三維模型製作
依據前述同樣方法,建立番茄的三維模型。
其中,程式執行過程中出現如下圖所示錯誤;隨後發現,點選確定後軟體將繼續執行,並無影響。
得到結果如下所示。
其中,可以明顯看到番茄模型在上下兩部分具有“斷層”般錯誤。個人認為這一問題更多應是來自手動拼接過程。因此不斷調整上下兩部分的拼接方式,爭取獲得較為合適的結果。其中,亦嘗試了“非封閉模型”這一封裝方法,如下所示。
最終得到結果如下所示。
可以看到,此時番茄的建模結果在外形上較之前者有了明顯提升,但其兩部分對應顏色依然具有較大差距。進一步結合本文所用番茄初始影像與貼圖影像(如下圖)分析,可能是由於拍攝影像整體角度偏低,僅得到番茄中間部分與頂部資訊,而缺少二者相接觸位置資訊,導致番茄三維模型中部與頂部銜接出現問題,造成這一現象。
2.2.2 曼妥思罐三維模型製作
依據前述同樣方法,建立曼妥思罐的三維模型。
得到結果如下。
3 操作問題與思考
前述操作部分已列舉部分實驗過程中自己的思考與理解,本部分則對前述未提及的問題加以探討。
3.1 圓形模型拼接時相對旋轉問題
在對防曬霜罐進行手動拼接時注意到,由於其底部與罐體分別為圓形與圓柱形,二者相接觸位置為圓形;因此其可能會發生相對位置移動。如下所示,原始模型(即依據結構光與所拍攝影像生成的模型)中底部蓋子儘管與罐體具有不重合問題,但在修正這一問題時需要確保蓋子與罐體不發生轉向,即底部蓋子在手動拼接時只平移,不旋轉。若不注意這一點,即使蓋子也會和罐體完美匹配,但是由於其發生相對旋轉,與原始目標物體之間具有差別,因此嚴格來說這樣的模型也是錯誤的。
為實現這一目標,不斷對模型加以手動拼接;若拼接效果不理想,則需要將其捨棄並重新定位三對拼接點;直至獲取一個二者緊密拼接且未發生明顯相對旋轉的模型。
3.2 是否簡化問題
在封裝結束後可以選擇是否對模型加以簡化。為探究簡化可能帶來的影響,分別對防曬霜罐模型加以無簡化處理與50%簡化處理,得到結果分別如下左側圖與右側圖所示。
暫不討論兩個模型亮度差異(亮度不同是由於自己所設定亮度數值不同),而由模型表面粗糙程度來看,放大後可明顯看到右圖所具有的粗糙紋理資訊少於左圖,即右側模型表面相對更加光滑。由此可以看到,選擇對模型加以簡化後,軟體會自動捨棄一些細節紋理從而實現資料的精簡。選擇更多細節特徵還是更精簡的資料,需要依據實際建模物件加以考慮。
3.3 平滑與銳化問題
在封裝結束後可以選擇是否對模型加以平滑和銳化。為探究二者可能帶來的影響,分別對防曬霜罐模型加以銳化與平滑處理。其中值得一提的是,兩次所建立模型對應尺寸具有一定細微差異,如下所示。
其中,左側為銳化後模型,右側為平滑後模型。上述二者所具有的尺寸差異或許可以表明三維空間模型的建立具有一定不確定性,或是是由平滑過程中物體模型表面的微小形變導致的。
兩種方法得到防曬霜罐空間三維模型對比如下圖所示。其中,左側為平滑處理後模型,右側為銳化處理後模型。由二者對比可以發現,平滑與銳化處理似乎對防曬霜罐這一模型的最終效果影響並不是很大,即二者之間的差距確實難以觀察。
3.4 軟體操作撤銷問題
透過本文中EinScan-S軟體的使用,結合上述部落格中對3D S.O.M.軟體的使用,可以感受到二者具有一定不同。其中,後者或許更多已成為一款通用的側影輪廓三維模型重建軟體,相關功能較之前者較為完善;而前者可能更多是為適配EinScan-SE這款掃描硬體裝置而開發的輔助軟體,實現由拍攝至建模一系列連續的過程,因此部分功能相對簡單。
以撤銷操作為例:在本文開始前對EinScan-S軟體加以熟悉過程中,無意刪除了模型部分割槽域,如下所示。
隨後發現,在軟體中並未找到可以撤銷這一步操作的模組或功能;進一步嘗試將軟體退出並重新進入,匯入這一工程後發現其依然具有此處殘缺——由此或許可以看出,此軟體中針對模型的每一步操作在執行後往往將直接作用於資料檔案,且無撤銷方式(其中手動拼接操作可透過再次拼接從而覆蓋原有拼接結果,但每次拼接結果將原始模型覆蓋後亦無法撤銷)。為此,需要提前準備原始資料的備份。
3.5 多個模型對比問題
在進行所得空間三維模型簡化與否、銳化與平滑等不同操作效果對比過程中發現,EinScan-S軟體在同一計算機中只能同時執行一個程式,即僅能開啟一個工程。經過嘗試,發現可以使用軟體安裝後得到的“File Preview Tool”模組加以實現。
如上圖所示,可以先將第一個製作好的空間三維模型匯入“File Preview Tool”模組,並在EinScan-S軟體製作第二個模型。隨後,分別利用二者視窗,即可方便實現不同模型的對比。
PS:利用EinScan-S軟體提供的三維資料共享網站(https://sketchfab.com),我們可以瞭解到許多複雜的空間三維模型,從而再一次看到三維模型在我們生活各領域所發揮的作用與價值。
參考文獻
[1] 李託拓, 胡鋒, 耿徵. 基於結構光的三維成像技術[J]. 網路新媒體技術, 2012,1(01):22-33.
[2] 張建, 李宗南, 張楠, 等. 基於實測資料的作物三維資訊獲取與重建方法研究進展[J]. 華中農業大學學報, 2013,32(04):126-134.
[3] 陳彥軍, 左旺孟, 王寬全, 等. 結構光編碼方法綜述[J]. 小型微型計算機系統, 2010,31(09):1856-1863.
[4] 任卿, ***常宇, 魯東明, 等. 基於結構光的文物三維重建[J]. 敦煌研究, 2005(05):107-111.
[5] 賈小軍, 陳寶明, 喻擎蒼. 一種符號陣列編碼結構光三維檢測方法[J]. 光學技術, 2009,35(01):28-32.
[6] 梁東魁. 基於編碼結構光的物體表麵點雲獲取演算法[J]. 計算機工程與設計, 2010,31(12):2905-2908.
[7] Zhang Z. A flexible new technique for camera calibration[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000,22; 22(11; 11):1330-1334.