AIインペインティングとは
インペインティング(Inpainting)は、画像の指定領域を周囲と調和する形で塗りつぶす技術です。AIモデルは以下のプロセスで欠損部分を補完します。
- マスク領域の認識: 編集対象領域を特定
- コンテキスト分析: 周辺ピクセルのパターン・色・構造を学習
- パッチ生成: 学習データから最適なパターンを推測して生成
- 境界ブレンディング: マスク境界を自然に溶け込ませる
主な用途
- 不要物除去: 写真から人物、電線、ロゴなどを消去
- オブジェクト置換: 「赤い車」を「青い自転車」に変更
- 範囲拡張: 画像の一部を外側に拡張(Outpainting)
- 修復: 傷や汚れの除去、古い写真の復元
インペインティングツール比較
1. Adobe Photoshop(Generative Fill)
Adobe Firefly統合のAIインペインティング。商用利用可能で著作権リスクが低い点が特徴です。
特徴
– プロンプトで生成内容を指定可能(英語のみ)
– 複数バリエーションを自動生成(3案)
– 既存レイヤーワークフローと統合
– 商用ライセンスが明確
基本手順
-
マスク作成
– オブジェクト選択ツール(W)で対象を選択
– 選択範囲→選択とマスク で境界を調整
– Shiftキーで複数選択を追加 -
Generative Fill実行
– コンテキストタスクバーの「生成塗りつぶし」をクリック
– プロンプト入力(例: “wooden table”、”empty space”)
– 生成(3バリエーション生成) -
調整
– プロパティパネルで生成レイヤーの不透明度調整
– 境界が不自然な場合はマスクを再編集
2. Stable Diffusion(AUTOMATIC1111 WebUI)
オープンソースの画像生成AIによるインペインティング。カスタムモデルで特定スタイルに対応できます。
特徴
– 完全無料(GPU必須)
– アニメ、イラスト、特殊スタイル対応
– ControlNetと併用可能
– プロンプトによる詳細制御
導入手順
# WebUIのインストール(既存環境がない場合)
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui
./webui.sh # Linuxの場合、Windowsはwebui-user.bat
基本手順
-
img2img タブに移動
– Inpaint タブを選択
– 画像をアップロード -
マスク作成
– ブラシツールで編集領域を塗りつぶし
– Mask mode: “Inpaint masked” を選択
– Masked content: “original” (周囲を参照) または “fill” (全体を再生成) -
プロンプト設定
– Prompt: 生成したい内容(例: “a green plant in a pot”)
– Negative prompt: 避けたい要素(例: “blurry, distorted”)
– Denoising strength: 0.5-0.8(低いと元画像維持、高いと新規生成) -
生成
– Sampling steps: 20-30
– CFG Scale: 7-10
– Generate
3. DALL-E 3(ChatGPT Plus / API)
OpenAIのテキストプロンプト駆動型インペインティング。自然言語で指示できる点が特徴です。
特徴
– プロンプトの理解度が高い(日本語対応)
– エディタでマスク+テキスト指示
– 倫理フィルタが厳しい(人物の顔、ブランドロゴ等は制限)
使い方(ChatGPT経由)
- 画像をアップロード
- 「この画像の〇〇を△△に変更してください」と指示
- 複数案が生成されるので選択
API経由(Python)
from openai import OpenAI
client = OpenAI()
response = client.images.edit(
model="dall-e-2", # DALL-E 3は未対応、2のみ
image=open("photo.png", "rb"),
mask=open("mask.png", "rb"),
prompt="a sunflower in the center",
n=1,
size="1024x1024"
)
4. その他のツール
| ツール | 特徴 | 価格 | 適用シーン |
|---|---|---|---|
| ClipDrop | ブラウザで完結、簡単操作 | 無料/月$9 | 簡易的な不要物除去 |
| Runway ML | 動画インペインティング対応 | 月$12- | 動画編集 |
| LaMa(オープンソース) | 高速、不要物除去特化 | 無料 | 写真のクリーンアップ |
実践的なインペインティングテクニック
1. マスク作成のコツ
境界のぼかし(Feathering)
– Photoshop: 選択とマスクで「ぼかし」を5-10px
– SD WebUI: “Inpaint area” → “Only masked” + Padding 32px
複雑な形状の選択
– オブジェクト選択ツール(AI自動選択)を活用
– 髪の毛など細かい部分は「選択とマスク」で境界調整
– SD WebUIではControlNet Segmentationで自動マスク生成
2. Stable Diffusionでの高品質化
ControlNet併用
ControlNetのInpaintモデルを使うと、構造を維持しやすくなります。
- Extensions → ControlNet → Enable
- Preprocessor: “inpaint_global_harmonious”
- Model: “control_v11p_sd15_inpaint”
- Control Weight: 0.8-1.0
プロンプトエンジニアリング
Prompt: a realistic wooden chair, studio lighting, high detail
Negative: blurry, low quality, artifacts, distorted, deformed
- 元画像のスタイルを維持するキーワードを追加(”photorealistic”、”anime style” 等)
- “same style as the original image” を追加
3. Outpainting(範囲拡張)
画像の外側を拡張する技術。Stable DiffusionのOutpaintingスクリプトで実現できます。
手順
- img2img → Outpainting (Script選択)
- Pixels to expand: 128-256(拡張幅)
- Mask blur: 16-32
- Denoising: 0.7-0.9(新規部分の生成度)
用途
– 縦長写真を横長に拡張
– トリミングした画像の復元
– パノラマ風景の作成
4. 高度なテクニック:複数回インペインティング
1回で完璧な結果を得るのは難しいため、段階的に調整します。
1回目: 大まかな形状を生成(Denoising 0.8)
2回目: ディテール追加(Denoising 0.4、マスクを縮小)
3回目: 境界をぼかす(Denoising 0.2)
トラブルシューティング
境界が不自然(接続部分が目立つ)
原因: マスクの境界が急激すぎる
対策
– Photoshop: マスクの境界を「ぼかし」10-20px
– SD: “Mask blur” を16-32に設定
– “Only masked” + Padding 64px で周辺も含めて再生成
色調が合わない
原因: 生成部分が元画像と異なる照明・色温度
対策
– Photoshop: 色調補正レイヤー(色相・彩度、トーンカーブ)で調整
– SD: プロンプトに “same lighting as original” を追加
– ControlNetのTileモデルで色調統一
意図しないオブジェクトが生成される
原因: プロンプトの曖昧さ、学習データのバイアス
対策
– Negative promptを強化(”人物, text, watermark” 等)
– CFG Scaleを下げる(7以下)
– Seedを固定して複数回試行
商用利用の注意点
| ツール | 商用利用 | 注意事項 |
|---|---|---|
| Photoshop Generative Fill | 可 | Adobe Stockで販売可能 |
| Stable Diffusion | モデル依存 | SD1.5/SDXLは可、学習データの権利確認必須 |
| DALL-E 3 | 可 | OpenAI利用規約に準拠 |
| ClipDrop | 可 | 有料プラン必須 |
FAQ
Q1. Photoshopのインペインティングとステレーション Diffusionの違いは何ですか?
Photoshopは商用利用が明確で、UI/UX が直感的ですが、生成の自由度はStable Diffusionが上回ります。Stable Diffusionはカスタムモデル(アニメ、特殊スタイル)に対応でき、ControlNetで構造を細かく制御できます。プロジェクトの規模・スタイル・予算に応じて選択してください。
Q2. マスクはどの程度正確に作成すべきですか?
境界が重要な部分(顔、建物の輪郭等)は正確に作成し、背景など曖昧な部分は大まかで構いません。SD WebUIの “Inpaint at full resolution” を有効にすると、マスク領域のみ高解像度で処理されるため、精度が向上します。
Q3. インペインティングで顔を修正すると不自然になります
顔は人間が違和感を感じやすい部分です。Stable DiffusionではControlNetのOpenPoseまたはCannyで骨格を維持し、After Detailerで顔を優先的に修正してください。Photoshopの場合、Neural Filtersの「スマートポートレート」と併用すると自然になります。
Q4. 無料で高品質なインペインティングを行う方法は?
Stable Diffusion(AUTOMATIC1111)+ ControlNet + Inpaint専用モデルの組み合わせが最も高品質です。GPUがない場合、Google ColabやRunpod等のクラウドGPUサービス(時間$0.2-0.5)を利用できます。ClipDropの無料枠も日常的な用途には十分です。


コメント