photoscan検証4回目は人物スキャンです。

被写体は毎度おなじみのmagorokuが務めます。

IMG_1665

残念ながら今回も被写体はおっさんです

IMG_1662

おっさんがおっさんを撮影する光景

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

図1.撮影した写真の配置

 

 人物スキャンのために撮影した写真は58枚、そのうちポジションの重複により利用できなかった6枚を除いた52枚でスキャンを行いました。写真は全方向から撮影をしたのですが(*図1)、後頭部はうまく認識されず、3Dデータ化してみると、後頭部が空洞になってしまいました(*図2)。

 3DデータからMesh作成後、そのモデルをマスクにして被写体のマスクを作成、その後、手動でマスクを修正していき再スキャンをして、スキャンデータの精度を上げました(*図3)

 マスクをきれいに抜いたことで、上半身全体の輪郭、そして口周りのデータの精度があがり、唇をはっきりとデータ化することができました。

 

 

 

Face01

図2. 3DPointデータ、後頭部はデータ化できず、顔面の裏が見えている

 

 

図3. 写真のマスクを切り、精度を上げた結果

 

 

  次に、 データのMesh化とテクスチャーを作成しました。Mesh変換はHigh、Middle、Low、Customと設定があり、Customではポリゴン数を設定することができます。手順として、Meshにする場合にはCustomで0にすることで最も細かいポリゴン数にすることができ、まず始めに0でMesh化を行い、その後、LowでMesh化しました。(結果が図4)Lowで変換したデータはSolid表示ではポリゴンが認識できますが、Customで変換したデータは表面ののポリゴンが認識できないほど細かくなりました。Wireframe表示してみると、そのポリゴンの細かさが分かるかと思います。

 ポリゴン数は最高ポリゴン設定で2083736、Highで128821、Middleで60760、Lowで20253(すべて三角ポリゴン数)となりました。

 

Face_ply

図4. 3Dポリゴンデータ化

 

Face02

図5. Mesh化したデータ(左側)とテクスチャを作成したデータ(右側)

 

 

 

  photoscanではスキャンしたデータからテクスチャを生成することができます。テクスチャ生成もいくつか設定があり、デフォルトのGeneric、Adaptive orthophoto、orthophoto、Single photoと4種類あり、テクスチャ生成時にUVも生成されます。チュートリアルではGenericを使用する方法が載っていましたが、今回はすべての方法で同じモデルのテクスチャを生成してみました。その結果が下図になります。

 

 

 

texture_face

図6. Texture作成(左からSingle,orthophoto,Adaptiveorthophoto,Generic)

texture

図7. 出力されたテクスチャ(並びは図6と同様)

 

 

 

  Single photoは1枚の写真からテクスチャと生成するもので、平面マッピングと同じ考え方だと思われます。陰影部分は生成できずに黒くなっています。orthophotoはHelpによると、orthographic projectionによる生成(詳しくはWikipediaのorthographic projection を読んでください)で、きれいに開いたテクスチャ及びUVになっていますが、左頬に傷のようなずれができてしまいました。Adaptive orthophotoはorthophotoで処理しきれない部分を分割してUVを生成する方式で、orthophotoよりもUVは細分されましたが、きれいにテクスチャが適用されています。ただ、ところどころテクスチャが重複しているのか、穴のようになっているところが存在しています。

 Genericで生成されたテクスチャは細かいポリゴン単位で分割されており、UVも編集しづらいデータになっています。その分、適用されたモデルはつなぎ目もなく、最もきれいに適用されています。

 

 以上で、人物のphotoscanを行った結果です。

 人物スキャンについては、ユーザー事例として小島プロダクションTEN 24 での使用例が上がっていますが、やはり事例で上がっているように撮影場所や照明、カメラの台数や設置方法を整えてスキャンをすると精度の高いモデルに仕上がるのだと思います。

  ただ、今回我々が使用したカメラはミラーレス1眼、コンパクトデジカメ、Nexus5、iphone5の4種類で、どこにでもあるカメラであり、特別な機材を使用したわけでもなく、撮影も教室で行っており、どこにでもある機材、場所でのスキャン結果として捉えてもらえるとよいかと思います。

 実際に自分たちでphotoscanを行ってみるといろいろと問題点や改善点が見えてきます。まず、撮影方法は撮影者が移動しながら撮影しているので、撮影時間が数分かかってしまい、撮影対象者が動いてしまう可能性が高く、スキャンしずらい写真になってしまいます。撮影環境も例えばグリーンが張ってあるところ、もしくは一面同色の撮影スタジオで撮影したほうがマスクを抜くのも早く、抜いたマスクも正確に抜けて、スキャンの精度が上げられると考えられます。