AI(GANベース)による人の成長過程の予測

python

Pythonで画像処理してみたいです。

このような要望にお応えします。

人の成長過程予測

人が将来どのように成長していくか、あるいは過去にどのように見えていたかを予測することができるのであれば興味深いですよね。人の成長、老化現象には、パターンが存在するのでしょうか。

最近、ロシア発の画像加工アプリ「FaceApp」がSNSで流行したそうです。

  • 日本人が超ハマる「FaceApp危険説」は本当か(https://toyokeizai.net/articles/-/359018)
  • 老け顔アプリ「FaceApp」への過剰反応は、“もっと大きな危険”を覆い隠すことになる(https://wired.jp/2019/07/20/faceapp-privacy-backlash-facebook/)

例えば、FaceAppではAIを用いて、写真上の人物を若返らせたり、老化させたり等の加工ができます。つまり、AIを用いて人の成長過程を予測することができるということですね。

多くの人が成長過程予測に興味があるということでしょうか?

FaceApp以前にも成長過程を予測するような様々なアプリ、手法などが提案されているようですので興味深いのですかね。

例えば、2014年?にワシントン大学の研究者の方達は、幼い子供の顔が映った写真が1枚あれば、年齢につれて変化する様子を80歳まで自動的に生成できるソフトウェアを開発したそうです。

  • 写真1枚で「未来の顔」を自動生成するソフトウェア (https://wired.jp/2014/04/18/ageing-faces/)
  • Automated age-progression software lets you see how a child will age (https://www.washington.edu/news/2014/04/09/see-what-a-child-will-look-like-using-automated-age-progression-software/)


そして2020年、AI技術を用いて、写真上の人物の年齢進行と過去の状態について予測することが行われています。

Lifespan_Age_Transformation_Synthesis

  • https://github.com/royorel/Lifespan_Age_Transformation_Synthesis

今回は、上記の手法を試してみたいと思います。
既存の加齢法の多くは質感の変化に限定されており、人間の老化や成長過程で生じる頭部の形状の変化を見落としています。
そのため、今回試す手法では、学習された潜在空間が連続的な双方向の老化過程をGANベースでモデル化したネットワークアーキテクチャを提案されています。このネットワークは年齢、性別、意味的セグメンテーションのラベル付けを行ったFFHQデータセットを用いて学習されているそうです。

この研究では、主に以下の貢献がなされているとのことです。詳しくは、論文を参照ください。

  1. 寿命年齢合成のための形状変換とテクスチャ変換の両方を可能にしたこと
  2. 新しいマルチドメイン画像変換GANアーキテクチャの提案
  3. ラベル付きFFHQデータセットをコミュニティで共有すること

論文:Lifespan Age Transformation Synthesis

  • https://arxiv.org/pdf/2003.09764.pdf

それでは、人の成長過程を予測してみましょう。

人の成長過程予測のためのAIツールは、以下を参考にさせていただきました。

  • https://github.com/royorel/Lifespan_Age_Transformation_Synthesis

実行環境は、colaboratoryを用いています。下記を参考にさせていただきました。

  • https://colab.research.google.com/github/royorel/Lifespan_Age_Transformation_Synthesis/blob/master/LATS_demo.ipynb

人の成長過程予測ツールの使用

Google Colaboratoryの準備

・Googleのアカウントを作成します。
・Googleドライブにアクセスし、「新規」→「その他」から「Google Colaboratory」の順でクリックします。そうすると、Colaboratoryが起動します。

・Colaboratoryが起動したら、以下のコマンドをCoalboratoryのセルに入力し実行します。
そうすることで、Googleドライブをマウントします。

・実行後、認証コードの入力が促されます。このとき、「Go to this URL in a browser」が指しているURLにアクセスしgoogleアカウントを選択すると、認証コードが表示されますので、それをコピーしenterを押します。これでGoogleドライブのマウントが完了します。

成長過程予測モデルの準備

Google Colaboratoryの「ランタイム」→「ランタイムのタイプ変更」でGPUを選択します。

ツールをダウンロードする場所に移動します。 本記事では、マイドライブにツールをダウンロードします。

gitからツールをダウンロードします。

ダウンロードしたフォルダまで移動します。

ツール実行に必要となるライブラリをインストールします。

学習済みモデルをダウンロードします。

ツール実行時に必要となるパラメータを設定します。

予測モデルを構築します。

予測したい画像をgoogle driveにアップロードします。

下記を実行することで、入力画像に写る人物の成長過程を予測することができます。

下記を実行することで、出力結果がmp4ファイルとして保存されます。
該当ファイルは、resultsフォルダに保存されています。(本稿では、chromeブラウザを使用しています。)

出力結果

出力結果は、以下になります。

今回は、GANベースの人の成長過程予測モデルを試してみました。
人の成長過程の予測については、今回手法の論文のrelated worksにもあるように様々な研究がありますので、それらについて試してみるのもいいですね。

以下を参考にさせていただきました。

  • https://github.com/royorel/Lifespan_Age_Transformation_Synthesis
  • https://arxiv.org/pdf/2003.09764.pdf
  • https://grail.cs.washington.edu/projects/lifespan_age_transformation_synthesis/
  • https://colab.research.google.com/github/royorel/Lifespan_Age_Transformation_Synthesis/blob/master/LATS_demo.ipynb
タイトルとURLをコピーしました