?

基于CLIP 模型的軍事領域圖片資源多模態搜索工具研究

2022-03-13 08:03趙晉巍劉曉鵬
中華醫學圖書情報雜志 2022年8期
關鍵詞:編碼器模態分類

趙晉巍,劉曉鵬,羅 威,程 瑾,毛 彬,宋 宇

大數據時代數據分析工作通常需要處理不同來源、不同領域的數據,這些數據呈現出不同的模態[1],如視頻、圖片、語音,以及工業場景下的傳感數據和紅外、聲譜等。多模態數據是指對同一個描述對象通過不同領域或視角獲取到的數據,而把描述這些數據的每一個領域或視角叫做一個模態[2]。顧名思義,多模態數據融合的研究內容就是這些不同類型的數據的融合問題,即利用計算機進行多模態數據的綜合處理。

Contrastive Language-image Pre-training(CLIP)模型是一個在各種“圖像-文本”對上進行訓練的神經網絡[3]。它是一種基于對比學習的多模態模型,通過圖像和它對應描述文本的對比訓練,達到學習兩者匹配關系的目的。作為多模態訓練的結果,CLIP 模型可用于查找最能代表圖像的文本片段,或根據給定文本查詢最合適的圖像,甚至可以基于文本對圖像進行分類[4]。CLIP 模型打破了自然語言處理和計算機視覺兩大門派“涇渭分明”的界限,實現了多模態的AI 系統,融合了不同模態進行檢索,這使CLIP 模型在圖像和文本搜索中非常有用。筆者開展了多年的開源軍事相關圖片資源的本地化建設,內容涵蓋裝備使用、軍事行動、保障維修等方面,共搜集到圖片30 余萬張,這些圖片資源大多帶有原生的描述文本,而且某些重要的圖片已進行了人工分類和標注,因此具備開展圖片深度挖掘處理的資源基礎。在圖片資源發現上,傳統的圖片檢索技術采用文本匹配模式,即通過搜索關鍵詞與圖片標題、描述信息進行精確或模糊匹配。而對于描述信息缺失的圖片或標引錯誤的圖片來說,文本匹配模式無能為力,并且也無法進行以圖搜圖,如通過模糊圖片找到更高清圖片,或通過圖片找到相似前景目標物的圖片?;诖?,本文通過CLIP 模型的再訓練,開展多模態搜索的相關應用研究,包括軍事領域內圖片資源的以文搜圖和以圖搜圖。

1 CLIP 模型研究背景和現狀

1.1 CLIP 模型概述

以往的計算機視覺(Computational Vision,CV)模型通常被訓練用于預測有限的物體類別(如ImageNet 數據集中有1 000 個分類標簽)。這種嚴格的監督訓練方式限制了模型的泛化性和實用性,因為這樣的模型通常還需要額外的標注數據來完成訓練時未曾見過的圖像(視覺)“概念”[5]。2021 年初,OpenAI 推出了AI 視覺模型CLIP(圖1),該模型以4 億對網絡圖文數據集(Web ImageText,WIT)作為訓練集,將文本作為圖像標簽進行訓練。當進行下游推理任務時,只需要提供和圖像語義對應的文本描述,就可以進行零樣本(Zero-Shot)推理遷移。經過龐大的數據集訓練,CLIP 模型在圖文識別和融合上展現了很高的表現力。

圖1 CLIP 模型的框架結構

1.1.1 預訓練

CLIP 模型聯合訓練圖像編碼器(如ResNet50)和文本編碼器(如BERT),以預測一批圖像和文本的正確配對。假設給定一個包括N個“圖像-文本”對的數據集,就能得到n個圖片的特征和n個文本的特征,CLIP 模型的訓練目標是判斷在一個數據集中N×N個“圖像-文本”對中的哪一對是匹配的。為此,CLIP 模型通過線性投影將每個編碼器的表示映射到多模式嵌入空間,通過聯合訓練圖像編碼器和文本編碼器來最大化數據集中的n對匹配的圖文特征余弦相似度,同時最小化N2-N個錯誤對的余弦相似度,從而達到對比學習的目的。此外,CLIP 模型在這些相似度上用對稱的交叉熵損失進行優化。

圖1 中的預訓練對比學習(Contrastive Pre-training)部分,N×N矩陣對角線上配對的n個“圖像-文本”對都是正樣本,矩陣中非對角線上的N2-N個元素都是負樣本,有了正負樣本,模型就可以通過對比學習的方式去訓練,因此不需要任何手工標注。

1.1.2 Zero-Shot 的推理

在計算機視覺中,Zero-Shot 學習通常指在圖像分類中對沒見過的對象類別進行泛化的研究[6]。CLIP 模型的預訓練方式是預測一張圖片和一段文本在其數據集中是否匹配。為了實現Zero-Shot 推理,將每個數據集中所有類的名稱作為潛在文本配對的集合,并用CLIP 模型預測最可能的“圖像-文本”配對,即把分類轉換為檢索問題。

