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/



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

関連記事

Leap MotionでMaya上のオブジェクトを操作できる...

OpenMayaのPhongShaderクラス

オーバーロードとオーバーライド

Mechanizeで要認証Webサイトをスクレイピング

Pylearn2:ディープラーニングに対応したPythonの...

AMIMOTO(PVM版)で作成したインスタンスをAMIMO...

ディープラーニング

OpenCVの顔検出過程を可視化した動画

Accord.NET Framework:C#で使える機械学...

WordPressプラグインによるサイトマップの自動生成

参考書

Mitsuba 3:オープンソースの研究向けレンダラ

法線マップを用意してCanvas上でShadingするサンプ...

TorchStudio:PyTorchのための統合開発環境と...

チャットツール用bot開発フレームワーク『Hubot』

Managing Software Requirements...

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

MythTV:Linuxでテレビの視聴・録画ができるオープン...

DUSt3R:3Dコンピュータービジョンの基盤モデル

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

WordPressプラグインの作り方

iPadをハンディ3Dスキャナにするガジェット『iSense...

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

OpenMVSのサンプルを動かしてみる

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

Windows10でPyTorchをインストールしてVSCo...

Open Shading Language (OSL)

ベイズ推定とグラフィカルモデル

Twitter APIのPythonラッパー『python-...

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

DensePose:画像中の人物表面のUV座標を推定する

IronPythonを使ってUnity上でPythonのコー...

Google Chromecast

Blender 2.8がついに正式リリース!

Manim:Pythonで使える数学アニメーションライブラリ

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

BlenderProc:Blenderで機械学習用の画像デー...

trimesh:PythonでポリゴンMeshを扱うライブラ...

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

スーパープレミアム スペシャル時代劇 「荒神」

C++の抽象クラス

Mitsuba 2:オープンソースの物理ベースレンダラ

コメント