天天看點

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

  “空間三維模組化”是在GIS行業中同樣具有舉足輕重地位的一個領域,是以從本文開始,我們将基于空間三維模組化方面的相關原理、基本操作與結果分析等,通過幾篇文章,對其加以盡可能詳細的介紹與實戰。

  那麼我們首先從側影輪廓模組化方法開始。本文我們将基于3D Software Object Modeler(3DSOM)這一軟體,對上述方法加以完整的操作,并對結果加以分析。其中,關于3DSOM這一軟體的具體介紹,大家可以直接檢視這裡(https://www.sciencedirect.com/science/article/abs/pii/S152407030500010X)或官方手冊(http://www.3dsom.com/userguide/)。

  本文所用到的資料包括馬鈴薯多角度圖檔若幹與聖誕老人蠟燭多角度圖檔若幹。其中,馬鈴薯圖檔資料并不是我自己的,也是以遺憾這一圖像資料集不能一并提供給大家;為友善大家了解三維模組化的基本操作,在對馬鈴薯加以模組化後,在本文的2.2部分,我們重新從拍照這一基本環節開始,選取一個聖誕老人蠟燭這一新的物件,完整地走一遍三維模組化流程,進而讓整個操作方法更加明了。

  本文所用軟體為:3D Software Object Modeler(3DSOM)4.2.7.4軟體、Microsoft照片2020軟體。

1 背景知識

  通過建立正确模型對不同僚物各種屬性加以描述和表現,是現代科學探索事物本身發展、運作規律的一個普遍而重要方法[1]。随着計算機軟、硬體技術快速發展,三維立體模組化作為一種于數字空間中對研究對象形狀、位置、運動等屬性加以再現的技術,逐漸在各領域研究中發揮重要作用。

  本文第一部分——原理部分,由作物三維資訊擷取方法這一角度展開,并着重綜合探讨側影輪廓模組化方法原理及其操作步驟。

1.1 三維資訊擷取方法

  在接觸方式角度,作物三維形态資訊的擷取可分為接觸式(Contact-)方法與非接觸式(Non-contact-)方法。依據相關文獻[2],對上述兩種三維資訊擷取方法加以讨論。

  接觸式方法依據采集過程不同,進一步可分為人工采集方法與三維數字化儀采集方法。其中,人工采集方法主要用于傳統作物幾何形态測量,借助卷尺、量角器等工具,以手工和肉眼觀測為主。其觀測方法的不精确導緻研究效率低,所得結果受主觀因素影響較大。目前,人工采集方法使用較少,主要作為一種補充測量手段。

  三維數字化儀采集主要指通過傳感器記錄、跟蹤探頭于三維空間中的位置,進而實作目标物數字化。其常用儀器包括坐标測量機(Coordinate Measuring Machine,CMM)、機械臂式三維掃描器與電磁式三維數字化儀等。三維數字化儀采集較之人工采集,效率相對有所提高,但其仍具有操作複雜、存取速度較慢與無法擷取目标物表面紋理(探頭僅僅可獲得位置資訊)等問題。是以,其在三維模組化領域亦未發揮主要作用。

  非接觸式方法則随着計算機技術的飛速發展而産生。其依據測量原理不同,可進一步分為主動式方法與被動式方法。其中,主動式方法借助儀器主動發出的可控輻射(雷射、超音波等,由這點看與主動遙感、被動遙感的定義有近似之處),依據目标物透射或反射特性,擷取其三維空間特征。依據輻射源或計算原理,主動式方法可繼續分為脈沖測距法、結構光與編碼光法與CT(Computed Tomography,電子計算機斷層掃描)和MRI(Magnetic Resonance Imaging,核磁共振成像)法。

  被動式方法則無需主動面向目标物發射輻射,而僅收集目标物所反射的太陽輻射。其所需儀器相對較為簡單,往往直接由目标物體對應圖像(如本文中側影輪廓方法所需物體的多角度圖像)提取資訊,以建立空間三維模型。依據提取資訊基于的資訊源,被動式方法可進一步分為單幅圖像法、立體視覺法、基于側影輪廓法、基于運動圖像法與逐層切片恢複法等。

  上述各類方法或所需儀器從屬關系如圖1所示。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

圖1 作物三維資訊擷取方法

1.2 側影輪廓方法原理及其流程

  前述各類作物三維形态資訊擷取方法中,側影輪廓三維模組化方法由于相對簡便易行,運算速度快,穩定性高[2],是以廣泛應用于農業等領域。本文便采用這一資訊擷取方法。将此方法原理與具體操作流程結合,探讨如下。

  側影輪廓為物體投影在成像平面上圖像的外形線條[3],是了解物體幾何形狀的一條重要線索[4]。當以透視投影方式由多個視角觀察某一空間目标對象時, 于各視角對應畫面中均可得到一條該物體側影輪廓線;此處側影輪廓線與對應透視投影中心共同确定三維空間中一個一般形狀的錐體,而所觀察對象物體便位于這一立體錐體内部。以此類推,不斷由不同方向增加對目标物體的觀測視角數量,便可使得各對應錐體的外形不斷逼近對象物體表面,進而對目标物體外形特征加以空間三維的可視化。上述這一由錐體的交構成的空間包絡被稱作物體的可見外殼(Visual Hull)[5]。

  為擷取更加逼近實際物體表面的可見外殼,使得三維模組化效果更加準确,往往需要由多種方向入手,擷取大量視角對應圖像;這即為側影輪廓方法的“多角度圖像擷取”步驟。該步驟為本方法基礎資料來源,後期對目标物體進行三維模組化所需資訊均來源于上述多角度圖像。而多角度圖像在拍攝時需要通過旋轉物體或旋轉錄影機實作不同方位畫面的采集,進而改變目标物體對應視角的方向與俯仰角度;而後期進行三維模組化時需要将不同方向視角的圖像建立聯系并結合。是以,各圖像之間空間位置的關系顯得尤為重要。為實作這一重要步驟,需要對所擷取多角度圖像進行“相機定标”,進而确定各圖像對應相機拍攝方位及其内部相關參數[3]。

  相機定标具有多種實作方法。鄭國威等[6]利用平面鏡反射性質等理論,提出一種基于平面鏡的相機内參标定方法;曹煜等[3]對平面鏡定标加以改進,提出一種基于成角度平面鏡裝置的圖像三維重建方法,通過幾何方法實作相機标定;使用已标定的固定相機或标記點等标定裝置進行輔助标定同樣是一種常用的相機定标方法[7]。本文即采取标定裝置的輔助相機定标方法,利用定标墊(Calibration Target)對各多角度圖像拍攝方位加以确定[8]。定标墊如圖2所示。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

圖2 3D S.O.M.軟體定标墊

  定标墊由15組點集合構成,每個點集合包含四個點,呈放射狀排布;點分為大點和小點,不同大小分别代表不同得分;各點集合對應大點或小點個數均不一緻,亦即各點集合對應得分不同,得分不同進而可以确定不同的點集合分布情況。3D S.O.M.軟體将依據各圖像中不同點集合的位置,進而确定對應圖像的拍攝方位,并進一步将若幹多角度圖像位置關系加以求解。相機定标操作在圖像導入3D S.O.M.軟體時自動加以完成。

  此外,各多角度圖像還需進行噪聲去除、畸變校正等基本圖像操作的預處理過程。

  結合前述錐體輪廓生成原理,3D S.O.M.軟體通過“輪廓逼近、頂點分析、三角劃分”(SAVANT)方法對模型加以建立。首先對所導入的若幹多角度圖像加以掩飾(Mask)處理,選擇各圖檔中目标物體所處位置,并将與目标物體無關的背景、定标墊區域等加以識别;依據各多角度圖像目标物體部分資訊,擷取若幹多邊形近似輪廓,并為每一個近似輪廓加以編号;随後由多邊形輪廓計算得到三個頂點,并記錄各頂點資訊;最後,利用三角格網,将完整表面進行劃分,進而勾勒出表面細節[8]。上述即為側影輪廓方法的“輪廓提取”與“頂點計算及可視外殼生成”步驟的實作。至此,生成了目标物體的外形輪廓模型,但并未包含其具體外表紋理資訊。其中,以馬鈴薯為例,所得三角格網體積模型如圖3所示;所得外表面如圖4所示。

  此外,上述步驟中值得一提的是,在由三角格網生成初始表面(體積)後,還需對其加以體積優化、細化表面等進一步優化操作,方可得到最終的目标物體表面形态模型。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

圖3 馬鈴薯三角格網外表面

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

圖4 馬鈴薯未紋理映射外表面

  最終,還需依據上述所得三維表面輪廓模型對應方位資訊特點,結合不同多角度圖像方位資訊,為三維模型表面進行紋理映射,進而使得模型具有更多可視化特征,更好描述實際物體特點。如圖5所示。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

圖 5 馬鈴薯紋理映射外表面

  在執行自動紋理映射後,可能存在部分目标物體表面區域仍未有紋理或紋理出現明顯跳躍等現象;這多為多角度圖像拍攝時因部分角度未拍攝而出現相關資訊丢失導緻。針對這一問題,可借助對應圖像,面向相關紋理資訊丢失方向進行紋理手動比對,對細節部分的紋理資訊加以補充。

  将側影輪廓方法具體操作流程整合,如圖6所示。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

圖 6 側影輪廓方法流程

2 三維模型制作

2.1 馬鈴薯三維模型制作

  本部分以馬鈴薯為例,展示利用3D S.O.M.軟體,借助側影輪廓方法制作三維模型的具體流程。同時,對本文操作過程中出現或值得思考的問題、存在的不足等探讨附于本文第三部分。

2.1.1 多角度圖像導入

  在3D S.O.M.軟體中,單擊“File”→“New Project”,在彈出的檔案選擇視窗中選擇馬鈴薯多角度圖像,并選擇“打開”。若需打開已有模型檔案,可在前述“File”中選擇“Open”。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

2.1.2 圖像掩飾

  圖像掩飾可通過兩種方法進行。一是借助“Processing”菜單欄中“Mask All Images”子產品加以批量掩飾,二是直接進入單張圖像“Edit Masks”界面,借助“Auto Mask”子產品中按鈕加以單張掩飾。二者在具體掩飾效果方面并無差異,而若選擇後者,則會自動打開掩飾門檻值控制條。下圖左側為第一種掩飾方法執行後界面,右側為第二種掩飾方法執行後界面。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

  掩飾時需要注意,不要對目标物體頂部與底部圖像加以處理,以防止此類圖像掩飾後與其他正常掩飾圖像混雜并參與模組化,進而導緻結果錯誤或模型殘缺等情況。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

  操作過程中,為防止軟體崩潰帶來的不便,可以及時對所做成果加以儲存。儲存預設格式為“.som”檔案,該檔案包含多角度圖像及其掩飾、模組化等全部資訊。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

  在對自動掩飾結果進行完善過程中,可分别借助“Round Brush”與“Outline curve”對錯分區域加以修改。在個人實際操作中發現,兩種修改工具各有其利與弊——“Round Brush”方法對一些零散、細碎的錯分小區域的修改效率較高,但相對較為容易觸碰到無錯區域(即将洋芋表面錯誤修改為非洋芋表面);而針對後者,“Outline curve”方法通過圈畫區域的方式糾錯,對較大錯分區域的修改較為友善,但圈畫過程自身整體較為耗時,對于零星存在的錯分區域而言修改效率不如前者。下圖所示分别為“Round Brush”修改方法與“Outline curve”修改方法。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻
基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

  分别對全部多角度圖像(頂部與底部圖像除外)進行同樣操作,完成所有掩飾工作。

2.1.3 表面生成與優化

  在3D S.O.M.軟體中,單擊“Processing”→“Generate Surface”,在彈出的選項視窗中選擇第一項“線框生成”。該界面共有三個選項,其次分别為“表面優化”與“細分表面配置”;在生成表面過程中,需要依次執行上述三個選項所對應步驟。

  其中,在生成原始外表面而未對其加以優化時,可以看到所得馬鈴薯表面具有明顯尖銳部分,如同“刀痕”;而在對表面進行優化後,則可以觀察到對應尖銳區域明顯緩和,突出部位被削弱。由此可以看出優化表面步驟對所得模型加以了适當平滑處理。

  下圖分别展示出優化前馬鈴薯表面兩處尖銳部分(前兩圖)及其優化後的結果(後兩圖)。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

  此外,在執行表面生成或優化步驟時,可以明顯看到3D S.O.M.軟體在操作時視圖會随之發生及時的改變,友善使用者實時根據模組化過程中物體表面所發生的變化加以調整(如暫停或停止程式執行)。這一特點與我專業前期接觸到的許多相關軟體(ArcMap、ENVI等)有所不同。

  下圖即為執行表面優化時截圖;執行時可以明顯看到原本尖銳的區域轉為平滑。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

  最終所得優化後的表面生成結果如下所示。可以看到,所得最終結果較之原始馬鈴薯外形十分接近,且其上尖銳部分得到充分平滑,視覺方面亦顯得尤為逼真。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

2.1.4 紋理映射

  紋理映射即将原有目标物體表面顔色、形狀分布等特點映射至前述步驟所得表面模型。

  在3D S.O.M.軟體中,單擊“Processing”→“Generate Texture Maps”,配置相關參數後即可開始自動紋理映射。可以看到,在紋理映射操作執行過程中,馬鈴薯模型表面同樣實時發生着變化。其變化以區域為單元,每次紋理映射或調整往往是區域性整體發生變化(如馬鈴薯某一方向表面瞬間整體出現紋理)。由這一變化規律或許可以推測,3D S.O.M.軟體的紋理映射同樣是基于多角度圖像方位資訊與前述所得模型已有位置資訊,将某一方向拍攝圖檔的紋理映射至該方向對應表面模型位置。另一方面,随後的紋理手動比對操作同樣可以證明這一可能性。

  紋理自動映射結束後,得到帶有表面紋理資訊的馬鈴薯空間三維模型;但同時,由于受到拍攝角度等影響,馬鈴薯紋理在其頂部與底部具有一定殘缺或突變等,分别如下圖所示。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻
基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

  顯然,需要對上述紋理錯誤加以解決。而如前所述,多角度圖像中頂部拍攝與底部拍攝對應圖檔均未參與模組化;其作用之一即為為自動生成紋理後的模型表面加以細節區域或遮擋區域的紋理優化。

  選中頂部或底部圖檔,右鍵選擇“Align Images”選項,即可将此幅圖像與所得模型同時顯示于視窗中。當圖檔中馬鈴薯與模型馬鈴薯在位置、角度等方面均一緻時,即可确定自動紋理映射操作。

  同時,自動紋理映射子產品具有許多操作選項。關于這些操作選項的嘗試與結果對比,附于本文第三部分。

  操作結束,分别檢視馬鈴薯模型頂部與底部紋理情況,可以看到其原本突兀的殘缺或突變均得以解決,整體效果良好。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻
基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

2.1.5 模型檢查

  通過前述步驟,成功獲得具有表面紋理特征的馬鈴薯空間三維模型。此時,還可對模型加以進一步檢查,确定其表面是否具有明顯體積錯誤或紋理殘缺等問題。

  在檢查過程中,發現個人所得結果在馬鈴薯尖頭位置處存在一塊殘缺。找到對應角度的圖像,進行手動紋理比對。所得結果雖有一定改善,但這一殘缺依然存在。個人認為這一問題可能是由于掩飾過程中個别區域過掩飾導緻的。

2.1.6 模型定性描述

  結合所得模型,嘗試對其加以一定定性描述。

  外形方面,本文所得模型呈現出較為細長的橢圓形,整體較為規則(具體形狀會随着模型觀察角度發生一定變化);橢圓長軸兩端所對應位置呈現出一端較粗、一端較細的分布特征,如下圖所示。上述特點與市面上常見馬鈴薯十分接近。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻
基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

  表面紋理特征方面,所得模型整體顔色為土黃色,未觀察到青色、微綠色等不健康顔色,由這一角度表明其較為新鮮,可食用。其中一面多數區域顔色較淺(但亦有部分顔色較深的小區域),另一面相對則較深;表面分布有較多黑斑,多數黑斑面積較小,但亦有個别面積較大黑斑。長期潮濕土壤掩埋、薯類重茬導緻的晚疫病等均可能造成馬鈴薯黑斑,屬于正常現象;而本模型對應馬鈴薯黑斑整體情況較好,但其小面積黑斑數量整體偏多,若食用還需加以注意。此外,由表面紋理、平滑等角度觀之,可以看到馬鈴薯在拍攝多角度圖像前經過一定清洗,并無土壤顆粒等雜物。

  下圖即為此馬鈴薯表面整體顔色偏暗、黑斑較多區域。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

2.1.7 模型定量描述

  借助尺子工具對馬鈴薯模型尺寸加以定量描述。

  在3D S.O.M.軟體中,單擊“Model Tools”→“Measure Model”,即可通過滑鼠選擇模型中待測量點,并自動求出其對應距離。

  此處需要注意的是,軟體自動距離測量依賴于所選用定标墊的大小。由于此馬鈴薯多角度圖像并不是我自己拍攝的,是以我也暫未無法擷取其拍攝時對應定标墊半徑大小,是以對于馬鈴薯模型的測量并未更改其機關長度。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

  測量得到,在預設機關距離條件下,這一馬鈴薯空間三維模型的長度(對應橢圓形的長軸)為78.71mm,寬度(對應橢圓形的短軸)為37.41mm。當然,此處未确定機關距離的定量數值并不具有實際意義。

  在接下來的2.2部分,對個人自選物件進行空間三維模組化後,所測定尺寸資料均已進行機關長度修改,具有實際意義。

2.2 聖誕老人蠟燭三維模型制作

  本部分以第二個範例——聖誕老人蠟燭為例,展示利用3D S.O.M.軟體,借助側影輪廓方法制作三維模型的全部具體流程。同時,對操作過程中出現的問題、存在的不足等探讨附于本文第三部分。

  另一方面,由于在這一聖誕老人蠟燭模型建立前,已先通過馬鈴薯對模型制作、軟體使用等加以較為詳細的介紹,是以本部分内容較之前者描述相對簡潔明了。

2.2.1 多角度圖像擷取與導入

  借助側影輪廓方法模組化時,其對物體的外形特征、拍攝光照與角度等具有一定的要求。在确定利用聖誕老人蠟燭進行空間三維模組化前,曾分别多次嘗試不同物體(包括不同顔色、不同外形、不同大小等)、不同拍攝環境(包括臨近視窗、遠離視窗等)與不同光照條件(包括純日照、台燈光源、手電筒光源等)等圖檔的模組化,并最終依據所得拍攝圖像效果、圖像掩飾效果等确定選用聖誕老人蠟燭所對應多角度圖像進行後續操作。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

  其中,在選擇目标物體、選擇拍攝環境與實際拍攝過程中,具有較多需要注意之處。如在目标物體選擇上,需要注意物體不要過于細微或複雜,不具有或較少具有透明部分,且不可以過大導緻遮擋大部分定标墊點集合資訊;在拍攝環境選取上,需注意背景(由于在家中完成本文,暫時未找到類似幕布的背景)不可過于繁雜,尤其需要與目标物體顔色具有較強區分度,且朝向目标物體的光線應當充足;在拍攝過程中,務必控制目标物體與定标墊之間位置不發生相對移動,且圖檔需要盡可能多地包含定标墊點集合。

  聖誕老人蠟燭的多角度圖像拍攝完畢後,将其導入軟體,如下圖(其中僅列出部分圖像)。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

  下圖即為部分聖誕老人蠟燭對應圖像。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

2.2.2 圖像掩飾

  依據本文2.1部分所示方法,對所導入的聖誕老人蠟燭多角度圖像進行圖像掩飾。

  或許是由于家中圖像拍攝效果不如實驗室專業儀器拍攝效果,個人自選物件的多角度圖像自動掩飾效果較之前述馬鈴薯等作物較差,圖像中往往具有較大面積區域需要通過“Round Brush”與“Outline curve”工具加以處理。其中,一副自動掩飾效果相對較好的圖像如下。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

2.2.3 表面生成與優化

  圖像掩飾完畢後,運用前述方法對聖誕老人蠟燭圖像分别進行線框生成、表面優化與細分表面配置。

  考慮到本次自選物件的圖像拍攝與掩飾效果較之前述馬鈴薯略差,是以在執行表面生成與優化步驟時亦曾擔心所得效果可能不理想。而随着程式執行,可以看到聖誕老人的模型逐漸顯現。

  下圖為初始表面生成所得結果。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

  下圖為表面生成并優化後所得結果。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

  下圖為表面生成、優化并細分後所得結果。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

  可以看到,上述初始表面已具有一定聖誕老人形态,但其表面尖銳處相對較多;優化後将一些明顯的尖銳或突變部分加以消除,但其依然存在一定數量的尖銳地帶;最終細分結果則完全将模型外表面的不合理溝壑加以平滑,進而進一步加深了聖誕老人的原有形态。

2.2.4 紋理映射

  依據前述方法,由多角度圖像(包括頂部與底部圖像)對聖誕老人蠟燭模型進行紋理映射。所得結果如下圖(其中将軟體View Model的背景顔色修改為藍紫色)。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

2.2.5 模型定性描述

  依據所得模型最終結果,對其加以定性描述。

  在顔色方面,可以看到模型顔色十分鮮豔,其紅色外套、綠色手套、青色禮品袋、黃色臉頰與皮帶扣,以及白色胡須與頭發、黑色皮帶與皮鞋等都表現得十厘清晰。同時可以注意到,聖誕老人外形反光程度較為明顯。究其原因,一是因為原始物件為蠟燭,自身原本反光較為明顯;二是由于在拍攝時個人開啟了手電筒作為光源,進而在照片中出現反光區域。而與此同時,在聖誕老人身體部位的側方與後方,部分區域出現顆粒狀、不均勻的顔色分布趨勢;這一問題一方面是由于該物件原本顔色分布就有不均勻情況,另一方面猜測亦與拍攝時光照條件有關。

  在外形方面,可以看到包括臉頰、胡須波動、衣擺在内的細節都被清晰刻畫出。但同樣在其身側(右側臂下,如下圖)出現一定模糊部分。針對這一模糊情況,個人認為是由于其位于胳膊下方,在多角度圖像中并未拍攝到具體資訊;而底部圖像則由于其腳掌較大,導緻遮擋視線,同樣不可以擷取到聖誕老人臂下的資訊。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

2.2.6 模型定量描述

  此處同樣借助尺子工具對聖誕老人模型加以定量描述。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

  如前所述,在對模型進行測量時,需要首先明确所用定标墊的機關長度。通過測量,獲知我在拍攝聖誕老人圖像時對應定标墊半徑長度為83.2mm,是以先将這一資料導入軟體後進行測量。

  經過測量,可知聖誕老人蠟燭空間三維模型高(由頂部蠟燭芯至底部皮鞋)為82.07mm,寬(由左手禮品袋至右手)為52.81mm,厚(由前胸位置至後背位置)為41.07mm。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

3 問題與思考

  前述操作部分已列舉部分實踐過程中自己的思考與了解,本部分則對前述未提及的問題加以探讨。

3.1 底部圖檔位置移動問題

  如前所述,多角度圖像在拍攝時,目标物體與定标墊之間不允許出現相對移動。而若需對物體底部加以拍攝,其往往需要改變物體位置(如将馬鈴薯原本朝下一面翻轉至朝上、将聖誕老人蠟燭倒置等)。這似乎看上去不滿足相對位置不移動的要求。

  針對這一問題,查閱相關資料可知,頂部與底部圖像并不屬于“多角度圖像”範疇,是以相對位置這一限定對其而言并無要求。此外,進一步思考還可以發現,在利用頂部與底部圖檔進行紋理手動比對時,我們需要手動調整圖像中目标物體與已有模型的相對位置——這一步在一些角度上可以認為是通過“人工”的方式進行了頂部或底部圖像的“定标”;而之是以要求前述多角度圖像相對位置不變正是由于軟體需要借助其與定标墊的位置關系加以自動進行定标。是以,便可以解釋底部圖檔(包括頂部圖檔)無需規定相對位置不變的原因。亦正因如此,在發現聖誕老人蠟燭無法自主倒立後,我嘗試用手協助其自主倒立,且軟體并未報錯。

3.2 頂部與底部圖檔納入模組化問題

  在使用馬鈴薯進行空間三維模組化時,我嘗試不剔除頂部與底部圖檔,而是将其納入模組化圖檔範圍;原本希望觀察這種操作可能會帶來何種錯誤結果,但發現軟體并未報錯,且生成的模型無異常。

  針對這一問題,目前個人認為,這是由于在掩飾過程中,我并未直接選擇所有圖像的批量掩飾,而是對其它角度的圖像分别加以掩飾——即最終參與模組化的圖像分别為經過掩飾的多角度圖像與未經過掩飾的頂部與底部圖像。而模組化時軟體可能直接不考慮未掩飾的頂部與底部圖像(或軟體亦考慮頂部與底部圖像,但由于其未經過掩飾,使得程式無法由這些圖檔中擷取有用的資訊),進而進一步得到了無錯誤的模組化結果。

3.3 門檻值對掩飾效果影響問題

  在調整掩飾門檻值控制條時發現,有些情況下門檻值大小與掩飾效果似乎并無絕對關系。例如,在實踐中,往往應當掩飾門檻值控制條越大,過掩飾的可能性即越大(即目标物體被當作非目标物體的可能性越大),反之則反;而在一副馬鈴薯圖像中發現,增大控制條反而可以得到較好的馬鈴薯圖像掩飾結果,調小門檻值控制條則使得馬鈴薯被過掩飾,僅剩餘支撐架。如下所示,左圖對應較大門檻值控制條,右圖為較小門檻值控制條。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

  針對這一問題,目前暫未完全清楚;但個人認為是由于算法、門檻值數值與對應這幅馬鈴薯圖像像素分布特征綜合導緻的。

3.4 欠掩飾與過掩飾熱點區域問題

  對若幹多角度圖像執行自動掩飾,往往會出現欠掩飾與過掩飾現象。操作中發現,出現這類問題的區域往往是距離目标物件較近、與目标物件顔色較類似的區域,如下所示。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

  由此可知,3D S.O.M.軟體的掩飾算法應當是借助于臨近像元之間的像素差異及其關系等加以實作的。

3.5 紋理手動比對配置問題

  本文多次運用紋理手動比對操作。在比對前,需要調整對應圖像與所建立模型之間的位置關系,這一步驟對應了軟體中較多選項或配置。嘗試對這些選項加以嘗試。

  首先,在界面中存在“Guess Orientation”選項。結合其英文解釋與實際操作情況,個人判斷這一選項是對圖像與模型之間最有可能的位置關系加以周遊,并儲存最為接近的位置關系,進而友善使用者選擇二者最比對的空間位置。而在圖像與模型位置相差較大時這一選項不可選。如下圖。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

  而在二者位置相對較為吻合時,這一選項可選。如下圖。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

  其次,這一步驟中還包括“Optimise Alignment”選項。同樣結合英文說明與操作實際情況,個人認為這一選項是為了友善使用者在将圖像與模型結合後,依據圖像對模型的幾何形狀加以完善。其所對應的三個選項可分别供使用者選擇更準确的幾何對象(用以手動比對紋理的圖像更準确、已有的模型更準确、二者一樣準确),并在後期執行操作時依據使用者的選擇加以适當調整。

  如下圖,可以看出圖像中馬鈴薯的輪廓對原有馬鈴薯的幾何表示優于已有模型的表達,是以選用第一個選項;則後續紋理比對過程中若遇到問題,可能将優先以圖像中的幾何輪廓為準。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

  而這一選項下方的“Start”,則應為自動判斷圖像與模型幾何孰優孰劣的按鈕。如下圖,圖像與模型幾乎嚴絲合縫;其執行“Start”後程式自動選中了“the same”選項。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

  此外,在配置完畢後,所彈出的視窗顯示可進行的操作不單單是紋理比對,還可以同時對幾何表面加以完善,如下圖所示。這或許可以進一步表明上述“Optimise Alignment”選項對模型的優化意義。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

3.6 多角度圖像橫、豎狀态問題

  在本文實踐過程中發現,由于借助手機拍攝多角度圖像,部分圖像可能會出現尺寸與其他圖檔不符合的情況,尤其是圖像的橫、豎狀态不一緻這一問題較為容易出現。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻
基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

  先後嘗試修改照片屬性、利用Windows照片應用編輯等操作均無果。随後發現,若在一個從未出現過異常尺寸圖像的Project中,選擇任意圖像并替換,可以使得替換圖像符合該Project原有尺寸,如下圖。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

  将這幅原本橫向的圖檔替換為一幅原本為豎向的圖像“test.jpg”,可以看到進入Project的“test.jpg”自動變為橫向。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

  而若Project在建立後出現過異常尺寸圖像,則該方法無效。如下圖,其中已含有豎向圖像(打叉的三幅圖),則無論怎樣替換,進入的圖像均不再自動調整為橫向。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

3.7 模型底部凸起問題

  在制作聖誕老人蠟燭模型完畢後,發現所得模型下部(聖誕老人腳部)具有略微凸出部分,如下圖紅線内部。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

  個人認為,導緻這一現象的原因是由于在拍攝多角度圖像過程中,對其身體下側角度的拍攝不夠充分,進而軟體對聖誕老人底部的模組化更多是依據其側身角度的圖像加以完成,進而在底部出現一定偏差。

  針對這一問題,目前發現兩種解決方法。首先可以借助“Alignment”,直接依據其側身圖像手動對模型表面加以修改(如本文3.5部分);其次可以通過“Edit Geometry”子產品“Move clip plane”與“Clip model”相結合的方式加以底部凸出部分裁剪。

  首先,針對上述第一種解決方法,個人嘗試後發現利用聖誕老人蠟燭的側身圖像對模型表面加以調節後,其模組化效果似乎确實有所改變,但這一效果非常不明顯——甚至懷疑其有所改變可能隻是自己的心理作用導緻;推測這一結果同樣是由于我的拍攝照片整體角度過高(俯角偏大)導緻的。是以随後嘗試利用上述第二種解決方法。但發現,這一解決方法較之第一種,确實可以明顯實作模型底部凸出部分的裁剪(如下頁首圖);但由于裁剪操作執行後需利用“Clip model”功能将裁剪應用至模型,而點選“Clip model”後其表面紋理将被自動抹去(若不點選“Clip model”,會出現如下頁第二幅圖所示情況),是以需要重新生成紋理;而在重新生成紋理的過程中,我的軟體總是會在操作執行5%左右時停止片刻,并随後強制退出。盡管經過多次嘗試,而這一紋理映射時強制退出的錯誤均未解決。

基于3DSOM軟體的側影輪廓方法空間三維模型重建1 背景知識2 三維模型制作3 問題與思考參考文獻

  除上述操作之外,目前自己并未找到針對模型底部凸出部分的第三種解決方法。盡管這一問題并未得到良好解決,但自己加深了拍攝角度對側影輪廓方法影響的認識。其原理亦十分簡單,即多角度圖像的拍攝角度、照片數量與品質等都将對物體的輪廓産生影響;而物體的側影輪廓是這一三維模型重建方法的核心。是以,模型最終外表與多角度圖像拍攝情況密切相關。

參考文獻

[1] 栾悉道, 應龍, 謝毓湘, 等. 三維模組化技術研究進展[J]. 計算機科學, 2008(02):208-210.

[2] 張建, 李宗南, 張楠, 等. 基于實測資料的作物三維資訊擷取與重建方法研究進展[J]. 華中農業大學學報, 2013,32(04):126-134.

[3] 曹煜, 陳秀宏. 基于側影輪廓的圖像三維重建方法[J]. 計算機工程, 2012,38(05):224-226.

[4] 劉鋼, 彭群生, 鮑虎軍. 基于圖像模組化技術研究綜述與展望[J]. 計算機輔助設計與圖形學學報, 2005(01):18-27.

[5] Laurentini A. The visual hull concept for silhouette based image understanding[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1994,16(2):150-162.

[6] 鄭國威, 高滿屯, 董巧英. 基于平面鏡的錄影機内參數線性标定方法[J]. 計算機工程與應用, 2006(28):86-88.

[7] 谷月霞, 張維忠, 王曉燕, 等. 基于未标定圖像的三維重建算法[J]. 計算機工程, 2010,36(08):214-216.

[8] Baumberg A, Lyons A, Taylor R. 3D S.O.M.—A commercial software solution to 3D scanning[J]. Graphical Models, 2005,67(6):476-495.