注:本文同樣是屬于漫談性質(zhì)的博客,因此行文較為隨意,可能邏輯脈路不是特別清晰,各處充盈筆者的隨筆漫想,如有謬誤,請(qǐng)各位讀者諒解并指出討論。閱讀本文之前,可以先閱讀筆者之前的一篇博文[1],以確保敘事的承前啟后以及完整性。
視頻分析不僅有動(dòng)作識(shí)別之前筆者寫(xiě)過(guò)一篇長(zhǎng)篇博客[1],主要介紹了一些視頻理解的技術(shù),其中偏重于基于動(dòng)作識(shí)別技術(shù)的視頻分析,包括數(shù)據(jù)集和模型設(shè)計(jì)方法都是偏向于動(dòng)作識(shí)別的。其中學(xué)術(shù)界中,動(dòng)作分析數(shù)據(jù)集最常用的包括:HMDB-51,ucf-101, sports-1M,Kinectics等,這些數(shù)據(jù)集的標(biāo)簽基本上都是一些動(dòng)作類型,大部分是為了動(dòng)作識(shí)別任務(wù)而特別篩選過(guò)的YouTube視頻。視頻動(dòng)作識(shí)別技術(shù)在安防領(lǐng)域有著廣泛地使用場(chǎng)景,特別地,安防領(lǐng)域?qū)τ诙嘁暯且曨l動(dòng)作識(shí)別技術(shù)有著更為急切的需求,因?yàn)樵谶@種場(chǎng)景中,攝像頭需要部署在各種可能的地方,因此攝像機(jī)姿態(tài)各異,需要利用多視角的方法挖掘不同視角下的共同表征,以減少對(duì)視角不同場(chǎng)景中重新收集數(shù)據(jù)的需求。同時(shí),多視角動(dòng)作識(shí)別也會(huì)和行人重識(shí)別(ReID)技術(shù)有著一些交疊,不過(guò)那是后話了。
然而,在互聯(lián)網(wǎng)場(chǎng)景中,以視頻搜索/推薦系統(tǒng)為例子,我們需要面對(duì)的是用戶上傳的各種各樣的視頻,這些視頻中語(yǔ)義復(fù)雜,不單單是人體動(dòng)作識(shí)別能夠簡(jiǎn)單解決的,甚至很多用戶視頻并沒(méi)有包括人的出場(chǎng)。筆者因?yàn)樵谘芯可A段研究的是基于人體的視頻分析,因此在前文[1]中沒(méi)能對(duì)互聯(lián)網(wǎng)中用戶視頻類型進(jìn)行準(zhǔn)確判斷,進(jìn)而有以下判斷
視頻動(dòng)作分析可以視為視頻理解的核心
這個(gè)論述不能說(shuō)完全錯(cuò)誤,以人為主要出場(chǎng)的視頻的視頻理解的核心思路之一的確是動(dòng)作分析,但是,首先考慮到線上很多視頻是用戶拍攝周圍的景色,或者是動(dòng)漫片段,或者是其他類型的視頻,如Fig 1.1所示,有很多視頻并沒(méi)有人的出場(chǎng),自然動(dòng)作分析也就失效了。其次,視頻語(yǔ)義和視頻中的動(dòng)作語(yǔ)義并不是完全對(duì)齊的,舉個(gè)例子,一個(gè)視頻中兩個(gè)人在碰杯喝酒,我們通過(guò)動(dòng)作識(shí)別模型只能知道這兩個(gè)人在碰杯喝酒,僅此而已。但是其實(shí)視頻中的兩個(gè)人是為了慶祝某件重大的事情才碰杯喝酒的,這個(gè)“重大的事情”才是整個(gè)視頻強(qiáng)調(diào)的語(yǔ)義,在目前的搜索系統(tǒng)中大多只能通過(guò)Query-Title匹配/語(yǔ)義分析的方法才能對(duì)此進(jìn)行召回和排序,如果搜索模型把關(guān)注點(diǎn)集中到了視頻的動(dòng)作語(yǔ)義,就難以對(duì)該視頻進(jìn)行召回和排序了。
Fig 1.1 有很多視頻并沒(méi)有人的出場(chǎng),此時(shí)基于人體動(dòng)作識(shí)別的方法不能準(zhǔn)確捕捉視頻語(yǔ)義信息。
總結(jié)來(lái)說(shuō),視頻理解是一個(gè)非常宏大的話題,筆者在[1]中只是對(duì)視頻動(dòng)作識(shí)別進(jìn)行了簡(jiǎn)單的介紹,應(yīng)用場(chǎng)景比較受限于智能監(jiān)控分析場(chǎng)景,遠(yuǎn)遠(yuǎn)還達(dá)不到能在互聯(lián)網(wǎng)線上系統(tǒng)使用的程度。通用的視頻理解,面臨著數(shù)據(jù)集缺少,視頻語(yǔ)義復(fù)雜多變,視頻多模態(tài)語(yǔ)義融合,非線性流的視頻理解等諸多問(wèn)題,筆者很難在這些領(lǐng)域都有全面的了解,筆者盡量在本文介紹一些自己知道的工作,希望對(duì)讀者有所幫助。
數(shù)據(jù)集的補(bǔ)充介紹
在[1]中我們介紹過(guò)一些常用的動(dòng)作識(shí)別數(shù)據(jù)集,這些數(shù)據(jù)集在通用視頻分析中并不太夠用,目前存在有一些多模態(tài)數(shù)據(jù)集,也存在有一些現(xiàn)實(shí)場(chǎng)景中通用的視頻數(shù)據(jù)集,還有一類型稱之為HowTo類型視頻的數(shù)據(jù)集。
多模態(tài)數(shù)據(jù)集
在搜索場(chǎng)景中,用戶給出檢索詞Query,需要返回合適的視頻給用戶,在這個(gè)過(guò)程中,涉及到了模型對(duì)Query與視頻內(nèi)容,視頻標(biāo)題等諸多元素之間相關(guān)性的度量問(wèn)題。因此這并不是一個(gè)簡(jiǎn)單的對(duì)視頻進(jìn)行特征提取的過(guò)程,而且涉及到了文本-視覺(jué)多模態(tài)之間的特征融合,交互過(guò)程。據(jù)筆者了解,目前存在有若干多模態(tài)相關(guān)的數(shù)據(jù)集,很多都用于Image caption或者video caption,Video QA,Image QA等任務(wù),通過(guò)遷移也可以應(yīng)用在Query與視頻之間的特征交互。以下列舉幾種常用于Visual+Language任務(wù)中用于預(yù)訓(xùn)練的數(shù)據(jù)集:
COCO Caption [4]: 從COCO數(shù)據(jù)集中進(jìn)行采樣,然后讓人工進(jìn)行一句話描述圖片內(nèi)容的樣本對(duì) <image, text-description>,可用于V+L任務(wù)的預(yù)訓(xùn)練。
Visual Genome Dense Captions [5]: 類似于COCO Caption,從Visual Genome數(shù)據(jù)中采集而成。
Conceptual Captions [6]: 類似于COCO Caption
SBU Caption [7]: 類似于COCO Caption
這些數(shù)據(jù)如Fig 2.1所示,一般是圖文對(duì)的形式出現(xiàn)的,一幅圖片搭配有起碼一句人工描述的文本,有些數(shù)據(jù)集可能會(huì)有alt-text等,如Conceptual Caption數(shù)據(jù)集。
Fig 2.1 圖片-文本對(duì)的形式的多模態(tài)數(shù)據(jù)集,常用于進(jìn)行預(yù)訓(xùn)練。
這里談到的四種數(shù)據(jù)集的數(shù)據(jù)集大小以及一些小細(xì)節(jié)在[10]中的in-domain和out-of-domain一節(jié)有過(guò)介紹,這里不再累述。
YouTube數(shù)據(jù)集
YouTube有著海量的視頻資源,有很多數(shù)據(jù)集也是從YouTube中進(jìn)行采樣得到的,其中包括Kinetics系列數(shù)據(jù)集,YouTube 8M數(shù)據(jù)集等,其中YouTube 8M數(shù)據(jù)集具有6.1M的視頻量,視頻時(shí)長(zhǎng)總計(jì)大約為350K小時(shí),一共有3862個(gè)標(biāo)簽,平均每個(gè)視頻有3個(gè)標(biāo)簽,其標(biāo)簽的語(yǔ)義包括了諸多日常場(chǎng)景,如Fig2.2所示,可見(jiàn)其實(shí)一個(gè)明顯的長(zhǎng)尾分布。
Fig 2.2 YouTube 8M數(shù)據(jù)集中的標(biāo)簽的語(yǔ)義范圍。
YouTube 8M因?yàn)閿?shù)據(jù)量龐大,沒(méi)有提供每個(gè)視頻的原始幀,而是提供了用CNN模型處理過(guò)后的特征,該特征是用CNN模型對(duì)數(shù)據(jù)集中每個(gè)視頻的每幀進(jìn)行特征提取后得到的?;谶@種幀特征化后的數(shù)據(jù)集,之前談到的一些光流方法,3D卷積方法將無(wú)法使用。然而在線上的實(shí)踐中,這種方法還是最為常見(jiàn)的。
除了YouTube 8M之外,還有MSR-VTT [11]也是采集于YouTube的通用視頻數(shù)據(jù)集。
Instructional數(shù)據(jù)集
Instructional視頻,是一類視頻的總稱,意在教導(dǎo)人們?nèi)绾瓮瓿赡臣虑?,因此也稱之為HowTo視頻,如Fig 2.3所示,這類型視頻的特點(diǎn)就是會(huì)出現(xiàn)一個(gè)人,以語(yǔ)音解說(shuō)伴隨著動(dòng)作指導(dǎo)觀眾完成某個(gè)事情。這一類視頻在網(wǎng)絡(luò)視頻中具有一定的比重,因此對(duì)其的文本語(yǔ)義-視覺(jué)信息的語(yǔ)義對(duì)齊是很值得研究的一個(gè)問(wèn)題。目前公開(kāi)用于預(yù)訓(xùn)練或者模型驗(yàn)證的數(shù)據(jù)集有以下幾個(gè)。
Fig 2.3 HowTo視頻的示例。
HowTo100M [11]:該數(shù)據(jù)集通過(guò)在WikiHow [13]中挑選了23,611個(gè)howto任務(wù),然后依次為檢索詞query在YouTube上進(jìn)行搜索,然后將前200個(gè)結(jié)果進(jìn)行篩選,得到了最后的數(shù)據(jù)集,一共有136.6M個(gè)視頻。因?yàn)檫@類型的視頻普遍存在語(yǔ)音解說(shuō),作者用ASR(Automatic Speech Recognition)去提取每個(gè)視頻每一幀的解說(shuō)語(yǔ)音(如果該視頻本身由作者上傳有字幕,則使用原生的字幕信息),將其轉(zhuǎn)換成文本形式的敘述(narrations),也即是此時(shí)存在<文本敘述,視頻幀>的樣本對(duì),通過(guò)這種手段,作者生成了大規(guī)模的帶噪聲的文本-視頻樣本對(duì)用于多模態(tài)任務(wù)的預(yù)訓(xùn)練。將howto任務(wù)分為12個(gè)大類,如Fig 2.4所示,我們發(fā)現(xiàn)howto視頻也是呈現(xiàn)一個(gè)典型的長(zhǎng)尾分布。
Fig 2.4 從WikiHow中挑選的12個(gè)大類的howto類別。
多模態(tài)語(yǔ)義融合
什么叫做多模態(tài)呢?我們之前已經(jīng)談到過(guò)了,無(wú)非是對(duì)于同一個(gè)概念,同一個(gè)事物通過(guò)不同的模態(tài)的媒體進(jìn)行描述,比如用圖片,用視頻,用語(yǔ)言,用語(yǔ)音對(duì)某一個(gè)場(chǎng)景進(jìn)行描述,這就是多模態(tài)的一個(gè)例子。多模態(tài)目前是一個(gè)很火的研究方向,我們?cè)谏衔挠懻撝邪l(fā)現(xiàn),目前視頻語(yǔ)義復(fù)雜,特別是在搜索推薦系統(tǒng)中,可能包含有各種種類的視頻,光從動(dòng)作語(yǔ)義上很難進(jìn)行描述。如果擴(kuò)充到其他更廣闊的語(yǔ)義,則需要更加精細(xì)的標(biāo)注才能實(shí)現(xiàn)。通常而言,動(dòng)作分類的類別標(biāo)注就過(guò)于粗糙了。
考慮到搜索推薦系統(tǒng)中廣泛存在的長(zhǎng)尾現(xiàn)象,進(jìn)行事無(wú)巨細(xì)的樣本標(biāo)注工作顯然是不可取的,再回想到我們之前在[15]中談到的“語(yǔ)義標(biāo)簽”的概念,如Fig 3.1所示,即便有足夠的人力進(jìn)行標(biāo)注,如何進(jìn)行合適的樣本標(biāo)注設(shè)計(jì)也是一件復(fù)雜的問(wèn)題。對(duì)于一張圖(亦或是一個(gè)視頻),單純給予一個(gè)動(dòng)作標(biāo)簽不足以描述整個(gè)樣本的語(yǔ)義,額外對(duì)樣本中的每個(gè)物體的位置,種類進(jìn)行標(biāo)注,對(duì)每個(gè)樣本發(fā)生的事情進(jìn)行文本描述,對(duì)樣本的場(chǎng)景,環(huán)境進(jìn)行描述,這些都是可以采取的進(jìn)一步的標(biāo)注方式。
就目前而言,據(jù)筆者了解,在預(yù)訓(xùn)練階段,為了保證預(yù)訓(xùn)練結(jié)果能夠在下游任務(wù)中有效地泛化,不能對(duì)預(yù)訓(xùn)練的語(yǔ)義進(jìn)行狹義的約束,比如 僅 用動(dòng)作類別語(yǔ)義進(jìn)行約束就是一個(gè)狹義約束。為了使得標(biāo)注有著更為通用的語(yǔ)義信息,目前很多采用的是多模態(tài)融合的方法。
Fig 3.1 語(yǔ)義標(biāo)簽可以使得具有相同語(yǔ)義的物體在特征空間更為地接近。
如何對(duì)樣本進(jìn)行語(yǔ)義標(biāo)注是一件復(fù)雜的事情。在多模態(tài)融合方法中,以圖片為例子,可以考慮用一句話去描述一張圖中的元素和內(nèi)容(此處的描述語(yǔ)句可以是人工標(biāo)注的,也可以是通過(guò)網(wǎng)絡(luò)的海量資源中自動(dòng)收集得到的,比如用戶對(duì)自己上傳圖片的評(píng)論,描述甚至是彈幕等),比如在ERNIE-VIL [16]中采用的預(yù)訓(xùn)練數(shù)據(jù)集Conceptual Captions (CC) dataset [6],其標(biāo)注后的樣本如Fig 3.2所示。其中的虛線框是筆者添加的,我們注意到左上角的樣本,其標(biāo)注信息是"Trees in a winter snowstorm",通過(guò)這簡(jiǎn)單一個(gè)文本,伴隨配對(duì)的圖片,我們可以知道很多信息:
- 在暴風(fēng)雪下,天氣以白色為主。
- 樹(shù)的形狀和模樣,一般是直立在土地上的。
- 暴風(fēng)雪時(shí)候,能見(jiàn)度很低。
如果數(shù)據(jù)集中還有些關(guān)于樹(shù)木的場(chǎng)景的描述文本,比如“Two boys play on the tree”, 那么模型就很有可能聯(lián)合這些樣本,學(xué)習(xí)到“樹(shù)(tree)”這個(gè)概念,即便沒(méi)有人類標(biāo)注的包圍盒標(biāo)簽(bounding box label)都可以學(xué)習(xí)出來(lái),除此之外因?yàn)檎Z(yǔ)義標(biāo)簽的通用性,還提供了學(xué)習(xí)到其他關(guān)于暴風(fēng)雪概念的可能性。通過(guò)這種手段,可以一定程度上緩解長(zhǎng)尾問(wèn)題導(dǎo)致的標(biāo)簽標(biāo)注壓力。并且因?yàn)槲谋镜那度胩卣骶哂姓Z(yǔ)義屬性,意味著文本標(biāo)簽可以對(duì)相近語(yǔ)義的表述(近義詞,同義詞等等)進(jìn)行兼容,進(jìn)一步提高了模型的通用性,這些都是多模態(tài)融合模型的特點(diǎn)。
Fig 3.2 用具有更為通用語(yǔ)義的標(biāo)注方式,進(jìn)行圖片的描述可以大大減少標(biāo)注壓力。
綜上所述,筆者認(rèn)為,多模態(tài)融合模型具有以下優(yōu)點(diǎn):
- 對(duì)標(biāo)注的精準(zhǔn)性要求更低,可以通過(guò)人類直觀的看圖說(shuō)話進(jìn)行標(biāo)注。
- 可以通過(guò)互聯(lián)網(wǎng)大量收集弱標(biāo)注的圖片描述數(shù)據(jù),如圖片評(píng)論,彈幕,用戶的自我描述等。
- 語(yǔ)義更為通用,可作為預(yù)訓(xùn)練模型供多種下游任務(wù)使用。
- 可以緩解長(zhǎng)尾問(wèn)題,對(duì)語(yǔ)義相近的場(chǎng)景更為友好。
因此,筆者認(rèn)為,在當(dāng)前互聯(lián)網(wǎng)弱標(biāo)注數(shù)據(jù)海量存在的時(shí)代,算力大大增強(qiáng)的時(shí)代,在跨模態(tài)的視頻,圖片搜索推薦這些應(yīng)用中,采用多模態(tài)融合的方法是勢(shì)在必行的,是現(xiàn)在和未來(lái)的方向。我們后面的系列文章將會(huì)對(duì)這些方法進(jìn)行簡(jiǎn)單的介紹。
Reference
[1]. https://fesian.blog.csdn.net/article/details/105545703
[2]. https://fesian.blog.csdn.net/article/details/108212429
[3]. https://fesian.blog.csdn.net/article/details/87901764
[4]. Lin, T.Y., Maire, M., Belongie, S., Hays, J., Perona, P., Ramanan, D., Doll´ar, P., Zitnick, C.L.: Microsoft coco: Common objects in context. In: ECCV (2014)
[5]. Krishna, R., Zhu, Y., Groth, O., Johnson, J., Hata, K., Kravitz, J., Chen, S., Kalantidis, Y., Li, L.J., Shamma, D.A., et al.: Visual genome: Connecting language and vision using crowdsourced dense image annotations. IJCV (2017)
[6]. Sharma, P., Ding, N., Goodman, S., Soricut, R.: Conceptual captions: A cleaned, hypernymed, image alt-text dataset for automatic image captioning. In: ACL (2018)
[7]. Ordonez, V., Kulkarni, G., Berg, T.L.: Im2text: Describing images using 1 million captioned photographs. In: NeurIPS (2011)
[8]. https://github.com/rohit497/Recent-Advances-in-Vision-and-Language-Research
[9]. https://github.com/lichengunc/pretrain-vl-data
[10]. https://blog.csdn.net/LoseInVain/article/details/103870157
[11]. Miech, A., Zhukov, D., Alayrac, J. B., Tapaswi, M., Laptev, I., & Sivic, J. (2019). Howto100m: Learning a text-video embedding by watching hundred million narrated video clips. In Proceedings of the IEEE/CVF International Conference on Computer Vision (pp. 2630-2640).
[12]. Zhou, L., Xu, C., & Corso, J. (2018, April). Towards automatic learning of procedures from web instructional videos. In Proceedings of the AAAI Conference on Artificial Intelligence (Vol. 32, No. 1).
[13]. https://www.wikihow.com/
[14]. Rohrbach, Anna, Atousa Torabi, Marcus Rohrbach, Niket Tandon, Christopher Pal, Hugo Larochelle, Aaron Courville, and Bernt Schiele. “Movie description.” International Journal of Computer Vision 123, no. 1 (2017): 94-120.
[15]. https://blog.csdn.net/LoseInVain/article/details/114958239
[16]. Yu, Fei, Jiji Tang, Weichong Yin, Yu Sun, Hao Tian, Hua Wu, and Haifeng Wang. “Ernie-vil: Knowledge enhanced vision-language representations through scene graph.” arXiv preprint arXiv:2006.16934 (2020).