【img2img-turbo-sketch】ラフスケッチからリアルタイムで高画質な画像を生成!

img2img-turbo-sketch ラフスケッチ リアルタイム 高画質 画像 生成

Stable Diffusionなどのようにプロンプトを入力して、画像を生成するAIサービスは増えています。しかし、手書きの絵からリアルな画像を生成できるAIサービスがリリースされたことをご存知でしょうか?

img2img-turbo-sketchを発表したツイートは11万回以上表示されており、多くの注目を浴びています。

この記事では、img2img-turbo-sketchのgoogle colaboratoryでの導入方法や実際の使い方を解説していくので、ぜひ使用してみてください。

本記事を最後まで読むとgoogle colaboratoryでimg2img-turbo-sketchを使うことができるようになり、手書きの絵からリアルな画像を生成できます。

img2img-turbo-sketchをgoogle colaboratoryに導入するにあたってのつまづきポイントを紹介するので、最後まで読むことで、つまづくことなくimg2img-turbo-sketchを導入できます。

ぜひ最後までご覧ください。

目次

img2img-turbo-sketchの概要

img2img-turbo-sketchは最初に生成したい画像のプロンプトを入力します。

その後、input画面にマウスを使って絵を書いていくことで、アウトプット画面にプロンプトで指定したリアルな画像を生成できます。

生成できる画像のスタイルは、シネマティックや3Dアート、アニメ、ファンタジーアートなど全9種類から選択できます。

img2img-turbo-sketchの最大のポイントは、ワンステップ画像変換。

Stable Diffusionのように複雑なプロンプトを入力しなくても簡単に誰でもリアルな画像を生成できます。

img2img-turbo-sketchと従来の画像生成

DALL-EやStable diffusion、pix2pixなど従来の画像生成は、条件付き拡散モデルやペアデータが必要で、生成に時間がかかり複数のステップを必要とするため処理時間も長くなっていました。

しかし、今回紹介するimg2img-turbo-sketchは、CycleGAN-Turboおよびpix2pix-Turbo技術を活用した画像生成サービスです。これらの技術を組み合わせることで、ペアデータが不要となり、エンドツーエンドのアプローチにより処理時間が短縮され数秒で画像を生成できます。

CycleGAN-Turboは非ペアデータ設定で、pix2pix-Turboはペアデータ設定で使用されており、異なる種類のデータセットでも効果的に画像変換ができるようになりました。

ペアデータ・非ペアデータの両者を使えるようになったことで、様々な画像生成タスクに対して柔軟に対応できるため、画像生成のバリエーションが広がります。

例えば、日中の風景を夜の風景に変更したり、天候を雨から晴れにしたりできます。

参考:https://arxiv.org/html/2403.12036v1

img2img-turboのジェネレーターアーキテクチャ

img2img-turboのジェネレーターアーキテクチャは、潜在拡散モデルの3つをモジュール統合し、入力から出力までのステップが一貫して実行されるように設計されています。これにより、エンドツーエンドのプロセスが実現され、効率的な画像変換が可能です。

このアーキテクチャでは、各モジュールにLoRAアダプターを使用し、スキップ接続とZero-Convsを導入することで入力シーンの構造を保持しながら画像を変換。変換後の画像が変換前の特徴をしっかりと保つことができます。

この手法により、さまざまなGANの目的に応じた画像変換が可能になり、リアルタイムアプリケーションにも適用できるサービスとなっています。

簡単なスケッチから超高品質な画像を、リアルタイムで生成できる生成AIについては、以下の記事を合わせてご確認ください。
【flowty-realtime-lcm-canvas】リアルタイムで落書きをプロ並みの絵に変えてくれる画像生成AIを使ってみた

img2img-turbo-sketchのライセンス

img2img-turbo-sketchはMITライセンスで提供されており、無償で商用利用できます。

利用用途可否
商用利用⭕️
改変⭕️
配布⭕️
特許使用⭕️
私的使用⭕️
参考:https://github.com/GaParmar/img2img-turbo/blob/main/LICENSE

