注:本文同樣是屬于漫談性質的博客,因此行文較為隨意,可能邏輯脈路不是特別清晰,各處充盈筆者的隨筆漫想,如有謬誤,請各位讀者諒解并指出討論。閱讀本文之前,可以先閱讀筆者之前的一篇博文[1],以確保敘事的承前啟后以及完整性。
視頻分析不僅有動作識別之前筆者寫過一篇長篇博客[1],主要介紹了一些視頻理解的技術,其中偏重于基于動作識別技術的視頻分析,包括數據集和模型設計方法都是偏向于動作識別的。其中學術界中,動作分析數據集最常用的包括:HMDB-51,ucf-101, sports-1M,Kinectics等,這些數據集的標簽基本上都是一些動作類型,大部分是為了動作識別任務而特別篩選過的YouTube視頻。視頻動作識別技術在安防領域有著廣泛地使用場景,特別地,安防領域對于多視角視頻動作識別技術有著更為急切的需求,因為在這種場景中,攝像頭需要部署在各種可能的地方,因此攝像機姿態各異,需要利用多視角的方法挖掘不同視角下的共同表征,以減少對視角不同場景中重新收集數據的需求。同時,多視角動作識別也會和行人重識別(ReID)技術有著一些交疊,不過那是后話了。
然而,在互聯網場景中,以視頻搜索/推薦系統為例子,我們需要面對的是用戶上傳的各種各樣的視頻,這些視頻中語義復雜,不單單是人體動作識別能夠簡單解決的,甚至很多用戶視頻并沒有包括人的出場。筆者因為在研究生階段研究的是基于人體的視頻分析,因此在前文[1]中沒能對互聯網中用戶視頻類型進行準確判斷,進而有以下判斷
視頻動作分析可以視為視頻理解的核心
這個論述不能說完全錯誤,以人為主要出場的視頻的視頻理解的核心思路之一的確是動作分析,但是,首先考慮到線上很多視頻是用戶拍攝周圍的景色,或者是動漫片段,或者是其他類型的視頻,如Fig 1.1所示,有很多視頻并沒有人的出場,自然動作分析也就失效了。其次,視頻語義和視頻中的動作語義并不是完全對齊的,舉個例子,一個視頻中兩個人在碰杯喝酒,我們通過動作識別模型只能知道這兩個人在碰杯喝酒,僅此而已。但是其實視頻中的兩個人是為了慶祝某件重大的事情才碰杯喝酒的,這個“重大的事情”才是整個視頻強調的語義,在目前的搜索系統中大多只能通過Query-Title匹配/語義分析的方法才能對此進行召回和排序,如果搜索模型把關注點集中到了視頻的動作語義,就難以對該視頻進行召回和排序了。
Fig 1.1 有很多視頻并沒有人的出場,此時基于人體動作識別的方法不能準確捕捉視頻語義信息。
總結來說,視頻理解是一個非常宏大的話題,筆者在[1]中只是對視頻動作識別進行了簡單的介紹,應用場景比較受限于智能監控分析場景,遠遠還達不到能在互聯網線上系統使用的程度。通用的視頻理解,面臨著數據集缺少,視頻語義復雜多變,視頻多模態語義融合,非線性流的視頻理解等諸多問題,筆者很難在這些領域都有全面的了解,筆者盡量在本文介紹一些自己知道的工作,希望對讀者有所幫助。
數據集的補充介紹
在[1]中我們介紹過一些常用的動作識別數據集,這些數據集在通用視頻分析中并不太夠用,目前存在有一些多模態數據集,也存在有一些現實場景中通用的視頻數據集,還有一類型稱之為HowTo類型視頻的數據集。
多模態數據集
在搜索場景中,用戶給出檢索詞Query,需要返回合適的視頻給用戶,在這個過程中,涉及到了模型對Query與視頻內容,視頻標題等諸多元素之間相關性的度量問題。因此這并不是一個簡單的對視頻進行特征提取的過程,而且涉及到了文本-視覺多模態之間的特征融合,交互過程。據筆者了解,目前存在有若干多模態相關的數據集,很多都用于Image caption或者video caption,Video QA,Image QA等任務,通過遷移也可以應用在Query與視頻之間的特征交互。以下列舉幾種常用于Visual+Language任務中用于預訓練的數據集:
COCO Caption [4]: 從COCO數據集中進行采樣,然后讓人工進行一句話描述圖片內容的樣本對 <image, text-description>,可用于V+L任務的預訓練。
Visual Genome Dense Captions [5]: 類似于COCO Caption,從Visual Genome數據中采集而成。
Conceptual Captions [6]: 類似于COCO Caption
SBU Caption [7]: 類似于COCO Caption
這些數據如Fig 2.1所示,一般是圖文對的形式出現的,一幅圖片搭配有起碼一句人工描述的文本,有些數據集可能會有alt-text等,如Conceptual Caption數據集。
Fig 2.1 圖片-文本對的形式的多模態數據集,常用于進行預訓練。
這里談到的四種數據集的數據集大小以及一些小細節在[10]中的in-domain和out-of-domain一節有過介紹,這里不再累述。
YouTube數據集
YouTube有著海量的視頻資源,有很多數據集也是從YouTube中進行采樣得到的,其中包括Kinetics系列數據集,YouTube 8M數據集等,其中YouTube 8M數據集具有6.1M的視頻量,視頻時長總計大約為350K小時,一共有3862個標簽,平均每個視頻有3個標簽,其標簽的語義包括了諸多日常場景,如Fig2.2所示,可見其實一個明顯的長尾分布。
Fig 2.2 YouTube 8M數據集中的標簽的語義范圍。
YouTube 8M因為數據量龐大,沒有提供每個視頻的原始幀,而是提供了用CNN模型處理過后的特征,該特征是用CNN模型對數據集中每個視頻的每幀進行特征提取后得到的。基于這種幀特征化后的數據集,之前談到的一些光流方法,3D卷積方法將無法使用。然而在線上的實踐中,這種方法還是最為常見的。
除了YouTube 8M之外,還有MSR-VTT [11]也是采集于YouTube的通用視頻數據集。
Instructional數據集
Instructional視頻,是一類視頻的總稱,意在教導人們如何完成某件事情,因此也稱之為HowTo視頻,如Fig 2.3所示,這類型視頻的特點就是會出現一個人,以語音解說伴隨著動作指導觀眾完成某個事情。這一類視頻在網絡視頻中具有一定的比重,因此對其的文本語義-視覺信息的語義對齊是很值得研究的一個問題。目前公開用于預訓練或者模型驗證的數據集有以下幾個。
Fig 2.3 HowTo視頻的示例。
HowTo100M [11]:該數據集通過在WikiHow [13]中挑選了23,611個howto任務,然后依次為檢索詞query在YouTube上進行搜索,然后將前200個結果進行篩選,得到了最后的數據集,一共有136.6M個視頻。因為這類型的視頻普遍存在語音解說,作者用ASR(Automatic Speech Recognition)去提取每個視頻每一幀的解說語音(如果該視頻本身由作者上傳有字幕,則使用原生的字幕信息),將其轉換成文本形式的敘述(narrations),也即是此時存在<文本敘述,視頻幀>的樣本對,通過這種手段,作者生成了大規模的帶噪聲的文本-視頻樣本對用于多模態任務的預訓練。將howto任務分為12個大類,如Fig 2.4所示,我們發現howto視頻也是呈現一個典型的長尾分布。
Fig 2.4 從WikiHow中挑選的12個大類的howto類別。
多模態語義融合
什么叫做多模態呢?我們之前已經談到過了,無非是對于同一個概念,同一個事物通過不同的模態的媒體進行描述,比如用圖片,用視頻,用語言,用語音對某一個場景進行描述,這就是多模態的一個例子。多模態目前是一個很火的研究方向,我們在上文討論中發現,目前視頻語義復雜,特別是在搜索推薦系統中,可能包含有各種種類的視頻,光從動作語義上很難進行描述。如果擴充到其他更廣闊的語義,則需要更加精細的標注才能實現。通常而言,動作分類的類別標注就過于粗糙了。
考慮到搜索推薦系統中廣泛存在的長尾現象,進行事無巨細的樣本標注工作顯然是不可取的,再回想到我們之前在[15]中談到的“語義標簽”的概念,如Fig 3.1所示,即便有足夠的人力進行標注,如何進行合適的樣本標注設計也是一件復雜的問題。對于一張圖(亦或是一個視頻),單純給予一個動作標簽不足以描述整個樣本的語義,額外對樣本中的每個物體的位置,種類進行標注,對每個樣本發生的事情進行文本描述,對樣本的場景,環境進行描述,這些都是可以采取的進一步的標注方式。
就目前而言,據筆者了解,在預訓練階段,為了保證預訓練結果能夠在下游任務中有效地泛化,不能對預訓練的語義進行狹義的約束,比如 僅 用動作類別語義進行約束就是一個狹義約束。為了使得標注有著更為通用的語義信息,目前很多采用的是多模態融合的方法。
Fig 3.1 語義標簽可以使得具有相同語義的物體在特征空間更為地接近。
如何對樣本進行語義標注是一件復雜的事情。在多模態融合方法中,以圖片為例子,可以考慮用一句話去描述一張圖中的元素和內容(此處的描述語句可以是人工標注的,也可以是通過網絡的海量資源中自動收集得到的,比如用戶對自己上傳圖片的評論,描述甚至是彈幕等),比如在ERNIE-VIL [16]中采用的預訓練數據集Conceptual Captions (CC) dataset [6],其標注后的樣本如Fig 3.2所示。其中的虛線框是筆者添加的,我們注意到左上角的樣本,其標注信息是"Trees in a winter snowstorm",通過這簡單一個文本,伴隨配對的圖片,我們可以知道很多信息:
- 在暴風雪下,天氣以白色為主。
- 樹的形狀和模樣,一般是直立在土地上的。
- 暴風雪時候,能見度很低。
如果數據集中還有些關于樹木的場景的描述文本,比如“Two boys play on the tree”, 那么模型就很有可能聯合這些樣本,學習到“樹(tree)”這個概念,即便沒有人類標注的包圍盒標簽(bounding box label)都可以學習出來,除此之外因為語義標簽的通用性,還提供了學習到其他關于暴風雪概念的可能性。通過這種手段,可以一定程度上緩解長尾問題導致的標簽標注壓力。并且因為文本的嵌入特征具有語義屬性,意味著文本標簽可以對相近語義的表述(近義詞,同義詞等等)進行兼容,進一步提高了模型的通用性,這些都是多模態融合模型的特點。
Fig 3.2 用具有更為通用語義的標注方式,進行圖片的描述可以大大減少標注壓力。
綜上所述,筆者認為,多模態融合模型具有以下優點:
- 對標注的精準性要求更低,可以通過人類直觀的看圖說話進行標注。
- 可以通過互聯網大量收集弱標注的圖片描述數據,如圖片評論,彈幕,用戶的自我描述等。
- 語義更為通用,可作為預訓練模型供多種下游任務使用。
- 可以緩解長尾問題,對語義相近的場景更為友好。
因此,筆者認為,在當前互聯網弱標注數據海量存在的時代,算力大大增強的時代,在跨模態的視頻,圖片搜索推薦這些應用中,采用多模態融合的方法是勢在必行的,是現在和未來的方向。我們后面的系列文章將會對這些方法進行簡單的介紹。
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).