女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

?基于文本提示就可自動實現復雜計算機視覺任務?

3D視覺工坊 ? 來源:3DCV ? 2023-09-23 11:16 ? 次閱讀


本文提出了 VISPROG,一種神經符號方法,用于在給定自然語言指令的情況下解決復雜的組合視覺任務。VISPROG 無需進行任何特定任務的訓練。相反,它利用大型語言模型的上下文學習能力來生成類似Python的模塊化程序,然后執行這些程序以獲得解決方案和全面且可解釋的基本原理。


生成的程序的每一行都可以調用幾個現成的計算機視覺模型、圖像處理子例程或Python函數之一來產生可由程序的后續部分使用的中間輸出。我們展示了 VISPROG 在 4 個不同任務上的靈活性 - 組合視覺問答、圖像對的零樣本推理、事實知識對象標記和語言引導圖像編輯。我們相信像 VISPROG 這樣的神經符號方法是一個令人興奮的途徑,可以輕松有效地擴展人工智能系統的范圍,以服務于人們可能希望執行的復雜任務的長尾。

1 前言



目的:對通用人工智能系統的追求導致了強大的端到端可訓練模型的開發,其中許多模型渴望為人工智能提供簡單的自然語言界面使用戶能與模型進行交互。現有方法:構建這些系統的主要方法是大規模無監督預訓練,然后是監督多任務訓練。然而,這種方法需要為每個任務提供精心策劃的數據集,這使得擴展到我們最終希望這些系統執行的復雜任務變得具有挑戰性。此論文工作:在這項工作中,探索使用大型語言模型來解決復雜任務的視覺問題,方法是將自然語言描述的這些任務分解為可以由專門的端到端訓練模型或其他程序處理的更簡單的步驟。


57056b00-5962-11ee-939d-92fbcf53809c.png


圖 1.VISPROG 是一個用于組合視覺推理的模塊化且可解釋的神經符號系統(左為框架圖,右為此系統可實現的四大任務)VISPROG,它輸入視覺數據(單個圖像或一組圖像)以及自然語言指令,生成一系列步驟,如果您愿意,還可以生成可視化程序,然后執行這些步驟以產生所需的輸出。可視化程序中的每一行都會調用系統當前支持的各種模塊之一。模塊可以是現成的計算機視覺模型、語言模型、OpenCV中的圖像處理子例程或算術和邏輯運算符。


模塊消耗通過執行前面的代碼行產生的輸入,并輸出可被下游消耗的中間結果。在上面的示例中,VISPROG 生成的可視化程序調用人臉檢測器、GPT-3 作為知識檢索系統,以及 CLIP作為開放詞匯圖像分類器來生成所需的輸出(參見圖。1)。VISPROG 改進了以前為視覺應用生成和執行程序的方法。


對于視覺問答(VQA)任務,神經模塊網絡(NMN)[2,9,10,12]由專門的、可微分的神經模塊組成一個特定于問題的、端到端的可訓練網絡。這些方法要么使用脆弱的、現成的語義解析器來確定性地計算模塊的布局,要么通過 REINFORCE [30] 通過弱答案監督來學習布局生成器。相比之下,VISPROG 使用強大的語言模型(GPT-3)以及少量上下文示例,無需任何訓練即可創建復雜的程序1。VISPROG 創建的程序還使用比 NMN 更高級別的抽象,并調用經過訓練的最先進模型和非神經 Python 子例程(圖 2)。


這些優點使 VISPROG 成為易于使用、高性能和模塊化的神經符號系統。VISPROG 也具有高度可解釋性。首先,VISPROG 生成易于理解的程序,用戶可以驗證其邏輯正確性。其次,通過將預測分解為簡單的步驟,VISPROG 允許用戶檢查中間步驟的輸出以診斷錯誤,并在需要時干預推理過程。總而言之,具有中間步驟結果(例如文本、邊界框、分割掩模、生成的圖像等)的執行程序鏈接在一起以描述信息流,作為預測的視覺原理。


為了展示其靈活性,我們使用 VISPROG 執行 4 個不同的任務,這些任務共享一些通用技能(例如圖像解析),同時還需要一定程度的專業推理和視覺操作能力。這些任務是 - 我們強調,語言模型和任何模塊都沒有以任何方式進行微調。讓 VISPROG 適應任何任務非常簡單,只需提供一些由自然語言指令和相應程序組成的上下文示例即可。


