リアルタイムで性別変換してしまう話題のカメラフィルターのすごさをAI研究者が分析

男性が自分の顔をカメラで写すと瞬間的に顔が女性に変化し、顔の向きを変えたり表情を変えるとリアルタイムでその変化が「女性の表情」として表現される……といったことが可能な性別交換フィルターを写真共有アプリのSnapchatがリリースしました。もちろん女性から男性への変換も可能で、あまりの精度の高さゆえ、フィルター目的で新たにSnapchatをインストールする人が続出するほどの機能となっており、AIを開発するGoogle Brainチームのエリック・チャンさんがこのフィルターのすごさについて分析しています。

Eric Jang: Fun with Snapchat's Gender Swapping Filter
https://blog.evjang.com/2019/05/fun-with-snapchats-gender-swapping.html

Snapchatがリリースした「性別交換フィルター」がどんなものなのかは以下から確認可能。カメラが男性の顔を認識すると、瞬間的に女性の顔に変換されます。しかも顔の動きや表現はリアルタイムに女性に変換されていくので、もはや女性を撮影しているとしか思えません。
https://twitter.com/JoseMPadilla4/status/1127353860052475906

フィルターを利用して1人デュエットを実現させる人もいました。
https://twitter.com/EkEkMabaho/status/1127857876888801280

チャンさんは自身のブログで「機械学習アルゴリズムを使ったことがある人が見れば、この機能は魔法のように強力です」と述べています。

一体どういう仕組みなのだ?ということで、チャンさんは実際にアプリをダウンロードして性別交換フィルターには何ができて何ができないのかを実際に確かめてみたとのこと。まず、以下の3枚の写真のうち中央が無加工のチャンさんで、左側が「男性フィルター」、右側が「女性フィルター」を追加したもの。
https://i.gzn.jp/img/2019/05/14/snapchats-gender-swapping/001.jpg

フィルターの特徴の1つがインターネット接続なしでリアルタイムで性別交換をやってのけるということ。帽子を脱ぐときの髪の表現まで自然です。クリックするとGIFアニメーションで帽子を脱ぐ瞬間を見ることが可能。帽子に手をかけて…………
https://1.bp.blogspot.com/-b2wOAc5YD9E/XNi00oUE6DI/AAAAAAAAQQw/XVzyfLMTXdcg00hJIJdMgE8hBPVTUYbMQCLcBGAs/s1600/beanie.gif

後ろ方向に帽子をずらしていくと、それに合わせて髪の毛がふわっとした動きつきで現れます。

場所の明るさ・暗さを問わずにフィルターは適用されますが、髪のかげは本人の体に落ちません。

ただし、髪は光源の影響を受けます。以下の写真を見ると左側の髪がしっかりと光を反射していることがわかります。フィルターが光源を反映するため、性別交換後の様子も非常に自然に見えるわけです。

※中略

このフィルターはSnapchatがこれまで収集してきた何十億というデータを利用したものであり、「機械学習アルゴリズム『CycleGAN』を使っているのではないか?」というのがチャンさんの印象です。CycleGANはGANでスタイル変換する手法の1つで、形状や位置がバラバラな画像からでも学習して変換が可能になります。チャンさんは、ペアになっていないオブジェクトをグラウンド・トゥルースでペアにした限定的なデータセットを用いることで、CycleGANは正則化しているとみています。

また、顔と髪は別々のレイヤーで合成されており、「アルファチャンネルでGANが利用されているのを見たのはこれが初めてだ」とチャンさん。髪が全てGANで生成されているかどうかは微妙なところだそうですが、ハイライトの変化や障害物によって髪色が変わるところは、データから学習していることを示しているそうです。一方で、髪の表現が非常に安定しているがために完全にGANで生成されているかどうかには疑いがあるとしています。東南アジアの男性の顔が東アジア系の女性のヘアスタイルに代わるアプリは少なく、ここから大量のヘアスタイルのライブラリがあることも推測できるとのことです。

https://gigazine.net/news/20190514-snapchats-gender-swapping/
2019年05月14日 19時00分 Gigazine
https://twitter.com/5chan_nel (5ch newer account)