learning

4. ハードウェア

 写真測量の精度を高めるには、大量の写真を精密に組み合わせ、視差を計算し、対象物の表面形状を高密度な3Dポリゴン(Face)で埋め尽くした三次元モデルを構築する必要がある。結局のところ、最終成果品として高精度な3DモデルやDSMを限られた時間内に生成するためには、膨大な計算リソースが必要となる。

4.1 CPU


 PhotoScanはマルチスレッド対応のため、OSが認識するすべてのCPUコアを100%使用して計算を行うことができる(Fig.3.1)。最新のアーキテクチャ、高いクロック速度、多くの物理コアを持つCPUが望ましい。
また、GPUを計算に利用する場合、GPUボード1基につきGPU管理のためにCPU物理コアが1つ(HT有効の場合2つ)必要となる。複数のGPUボードを持つ計算機の場合、PhotoScanの計算に使えるCPUリソースが減少するため、CPUのマルチソケット構成が必要になるだろう。

4.2 CPUのハイパースレッディング(HT)


 以下の環境におけるテストではHT有効のほうが概ね約20%程度、高速であった。ただしXeon CPUの場合、HT無効のほうが高速という報告もある。いずれにせよ、各自の環境でテストを行うことを推奨する。

4.3 GPU


 PhotoScanはOpenCL対応のGPUを計算リソースとして利用することができる(Fig.3.2)。GPUは、CPU(コア数2~6個)と比してコア数(例:nVidia GeForce GTX680の場合、GPUコアは1536個)が非常に多いため、科学技術計算のような単純計算であればCPUの数倍から百数十倍のスピードで計算を行うことができる。以下の環境におけるテストでは、GPUを有効にすることにより約3倍、高速であった。これを活用しない手はない。

4.4 物理メモリ


 物理メモリは、多ければ多いほど良い。処理する写真画像の枚数や処理メソッドによるが、本格的に利用するのであれば最低でも32GBは必要であろう。特に、建物などの三次元オブジェクトを処理するArbitrary modeでは膨大なメモリが必要になる。以下に、必要な物理メモリの目安を掲載する。

Aligning Photos処理:

|Photos|100|200|500|1000|2000|5000|10000| |:—:|:—:|:—:|:—:|:—:|:—:|:—:|:—:| |Memory consumption|500 MB|1 GB|2.5 GB|5 GB|10 GB|25 GB|50 GB|

Building Model (Height-field mode)処理:

|Photos|100|200|500|1000|2000|5000|10000| |:—:|:—:|:—:|:—:|:—:|:—:|:—:|:—:| |Lowest quality|25 MB|50 MB|125 MB|250 MB|500 MB|1.25 GB|2.5 GB| |Low quality|100 MB|200 MB|500 MB|1 GB|2 GB|5 GB|10 GB| |Medium quality|400 MB|800 MB|2 GB|4 GB|8 GB|20 GB|40 GB| |High quality|1.6 GB|3.2 GB|8 GB|16 GB|32 GB|80 GB|160 GB| |Ultra high quality|6.4 GB|12.8 GB|32 GB|64GB|128 GB|320 GB|640 GB|

Building Model (Arbitrary mode)処理:

|Photos|20 - 50|100|200|500| |:—:|:—:|:—:|:—:|:—:| |Lowest quality|100 MB - 300 MB|150 MB - 450 MB|300 MB - 1 GB|1 GB - 3 GB| |Low quality|500 MB - 1.5 GB|750 MB - 2.2 GB|1.5 GB - 4.5 GB|4 GB - 12 GB| |Medium quality|2 GB - 6 GB|3 GB - 9 GB|6 GB - 18 GB|15 GB - 45 GB| |High quality|8 GB - 24 GB|12GB - 36 GB|24 GB - 72 GB|60 GB - 180 GB| |Ultra high quality|32 GB - 96 GB|48 GB - 144 GB|96 GB - 288 GB|240 GB - 720 GB|

Decimating Model処理:

|Faces (millions)|1|5|10|20|50|100|200|500| |:—:|:—:|:—:|:—:|:—:|:—:|:—:|:—:|:—:| |Memory consumption|128 MB|640 MB|1.3 GB|2.5 GB|6.2 GB|12.5 GB|25 GB|63 GB|

img
Fig.4.1 Generating Mesh処理中のCPU利用率。PhotoScanはマルチスレッド対応アプリケーションのため、計算機に搭載する全CPUコアを使い切る。

img
Fig.4.2 Reconstruction Depth処理にGPUを利用している状態。GPUを使用しない場合に比して約3倍高速であった。(GPUコア数1536個、GPU使用率96%(最大値)、nVidia GeForce GTX680の例)