img2img-turbo-sketchの使い方

今回はimg2img-turbo-sketchをgoogle colaboratoryを使用して説明をします。google colaboratoryは有料契約しなくても、無料版で利用できますが、使用時間が限られるため長時間の利用を考えている場合には有料契約をしましょう。

img2img-turbo-sketchを動かすのに必要なPCのスペック

google colaboratoryのスペックは以下のとおりです。

■Pythonのバージョン:Python 3.10.12
■使用ディスク量:約13GB
■システムRAMの使用量:4.2GB
■GPU RAMの使用量:7.2GB

img2img-turbo-sketchを動かすためのgoogle colaboratoryの設定

img2img-turbo-sketchを使用するには、GPUを使う必要があるため、google colaboratoryのランタイムを変更しておきましょう。

「ランタイム」→「ランタイムのタイプを変更」→ハードウェアアクセラレータの「T4 GPU」にチェックを入れて、「保存」をクリック。

これでimg2img-turbo-sketchを使う準備ができました。

img2img-turbo-sketchを動かす

まずはGitからリポジトリのクローンと依存関係のインストールを行います。

!git clone https://github.com/GaParmar/img2img-turbo.git

続いてimg2img-turboディレクトリへ移動。

%cd img2img-turbo

img2img-turboディレクトリへ移動ができたら、必要なパッケージのインストールを行うため、以下のコマンドを実行します。

!pip install -r requirements.txt

ここでセッションのリスタートを求められるので、「セッションを再起動する」を選択します。

続いてCUDA 11.8に対応するPyTorch、TorchVision、およびTorchAudioライブラリをインストールします。

!pip install torch torchvision torchaudio --index-url

ここがつまづきポイントです。

先ほど、セッションの再起動を行っているので、もう一度ディレクトリの移動を行います。

%cd img2img-turbo

ディレクトリの移動を行わずに次の過程に進んでいくと、エラーが出ます。必ずディレクトリの移動を実行してから、次に進むようにしましょう。

ディレクトリの移動ができたら、gradioをインストールします。

!pip install gradio

gradioは機械学習モデルのデモを簡単に作成できるオープンソースのPythonライブラリです。

ユーザーはインタラクティブなWebインタフェースを作成し、画像やテキスト、音声などのデータを入力して、モデルの出力をリアルタイムで確認できます。

gradioのインストールが完了したら最後にimg2img-turbo-sketchを実行しますが、実行完了するまでに10分程度かかるので、気長に待ちましょう。

完了するとメッセージ下部に「Running on public URL」が表示されるので、その隣にあるhttpsから続くリンクをクリックします。

ここも注意が必要です。

「Running on local URL」にアクセスをすると、アクセスできずに終了します。必ず「Running on public URL」を利用してください。

「Running on public URL」をクリックすると、img2img-turbo-sketchの画面に遷移するので、これで画像を生成できます。

最強のリアルタイム画像生成AIについては、以下の記事を合わせてご確認ください。
【SDXL Turbo】最強のリアルタイム画像生成AI!使い方や導入方法、機能比較まで

img2img-turbo-sketchを実際に使ってみた

こちらの動画は実際にimg2img-turbo-sketchを使って月の画像を生成したものです。

プロンプトを1単語で指定して、あとはラフに絵を書くだけで、AIがハイクオリティな画像を生成してくれます。

さらに、スタイルを9種類から選べるので、求めている画像を簡単に生成可能です。

img2img-turbo-sketchで同じラフ絵から異なるスタイルの画像を生成

img2img-turbo-sketchでは、全9種類のスタイルから好きなスタイルを選択できます。

今回は生成した月をシネマティックからアニメ、ファンタジーアートを選択するとどのように変化するのか、みてみましょう。

生成された画像を見比べてみると、かなり印象が異なることがわかります。

img2img-turbo-sketchのプロンプトを少し複雑にする

img2img-turbo-sketchのプロンプトは1単語でも十分ハイクオリティな画像を生成してくれます。