雖然易于使用,但 VISPROG 在組合 VQA 任務上比基本 VQA 模型提高了 2.7 個點,在 NLVR 上的零樣本準確率高達 62.4%,無需對圖像對進行訓練,并且在知識標記方面取得了令人愉快的定性和定量結果和圖像編輯任務。


本文貢獻點:(i) VISPROG - 一個使用語言模型的上下文學習能力從自然語言指令生成視覺程序的系統,用于組合視覺任務(第 3 節);(ii) 展示 VISPROG 在復雜視覺任務上的靈活性,例如事實知識對象標記和語言引導圖像編輯,這些任務在單一端到端模型中未能實現或取得有限成功;(iii) 為這些任務提供可視化原理,并展示它們在錯誤分析和用戶驅動指令調整方面的實用性,以顯著提高 VISPROG 的性能。


2 相關背景


由于大型語言模型 (LLM) 令人難以置信的理解、生成和上下文學習能力,神經符號方法獲得了新的發展動力。現在簡單說明下以前的視覺任務程序生成和執行方法、最近使用LLMs進行視覺的工作以及語言任務推理方法的進展。視覺任務的程序生成和執行的相關工作。

神經模塊網絡(NMN開創了視覺問答(VQA)任務的模塊化和組合方法。NMN 將神經模塊組合成端到端的可微網絡。雖然早期的嘗試使用現成的解析器 ,但最近的方法使用 REINFORCE和弱答案監督與神經模塊聯合學習布局生成模型。雖然 VISPROG 與 NMN 的精神相似,但它比 NMN 有幾個優勢。

首先,VISPROG 生成高級程序,在中間步驟調用經過訓練的最先進的神經模型和其他 Python 函數,而不是生成端到端神經網絡。這使得合并符號化、不可微分的模塊變得很容易。其次,VISPROG 利用LLMs的上下文學習能力,通過使用自然語言指令(或視覺問題或待驗證的陳述)以及一些示例來提示LLM(GPT-3)來生成程序類似的指令及其相應的程序,從而無需為每個任務訓練專門的程序生成器。


針對視覺任務的LLMs的相關工作。LLMs和情境學習已應用于視覺任務。PICa使用 LLM 來完成基于知識的 VQA任務。PICa 通過標題、對象和屬性將圖像中的視覺信息表示為文本,并將該文本表示與問題和上下文示例一起提供給 GPT-3,以直接生成答案。蘇格拉底模型(SM),由不同模態組成預訓練模型,例如語言(BERT、GPT-2)、視覺語言(CLIP)和音頻語言(mSLAM),執行許多零樣本任務,包括圖像字幕、視頻到文本檢索和機器人規劃。

然而,在 SM 中,每個任務的組成都是預先確定和固定的。相比之下,VISPROG 通過根據指令、問題或語句生成程序來確定如何為每個實例構建模型。我們展示了 VISPROG 處理復雜指令的能力,這些指令涉及不同的功能(20 個模塊)和不同的輸入(文本、圖像和圖像對)、中間(文本、圖像、邊界框、分割掩模)和輸出模式(文本和圖像) 。


與 VISPROG 類似,ProgPrompt 是一項并行工作,展示了LMM從自然語言指令生成類似 python 的機器人動作計劃的能力。雖然 ProgPrompt 模塊(例如“find”或“grab”)將字符串(通常是對象名稱)作為輸入,但 VISPROG 程序更為通用。在 VISPROG 程序的每個步驟中,模塊可以接受先前步驟生成的多個參數,包括字符串、數字、算術和邏輯表達式或任意 Python 對象(例如包含邊界框或分段掩碼的 list() 或 dict() 實例) 。

3 方法(Visual Programming)


在過去的幾年里,人工智能社區已經為許多視覺和語言任務(例如對象檢測、分割、VQA、字幕和文本到圖像生成)創建了高性能、特定于任務的模型。雖然這些模型中的每一個都解決了一個定義明確但范圍狹窄的問題,但我們通常想要在現實世界中解決的任務往往更廣泛且定義松散。為了解決此類實際任務,人們必須收集一個新的特定于任務的數據集,這可能會很昂貴,或者精心編寫一個調用多個神經模型、圖像處理子例程(例如圖像調整大小、裁剪、過濾和色彩空間轉換)的程序,以及其他計算(例如數據庫查找,或算術和邏輯運算)。

為我們每天遇到的無限長尾的復雜任務手動創建這些程序不僅需要編程專業知識,而且速度慢、勞動強度大,最終不足以覆蓋所有任務的空間。如果可以用自然語言描述任務并讓人工智能系統生成并執行任務無需任何訓練即可對應視覺程序似乎就可以解決問題?

3.1 Large language models for visual programming-用于可視化編程的大型語言模型。


GPT-3 等大型語言模型在上下文中進行了少量輸入和輸出演示后,已表現出卓越的泛化到新樣本的能力。例如,用兩個英語到法語的翻譯示例和一個新的英語短語來提示 GPT-3產生了法語翻譯“bonsoir”。請注意,我們不必微調 GPT-3 來執行第三個短語的翻譯任務。VISPROG 使用 GPT-3 的上下文學習能力來輸出自然語言指令的視覺程序。

good morning -> bonjourgood day -> bonne journ ?eegood evening ->與上例中的英語和法語翻譯對類似,我們用指令對和所需的高級程序提示 GPT-3。圖3顯示了這樣一個圖像編輯任務的提示。上下文示例中的程序是手動編寫的,通常可以在沒有隨附圖像的情況下構建。VISPROG 程序的每一行或程序步驟均由模塊名稱、模塊的輸入參數名稱及其值以及輸出變量名稱組成。

VISPROG 程序通常使用過去步驟的輸出變量作為未來步驟的輸入。我們使用描述性模塊名稱(例如“Select”、“ColorPop”、“Replace”)、參數名稱(例如“image”、“object”、“query”)和變量名稱(例如“IMAGE”、“OBJ”)讓GPT-3了解各個模塊的輸入輸出類型以及功能。在執行期間,輸出變量可用于存儲任意數據類型。例如,“OBJ”是圖像中的對象列表,其中包含與每個對象關聯的蒙版、邊界框和文本(例如類別名稱)。

572f30ac-5962-11ee-939d-92fbcf53809c.png

圖 3.VISPROG 中的程序生成。這些上下文示例與新的自然語言指令一起被輸入到 GPT-3 中。在不觀察圖像或其內容的情況下,VISPROG 會生成一個程序(圖 3 底部),該程序可以在輸入圖像上執行以執行所描述的任務。

3.2 Modules-模塊介紹


VISPROG 目前支持 20 個模塊(圖 2),用于實現圖像理解、圖像處理(包括生成)、知識檢索以及執行算術和邏輯運算等功能。

在 VISPROG 中,每個模塊都實現為一個 Python 類(代碼 1),該類具有以下方法:(i) 解析該行以提取輸入參數名稱和值以及輸出變量名稱;(ii) 執行可能涉及經過訓練的神經模型的必要計算,并使用輸出變量名稱和值更新程序狀態;(iii) 使用 html 直觀地總結該步驟的計算(稍后用于創建視覺原理)。


向 VISPROG 添加新模塊只需實現并注冊一個模塊類,而使用該模塊的程序的執行則由 VISPROG 解釋器自動處理,這將在下面介紹。

575a5b60-5962-11ee-939d-92fbcf53809c.png


圖 2. VISPROG 當前支持的模塊。紅色模塊使用神經模型(OWL-ViT、DSFD、MaskForme、CLIP、ViLT和 Stable Diffusion)。藍色模塊使用圖像處理和其他 python 子例程。這些模塊在由自然語言指令生成的程序中調用。添加新模塊來擴展 VISPROG 的功能非常簡單(代碼 1)。

classVisProgModule():
def__init__(self):
#loadatrainedmodel;movetoGPU
defhtml(self,inputs:List,output:Any):
#returnanhtmlstringvisualizingstepI/O

defparse(self,step:str):
#parsestepandreturnlistofinputvalues/variablenames
#andoutputvariablename

defexecute(self,step:str,state:Dict):
inputs,input_var_names,output_var_name=self.parse(step)
#getvaluesofinputvariablesfromstate
forvar_nameininput_var_names:
inputs.append(state[var_name])

#performcomputationusingtheloadedmodel
output=some_computation(inputs)

#updatestate
state[output_var_name]=output

#visualsummaryofthestepcomputation
step_html=self.html(inputs,output)
returnoutput,step_html

3.3 Program Execution-程序執行

程序的執行由解釋器處理。解釋器使用輸入初始化程序狀態(將變量名稱映射到其值的字典),并逐行執行程序,同時使用該行中指定的輸入調用正確的模塊。執行每個步驟后,程序狀態將使用該步驟輸出的名稱和值進行更新。

3.4 Visual Rationale-視覺原理

除了執行必要的計算之外,每個模塊類還實現了一個名為 html() 的方法,以直觀地總結 HTML 片段中模塊的輸入和輸出。解釋器只需將所有程序步驟的 HTML 摘要拼接成可視化原理(圖 4),即可用于分析程序的邏輯正確性以及檢查程序的內部結構的中間輸出。視覺原理還使用戶能夠理解失敗的原因,并盡可能地調整自然語言指令以提高性能。

5778bdda-5962-11ee-939d-92fbcf53809c.png


圖 4. VISPROG 生成的視覺原理。這些基本原理直觀地總結了圖像編輯(上)和 NLVR 任務(下)推理期間生成的程序中每個計算步驟的輸入和輸出。

4 Tasks-具體任務應用

VISPROG 提供了一個靈活的框架,可應用于各種復雜的視覺任務。我們在 4 項任務上評估 VISPROG,這些任務需要空間推理、多圖像推理、知識檢索以及圖像生成和操作等能力。圖 5 總結了用于這些任務的輸入、輸出和模塊。我們現在描述這些任務、它們的評估設置以及上下文示例的選擇。

578d4548-5962-11ee-939d-92fbcf53809c.png

圖 5.我們在一組不同的任務上評估 VISPROG。這些任務涵蓋各種輸入和輸出,并盡可能重用模塊(Loc、FaceDet、VQA)。

4.1 Compositional Visual Question Answering-組合式視覺問答

VISPROG 是組合式的,這使得它適合組合式、多步驟的視覺問答任務:GQA。GQA 任務的模塊包括用于開放詞匯本地化的模塊、VQA 模塊、給定邊界框坐標或空間介詞(例如上、左等)的裁剪圖像區域的函數、計數框的模塊以及用于計算框數量的模塊。評估 Python 表達式。例如,考慮以下問題:“小卡車是在戴頭盔的人的左邊還是右邊?”。VISPROG 首先定位“戴頭盔的人”,裁剪這些人左側(或右側)的區域,檢查該側是否有“小卡車”,如果有則返回“左”,否則返回“右”。

VISPROG 使用基于 VILT 的問答模塊,但 VISPROG 不是簡單地將復雜的原始問題傳遞給 VILT,而是調用它來執行更簡單的任務,例如識別部分圖像中的內容。因此,我們生成的 GQA VISPROG 不僅比 VILT 更容易解釋,而且更準確(表 1)。或者,我們可以完全消除對 ViLT 等 QA 模型的需求,并使用 CLIP 和對象檢測器等其他系統,但我們將其留待未來研究。

評估。為了限制使用 GPT-3 生成程序所花費的資金,我們創建了一個 GQA 子集用于評估。GQA 中的每個問題都標有問題類型。為了評估不同的問題類型集(~ 100 個詳細類型),我們從平衡的 val (k = 5) 和 testdev (k = 20) 集中隨機抽取每個問題類型最多 k 個樣本。提示。我們使用所需的 VISPROG 程序手動注釋平衡訓練集中的 31 個隨機問題。用程序注釋問題很容易,需要寫下回答該特定問題所需的推理鏈。我們向 GPT-3 提供了較小的上下文示例子集,從該列表中隨機采樣,以減少回答每個 GQA 問題的成本。

579b246a-5962-11ee-939d-92fbcf53809c.png

表 1.GQA 測試開發結果。我們報告原始 GQA 測試開發集的一個子集的性能

4.2 Zero-Shot Reasoning on Image Pairs-圖像對上的零樣本推理

VQA 模型經過訓練可以回答有關單個圖像的問題。在實踐中,人們可能需要一個系統來回答有關圖像集合的問題。例如,用戶可以要求系統解析他們的假期相冊并回答以下問題:“在我們看到埃菲爾鐵塔的第二天,我們參觀了哪個地標?”。

我們展示了 VISPROG 使用單圖像 VQA 系統解決涉及多圖像的任務而無需對多圖像示例進行訓練的能力,而不是采集昂貴的數據集并訓練多圖像模型。我們在 NLVRV2基準測試中展示了這種能力,其中涉及驗證有關圖像對的語句。通常,應對 NLVRV2 挑戰需要訓練自定義架構,將圖像對作為 NLVRV2 訓練集的輸入。

相反,VISPROG 通過將復雜的語句分解為有關單個圖像的簡單問題和涉及算術和邏輯運算符的 Python 表達式以及圖像級問題的答案來實現此目的。VQA模型VILT-VQA用于獲取圖像級答案,并評估python表達式以驗證該語句。評估。我們通過從 NLVRV2 開發集中抽取 250 個隨機樣本來創建一個小型驗證集,以指導提示選擇,并在 NLVRV2 的完整公共測試集上測試泛化。

提示。我們針對 NLVRV2 訓練集中的 16 個隨機語句對 VISPROG 程序進行采樣和注釋。由于其中一些示例是冗余的(類似的程序結構),我們還通過刪除 4 個冗余示例來創建 12 個示例的精選子集。

4.3 Factual Knowledge Object Tagging-事實知識對象標記

我們經常想要識別圖像中我們不知道名字的人和物體。例如,我們可能想要識別名人、政治家、電視節目中的人物、國家國旗、公司徽標、流行汽車及其制造商、生物物種等等。解決這個任務不僅需要定位人、面孔和物體,還需要在外部知識庫中查找事實知識來構建一組類別進行分類,例如電視節目中角色的名字。我們將此任務簡稱為事實知識對象標記或知識標記。為了解決知識標簽問題,VISPROG 使用 GPT-3 作為隱式知識庫,可以通過自然語言提示進行查詢,例如“列出電視節目《生活大爆炸》中的主要角色,用逗號分隔。”

然后,CLIP 圖像分類模塊可以使用生成的類別列表,該模塊對定位和人臉檢測模塊生成的圖像區域進行分類。VISPROG 的程序生成器根據自然語言指令中的上下文自動確定是使用面部檢測器還是開放詞匯定位器。VISPROG 還估計檢索到的類別列表的最大大小。

例如,“標記前 5 個德國汽車公司的徽標”會生成一個包含 5 個類別的列表,而“標記德國汽車公司的徽標”則會生成一個由 GPT-3 確定的任意長度的列表,截止值為 20這使得用戶可以通過調整指令輕松控制分類過程中的噪聲。評估。為了評估 VISPROG 在此任務上的表現,我們在 46 個圖像中注釋了 100 個標記指令,這些圖像需要外部知識來標記 253 個對象實例,包括流行文化、政治、體育和藝術領域的人物,以及各種對象(例如汽車、旗幟、 水果、電器、家具等)。


對于每條指令,我們通過精度(正確預測框的分數)和召回率(正確預測的地面實況對象的分數)來衡量定位和標記性能。標記度量要求預測的邊界框和關聯的標簽或類標簽都是正確的,而本地化會忽略標簽。為了確定定位的正確性,我們使用 IoU 閾值 0.5。我們通過 F1 分數(指令間平均精度和召回率的調和平均值)總結定位和標記性能。提示。我們為此任務創建了 14 個上下文示例。請注意,這些示例的說明是幻覺的,即沒有圖像與這些示例相關聯。

4.4 Image Editing with Natural Language-使用自然語言進行圖像編輯

文本到圖像的生成在過去幾年中通過 DALL-E、Parti 和 Stable Diffusion等模型取得了令人印象深刻的進步。然而,這些模型仍然無法處理諸如“用 :p 隱藏 Daniel Craig 的臉部”(去識別化或隱私保護)或“創建 Daniel Craig 的流行顏色并模糊背景”之類的提示(對象突出顯示),盡管使用面部檢測、分割和圖像處理模塊的組合以編程方式實現這些相對簡單。實現復雜的編輯,例如“用戴著墨鏡的巴拉克·奧巴馬替換巴拉克·奧巴馬”(對象替換),首先需要識別感興趣的對象,生成要替換的對象的掩模,然后調用圖像修復模型(我們使用穩定擴散) )與原始圖像、指定要替換的像素的掩碼以及要在該位置生成的新像素的描述。


