通用視覺(jué)GPT時(shí)刻來(lái)臨?智源推出通用分割模型SegGPT
ChatGPT 引發(fā)了語(yǔ)言大模型狂潮,AI 另一個(gè)重大領(lǐng)域 —— 視覺(jué) —— 的 GPT 時(shí)刻何時(shí)到來(lái)?
前兩天,機(jī)器之心介紹了 Meta 最新研究成果 Segment Anything Model (SAM)。該研究引起了AI社區(qū)廣泛討論。
而據(jù)我們所知,幾乎同一時(shí)間,智源研究院視覺(jué)團(tuán)隊(duì)也推出通用分割模型 SegGPT(Segment Everything In Context)—— 利用視覺(jué)提示(prompt)完成任意分割任務(wù)的通用視覺(jué)模型。
- 論文地址:https://arxiv.org/abs/2304.03284
- 代碼地址:https://github.com/baaivision/Painter
- Demo:https://huggingface.co/spaces/BAAI/SegGPT
SegGPT 與 Meta AI 圖像分割基礎(chǔ)模型 SAM 同時(shí)發(fā)布,兩者的差異在于 :
- SegGPT “一通百通”:給出一個(gè)或幾個(gè)示例圖像和意圖掩碼,模型就能 get 用戶意圖,“有樣學(xué)樣” 地完成類(lèi)似分割任務(wù)。用戶在畫(huà)面上標(biāo)注識(shí)別一類(lèi)物體,即可批量化識(shí)別分割同類(lèi)物體,無(wú)論是在當(dāng)前畫(huà)面還是其他畫(huà)面或視頻環(huán)境中。
- SAM “一觸即通”:通過(guò)一個(gè)點(diǎn)或邊界框,在待預(yù)測(cè)圖片上給出交互提示,識(shí)別分割畫(huà)面上的指定物體。
無(wú)論是 “一觸即通” 還是 “一通百通”,都意味著視覺(jué)模型已經(jīng) “理解” 了圖像結(jié)構(gòu)。SAM 精細(xì)標(biāo)注能力與 SegGPT 的通用分割標(biāo)注能力相結(jié)合,能把任意圖像從像素陣列解析為視覺(jué)結(jié)構(gòu)單元,像生物視覺(jué)那樣理解任意場(chǎng)景,通用視覺(jué) GPT 曙光乍現(xiàn)。
SegGPT 是智源通用視覺(jué)模型 Painter(CVPR 2023)的衍生模型,針對(duì)分割一切物體的目標(biāo)做出優(yōu)化。SegGPT 訓(xùn)練完成后無(wú)需微調(diào),只需提供示例即可自動(dòng)推理并完成對(duì)應(yīng)分割任務(wù),包括圖像和視頻中的實(shí)例、類(lèi)別、零部件、輪廓、文本、人臉等等。
該模型具有以下優(yōu)勢(shì)能力:
1. 通用能力:SegGPT 具有上下文推理能力,模型能夠根據(jù)提供的分割示例(prompt),對(duì)預(yù)測(cè)進(jìn)行自適應(yīng)的調(diào)整,實(shí)現(xiàn)對(duì) “everything” 的分割,包括實(shí)例、類(lèi)別、零部件、輪廓、文本、人臉、醫(yī)學(xué)圖像、遙感圖像等。
2. 靈活推理能力:支持任意數(shù)量的 prompt;支持針對(duì)特定場(chǎng)景的 tuned prompt;可以用不同顏色的 mask 表示不同目標(biāo),實(shí)現(xiàn)并行分割推理。
3. 自動(dòng)視頻分割和追蹤能力:以第一幀圖像和對(duì)應(yīng)的物體掩碼作為上下文示例,SegGPT 能夠自動(dòng)對(duì)后續(xù)視頻幀進(jìn)行分割,并且可以用掩碼的顏色作為物體的 ID,實(shí)現(xiàn)自動(dòng)追蹤。
案例展示
1. 作者在廣泛的任務(wù)上對(duì) SegGPT 進(jìn)行了評(píng)估,包括少樣本語(yǔ)義分割、視頻對(duì)象分割、語(yǔ)義分割和全景分割。下圖中具體展示了 SegGPT 在實(shí)例、類(lèi)別、零部件、輪廓、文本和任意形狀物體上的分割結(jié)果。
2. 標(biāo)注出一個(gè)畫(huà)面中的彩虹(上圖),可批量化分割其他畫(huà)面中的彩虹(下圖)
3. 用畫(huà)筆大致圈出行星環(huán)帶(上圖),在預(yù)測(cè)圖中準(zhǔn)確輸出目標(biāo)圖像中的行星環(huán)帶(下圖)。
4. SegGPT 能夠根據(jù)用戶提供的宇航員頭盔掩碼這一上下文(左圖),在新的圖片中預(yù)測(cè)出對(duì)應(yīng)的宇航員頭盔區(qū)域(右圖)。
訓(xùn)練方法
SegGPT 將不同的分割任務(wù)統(tǒng)一到一個(gè)通用的上下文學(xué)習(xí)框架中,通過(guò)將各類(lèi)分割數(shù)據(jù)轉(zhuǎn)換為相同格式的圖像來(lái)統(tǒng)一各式各樣的數(shù)據(jù)形式。
具體來(lái)說(shuō),SegGPT 的訓(xùn)練被定義為一個(gè)上下文著色問(wèn)題,對(duì)于每個(gè)數(shù)據(jù)樣本都有隨機(jī)的顏色映射。目標(biāo)是根據(jù)上下文完成各種任務(wù),而不是依賴于特定的顏色。訓(xùn)練后,SegGPT 可以通過(guò)上下文推理在圖像或視頻中執(zhí)行任意分割任務(wù),例如實(shí)例、類(lèi)別、零部件、輪廓、文本等。
Test-time techniques
如何通過(guò) test-time techniques 解鎖各種能力是通用模型的一大亮點(diǎn)。SegGPT 論文中提出了多個(gè)技術(shù)來(lái)解鎖和增強(qiáng)各類(lèi)分割能力,比如下圖所示的不同的 context ensemble 方法。所提出的 Feature Ensemble 方法可以支持任意數(shù)量的 prompt 示例,實(shí)現(xiàn)豐儉由人的推理效果。
此外,SegGPT 還支持對(duì)特定場(chǎng)景優(yōu)化專(zhuān)用 prompt 提示。對(duì)于針對(duì)性的使用場(chǎng)景,SegGPT 可以通過(guò) prompt tuning 得到對(duì)應(yīng) prompt,無(wú)需更新模型參數(shù)來(lái)適用于特定場(chǎng)景。比如,針對(duì)某一數(shù)據(jù)集自動(dòng)構(gòu)建一個(gè)對(duì)應(yīng)的 prompt,或者針對(duì)一個(gè)房間來(lái)構(gòu)建專(zhuān)用 prompt。如下圖所示:
結(jié)果展示
模型只需少數(shù) prompt 示例,在 COCO 和 PASCAL 數(shù)據(jù)集上取得最優(yōu)性能。SegGPT 顯示出強(qiáng)大的零樣本場(chǎng)景遷移能力,比如在少樣本語(yǔ)義分割測(cè)試集 FSS-1000 上,在無(wú)需訓(xùn)練的情況下取得 state-of-the-art 性能。
無(wú)需視頻訓(xùn)練數(shù)據(jù),SegGPT 可直接進(jìn)行視頻物體分割,并取得和針對(duì)視頻物體分割專(zhuān)門(mén)優(yōu)化的模型相當(dāng)?shù)男阅堋?/span>
以下是基于 tuned prompt 在語(yǔ)義分割和實(shí)例分割任務(wù)上的效果展示: