OpenCVで顔のモーフィングを実装する

映画の視覚効果で初めてモーフィング技術が使われたのは映画「ウィロー」だとILMのドキュメンタリーで見た記憶がある。



ウィロー [Blu-ray]

まだ3DCGはもちろん、デジタルな視覚効果そのものが珍しかった1988年の映画だ。画像を変形させてシームレスに別の画像へ変化させて見せる「モーフィング」という表現は、旧来のオプティカル合成では到底考えられないビジュアルだった。



邦画でも90年代中頃から結構使われていた気がする。「モスラ2 海底の大決戦」でモスラが水中モードへ変身するビジュアルもモーフィングだ。

https://www.youtube.com/watch?v=JxXZjuw-VPI

当時小学生だったオイラでも「あ、モーフィングだ」と思った記憶があるので、当時でももうそれほど目新しい表現ではなかったかもな。
今見ると、いかにも2次元な処理でのっぺりして見える。

モスラ3部作 Blu-ray(3枚組)

時は流れ、2Dの画像加工はそれほど珍しいものではなくなり、モーフィング処理の演算コストも今時のパソコンなら気にならないレベルだ。最近は、モーフィング表現単体で驚くようなことも無い。AfterEffectsなど、この手のアプリケーションでは当たり前のように搭載されている。
http://tv.adobe.com/jp/watch/335/4863/

単純なモーフィング Creative COWのリーダーであるエラン・スターンがタイムリマップとピクセルモーションを使用して単純なモーフィングを作成する方法をご紹介します。

前置きが長くなったけど、OpenCVとDlibを使って顔画像のモーフィングを実装するチュートリアルを見つけた。ソースコードも配布されています。↓
https://www.learnopencv.com/face-morph-using-opencv-cpp-python/



現在は顔の器官を自動で検出することができるから、顔画像同士のモーフィングを自動で処理できるわけですね。

関連記事

CGAN (Conditional GAN):条件付き敵対的生成ネットワーク

映画『シン・ウルトラマン』 メイキング記事まとめ

『シン・ゴジラ』のコンセプトアニメーションのメイキング動画が公開された

AnacondaとTensorFlowをインストールしてVisual Studio 2015で使う

AmazonEC2のインスタンスをt1.microからt2.microへ移行する

映画『パワーレンジャー』スーツのメイキング

RSSフィードを読込んで表示するWordpressプラグイン『RSSImport』

『ハン・ソロ/スター・ウォーズ・ストーリー』のVFXブレイクダウン まとめ

顔追跡による擬似3D表示『Dynamic Perspective』

映画『ミュータント・タートルズ』を観てきた

ブログが1日ダウンしてました

Open3D:3Dデータ処理ライブラリ

写真から3Dメッシュの生成・編集ができる無料ツール『Autodesk Memento』

畳み込みニューラルネットワーク (CNN: Convolutional Neural Network...

動的なメモリの扱い

OpenMVS:Multi-View Stereoによる3次元復元ライブラリ

『スター・ウォーズ/スカイウォーカーの夜明け』のVFXブレイクダウン

WordPress on Google App Engineを1週間運用してみて

『スター・ウォーズ フォースの覚醒』のVFXブレイクダウン まとめ

AfterEffectsプラグイン開発

SONY製のニューラルネットワークライブラリ『NNabla』

Pythonのソースコードに特化した検索エンジン『Nullege』

Pix2Pix:CGANによる画像変換

UnrealCV:コンピュータビジョン研究のためのUnreal Engineプラグイン

OpenCV3.3.0でsfmモジュールのビルドに成功!

libigl:軽量なジオメトリ処理ライブラリ

C++の抽象クラス

Python2とPython3

『パシフィック・リム: アップライジング』のVFXブレイクダウン まとめ

Adobe MAX 2015

3D復元技術の情報リンク集

映画『シン・仮面ライダー』 メイキング情報まとめ

ブログの復旧が難航してた話

MythTV:Linuxでテレビの視聴・録画ができるオープンソースプロジェクト

OpenCVの超解像(SuperResolution)モジュールを試す

SVM (Support Vector Machine)

AMIMOTO(PVM版)で作成したインスタンスをAMIMOTO (HVM版)へ移行する

HD画質の無駄遣い その2

UnityでShaderの入力パラメータとして行列を渡す

Point Cloud Utils:Pythonで3D点群・Meshを扱うライブラリ

書籍『3次元コンピュータビジョン計算ハンドブック』を購入

ブログのデザイン変えました

コメント