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/



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

関連記事

OpenCVで平均顔を作るチュートリアル

Geogram:C++の3D幾何アルゴリズムライブラリ

フィーリングに基づくタマムシの質感表現

Raspberry PiのGPIOを操作するPythonライ...

JavaScriptとかWebGLとかCanvasとか

OpenMayaのPhongShaderクラス

U-Net:ディープラーニングによるSemantic Seg...

Amazon EC2ログイン用の秘密鍵を無くした場合の対処方...

GoogleのDeep Learning論文

Open Shading Language (OSL)

OpenGVの用語

PyDataTokyo主催のDeep Learning勉強会

WordPressプラグインの作り方

MPC社によるゴジラ(2014)のVFXブレイクダウン

手を動かしながら学ぶデータマイニング

ニューラルネットワークで画像分類

第1回 3D勉強会@関東『SLAMチュートリアル大会』

Raspberry Pi 2のGPIOピン配置

CGレンダラ研究開発のためのフレームワーク『Lightmet...

Human Generator:Blenderの人体生成アド...

『スター・ウォーズ 最後のジェダイ』のVFXブレイクダウン ...

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

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

OpenMayaRender

CGのためのディープラーニング

OpenCV 3.3.0 contribのsfmモジュールの...

Unity ARKitプラグインサンプルのドキュメントを読む

白組による『シン・ゴジラ』CGメイキング映像が公開された!

CGWORLD CHANNEL 第21回ニコ生配信は『シン・...

オープンソースの人体モデリングツール『MakeHuman』の...

オープンソースのロボットアプリケーションフレームワーク『RO...

Konashiを買った

Composition Rendering:Blenderに...

3D Gaussian Splatting:リアルタイム描画...

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

Structure from Motion (多視点画像から...

iPhone x ロボットハッカソン~RomoのiPhone...

UnityでLight Shaftを表現する

機械学習について最近知った情報

UnrealCLR:Unreal Engineで.NET C...

池袋パルコで3Dのバーチャルフィッティング『ウェアラブル ク...

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

コメント