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/



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

関連記事

SSII 2014 デモンストレーションセッションのダイジェ...

Russian3DScannerのトポロジー転送ツール『Wr...

HD画質の無駄遣い

Quartus II

書籍『イラストで学ぶ ディープラーニング』

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

AfterEffectsプラグイン開発

書籍『OpenCV 3 プログラミングブック』を購入

MFnMeshクラスのsplit関数

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

DCGAN (Deep Convolutional GAN)...

YOLO (You Only Look Once):ディープ...

スクラッチで既存のキャラクターを立体化したい

MB-Lab:Blenderの人体モデリングアドオン

Verilog HDL

LuxCoreRender:オープンソースの物理ベースレンダ...

Konashiを買った

Pythonの自然言語処理ライブラリ『NLTK(Natura...

画像生成AI Stable Diffusionで遊ぶ

C++の抽象クラス

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

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

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

PeopleSansPeople:機械学習用の人物データをU...

WordPressのテーマを自作する

FCN (Fully Convolutional Netwo...

Multi-View Environment:複数画像から3...

Unityの各コンポーネント間でのやり取り

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

UnrealCLR:Unreal Engineで.NET C...

OpenCVの三角測量関数『cv::triangulatep...

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

サンプルコードにも間違いはある?

GAN (Generative Adversarial Ne...

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

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

Active Appearance Models(AAM)

ニューラルネットワークと深層学習

3分の動画でプログラミングを学習できるサイト『ドットインスト...

Mean Stack開発の最初の一歩

Dlib:C++の機械学習ライブラリ

Google XML Sitemap Generatorプラ...

コメント