2024年10月25日金曜日

2枚の空中写真から作成した地形3Dモデル

 3D terrain model created from two aerial photographs


Using VisualSFM and MeshLab (both free software), I created a 3D terrain model from two aerial photographs. Although it is not yet at a practical level, it is impressive that I was able to create a 3D model from two photographs.


VisualSFMとMeshLab(ともにフリーソフト)を利用して、2枚の空中写真から地形3Dモデルを作成しました。実用レベルには到達していませんが、2枚の写真から3Dモデル作成が出来たことは感動的です。

1 2枚の空中写真から作成した地形3Dモデル

2枚の空中写真から作成した地形3Dモデル

未調整


使用空中写真

使用ソフト:VisualSFM、MeshLab

3DF Zephyr v7.531でアップロード


3Dモデル画像


3Dモデル動画

2 感想

3枚以上の写真なら3DF ZephyrやRealityCaptureで3Dモデルを作成することができます。米軍空中写真数枚を3DF Zephyrに投入して戦争直後の千葉市花見川区付近の地形3Dモデルを作成したことがあります。しかし、2枚の空中写真で3Dモデル作成ができるフォトグラメトリソフト(フリーソフトあるいは高額商品でないもの)の存在は知りませんでした。

なにがキッカケであるか、自分でも思い出せませんが、2枚の重なる部分がある空中写真から地形3Dモデルを作成する方法をChatGPTに訊ねました。その結果、今回のVisualSFM、MeshLabを使う方法を教えてもらいました。

今回の方法は、穴開きが多く、実用的に使えるレベルにはありません。しかし、2枚の写真でフォトグラメトリによる3Dモデル作成ができたことはとても感動的です。数十万円の専門家用ソフトならば2枚の写真から本格的3Dモデル作成が可能であることは体験(※)したことがあります。この分野の興味を持続して情報収集すれば、2枚の空中写真から本格的3Dモデル作成が可能なフリーソフト(あるいは低価格ソフト)に遭遇するのは時間の問題であると楽観視して、楽しみに待つことにします。

※ 2012.12.30記事「地物の3次元モデル化ソフト image master ビギナーズ

3 VisualSFMの使い方 メモ

・次のサイトがダウンロードや使い方の参考になりました。著者のyosiさんに感謝します。

VisualSFMで画像から3次元形状推定する

・VisualSFMのダウンロードはchromeではできませんでしたので、edgeでおこないました。

4 参考 ChatGPT質問・回答

【質問】

重なり合った部分がある2枚の空中写真を右の目で右の写真を、左の目で左の写真をみると、立体的な地形として見ることができます。この原理により2枚の重なった部分のある空中写真からパソコンで地形3Dモデルを作成する方法があれば教えてください。正確性はなくても簡易的にできる方法があれば、それを知りたいです。

【ChatGPT回答】

空中写真から簡易的な3D地形モデルを作成する方法として、ステレオ写真の原理を利用した「ステレオマッチング」という技術があります。この技術では、異なる視点から撮影された2枚の写真の重なり合った部分を比較し、対応する特徴点を検出して距離情報を計算し、立体的なモデルを作り出します。

ここでは、正確性は必要ないとのことなので、専門的なソフトを使わずに、比較的簡易的にできる方法を紹介します。

●必要なツール

VisualSFM(無料の3D再構築ソフトウェア)

Meshlab(3Dモデルの編集や表示ができる無料ソフト)

2枚の空中写真(重なり部分がある)

●手順

VisualSFMのダウンロードとインストール

まず、VisualSFMをダウンロードしてインストールします。これは、2枚の写真からカメラの位置や対象物の3D形状を推定してくれるソフトウェアです。

●写真の読み込み

VisualSFMを開き、空中写真2枚を読み込みます。左目用と右目用の2枚の写真を使用します。

●特徴点の検出とマッチング

読み込んだ写真に対して、自動で特徴点を検出して、同じ位置の特徴点をマッチングします。この作業はVisualSFMが自動的に行います。

●ポイントクラウドの生成

マッチングが完了したら、VisualSFMは3Dのポイントクラウドを生成します。これが簡易的な3Dデータです。

●Meshlabでの表示

ポイントクラウドをMeshlabに読み込むと、3D表示が可能になります。Meshlabを使って、さらにポリゴンメッシュに変換することもできます。

●3Dモデルのエクスポート

Meshlabでモデルをエクスポートして、STLやOBJなどの3Dフォーマットで保存できます。

[補足]

●精度の向上

簡易的な方法では、データが粗い場合が多いため、ステレオ写真の解像度や撮影角度の違いが精度に大きく影響します。より多くの写真を使ったり、角度を工夫したりすると精度が向上します。

●オルソ写真の利用

空中写真がオルソ補正されている(正確な位置情報が付加されている)場合、さらに高度な処理も可能です。

●代替の簡単な方法

オンラインツールの利用

「DroneDeploy」や「Pix4D」などのドローン撮影を利用した3Dモデル作成サービスを利用するのも手です。無料版でも簡易的な3Dモデルの作成が可能です。

これらの方法で、簡易的な3D地形モデルを作成できます。


0 件のコメント:

コメントを投稿