1. ターンテーブル型3Dスキャンシステム
独自に開発したターンテーブル型の3Dスキャンシステムについて紹介する。
本システムは以下で構成される。
・制御用プログラム(python独自開発)
・自動ターンテーブル
・カメラ制御用Tether Tool
・撮影用クレーン
・デジタル一眼レフカメラ
・ソフトボックス照明、背景ロール紙
2. システムフロー
3. 機器仕様
3.1 ComXim MT320RUWL20(自動ターンテーブル)
リモコン制御だけでなく、USB接続によるシリアル通信で細かい動きの制御が可能。
3.2 SmartShooter 4 Pro(カメラ制御用Tether Tool)
CaptureGRIDの下位バージョンであるSmartShooter 4 Proを利用。Canon、Nikon、SonyのDSLR(digital single-lens reflex camera、デジタル一眼レフカメラ)の制御が可能。
3.4 デジタル一眼レフカメラ
・Canon EOS 70D レンズキット EF-S18-135mm F3.5-5.6 IS STM
異なる被写体の大きさに対応するために、1つで広角〜中望遠が可能なレンズを選択した。最高画質で5472 × 3648解像度で撮影可能。中古で6万円程度。フォトグラメトリ用として十分な性能。
4. 制御用プログラム(python独自開発)
4.1 機能
pythonを利用して、以下の制御が可能なプログラムを開発した。
・ターンテーブル制御
・SmartShooterのシャッター制御
4.2 ターンテーブル制御
上記URLのターンテーブル公式サイトのDownloadページから、USBドライバとWindowsソフトウェア(TurntableX.exe)マニュアルをダウンロードすることができる。
今回、ターンテーブルの回転制御では、Secondary+development+guide.pdfの4pに記載されているコマンド「CT+TRUNSINGLE(direction,angle);」を利用。direction:0(時計回り)で固定。angleに角度値を入力することで、回転分割数を変更することができる。
プログラムの仕様として、回転分割数(1/8回転、1/16回転、1/32回転等)は変数で設定可能。回転分割数に合わせて撮影インターバルを算出している。1/16回転程度でフォトグラメトリ解析は可能だが、例えば、穴や隙間のように一定の方向からしか撮影画像に写らない被写体の場合には、回転分割数を細かく設定することで解析精度を上げることができる。
4.3 SmartShooter用APIの利用
SmartShooterでは、アプリケーション内部で記述可能なpythonスクリプトの他、外部APIからのコマンド制御も可能。今回はターンテーブル制御と連動させる必要があり、アプリケーション内部のスクリプトにpythonライブラリ(serial等)を追加することができなかったため(やり方あるかも)、外部APIから制御している
今回はShootに関係するコマンドのみを利用している。AutoFocusをShoot前に自動的に行わせることも可能だが、対象物が回転したり、台座よりも小さい対象物の場合は意図しない部分にピントが合うことが多発した。そのため、フォーカスはクレーンでカメラ位置を調整する毎に、回転軸の中心にマニュアル操作で固定している。
5. Metashapeによるフォトグラメトリ解析
Metashape Standardを用いて3Dデータ生成したもの。Metashapeの解析手法については別記事で紹介する。
6. 過去の開発システムとの比較
6.1 複数カメラ+ターンテーブルシステム
下図は、神戸芸術大学在職中(2021年頃)に開発したデジタル一眼レフ6台を利用したターンテーブル型3Dスキャンシステム。今回のシステムと同じくSmartShooterを利用している。ターンテーブルにはUSB制御機能なし。SmartShooterのShootボタンとターンテーブルのリモコンボタンを手動で操作していた。
このシステムで自動ターンテーブルとPythonプログラムで自動化することは可能。欠点としてデジタル一眼レフ6台を対象物毎に調整することに労力が必要。場合によってはレンズ交換も6台必要になる。上図を見てわかる通り、6台程度カメラを利用するとカメラを設置する場所にも制限があり、ある程度被写体から離れた場所から撮影する必要がある。被写体を構図の中にできるだけ大きく収めるために、中望遠レンズの利用している。
6.2 比較考察
今回、新しく開発したシステムではデジタル一眼レフ1台とクレーンを採用しており、カメラと被写体の距離を自由に設定できる。
欠点として、新システムではターンテーブル1周毎にクレーン操作とカメラ操作が必要になるため、カメラ複数台を利用した場合よりも若干撮影時間が長くなる。一方、旧システムでは被写体毎にカメラ複数台を調整する作業が必要となる。1台でも調整ミスがあると全ての撮影をやり直すことから比較すれば、新しいシステムの方が都度調整しながらの作業のため、やり直しも楽で全体の工程としてミスの少ない撮影が可能である。検証が必要だが、旧システムよりも作業効率は逆に高くなることも予想される。
また、縦方向のピッチ数も際限はなく、実際の撮影実験結果から10台程度ある場合と同じ撮影が可能なことから、撮影自由度と費用対効果だけでなく、解析性能も今回のシステムの方が上と言える。
上記の考察から、以下にまとめる。
・同じ大きさのものを大量にスキャンするには、カメラ複数台のシステムが作業効率がよい
・毎回異なる対象物のスキャン、スキャン解像度をあげるにはカメラ1台+クレーンシステムが汎用性が高く、システム構築費用も安価にできる。
7. 今後の展望
今回のクレーンは手動操作によるものだが、モータを実装した自動クレーンをシステムに組み込めば、対象物の大きさに合わせてカメラ位置をプリセットして、完全な自動撮影システムを構築することも可能である。
本研究は、小型人形を3DスキャンしたVRアニメーション制作のためのツールとしての3Dスキャンシステムの開発が目的であるため、そこまでのシステム構築は不要ではあるが、実験レベルでの検証は機会があればチャレンジしたい。
Back to Top