當VISPROG配備必要的模塊和示例程序時,可以輕松處理非常復雜的指令。評估。為了測試 VISPROG 的去識別、對象突出顯示和對象替換的圖像編輯指令,我們收集了 65 張圖像中的 107 條指令。我們手動對預測的正確性和報告準確性進行評分。請注意,只要生成的圖像在語義上正確,我們就不會懲罰使用穩定擴散的對象替換子任務的視覺偽影。提示。與知識標記類似,我們為此任務創建了 10 個沒有關聯圖像的上下文示例。

5 實驗與分析

我們的實驗評估了提示數量對 GQA 和 NLVR 性能的影響(第 5.1 節),比較各種提示策略的 VISPROG 在四個任務上的泛化(第 5.2 節),分析每個任務的錯誤來源(圖 9),并研究視覺原理在診斷錯誤和通過指令調整提高 VISPROG 性能方面的實用性(第 5.3 節)。

5.1 提示大小的影響

圖 6 顯示,隨著 GQA 和 NLVR 提示中使用的上下文示例數量的增加,驗證性能逐漸提高。每次運行都會根據隨機種子隨機選擇帶注釋的上下文示例的子集。


我們還發現,對隨機種子進行多數投票所帶來的性能始終優于運行中的平均性能。這與數學推理問題的思想鏈推理文獻中的發現是一致的。在 NLVR 上,VISPROG 的性能在提示數少于 GQA 的情況下達到飽和。我們認為這是因為 NLVRV2 程序比 GQA 需要更少的模塊,因此使用這些模塊的演示也更少。


