ドローン空撮ビデオ・写真から3DCGモデルを生成する / Meshroomとblenderの使い方
Meshroom とは、2020年7月に設立された非営利団体ALICEVISION協会が開発した、複数の写真を読み込んで3Dモデルを生成することができるフリーのソフトウェアです。 ドローンで撮影した空撮ビデオを複数の写真に分解して、Meshroomで処理すると、".obj"形式の3DCGオブジェクトを生成することができます。 ここでは、空撮ビデオから3DCGオブジェクトを生成し、フリーの3Dモデリングソフト:blenderで取り込んで編集・表示するまでを解説します。
Meshroom オフィシャルサイト
Free software that lets your drone scan the world (dronedj)
Free software that lets your drone scan the world (Part II) (dronedj)
Show this page in English
もくじ
空撮ビデオから3DCGモデルを生成するのに必要なもの
必要なものはドローンとパソコン、そしてフリーソフトのみです。今回使用した機材は・・・ドローンは初心者でも扱える DJI Mini2 です。4K解像度、フレームレート30FPSの空撮ビデオを使用しました。
パソコンは性能が良ければ良いほど早く処理が終わります。 とはいえ今回使用したパソコンは2011年に組んだもので、CPUはCOREi7-2600、メモリは8GB、グラフィックボードはNVIDIA GeForce GTX 1060(3GB)を搭載しています。 これでMeshroomを使って613枚の写真を処理すると、3Dモデルを生成するのに約24時間かかりました。
フリーソフトは ビデオをjpeg画像に分解するのに VLC media player 、 そして Meshroom と 3Dモデリングソフト blender の3つだけです。
完成したモデルは3DCGとして自由な方向から映像化したり、3Dプリンタを使って立体化することも可能です。
今回3Dモデル化に挑戦したのは、日本の初代南極観測船「宗谷」です(下のビデオ)。
DJI Mini 2の説明書 重量199gの4Kビデオ空撮ミニドローン
初代南極観測船「宗谷」
YouTubeで見る
手順をビデオで紹介
まずは今回の手順をビデオで簡単に紹介しましたので、ご覧ください。
ドローン空撮ビデオから3DCGモデルを生成する
YouTubeで見る
ビデオから静止画を取り出す
Meshroomの入力には静止画が必要です。 ドローンで撮影したビデオは静止画に分割する必要があります。 これにはフリーのビデオ再生ソフト:VLC media playerが使えます。 この手順の詳細については下記をご覧ください。項目 | 設定値 |
---|---|
画像形式 | jpg |
画像の幅 | 3840 |
画像の高さ | 2160 |
レコーディングレシオ | 30 |
なお、海(水面)などの鏡面、光を反射して白飛びしている部分、影に入って黒くなっている部分など、位置や形が確定しずらい部分は正しくモデル化されません。
今回、被写体を4K/30FPSで空撮した合計13分ほどのビデオを使い、それを3840x2160ピクセルのjpeg画像に分解しました。被写体がうまく写っていない写真を削除して、残りの合計613枚の写真を利用しました。
VLC media player オフィシャルサイト
Meshroomのインストール
また、Meshroomを動作させるには、パソコンに NVIDIA CUDA ( cuda-10 / compute capability 3.0 - 7.5 ) に対応したビデオカードを搭載している必要があります。 2015年の製品である NVIDIA GeForce GTX 960 搭載のビデオカードでも動作したので、最近のNVIDIAのビデオカードを増設していれば問題ないと思います。
Meshroomにはインストーラーはありません。 Meshroomをダウンロードすると「Meshroom-2021.1.0-win64.zip」といったファイルが得られます。 ただこれを任意のフォルダで解凍すればインストール完了です。
Meshroom オフィシャルサイト
Meshroomで写真を3DCGモデル化
とりあえず最低限の手順で写真を3DCGモデル化してみましょう。なお、このコンソール画面は最後まで閉じないでください。
そして画面上部中央にある緑色の「Start」ボタンをクリックすると処理が開始されます。
なお処理結果データの出力容量は、処理する写真の枚数によって変化し、41枚で3GB程度、今回の613枚の写真の場合は30GB程度となります。
画面下部の「Task Manager」タブをクリックすると、「Progress」欄に、より詳しい進捗状況がグラフ表示されます。 実行中のタスクがオレンジで、完了したタスクが緑色で表示されます。
実行中のタスクをクリックすると、画面右下に、さらに詳細な情報が表示されます。
Meshroom オンラインマニュアル
処理結果は、プロジェクト(".mg"形式ファイル)を保存したフォルダの下の 「MeshroomCache/Texturing/[記号フォルダ]」の下に格納されます。 3Dモデル(ポリゴンデータ)が".obj"形式のテキストファイルで、マテリアル(テクスチャファイルの名前とUV座標に関する情報)が".mtl"形式のテキストファイルで、またテクスチャ画像が複数の".png"形式で生成されます。
3Dビュアーで簡易表示
".obj"形式の3Dモデルは、Windows10に標準でインストールされている「3Dビュアー」でも表示することができます。つづいて3Dモデリングソフト:blenderを使って、不要なポリゴンを削っていきます。
blenderのインストール
blenderのインストーラーをダウンロードすると「blender-2.93.1-windows-x64.msi」といったファイルが得られます。 これをダブルクリックするとインストールできます。 インストールに当たっては、特に注意するところはありません。 画面の指示に従えばOKです。
blender オフィシャルサイト
blenderのダウンロードページ
この画面は、[ESC]キーを押すか、このダイアログボックスの外をクリックすると、消えます。 これでblenderを使う準備ができました。
blender オンラインマニュアル
blenderでobjファイルを読み込む
なお、マウスのホイールをスクロールするとズームイン/ズームアウトします。また、[Shift]キーを押しながらドラッグすると、オブジェクトの表示位置を変更できます。 マウスのクリックホイールを押しながらドラッグすると、視点を回転させることができます。
blenderでオブジェクトを移動・回転する
ひっくり返っているオブジェクトを、ワールド座標系の中心に移動し、X,Y,Z軸に合わせて回転しましょう。なお、マウスのホイールをスクロールするとズームイン/ズームアウトします。また、[Shift]キーを押しながらドラッグすると、オブジェクトの表示位置を変更できます。 マウスのクリックホイールを押しながらドラッグすると、視点を回転させることができます。
必要に応じて、上の手順を繰り返して、オブジェクトの中の、ターゲットのポリゴン群がワールド座標の中心に来るように調整してください。
blenderで不要なポリゴンを削る
なお、マウスのホイールをスクロールするとズームイン/ズームアウトします。また、[Shift]キーを押しながらドラッグすると、オブジェクトの表示位置を変更できます。 マウスのクリックホイールを押しながらドラッグすると、視点を回転させることができます。
穴が閉じていれば、さらにこれを3Dプリンタで印刷して立体化することも可能です。 下記のサイトをご参照ください。
Free software that lets your drone scan the world (dronedj)
Free software that lets your drone scan the world (Part II) (dronedj)
ドローン撮影 お台場ガンダムユニコーン 4K
YouTubeで見る