乙Py先生のプログラミング教室
初学者のためのプログラミング学習サイト

ディープフェイク

今回は星野源さん結婚記念ということで
クロちゃんと合成してみました。


解説動画はこちら


さて
先日結婚を発表された星野源さん

非常に悔しいと
日本国民は思っていると思うので
クロちゃんと合成してみました。

やってみると
星野ベースの場合
目元は意外に違和感は無く
クロちゃんだよって言われても
気がつかない人も多いかもしれません!!

逆にクロちゃんベースの輪郭は
特徴ありすぎて
すぐにクロちゃんだって解っちゃいますねwww

意外と合う部分もあり
共通点は少なくないのかもとか
思った次第でした。

二十年後の姿としては
アリかもしれませんねwwww

どのような結果になったのかは
動画をご覧くださいませ。

それでは。

ディープフェイクを使った動画作成で
初めて逮捕者が出たと言うニュースがあったので
ディープフェイクについてです。


解説動画はこちら


改めてディープフェイクが何かについて
語っていきたいと思います。


ディープフェイクとは?

現状の定義では
AI技術の一種であるディープラーニングと
フェイクを組み合わせた造語で

ディープラーニングを使って
真実ではないコンテンツを
制作する行為を指すようです。

単に本当かどうか見分けがつかないほど
精巧に加工されたコンテンツを作る
という意味で使われることが
多くなっているようです。


どう言う事が出来てしまうか?

次のような事が挙げられます。

・アダルトコンテンツの捏造
・スキャンダルの捏造(犯罪行為等)
・政治的な偽情報(嘘の政策、嘘の発言)

昔はやったアイコラの動画版を作ったり
犯罪行為をでっち上げる

言っていない発言をしたと嘘のニュースを
流して世論を操作するなど
嘘を世の中にばらまく事が出来てしまいます。

大きな被害を受けるのは著名人、政治家
と言うことになりますね。



どう言う手法があるか?

3段階ほどあると見ています。

1.顔のパーツを入れ替える(眉目鼻口)

これは比較的簡単な方法で
静止画のパーツを切り出して
他の画像にはっ付けているだけです。

当サイトでやっている奴は
ほとんどこれです。
スクリーンショット 2020-10-03 16.18.35
目だけ変える、鼻と口だけ変える
のようなことも出来ます。

しかし、この場合、輪郭やほっぺたあたりは
変えていないので
元の画像の人と上に載せる画像の人が
ある程度似通っていないと
違和感が大きくなります。

ですので、あくまでも人と人を合体的な
合成になります。


2.顔を全て入れ替える

本人や他人の顔を丸ごと別の顔に入れ替える方法です。

この場合は顔の輪郭や髪型など
全て本人であるので違和感が少なくなります。

これにより、言ってもいない事を言わせたり
逆の意味の発言をさせたりと言う事が出来てしまいます。

download

参考:
ザッカーバーグのFake動画

現在の映画は元の動画をブルーバックで
撮影しておいて、CGで合成していますね。

それの簡易版だと思っていただけると
良いかなと思います。


3.全てCG

現在のフェイク動画は元の動画の
一部分だけを挿げ替えると言う物です。

今後は存在しない人物を1から作ったり
場所や事象もCGで全て再現できてしまうでしょう。

そうなるとフェイクかどうか
見分けはつかなくなっていきます。


どういう技術を用いているか?

よく使われている技術は
次のような物です。

1.顔認識技術(opencv)
人間の顔がどこにあるのかを判別する

2.ディープラーニング(pytorch)
挙動による変化を学習させる(顔の向き、表情)

参考リンク:
First Order Motion Model for Image Animation 

自分がやっているのは1のopencvを用いた
静止画のすげ替えです。

動画になってくると、もっと複雑な計算をしないと
非常に違和感の大きな動画になってしまいます。

そこで出てきたのがディープラーニングです。
顔の向きや表情などによる、微細な変化を学習し
動画に反映させる事で、違和感を小さくする事が出来ます。

個人でやる場合、学習にコストが掛かりますので
暇人でない限りはあまり長い時間の
動画は作れないでしょう。



法律に引っかかるか?

元の動画素材が自分で作成したものでないものを
使用している場合は著作権違反になるでしょう。

著名人の名誉を既存するようなコンテンツを
作成した場合は名誉毀損に該当するでしょう。

今回逮捕されたケースでは
元々の動画素材が他人が作成した物であるので
そこで著作権違反として上げる事が出来ます。

その上で個人の名誉を傷つけるような
内容であれば、名誉毀損の部分も
出てくると思われます。


なので、動画素材を自分で撮影し
有名人に似ている程度なら
ギリセーフの可能性はありますね。

どこまでが白でどこからが黒なのか

当方はグレーゾーンで
動画を作っています。



対策方法は?

Facebookなどは対策ツールを提供しています。

すげ替えた場合、顔色の濃淡などが
人間では分からないレベルで違っている部分があり
そこで見分けているようです。 

しかしフェイク動画を作る側は
その対策ツールに引っかからない手法を
新たに開発するので、対策ツールとの
いたちごっこが続いている状況です。

