AI影像生成技術的關鍵在於提示詞工程。透過精確的提示詞,可以有效控制生成影像的內容、風格和品質。品質提升詞能增強影像美感,負面提示能排除不必要的元素,權重調整能精細控制不同元素的比重。Midjourney 和 DALL-E 等工具提供影像修復和風格混合功能,讓使用者能更精準地控制生成結果。此外,ChatGPT 可用於提示詞重寫和風格解析,將藝術風格拆解並重組,提升影像生成的原創性並避免直接複製既有作品。這些技術的結合能有效提升影像生成效率,讓使用者創作出更符合預期的作品。

提升AI圖片生成的品質與控制技巧

在利用AI進行圖片生成時,提示工程(Prompt Engineering)扮演著至關重要的角色。適當的提示詞不僅能夠提升圖片的整體品質,還能有效地控制生成內容的方向。本章將探討如何透過品質提升詞(Quality Boosters)、負面提示(Negative Prompts)以及權重調整(Weighted Terms)來最佳化AI圖片生成的結果。

1. 品質提升詞 (Quality Boosters)

品質提升詞是一些特定的詞彙或短語,它們在訓練資料中與高品質圖片相關聯,因此能在不大幅改變圖片風格的前提下,提升圖片的整體美學品質。

  • 範例:在提示詞中加入 trending on ArtStation,可以讓圖片帶有專業設計作品集網站的風格。
    • 輸入a space whale, trending on ArtStation
    • 注意:品質提升詞有時可能引入非預期的風格特徵。例如,ArtStation 可能會讓圖片帶有太空船的數位藝術感。

2. 負面提示 (Negative Prompts)

當兩個概念在訓練資料中高度相關時(如油畫與畫框),負面提示可用於排除不想出現的元素。

  • 範例:去除畫框
    • 輸入oil painting in the style of Rembrandt --no frame, wall
  • 範例:分離概念
    • 輸入a Scottish female astronaut --no Karen Gillan (減少與特定名人相關的特徵)
    • 輸入Homer Simpson --no cartoon (去除卡通風格)

3. 權重調整 (Weighted Terms)

權重調整提供了一種精細控制不同概念在圖片中比重的方法。在 Midjourney 中,可使用雙冒號 :: 和數字來調整權重。

  • 範例:調整藝術風格權重
    • 輸入painting of the Golden Gate Bridge::1 in the style of Van Gogh::0.8, in the style of Dali::0.2
  • 說明:權重可大於1以強調元素,也可為負值以減少元素出現。--no 參數等同於 ::-0.5 的權重。透過系統地調整權重(網格搜尋),可以找到最佳的組合。

隨著AI技術的不斷進步,未來可能會出現更多精細控制AI生成內容的方法。例如,更先進的模型可能會減少對負面提示的依賴,或者提供更直觀的權重調整介面。此外,如何更好地理解和控制AI模型的內部運作機制,將是未來研究的一個重要方向。

實踐建議

  1. 嘗試不同的品質提升詞:探索不同的品質提升詞對生成圖片的影響,找到最適合自己需求的詞彙。
  2. 靈活運用負面提示:利用負面提示去除不想要的元素,或創造性地分離高度相關的概念。
  3. 調整權重以精細控制:透過權重調整,實作對生成圖片內容的精細控制。
  4. 進行網格搜尋最佳化權重組合:系統地測試不同的權重組合,找到最優解。

透過這些實踐,使用者可以更好地掌握AI圖片生成的技巧,創作出更高品質、更符合自己創意構想的圖片。

影像作為提示與進階編輯技巧

除了文字提示,影像本身也可以作為強大的輸入,結合修復(Inpainting)與擴充(Outpainting)等技術,可以實現更精準的影像創作與編輯。

1. 以影像作為提示詞 (Image Prompts)

提供一張參考影像,可以為生成更獨特和原創的內容提供基礎。

  • Midjourney 操作流程:
    1. 將影像上傳到 Discord。
    2. 複製影像連結。
    3. 將連結貼在提示詞的最前面,並附上文字描述,例如:<影像連結> in the style of The Great Gatsby
  • 注意事項: 使用影像作為提示時,需注意版權與公平使用問題。

2. 影像修復 (Inpainting)

Inpainting 技術利用 AI 填補影像中需要修改或缺失的部分,常用於處理瑕疵或更改局部風格。

  • DALL-E 操作流程:
    1. 生成一張初始影像,例如:photograph of glamorous woman in a 1920s flapper party, wearing a sequin dress...
    2. 使用修復工具擦除需要更改的區域(如衣服)。
    3. 提供新的提示詞來生成該區域的新內容,例如:Van Gogh style dress, inspired by Starry Night...
  • DALL-E 的優勢: 在影像修復方面表現出色,能自動混合邊緣,使生成內容與周圍環境無縫融合。