具體到圖 1 中的提取預測類別文本特征(Create dataset classifier from label text)和Zero-Shot推理預測(Use for zero-shot prediction)部分,首先計算圖像的特征嵌入和可能分類集合的特征嵌入,然后計算這些嵌入的余弦相似度,然后用一個溫度參數進行縮放,并通過Softmax 函數將其歸一化為概率分布。預測層是具有L2 歸一化輸入、L2 歸一化權重、無偏差和溫度縮放的多項式邏輯回歸分類器。圖像編碼器計算圖像的特征表示,而文本編碼器基于視覺類別的文本來生成線性分類器的權重。如對ImageNet[7]數據集上的Zero-Shot 遷移,文本編碼器需要生成1 000 個類別的表示,而且用每張圖片的特征表示和這1 000 個文本表示進行匹配,最接近的文本特征對應的類別就是圖像屬于的類別。

另一方面,預訓練之后得到的文本和圖片的特征是沒有分類標簽的,CLIP 模型使用類似“A photo of a {label}.”模板生成分類文本。該方法比只使用標簽文本的Baseline 性能有所提高,在ImageNet數據集上的準確率提高了1.3%[5]。

1.1.3 CLIP 模型的實驗性能

圖2 顯示了CLIP Zero-Shot 推理與ResNet101模型在不同的數據集(如ImgeNet 原生數據集及其篩選出的素描、動漫等數據集和構造的包含很多對抗樣本的數據集)測試結果的對比,隨著數據集難度的增加,ResNet101 的分類精度在一直下降,而CLIP 模型卻并沒有隨著數據集難度的加大而出現性能下降等情況。因此與標準ImageNet 模型相比,CLIP Zero-Shot 推理對分布偏移更具魯棒性,比基于ImageNet 數據集的標準有監督訓練模型要好得多。

圖2 CLIP 模型的魯棒性實驗結果

1.2 CLIP 模型應用研究現狀

有學者提出了利用文字表述來對圖像進行編輯的模型,即StyleCLIP 模型[8]。該模型借助CLIP 模型的“文本-圖像”相關性能力和StyleGAN 的圖像生成能力,通過文本驅動生成圖像。StyleCLIP 模型提出了隱空間優化(Latent Optimization)、隱空間映射(Latent Mapper)和全局方向(Global Directions)3 種實現方式,每種方式都可以實現編輯圖像的目的,只是在實現細節上有所區別。

Google 的研究人員提出了ViLD 模型[9],這是一種通過視覺和語言知識蒸餾的訓練方法。ViLD 模型由文本嵌入(ViLD-text)和圖像嵌入(ViLD-image)學習器兩部分組成。它將CLIP 圖像分類模型應用到了目標檢測任務上,在新增類別推理上Zero-Shot超過了有監督訓練的方法。

騰訊的研究人員提出了CLIP2Video 模型[10],以端到端的方式將圖像語言預訓練模型轉換為視頻文本檢索模型,即將CLIP 模型的“文本-圖像”對擴展到“文本-視頻”對,以解決視頻文本檢索問題。該模型基于CLIP 捕獲的空間語義,主要通過時間差分塊(temporal difference block,TDB)和時間對齊塊(temporal alignment block,TAB)兩個模塊將圖片語言預訓練模型轉換為視頻文本檢索。這兩個模塊是為了捕獲視頻幀的時間關系和視頻語言關系而設計的。對時間差分塊,本文在序列中加入圖像幀的差分來模擬運動變化;對時間對齊塊,本文將視頻序列和文本序列對齊到相同的空間,以增強視頻片段和短語之間的相關性。

有學者提出了將跨模態注意力對比的“語言-圖像”預訓練模型(CMA-CLIP)[11]用于圖文分類任務,還提出了序列注意力(sequence-wise attention)和模式注意力(modality-wise attention)兩種跨模態注意力,以有效地融合來自圖像和文本對的信息。CMA-CLIP 模型在多任務分類的MRWPA 數據集上表現優異。

2 基于CLIP 模型的圖文融合搜索工具設計

如前文所述,CLIP 模型可用于圖像分類、目標檢測、視頻理解、圖像編輯等領域。由于CLIP是一種在巨量圖像和文本對上預訓練的神經網絡,我們可根據自身資源特點開展針對性的再訓練,以提高自身資源檢索或分類的精度。作為這種多模態訓練的結果,CLIP 模型可用于查找最能代表圖像的文本片段,或根據給定文本查詢最合適的圖像,圖文檢索(以文搜圖、以圖搜文、以圖搜圖等)是CLIP 模型最直接實現的應用。

2.1 構建訓練樣本和再訓練

CLIP 模型庫中有RN50、RN101、ViT-B/32、ViT-B/16 等9 個模型,本文主要針對ViT-B/32 模型進行了再訓練。ViT-B/32 模型用于編碼圖像特征,包括圖像分辨率、嵌入維度、Transformer 的層數、Transformer 模型頭數等輸入維度和輸出維度,參數配置表如表1 所示。

