はじめに
皆様は3次元の測量(計測)をどのようにやっているでしょうか?基準となる定規を上手く固定できずに、苦労しているのでないかと思います。写真から3次元の計測ができれば楽になると思いSFPを作ってみました。
SFPは複数の写真を元に以下を行うプログラムです。
1.3Dコンテンツの作成。
2.3DCADデータの作成。
3.3D写真測量。3D写真計測。
そのために以下の操作を行います。
1.写真にある物体の特徴的な点を対応点として設定(人手による入力)します。
2.プログラムに、その対応点の3次元座標を求めさせ、ポリゴンを作成させます。
3.目的に応じて出力します。
(ア)
インターネットに公開できるVRML形式。
(イ)
CAD・CAM・3DCGで読み込めるDXF・IGES・STL・MQO・OBJ形式。
(ウ)
エクセル等の表計算ソフトで読み込めるCSV形式。
本ソフトは以下の特徴を持ちます。
1.
予め対応点の3次元座標を測量する必要はありません。写真だけから被写体の3次元の相似形をパソコン内に作成します。計測しやすい2つの対応点間の距離を測量すれば、全ての対応点間の距離、体積、面積を計算できます。
2.
カメラキャリブレーション(校正)をする必要はありません。携帯電話のカメラや普通のデジカメをすぐに使用できます。
3.
作成した3次元データはCADやCGソフトで使用できます。インターネットで見られるVRMLへも出力できます。展開図を元に紙の模型も作成できます。
被写体の計測について
相似形をパソコン内に作成しているため、何処か1組の2つの対応点間の距離を設定すれば、任意の被写体の2点の対応点間の距離を計算できます。それをするためメニューに「3次元化機能―モデリング・計測―座標系の基準距離設定」があります。もっと詳細に計測を行いたい場合(例えば高低差)、座標系を設定すれば実際の形状を測定できます。そのためには3点だけ座標を計測する必要があります。等高線の算出にも相似形の倍率や傾きの設定が必要です。
精度
100mm前後の大きさであれば1mm以内の誤差に収まった実績はあります(作成例のティシュケースです)。画素数が2816×2112(600万画素)の場合、画素数の制限のため精度は測量対象物の大きさの1/2000でしょう。対応点の3次元座標の計算結果を写真に投影したものは数画素の誤差が出ますので、使用上の注意を守って精度は1/1000〜1/100と思います。