王 俊 (安徽省第一測繪院,安徽 合肥 230031)
實景三維建模主要分為三個階段:①早期采用計算機輔助設計軟件結合紋理貼圖的方式,該方式建模成本高,速度慢,隨著技術的發展和數據源獲取方式的飛速發展而不再是主流實景三維建模方式,工作流程后移,逐漸過渡到自動化實景模型生成后的模型精細化修飾;②計算機圖形學里多視角匹配技術成為了自動化建模的主要手段,目前,絕大多數的實景三維建模以此技術為基礎而發展起來的,較為典型的有Context Capture、PhotoScan、PhotoMesh、街景工廠,該類技術自動化程度高,人工干預較少,模型效果較好;③近年來,隨著人工智能技術的發展,對實景單位建模的對象化識別成為了一個新的熱點方向,較為普遍的是采用神經網絡技術,通過樣本訓練,進行對象的識別,該類技術前期工作較為依賴人工定義樣本,自動化程度較低,正處于快速發展期。本文將結合Context Capture實景三維建模軟件,分析可能影響建模性能的一些關鍵指標,并嘗試提出部分應對措施。
Context Capture建模主要包含連接點提取,影像對提取,空間方位定向,連接點匹配,光束法平差,構建不規則三角網、三角網的優化與光滑,紋理映射等關鍵步驟。從連接點提取到光束法平差簡稱為“空三”過程,構建不規則三角網到紋理映射為模型創建過程。“空三”中的連接點提取與匹配目前是多核多線程的典型應用代表,同時也是較好利用分布式集群的模塊,而在三角網的瓦片重建部分分布式集群和GPU計算則更為關鍵。縱觀整個工程,從CPU角度,提升性能主要依靠增加CPU核心和CPU主頻來實現。在測試中,利用Intel VTune Amplifier專用軟件對Context Capture程序運行進行熱點分析,通過分析得出如下結論:建議計算節點配置CPU的邏輯核心在20個左右較為合適,CPU主頻基準不低于3.5Ghz為宜。
GPU為圖形計算單元,作為CPU的輔助計算單元,GPU是一種大規模并行計算架構,能夠將應用程序部分計算密集型工作負載轉移到GPU,同時仍然由CPU運行其余程序代碼。影像處理中的大量的矩陣運算正是GPU能發揮特長的時候。Context Captue的模型重建過程中,有大量的浮點運算利用要GPU,經過測試,Nvdia GTX1080及以上性能GPU能較好滿足計算要求。
Vulkan是新一代的圖形和計算應用程序接口(API),最核心的優勢是高性能和跨平臺。其優秀的跨平臺能力得到眾多圖形程序開發者的青睞。Vulkan目前支持AMD、ARM、博通、英特爾、英偉達、Silicon等公司的圖形顯示設備,并提供了完善的驅動程序包供各類程序員使用。Context Capture實景建模支持多顯卡并行使用,為保持對各類顯卡的兼容性,最大化減少圖形計算硬件的廠商依賴性,采用了Vulkan多顯卡技術。經過實踐得出,雙顯卡的使用,使得實景三維建模的性能整體提升15%~20%。以下是GPU的使用和雙顯卡的利用率截圖。

在實景建模中,需要處理海量圖片,磁盤的IO響應時間與CPU處理速度有著不可逾越的橫溝,內存作為中間層,充當著數據計算的存儲中轉站。在Context Capture后期的三維格網生成及紋理貼圖中,依據區域大小劃分瓦片,瓦片塊數目越少,單個瓦片的范圍越大,需要處理的數據越多,對內存的需求越大。內存組建多通道有助于提升整個內存的數據讀取帶寬;采用高頻的內存也可一定范圍內提升數據處理速度。
硬盤性能主要有連續讀寫速度、隨機讀寫速度、輸入輸出次數(IO),均以單位時間來衡量。硬盤主要分為機械硬盤(HDD)和固態電路硬盤(SSD),前者主要依靠磁盤轉速提升性能,高速HDD散熱量大,單盤容量小,后者主要由閃存類型和接口(協議)種類決定硬盤性能且整體性能大幅高于前者,但單位容量成本高,僅在數據中心等少數關鍵業務領域使用。網絡主要依據數據吞吐量和包轉發率及各種網絡協議的支持程度來衡量網絡設備的好壞。分布式集群突出的特點是將地理位置散落各地、計算能力各不相同的終端組合利用,如何合理調度資源并行計算最為關鍵。對城市級的實景三維建模,高達上百T的海量原始數據,只有采用分布式集群建設模式,充分利用計算資源才可按時完成任務。合理的分布式架構的設計則成為了關鍵。Context Capture分布式計算涉及到海量影像圖片的讀取,連接點文件,金字塔文件的生成,海量的紋理切片,該類文件特點數量多,單個數據量小,整個過程較為依賴網絡,且數據讀取頻繁。為簡化分布式體系搭建,Context Capture采用了文件級網絡傳輸,網絡協議基于CIFS,同時采用UNC或者網絡映射磁盤位置進行存儲定位,配置較為簡單。沒有特殊的協議優化,文件傳輸的效率有一定的影響,尤其是并行寫入方向。以30臺規模的分布式集群來考慮,建議計算節點為千兆傳輸接入,存儲節點萬兆傳輸介入,計算節點和存儲節點硬盤采用SSD。如預算有限,建議將5~6臺計算節點獨立為一組,每組設置獨立的大容量HDD存儲節點。
綜上所述,實景三維建模項目的生產效率受多方面因素制約,是各類硬件資源綜合利用的過程。在合理的預算基礎上,選擇適合的硬件解決方案尤為重要。此外,本文討論內容較多,篇幅有限,未能對所有的實驗過程進行完全展示。但就硬件重要性而言,高主頻多核心的CPU應著重考慮。如需進一步分析Context Capture運行過程中內部執行效率,可利用英特爾專用工具VTune Amplifier來量化分析。