顔の特徴から3Dモデル生成&他人の顔に入れ替えることもできる「3D Face Reconstruction」
「3D Face Reconstruction」は画像やムービー内の人物の顔から3Dの顔モデルを生成することができます。生成した顔モデルは目などの一部だけを別の人物の顔に合成したり、顔全体を置き換えたりすることも可能です。
GitHub - YadiraF/PRNet: The source code of 'Joint 3D Face Reconstruction and Dense Alignment with Position Map Regression Network'.
https://github.com/YadiraF/PRNet
3D Face reconstructionは上海交通大学のヤオ・フェン氏が発表した論文である「(PDFファイル)Joint 3D Face Reconstruction and Dense Alignment with Position Map Regression Network」をもとに、同氏自らが実際に実装したものです。
3D Face reconstructionの主な機能としては、以下の5点が挙げられています。
◆顔の位置検出
人物の画像から顔部分を特定し、顔面にある頂点の位置を検出します。なお、正面を向いていない画像でも合成は可能ですが、画像から確認できない部分を3Dモデル化することはできないとのこと。
◆3D顔合成
画像から各頂点に対応する色を取得して、顔モデルを作り上げます。
◆顔角度の判定
画像内の人物が、どの方向を向いているのかを正確に割り出すことで、別の顔を合成するときの違和感をなくすことが可能です。
◆奥行きの認識
以下の画像のように、斜めの角度で写っている人物の顔を3Dモデル化しても、目から離れた位置に耳があるような3Dモデルを作ることはなく、違和感のない位置関係を再現できます。
◆テクスチャ編集
人物の顔を3Dモデル化することで、以下のように人物の顔にアニメキャラクターの目を合成することや……
トランプ大統領の顔をいろいろな人物の顔として置き換えることも可能です。
また、GPUを使えば3Dモデルを高速に生成できるとのことで、GeForce GTX 1080を使用した場合は100fps以上のムービーからリアルタイムに顔モデルを生成できるそうです。実際にリアルタイムに顔モデルを生成している様子は以下のムービーで確認できます。
Joint 3D Face Reconstruction and Dense Alignment with Position Map Regression Network - YouTube
3D Face ReconstructionはPython 2.7で開発されており、インストール方法や実行させるために必要なライブラリについては、3D Face Reconstructionのドキュメントで説明されています。
・関連記事
赤外線を顔に当てることで顔認識システムをだますことができる可能性を科学者が指摘 - GIGAZINE
Amazonが顔認識ソフトを警察に販売していることが判明、国民の監視に乱用される可能性アリとして警鐘が鳴らされる - GIGAZINE
イギリスの警察で運用される自動顔認証システムは「極めて不正確な精度で運用も不透明」と批判の声 - GIGAZINE
謎の企業がFacebookやYouTubeなどから収集した膨大な画像から顔認識データベースを構築していることが明らかに - GIGAZINE
縦横比を無視したリサイズをしても違和感のない画像に仕上げることができる画像リサイズ用ライブラリ「Caire」 - GIGAZINE
・関連コンテンツ