微軟Florence-2官宣開源,一統視覺基礎模型!華人團隊聯手打造

新智元報道

編輯:桃子

【新智元導讀】等了半年,微軟視覺基礎模型Florence-2終於開源了。它能夠根據提示,完成字幕、對象檢測、分割等各種計算機視覺和語言的任務。網友們實測後,堪稱「遊戲規則改變者」。

一統視覺界的基礎模型終於開源了!

最近,微軟團隊悄悄放出了Florence-2權重和代碼,而且任何人皆可試玩。

去年11月,Florence-2首次發佈之初,憑藉驚豔的能力在全網掀起軒然大波。

只需要一個提示,就可以指示模型完成諸如字幕、對象檢測、分割等各種各樣的CV和CV語言任務。

Figure的首席執行官將其稱之爲,「計算機視覺領域的重大突破」。

在大多數基準中,Florence-2甚至打敗了多數數十億美元的模型,就像Phi-3一樣,表明了數據質量非常重要。

現在,模型的所有權重代碼,已經放在開源平臺Hugging Face上了,還有MIT許可證,隨取隨用。

體驗後的網友稱,它就是許多視覺任務的遊戲規則改變者,不僅有極高精度,還有炸裂的速度。

就看這鋪屏的標註能力,簡直強大到令人髮指!

它竟然還可以識別出鏡子。

更多精彩演示

Florence-2更多案例如下,高密度的區域標註,能夠將複雜區域的精細內容完成識別。

能夠根據提示,找到對應的內容。

OCR識別也是非常精準。

對電影海報的內容識別。

區域分割,可以精準將圖像內容分割出來。

與GPT-4V等先進的多模態模型,在字幕任務上的比較。

Florence-2還能看圖寫小作文。

統一視覺基礎模型

微軟團隊的這篇論文已經被CVPR 2024接收爲Oral論文。

Florence-2最初的設計目的是,創建一個視覺基礎模型,實現廣泛的感知能力。

將文本提示作爲任務指令,並以文本形式生成理想的結果,無論是字幕、物體檢測、還是分割等等。

論文地址:https://arxiv.org/pdf/2311.06242

爲了實現這一目標,研究人員在FLD-5B數據集上(1.26億張圖像上54億個全面的視覺標註)對單個統一模型完成了訓練。

接下來,一起看看Florence-2的設計架構和性能表現吧。

Florence-2架構

爲了開發多功能視覺基礎模型,研究人員制定了一系列多任務學習目標,每個目標都是爲了解決視覺理解的特定方面而定製的。

多任務學習方法包含三個不同的學習目標,每個目標都解決不同級 別的粒度和語義理解:

- 圖像級別的理解

- 區域/像素級別的識別

- 細粒度的視覺語義對齊任務

通過將這三個學習目標結合在多任務學習框架中,基礎模型纔可以學習處理不同級別的細節和語義理解。

這種戰略調整使模型能夠處理各種空間細節,區分理解中的細節層次,並超越表面層次的識別,最終學習視覺理解的通用表示。

如下圖2所示,Florence-2採用了序列到序列的學習範式,將以上的描述的所有任務整合到一個通用語言目標之下。

模型接受圖像與任務提示,作爲指令輸入,並以文本形式生成期望的結果。

Florence-2使用視覺編碼器,將圖像轉換爲視覺token嵌入,然後將其與文本嵌入憑藉,並由基於Transformer的多模態編碼器-解碼器處理生成的響應。

數據引擎

爲了訓練Florence-2模型,研究人員需要一個全面、大規模、高質量的多任務數據集,覆蓋了各種圖像數據。

鑑於這種數據的稀缺性,他們由此創建了全新的多任務圖像數據集——FLD-5B。

這一數據集中包含了1.26億張圖像、5億個文本標註、13億個文本-圖像區域標註,以及36億個文本短語-圖像區域標註,跨橫跨了不同的任務。

Florence-2數據引擎一共包含三個重要環節:

1) 使用專業模型進行初始標註

2) 數據過濾,糾正錯誤並移除無關標註

3) 迭代式的數據優化過程

這是FLD-5B數據集中一張圖像及其相應標註的示例圖。

