Facebook何愷明和RGB兩位研究者最近提出非局部操作non-local operations爲解決視頻處理中時空域的長距離依賴打開了新的方向。文章採用圖像去噪中常用的非局部平均的思想處理局部特徵與全圖特徵點的關係。這種非局部操作可以很方便的嵌入已有模型,在視頻分類任務中取得的很好的結果,並在在靜態圖像識別的任務中超過了何愷明本人ICCV最佳論文的Mask R-CNN。何愷明等人提出新的非局部通用網絡結構,超越CNN。
何愷明博士,2007年清華大學畢業之後開始在微軟亞洲研究院(MSRA)實習,2011年香港中文大學博士畢業後正式加入MSRA,目前在Facebook AI Research (FAIR)實驗室擔任研究科學家。曾以第一作者身份拿過兩次CVPR最佳論文獎(2009和2016),一次ICCV最佳論文。
Ross Girshick,在讀博士的時候就因爲dpm獲得過pascal voc 的終身成就獎。同時也是RCNN,fast RCNN ,faster RCNN,YOLO一系列重要的目標檢測算法的作者。現在同樣就職於FAIR。
▌背景
文章主要受到NL-Means在圖像去噪應用中的啓發,在處理序列化的任務是考慮所有的特徵點來進行加權計算,克服了CNN網絡過於關注局部特徵的缺點。
圖像去噪是非常基礎也是非常必要的研究,去噪常常在更高級的圖像處理之前進行,是圖像處理的基礎。圖像中的噪聲常常用高斯噪聲N(μ,σ^2)來近似表示。 一個有效的去除高斯噪聲的方式是圖像求平均,對N幅相同的圖像求平均的結果將使得高斯噪聲的方差降低到原來的N分之一,現在效果比較好的去噪算法都是基於這一思想來進行算法設計。
NL-Means的全稱是:Non-Local Means,直譯過來是非局部平均,在2005年由Baudes提出,該算法使用自然圖像中普遍存在的冗餘信息來去噪聲。與常用的雙線性濾波、中值濾波等利用圖像局部信息來濾波不同的是,它利用了整幅圖像來進行去噪,以圖像塊爲單位在圖像中尋找相似區域,再對這些區域求平均,能夠比較好地去掉圖像中存在的高斯噪聲。
通常的CNN網絡模擬人的認知過程,在網絡的相鄰兩層之間使用局部連接來獲取圖像的局部特性,一般認爲人對外界的認知是從局部到全局的,而圖像的空間聯繫也是局部的像素聯繫較爲緊密,而距離較遠的像素相關性則較弱。因而,每個神經元其實沒有必要對全局圖像進行感知,只需要對局部進行感知,然後在更高層將局部的信息綜合起來就得到了全局的信息。網絡部分連通的思想,也是受啓發於生物學裏面的視覺系統結構,底層的去捕捉輪廓信息,中層的組合輪廓信息,高層的組合全局信息,最終不同的全局信息最終被綜合,但由於採樣以及信息逐層傳遞損失了大量信息,所以傳統cnn在全局信息捕捉上存在侷限性。
圖3是指在res3上一個非局部模塊的行爲的示例,其在Kinetics數據集上基於5-block的非局部模型訓練得到的。這些例子來自於驗證集視頻。
而在處理視頻等序列化數據時,傳統cnn的這種侷限性就顯得尤爲嚴重了。比如在記錄一場網球比賽的視頻中,每一幀都能很容易的檢測到他的手握拍在哪,一個卷積核就能覆蓋位置也就是手腕周圍的區域。
但是爲了識別揮拍這個動作,僅僅關注手腕周圍的信息是不夠的,我們需要了解到人的手腕跟他的胳膊、肩膀、膝蓋以及腳發生了哪些一系列的相對位移才能判斷出揮拍動作。這些信息是將網球區別於其他運動的重要信息,因爲靜止來看運動員都拿着拍子站在那而已。而這些重要的全局位移信息很難被關注局部的卷積覈收集到。
▌非局部神經網絡(Non-local Neural Networks)
非局部操作(Non-local operation)
爲了處理這些全局動作信息,文章借鑑NL-Means中利用整幅圖去噪的思想。前面講到 NL-Means利用了整幅圖像來進行去噪,以圖像塊爲單位在圖像中尋找相似區域,再對這些區域求平均,它的濾波過程可以用下面公式來表示:
在這個公式中,w(x,y)是一個權重,表示在原始圖像中,像素 x和像素 y 的相似度。這個權重要大於0,同時,權重的和爲1。
類似的,該文章定義了一個用於處理當前動作點與全局所有信息關係的函數
這裏x是輸入信號,也是和x尺寸一樣的輸出信號,i代表時間空間上的輸出位置索引,j代表全圖中所有可能位置的枚舉索引。函數f(x_i, x_j)計算位置i和j的權重。函數g用來計算j位置輸入信號的一個表示。文章中的Non-Local操作就是考慮了圖像中的所有可能位置j。
文中還給出了具體的幾種f(x_i,x_j)函數的實現形式
1. Gaussian
2. Embedded Gaussian
3. Dot product
4. Concatenation
非局部模塊(Non-local Block)
文章中還定義了Non-local Block,也就是把前面的這種Non-local操作封裝起來作爲一個模塊可以很方便的用在現有的框架中。
這裏y_i就是公式(1)中的輸出結果。「+x_i」表示殘差連接。殘差連接是何愷明在他的2016年CVPR最佳論文中提出的。這個殘差連接使得我們可以將這個Non-local Block很方便的插入已有的預訓練模型中,而不會破壞模型原有的操作。
上圖是一個Non-local Block的例子。特徵圖尺寸爲T×H×W×1024 也就是有 1024 個通道。 f函數採用的是公式3中的Embedded Gaussian。藍色框表示1×1×1 的卷積操作,這種結構爲512通道的「瓶頸」(bottleneck)結構。
▌實驗
視頻分類
文章在Kinetics 和Charades兩個視頻數據集上進行實驗,baseline選的是帶殘差結構的cnn網絡。
表3是在Kinetics上的比較結果。標記'+'是指在測試集上的結果,其餘沒有標記的是在驗證集的結果。我們包含了2017年包括Kinetics競爭冠軍的結果,但是他們最好的結果利用了音頻信號(標記爲灰色),不是一個僅僅基於視覺的解決方法。
表4是在Charades數據集上的分類結果,數據集被劃分成訓練集/驗證集,訓練驗證/測試集兩種方式。我們的結果是基於ResNet-101, 我們提出的的NL I3D使用了5個non-local blocks.
COCO數據
文章還在靜態圖像數據識別進行實驗。用在物體識別分割以及姿態識別任務上的Baseline是何愷明剛在ICCV上取得最佳論文的Mask R-CNN.
表5是在COCO物體檢測和示例分割任務中增加一個non-local block到Mask R-CNN的結果。
表6是在COCO關鍵點檢測任務中增加non-local blocks到Mask R-CNN的結果。
在未來,我們也希望在未來網絡結構設計中非局部層能成爲一個不可或缺模塊。
論文:Non-local Neural Networks
鏈接:https://arxiv.org/abs/1711.07971
(附上專知內容組翻譯的摘要和引言,有錯誤和不完善的地方,請大家提建議和指正)
▌摘要
卷積和循環網絡操作都是常用的處理局部領域的基礎模塊。在本文中,我們提出將非局部操作(non-local operations)作爲捕獲長距離依賴的通用模塊。受計算機視覺中的經典非局部均值方法的啓發,我們的非局部運算將位置處的響應計算爲所有位置處的特徵的加權和。這個構建模塊可以應用到許多計算機視覺體系結構中。
在視頻分類的任務上,即使沒有用任何花裏胡哨的技巧,我們的非局部模型也可以在Kinetics和Charades數據集上超過對手的效果。在靜態圖像識別中,我們的非局部模型在COCO比賽中的三個任務,對象檢測/分割和姿態估計中都效果都有提升。代碼將隨後提供。
▌引言
在深層神經網絡中,捕獲長期依賴關係是至關重要的。對於連續的數據(例如演講中語言),循環操作是時間域上長期依賴問題的主要解決方案。對於圖像數據,長距離依賴關係是對大量的卷積操作形成的大的感受野進行建模的。
卷積操作或循環操作都是處理空間或者時間上的局部鄰域的。這樣,只有當這些操作被反覆應用的時候,長距離依賴關係才能被捕獲,信號才能通過數據不斷地傳播。重複的局部操作有一些限制:首先,計算效率很低;其次,增加優化難度;最後,這些挑戰導致多跳依賴建模,例如,當消息需要在遠距離之間來回傳遞時,是非常困難的。
本文中,我們提出將非局部操作作爲一個高效的、簡單的、通用的組件,並用深度神經網絡捕捉長距離依賴關係。我們提出的非局部操作受啓發於計算機視覺中經典非局部操作的一般含義。直觀地說,非局部操作在一個位置的計算響應是輸入特性圖中所有位置的特徵的加權總和(如圖1)。一組位置可以在空間、時間或時空上,暗示我們的操作可以適用於圖像、序列和視頻問題。
圖1是一個在視頻分類應用中訓練的網絡包含的時空非局部操作示例。
非局部操作有以下優勢:(a)與循環操作的反覆性行爲形成對比,非局部操作直接通過計算任意兩個位置之間的相互作用來捕捉長距離依賴關係,而不需受兩位置的位置距離約束。(b)正如我們在實驗中展示的,非局部操作的效率高,而且在只有幾層的情況下也能達到最好的結果。(c)最後,我們的非局部操作保持輸入變量的大小,並且容易與其他操作進行結合(如卷積操作)。
我們將展示非局部操作在視頻分類應用中的有效性。在視頻中,遠距離的相互作用發生在空間或時間中的長距離像素之間。一個非局部塊是我們的基本單位,可以直接通過前饋方式捕捉這種時空依賴關係。在一些非局部塊中,我們的網絡結構被稱爲非局部神經網絡,比2D或3D卷積網絡(包括其變體)有更準確的視頻分類效果。另外,非局部神經網絡有比3D卷積網絡有更低的計算開銷。我們在Kinetics和Charades數據集上進行了詳細的研究(分別進行了光流、多尺度測試)。我們的方法在所有數據集上都能獲得比最新方法更好的結果。
爲了證明非局部操作的通用性,我們進一步在COCO數據集上進行了目標檢測/分割和姿勢估計的實驗。在MaskR-CNNbaseline的基礎之上,我們的非局部塊僅需要很小的額外計算開銷,就可以提升在三個任務中的準確度。在視頻和圖像中的實驗證明,非局部操作可以作爲設計深度神經網絡的一個通用的部件。