完全CGの時代が来たら
ツールでの判別は不可能になる事でしょう。

考えられる手としてはブロックチェーンなどで
動画がどこで作成されたのかを
保証する仕組みを作っておくしかないだろうと
見ています。


何に使える、良い事ある?

現状では有効に活用できるシーンは
少ないですねーーー。

例えば芸能人の不祥事で撮影済みのドラマを
取り直しせずに代役に変更するとか

アクションシーンの顔を本人に直すとか
現行のCG制作と似たような事でしか
活用方法は無さそうですね。



まとめ

昔はCG制作会社くらいにしか
こう言うコンテンツを制作できませんでしたが

今は個人でも簡単な動画なら加工できてしまう
ツール類も出てきてしまっています。

ディープフェイクで芸能人の動画を
勝手に作ると捕まります。
真似はしないでください。

対策ツールで見破れる物も有るが
現状はいたちごっこの最中です。

今後は動画を誰が撮ったか
フェイク動画ではない事を
保証する仕組み作りが
今後の社会課題になると思います。


本日は以上です。
それでは。

次期総理を決める戦いの真っ最中ということで
スガさんをムキムキにしてみました。

解説動画はこちら



官房長官たるもの
強くなければならないですからね!!

opencvを用いれば画像の加工とかできますので
やりたい方は頑張ってみてくださいね。

ディープフェイクレベル1の問題です。
つまり、誰でも出来てしまうような
レベルの問題だということですね。


プログラムを作ってやってみた結果
良い出来の一部をお送りしたいと思います。

往年の映画スターに合成
スクリーンショット 2020-09-06 15.03.51

一国の総理大臣として
力で問題を解決してくれそうな顔つきですねーー

スクリーンショット 2020-09-06 15.04.01

こちらも往年の映画スターに合成
東南アジアの問題を現地に乗り込んで
解決してくれそうな趣があります。

せっかくだから
毛を生やしてみましょう。

スクリーンショット 2020-09-06 15.04.40


全然生えませんでしたーーーー
誠にすいまメーーんwww

今回は最近ハマっているフワちゃんの顔を
色々な人の顔のパーツと交換してみました。

解説動画はこちら



フワちゃん
最近めっちゃくちゃ好きで
よく見かけます。

テレビでよく見かけるのは
好感度が高いからなんだと思います。

ではなぜ好感度が高いのか?

顔のパーツにヒントが有るのではないかと
睨んでいます!!

と言う訳で
顔のパーツを交換するプログラムを作って
検証してみました。

交換できるパーツは
・目
・鼻
・口
この3つです。

色んな人と顔のパーツを交換してみると
仮説としては


口元の力が強い

んじゃないかと言う仮説です。

まずは自分の大好きな人同士で
スクリーンショット 2020-08-16 16.40.23

クロちゃんにフワちゃんだと
綺麗なクロちゃんですねーーー

好感度が千倍くらいになっていそうwww。

スクリーンショット 2020-08-16 16.40.42

ナダルにフワちゃんは
キンコメ今野さんっぽさが出ますね。

スクリーンショット 2020-08-16 16.40.56

石原さとみさんに
フワちゃんを混ぜると
なーんか、西野七瀬さん感が有るんですけど
類似度は30%くらいでしょうか?

色々変えて試したところ
口元を変えた時の印象の変化が大きいと感じました。

逆にフワちゃんに他の人の顔を合成してみると

スクリーンショット 2020-08-16 16.41.11

一気にフワちゃん感が消失しますね。
口元を変えた時の印象が一番大きいと感じました。

と言うことで
彼女の印象を強めているパーツは



なんだろうと思います。

マスクとかしていたら
魅力は半減してしまいますね!!!

クロちゃんにフワちゃんを合成した時の
口元の変化も大きいので

彼女の魅力、印象の大きいパーツは
口で決まりです!!

今回はこれまでです
それでは。

動画で動いている人を静止画の人と入れ替えるモデルが
公開されているのでご紹介です。


解説動画はこちら




コードなどはこちら
First Order Motion Model for Image Animation 

動画で動いている人を静止画に置き換えるようです。

いろんなサンプルが置いてありますね。
スクリーンショット 2020-04-26 15.20.22

GoogleColabで動くコードもあります。
自分のドライブにコピーして
上から実行していけば試すこともできますね。
スクリーンショット 2020-04-26 15.25.22


コードの中で
source_image = imageio.imread('/content/gdrive/My Drive/first-order-motion-model/02.png')
driving_video = imageio.mimread('/content/gdrive/My Drive/first-order-motion-model/04.mp4')

とあるので、ここのpngとmp4を変えてあげれば
自分の好きな動画を作る事が出来ると思います。

変換後のサイズがあまり大きくないので
256x256くらいの画像、動画が良いだろうと思います。

感触としては
・髪が顔に被らない
・背景なし
・メガネなし
にしてあげると上手くいくかなと思います。

単純に静止画を入れ替えるのと変わらないわけで
画像同士が似ている方が上手くいきやすいですね。

興味がある方は試してみてはどうでしょうか。

今日はこれまでです
それでは

このページのトップヘ