- 核心技術
- 以原創技術體系為根基,SenseCore商湯AI大裝置為核心基座,布局多領域、多方向前沿研究,
快速打通AI在各個垂直場景中的應用,向行業賦能。
ICLR 2024 Spotlight | 自蒸餾激發CLIP模型的檢測分割能力
分析CLIP模型的區域表征
我們利用COCO數據集上的區域物體框,讓CLIP模型對這些物體框進行分類,計算分類的準確度(mAcc)。
我們分別采用兩種方式利用CLIP模型對物體框進行處理:
一種是將整個圖像利用CLIP模型提取圖像特征,再根據物體框的坐標信息通過局部區域的池化操作(RoIAlign)得到區域密集特征(dense feature),下游的目標檢測和圖像分割任務需要采用這種方式獲得局部物體的感知;
另一種是先將物體框區域從原圖裁剪得到的小圖像(image crop),再采用CLIP預訓練相同的方式,將整個小圖像送入CLIP模型提取圖像層級的特征。
圖1. CLIP模型分析
盡管基于ViT的CLIP模型在全圖分類上展現出很好的效果(圖1(a)),但如圖1(b)所示,CLIP ViT的dense feature的效果不佳,不能被用于很好地識別物體。圖1(c)中的Kmeans可視化結果也表明ViT的局部特征相對于CNN分散嘈雜。
這是由于ViT不具有CNN的平移等變性和局部性等特點,而預訓練只在圖像層級對齊了視覺語言的表征,從而缺乏提取良好區域特征的能力。
我們進一步對更多主流的CLIP模型的區域密集特征進行分析,在不同的原圖尺度上統計物體框的分類精度。
如圖2所示,各種CLIP ViT模型的Dense feature對物體框的分類均不如Image crop的圖像層級特征。并且,隨著圖像輸入尺寸的增大,CLIP ViT dense feature的能力并沒有隨之提升,這將不利于下游的目標檢測和圖像分割任務進行區域識別。
圖2. CLIP模型的區域分類精度
方法
為提升CLIP ViT的區域表征,一個自然的做法是構造區域文本對(region-text pairs),直接學習區域表征和文本表征之間的對齊。
然而,人工標注區域文本對數據成本巨大。因此現有的方法(如RegionCLIP)解析圖像的caption得到物體名詞(object nouns),同時利用預訓練的區域生成網絡(RPN)生成region proposals嗎,再匹配兩者獲得區域文本對。
由于匹配結果準確度有限,這種區域文本對提供的監督噪聲極大。因此,本文提出CLIPSelf以解決上述問題。
受圖1、2中Image Crop的高分類精度啟發,我們試圖用CLIP高質量的圖像特征(teacher)監督其區域特征(student),利用自監督的方式來提升CLIP ViT的密集表征。
CLIPSelf通過最小化CLIP ViT的dense feature(student)和對應的Image crop特征(teacher)的cosine距離,來優化CLIP的局部特征。
如圖3所示,CLIPSelf可以不依賴RPN網絡提供region proposals,僅將圖像均勻劃分成MxN個patch即可得到self-distillation所需的圖像區域。訓練過程中,對每一張圖片,我們從{2,3,4,5,6}中隨機采樣得到M和N。
圖3. CLIPSelf的自蒸餾框架
實驗結果
3.1 開放詞匯目標檢測
通過將開放詞匯目標檢測器中的CLIP模型替換為我們CLIPSelf自蒸餾后的版本,我們取得了開放詞匯目標檢測任務上新的SOTA。
圖4. 開放詞匯目標檢測任務結果
3.2 開放詞匯圖像分割
用CLIPSelf優化后的CLIP ViT模型替換原始的模型,可以顯著提升現有開放詞匯圖像分割的效果。
3.3 開放詞匯圖像分割與構造區域文本對比較
如下表所示,在使用相同的region proposals情況下,self-distillation是比region-text pairs更好的監督來源。
總結
在這篇論文中,我們詳細地分析了CLIP模型的局部區域表征能力,發現CLIP ViT區域層級的表征較弱,但是有很強的圖像層級表征。
因此,我們提出了一種自蒸餾的方式CLIPSelf,用CLIP ViT強大的圖像表征來優化其自身的區域表征。CLIPSelf顯著提升了CLIP ViT在開放詞匯密集預測(dense prediction)任務中的性能。