【摘要】
近年來,傾斜攝影測量技術是國際測繪遙感領域近年發展起來的一項高新技術,利用照片進行三維重建成為一項關鍵性的技術。Smart3D軟件,是照片三維重建主流軟件之一,本文將就Smart3D建模軟件,圍繞它的幾個模塊功能:ContextCapture Master、ContextCapture Engine、ContextCapture SceneComposer、ContextCapture Settings、Acute3D Viewer,一一說明闡述各自的功能應用以及配合機制。
【關鍵詞】
Smart3D ContextCapture Master Engine SceneComposer Settings Viewer
【正文】
一、ContextCapture Master
ContextCapture Master作為Smart3D建模軟件的主控台,也是建模的主模塊,也就是說整個流程都是在ContextCapture Master流水進行的,其他的模塊輔助其重建運算。下圖是ContextCapture Master的圖標和主界面:
-
工程
一個工程管理着所有與它對應場景相關的處理數據。工程項由區塊列表和工程選項組成,分別通過兩個選項卡管理:
概述選項卡中顯示項目當前狀態的環境信息,項目信息面板並管理項目區塊列表。
選項選項卡中包含了對集群網格化運算相關的選項。在計算機集群環境時,工作隊列中的目錄必須使用網絡路徑,如下圖,且要與Setting中的指定目錄一致,才能使各個通過局域網連接的運算節點正確地獲取原始影像、讀取工程文件以及輸出模型到制定的目錄。當工程文件路徑、影像文件、作業隊列目錄、生產輸出目錄是非網絡路徑的話,在處理的時候會出現警告的提示語。
-
區塊
工程包含一個或多個區塊作為子項,一個區塊管理着一系列用於一個或多個三維重建的輸入圖像與其屬性信息,這些屬性信息包括傳感器尺寸、焦距、主點、透鏡畸變以及位置與旋轉等姿態信息:
簡言之,一組無損壞有精度的符合支持格式的且與其他影像有一定連續重疊度的照片就可以組成一個區塊。對於一個區塊,可以對它有如下操作:
導入:從XML文件中導入區塊
導出:區塊可以以KML或XML格式導出
拆分:將較大的航飛區塊拆分成較小區塊
提取:從區塊中提取部分指定區塊
加載/卸載:從活動的工程中加載/卸載區塊
基於影像組的區塊選項卡:
- General
這個選項卡下顯示的是影像添加的狀態,同時提交空三處理的按鈕也在這個界面:
- Photos
添加影像,其一直接導入符合要求的一組照片,其二導入含有一系列符合照片的文件夾,其三將含有相片信息的表格導入成新的區塊。為獲得最佳性能和效果,導入的影像必須被分入一個或多個影響組。同一個相機拍攝的且有完全一樣的內部定向(影像尺寸、傳感器大小、焦距等)的影像分為一個影像組。如果影像按照拍攝的相機存放在不同的子目錄下,Smart3D可以自動確定相關的影像組。
前三個按鈕是對影像的添加刪除,第四個按鈕Set downsampling設置縮減像素采樣,可以用於快速生產三維模型草圖或在使用較低的硬件配置,這不會改變輸入的源影像。第五個按鈕Check image files檢查輸入影像的完整性,這個工具檢查整個區塊的影像,查找出丟失的或者損壞的影像文件,為了方便,如果檢查出無效的影像文件,一般都是從區塊中刪除。
- Control points
控制點選項卡可以對區塊的控制點進行編輯和瀏覽。控制點是空中三角測量中輔助性的定位信息,是可選擇的,對區塊添加控制點能夠是模型具有更加准確的空間地理精度,避免長距離的幾何失真。
有效的控制點集合需要包含3個或者以上的控制點,且每個控制點均需要2張以上的影像刺點。
- Tie points
同名點的添加可以手動添加,也可以軟件自動生成:
- 3D view
三維預覽選項卡可以觀察預覽影像的視野、位置與旋轉角和同名點的三維位置顏色。三維預覽只有在區塊已經部分獲知圖像位置信息時才可使用,並且是以點的形式出現:
基於空三的區塊選項卡
基於空三的選項卡和沒進行空三處理前的選項卡是差不多的,但是其中影像和控制點的選項將是只讀狀態,不能再次編輯。
基於三維重建的區塊選項卡
- General
概要選項卡顯示三維重建的完成狀態:
- Spatial Framework
這個選項卡可以看到重建范圍、所分的瓦片數、紋理大小以及進行生產三維模型計算機所需的最小內存:
- Reconstruction Constraints
重建限制選項卡中可以加入一些限制條件,參與模型平差,生成產品:
- Reference 3D model
這里可以進行瓦片導入替換,刪除,這些操作具體會在后續的教程中體現,Wish3D微信公眾號(文章底部有二維碼)會第一時間推送。
- Processing settings
處理過程中的相關設置,這個選項卡中得以體現,一般是選擇默認參數,這個參數配置可以另存下來以備下次使用:
基於生成模型的區塊選項卡
- General
基於模型的區塊概要主要體現生成模型的狀態、個瓦片的生成狀態,在這里也可以在viewer里打開瀏覽,打開數據的存儲目錄:
- Properties
模型的各種基本信息都可以在這個選項卡中查閱,比如模型名稱、存放地址、壓縮比、坐標等等。
二、ContextCapture Engine
Engine是Smart3D的運算模塊。在后台運行不需要交互。當沒有運算三任務時,該模塊會自動抓取並執行等待的任務,抓取順序取決於任務的優先級。這個任務可能是空三運算,也可能是三維重建任務,引擎端會做大量的計算機密集工作,比如關鍵點提取、自動連接點匹配、光束平差、稠密影像匹配、魯棒三維重建、無縫紋理映射、Atlas紋理打包、LOD生成等等。
如下圖,點擊Engine桌面端即可啟動,關閉即可結束。
任何正在運行的任務都會交還給任務序列,任務狀態變回等待,優先級也是保持之前的狀態,等待任務會保留任務序列,等待下次Smart3D引擎端開啟時再被處理。它會監聽任務序列,這個任務序列可以通過Settings進行設置。
默認情況下,引擎端可以同時處理空三和重建任務,但是每台電腦只能運行一個引擎。在實際的生產過程中,特別是集群處理時,往往需要執行特定的任務,此時可以只進行空三運算或者只運行重建任務。
任務序列文件夾包含以下的文件夾:
Archive:為用戶保留的用來保存任務的文件夾
Cancelled:包含被用戶取消的任務
Completed:包含已經完成的任務
Engines:包含與當前任務路徑相關聯的全部引擎端
Failed:包含處理失敗的任務
Pending:包含等待被處理的任務,引擎端會查找文件夾中的任務
Running:包含正在被處理的任務
因此,可以直接通過Windows文件管理器進行任務管理。
取消一個等待的任務:將任務文件從Pending剪切到Cancelled
改變任務的優先級:將任務文件在Pending中的各個LOW/Nomal/High子文件中進行互相調動,切勿放入Pending根目錄下
重新開始一個任務:將任務文件從Cancelled或者Failed剪切到Running
清空失敗或者取消的任務:將任務文件從Failed或者Cancelled文件夾刪除
清空已完成的任務:將任務文件從Completed刪除
重置引擎端:將任務文件從Engines文件夾刪除
三、ContextCapture SceneComposer
SceneComposer是Smart3D Viewer的項目編輯工具。它可以在程序列表里找到,也可以在Viewer里的菜單欄找到:
通過SceneComposer編輯S3C場景的索引文件,可以來重新設置三維場景或者增加相關場景信息。
它的主要功能:
1、編輯場景中相關的瓦片列表:
一個S3C場景由眾多瓦片構成。可以從場景中增加或者移除瓦片,如果坐標系是一致的,可以將不同的數據整合到同一個場景中。外部的OBJ也可以導入到場景中,但是較大的OBJ文件可能會導致數據瀏覽緩慢,這是因為OBJ文件沒有LOD。
2、添加名稱和標志:
這里可以設置場景名稱和數據版權信息,編輯場景名稱之后顯示在Viewer界面的右上角。除此之外,還可以編輯場景標志圖片,同時顯示在Viewer界面的右下角。
3、編輯參考坐標系統
4、選擇默認瀏覽模式,這里可以重置,針對不同的人群有自定義設置。
5、配置網絡發布
通過SceneComposer可以設置一個訪問遠程服務器的S3C場景文件,添加網絡服務器的根URL。利用並行連接來下載三維場景的每個節點,保證流暢性。可以設置連接的最大並發數。如下圖:
6、編輯高級選項,場景的設置和編輯也可以通過命令行進行。
四、ContextCapture Settings
ContextCapture Settings是軟件的許可認證和系統信息工具,任務隊列的路徑設置也在這里:
Configuration里的作業隊列的路徑目錄需要與Master里的工程選項卡里的路徑保持一致,如下圖:
只有保持一致時,啟動引擎時,任務才會正常開始運行。
五、Acute3D Viewer
Acute3D Viewer是個免費版、輕量級的可視化軟件。它對Acute3D的私有格式文件進行了優化,可以處理LOD,分頁緩存和流數據。因此可以顯示兆兆量級的本地或者在線三維數據。也可以配合Master在工作流中控制生產質量。
注意到的是,Viewer需要被單獨安裝,這個可以免費下載,安裝包有Win64,Win32以及Mac OsX64位。(關注Wish3D微信公眾號回復“3”即可免費獲取)
Viewer可以讀取這些三維格式:A3D(Smart3D實景建模大師的內部文件),OBJ,PLY,OSGB。
瀏覽模型時有三種方式可選:
模型也可以分為點雲、網格和賦有紋理的模型來瀏覽:
工具欄里有測量和瓦片選擇功能:
其中瓦片選擇對話框中,可以加載區塊、將選中的區塊另存下來作為后續的處理:
【結語】
綜上所述,就是關於Smart3D建模軟件里的各個桌面端功能,它們之間一個連着一個,緊密聯系配合運算三維重建過程。那么,在實際的照片三維重建過程中,這些模塊又有哪些注意事項?如何能夠通過這些模塊成功重建出三維模型?接下來,我會在下周同一時間(每周三下午)在Wish3D微信公眾號推出Smart3D系列教程4之《案例實戰演練1——小物件的照片三維重建》,歡迎大家一起探討交流!
Wish3D出品:
- Smart3D系列教程1之 《淺談無人機傾斜攝影建模的原理和方法》http://www.cnblogs.com/sunnyCXX/p/6073905.html
- Smart3D系列教程2之 《為什么三維重建效果這么差?——探探那些被忽略的拍照要求和技巧》http://www.cnblogs.com/sunnyCXX/p/6101947.html
- Smart3D系列教程3之 《論照片三維重建中Smart3D幾個工作模塊的功能意義》http://www.cnblogs.com/sunnyCXX/p/6120753.html
【參考】
Smart3D實景建模大師學習手冊