最近は フォトグラメトリー(Photogrammetry)にかなりはまってます。立体物を二次元の通常の写真を撮ることにより3次元の3Dモデルを作成する技術です。
小さな物から大きな物まで、360°全方位から写真を撮り、その大量の写真をソフトウェア的に解析して撮影位置を特定して3Dモデルを作成できます。
既にそのフォトグラメトリーソフトはいろいろでていますが、その中で私が気に入っているのは「3DF Zephyr」。
このソフトを開発しているイタリアの 3Dflow社がチュートリアルをサイトにあげています。それを基にこのソフトの使用法を解説していこうと思ってます。
【3DF Zephyrのチュートリアル】
3Dflow社の以下のサイトにいくと多くのチュートリアルがあります。
このチュートリアルを順番に読んでいくと 3DF Zephyr がだいたい分かるようになります。そこで、私がそれらを順番にやっていった様子をこれからご紹介していこうと思ってます。参考になる追加情報なんかも加えながら説明していきます。
ちなみに、サイトの同じページに動画でのチュートリアルもあります。英語ですがこちらも分かりやすいですよ。
【チュートリアル #01 Getting startedの準備】
今回は一番最初のチュートリアル「Getting started」を説明していきます。
まず 3Dflow社のチュートリアルサイトの「#01 Getting started」をクリックするか、以下のURLから直接該当ページを開きます。
そして、使用するデータですが自分で撮影したデータを使うのも良いですが、撮影はまた技術が必要となります。ここではその部分の説明は省き、このサイトに用意されているデータセットをダウンロードして使います。(最終的にはこのページの最初にあった画像のような3Dモデルができます。)
同じページの「Step1-Getting ready」の部分にある「Download Dataset」をクリックします。
【基本的な作成フロー】
ここから、チュートリアルに沿って解説していきますが、全体のプロセスは以下の様になります。
1.カメラ画像の入力と粗い点群認識
2.詳細な点群認識とメッシュの作成
3.Textureの作成
4.3Dモデルファイルの出力
5.出力した3DモデルをUnityで使用(チュートリアルには含まれていません。)
【カメラ画像の入力と粗い点群認識】
3DF Zephyr を立ち上げます。フリー版でかまいません。
メニューから New Project を作成します。
Workflow > New Project
Project Wizardが表示されますので、そのまま「Next」をクリック。
次に Photo Selectionのページが表示されますので、「+」ボタンをクリックします。
画像選択画面から先ほどダウンロードした画像を選択します。先ほどダウンロードしたデータセットは65枚の画像が含まれています。フリー版の 3DF Zephyrを使用している場合50枚の取り込み画像の枚数制限があるので、単純に1枚目から50枚目を選ぶだけで問題ありません。
そして、「Open」をクリック。
「Next」をクリック。
カメラ Calibration設定画面もここでは修正しないまま「Next」をクリック。
次にカメラのOrientation設定画面でCategoryを「Close Range」に変更し、「Next」をクリック。
そして、最後に「Run」ボタンをクリック。
画像の認識が始まりますが、けっこう時間がかかると思います。
そして、サイトのデータセットを使っているので当然ですが、無事に全画像が認識できました。ここで、自分で撮った写真だとブレなのでいろいろな条件で認識ができな写真が出てくる可能性もあります。
こんな感じで粗い形で認識された点群が表示されます。
いったんここで終了し、この先は次回に。
Sponsored Link