【新智元乾貨】計算機視覺必讀:目標跟蹤、圖像分類、人臉識別等

2020-12-11 新智元

新智元專欄

作者:張皓(南京大學)

【新智元導讀】深度學習目前已成為發展最快、最令人興奮的機器學習領域之一。本文以計算機視覺的重要概念為線索,介紹深度學習在計算機視覺任務中的應用,包括網絡壓縮、細粒度圖像分類、看圖說話、視覺問答、圖像理解、紋理生成和風格遷移、人臉識別、圖像檢索、目標跟蹤等。

網絡壓縮(network compression)

儘管深度神經網絡取得了優異的性能,但巨大的計算和存儲開銷成為其部署在實際應用中的挑戰。有研究表明,神經網絡中的參數存在大量的冗餘。因此,有許多工作致力於在保證準確率的同時降低網路複雜度。

低秩近似用低秩矩陣近似原有權重矩陣。例如,可以用SVD得到原矩陣的最優低秩近似,或用Toeplitz矩陣配合Krylov分解近似原矩陣。

剪枝(pruning) 在訓練結束後,可以將一些不重要的神經元連接(可用權重數值大小衡量配合損失函數中的稀疏約束)或整個濾波器去除,之後進行若干輪微調。實際運行中,神經元連接級別的剪枝會使結果變得稀疏,不利於緩存優化和內存訪問,有的需要專門設計配套的運行庫。相比之下,濾波器級別的剪枝可直接運行在現有的運行庫下,而濾波器級別的剪枝的關鍵是如何衡量濾波器的重要程度。例如,可用卷積結果的稀疏程度、該濾波器對損失函數的影響、或卷積結果對下一層結果的影響來衡量。

量化(quantization)對權重數值進行聚類,用聚類中心數值代替原權重數值,配合Huffman編碼,具體可包括標量量化或乘積量化。但如果只考慮權重自身,容易造成量化誤差很低,但分類誤差很高的情況。因此,Quantized CNN優化目標是重構誤差最小化。此外,可以利用哈希進行編碼,即被映射到同一個哈希桶中的權重共享同一個參數值。

降低數據數值範圍 默認情況下數據是單精度浮點數,佔32位。有研究發現,改用半精度浮點數(16位)幾乎不會影響性能。谷歌TPU使用8位整型來表示數據。極端情況是數值範圍為二值或三值(0/1或-1/0/1),這樣僅用位運算即可快速完成所有計算,但如何對二值或三值網絡進行訓練是一個關鍵。通常做法是網絡前饋過程為二值或三值,梯度更新過程為實數值。此外,有研究認為,二值運算的表示能力有限,因此其使用一個額外的浮點數縮放二值卷積後的結果,以提升網絡表示能力。

精簡結構設計有研究工作直接設計精簡的網絡結構。例如,(1).瓶頸(bottleneck)結構及1×1卷積。這種設計理念已經被廣泛用於Inception和ResNet系列網絡設計中。(2). 分組卷積。(3). 擴張卷積。使用擴張卷積可以保持參數量不變的情況下擴大感受野。

知識蒸餾(knowledge distillation) 訓練小網絡以逼近大網絡,但應該如何去逼近大網絡仍沒有定論。

軟硬體協同設計 常用的硬體包括兩大類:(1). 通用硬體,包括CPU(低延遲,擅長串行、複雜運算)和GPU(高吞吐率,擅長並行、簡單運算)。(2). 專用硬體,包括ASIC(固定邏輯器件,例如谷歌TPU)和FPGA(可編程邏輯器件,靈活,但效率不如ASIC)。

細粒度圖像分類(fine-grained image classification)

相比(通用)圖像分類,細粒度圖像分類需要判斷的圖像類別更加精細。比如,我們需要判斷該目標具體是哪一種鳥、哪一款的車、或哪一個型號的飛機。通常,這些子類之間的差異十分微小。比如,波音737-300和波音737-400的外觀可見的區別只是窗戶的個數不同。因此,細粒度圖像分類是比(通用)圖像分類更具有挑戰性的任務。

細粒度圖像分類的經典做法是先定位出目標的不同部位,例如鳥的頭、腳、翅膀等,之後分別對這些部位提取特徵,最後融合這些特徵進行分類。這類方法的準確率較高,但這需要對數據集人工標註部位信息。目前細粒度分類的一大研究趨勢是不藉助額外監督信息,只利用圖像標記進行學習,其以基於雙線性CNN的方法為代表。

雙線性CNN (bilinear CNN) 其通過計算卷積描述向量(descriptor)的外積來考察不同維度之間的交互關係。由於描述向量的不同維度對應卷積特徵的不同通道,而不同通道提取了不同的語義特徵,因此,通過雙線性操作,可以同時捕獲輸入圖像的不同語義特徵之間的關係。

精簡雙線性匯合 雙線性匯合的結果十分高維,這會佔用大量的計算和存儲資源,同時使後續的全連接層的參數量大大增加。許多後續研究工作旨在設計更精簡的雙線性匯合策略,大致包括以下三大類:(1). PCA降維。在雙線性匯合前,對深度描述向量進行PCA投影降維,但這會使各維不再相關,進而影響性能。一個折中的方案是只對一支進行PCA降維。(2). 近似核估計。可以證明,在雙線性匯合結果後使用線性SVM分類等價於在描述向量間使用了多項式核。由於兩個向量外積的映射等於兩個向量分別映射之後再卷積,有研究工作使用隨機矩陣近似向量的映射。此外,通過近似核估計,我們可以捕獲超過二階的信息(如下圖)。(3). 低秩近似。對後續用於分類的全連接層的參數矩陣進行低秩近似,進而使我們不用顯式計算雙線性匯合結果。