3. 影像擴充 (Outpainting)

Outpainting 技術在現有影像的畫布之外生成新的內容,以擴展原始畫面,常用於改變構圖或增加背景。

  • Midjourney 操作流程: 使用「Zoom Out」功能來實現影像擴充。

4. 一致性角色生成

結合 Inpainting 和 Outpainting,可以有效地生成多角度、風格一致的角色。

  • 操作流程:
    1. 生成包含兩個並排角色的初始影像 (--ar 2:1)。
    2. 利用修復技術,根據其中一個角色生成不同角度的影像。
    3. 在後製軟體(如 Photoshop)中裁剪和調整。

程式碼範例:呼叫影像生成 API

以下是一個使用 Python 呼叫(假設的)影像生成服務 API 的範例:

import requests
import os

def generate_image_from_api(prompt_text, api_key):
    """
    使用 API 根據文字提示生成影像。
    
    Args:
        prompt_text (str): 生成影像的提示詞。
        api_key (str): API 授權金鑰。
        
    Returns:
        dict: API 的回應結果 (JSON 格式)。
    """
    # API 端點 URL (此為假設)
    api_url = "https://api.example-image-service.com/v1/generate"
    
    # 請求的 payload
    payload = {
        "prompt": prompt_text,
        "model": "latest_model"
    }
    
    # 請求標頭,包含授權資訊
    headers = {
        "Authorization": f"Bearer {api_key}"
    }
    
    try:
        response = requests.post(api_url, json=payload, headers=headers)
        response.raise_for_status()  # 如果請求失敗 (狀態碼非 2xx),則拋出異常
        return response.json()
    except requests.exceptions.RequestException as e:
        print(f"API 請求失敗: {e}")
        return None

# 範例用法
# 建議從環境變數讀取 API 金鑰,避免硬編碼
# api_key = os.getenv("IMAGE_API_KEY") 
api_key = "YOUR_API_KEY" # 請替換為您的 API 金鑰
prompt = "painting of the Golden Gate Bridge::1 in the style of Van Gogh::-1, in the style of Dali::5"
result = generate_image_from_api(prompt, api_key)

if result:
    print(result)

利用 ChatGPT 進行提示詞重寫與風格解析

為了進一步提升影像生成的品質與原創性,可以利用大型語言模型(如 ChatGPT)進行提示詞重寫和藝術風格解析。

1. 提示詞重寫 (Prompt Rewriting)

此技術透過一個 AI 模型(如 ChatGPT)來最佳化另一個 AI 模型(如 DALL-E)的輸入提示,以獲得更好的生成結果。

  • 流程:
    1. 原始輸入: 使用者提供一個初步的提示,例如 a dachshund dog in the style of Banksy
    2. AI 模型最佳化: 將原始提示傳遞給 ChatGPT,讓其進行重寫和擴充。例如,可以先問 ChatGPT:「藝術家 Banksy 主要使用什麼媒介?」得到「街頭藝術、模板噴漆」等答案後,再讓其生成更詳細的提示。
    3. 最佳化輸出: 獲得更豐富的提示詞,如:「一幅街頭藝術作品,描繪一隻戴著小帽子的臘腸犬,採用黑色幽默和諷刺的模板噴漆風格,展現鮮明的社會評論色彩。」
    4. 影像生成: 將最佳化後的提示詞輸入 DALL-E 或 Midjourney。

2. 藝術風格解析與重組 (Meme Unbundling)

為避免直接複製某位藝術家的風格而導致缺乏原創性,可以採用「Meme Unbundling」(元素拆解)的方法。

  • 流程:
    1. 藝術風格描述: 利用 ChatGPT 描述特定藝術作品的風格特徵,但不提及藝術家或作品名稱。例如,請其描述達利《記憶的永恆》的風格。
    2. 縮寫提示詞: 將 ChatGPT 生成的詳細描述,再請其精煉成適合影像生成模型的簡短提示詞。
    3. 結合主題: 將精煉後的風格提示詞與你自己的創作主題結合,例如將上述超現實主義風格應用於描繪「時報廣場」。
  • 優勢:
    • 提升原創性: 創作出既有參考風格又獨特的新作品。
    • 更具創意: 提供比直接使用藝術家名字更大的創作靈活性。
    • 倫理考量: 在一定程度上避免了對原創風格的直接複製。

提示詞最佳化流程活動圖

圖表描述 (Alt Text): 此活動圖展示了利用AI進行提示詞最佳化的流程,從接收原始輸入開始,透過AI模型(如ChatGPT)進行最佳化或風格解析,生成更豐富的提示詞,最終由影像生成模型輸出高品質影像。

PlantUML 圖表

(This section has been integrated into the new structure above)