写真から3DCGモデルをつくる SurveyFromPhoto

カメラでリアル物体を撮影することで形状解析を行い、3DCGモデルを生成する技術というか手法がある。
職人技によるモデリングを行わなくても3DCGモデルが作れるということで、工数を減らしたい3DCGデザイナーや絵が苦手な人が主に注目しているように思われる。
レーザーレベルやスリット光を使った光切断方式ではDAVIDTri-Coderなどがあるし、業務用の3Dスキャナもこれの大がかりなものである。
最近人気なのが、カメラで撮影するだけで立体モデルが作れるといった手法。業務用のZScannerシリーズなんてのがこれにあたるけれども、2009年末にはWEBカメラで撮影するだけで立体モデルが作れる”ProFORMA”なる研究が発表されて話題になった(WIREDVISIONの記事)。
ProFORMAはマーカーレスAR(PTAM)を3Dスキャナに応用したような形だけれども、こういった3Dスキャナに使われている技術とか解析技術とか大本はだいたい同じようなところにある。
それをいかに簡素に自動解析で行うかというのがトレンドなんだけれども、物体の特徴点抽出や画像処理を行ったことがある人間にとっては汎用で行うことは難しいというのがなんとなく見えることだろう。平たく言えば使い物になるレベルかといったら少々難しいといったところで。

しかしまあ、どれくらい不完全なのかも含めて色々と試してみたくなるのが好奇心というやつですな。
問題となるところは特徴点の自動抽出とかなわけだからそのあたりを人間の手でやったらどんな感じなのだろうというのが以前から頭にはあったのです。そんな時に見つけたのが今回紹介するフリーウェア ”SurveyFromPhoto”
対象物をいろんな角度から撮影した写真を何枚か用意して、その複数写真内で共通している空間を点で指定することで立体形状のヒントとするといったアプリ。測量とか測定とかの方面からのアプローチらしいけれども、写真から3DCGモデルを作るといった部分をみても十分に面白いので試してみるのですよ。
sfp_ss09.jpg


最初に取り込みたい物体をいろんな角度から撮影した写真を用意する。
まんべんなく全方位であった方がよいのだけれども、後々その写真をモデルのテクスチャとして使うため8枚程度にとどめておいた方が良い。それ以上はグラフィックカードによるけれども、8か16がテクスチャ枚数の制限数なはず。
sfp_ss01.jpg
これをずががががっと SurveyFromPhoto に投入。

sfp_ss02.jpg sfp_ss03.jpg
箱の角に点を打ち番号を振っていく。複数写真間で同じ部分が見えていたらそれら全部に同じ番号の点を打っていくのが主な作業。
位置解析のためには10点以上が必要らしく、単純に立方体の角8個では足りなかったので適当に辺の中点あたりを追加している。

sfp_ss04.jpg
投入点を位置解析し、自動ポリゴン変換するとこのような立体モデルを生成してくれる。

sfp_ss05.jpg
SurveyFromPhoto からの形状エクスポートでテクスチャ情報がついているのは、VRML と mqo(メタセコイア形式)の二つ。これはメタセコイアLEで読み込ませてみたところ。

sfp_ss06.jpg
続いては難しい形状。公園にあった水飲み台。
結局のところ共通点指定がポリゴンの頂点となるので、ポリゴンモデリングをしているのとだいたい同じである。それゆえに直線形状じゃないと難しいとか、ちゃんとした形にするにはポリゴン数を増やすしかないとか面倒な事になっていく。

sfp_ss07.jpg
エッジヒントも与えられるけど、ここまでいくと本当にポリゴンモデリングと同じだね。

sfp_ss08.jpg
割と根性が足りないあたりで形状生成した結果。
写真がまずくて写っていない点があったりしたために少々残念な結果に。
まあ、このおおざっぱな形で出力して3DCGモデラー上でさらに分割とか、リトポロジーで再生成するためのあたりとかに使うという手もあるかもしれない。

sfp_ss09.jpg
そんなこんなで手作業でこういった形状を作るのと、自分でモデリングするのを比べたら後者の方が早そうなのでなんとなくめんどくせえとか使えないとか思いがちなのはしかたないところなのかもしれない。
しかし、こういった技術で楽になる分野というのも確かにあって、そのためにどういったところで使えるか、どういった特性を持つのかといったことを半手作業で体験していくのは大切なことではないだろうか。
SurveyFromPhoto はデジカメ一つで楽しめるので、気軽に試してみて欲しい。




You can follow any responses to this entry through the RSS 2.0 feed. You can skip to the end and leave a response. Pinging is currently not allowed.

Leave a Reply