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/



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

関連記事

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

プログラムによる景観の自動生成

libigl:軽量なジオメトリ処理ライブラリ

今年もSSII

UnityのAR FoundationでARKit 3

Mayaのレンダリング アトリビュート

AR (Augmented Reality)とDR (Diminished Reality)

OpenVDB:3Dボリュームデータ処理ライブラリ

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

Amazon Web ServicesでWordPress

映画『ブレードランナー 2049』のVFX

Raspberry Pi 2を買いました

OpenGV:画像からカメラの3次元位置・姿勢を推定するライブラリ

Qlone:スマホのカメラで3Dスキャンできるアプリ

Kinect for Windows V2のプレオーダー開始

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

OpenCV 3.1とopencv_contribモジュールをVisual Studio 2015で...

Paul Debevec

『ローグ・ワン/スター・ウォーズ・ストーリー』"あのキャラクター"のメイキング

GoB:ZBrushとBlenderを連携させるアドオン

顔検出・認識のAPI・ライブラリ・ソフトウェアのリスト

『ゴジラ キング・オブ・モンスターズ』のVFXブレイクダウン

頭蓋骨からの顔復元と進化過程の可視化

OpenCV 3.3.0 contribのsfmモジュールのサンプルを動かしてみる

MFnDataとMFnAttribute

OpenMVS:Multi-View Stereoによる3次元復元ライブラリ

顔追跡による擬似3D表示『Dynamic Perspective』

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

Seleniumを使ったFXや株の自動取引

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

Managing Software Requirements: A Unified Approach

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

3D Gaussian Splatting:リアルタイム描画できるRadiance Fields

このブログのデザインに飽きてきた

映画『シン・ウルトラマン』 メイキング記事まとめ

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

Live CV:インタラクティブにComputer Visionコーディングができるツール

Google App Engine上のWordPressでAmazonJSを利用する

AmazonEC2のインスタンスをt1.microからt2.microへ移行する

畳み込みニューラルネットワーク (CNN: Convolutional Neural Network...

CGAN (Conditional GAN):条件付き敵対的生成ネットワーク

GoogleのDeep Learning論文

コメント