好久不見。今天給大家帶來的是幾篇很有意思的關於聲音和視頻一致性的文章。所謂聲音視頻一致性就是輸入一段視頻和一段相對應的音頻,判斷視頻和音頻是否相對應。

讓我們從頭開始去想識別這個問題。 從小我們去辨認某樣東西的時候就是通過多維的輸入,比如你看到了眼前的火車駛來,伴隨著轟隆的軌道摩擦聲。你會認識它是火車。而假如你見過無數次這樣的場景,那麼僅僅需要火車的聲音或者畫面,你也就可以判斷出駛來的是火車而不是飛機。所以神經網路識別物體也一樣,視頻可以分類(比如火車),聲音也可以分類(比如火車)。那麼如果我們去除中間「類(火車)」這個介質,能不能用視頻和音頻來直接判斷匹配呢?如此玄學而又看似相互關聯的問題就可以藉助深度學習來解答了!

第一章 視頻與音頻的相關性檢測

在2017年,DeepMind的研究員 Relja Arandjelovic 和 Andrew Zisserman 針對判斷視頻和音頻是否相關提出了 [1705.08168] Look, Listen and Learn ( ICCV 2017 )。如Figure.1 網路所示,在vision network部分作者使用了VGG網路的結構來提取視覺方面的特徵,而在音頻方面作者將當前幀的音頻轉成了log-spectrogram的特徵,這樣2D的特徵圖就可以輸入到一個和vision network類似的神經網路之中用來提取音頻特徵了。得到的音頻特徵和圖像特徵連接起來,經過全連接層用來做二分類。

Figure.1 Look,Listen and Learn的網路結構

這篇文章在網路結構上已經很清楚了,並沒有在其他方面有貢獻點,不過還是有幾個很有趣的點:

  1. 將音頻轉換成log-spectrogram來做2D的特徵提取,而沒有採用RNN、LSTM等方法去處理音頻
  2. 本篇文章使用的單幅圖片當做VGG的輸入和 1秒的音頻去匹配,而沒有使用視頻來做這個問
  3. 題。可能是受限於當時的硬體,在文章中作者提出他們使用了16個GPU來進行訓練。
  4. 由於針對的問題是視頻和音頻的相關性,這個問題可以天生用非監督學習的方法去做。因為拍攝到的視頻,大部分都是有存在配套的聲音。這樣只需要調整視頻和音頻的匹配與否就能夠製造正負樣本。

在實驗部分,作者也做了很多工作:

  1. 作者為了來判斷這種cross domain學習的準確度,使用了兩個監督學習的baseline來進行對比:baseline1 是 如果單獨訓練網路來進行圖片分類和聲音分類,然後判斷得到的類的相關性(相當於監督學習),baseline2 是分別將vision network和audio network進行pretrain,然後放入Figure.1的網路中,只對全連接層進行權值更新。結果證明baseline1 的效果遠遠不如作者提出的方法。baseline2 的效果和作者的方法精度持平。也就是說聯合audio和video確實能夠得到更好的效果,達到了與監督學習類似的準確度,與預想一致。
  2. 在音頻分類的任務上,由於視頻(圖像)特徵的加持,遠遠超過了其他現有方法。
  3. 在圖像分類的任務上,由於音頻特徵的加持,遠遠超過了其他現有的unsupervised的方法。

最後一部分就是這篇文章另外發現的一個很有意思的點。 通過可視化vision network的特徵,作者發現神經網路會激活那些在圖像之中發聲的區域!如Figure.2所示。

Figure.2 Vision Network 特徵可視化

所以這裡就引出了下一個問題,既然神經網路能夠學到視頻和音頻的相關性,那麼是否能夠有一種網路能夠定位出視頻中哪部分在發聲呢?第二章我們將繼續跟隨作者的思路來討論一下這個問題。

第二章 定位視頻中正在發聲的物體

在前一章的末尾,我們引出了定位視頻發聲的物體這個問題。在今年的ECCV2018中,Relja Arandjelovic 和 Andrew Zisserman繼續在前一篇的文章的基礎上提出了[1712.06651] Objects that Sound。這篇文章的目標有

