本記事では、DragGANと呼ばれる機械学習手法を用いてGUIから画像を編集する方法をご紹介します。
DragGAN
概要
DragGANは、画像の任意の点を「ドラッグ」し、ユーザーと対話的な方法でGANを制御し画像を操作するImage Manipulation技術です。
従来技術では、手動で付与した注釈によって、GANを制御しており、柔軟性に欠けることがありました。
DragGANでは、ドラッグしたポイントを目標点に向かって移動するように操作するfeature-based motion supervision(特徴ベースのモーション監視)と、ポイントをローカライズし続けるための新しいpoint tracking approachの2つの主要コンポーネントにより柔軟な画像操作を実現しています。
詳細はこちらの論文をご参照ください。
本記事では上記手法を用いて、DragGANによる画像操作を行います。
デモ(Colaboratory)
それでは、実際に動かしながら画像操作を行っていきます。
ソースコードは本記事にも記載していますが、下記のGitHubでも取得可能です。
GitHub - Colaboratory demo
また、下記から直接Google Colaboratoryで開くこともできます。
なお、このデモはPythonで実装しています。
Pythonの実装に不安がある方、Pythonを使った機械学習について詳しく勉強したい方は、以下の書籍やオンライン講座などがおすすめです。
おすすめの書籍
[初心者向け] Pythonで機械学習を始めるまでに読んだおすすめ書籍一覧
本記事では、現役機械学習エンジニアとして働く筆者が実際に読んだ書籍の中でおすすめの書籍をレベル別に紹介しています。
おすすめのオンライン講座
[初心者向け] 機械学習がゼロから分かるおすすめオンライン講座
本記事では、機械学習エンジニアとして働く筆者が、AI・機械学習をまったく知らない方でも取り組みやすいおすすめのオンライン講座をご紹介しています。
環境セットアップ
それではセットアップしていきます。 Colaboratoryを開いたら下記を設定しGPUを使用するようにしてください。
初めにGithubからソースコードを取得します。
次にライブラリをインストールします。
以上で環境セットアップは完了です。
学習済みモデルのセットアップ
ここでは、学習済みモデルをGoogle Colabにダウンロードします。
Run DragGAN
それでは、DragGANを動かしていきます。
以下では、Gradioを用いてWebアプリを起動しています。
上記を実行して表示されるpublic URLにアクセスします。
アクセスすると以下のようなDragGANによる画像編集が可能なWebアプリを操作できます。
操作方法はこちらなどをご参考下さい。
以下は、口角を操作してみた結果です。
まとめ
本記事では、DragGANを用いた画像操作の方法をご紹介しました。
ライセンスの問題がクリアされれば、商業的に様々なアプリケーションに利用されそうです。
また本記事では、機械学習を動かすことにフォーカスしてご紹介しました。
もう少し学術的に体系立てて学びたいという方には以下の書籍などがお勧めです。ぜひご一読下さい。
また動かせるだけから理解して応用できるエンジニアの足掛かりに下記のUdemyなどもお勧めです。
参考文献
1. 論文 - Drag Your GAN: Interactive Point-based Manipulation on the Generative Image Manifold
0 件のコメント :
コメントを投稿