表1 ViT-B/32 模型的參數配置

訓練樣本主要從自建的軍事相關圖片數據集中進行構建,樣本元數據字段包括圖片標題、圖片描述、分類、圖片路徑等,數據格式保存為JSON格式。

訓練過程主要包括以下3 個步驟。

第一步:通過DataLoader 函數加載一個批次(batch)的N個“文本-圖像”對。將N個文本通過文本編碼器(Text Encoder)進行文本編碼,定義文本編碼器中每條文本編碼為長度為dt的一維向量,那么這個批次的文本數據經Text Encoder 輸出為[T1,T2,…TN],維度為(N,dt)。類似地,將N個圖像通過圖像編碼器(Image Encoder)進行圖像編碼輸出為[I1,I2,…IN],維度為(I,di)。

第二步:訓練樣本T1,T2,…TN和I1,I2,…IN是一一對應的,將這個對應關系記為正樣本;將原本并不對應的“文本-圖像”對標記為負樣本,由此便產生N個正樣本,N2-N個負樣本,用以訓練文本編碼器和圖像編碼器。

第三步:計算Ii與Tj之間的余弦相似度Ii·Tj,用來度量文本與圖像之間的對應關系。余弦相似度越大,說明Ii與Tj的對應關系越強,反之越弱。即通過訓練文本編碼器和圖像編碼器的參數,最大化N個正樣本的余弦相似度,最小化N2-N個負樣本的余弦相似度。優化目標函數的公式為:

2.2 多模態搜索系統核心流程的設計

基于存有30 余萬張圖片的開源軍事相關圖片數據集,設計開發了具有以文搜圖和以圖搜圖功能的服務原型系統,核心流程如圖3 所示。

圖3 多模態搜索服務原型系統流程

多模態搜索服務原型系統主要包括以下3 種主體功能。一是圖片數據集預處理,將30 余萬張圖片進行向量化預處理,加載CLIP 模型并特征化圖片向量,形成圖片集特征化矩陣并緩存。二是通過文本編碼器進行查詢文本的特征化,通過圖像編碼器(ViT)進行查詢圖像的特征化。三是查詢匹配,通過線性映射層將文本和圖像特征進行嵌入,映射到相同特征維度,同時進行L2 標準化。將查詢文本或圖像與圖片集特征化矩陣進行余弦相似度計算,并根據相似性對結果進行排序。

2.3 多模態搜索服務系統實現

服務原型系統采用Django+Redis緩存框架開發,系統分為以文搜圖和以圖搜圖兩個搜索功能區。

圖4 是以“Aerial refueling”作為搜索文本進行場景搜圖的效果展示。圖4 顯示,系統返回的前160個結果集合中僅有6 張圖片沒有明顯的空中加油動作,證明系統以文搜圖的準確率還是非常高的。圖5 為檢索“air force”文本的返回結果,檢出了噴涂有“air force”文字的美軍機和美空軍標志,未來可在目標文字光學字符識別(Optical Character Recognition,OCR)及目標檢測上開展深入研究應用。

圖4 以文搜圖的場景搜圖效果展示

圖5 以文搜圖的OCR 效果展示

圖6 是以圖搜圖的效果展示。上傳圖片為一張無人機照片,通過以圖搜圖,不僅可以獲得相關類似甚至更高清的圖片,同時基于圖片庫還可以得到該圖片豐富的背景信息,從細覽頁得知該無人機是美海軍測試的MQ-25 無人加油機。

圖6 以圖搜圖的效果展示

3 結語

目前,多模態檢索、預訓練模型受到越來越多的關注,學界也興起了關于多模態檢索未來趨勢和發展的大討論,CLIP 模型在多模態搜索工具的研究上邁出了第一步,實現了在大規模數據的情況下模型對圖像和文本的學習能力的大幅提升。本文通過收集的大規模軍事相關圖片數據集,借助CLIP模型,設計開發了具有以文搜圖和以圖搜圖功能的多模態搜索服務原型網站。在實際測試中發現,CLIP 模型對一些抽象文本也能夠檢索出不錯的結果。下一步將圍繞針對軍事裝備相關圖片的模型微調,以及在軍事裝備及事件分類、目標檢測、人物軌跡跟蹤等方面開展分析和應用研究。

猜你喜歡
編碼器模態分類
基于BERT-VGG16的多模態情感分析模型
融合CNN和Transformer編碼器的變聲語音鑒別與還原
多模態超聲監測DBD移植腎的臨床應用
分類算一算
分類討論求坐標
基于FPGA的同步機軸角編碼器
數據分析中的分類討論
教你一招:數的分類
應用旋轉磁場編碼器實現角度測量
車輛CAE分析中自由模態和約束模態的應用與對比
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合