空间三维模型的编码结构光方法实现:基于EinScan-S软件
??本文介紹基于EinScan-S軟件,實現編碼結構光方法的空間三維模型重建的具體操作。
目錄-
1 相關原理
- 1.1 編碼結構光成像原理
- 1.2 編碼結構光編碼方式
- 1.3 編碼結構光與側影輪廓方法比較
- 1.4 編碼結構光方法流程
-
2 三維模型制作
-
2.1 防曬霜罐三維模型制作
- 2.1.1 前期準備工作
- 2.1.2 軟件配置與數據導入
- 2.1.3 手動拼接
- 2.1.4 封裝處理
- 2.1.5 模型定性描述
- 2.1.6 模型定量描述
-
2.2 番茄與曼妥思罐三維模型制作
- 2.2.1 番茄三維模型制作
- 2.2.2 曼妥思罐三維模型制作
-
2.1 防曬霜罐三維模型制作
-
3 操作問題與思考
- 3.1 圓形模型拼接時相對旋轉問題
- 3.2 是否簡化問題
- 3.3 平滑與銳化問題
- 3.4 軟件操作撤銷問題
- 3.5 多個模型對比問題
- 參考文獻
??上一篇文章物體三維模型的構建: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.
總結
以上是生活随笔為你收集整理的空间三维模型的编码结构光方法实现:基于EinScan-S软件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求一个qq网名鹿晗韩文!
- 下一篇: 工厂方法模式