撮影デバイスの飛躍的な技術進歩によって、3Dオブジェクト生成ソフト「Agisoft PhotoScan」のお問い合わせが日に日に増えております。今回はPhotoScan (Ver1.3.2)を使用して、Intel、AMDの新型CPU及び、GPUを使用した、比較テストを行い、ハードウェア選択のポイントを考察してみたいと思います。
測定方法・ツールなど
・Agisoft PhotoScanバージョン:Ver1.3.2 (評価時のver.)/ 比較のためVer1.2.4
・CUDA有効、ソフト上でGPUを有効にするかしないか以外の設定は標準とします。
・サンプルプロジェクト:Doll (Agisoft サンプルデータダウンロードページ)
上記環境にてPhotoScan起動後、
Align Photos (High) → Build Dense Cloud (Midium) → Build Mesh (Midium)
の順で実行し、出力ログにて、実行時間を確認、比較します。
検証環境1 : Intel Core i9
※参考: TEGSTAR Premium
検証結果
結論
旧バージョン 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
検証結果
結論
実測の結果としては、思ったほどの効果は得られず、逆にSMT (CPUのマルチスレッド機能)をOFFにしたほうがこの場合は良い結果が出るという結果となりました。
下記「参考」は測定時のCPU使用状況になりますが、Intel Core i9はCPUにまんべんなく負荷がかかっているのに対し、AMD Threadripperは負荷がかかり切らない(使用効率が悪い)状況となっています。SMTをOFFにすることで改善がみられることから、ソフトウェア側でIntelのCPUへ最適化されており、今回検証のPhotoScanのバージョンでは、AMDのCPUマルチスレッド機能を使いきれない、ということが言えそうです。
参考
環境1 (Intel Core i9)での処理中のCPU使用状況
環境2 (AMD Threadripper SMT 標準)での処理中のCPU使用状況
※負荷がかかりきらない状態が続きます。
環境2 (AMD Threadripper SMT OFF)での処理中のCPU使用状況
今回の検証 全体の結論
今回検証に使用したPhotoScan (1.3.2)では、旧バージョンで課題であった並列処理やGPUを用いた処理がきちんと機能していることが確認できました。今回のバージョン含め、以降のバージョンでは現行のIntel CPUや複数枚のGPUをチョイスすることでさらに作業効率を上げることができそうです。
なお、PhotoScan (1.3.2)ではIntel製のCPUには最適化されていることが考えられましたが、今後のアップデートにてAMDのCPUも考慮されたものになる可能性はあると思われます。AMD製のCPUを選択するのは、今後のバージョンアップ状況をみてからでもよろしいかもしれません。
PhotoScanのバージョンによる違いやXeonのような物理CPUを増やしたパターン、GPUスペックによる効果なども、今後情報を公開していく予定ですので、ご期待ください。
テグシスでは、Agisoft PhotoScan の利用を想定したPCの提案実績を数多くご紹介しています。
Agisoft PhotoScan向けマシン 提案事例一覧ページはこちら |