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

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

1988 Industrial Light & Magic – "Willow" (morphing sequence)

ウィロー [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/

Face Morphing using OpenCV (C++ / Python)

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


スポンサーリンク

関連記事

Kinect for Windows V2のプレオーダー開始
PythonのStructure from Motionライブラリ『OpenSfM』
第1回 3D勉強会@関東『SLAMチュートリアル大会』
ROMOハッカソンに行ってきた
AMIMOTO(PVM版)で作成したインスタンスをAMIMOTO (HVM版)へ移行する
人体モデリングできるBlenderアドオン『ManuelBastioniLAB』
Raspberry PiでIoTごっこ
C#で使えるNumPyライクな数値計算ライブラリ『NumSharp』
写真に3Dオブジェクトを違和感無く合成する『3DPhotoMagic』
PythonのHTML・XMLパーサー『BeautifulSoup』
GoB:ZBrushとBlenderを連携させるアドオン
OpenCV
WordPressの表示を高速化する
定数
OpenCVでカメラ画像から自己位置認識 (Visual Odometry)
Deep Neural Networkによる顔の個人識別フレームワーク『OpenFace』
為替レートの読み方 2WAYプライス表示
オーバーロードとオーバーライド
プログラムによる景観の自動生成
Unity MonoBehaviourクラスのオーバーライド関数が呼び出される順番
Faceshiftで表情をキャプチャしてBlender上でMakeHumanのメッシュを動かすデモ
Point Cloud Libraryに動画フォーマットが追加されるらしい
Iterator
フィーリングに基づくタマムシの質感表現
OpenGVの用語
Russian3DScannerのトポロジー転送ツール『WrapX』
『ゴジラ キング・オブ・モンスターズ』のVFXブレイクダウン
OpenCVのfindEssentialMat関数を使ったサンプルを読んでみる
OpenCVの超解像処理モジュール『Super Resolution』
UnityのMonoBehaviourクラスをシングルトン化する
仮想関数
C++の抽象クラス
『手を動かしながら学ぶエンジニアのためのデータサイエンス』ハンズオンセミナーに行ってきた
網元AMIで作ったWordpressサイトのインスタンスをt1microからt2microへ移行した
OpenCV 3.3.0-RCでsfmモジュールをビルド
顔検出・認識のAPI・ライブラリ・ソフトウェアのリスト
映画『ジュラシック・ワールド/炎の王国』のVFXブレイクダウン まとめ
『ローグ・ワン/スター・ウォーズ・ストーリー』のVFXブレイクダウン まとめ
MFnMeshクラスのsplit関数
Mayaのシェーディングノードの区分
clearcoat Shader
C++始めようと思うんだ

コメント