今年4月,Meta的AI模型Segment Anything Model(SAM,分割一切模型)發(fā)布,一鍵輕松實(shí)現(xiàn)圖像分割,難怪網(wǎng)友直呼太強(qiáng)。
SAM模型之所以在計(jì)算機(jī)視覺(jué)領(lǐng)域產(chǎn)生重要影響,是因?yàn)閳D像分割是許多任務(wù)中的基礎(chǔ)步驟,比如自動(dòng)駕駛、人臉識(shí)別、車牌識(shí)別等都有用到。
在這些應(yīng)用過(guò)程中,從目標(biāo)檢測(cè)、分割再到識(shí)別的整個(gè)流程,由算法自動(dòng)完成,無(wú)需人工干預(yù),而SAM模型正是專攻其中的圖像分割。
雖然SAM是圖像分割的代表性模型,但不可避免存在以下短板:
1.它能夠處理圖片分割,但是不能處理視頻,尤其是不能對(duì)視頻里邊移動(dòng)的物體做連續(xù)追蹤。
2.它能分割,但是并不認(rèn)識(shí)所分割的區(qū)域到底是什么。
3.它存在過(guò)度分割的問(wèn)題,經(jīng)常把一個(gè)完整的物體分割成不同的部分,而人是把目標(biāo)作為整體看待的。
一、SAV模型
現(xiàn)在,云創(chuàng)數(shù)據(jù)(835305.BJ)在SAM和YOLOv8的基礎(chǔ)上,“分割一切”模型的進(jìn)化版——分割一切視頻Segment-Any-Video(SAV)來(lái)了,進(jìn)一步豐富了計(jì)算機(jī)視覺(jué)成果。
圖片SAV模型(圖片來(lái)源:SAV)
作為一種新的圖像、視頻分割方法,SAV可以在圖片或視頻中實(shí)現(xiàn)全自動(dòng)標(biāo)注,一鍵分割物體。
同時(shí),基于Zero-Shot Transfer(零樣本遷移),SAV無(wú)需額外訓(xùn)練,即使是訓(xùn)練庫(kù)中沒(méi)有的圖片,也可以實(shí)現(xiàn)輕松分割。
與SAM相比,SAV升級(jí)主要表現(xiàn)在以下方面:
1.既可以分割圖片,也可以分割視頻;
2.可以明確目標(biāo)對(duì)象并打標(biāo)簽;
3.可得到語(yǔ)義上完整的目標(biāo)區(qū)域。
圖片SAV與SAM圖像分割對(duì)比結(jié)果(圖片來(lái)源:SAV)
從上圖可以看出,SAV將巴士、小汽車等分割成一個(gè)個(gè)完整的區(qū)域,而SAM是把這些單個(gè)的物體又分割為不同的區(qū)域。
除了圖片以外,通過(guò)SAV,視頻也可以進(jìn)行清晰的目標(biāo)分割和追蹤。
二、示例
現(xiàn)在,我們?cè)诰W(wǎng)頁(yè)版 demo (http://sav.cstor.cn)上體驗(yàn)一下SAV,可以直觀地感受SAM和SAV兩者的差異。
在首頁(yè)可任意選擇一張示例圖片,也可從本地上傳圖片,然后點(diǎn)擊Segment按鈕,就可以同時(shí)得到SAM和SAV的結(jié)果。
demo首頁(yè)示例圖片(圖片來(lái)源:SAV)
圖片分割結(jié)果:左側(cè)為SAM,右側(cè)為SAV(圖片來(lái)源:SAV)
如果需要觀察某個(gè)實(shí)例的詳細(xì)效果,鼠標(biāo)放置原圖,移動(dòng)鼠標(biāo)即可。
圖片移動(dòng)鼠標(biāo)查看詳細(xì)分割效果(圖片來(lái)源:SAV)
在上圖中,由SAV分割的兩只小狗是完整而獨(dú)立的色塊,并不像左邊分割結(jié)果所展示——小狗耳朵顏色和身體部分顏色不一,不是完整的目標(biāo)對(duì)象。同時(shí),SAV分割的兩只小狗都打上了“dog”的標(biāo)簽。
需要說(shuō)明的是,本項(xiàng)目只關(guān)注算法自動(dòng)分割的應(yīng)用場(chǎng)景,所以SAV無(wú)需人工輸入點(diǎn)、曲線、矩形框等提示信息。
更多示例如下:
圖片圖片分割結(jié)果對(duì)比(圖片來(lái)源:SAV)
三、原理
如前所述, SAM的自動(dòng)分割不返回標(biāo)簽信息,并且一個(gè)實(shí)例(例如,一輛車)可能會(huì)被拆分成多個(gè)小區(qū)域。
自動(dòng)分割模式下,SAM不返回標(biāo)簽信息,車輛被分割成多個(gè)區(qū)域(圖片來(lái)源:SAM)
基于此,研發(fā)團(tuán)隊(duì)在SAM的基礎(chǔ)上加入YOLOv8檢測(cè)模型,YOLOv8返回的結(jié)果中包含目標(biāo)框、類別及置信度,目標(biāo)框可作為提示信息輸入到SAM,類別名稱即為標(biāo)簽,因此SAM加YOLOv8可有效地解決上述問(wèn)題。
該方法同樣可用于視頻分割任務(wù),與處理單幅圖像不同的是,除了分割,我們通常更關(guān)心目標(biāo)的運(yùn)動(dòng)軌跡、目標(biāo)重識(shí)別,以及如何實(shí)現(xiàn)一鍵摳視頻等。因此研發(fā)團(tuán)隊(duì)在SAM和YOLOv8的基礎(chǔ)上加入跟蹤算法,持續(xù)關(guān)注感興趣的目標(biāo),這樣比單純地分割每幀圖像更有實(shí)際意義。
考慮到使用了目標(biāo)檢測(cè)模型,在跟蹤方面,研發(fā)團(tuán)隊(duì)選擇Tracking-By-Detection(TBD) 范式的跟蹤方法,例如BoTSORT,而TBD是目前多目標(biāo)跟蹤任務(wù)中特別有效的范式。
圖像分割
使用YOLOv8做前向推理,獲得n個(gè)目標(biāo)框,將這n個(gè)目標(biāo)框作為提示信息輸入到SAM模型并推理,即可完成目標(biāo)框的實(shí)例分割并且得到n個(gè)對(duì)應(yīng)的掩膜,然后對(duì)這n個(gè)掩膜取并集,結(jié)果記為m。
使用YOLOv8做前向推理(圖片來(lái)源:SAV)
然后使用SAM做一次全局自動(dòng)分割,將此時(shí)得到的掩膜圖像記為m2。
使用SAM做全局自動(dòng)分割(圖片來(lái)源:SAV)
由于YOLOv8無(wú)法檢測(cè)到它不能識(shí)別的物體,可以設(shè)置兩個(gè)超參數(shù)來(lái)確定新的物體,即未知區(qū)域與檢測(cè)區(qū)域的交并比r,以及未知區(qū)域的像素個(gè)數(shù)n。具體而言,按面積對(duì)m2中的區(qū)域作降序排序,依次取出其中的區(qū)域,然后分別與m計(jì)算交并比,若交并比r小于0.3且該區(qū)域的像素個(gè)數(shù)n大于100,則認(rèn)為該區(qū)域是一個(gè)新的物體。按照此方法處理m2中的所有區(qū)域,即可完成SAV分割單幅圖像的全部流程。
SAV分割單幅圖像(圖片來(lái)源:SAV)
視頻分割
SAV視頻分割的原理可以簡(jiǎn)單描述為:
1.使用YOLOv8檢測(cè)某幀圖像中的所有目標(biāo);
2.使用跟蹤算法預(yù)測(cè)后續(xù)幀中的目標(biāo)框;
3.根據(jù)檢測(cè)到的目標(biāo)框與當(dāng)前軌跡集合相關(guān)聯(lián),獲得每個(gè)目標(biāo)的id;
4.將目標(biāo)矩形框輸入SAM,進(jìn)行實(shí)例分割。
重復(fù)上述1~4步驟,實(shí)現(xiàn)視頻分割。
SAV視頻分割算法框架圖(圖片來(lái)源:SAV)
效果展示
圖像分割對(duì)比(圖片來(lái)源:SAV)
可以看出,SAV能夠很好地解決文章開頭提到的SAM存在的問(wèn)題。
四、潛在用途
無(wú)人駕駛。特斯拉無(wú)人駕駛汽車經(jīng)常會(huì)把樹樁或者墓碑當(dāng)成行人,這個(gè)對(duì)于無(wú)人駕駛來(lái)說(shuō)是不利的,因?yàn)槿绻请娋€桿子在路邊的話,我們沒(méi)必要讓無(wú)人駕駛汽車減速,但如果是一個(gè)行人準(zhǔn)備過(guò)馬路的話,那么就需要預(yù)先作出處理。SAV可以有效地解決這種問(wèn)題。
無(wú)人機(jī)自主飛行。無(wú)人機(jī)自主飛行在密林中或者建筑物中,需要對(duì)所有的目標(biāo)進(jìn)行識(shí)別,并且做出恰當(dāng)?shù)姆磻?yīng)。SAV將大大提高這種智能水平。
機(jī)器人視覺(jué)。機(jī)器人行走在工廠或者街上的時(shí)候,如果不認(rèn)得障礙物,不認(rèn)得道路,不認(rèn)得其他移動(dòng)的物體,那將寸步難行。SAV將為機(jī)器人裝上智慧的眼睛。
重點(diǎn)區(qū)域防護(hù)。可連續(xù)追蹤和識(shí)別每個(gè)目標(biāo),結(jié)合其他的算法對(duì)目標(biāo)的身份和行為進(jìn)行識(shí)別。確保重點(diǎn)區(qū)域的的每一個(gè)人,每一輛車都在管控的范圍內(nèi)。
五、更多
目前,SAV模型已開源,并在GitHub正式上線。感興趣的朋友可以點(diǎn)擊【閱讀原文】或者直接前往https://github.com/cStor-cDeep/Segment-Any-Video了解,也歡迎向研發(fā)團(tuán)隊(duì)訂制更高性能的大模型算法,聯(lián)系方式如下:
聯(lián)系人:張先生
郵箱:zhangkun@cstor.cn
手機(jī):15895885574(微信同號(hào))
參考文獻(xiàn)
[1] Kirillov A, Mintun E, Ravi N, et al. Segment anything[J]. arXiv preprint arXiv:2304.02643, 2023.
[2] Dillon Reis, Jordan Kupec, et al. Real-Time Flying Object Detection with YOLOv8[J]. arXiv preprint arXiv:2305.09972, 2023.