FLD-5B中的每一張圖像都由Florence數據引擎標註了文本、圖像區域-文本對以及文本短語-圖像區域三元組,涵蓋了多個空間層次、從概括到詳細的漸進粒度,以及多語義,讓模型從不同角度實現了更全面的視覺理解能力。

這一個文本短語-圖像區域標註的示例。

研究人員在表1中,提供了數據集與現有訓練基礎模型數據集之間的對比。

與之前的數據集相比,FLD-5B的數據集優勢在於,在總標註數量和每張圖像標註數量非常大。

更重要的是,FLD-5B數據集中標註涵蓋了多個空間和語義細粒度,有利於訓出模型實現更廣泛和深入的視覺理解能力。

表3是FLD-5B數據集中,關於語義元素平均數量及相應複雜度的統計信息。

性能刷新SOTA,趕超前沿模型

在如此龐大的數據集之上完成訓練後,Florence-2的性能表現又如何?

接下來,研究人員開展的實驗主要分爲三個部分:

- 評估模型在各種任務上的零樣本表現,以展示通用模型處理多任務的內在能力,而無需在任務特定數據上進行額外的微調。

- 通過額外監督數據進一步微調,展示Florence-2的適應性和最佳性能

- 作爲下游任務骨幹網絡時的卓越表現,證明了Florence-2預訓練方法的有效性。

在零樣本多任務評估中,對於圖像級任務,Florence-2-L在COCO字幕基準測試中獲得了135.6 CIDEr分數,而且參數量僅爲Flamingo模型(800億參數)的1%左右。

對於區域級的groundng和指代表達理解任務,Florence-2-L刷新了SOTA。

在Flickr30k Recall@1上,它比16億參數的Kosmos-2模型提高了5.7,在Refcoco、Refcoco+和Refcocog上分別比其提高了約4%、8%和8%的絕對值。

簡單的設計帶來了強大的性能。

Florence-2採用了標準的多模態Transformer編碼器-解碼器架構,無需特殊設計,尤其在區域級和像素級任務上,性能飆升。

比如,在RefCOCO指代表達理解任務和指代表達分割任務上,Florence-2-L相比PolyFormer模型,分別提高了3.0 Accuracy@0.5和3.54的mIOU。

此外,Florence-2-L在無需使用LLM的情況下,就能取得有競爭力的性能表現,展現了在處理多樣化任務時兼具效率和緊湊高效模型的優勢。

例如,在COCO字幕Karpathy測試集上,Florence-2-L獲得了140.0的CIDEr分數,超過了參數量明顯更多的模型,如80億參數的Flamingo(CIDEr分數爲138.1)。

表6展示了,專家模型和通才模型在區域級任務上,Florence-2-L和Florence-2-B的表現。

專家模型是指專門針對每個任務進行微調的模型,而通才模型表示以與任務無關的方式進行微調的單個模型,適用於所有任務。

在COCO對象檢測和分割,以及ADE20K語義分割任務的模型訓練效率如下。

表7呈現了,使用Mask-RCNN框架的COCO目標檢測和實例分割結果,以及使用DINO-4scale框架的COCO目標檢測結果。

微調模型在COCO和ADE20K數據集上的下游任務表現。

研究人員使用三個不同版本的Florence-2模型進行了實驗,每個版本都在不同級別的圖像標註數據上訓練:圖像級、圖像和區域級、圖像、區域和像素級。

然後,他們評估了這些模型在四個下游任務上的遷移學習性能:COCO字幕、COCO目標檢測、Flickr30k grounding和Refcoco指代分割。

具體表現,如下所示。

總的來說,Florence-2是一種具備多種感知能力的基礎視覺模型,通過構建大規模多標註數據集FLD-5B,並進行多任務預訓練,賦予了模型強大的零樣本和任務遷移能力。

Florence-2在諸多視覺任務上表現出色,推進了視覺基礎模型的發展。

參考資料:

https://x.com/victormustar/status/1803449899121336639

https://x.com/adcock_brett/status/1733910508326023169

https://arxiv.org/pdf/2311.06242

https://huggingface.co/collections/microsoft/florence-6669f44df0d87d9c3bfb76de