Visual ChatGPT - 用影象互動的方式,跟 ChatGPT 聊天
theme: geek-black
介紹
ChatGPT 正在吸引跨領域的興趣,因為它提供了一種語言介面,具有跨多個領域的卓越對話能力和推理能力。然而,由於 ChatGPT 是用語言訓練的,它目前無法處理或生成來自視覺世界的影象。
相比較而言,視覺基礎模型(VFM,Visual Foundation Models)在計算機視覺方面潛力巨大,因而能夠理解和生成複雜的影象。例如,BLIP 模型是理解和提供影象描述的專家;大熱的 Stable Diffusion 可以基於文字提示合成影象。然而由於 VFM 模型對輸入 - 輸出格式的苛求和固定限制,使得其在人機互動方面不如會話語言模型靈活。
為此,微軟親自構建和開源了一個名為 Visual ChatGPT 的系統(3 月 10 日釋出),其中包含不同的視覺基礎模型,使使用者能夠通過以下方式與 ChatGPT 進行互動: 1. ChatGPT(或 LLM)充當通用介面,提供對影象的理解和使用者的互動功能。 2. 基礎影象模型通過提供特定領域的深入知識來充當背後的技術專家。 3. 不僅傳送和接收語言,還發送和接收影象。 4. 提供複雜的視覺問題或視覺編輯指令,需要多個 AI 模型進行多步驟協作。 5. 提供反饋並要求更正結果。我們設計了一系列提示將視覺模型資訊注入 ChatGPT,考慮到多個輸入/輸出的模型和需要視覺反饋的模型。
技術架構
論文地址:http://arxiv.org/pdf/2303.04671.pdf
他們不是從頭開始訓練一個新的多模態 ChatGPT,而是直接基於 ChatGPT 構建 Visual ChatGPT,並結合了各種 VFM。為了彌合 ChatGPT 和這些 VFM 之間的差距,該研究提出了一個 Prompt Manager,其支援以下功能: 1. 明確告訴 ChatGPT 每個 VFM 的功能並指定輸入輸出格式; 2. 將不同的視覺資訊,例如 png 影象、深度影象和 mask 矩陣,轉換為語言格式以幫助 ChatGPT 理解; 3. 處理不同 VFM 的歷史、優先順序和衝突。
在 Prompt Manager 的幫助下,ChatGPT 可以利用這些 VFM,並以迭代的方式接收它們的反饋,直到滿足使用者的需求或達到結束條件。
總結而言,本文貢獻如下: - 提出 Visual ChatGPT,打開了 ChatGPT 和 VFM 連線的大門,使 ChatGPT 能夠處理複雜的視覺任務; - 設計了一個 Prompt Manager,其中涉及 22 個不同的 VFM,並定義了它們之間的內在關聯,以便更好地互動和組合; - 進行了大量的零樣本實驗,並展示了大量的案例來驗證 Visual ChatGPT 的理解和生成能力。
倉庫中列出了技術架構及原理圖:
上面這張圖片,拆分為左、中、右三部分: 1. 左:
專案 Demo 示例,在該 Demo 中,使用者與 ChatGPT 進行了三次交流。
第一次交流(Q1 & A1):使用者傳送了一張沙發圖片,ChatGPT 回覆「收到」。
第二次交流(Q2 & A2):使用者讓 ChatGPT 將圖片中的沙發替換為桌子,並讓其看起來像一幅水墨畫。ChatGPT 收到指令並生成了兩幅示例圖。
第三次交流(Q3 & A3):使用者問 ChatGPT,影象中牆壁的顏色,ChatGPT 回答「藍色」。
- 中:代表的是 Visual ChatGPT 的工作流程,在模型接收到提問(Query)後,會判斷是否需要使用 VFM 進行處理並提供答案。
- 右:代表的是 VFM 詳細處理說明,分別表示模型在接到不同訊息指令時,具體的處理與答覆流程。
應用
- 影象描述:根據提供的圖片,生成描述圖片內容的文字。
- 問答系統:使用者可以根據圖片向 Visual ChatGPT 提問,模型會生成與圖片內容相關的答案。
- 影象標註和分類:Visual ChatGPT 可以根據圖片內容生成相應的標籤或類別。
- 輔助創作:基於圖片元素,Visual ChatGPT 可以幫助創作者生成創意文字、廣告語或其他相關內容。
- 教育輔導:Visual ChatGPT 可以幫助學生通過交流更好地理解圖片中的概念或知識點。
示例
Visual ChatGPT 的出現,就像在以文字交流的 APP 中首次添加了表情包功能,而且還是根據使用者輸入的文字自動生成的 “定製化表情包”,大大提升了 ChatGPT 的趣味性和應用領域。
如圖所示,使用者上傳了一張黃色花朵的影象,並輸入一條複雜的語言指令「請根據該影象生成的深度圖在生成一朵紅色花朵,然後逐步將其製作成卡通圖片。」在 Prompt Manager 幫助下,Visual ChatGPT 啟動了和 VFM 相關的執行鏈。
其執行過程是這樣的: 1. 首先是深度估計模型,用來檢測影象深度資訊; 2. 然後是深度 - 影象模型,用來生成具有深度資訊的紅花影象; 3. 最後利用基於 Stable Diffusion 的風格遷移 VFM 將該影象風格轉換為卡通影象。
在上述 pipeline 中,Prompt Manager 作為 ChatGPT 的排程器,提供視覺化格式的型別並記錄資訊轉換的過程。最後,當 Visual ChatGPT 從 Prompt Manager 獲得卡通提示時,它將結束執行 pipeline 並顯示最終結果。
在接下來的示例中: 1. 使用者輸入提示:你能幫我生成一張貓的影象嗎?收到指示後,Visual ChatGPT 生成一張正在看書的貓的影象。 2. 然後,使用者要求 Visual ChatGPT 將影象中的貓換成狗,然後把書刪除。 3. 然後,要求 Visual ChatGPT 生成 canny 邊緣檢測,然後基於此生成另一張影象。
本文正在參加 人工智慧創作者扶持計劃