フォトグラメトリーやってみました
みなさん、フォトグラメトリーって知ってますか。 恥ずかしながら自分はついこの間知りました。とても恥ずかしかったので、払拭するために実際にやってみることにしました。
フォトグラメトリーとは
フォトグラメトリとは、3次元の物体を複数の観測点から撮影して得た2次元画像から、視差情報を解析して寸法・形状を求める写真測量のこと。 航空写真から地図の等高線を作成するために発達した手法で、最近ではデジタルカメラを用いた3次元測定機(3D CMM)に応用されている。(weblio辞書より)
らしいっす。はい、見せた方が早いっすね。こちらがフォトグラメトリーという技術を使って駅を3次元化したものらしいです。(お借りします)
フォトグラメトリおもろいなー pic.twitter.com/ZVnxU44KuE
— masanaga (@tasklong) March 11, 2018
使ったソフト・環境
- AutodeskのRECAPとRECAP Photo
- MeshLab
- WindowsPC
を使って作成しました。また、こちらの記事を参考に進めました。ところどころ仕様?が変わってることころがあり、その差分を含めて説明したいと思います。
製作フロー
RECAPをダウンロード(自分はStudentの権限を使ってPro版を手に入れることができました)。また、テストデータセットとして97枚の井戸の写真がここに入ってます。
この
new project
からphoto to 3D
を選択Create 3D
のObject
を選択作成したオブジェクトの写真群を選択し、project titleを設定してcreate
すると
MyCloudDrive
に作ったprojectが作成されてダウンロードができるようになりますまたweb上では3Dviewができるようになっています
.obj形式でダウンロードすることもでき、MeshLabなど3D編集ソフトへのimportなども可能です
研究室のデスク周りを3次元化してみた
とりあえず身の回りのものを3次元化してみようと思ったので、研究室の自デスク周りを撮ります。
- 動画をとってそこから画像を切り出します
- だいたい2分の動画をとって700フレームに切り出しました
- ちょっとここで不満点が。どうやらrecap photoは100枚の画像までしか扱えないようです。せっかく700枚も用意したのに...
- 仕方がないので100枚単位で3次元化させてみました。次やるときはこれに気をつけよう。。。
とここまでやってきたのですが、結果はどれもエラーが吐かれてしまいました。
なんでだろう。後から動画から手でスクショ撮ってたやつと混ぜて作ったら手動でスクショしたやつのみで3次元化されたから、なにやらffmpegが悪さしてる...? これは15枚入れて9枚が使用された結果です。
もうちょい精度あげられるな pic.twitter.com/9Dj72Wbz9x
— ざわざわ (@zawazawatw) August 18, 2018
もうちょっと精度あげたい
せっかくなので、いい感じになるように動画ではなく手動でたくさんの写真を撮ります。どこまで精度が上がるのか知りたい。
- 手動で根気よく100枚写真を撮ります
- あとは同じフローで3次元化してやります
- 結構時間かかります(30分ぐらいかな)
- できた
前よりはたくさんの正しいメッシュが生成されてる感じ!だいたい100枚中50枚くらいがつかわれた感じだ。ちゃんと認識してくれる撮り方とかアングルが分かったので次やるときはもうちょいうまくできるかな。
...なかなか難しいんごねぇ pic.twitter.com/OzJG70Sl6E
— ざわざわ (@zawazawatw) August 18, 2018
写真から3次元空間を構築する技術は他にも方法が色々あって、今回はそのうちの1種類を試してみました。