目標偵測是電腦視覺中一個非常重要的基礎任務,與常見的影像分類/ 辨識任務不同,目標偵測需要模型在給出目標的類別之上,進一步給出目標的位置和大小訊息,在CV 三大任務(辨識、偵測、分割)中處於承上啟動的關鍵地位。
目前大火的多模態 GPT-4 在視覺能力上只具備目標辨識的能力,還無法完成更高難度的目標偵測任務。而辨識出影像或影片中物體的類別、位置和大小信息,是現實生產中眾多人工智慧應用的關鍵,例如自動駕駛中的行人車輛識別、安防監控應用中的人臉鎖定、醫學影像分析中的腫瘤定位等等。
已有的目標偵測方法如YOLO 系列、R-CNN 系列等目標偵測演算法在科學研究人員的不斷努力下已經具備很高的目標偵測精度與效率,但由於現有方法需要在模型訓練前就定義好待檢測目標的集合(閉集),導致它們無法檢測訓練集合之外的目標,例如一個被訓練用於檢測人臉的模型就不能用於檢測車輛;另外,現有方法高度依賴人工標註的數據,當需要增加或修改待檢測的目標類別時,一方面需要對訓練數據進行重新標註,另一方面需要對模型進行重新訓練,既費時又費力。
一個可能的解決方案是,收集海量的圖像,並人工標註Box 信息與語義信息,但這將需要極高的標註成本,而且使用海量數據對檢測模型進行訓練也對科學研究工作者提出了嚴峻的挑戰,如資料的長尾分佈問題與人工標註的品質不穩定等因素都將影響偵測模型的效能表現。
發表在CVPR 2021 的文章OVR-CNN [1] 提出了一個全新的目標偵測範式:開放詞集目標偵測(Open-Vocabulary Detection,OVD,也稱為開放世界目標偵測),來因應上文提到的問題,即面向開放世界未知物體的偵測場景。
OVD 由於能夠在無需人工擴充標註資料量的情況下識別並定位任意數量和類別目標的能力,自提出後吸引了學術界與工業界的持續關注,也為經典的目標偵測任務帶來了新的活力與新的挑戰,並有望成為目標偵測的未來新典範。
具體地,OVD 技術不需要人工標註海量的圖片來增強檢測模型對未知類別的檢測能力,而是透過將具有良好泛化性的無類別(class- agnostic)區域偵測器與經過大量無標註資料訓練的跨模態模型結合,透過影像區域特徵與待偵測目標的描述性文字進行跨模態對齊來擴展目標偵測模型對開放世界目標的理解能力。
跨模態和多模態大模型工作近期的發展非常迅速,如CLIP [2]、ALIGN [3] 與R2D2 [4] 等,而它們的發展也促進了OVD 的誕生與OVD 領域相關工作的快速迭代與演化。
OVD 技術涉及兩大關鍵問題的解決:1)如何提升區域(Region) 資訊與跨模態大模型之間的適配;2)如何提升泛類別目標檢測器對新類別的泛化能力。從這兩個角度出發,以下將詳細介紹一些 OVD 領域的相關工作。
OVD 基本流程示意[1]
OVD 的基礎概念:OVD 的使用主要涉及到few-shot 和zero-shot 兩大類場景,few-shot 是指有少量人工標註訓練樣本的目標類別,zero-shot 則是指不存在任何人工標註訓練樣本的目標類別。在常用的學術評測資料集 COCO、LVIS 上,資料集會被劃分為 Base 類別和 Novel 類,其中 Base 類別對應 few-shot 場景,Novel 類別對應 zero-shot 場景。如 COCO 資料集包含 65 種類別,常用的評測設定是 Base 集包含 48 種類別,few-shot 訓練中只使用這 48 個類別。 Novel 集包含 17 種類別,在訓練時完全不可見。檢定指標主要參考 Novel 類別的 AP50 數值進行比較。
論文1:Open-Vocabulary Object Detection Using Captions
#論文網址:https://arxiv.org/pdf/2011.10678.pdf
程式碼位址:https://github.com/ alirezazareian/ovr-cnn
OVR-CNN 是CVPR 2021 的Oral-Paper,也是OVD 領域的開山之作。它的二階段訓練範式,影響了後續許多的 OVD 工作。如下圖所示,第一階段主要使用image-caption pairs 對視覺編碼器進行預訓練,其中藉助BERT (參數固定) 來產生詞掩碼,並與加載ImageNet 預訓練權重的ResNet50 進行弱監督的Grounding 匹配,作者認為弱監督會讓匹配陷入局部最優,於是加入多模態Transformer 進行詞掩碼預測來增加穩健性。
第二階段的訓練流程與Faster-RCNN 類似,區別點在於,特徵提取的Backbone 來自於第一階段預訓練得到的ResNet50 的1-3 層,RPN 後仍使用ResNet50 的第四層進行特徵加工,隨後將特徵分別用於Box 回歸與分類預測。分類預測是OVD 任務區別於常規檢測的關鍵標誌,OVR-CNN 中將特徵輸入一階段訓練得到的V2L 模組(參數固定的圖向量轉詞向量模組) 得到一個圖文向量,隨後與標籤詞向量組進行匹配,對類別進行預測。在二階段訓練中,主要使用 Base 類別對偵測器模型進行框回歸訓練與類別配對訓練。由於 V2L 模組始終固定,配合目標偵測模型定位能力遷移到新類別,使得偵測模型能夠辨識並定位到全新類別的目標。
如下圖所示,OVR-CNN 在COCO 資料集上的表現遠超之前的Zero-shot 目標檢測演算法。
#論文網址:https://arxiv.org/abs/2112.09106
##代碼位址:https://github.com/microsoft/RegionCLIP
OVR-CNN 中使用BERT 與多模態Transfomer 進行iamge-text pairs 預訓練,但隨著跨模態大模型研究的興起,科學研究工作者開始利用CLIP,ALIGN 等更強大的跨模態大模型對OVD 任務進行訓練。偵測器模型本身主要針對Proposals,即區域資訊進行分類識別,發表於CVPR 2022 的RegionCLIP [5] 發現目前已有的大模型,如CLIP,對裁剪區域的分類能力遠低於對原圖本身的分類能力,為了改進這一點,RegionCLIP 提出了一個全新的兩階段OVD 方案。
########################第一階段,資料集主要使用CC3M,COCO-caption 等圖文匹配資料集進行區域層級的蒸餾預訓練。具體地:############1. 將原先存在於長文本中的詞彙進行提取,組成 Concept Pool,進一步形成一組關於 Region 的簡單描述,用於訓練。 ######2. 利用基於 LVIS 預訓練的 RPN 提取 Proposal Regions,並利用原始 CLIP 對提取到的不同 Region 與準備好的描述進行匹配分類,並進一步組裝成偽造的語義標籤。
3. 將準備好的 Proposal Regions 與語意標籤在新的 CLIP 模型上進行 Region-text 對比學習,進而得到一個專精於 Region 資訊的 CLIP 模型。
4. 在預訓練中,新的CLIP 模型也會透過蒸餾策略學習原始CLIP 的分類能力,以及進行全圖層級的image-text 對比學習,來維持新的CLIP 模型對完整影像的表達能力。
第二階段,將得到的預訓練模型在偵測模型上進行遷移學習。
RegionCLIP 進一步拓展了已有跨模態大模型在常規檢測模型上的表徵能力,進而取得了更出色的效能,如下圖所示,RegionCLIP 相比OVR-CNN 在Novel 類別上取得了較大提升。 RegionCLIP 透過一階段的預訓練有效地的提升了區域(Region) 資訊與多模態大模型之間的適應能力,但CORA 認為其使用更大參數規模的跨模態大模型進行一階段訓練時,訓練成本將會非常高昂。
論文3:CORA: Adapting CLIP for Open-Vocabulary Detection with Region Prompting and Anchor Pre-Matching
CORA [6] 已收錄於CVPR 2023,為了克服其所提出目前OVD 任務所面臨的兩個阻礙,設計了一個類別DETR 的OVD 模型。如其文章標題所示,模型主要包含了 Region Prompting 與 Anchor Pre-Matching 兩個策略。前者透過Prompt 技術來優化基於CLIP 的區域分類器所提取的區域特徵,進而緩解整體與區域的分佈差距,後者透過DETR 檢測方法中的錨點預匹配策略來提升OVD 模型對新類別物件定位能力的泛化性。
CLIP 原始視覺編碼器的整體影像特徵與區域特徵之間存在分佈差距,進而導致偵測器的分類精度較低(這點與RegionCLIP 的出發點類似)。因此,CORA 提出 Region Prompting 來適應 CLIP 影像編碼器,提高對區域資訊的分類效能。具體地,首先透過 CLIP 編碼器的前 3 層將整個影像編碼成一個特徵映射,然後由 RoI Align 產生錨點框或預測框,並將其合併成區域特徵。隨後由 CLIP 影像編碼器的第四層進行編碼。為了緩解CLIP 影像編碼器的全圖特徵圖與區域特徵之間存在分佈差距,設定了可學習的Region Prompts 並與第四層輸出的特徵進行組合,進而產生最終的區域特徵用來與文字特徵進行匹配,匹配損失使用了樸素的交叉熵損失,且訓練過程中與CLIP 相關的參數模型全都凍結。
CORA 是一個類別 DETR 的偵測器模型,類似於 DETR,其也使用了錨點預匹配策略來提前產生候選框用於框回歸訓練。具體來說,錨點預匹配是將每個標籤框與最接近的一組錨點框進行匹配,以確定哪些錨點框應該被視為正樣本,哪些應該被視為負樣本。這個配對過程通常是基於 IoU(交並比)進行的,如果錨點框與標籤框的 IoU 超過一個預先定義的閾值,則將其視為正樣本,否則將其視為負樣本。 CORA 顯示該策略能夠有效提高對新類別定位能力的泛化性。
但是使用錨點預先匹配機制也會帶來一些問題,例如至少有一個錨點框與標籤框形成匹配時,才可正常進行訓練。否則,該標籤框將被忽略,同時阻礙模型的收斂。進一步,即使標籤框獲得了較為準確的錨點框,由於 Region Classifier 的識別精度有限,進而導致該標籤框仍可能被忽略,即標籤框對應的類別資訊沒有與基於 CLIP 訓練的 Region Classifier 形成對齊。因此,CORA 以CLIP-Aligned 技術利用CLIP 的語意辨識能力,與預訓練ROI 的定位能力,在較少人力情形下對訓練資料集的影像進行重新標註,使用此技術,可以讓模型在訓練中匹配更多的標籤框。
比起 RegionCLIP,CORA 在 COCO 資料集上進一步提升了 2.4 的 AP50 數值。
OVD 技術不僅與當前流行的跨/ 多模態大模型的發展緊密聯繫,同時也承接了過去科研工作者對目標檢測領域的技術累積,是傳統AI 技術與以通用AI 能力為導向研究的成功銜接。 OVD 更是一項面向未來的全新目標偵測技術,可以預料到的是,OVD 可以偵測並定位任意目標的能力,也將反過來推進多模態大模型的進一步發展,有希望成為多模態AGI發展中的重要基石。當下,多模態大模型的訓練資料來源是網路上的海量粗糙資訊對,即文字影像對或文字語音對。若利用 OVD 技術對原本粗糙的影像資訊進行精準定位,並輔助預測影像的語意資訊來篩選語料,將會進一步提升大模型預訓練資料的質量,進而優化大模型的表徵能力與理解能力。
一個很好的例子就是 SAM (Segment Anything)[7],SAM 不僅讓科研工作者們看到了通用視覺大模型未來方向,也引發了很多思考。值得注意的是,OVD 技術可以很好的接入 SAM,來增強 SAM 的語義理解能力,自動的生成 SAM 需要的 box 信息,從而進一步解放人力。同樣的對於AIGC (人工智慧生成內容),OVD 技術同樣可以增強與用戶之間的交互能力,如當用戶需要指定一張圖片的某一個目標進行變化,或對該目標生成一句描述的時候,可以利用OVD 的語言理解能力與OVD 對未知目標偵測的能力實現對使用者描述對象的精確定位,進而實現更高品質的內容產生。當下 OVD 領域的相關研究蓬勃發展,OVD 技術對未來通用 AI 大模型所能帶來的改變值得期待。
以上是無需標註海量數據,目標偵測新範式OVD讓多模態AGI又前進一步的詳細內容。更多資訊請關注PHP中文網其他相關文章!