57a2479a-5962-11ee-939d-92fbcf53809c.png


圖 6. GQA 和 NLVRV2 驗證集上的上下文示例數量提高了性能。誤差線代表 5 次運行的 95% 置信區間。來自相同運行的預測用于多數投票。(第 5.1 節)

5.2 概括

GQA。在表1中, 我們在 GQA testdev集上評估不同的提示策略。對于在驗證集上評估的最大提示大小(24 個上下文中的示例),我們比較了由 VISPROG 在驗證集上的 5 次運行中選擇的最佳提示組成的隨機策略(每次運行從 31 個帶注釋的示例中隨機采樣上下文中的示例) )以及多數投票策略,該策略在 5 次運行中對每個問題進行最大共識預測。雖然“隨機”提示僅略微優于 VILT-VQA,但投票帶來了 2.7 個百分點的顯著收益。這是因為在多次運行中進行投票,每次運行都有一組不同的上下文示例,有效地增加了每個預測看到的上下文示例的總數。


我們還評估了一個手動策劃的提示,其中包含 20 個示例,其中 16 個來自 31 個帶注釋的示例,以及 4 個額外的幻覺示例,旨在更好地覆蓋驗證集中觀察到的失敗案例。精心策劃的提示的性能與投票策略一樣好,同時使用的計算量減少了 5 倍,凸顯了提示工程的前景。NLVR。表2 顯示了 VISPROG 在 NLVRV2 測試集上的性能,并比較了隨機、投票和策劃的提示策略與 GQA 的效果。雖然 VISPROG 在無需對圖像對進行訓練的情況下零樣本執行 NLVR 任務,但我們報告了 VILT-NLVR,這是一種在 NLVRV2 上進行微調的 VILT 模型,作為性能上限。


