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/



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

関連記事

RefineNet (Multi-Path Refineme...

機械学習で遊ぶ

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

トランスフォーマー :リベンジのメイキング (デジタルドメイ...

WinSCP

仮想関数

OpenGVのライブラリ構成

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

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

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

ZScript

Super Resolution:OpenCVの超解像処理モ...

Deep Learningとその他の機械学習手法の性能比較

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

UnityのTransformクラスについて調べてみた

PCA (主成分分析)

BGSLibrary:OpenCVベースの背景差分ライブラリ

AR (Augmented Reality)とDR (Dim...

Open3D:3Dデータ処理ライブラリ

DCGAN (Deep Convolutional GAN)...

OpenCV

ポリゴン用各種イテレータと関数セット

Google App Engine上のWordPressでA...

オープンソースの物理ベースレンダラ『Mitsuba』をMay...

CycleGAN:ドメイン関係を学習した画像変換

BlenderのPython環境にPyTorchをインストー...

C++ 標準テンプレートライブラリ (STL)

WordPressのテーマを自作する

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

書籍『仕事ではじめる機械学習』を読みました

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

UnityでLight Shaftを表現する

3D復元技術の情報リンク集

ゴジラ(2014)のメイキング

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

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

SegNet:ディープラーニングによるSemantic Se...

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

疑似3D写真が撮れるiPhoneアプリ『Seene』がアップ...

立体視を試してみた

Gource:バージョン管理の履歴を可視化するツール

uvでWindows11のPython環境を管理する

コメント