ご利用の流れ

FAQ

お客様の声

取引実績

サポート

サポート

 テガラ運営サイト
生情報ブログ
HOME > 技術解説・ベンチマーク
技術解説・ベンチマーク
ハードウェアやソフトウェアに関する技術解説やベンチマークテスト結果など、テガラならではの生情報を公開していきます。
line
「Agisoft PhotoScan」での実行時間測定・考察
(2017/9/28)
撮影デバイスの飛躍的な技術進歩によって、3Dオブジェクト生成ソフト「Agisoft PhotoScan」のお問い合わせが日に日に増えております。
今回はPhotoScan (Ver1.3.2)を使用して、Intel、AMDの新型CPU及び、GPUを使用した、比較テストを行い、ハードウェア選択のポイントを考察してみたいと思います。
Agisoft PhotoScan
測定方法・ツールなど
・Agisoft PhotoScanバージョン:Ver1.3.2 (評価時のver.) / 比較のためVer1.2.4
・CUDA有効、ソフト上でGPUを有効にするかしないか以外の設定は標準とします。
・サンプルプロジェクト:Doll (Agisoft サンプルデータダウンロードページ)

PhotoScan Doll

上記環境にてPhotoScan起動後、
Align Photos (High) → Build Dense Cloud (Midium) → Build Mesh (Midium)
の順で実行し、出力ログにて、実行時間を確認、比較します。
検証環境 1:Intel Core i9
CPU Intel Core i9 7900X 3.30GHz (TB4.30GHz) 10C/20T 44L
メモリ 32GB (DDR4-2666 8GBx4)
OS Microsoft Windows 10 Professional 64bit

※参考:TEGSTAR Premium
検証結果
バージョン GPU Align Photos (High) Build Dense Cloud (Midium) Build Mesh (Midium)
1.2.4 GTX1080 x1 6分32秒 2分01秒 42秒
1.3.2 GPU無し 1分56秒 2分13秒 38秒
GTX1080 x1 39秒 1分18秒 39秒
GTX1080Ti x1 36秒 1分17秒 -
GTX1080Ti x2 26秒 54秒 -
結論
旧バージョン 1.2.4 からバージョン 1.3.2 へのアップデートにより処理速度が大幅に向上することが確認できました。これはソフトウェア側でうまくCPUを使い、並列処理が行われるようになったためと考えられます。

また、GPUによる処理の恩恵も十分に得られています。Align Photo処理ではGPU無しに比べ、GTX1080搭載時で、3倍強程度の処理速度の向上がみられました。1080と1080Tiではスペック差ほど差は見らませんでしたが、2枚挿しの際は、さらに3~4割程度の効率UPとなっています。一連の作業トータルでの処理時間を考えればGPU追加も有効な選択肢になると言えます。

上記結果より、さらにコア数に特化したAMD製のCPUを使用することで、更なる並列処理効果が見られるのではないかということで、AMD製のCPUでも計測してみました (下記検証環境 2)。コア数は上記Intel Core i9が10コア、20スレッドに対し、AMD Threadripperは16コア、32スレッドとなります。
検証環境 2:AMD Threadripper
CPU AMD Ryzen Threadripper 1950X 3.40GHz/40MB 16C/32T
メモリ 32GB (DDR4-2666 8GBx4)
OS Microsoft Windows 10 Professional 64bit
検証結果
バージョン SMT GPU Align Photos (High) Build Dense Cloud (Midium) Build Mesh (Midium)
1.3.2 標準GTX1080 52秒 1分23秒 53秒
OFFGTX1080 37秒 1分20秒 45秒
結論
実測の結果としては、思ったほどの効果は得られず、逆にSMT (CPUのマルチスレッド機能)をOFFにしたほうがこの場合は良い結果が出るという結果となりました。

下記「参考」は測定時のCPU使用状況になりますが、Intel Core i9はCPUにまんべんなく負荷がかかっているのに対し、AMD Threadripperは負荷がかかり切らない(使用効率が悪い)状況となっています。SMTをOFFにすることで改善がみられることから、ソフトウェア側でIntelのCPUへ最適化されており、今回検証のPhotoScanのバージョンでは、AMDのCPUマルチスレッド機能を使いきれない、ということが言えそうです。
参考
環境1 (Intel Core i9)での処理中のCPU使用状況
Intel Core i9

環境2 (AMD Threadripper SMT 標準)での処理中のCPU使用状況
※負荷がかかりきらない状態が続きます。
AMD Threadripper SMT標準

環境2 (AMD Threadripper SMT OFF)での処理中のCPU使用状況
AMD Threadripper SMT OFF
今回の検証 全体の結論
今回検証に使用したPhotoScan (1.3.2)では、旧バージョンで課題であった並列処理やGPUを用いた処理がきちんと機能していることが確認できました。今回のバージョン含め、以降のバージョンでは現行のIntel CPUや複数枚のGPUをチョイスすることでさらに作業効率を上げることができそうです。

なお、PhotoScan (1.3.2)ではIntel製のCPUには最適化されていることが考えられましたが、今後のアップデートにてAMDのCPUも考慮されたものになる可能性はあると思われます。AMD製のCPUを選択するのは、今後のバージョンアップ状況をみてからでもよろしいかもしれません。

PhotoScanのバージョンによる違いやXeonのような物理CPUを増やしたパターン、GPUスペックによる効果なども、今後情報を公開していく予定ですので、ご期待ください。