雖然落后上限幾個點,但 VISPROG 僅使用單圖像 VQA 模型進行圖像理解和 LLM 進行推理,顯示出強大的零樣本性能。請注意,VISPROG 使用 VILT-VQA 作為其 VQA 模塊,該模塊在 VQAV2 單圖像問答任務上進行訓練,而不是在 NLVRV2 上進行訓練。


57b3004e-5962-11ee-939d-92fbcf53809c.png


表 2. NLVRV2 測試結果。VISPROG 執行 NLVR 零樣本,即無需在圖像對上訓練任何模塊。VILT-NLVR 是在 NLVRV2 上微調的 VILT 模型,用作上限。Knowledge Tagging。表3 顯示了知識標記任務的本地化和標記性能。此任務的所有指令不僅需要開放詞匯本地化,還需要查詢知識庫以獲取類別來標記本地化對象。

這使得僅靠物體檢測器來說這是一項不可能完成的任務。使用原始指令,VISPROG 在標記方面取得了令人印象深刻的 63.7% F1 分數,其中涉及正確本地化和命名對象,僅在本地化方面就取得了 80.6% F1 分數。VISPROG 中的視覺原理允許通過修改指令進一步提高性能。

57d37aae-5962-11ee-939d-92fbcf53809c.png


表 3. 知識標記結果。該表顯示了原始指令的性能以及在檢查視覺原理以了解特定于實例的錯誤來源后創建的修改指令的性能。Image Editing。


