文書生成から画像生成へ、AI(Image GPT:GPT-2+BERTモデル)による画像生成。

python

画像処理がしたいです。

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

今回は、iGPT(Image GPT)を用いた画像生成をしてみます。

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

  • https://github.com/openai/image-gpt
  • https://openai.com/blog/image-gpt/
  • https://github.com/openai/image-gpt/issues/2
  • https://cdn.openai.com/papers/Generative_Pretraining_from_Pixels_V1_ICML.pdf
  • https://cdn.openai.com/papers/Generative_Pretraining_from_Pixels_V2.pdf

iGPTについて

OpenAIにより公開された文章を自動生成するモデルGPT-2は文章が完成度高く生成できるため、あまりにも危険過ぎると判断されるほどでした。そして、2020年、GPT-2のモデル構造を利用した画像生成を行うモデルが提案されています。モデル構造は、GPT-2を利用してピクセルの並びを予測し、低解像度にした上で1Dのシーケンスに変換し、Transformerに入力するようです。

モデル構造の詳細は、下記の論文を参照ください。

  • https://cdn.openai.com/papers/Generative_Pretraining_from_Pixels_V1_ICML.pdf
  • https://cdn.openai.com/papers/Generative_Pretraining_from_Pixels_V2.pdf

今話題のImage-GPT(GPT-2 + BERTモデル)による画像生成のプログラムが公開されていますので、使用してみました。入力画像の一部をトリミングし、該当箇所を補完して新たな画像生成を行います。

GPT-2を用いた文書自動生成について興味のある方は、下記にまとめていますので参照ください。

iGPT(Image-GPT)の実行環境の準備

Google Colaboratoryの準備

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

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

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

iGPT(Image GPT)の準備

ツールをダウンロードするフォルダに移動し、ダウンロードします。

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

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

ツール実行時に必要な学習済みモデル等のファイルをダウンロードします。

入力画像の変換処理を定義します。

入力画像保存先を作成します。cpコマンド等を使用して作成フォルダに入力画像を保存します。本記事では、data.pngとして保存しました。

Image-GPTの入力に対応するために画像サイズを変更します。

入力画像の一部をトリミングします。

下記のプログラムを実行することで、入力画像の補完を行い、新たな画像を生成することができます。

新たに生成した画像は、下記で確認することができます。

出力結果

AI(Image GPT:GPT-2+BERTモデル)による画像生成を行いました。文書生成から画像生成まで適用することができるGPTモデルはすごいですね。今後の発展も興味深いです。

タイトルとURLをコピーしました