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

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



ウィロー [Blu-ray]

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



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



当時小学生だったオイラでも「あ、モーフィングだ」と思った記憶があるので、当時でももうそれほど目新しい表現ではなかったかもな。
今見ると、いかにも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/



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

関連記事

MFnMeshクラスのsplit関数

COLMAP:オープンソースのSfM・MVSツール

NumSharp:C#で使えるNumPyライクな数値計算ライ...

OpenFace:Deep Neural Networkによ...

fSpy:1枚の写真からカメラパラメーターを割り出すツール

Adobeの手振れ補正機能『ワープスタビライザー』の秘密

Swark:コードからアーキテクチャ図を作成できるVSCod...

AmazonEC2のインスタンスをt1.microからt2....

Blendify:コンピュータービジョン向けBlenderラ...

Unityで強化学習できる『Unity ML-Agents』

JavaScriptとかWebGLとかCanvasとか

ManuelBastioniLAB:人体モデリングできるBl...

python-twitterで自分のお気に入りを取得する

Digital Emily Project:人間の顔をそっく...

Polyscope:3Dデータ操作用GUIライブラリ

Unityで画面タッチ・ジェスチャ入力を扱う無料Asset『...

プログラミングスキルとは何か?

Fast R-CNN:ディープラーニングによる一般物体検出手...

Photogrammetry (写真測量法)

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

OpenCVの超解像(SuperResolution)モジュ...

OpenCV 3.1とopencv_contribモジュール...

Unreal Engineの薄い本

iOSデバイスと接続して連携するガジェットの開発方法

映画『ジュラシック・ワールド』のVFXメイキング

Kaolin:3Dディープラーニング用のPyTorchライブ...

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

OpenMVS:Multi-View Stereoによる3次...

ゴジラ(2014)のディティール制作の舞台裏

OpenGVの用語

OpenCVでPhotoshopのプラグイン開発

MVStudio:オープンソースのPhotogrammetr...

Webスクレイピングの勉強会に行ってきた

OpenCV 3.1から追加されたSfMモジュール

機械学習に役立つPythonライブラリ一覧

Unity ARKitプラグインサンプルのチュートリアルを読...

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

Iterator

HD画質の無駄遣い その2

UnityのMonoBehaviourクラスをシングルトン化...

PyTorch3D:3Dコンピュータービジョンライブラリ

立体視を試してみた

コメント