表4 顯示了語言引導圖像編輯任務的性能。圖 7 顯示了 VISPROG 中當前模塊集可能進行的廣泛操作,包括面部操作、通過顏色彈出和背景模糊等風格效果突出顯示圖像中的一個或多個對象,以及通過替換關鍵元素來更改場景上下文 在場景中(例如沙漠)。


57e3b2fc-5962-11ee-939d-92fbcf53809c.png


表 4. 圖像編輯結果。我們手動評估每個預測的語義正確性。


57ecbe60-5962-11ee-939d-92fbcf53809c.png


圖 7. 圖像編輯(頂部)和知識標記任務(底部)的定性結果。

5.3. 視覺原理的實用性

誤差分析。

VISPROG 的可視化原理可以對故障模式進行徹底分析。在圖 9 中,我們檢查每個任務約 100 個樣本的基本原理,以分解錯誤來源。此類分析為提高 VISPROG 在各種任務上的性能提供了明確的途徑。例如,由于不正確的程序是 GQA 錯誤的主要來源,影響了 16% 的樣本,因此可以通過提供更多類似于失敗問題的上下文示例來提高 GQA 的性能。通過將用于實現高錯誤模塊的模型升級為性能更高的模塊,也可以提高性能。例如,用更好的 NLVR VQA 模型替換 VILT-VQA 模型可以將性能提高高達 24%(圖 9)。同樣,改進用于實現“列表”和“選擇”模塊(知識標記和圖像編輯任務的主要錯誤來源)的模型可以顯著減少錯誤。