「看圖說話」(image captioning)

「看圖說話」旨在對一張圖像產生對其內容一兩句話的文字描述。這是視覺和自然語言處理兩個領域的交叉任務。

編碼-解碼網絡(encoder-decoder networks) 看圖說話網絡設計的基本思想,其借鑑於自然語言處理中的機器翻譯思路。將機器翻譯中的源語言編碼網絡替換為圖像的CNN編碼網絡以提取圖像的特徵,之後用目標語言解碼網絡生成文字描述。

Show, attend, and tell 注意力(attention)機制是機器翻譯中用於捕獲長距離依賴的常用技巧,也可以用於看圖說話。在解碼網絡中,每個時刻,除了預測下一個詞外,還需要輸出一個二維注意力圖,用於對深度卷積特徵進行加權匯合。使用注意力機制的一個額外的好處是可以對網絡進行可視化,以觀察在生成每個詞的時候網絡注意到圖像中的哪些部分。

Adaptive attention之前的注意力機制會對每個待預測詞生成一個二維注意力圖(圖(a)),但對於像the、of這樣的詞實際上並不需要藉助來自圖像的線索,並且有的詞可以根據上文推測出也不需要圖像信息。該工作擴展了LSTM,以提出「視覺哨兵」機制以判斷預測當前詞時應更關註上文語言信息還是更關注圖像信息(圖(b))。此外,和之前工作利用上一時刻的隱層狀態計算注意力圖不同,該工作使用當前隱層狀態。

視覺問答(visual question answering)

給定一張圖像和一個關於該圖像內容的文字問題,視覺問答旨在從若干候選文字回答中選出正確的答案。其本質是分類任務,也有工作是用RNN解碼來生成文字回答。視覺問答也是視覺和自然語言處理兩個領域的交叉任務。

基本思路 使用CNN從圖像中提取圖像特徵,用RNN從文字問題中提取文本特徵,之後設法融合視覺和文本特徵,最後通過全連接層進行分類。該任務的關鍵是如何融合這兩個模態的特徵。直接的融合方案是將視覺和文本特徵拼成一個向量、或者讓視覺和文本特徵向量逐元素相加或相乘。

注意力機制 和「看圖說話」相似,使用注意力機制也會提升視覺問答的性能。注意力機制包括視覺注意力(「看哪裡」)和文本注意力(「關注哪個詞」)兩者。HieCoAtten可同時或交替產生視覺和文本注意力。DAN將視覺和文本的注意力結果映射到一個相同的空間,並據此同時產生下一步的視覺和文本注意力。

雙線性融合 通過視覺特徵向量和文本特徵向量的外積,可以捕獲這兩個模態特徵各維之間的交互關係。為避免顯式計算高維雙線性匯合結果,細粒度識別中的精簡雙線性匯合思想也可用於視覺問答。例如,MFB採用了低秩近似思路,並同時使用了視覺和文本注意力機制。

網絡可視化(visualizing)和網絡理解(understanding)

這些方法旨在提供一些可視化的手段以理解深度卷積神經網絡。

直接可視化第一層濾波器由於第一層卷積層的濾波器直接在輸入圖像中滑動,我們可以直接對第一層濾波器進行可視化。可以看出,第一層權重關注於特定朝向的邊緣以及特定色彩組合。這和生物的視覺機制是符合的。但由於高層濾波器並不直接作用於輸入圖像,直接可視化只對第一層濾波器有效。

t-SNE 對圖像的fc7或pool5特徵進行低維嵌入,比如降維到2維使得可以在二維平面畫出。具有相近語義信息的圖像應該在t-SNE結果中距離相近。和PCA不同的是,t-SNE是一種非線性降維方法,保留了局部之間的距離。下圖是直接對MNIST原始圖像進行t-SNE的結果。可以看出,MNIST是比較容易的數據集,屬於不同類別的圖像聚類十分明顯。

可視化中間層激活值 對特定輸入圖像,畫出不同特徵圖的響應。觀察發現,即使ImageNet中沒有人臉或文字相關的類別,網絡會學習識別這些語義信息,以輔助後續的分類。

最大響應圖像區域 選擇某一特定的中間層神經元,向網絡輸入許多不同的圖像,找出使該神經元響應最大的圖像區域,以觀察該神經元用於響應哪種語義特徵。是「圖像區域」而不是「完整圖像」的原因是中間層神經元的感受野是有限的,沒有覆蓋到全部圖像。

輸入顯著性圖 對給定輸入圖像,計算某一特定神經元對輸入圖像的偏導數。其表達了輸入圖像不同像素對該神經元響應的影響,即輸入圖像的不同像素的變化會帶來怎樣的神經元響應值的變化。Guided backprop只反向傳播正的梯度值,即只關注對神經元正向的影響,這會產生比標準反向傳播更好的可視化效果。

梯度上升優化選擇某一特定的神經元,計算某一特定神經元對輸入圖像的偏導數,對輸入圖像使用梯度上升進行優化,直到收斂。此外,我們需要一些正則化項使得產生的圖像更接近自然圖像。此外,除了在輸入圖像上進行優化外,我們也可以對fc6特徵進行優化並從其生成需要的圖像。

