【InstantDrag】ドラッグ操作だけで画像編集できるAIツールでモナリザの顔を変えてみた
人物画像を編集したいと思ったこと、ありませんか?
笑顔を足したり、表情を少し変えてみたり、もっと簡単にできたら…と感じたことがある方も多いはず。
そんな願いを叶えてくれるのが「InstantDrag」です!
この技術を使えば、ドラッグ操作だけで直感的に画像を編集でき、しかもその結果が1秒以内にリアルタイムで反映されます。
本記事ではモナリザの画像を笑顔にしてみます!ぜひ最後までご覧ください。
InstantDragの概要
InstantDragは、ドラッグベースの画像編集における新たな技術で、ユーザーのドラッグ操作を用いて高速かつ高精度な編集が可能です。
ユーザーがドラッグ操作を行うと、FlowGenとFlowDiffusionという2つの主要モデルが働き、リアルタイムで編集を完了させます。
FlowGenとFlowDiffusionの機能と特徴をまとめます。
- FlowGen(光学フロー生成器):
- RGB画像とユーザーのドラッグ操作に基づき、密な光学フロー(動きの方向や強さ)を生成するモデル。
- Pix2Pixフレームワークを使用して訓練され、2チャンネルの光学フローを出力。
- ユーザーのドラッグ操作を精密に反映し、直感的な編集が可能。
- FlowDiffusion(拡散モデル):
- FlowGenが生成した光学フローを元に、画像を自然に編集。
- Stable Diffusion v1.5をベースとし、10チャンネルの入力(画像、光学フロー、ノイズなど)を使ってU-Netアーキテクチャで編集を進行。
- マスクやテキストプロンプトなしでスムーズな編集を実現。
これにより、従来の編集手法で必要とされていたマスクやテキストプロンプト、最適化処理が不要となり、より直感的で迅速な操作が可能になります。
InstantDragは、リアルタイムでのドラッグ編集を可能にするだけでなく、特定の編集が反映されるまでの遅延をほとんど感じさせません。
以下の画像のように、ユーザーがドラッグ編集を入力してから、約1秒ほどで結果が表示されます。
ユーザーの操作がすぐに反映されるため、直感的な操作体験が得られます。
例えば、顔の表情の変更や物体の移動など、編集内容をリアルタイムで確認しながら進めることができます。
InstantDragは、主に実世界の顔動画データセット(CelebV-Textなど)で訓練されており、特に顔の編集において優れた結果を示しています。
ただし、一般的なデータでも学習しているため、顔以外に対しても一定程度の精度で編集可能です。
このような技術を用いて構築されたInstantDragは、他の最新のドラッグベース編集技術と比較して、より高速で精度の高い結果を提供しています。
この結果を見ると、InstantDragが他と比較して圧倒的に高速であり、ベンチマークでも高いスコアを獲得していることが分かります。
また、人間による評価実験でも、操作の追従性、編集後のアイデンティティ保持、全体的な好感度において高評価を得ています。
ここからは、InstantDragを実際に使ってその性能を確かめていきます。
なお、ドラッグ操作で画像を動画化できるDragNUWAについて詳しく知りたい方は、こちらの記事をご覧ください。
InstantDragのライセンス
InstantDragは、Apache-2.0 licenseのもとで提供されているため、ライセンス上は商用利用や再配布等が可能になっています。
利用用途 | 可否 |
---|---|
商用利用 | ⭕️ |
改変 | ⭕️ |
配布 | ⭕️ |
特許使用 | ⭕️ |
私的使用 | ⭕️ |
ただし、作成者によって研究または教育目的での使用に制限されており、商用利用する場合は個別で問い合わせが必要です。
InstantDragの使い方
ここからは、ローカルでInstantDragを使用する方法を解説します。
まずはPytorchをインストールします。
pip install torch==2.2.2 torchvision==0.17.2 torchaudio==2.2.2 --index-url https://download.pytorch.org/whl/cu121
次にその他の必要なパッケージをインストールします。
pip install transformers==4.44.2 diffusers==0.30.1 accelerate==0.33.0 gradio==4.44.0 opencv-python
ここまで完了したら、InstantDragのリポジトリをクローンします。
git clone https://github.com/SNU-VGILab/InstantDrag.git
クローン完了後、demoディレクトリに移動。
cd InstantDrag/demo
ここで以下のコマンドで、run_demo.pyを実行してください。
CUDA_VISIBLE_DEVICES=0 python run_demo.py
すると、Guradio WebUIが起動してInstantDragが使用可能になります。
InstantDragの実行に必要な要件
InstantDragは、2つのディープラーニングモデルを使用してリアルタイムで画像を編集するため、高性能なGPUや大規模なメモリが必要になることが想定されます。
公式から具体的な要件は公表されていませんが、予想される要件をまとめます。
- GPU::NVIDIA RTX 3080やそれ以上の高性能なGPUが推奨される。
- RAM:モデルの実行には少なくとも16GB以上、可能なら32GB以上のメモリが望ましい。
- ストレージ:モデルやデータセットのサイズを考慮すると、SSDでの高速な読み書きが必要。
- ソフトウェア環境:PyTorchやTensorFlowなどの深層学習フレームワーク、およびCUDAのセットアップが必須。
もしこのような環境が無い方は、Google ColabでA100やL4 GPUを用いることで問題なく実行できます。
なお、ラフスケッチからリアルタイムで高画質な画像を生成できるimg2img-turbo-sketchについて詳しく知りたい方は、こちらの記事をご覧ください。
InstantDragで画像編集をしてみた!
ここからは、InstantDragを使用して、いくつかの画像をドラッグ操作で編集してみたいと思います。
なお、今回はGoogle ColabでA100 GPUを使用してInstantDragを実行します。
まずはこちらの画像です。
InstantDragは顔の編集能力が高いとのことでしたので、まずはこちらのモナリザでドラッグ編集を試してみました。
以下のようにドラッグ操作を行いました。
結果はこのようになりました。
期待通り口を開いて笑っているようになりましたが、少し気持ち悪いですね…笑
目元も操作通り少し目尻が下がっているように感じます。
生成時間についても約1秒ほどで、期待通り非常に高速でした。
続いて、複数の人が写っている画像に対してドラッグ操作による画像編集をさせてみます。
以下の画像を入力します。
こちらの画像に対して、それぞれの人物を先ほどと同じように口を開いて笑うように編集します。
結果はこのようになりました。
複数人に対してもドラッグ操作通りに結果が得られましたが、やはり少し不自然さを感じます。
応答速度もほぼ変わりなく、約1秒ほどで出力されます。
次に、動物の顔に対しても同様にドラッグ操作通りの編集ができるか試します。
以下の画像を入力します。
こちらもこれまでと同様に笑っているように編集を行います。
結果はこのようになりました。
動物の顔の画像に関しては、学習が十分でないようで、ドラッグ操作による口元の変化が不自然な結果となっています。
生成速度は相変わらず高速ですが、精度の向上が課題のようです。
最後に顔とは全く関係のない画像を編集します。
こちらの画像をこのように操作します。
結果はこのようになりました。
このように、顔以外の画像に対しては精度が低く、実用性に課題が残ります。
人間の顔の画像については、高い精度で編集を行ってくれますが、人間の顔以外の画像についてはまだまだ改善の余地があります。
また、ドラッグ操作に対して高い精度で画像を編集できても、編集後の画像の品質は高いとは言えず、実用的なレベルではないと感じました。
ただ、応答速度は非常に高速であり、ほぼリアルタイムで画像を編集できます。
InstantDragの可能性
InstantDragの強みは、リアルタイムでの高速な反応と、直感的なドラッグ操作だけで編集ができることです。
SNSなどのプロフィール写真の調整や、キャラクターのカスタマイズなど、結果がリアルタイムで表示されるので、試行錯誤の時間が大幅に短縮されます。
画像編集がより簡単かつスピーディーになり、クリエイティブな仕事のスピードを大幅に向上できるでしょう。
今後、様々な業界での利用が広がることが期待されます。
最後に
いかがだったでしょうか?
弊社では
・マーケティングやエンジニアリングなどの専門知識を学習させたAI社員の開発
・要件定義・業務フロー作成を80%自動化できる自律型AIエージェントの開発
・生成AIとRPAを組み合わせた業務自動化ツールの開発
・社内人事業務を99%自動化できるAIツールの開発
・ハルシネーション対策AIツールの開発
・自社専用のAIチャットボットの開発
などの開発実績がございます。
まずは、「無料相談」にてご相談を承っておりますので、ご興味がある方はぜひご連絡ください。
➡︎生成AIを使った業務効率化、生成AIツールの開発について相談をしてみる。
「生成AIを社内で活用したい」「生成AIの事業をやっていきたい」という方に向けて、生成AI社内セミナー・勉強会をさせていただいております。
セミナー内容や料金については、ご相談ください。
また、サービス紹介資料もご用意しておりますので、併せてご確認ください。