しかし、もう少し複雑なプロンプトを入力するとどうなるでしょう?検証してみました。

こちらのプロンプトは「A cat basking in the morning sun in a park with lots of flowers around it on a sunny morning」です。

次は「cat」のみのプロンプトで生成します。

入力する絵は一切変えずにプロンプトを少し変更するだけで、かなり変わる結果でした。

DALL-EやStable Diffusionでプロンプト入力に慣れている方は、少し複雑なプロンプトを入力して、一枚の入力からさまざまな画像を作ることができますね。

リアルタイムで画像を生成できるText-to-Imageモデルについては、以下の記事を合わせてご確認ください。
【Real-Time Latent Consistency Model】リアルタイムで入力したプロンプトがすぐに画像になる高速画像生成AIを使ってみた

img2img-turbo-sketchは本当にワンステップ画像変換できるのか?

img2img-turbo-sketchを実際に使用してみて、推しポイントであるワンステップ画像変換は本当でした。

特にスタイルの変更はリストボックスから選択するだけで、簡単に画像生成が可能ですし、生成速度も従来の画像生成AIと比べると高速と言えるでしょう。

以下の表は、CycleGAN-Turboと他の手法の比較結果です。表1では一般的なCycleGANデータセットでの評価、表2では高解像度のドライブデータセットでの評価を行っています。

表1、表2ともに一番左が実装手法、Infrence timeは推論時間、FIDは画像品質、DINOは構造保持を表します。

表1と表2の結果から、CycleGAN-Turboとpix2pix-Turboは従来のCycleGANやCUTなどのGANベースの手法とSDEditやPlug&Playなどの拡散ベースの手法に比べて、推論時間や画像品質、構造保持が優れていることがわかります。

特に拡散ベースの手法に対しては、推論時間が大幅に短縮され、効率的な処理が可能。

このような高速処理ができるようになったことから、リアルタイムでワンステップ画像変換が実現したのでしょう。

まとめ

img2img-turbo-sketchはCycleGAN-Turboおよびpix2pix-Turbo技術を活用した画像生成サービスです。

多くの画像生成サービスは複雑なプロンプトを入力しなくてはいけません。しかし、img2img-turbo-sketchの推しポイントでもあるワンステップ画像変換によって、ラフな絵からワンステップで簡単に画像生成が可能です。

Stable DiffusionやDALL-3などのように複雑なプロンプトを入力しなくても、簡単なプロンプトとラフな絵だけで、ハイクオリティな画像を生成できます。

img2img-turbo-sketchは現在、一つの入力に対して一つの出力です。

将来的には一枚の画像だけではなく、複数の画像を一度に出力できるようになり、アニメーションやストーリーに則った絵が出力されるようになるかもしれませんね。

最後に

いかがだったでしょうか?

弊社では

・マーケティングやエンジニアリングなどの専門知識を学習させたAI社員の開発
・要件定義・業務フロー作成を80%自動化できる自律型AIエージェントの開発
・生成AIとRPAを組み合わせた業務自動化ツールの開発
・社内人事業務を99%自動化できるAIツールの開発
ハルシネーション対策AIツールの開発
自社専用のAIチャットボットの開発

などの開発実績がございます。

まずは、「無料相談」にてご相談を承っておりますので、ご興味がある方はぜひご連絡ください。

➡︎生成AIを使った業務効率化、生成AIツールの開発について相談をしてみる。

生成AIを社内で活用していきたい方へ
無料相談

「生成AIを社内で活用したい」「生成AIの事業をやっていきたい」という方に向けて、生成AI社内セミナー・勉強会をさせていただいております。

セミナー内容や料金については、ご相談ください。

また、サービス紹介資料もご用意しておりますので、併せてご確認ください。

投稿者

  • 中田

    データサイエンス専攻の大学院生。大学では、生成系AIの拡散モデルを用いた音楽生成について研究。 趣味は作曲、サッカー、コーヒー。

  • URLをコピーしました!
  • URLをコピーしました!
目次