580b7f26-5962-11ee-939d-92fbcf53809c.png

圖 9. VISPROG 中的誤差源。

指令調整。

為了有用,視覺原理最終必須允許用戶提高系統在其任務中的性能。對于知識標記和圖像編輯任務,我們研究視覺原理是否可以幫助用戶修改或調整指令以實現更好的性能。圖 8 顯示了通過視覺原理揭示的本地化錯誤如何使用戶能夠修改指令,以便更好地查詢本地化模塊。修改指令的其他方式包括為知識檢索提供更好的查詢或為選擇模塊提供類別名稱以將搜索限制到屬于該類別的分段區域。表 3 和表 4 顯示,指令調整可為知識標記和圖像編輯任務帶來顯著收益。

581ef9e8-5962-11ee-939d-92fbcf53809c.png


圖 8. 使用視覺原理調整指令。通過揭示失敗的原因,VISPROG 允許用戶修改原始指令以提高性能。

5 總結

VISPROG 提出可視化編程作為一種簡單而有效的方式,將LMMs的推理能力用于復雜的視覺任務。VISPROG 展示了強大的性能,同時生成高度可解釋的視覺原理。我們相信,研究整合用戶反饋以提高 VISPROG 等神經符號系統性能的新方法是構建下一代通用視覺系統的一個令人興奮的方向。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 人工智能
    +關注

    關注

    1804

    文章

    48645

    瀏覽量

    246125
  • 可視化
    +關注

    關注

    1

    文章

    1241

    瀏覽量

    21619
  • 計算機視覺
    +關注

    關注

    9

    文章

    1706

    瀏覽量

    46549

原文標題:?基于文本提示就可自動實現復雜計算機視覺任務?