1. 在上一篇文章中的基礎上將研究的問題從視頻聲音的相關性檢測變成視頻和聲音之間的相關性檢索,也就是說給定視頻,去資料庫中尋找最關聯的top-k個聲音;或者給定聲音,去資料庫中尋找最關聯的top-k個視頻片段。這個任務要比前文中提到的任務難一些。因為不再是一個簡單的二分類問題。

2. 定位視頻畫面中在發聲的物體。

針對第一個目標,如Figure.3所示,本文提出了AVE-Net。和前一章的工作( L^3-Net )之間相比,作者分別在vision network和audio network之中使用了兩個FC層用來提取特徵,然後使用L2來做歸一化處理,歸一化之後的特徵求取歐幾裏得距離之後緊接著全連接層來進行分類。這裡的想法是:因為這個問題最終的目的是求取圖片和聲音的相似性,然而直接連接特徵並沒有給網路很明確的方向,所以可以顯式的求取特徵之間的距離,這樣對於網路來說是更為簡單的任務,而在兩個subnetwork進行全連接層處理和對不同域上的特徵做歸一化使得不同域的特徵與特徵之間具有可比性。

Figure.3 AVE-Net

實驗部分,如Figure.4所示,作者對比了使用圖片來檢索圖片,聲音來檢索聲音,圖片檢索聲音以及聲音檢索圖片。可以看到 L^3-Net 在聲音-圖片和圖片-聲音的任務中和隨機選取的結果相差不大。是完全失敗了的。而本文提出的AVE-Net甚至在圖片到圖片的檢索任務中擊敗了pre-trained的VGG16。本文還對比了使用典型相關分析(CCA)的對齊方法與本文所使用的L2+歐幾裏得距離的對齊方法。

Figure.4 實驗數據

另一方面,作者終於做了多幀的圖像作為輸入和基於光流(optical flow)作為vision network的輸入,並且將2D卷積改成了3D的卷積來適應多幀圖像。在光流的實驗中又加入了一個新的 subnetwork作為光流的輸入。不過結果和單幀相比並沒有多大的變化(

作者是這樣解釋這種現象的:

as is the case with most unsupervised approaches, the performance on the training objective is not necessarily in perfect correlation with the quality of learnt features and their performance on the task of interest.

簡單的來說就是作者認為,光流或者3D的卷積將會更多著眼於學到low-level的特徵,並且會造成網路對於語義信息的不敏感,從而對於檢索任務沒有幫助。(好8,你說什麼就是什麼,小聲bb)

接下來,在定位發聲物體這個問題上,作者將之前的網路做了一部分修改。如圖Figure.5所示,首先將Vision Network之中的全連接層替換成兩個1x1的卷積,全連接層會將二維特徵轉換成一維,所以這裡使用1x1的卷積是為了之後定位發聲物體。之後大小為14x14x128的視覺特徵和大小為1x1x128的聲音特徵做點積,相當與對於14x14的feature map中的每個點,將所有的特徵相乘並且相加,得到的結果為14x14的feature map 用來表示圖片中每一個點對於相關性的反饋。

Figure.5 定位所使用的網路結果

這裡好玩的就出現了,當你輸入一段視頻時,就能夠預測出來哪部分在發聲,效果還是不錯的:

Figure.6 定位視頻發聲

上個(牆外)視頻:

https://www.youtube.com/watch?v=TFyohksFd48?

www.youtube.com

所以到這裡為止,本文介紹的文章還是使用的圖片和音頻分別作為輸入來求解聲音和視頻相關的問題,而有沒有更好的方法來做這個事情呢?這個領域是否還有其他更好玩的問題呢?比如 Figure.7 中所提到的,通過視頻和聲音來識別動作,通過視頻和聲音來將聲源分開,那麼又是如何做到的呢,我們下篇文章見(

Figure.7 更多應用

推薦

按慣例推薦一波很喜歡的遊戲。

Celeste (蔚藍),IGN 2018 第一個滿分就給它了!

store.steampowered.com/

去爬山吧,因為山就在那裡!

國慶快樂~


推薦閱讀:
相關文章