DeepVisToolbox 該工具包同時提供了以上四種可視化結果。該連結中提供了一個演示視頻:Jason Yosinski(yosinski.com/deepvis#toolbox)

遮擋實驗(occlusion experiment) 用一個灰色方塊遮擋住圖像的不同區域,之後前饋網絡,觀察其對輸出的影響。對輸出影響最大的區域即是對判斷該類別最重要的區域。從下圖可以看出,遮擋住狗的臉對結果影響最大。

Deep dream 選擇一張圖像和某一特定層,優化目標是通過對圖像的梯度上升,最大化該層激活值的平方。實際上,這是在通過正反饋放大該層神經元捕獲到的語義特徵。可以看出,生成的圖像中出現了很多狗的圖案,這是因為ImageNet數據集1000類別中有200類關於狗,因此,神經網絡中有很多神經元致力於識別圖像中的狗。

對抗樣本(adversarial examples) 選擇一張圖像和一個不是它真實標記的類別,計算該類別對輸入圖像的偏導數,對圖像進行梯度上升優化。實驗發現,在對圖像進行難以察覺的微小改變後,就可以使網絡以相當大的信心認為該圖像屬於那個錯誤的類別。實際應用中,對抗樣本會將會對金融、安防等領域產生威脅。有研究認為,這是由於圖像空間非常高維,即使有非常多的訓練數據,也只能覆蓋該空間的很小一部分。只要輸入稍微偏離該流形空間,網絡就難以得到正常的判斷。

紋理生成(texture synthesis)和風格遷移(style transform)

給定一小張包含特定紋理的圖像,紋理合成旨在生成更大的包含相同紋理的圖像。給定一張普通圖像和一張包含特定繪畫風格的圖像,風格遷移旨在保留原圖內容的同時,將給定風格遷移到該圖中。

特徵逆向工程(feature inversion) 這兩類問題的基本思路。給定一個中間層特徵,我們希望通過迭代優化,產生一個特徵和給定特徵接近的圖像。此外,特徵逆向工程也可以告訴我們中間層特徵中蘊含了多少圖像中信息。可以看出,低層的特徵中幾乎沒有損失圖像信息,而高層尤其是全連接特徵會丟失大部分的細節信息。從另一方面講,高層特徵對圖像的顏色和紋理變化更不敏感。

Gram矩陣 給定D×H×W的深度卷積特徵,我們將其轉換為D×(HW)的矩陣X,則該層特徵對應的Gram矩陣定義為

G=XX^T

通過外積,Gram矩陣捕獲了不同特徵之間的共現關係。

紋理生成基本思路 對給定紋理圖案的Gram矩陣進行特徵逆向工程。使生成圖像的各層特徵的Gram矩陣接近給定紋理圖像的各層Gram。低層特徵傾向於捕獲細節信息,而高層特徵可以捕獲更大面積的特徵。

風格遷移基本思路優化目標包括兩項,使生成圖像的內容接近原始圖像內容,及使生成圖像風格接近給定風格。風格通過Gram矩陣體現,而內容則直接通過神經元激活值體現。

直接生成風格遷移的圖像上述方法的缺點是需要多次迭代才能收斂。該工作提出的解決方案是訓練一個神經網絡來直接生成風格遷移的圖像。一旦訓練結束,進行風格遷移只需前饋網絡一次,十分高效。在訓練時,將生成圖像、原始圖像、風格圖像三者前饋一固定網絡以提取不同層特徵用於計算損失函數。

示例歸一化(instance normalization)和批量歸一化(batch normalization)作用於一個批量不同,示例歸一化的均值和方差只由圖像自身決定。實驗中發現,在風格遷移網絡中使用示例歸一化可以從圖像中去除和示例有關的對比度信息以簡化生成過程。

條件示例歸一化(conditional instance normalization)上述方法的一個問題是對每種不同的風格,我們需要分別訓練一個模型。由於不同風格之間存在共性,該工作旨在讓對應於不同風格的風格遷移網絡共享參數。具體來說,其修改了風格遷移網絡中的示例歸一化,使其具有N組縮放和平移參數,每組對應一個不同的風格。這樣,我們可以通過一次前饋過程同時獲得N張風格遷移圖像。

人臉驗證/識別(face verification/recognition)

人臉驗證/識別可以認為是一種更加精細的細粒度圖像識別任務。人臉驗證是給定兩張圖像、判斷其是否屬於同一個人,而人臉識別是回答圖像中的人是誰。一個人臉驗證/識別系統通常包括三大步:檢測圖像中的人臉,特徵點定位、及對人臉進行驗證/識別。人臉驗證/識別的難題在於需要進行小樣本學習。通常情況下,數據集中每人只有對應的一張圖像,這稱為一次學習(one-shot learning)。

兩種基本思路 當作分類問題(需要面對非常多的類別數),或者當作度量學習問題。如果兩張圖像屬於同一個人,我們希望它們的深度特徵比較接近,否則,我們希望它們不接近。之後,根據深度特徵之間的距離進行驗證(對特徵距離設定閾值以判斷是否屬於同一個人),或識別(k近鄰分類)。

DeepFace 第一個將深度神經網絡成功用於人臉驗證/識別的模型。DeepFace使用了非共享參數的局部連接。這是由於人臉不同區域存在不同的特徵(例如眼睛和嘴巴具有不同的特徵),經典卷積層的「共享參數」性質在人臉識別中不再適用。因此,人臉識別網絡中會採用不共享參數的局部連接。其使用孿生網絡(siamese network)進行人臉驗證。當兩張圖像的深度特徵小於給定閾值時,認為其來自同一個人。

FaceNet 三元輸入,希望和負樣本之間的距離以一定間隔(如0.2)大於和正樣本之間的距離。此外,輸入三元的選擇不是隨機的,否則由於和負樣本之間的差異很大,網絡學不到什麼東西。選擇最困難的三元組(即最遠的正樣本和最近的負樣本)會使網絡陷入局部最優。FaceNet採用半困難策略,選擇比正樣本遠的負樣本。

大間隔交叉熵損失 近幾年的一大研究熱點。由於類內波動大而類間相似度高,有研究工作旨在提升經典的交叉熵損失對深度特徵的判斷能力。例如,L-Softmax加強優化目標,使對應類別的參數向量和深度特徵夾角增大。 A-Softmax進一步約束L-Softmax的參數向量長度為1,使訓練更集中到優化深度特徵和夾角上。實際中,L-Softmax和A-Softmax都很難收斂,訓練時採用了退火方法,從標準softmax逐漸退火至L-Softmax或A-Softmax。

活體檢測(liveness detection) 判斷人臉是來自真人或是來自照片等,這是人臉驗證/識別需要解決的關鍵問題。在產業界目前主流的做法是利用人的表情變化、紋理信息、眨眼、或讓用戶完成一系列動作等。

圖像檢索(image retrieval)

給定一個包含特定實例(例如特定目標、場景、建築等)的查詢圖像,圖像檢索旨在從資料庫圖像中找到包含相同實例的圖像。但由於不同圖像的拍攝視角、光照、或遮擋情況不同,如何設計出能應對這些類內差異的有效且高效的圖像檢索算法仍是一項研究難題。

圖像檢索的典型流程首先,設法從圖像中提取一個合適的圖像的表示向量。其次,對這些表示向量用歐式距離或餘弦距離進行最近鄰搜索以找到相似的圖像。最後,可以使用一些後處理技術對檢索結果進行微調。可以看出,決定一個圖像檢索算法性能的關鍵在於提取的圖像表示的好壞。

(1) 無監督圖像檢索

無監督圖像檢索旨在不藉助其他監督信息,只利用ImageNet預訓練模型作為固定的特徵提取器來提取圖像表示。

直覺思路由於深度全連接特徵提供了對圖像內容高層級的描述,且是「天然」的向量形式,一個直覺的思路是直接提取深度全連接特徵作為圖像的表示向量。但是,由於全連接特徵旨在進行圖像分類,缺乏對圖像細節的描述,該思路的檢索準確率一般。

利用深度卷積特徵由於深度卷積特徵具有更好的細節信息,並且可以處理任意大小的圖像輸入,目前的主流方法是提取深度卷積特徵,並通過加權全局求和匯合(sum-pooling)得到圖像的表示向量。其中,權重體現了不同位置特徵的重要性,可以有空間方向權重和通道方向權重兩種形式。

CroW 深度卷積特徵是一個分布式的表示。雖然一個神經元的響應值對判斷對應區域是否包含目標用處不大,但如果多個神經元同時有很大的響應值,那麼該區域很有可能包含該目標。因此,CroW把特徵圖沿通道方向相加,得到一張二維聚合圖,並將其歸一化並根號規範化的結果作為空間權重。CroW的通道權重根據特徵圖的稀疏性定義,其類似於自然語言處理中TF-IDF特徵中的IDF特徵,用於提升不常出現但具有判別能力的特徵。

Class weighted features 該方法試圖結合網絡的類別預測信息來使空間權重更具判別能力。具體來說,其利用CAM來獲取預訓練網絡中對應各類別的最具代表性區域的語義信息,進而將歸一化的CAM結果作為空間權重。

PWA PWA發現,深度卷積特徵的不同通道對應於目標不同部位的響應。因此,PWA選取一系列有判別能力的特徵圖,將其歸一化之後的結果作為空間權重進行匯合,並將其結果級聯起來作為最終圖像表示。

(2) 有監督圖像檢索

有監督圖像檢索首先將ImageNet預訓練模型在一個額外的訓練數據集上進行微調,之後再從這個微調過的模型中提取圖像表示。為了取得更好的效果,用於微調的訓練數據集通常和要用於檢索的數據集比較相似。此外,可以用候選區域網絡提取圖像中可能包含目標的前景區域。

孿生網絡(siamese network)和人臉識別的思路類似,使用二元或三元(++-)輸入,訓練模型使相似樣本之間的距離儘可能小,而不相似樣本之間的距離儘可能大。

目標跟蹤(object tracking)

目標跟蹤旨在跟蹤一段視頻中的目標的運動情況。通常,視頻第一幀中目標的位置會以包圍盒的形式給出,我們需要預測其他幀中該目標的包圍盒。目標跟蹤類似於目標檢測,但目標跟蹤的難點在於事先不知道要跟蹤的目標具體是什麼,因此無法事先收集足夠的訓練數據以訓練一個專門的檢測器。

孿生網絡類似於人臉驗證的思路,利用孿生網絡,一支輸入第一幀包圍盒內圖像,另一支輸入其他幀的候選圖像區域,輸出兩張圖的相似度。我們不需要遍歷其他幀的所有可能的候選區域,利用全卷積網絡,我們只需要前饋整張圖像一次。通過互相關操作(卷積),得到二維的響應圖,其中最大響應位置確定了需要預測的包圍盒位置。基於孿生網絡的方法速度快,能處理任意大小的圖像。

CFNet 相關濾波通過訓練一個線性模板來區分圖像區域和它周圍區域,利用傅立葉變換,相關濾波有十分高效的實現。CFNet結合離線訓練的孿生網絡和在線更新的相關濾波模塊,提升輕量級網絡的跟蹤性能。

生成式模型(generative models)

這類模型旨在學得數據(圖像)的分布,或從該分布中採樣得到新的圖像。生成式模型可以用於超解析度重建、圖像著色、圖像轉換、從文字生成圖像、學習圖像潛在表示、半監督學習等。此外,生成式模型可以和強化學習結合,用於仿真和逆強化學習。

顯式建模 根據條件概率公式,直接進行最大似然估計對圖像的分布進行學習。該方法的弊端是,由於每個像素依賴於之前的像素,生成圖像時由於需要從一角開始序列地進行,所以會比較慢。例如,WaveNet可以生成類似人類說話的語音,但由於無法並行生成,得到1秒的語音需要2分鐘的計算,無法達到實時。

變分自編碼器(variational auto-encoder, VAE) 為避免顯式建模的弊端,變分自編碼器對數據分布進行隱式建模。其認為圖像的生成受一個隱變量控制,並假設該隱變量服從對角高斯分布。變分自編碼器通過一個解碼網絡從隱變量生成圖像。由於無法直接進行最大似然估計,在訓練時,類似於EM算法,變分自編碼器會構造似然函數的下界函數,並對這個下界函數進行優化。變分自編碼器的好處是,由於各維獨立,我們可以通過控制隱變量來控制輸出圖像的變化因素。

生成式對抗網絡(generative adversarial networks, GAN)由於學習數據分布十分困難,生成式對抗網絡繞開這一步驟,直接生成新的圖像。生成式對抗網絡使用一個生成網絡G從隨機噪聲中生成圖像,以及一個判別網絡D判斷其輸入圖像是真實/偽造圖像。在訓練時,判別網絡D的目標是能判斷真實/偽造圖像,而生成網絡G的目標是使得判別網絡D傾向於判斷其輸出是真實圖像。實際中,直接訓練生成式對抗網絡會遇到mode collapse問題,即生成式對抗網絡無法學到完整的數據分布。隨後,出現了LS-GAN和W-GAN的改進。和變分自編碼器相比,生成式對抗網絡的細節信息更好。以下連結整理了許多和生成式對抗網絡有關的論文:hindupuravinash/the-gan-zoo。以下連結整理了許多訓練生成式對抗網絡的其技巧:soumith/ganhacks。

視頻分類(video classification)

前面介紹的大部分任務也可以用於視頻數據,這裡僅以視頻分類任務為例,簡要介紹處理視頻數據的基本方法。

多幀圖像特徵匯合 這類方法將視頻看成一系列幀的圖像組合。網絡同時接收屬於一個視頻片段的若干幀圖像(例如15幀),並分別提取其深度特徵,之後融合這些圖像特徵得到該視頻片段的特徵,最後進行分類。實驗發現,使用"slow fusion"效果最好。此外,獨立使用單幀圖像進行分類即可得到很有競爭力的結果,這說明單幀圖像已經包含很多的信息。

三維卷積 將經典的二維卷積擴展到三維卷積,使之在時間維度也局部連接。例如,可以將VGG的3×3卷積擴展為3×3×3卷積,2×2匯合擴展為2×2×2匯合。

圖像+時序兩分支結構這類方法用兩個獨立的網絡分別捕獲視頻中的圖像信息和隨時間運動信息。其中,圖像信息從單幀靜止圖像中得到,是經典的圖像分類問題。運動信息則通過光流(optical flow)得到,其捕獲了目標在相鄰幀之間的運動情況。

CNN+RNN捕獲遠距離依賴 之前的方法只能捕獲幾幀圖像之間的依賴關係,這類方法旨在用CNN提取單幀圖像特徵,之後用RNN捕獲幀之間的依賴。

此外,有研究工作試圖將CNN和RNN合二為一,使每個卷積層都能捕獲遠距離依賴。

作者簡介

張皓:南京大學計算機系機器學習與數據挖掘所(LAMDA)碩士生,研究方向為計算機視覺和機器學習,特別是視覺識別和深度學習。個人主頁http://lamda.nju.edu.cn/zhangh/。

參考文獻

1. A. Agrawal, et al. VQA: Visual question answering. IJCV, 2017.

2. M. Arjovsky, et al. Wasserstein generative adversarial networks. ICML, 2017.

3. N. Ballas, et al. Delving deeper into convolutional networks for learning video representations. ICLR, 2016.

4. L. Bertinetto, et al. Fully-convolutional siamese networks for object tracking. ECCV Workshop, 2016.

5. W. Chen, et al. Compressing neural networks with the hashing trick. ICML, 2015.

6. Y. Cui, et al. Kernel pooling for convolutional neural networks. CVPR, 2017.

7. M. Danelljan, et al. ECO: Efficient convolution operators for tracking. CVPR, 2017.

8. E. Denton, et al. Exploiting linear structure within convolutional networks for efficient evaluation. NIPS, 2014.

9. C. Doersch. Tutorial on variational autoencoders. arXiv: 1606.05908, 2016.

10. J. Donahue, et al. Long-term recurrent convolutional networks for visual recognition and description. CVPR, 2015.

11. V. Dumoulin, et al. A learned representation for artistic style. ICLR, 2017.

12. Y. Gao, et al. Compact bilinear pooling. CVPR, 2016.

13. L. A. Gatys, et al. Texture synthesis using convolutional neural networks. NIPS, 2015.

14. L. A. Gatys, et al. Image style transfer using convolutional neural networks. CVPR, 2016.

15. I. Goodfellow, et al. Generative adversarial nets. NIPS, 2014.

16. I. Goodfellow. NIPS 2016 tutorial: Generative adversarial networks, arXiv: 1701.00160, 2016.

17. A. Gordo, et al. End-to-end learning of deep visual representations for image retrieval. IJCV, 2017.

18. S. Han, et al. Learning both weights and connections for efficient neural network. NIPS, 2015.

19. A. G. Howard, et al. MobileNets: Efficient convolutional neural networks for mobile vision applications. arXiv: 1704.04861, 2017.

20. H. Hu, et al. Network trimming: A data-driven neuron pruning approach towards efficient deep architectures. arXiv: 1607.03250, 2016.

21. I. Hubara, et al. Binarized neural networks. NIPS, 2016.

22. A. Jiménez, et al. Class-weighted convolutional features for visual instance search. BMVC, 2017.

23. Y. Jing, et al. Neural style transfer: A review. arXiv: 1705.04058, 2017.

24. J. Johnson, et al. Perceptual losses for real-time style transfer and super-resolution. ECCV, 2016.

25. K. Kafle and C. Kanan. Visual question answering: Datasets, algorithms, and future challenges. CVIU, 2017.

26. Y. Kalantidis, et al. Cross-dimensional weighting for aggregated deep convolutional features. ECCV, 2016.

27. A. Karpathy, et al. Large-scale video classification with convolutional neural networks. CVPR, 2014.

28. A. Karpathy and L. Fei-Fei. Deep visual-semantic alignments for generating image descriptions. CVPR, 2015.

29. D. P. Kingma and M. Welling. Auto-encoding variational Bayes. ICLR, 2014.

30. S. Kong and C. Fowlkes. Low-rank bilinear pooling for fine-grained classification. CVPR, 2017.

31. A. Krizhevsky, et al. ImageNet classification with deep convolutional neural networks. NIPS, 2012.

32. T.-Y. Lin, et al. Bilinear convolutional neural networks for fine-grained visual recognition. TPAMI, 2017.

33. T.-Y. Lin and S. Maji. Improved Bilinear Pooling with CNNs. BMVC, 2017.

34. J. Liu, et al. Knowing when to look: Adaptive attention via a visual sentinel for image captioning. CVPR, 2017.

35. W. Lie, et al. Large-margin softmax loss for convolutional neural networks. ICML, 2016.

36. W. Liu, et al. SphereFace: Deep hypersphere embedding for face recognition. CVPR, 2017.

37. J. Lu, et al. Hierarchical question-image co-attention for visual question answering. NIPS, 2016.

38. J.-H. Luo, et al. Image categorization with resource constraints: Introduction, challenges and advances. FCS, 2017.

39. J.-H. Luo, et al. ThiNet: A filter level pruning method for deep neural network compression. ICCV, 2017.

40. L. Maaten and G. Hinton. Visualizing data using t-SNE. JMLR, 2008.

41. A. Mahendran and A. Vedaldi. Understanding deep image representations by inverting them. CVPR, 2015.

42. X. Mao, et al. Least squares generative adversarial networks. ICCV, 2017.

43. P. Molchanov, et al. Pruning convolutional neural networks for resource efficient inference. ICLR, 2017.

44. A. Mordvintsev, et al. Inceptionism: Going deeper into neural networks. Google Research Blog, 2015.

45. H. Nam, et al. Dual attention networks for multimodal reasoning and matching. CVPR, 2017.

46. J. Y. H. Ng, et al. Beyond short snippets: Deep networks for video classification. CVPR, 2015.

47. F. Radenovi, et al. Fine-tuning CNN image retrieval with no human annotation. arXiv: 1711.02512, 2017.

48. A. Radford, et al. Unsupervised representation learning with deep convolutional generative adversarial networks. ICLR, 2016.

49. M. Rastegari, et al. XNOR-Net: ImageNet classification using binary convolutional neural networks. ECCV, 2016.

50. F. Schroff, et al. FaceNet: A unified embedding for face recognition and clustering. CVPR, 2015.

51. K. Simonyan, et al. Deep inside convolutional networks: Visualizing image classification models and saliency maps. ICLR Workshop, 2014.

52. K. Simonyan and A. Zisserman. Two-stream convolutional networks for action recognition in videos. NIPS, 2014.

53. V. Sindhwani, et al. Structured transforms for small-footprint deep learning. NIPS, 2015.

54. J. T. Springenberg, et al. Striving for simplicity: The all convolutional net. ICLR Workshop, 2015.

55. Y. Taigman, et al. DeepFace: Closing the gap to human-level performance in face verification. CVPR, 2014.

56. D. Tran, et al. Learning spatiotemporal features with 3D convolutional networks. ICCV, 2015.

57. A. Nguyen, et al. Synthesizing the preferred inputs for neurons in neural networks via deep generator networks. NIPS, 2016.

58. D. Ulyanov and A. Vedaldi. Instance normalization: The missing ingredient for fast stylization. arXiv: 1607.08022, 2016.

59. J. Valmadre, et al. End-to-end representation learning for correlation filter based tracking. CVPR, 2017.

60. O. Vinyals, et al. Show and tell: A neural image caption generator. CVPR, 2015.

61. C. Wu, et al. A compact DNN: Approaching GoogleNet-level accuracy of classification and domain adaptation. CVPR, 2017.

62. J. Wu, et al. Quantized convolutional neural networks for mobile devices. CVPR, 2016.

63. Z. Wu, et al. Deep learning for video classification and captioning. arXiv: 1609.06782, 2016.

64. J. Xu, et al. Unsupervised part-based weighting aggregation of deep convolutional features for image retrieval. AAAI, 2018.

65. K. Xu, et al. Show, attend, and tell: Neural image caption generation with visual attention. ICML, 2015.

66. J. Yosinski, et al. Understanding neural networks through deep visualization. ICML Workshop, 2015.

67. Z. Yu, et al. Multi-modal factorized bilinear pooling with co-attention learning for visual question answering. ICCV, 2017.

68. M. D. Zeiler and R. Fergus. Visualizing and understanding convolutional networks. ECCV, 2014.

69. L. Zhang, et al. SIFT meets CNN: A decade survey of instance retrieval. TPAMI, 2017.

相關焦點

  • 詳解計算機視覺五大技術:圖像分類、對象檢測、目標跟蹤、語義分割和實例分割
    一個顯而易見的答案就是,這個研究領域已經衍生出了一大批快速成長的、有實際作用的應用,例如:人臉識別: Snapchat 和 Facebook 使用人臉檢測算法來識別人臉。生物識別技術:指紋、虹膜和人臉匹配仍然是生物識別領域的一些常用方法。智能汽車:計算機視覺仍然是檢測交通標誌、燈光和其他視覺特徵的主要信息來源。視覺識別是計算機視覺的關鍵組成部分,如圖像分類、定位和檢測。神經網絡和深度學習的最新進展極大地推動了這些最先進的視覺識別系統的發展。
  • 快速掌握計算機視覺大部分領域,學習人臉圖像是唯一選擇
    文末有驚喜筆者是從傳統圖像算法開始進入計算機視覺行業的,那一批人基本上都是從人臉圖像和文本圖像開始學,而如今很多計算機視覺從業者卻從來沒有接觸過人臉圖像相關的算法,或許真的是時代變了吧。但筆者想說的是,如果你想快速系統地串聯計算機視覺領域的知識,人臉圖像應該是唯一選擇,沒有其他類型的圖像可以覆蓋底層圖像特徵,目標檢測與跟蹤,圖像分類和檢索,圖像濾波,圖像分割,三維重建,風格遷移等方向,並且能夠做到相互融合從而進行工業界落地。如果你還不知道人臉圖像能做什麼,不如看一看上面的1分鐘視頻,然後我們接下來細看到底都有些什麼。
  • 淺談計算機視覺中的圖像標註_易車網
    更進一步的說,計算機視覺是一門研究如何使機器「看」的科學,就是是指用攝影機和電腦代替人眼對目標進行識別、跟蹤和測量等機器視覺,並進一步做圖形處理,使電腦處理成為更適合人眼觀察或傳送給儀器檢測的圖像。計算機視覺的應用非常廣泛,從自動駕駛汽車和無人機到醫療診斷技術和面部識別軟體,計算機視覺的應用是巨大的和革命性的。
  • 最全分類!計算機視覺的圖像標註類型及應用
    邊界框(Bounding Boxes)邊界框用途廣泛且簡單明了,是計算機視覺中最常用的圖像標註類型之一。邊界框圈出目標,並協助計算機視覺網絡找出感興趣的目標。它很好創建,只需要指定盒的左上角和右下角的X和Y坐標。邊界框幾乎可以應用於任何目標,而且能大幅提升目標檢測系統的準確度。
  • 【每日速遞】計算機視覺與模式識別/圖像處理最新學術論文[1.13]
    點擊上方「計算機視覺社區」,選擇加"星標"重磅乾貨,第一時間送達
  • ECCV 2020 | 騰訊優圖8篇論文入選,涵蓋目標跟蹤、人臉識別等領域
    ECCV (European Conference on Computer Vision,即歐洲計算機視覺國際會議)是國際頂尖的計算機視覺會議之一,每兩年舉行一次。隨著人工智慧的發展,計算機視覺的研究深入和應用迅速發展,每次舉行都會吸引大量的論文投稿,而今年ECCV的投稿量更是ECCV 2018的兩倍還多,創下歷史新高。
  • 「計算機視覺必讀乾貨」圖像分類、檢測,語義分割等方法梳理
    新智元專欄 作者:張皓【新智元導讀】本文作者來自南京大學計算機系機器學習與數據挖掘所(LAMDA),本文直觀系統地梳理了深度學習在計算機視覺領域四大基本任務中的應用,包括圖像分類、定位、檢測、語義分割和實例分割
  • 上海交大盧憲凱系列公開課:計算機視覺概述和深度學習簡介 | 分享...
    雷鋒網AI研習社按:計算機視覺是一門研究如何使機器「看」的科學,掌握解決具體計算機視覺任務的方法則會幫助我們解決大規模系統的複雜問題,其應用相當廣泛,最常見的如人臉識別,文字識別等等。分享內容計算機視覺定義和研究方法計算機視覺的應用舉例:圖像分類,人臉識別;車輛檢測,行人檢測;語義分割,實例分割;目標跟蹤,視頻分割;圖像生成,視頻生成深度學習歷史回顧
  • 計算機視覺:從入門到精通,極限剖析圖像識別學習算法
    本次課程將圍繞著計算機視覺中最常見的RCNN圖像識別算法進行極限剖析,從數學理論, 模型框架到實踐實操,讓你在短時間內從理論到實踐,掌握深度學習的基本知識和學習方法。· 目的:掌握神經網絡的基本原理,知其然亦知其所以然(從數學實踐到代碼的熟練和精通); · 手段:科學的方法。
  • 基於人臉識別的計算機模型揭示了大腦是如何迅速產生豐富視覺圖像
    逆轉圖形(Inverse graphics)通過幾十年來對大腦視覺系統的研究,已經能夠較為全面地了解到光線通過視網膜後是如何轉變成連續場景的了。這種發現它能夠幫助人工智慧研究員開發出可以再現該視覺系統各個方面的計算機模型,比如人臉識別或對其他物體的識別。
  • 計算機視覺變革 日本REAL-f公司製作高仿真面具用於訓練人臉識別
    一、人臉識別技術概述人臉識別是指利用分析比較人臉視覺特徵信息進行身份鑑別的計算機技術,其可以定義為:輸入查詢場景中的靜止圖像或者視頻,使用人臉資料庫識別或驗證場景中的一個人或者多個人,通常也被稱為面部識別、人像識別。人臉識別具有非強制性、非接觸性、並發性等特點,因此研究者在上世紀六、七十年代就開始了人臉識別技術的研究。
  • 深度學習與圖像識別
    深度學習在計算機視覺領域最具影響力的突破發生在2012年,Hinton的研究小組採用深度學習贏得了ImageNet  [2]  圖像分類的比賽[3]。ImageNet是當今計算機視覺領域最具影響力的比賽之一。它的訓練和測試樣本都來自於網際網路圖片。訓練樣本超過百萬,任務是將測試樣本分成1000類。自2009年,包括工業界在內的很多計算機視覺小組都參加了每年一度的比賽,各個小組的方法逐漸趨同。
  • ECCV 2020 | 騰訊優圖8篇論文入選,涵蓋目標跟蹤、行人重識別...
    近日,計算機視覺方向的三大國際頂級會議之一的ECCV 2020公布論文獲獎結果。本次ECCV 2020有效投稿5025篇,最終被接受發表論文1361篇,錄取率為27%,較上屆有所下降。ECCV (European Conference on Computer Vision,即歐洲計算機視覺國際會議)是國際頂尖的計算機視覺會議之一,每兩年舉行一次。隨著人工智慧的發展,計算機視覺的研究深入和應用迅速發展,每次舉行都會吸引大量的論文投稿,而今年ECCV的投稿量更是ECCV 2018的兩倍還多,創下歷史新高。
  • 【演講】清華大學張長水:圖像識別背後的機器學習
    【新智元導讀】清華大學自動化系張長水教授於「清華人工智慧」論壇上發表題為《圖像識別與機器學習》的演講,介紹圖像識別技術發展、應用及面臨問題,尤其強調了機器學習在其中的推動作用。第三個問題是物體的分類和識別,指出這是山,這是樹,這個是招牌,建築。我們可能還會對整張圖片做一個場景的分類,是在什麼環境下拍照的。它可能是一個室外的圖像,關於城市的生活等等。基本上這些就是我們在圖像識別裡面涉及到的一些可能的研究問題。做這些研究可以有哪些用途?
  • 深度學習在計算機視覺領域(包括圖像,視頻,3-D點雲,深度圖)的應用一覽
    第一個CNN模型就是他搞出來的,即LeNet,原來就是做圖像數字識別。不得不說,CNN非常適合2-D信號的處理任務,RNN呢,是時域上的拓展。現在CNN在計算機視覺應用的非常成功,傳統機器學習方法基本被棄之不用。
  • 中科院陳智能,帶你走進計算機視覺經典——深度學習與目標檢測
    計算機視覺經典——深度學習與目標檢測陳智能老師首先以計算機視覺的基礎概念引入,介紹了計算機視覺主要任務,由此引出了目標檢測的概念及其存在的問題難點,並展示了目標檢測的發展歷程。計算機視覺(ComputerVision)是一門「教」會計算機如何去「看」世界的學科,與自然語言處理(Natural Language Process, NLP)及語音識別(SpeechRecognition)並列為機器學習方向的三大熱點方向。計算機視覺的理念與很多學科有部分重疊,包括:人工智慧、數字圖像處理、機器學習、深度學習、模式識別、概率圖模型、科學計算以及一系列數學計算等。
  • 計算機視覺:你必須了解的圖像數據底層技術
    重磅乾貨,第一時間送達 轉自|新機器視覺 引言 計算機視覺(Computer Vision)自興起以來就非常迅速且廣泛應用於各個領域,比如我們熟悉的且每天都會使用的基於手機攝像頭的人臉識別
  • 計算機視覺八大任務全概述:PaddlePaddle工程師詳解熱門視覺模型
    總之,這篇綜述全程乾貨,推薦收藏閱讀。上篇計算機視覺(Computer Vision)是研究如何使機器「看」的科學,更進一步的說,是使用攝像機機和電腦代替人眼對目標進行識別、跟蹤和測量等的機器視覺,並通過電腦處理成為更適合人眼觀察或傳送給儀器檢測的圖像。形象地說,就是給計算機安裝上眼睛(攝像機)和大腦(算法),讓計算機像人一樣去看、去感知環境。
  • 【今日速遞94篇】計算機視覺與模式識別/圖像處理最新學術論文[2.11]
    點擊上方「計算機視覺社區」,選擇加"星標"重磅乾貨,第一時間送達
  • 長篇乾貨 | 深度解析人臉識別技術
    通常我們所說的人臉識別是基於光學人臉圖像的身份識別與驗證的簡稱。 人臉識別利用攝像機或攝像頭採集含有人臉的圖像或視頻流,並自動在圖像中檢測和跟蹤人臉,進而對檢測到的人臉圖像進行一系列的相關應用操作。技術上包括圖像採集、特徵定位、身份的確認和查找等等。簡單來說,就是從照片中提取人臉中的特徵,比如眉毛高度、嘴角等等,再通過特徵的對比輸出結果。 2.