文章出處:【微信號:3D視覺工坊,微信公眾號:3D視覺工坊】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    什么是計算機視覺計算機視覺的三種方法

    計算機視覺是指通過為計算機賦予人類視覺這一技術目標,從而賦能裝配線檢查到駕駛輔助和機器人等應用。計算機缺乏像人類一樣憑直覺產生
    的頭像 發表于 11-16 16:38 ?5345次閱讀
    什么是<b class='flag-5'>計算機</b><b class='flag-5'>視覺</b>?<b class='flag-5'>計算機</b><b class='flag-5'>視覺</b>的三種方法

    機器視覺計算機視覺的關系簡述

    ,以控制相應的行為。因此,可以說,計算機視覺為機器視覺提供圖像和景物分析的理論及算法基礎,機器視覺計算機
    發表于 05-13 14:57

    自動駕駛系統要完成哪些計算機視覺任務

    Geiger 的研究主要集中在用于自動駕駛系統的三維視覺理解、分割、重建、材質與動作估計等方面。他主導了自動駕駛領域著名數據集 KITTI 及多項自動駕駛
    發表于 07-30 06:49

    基于OpenCV的計算機視覺技術實現

    基于OpenCV的計算機視覺技術實現OpencV是用來實現計算機視覺相關技術的開放源碼工作庫,是
    發表于 11-23 21:06 ?0次下載
    基于OpenCV的<b class='flag-5'>計算機</b><b class='flag-5'>視覺</b>技術<b class='flag-5'>實現</b>

    自動圖片文本辨認是計算機視覺和機器學習處理大型數據的重要案例

    計算機視覺的角度來看,雖然對人類來說,看真實的文件和影印版的沒有太大差別,但對計算機就大不一樣了:文件可以通過搜索被檢索,用戶輸入一些單詞就可以從文件中找到目標對象。但在圖像上,檢索
    的頭像 發表于 10-13 08:54 ?3489次閱讀

    計算機視覺與機器視覺區別

     “計算機視覺”,是指用計算機實現人的視覺功能,對客觀世界的三維場景的感知、識別和理解。計算機
    的頭像 發表于 12-08 09:27 ?1.3w次閱讀

    計算機視覺中的重要研究方向

    計算機視覺是一門研究如何讓計算機達到人類那樣看的技術。使用攝像頭和電腦來代替人類完成一些復雜的工作,例如對目標進行分類、識別、分割、跟蹤等,計算機
    的頭像 發表于 11-19 14:32 ?1.2w次閱讀

    用于計算機視覺訓練的圖像數據集

    ? 計算機視覺使計算機能夠理解圖像和視頻的內容。計算機視覺的目標是使人類視覺系統可以
    的頭像 發表于 12-31 09:33 ?2543次閱讀

    用于計算機視覺訓練的圖像數據集

    計算機視覺使計算機能夠理解圖像和視頻的內容。計算機視覺的目標是使人類視覺系統可以
    的頭像 發表于 02-12 16:13 ?1551次閱讀

    機器學習和計算機視覺的前20個圖像數據集

    計算機視覺使計算機能夠理解圖像和視頻的內容。計算機視覺的目標是使人類視覺系統可以
    發表于 01-28 07:40 ?5次下載
    機器學習和<b class='flag-5'>計算機</b><b class='flag-5'>視覺</b>的前20個圖像數據集

    計算機視覺的基礎概念和現實應用

    本文將介紹計算機視覺的基礎概念和現實應用,對任何聽說過計算機視覺但不確定它是什么以及如何應用的人,本文是了解計算機
    的頭像 發表于 11-08 10:10 ?1873次閱讀

    計算機視覺的概念和主要任務

    作為人工智能的關鍵領域之一的計算機視覺近期再次成為了熱點,那么你真的了解什么是計算機視覺嗎?
    的頭像 發表于 07-17 11:20 ?1803次閱讀

    機器視覺計算機視覺的區別

    機器視覺計算機視覺的區別 機器視覺計算機視覺是兩個相關但不同的概念。雖然許多人使用這兩個術語
    的頭像 發表于 08-09 16:51 ?2363次閱讀

    計算機視覺和機器視覺區別在哪

    ,旨在實現對圖像和視頻的自動分析和理解。 機器視覺 機器視覺計算機視覺的一個分支,主要應用于工
    的頭像 發表于 07-09 09:22 ?768次閱讀

    機器視覺計算機視覺有什么區別

    。機器視覺的研究目標是讓機器具有類似人類的視覺能力,能夠自動、準確地完成各種視覺任務計算機
    的頭像 發表于 07-16 10:23 ?953次閱讀