微軟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在諸多視覺任務上表現出色,推進了視覺基礎模型的發展。