zawazawa雑記

フォトグラメトリーやってみました

みなさん、フォトグラメトリーって知ってますか。 恥ずかしながら自分はついこの間知りました。とても恥ずかしかったので、払拭するために実際にやってみることにしました。

フォトグラメトリーとは

フォトグラメトリとは、3次元の物体を複数の観測点から撮影して得た2次元画像から、視差情報を解析して寸法・形状を求める写真測量のこと。 航空写真から地図の等高線を作成するために発達した手法で、最近ではデジタルカメラを用いた3次元測定機(3D CMM)に応用されている。(weblio辞書より)

らしいっす。はい、見せた方が早いっすね。こちらがフォトグラメトリーという技術を使って駅を3次元化したものらしいです。(お借りします)

使ったソフト・環境

  • AutodeskのRECAPとRECAP Photo
  • MeshLab
  • WindowsPC

を使って作成しました。また、こちらの記事を参考に進めました。ところどころ仕様?が変わってることころがあり、その差分を含めて説明したいと思います。

shiropen.com

製作フロー

  1. RECAPをダウンロード(自分はStudentの権限を使ってPro版を手に入れることができました)。また、テストデータセットとして97枚の井戸の写真がここに入ってます。

  2. このnew projectからphoto to 3Dを選択 f:id:zawazawahtn:20180818182004p:plain

  3. Create 3DObjectを選択 f:id:zawazawahtn:20180818182008p:plain

  4. 作成したオブジェクトの写真群を選択し、project titleを設定してcreate f:id:zawazawahtn:20180818182016p:plain

  5. するとMyCloudDriveに作ったprojectが作成されてダウンロードができるようになります f:id:zawazawahtn:20180818182024p:plain

  6. またweb上では3Dviewができるようになっています f:id:zawazawahtn:20180818182020p:plain

  7. .obj形式でダウンロードすることもでき、MeshLabなど3D編集ソフトへのimportなども可能です

研究室のデスク周りを3次元化してみた

とりあえず身の回りのものを3次元化してみようと思ったので、研究室の自デスク周りを撮ります。

  1. 動画をとってそこから画像を切り出します
    • やり方は色々あると思うのですが、自分は最終的にffmpegを使いました。フリーソフト色々試してみたけどどれもクソ。ffmpeg使いやすい。
  2. だいたい2分の動画をとって700フレームに切り出しました
  3. ちょっとここで不満点が。どうやらrecap photoは100枚の画像までしか扱えないようです。せっかく700枚も用意したのに...
  4. 仕方がないので100枚単位で3次元化させてみました。次やるときはこれに気をつけよう。。。

とここまでやってきたのですが、結果はどれもエラーが吐かれてしまいました。

なんでだろう。後から動画から手でスクショ撮ってたやつと混ぜて作ったら手動でスクショしたやつのみで3次元化されたから、なにやらffmpegが悪さしてる...? これは15枚入れて9枚が使用された結果です。

もうちょっと精度あげたい

せっかくなので、いい感じになるように動画ではなく手動でたくさんの写真を撮ります。どこまで精度が上がるのか知りたい。

  1. 手動で根気よく100枚写真を撮ります
  2. あとは同じフローで3次元化してやります
  3. 結構時間かかります(30分ぐらいかな)
  4. できた

前よりはたくさんの正しいメッシュが生成されてる感じ!だいたい100枚中50枚くらいがつかわれた感じだ。ちゃんと認識してくれる撮り方とかアングルが分かったので次やるときはもうちょいうまくできるかな。

写真から3次元空間を構築する技術は他にも方法が色々あって、今回はそのうちの1種類を試してみました。

おしまい