iOS端末でGANを利用して画像を生成する by だいすけ

iOSDC Japan 2020
採択
2020/09/21 14:40〜
Track D
レギュラートーク(40分)

iOS端末でGANを利用して画像を生成する

JackdeS11 だいすけ JackdeS11

機械学習の「画像生成」モデルもモバイルアプリ(iOS)にのせられます。これによりAI画像生成アプリをつくれます。例えばアニメキャラクターを生成したり、自撮り写真を西洋絵画に変換したりできます。
DCGAN、Pix2Pix、CycleGAN、UGATIT、これらはGANという画像生成技術の応用です。このトークでは上記モデルをモバイル用CoreML形式に変換し、iOS端末上で画像を生成する為の方法を紹介します。本番ではスムースに変換するためのTipsを盛り沢山でお話します。GANのコードを完全に理解している必要はありません。勘所をつかめば、TensorFlowやPytorchといったPythonベースのモデルをCoreML形式に変換して、アプリに組み込むことができます。
変換手順
1, トレーニング済みモデルを用意しよう
GitHubに多くの生成モデルが利用しやすいライセンスで公開されています。今回は、GoogleチュートリアルやGitHubのモデルを紹介し変換します。
2, 「Generator」を見つけよう
GANはGenerator(生成する)とDiscriminator(判別する)で構成されており、アプリで使用するのはGeneratorです。
何百行に渡るGANコードを全て理解する必要はなく、この「Generator」をソースコード内でうまく見つけるのが変換作業の勘所となります。そのコツを説明します。
3, CoreMLToolsで変換しよう
変換スクリプトはシンプルです。ただし変換オプションの指定も必要なので、元のモデルから必要なオプションを特定する方法を説明します。
4, アプリで使おう
Visionフレームワークを使用します。
画像形式の出力を取得するには、OSSを利用するか、モデル形式を少し変更する作業が必要です。その方法を説明します。