0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

你真的了解計(jì)算機(jī)視覺(jué)?一文詳解視覺(jué),網(wǎng)絡(luò)壓縮,視覺(jué)問(wèn)答、可視性

人工智能實(shí)訓(xùn)營(yíng) ? 2018-07-26 15:37 ? 次閱讀


引言


深度學(xué)習(xí)目前已成為發(fā)展最快、最令人興奮的機(jī)器學(xué)習(xí)領(lǐng)域之一,許多卓有建樹(shù)的論文已經(jīng)發(fā)表,而且已有很多高質(zhì)量的開(kāi)源深度學(xué)習(xí)框架可供使用。然而,論文通常非常簡(jiǎn)明扼要并假設(shè)讀者已對(duì)深度學(xué)習(xí)有相當(dāng)?shù)睦斫?,這使得初學(xué)者經(jīng)??ㄔ谝恍└拍畹睦斫馍?,讀論文似懂非懂,十分吃力。另一方面,即使有了簡(jiǎn)單易用的深度學(xué)習(xí)框架,如果對(duì)深度學(xué)習(xí)常見(jiàn)概念和基本思路不了解,面對(duì)現(xiàn)實(shí)任務(wù)時(shí)不知道如何設(shè)計(jì)、診斷、及調(diào)試網(wǎng)絡(luò),最終仍會(huì)束手無(wú)策。


本系列文章旨在直觀系統(tǒng)地梳理深度學(xué)習(xí)各領(lǐng)域常見(jiàn)概念與基本思想,使讀者對(duì)深度學(xué)習(xí)的重要概念與思想有一直觀理解,做到“知其然,又知其所以然”,從而降低后續(xù)理解論文及實(shí)際應(yīng)用的難度。本系列文章力圖用簡(jiǎn)練的語(yǔ)言加以描述,避免數(shù)學(xué)公式和繁雜細(xì)節(jié)。本文是該系列文章中的第三篇,旨在介紹深度學(xué)習(xí)在計(jì)算機(jī)視覺(jué)的其他任務(wù)的應(yīng)用。


網(wǎng)絡(luò)壓縮(network compression)


盡管深度神經(jīng)網(wǎng)絡(luò)取得了優(yōu)異的性能,但巨大的計(jì)算和存儲(chǔ)開(kāi)銷成為其部署在實(shí)際應(yīng)用中的挑戰(zhàn)。有研究表明,神經(jīng)網(wǎng)絡(luò)中的參數(shù)存在大量的冗余。因此,有許多工作致力于在保證準(zhǔn)確率的同時(shí)降低網(wǎng)路復(fù)雜度。


低秩近似用低秩矩陣近似原有權(quán)重矩陣。例如,可以用SVD得到原矩陣的最優(yōu)低秩近似,或用Toeplitz矩陣配合Krylov分解近似原矩陣。


剪枝(pruning)在訓(xùn)練結(jié)束后,可以將一些不重要的神經(jīng)元連接(可用權(quán)重?cái)?shù)值大小衡量配合損失函數(shù)中的稀疏約束)或整個(gè)濾波器去除,之后進(jìn)行若干輪微調(diào)。實(shí)際運(yùn)行中,神經(jīng)元連接級(jí)別的剪枝會(huì)使結(jié)果變得稀疏,不利于緩存優(yōu)化和內(nèi)存訪問(wèn),有的需要專門(mén)設(shè)計(jì)配套的運(yùn)行庫(kù)。相比之下,濾波器級(jí)別的剪枝可直接運(yùn)行在現(xiàn)有的運(yùn)行庫(kù)下,而濾波器級(jí)別的剪枝的關(guān)鍵是如何衡量濾波器的重要程度。例如,可用卷積結(jié)果的稀疏程度、該濾波器對(duì)損失函數(shù)的影響、或卷積結(jié)果對(duì)下一層結(jié)果的影響來(lái)衡量。


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


降低數(shù)據(jù)數(shù)值范圍默認(rèn)情況下數(shù)據(jù)是單精度浮點(diǎn)數(shù),占32位。有研究發(fā)現(xiàn),改用半精度浮點(diǎn)數(shù)(16位)幾乎不會(huì)影響性能。谷歌TPU使用8位整型來(lái)表示數(shù)據(jù)。極端情況是數(shù)值范圍為二值或三值(0/1或-1/0/1),這樣僅用位運(yùn)算即可快速完成所有計(jì)算,但如何對(duì)二值或三值網(wǎng)絡(luò)進(jìn)行訓(xùn)練是一個(gè)關(guān)鍵。通常做法是網(wǎng)絡(luò)前饋過(guò)程為二值或三值,梯度更新過(guò)程為實(shí)數(shù)值。


此外,有研究認(rèn)為,二值運(yùn)算的表示能力有限,因此其使用一個(gè)額外的浮點(diǎn)數(shù)縮放二值卷積后的結(jié)果,以提升網(wǎng)絡(luò)表示能力。


精簡(jiǎn)結(jié)構(gòu)設(shè)計(jì) 有研究工作直接設(shè)計(jì)精簡(jiǎn)的網(wǎng)絡(luò)結(jié)構(gòu)。例如,


  1. 瓶頸(bottleneck)結(jié)構(gòu)及1×1卷積。這種設(shè)計(jì)理念已經(jīng)被廣泛用于Inception和ResNet系列網(wǎng)絡(luò)設(shè)計(jì)中。

  2. 分組卷積

  3. 擴(kuò)張卷積。使用擴(kuò)張卷積可以保持參數(shù)量不變的情況下擴(kuò)大感受野。


知識(shí)蒸餾(knowledge distillation)訓(xùn)練小網(wǎng)絡(luò)以逼近大網(wǎng)絡(luò),但應(yīng)該如何去逼近大網(wǎng)絡(luò)仍沒(méi)有定論。


硬件協(xié)同設(shè)計(jì)常用的硬件包括兩大類:(1). 通用硬件,包括CPU(低延遲,擅長(zhǎng)串行、復(fù)雜運(yùn)算)和GPU(高吞吐率,擅長(zhǎng)并行、簡(jiǎn)單運(yùn)算)。(2). 專用硬件,包括ASIC(固定邏輯器件,例如谷歌TPU)和FPGA(可編程邏輯器件,靈活,但效率不如ASIC)。


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


相比(通用)圖像分類,細(xì)粒度圖像分類需要判斷的圖像類別更加精細(xì)。比如,我們需要判斷該目標(biāo)具體是哪一種鳥(niǎo)、哪一款的車、或哪一個(gè)型號(hào)的飛機(jī)。通常,這些子類之間的差異十分微小。比如,波音737-300和波音737-400的外觀可見(jiàn)的區(qū)別只是窗戶的個(gè)數(shù)不同。因此,細(xì)粒度圖像分類是比(通用)圖像分類更具有挑戰(zhàn)性的任務(wù)。


細(xì)粒度圖像分類的經(jīng)典做法是先定位出目標(biāo)的不同部位,例如鳥(niǎo)的頭、腳、翅膀等,之后分別對(duì)這些部位提取特征,最后融合這些特征進(jìn)行分類。這類方法的準(zhǔn)確率較高,但這需要對(duì)數(shù)據(jù)集人工標(biāo)注部位信息。目前細(xì)粒度分類的一大研究趨勢(shì)是不借助額外監(jiān)督信息,只利用圖像標(biāo)記進(jìn)行學(xué)習(xí),其以基于雙線性CNN的方法為代表。


雙線性CNN (bilinear CNN)其通過(guò)計(jì)算卷積描述向量(descriptor)的外積來(lái)考察不同維度之間的交互關(guān)系。由于描述向量的不同維度對(duì)應(yīng)卷積特征的不同通道,而不同通道提取了不同的語(yǔ)義特征,因此,通過(guò)雙線性操作,可以同時(shí)捕獲輸入圖像的不同語(yǔ)義特征之間的關(guān)系。


640?wx_fmt=jpeg


精簡(jiǎn)雙線性匯合雙線性匯合的結(jié)果十分高維,這會(huì)占用大量的計(jì)算和存儲(chǔ)資源,同時(shí)使后續(xù)的全連接層的參數(shù)量大大增加。許多后續(xù)研究工作旨在設(shè)計(jì)更精簡(jiǎn)的雙線性匯合策略,大致包括以下三大類:


(1)PCA降維。在雙線性匯合前,對(duì)深度描述向量進(jìn)行PCA投影降維,但這會(huì)使各維不再相關(guān),進(jìn)而影響性能。一個(gè)折中的方案是只對(duì)一支進(jìn)行PCA降維。


(2)近似核估計(jì)??梢宰C明,在雙線性匯合結(jié)果后使用線性SVM分類等價(jià)于在描述向量間使用了多項(xiàng)式核。由于兩個(gè)向量外積的映射等于兩個(gè)向量分別映射之后再卷積,有研究工作使用隨機(jī)矩陣近似向量的映射。此外,通過(guò)近似核估計(jì),我們可以捕獲超過(guò)二階的信息(如下圖)。


(3) 低秩近似。對(duì)后續(xù)用于分類的全連接層的參數(shù)矩陣進(jìn)行低秩近似,進(jìn)而使我們不用顯式計(jì)算雙線性匯合結(jié)果。


640?wx_fmt=jpeg


“看圖說(shuō)話”(image captioning)


“看圖說(shuō)話”旨在對(duì)一張圖像產(chǎn)生對(duì)其內(nèi)容一兩句話的文字描述。這是視覺(jué)和自然語(yǔ)言處理兩個(gè)領(lǐng)域的交叉任務(wù)。


編碼-解碼網(wǎng)絡(luò)(encoder-decoder networks)看圖說(shuō)話網(wǎng)絡(luò)設(shè)計(jì)的基本思想,其借鑒于自然語(yǔ)言處理中的機(jī)器翻譯思路。將機(jī)器翻譯中的源語(yǔ)言編碼網(wǎng)絡(luò)替換為圖像的CNN編碼網(wǎng)絡(luò)以提取圖像的特征,之后用目標(biāo)語(yǔ)言解碼網(wǎng)絡(luò)生成文字描述。


640?wx_fmt=jpeg


Show, attend, and tell注意力(attention)機(jī)制是機(jī)器翻譯中用于捕獲長(zhǎng)距離依賴的常用技巧,也可以用于看圖說(shuō)話。在解碼網(wǎng)絡(luò)中,每個(gè)時(shí)刻,除了預(yù)測(cè)下一個(gè)詞外,還需要輸出一個(gè)二維注意力圖,用于對(duì)深度卷積特征進(jìn)行加權(quán)匯合。使用注意力機(jī)制的一個(gè)額外的好處是可以對(duì)網(wǎng)絡(luò)進(jìn)行可視化,以觀察在生成每個(gè)詞的時(shí)候網(wǎng)絡(luò)注意到圖像中的哪些部分。


640?wx_fmt=jpeg


Adaptive attention之前的注意力機(jī)制會(huì)對(duì)每個(gè)待預(yù)測(cè)詞生成一個(gè)二維注意力圖(圖(a)),但對(duì)于像the、of這樣的詞實(shí)際上并不需要借助來(lái)自圖像的線索,并且有的詞可以根據(jù)上文推測(cè)出也不需要圖像信息。該工作擴(kuò)展了LSTM,以提出“視覺(jué)哨兵”機(jī)制以判斷預(yù)測(cè)當(dāng)前詞時(shí)應(yīng)更關(guān)注上文語(yǔ)言信息還是更關(guān)注圖像信息(圖(b))。此外,和之前工作利用上一時(shí)刻的隱層狀態(tài)計(jì)算注意力圖不同,該工作使用當(dāng)前隱層狀態(tài)。

640?wx_fmt=jpeg


視覺(jué)問(wèn)答(visual question answering)


給定一張圖像和一個(gè)關(guān)于該圖像內(nèi)容的文字問(wèn)題,視覺(jué)問(wèn)答旨在從若干候選文字回答中選出正確的答案。其本質(zhì)是分類任務(wù),也有工作是用RNN解碼來(lái)生成文字回答。視覺(jué)問(wèn)答也是視覺(jué)和自然語(yǔ)言處理兩個(gè)領(lǐng)域的交叉任務(wù)。


基本思路使用CNN從圖像中提取圖像特征,用RNN從文字問(wèn)題中提取文本特征,之后設(shè)法融合視覺(jué)和文本特征,最后通過(guò)全連接層進(jìn)行分類。該任務(wù)的關(guān)鍵是如何融合這兩個(gè)模態(tài)的特征。直接的融合方案是將視覺(jué)和文本特征拼成一個(gè)向量、或者讓視覺(jué)和文本特征向量逐元素相加或相乘。


640?wx_fmt=jpeg


注意力機(jī)制和“看圖說(shuō)話”相似,使用注意力機(jī)制也會(huì)提升視覺(jué)問(wèn)答的性能。注意力機(jī)制包括視覺(jué)注意力(“看哪里”)和文本注意力(“關(guān)注哪個(gè)詞”)兩者。HieCoAtten可同時(shí)或交替產(chǎn)生視覺(jué)和文本注意力。DAN將視覺(jué)和文本的注意力結(jié)果映射到一個(gè)相同的空間,并據(jù)此同時(shí)產(chǎn)生下一步的視覺(jué)和文本注意力。


640?wx_fmt=jpeg


雙線性融合通過(guò)視覺(jué)特征向量和文本特征向量的外積,可以捕獲這兩個(gè)模態(tài)特征各維之間的交互關(guān)系。為避免顯式計(jì)算高維雙線性匯合結(jié)果,細(xì)粒度識(shí)別中的精簡(jiǎn)雙線性匯合思想也可用于視覺(jué)問(wèn)答。例如,MFB采用了低秩近似思路,并同時(shí)使用了視覺(jué)和文本注意力機(jī)制。


640?wx_fmt=jpeg


網(wǎng)絡(luò)可視化(visualizing)和網(wǎng)絡(luò)理解(understanding)


這些方法旨在提供一些可視化的手段以理解深度卷積神經(jīng)網(wǎng)絡(luò)。直接可視化第一層濾波器 由于第一層卷積層的濾波器直接在輸入圖像中滑動(dòng),我們可以直接對(duì)第一層濾波器進(jìn)行可視化??梢钥闯?,第一層權(quán)重關(guān)注于特定朝向的邊緣以及特定色彩組合。這和生物的視覺(jué)機(jī)制是符合的。但由于高層濾波器并不直接作用于輸入圖像,直接可視化只對(duì)第一層濾波器有效。


640?wx_fmt=jpeg


t-SNE對(duì)圖像的fc7或pool5特征進(jìn)行低維嵌入,比如降維到2維使得可以在二維平面畫(huà)出。具有相近語(yǔ)義信息的圖像應(yīng)該在t-SNE結(jié)果中距離相近。和PCA不同的是,t-SNE是一種非線性降維方法,保留了局部之間的距離。下圖是直接對(duì)MNIST原始圖像進(jìn)行t-SNE的結(jié)果??梢钥闯?,MNIST是比較容易的數(shù)據(jù)集,屬于不同類別的圖像聚類十分明顯。


640?wx_fmt=jpeg


可視化中間層激活值對(duì)特定輸入圖像,畫(huà)出不同特征圖的響應(yīng)。觀察發(fā)現(xiàn),即使ImageNet中沒(méi)有人臉或文字相關(guān)的類別,網(wǎng)絡(luò)會(huì)學(xué)習(xí)識(shí)別這些語(yǔ)義信息,以輔助后續(xù)的分類。


最大響應(yīng)圖像區(qū)域選擇某一特定的中間層神經(jīng)元,向網(wǎng)絡(luò)輸入許多不同的圖像,找出使該神經(jīng)元響應(yīng)最大的圖像區(qū)域,以觀察該神經(jīng)元用于響應(yīng)哪種語(yǔ)義特征。是“圖像區(qū)域”而不是“完整圖像”的原因是中間層神經(jīng)元的感受野是有限的,沒(méi)有覆蓋到全部圖像。


輸入顯著性圖對(duì)給定輸入圖像,計(jì)算某一特定神經(jīng)元對(duì)輸入圖像的偏導(dǎo)數(shù)。其表達(dá)了輸入圖像不同像素對(duì)該神經(jīng)元響應(yīng)的影響,即輸入圖像的不同像素的變化會(huì)帶來(lái)怎樣的神經(jīng)元響應(yīng)值的變化。Guided backprop只反向傳播正的梯度值,即只關(guān)注對(duì)神經(jīng)元正向的影響,這會(huì)產(chǎn)生比標(biāo)準(zhǔn)反向傳播更好的可視化效果。


640?wx_fmt=jpeg


梯度上升優(yōu)化選擇某一特定的神經(jīng)元,計(jì)算某一特定神經(jīng)元對(duì)輸入圖像的偏導(dǎo)數(shù),對(duì)輸入圖像使用梯度上升進(jìn)行優(yōu)化,直到收斂。此外,我們需要一些正則化項(xiàng)使得產(chǎn)生的圖像更接近自然圖像。此外,除了在輸入圖像上進(jìn)行優(yōu)化外,我們也可以對(duì)fc6特征進(jìn)行優(yōu)化并從其生成需要的圖像。


640?wx_fmt=jpeg


DeepVisToolbox該工具包同時(shí)提供了以上四種可視化結(jié)果。該鏈接中提供了一個(gè)演示視頻Jason Yosinski


http://yosinski.com/deepvis#toolbox


640?wx_fmt=jpeg


遮擋實(shí)驗(yàn)(occlusion experiment)用一個(gè)灰色方塊遮擋住圖像的不同區(qū)域,之后前饋網(wǎng)絡(luò),觀察其對(duì)輸出的影響。對(duì)輸出影響最大的區(qū)域即是對(duì)判斷該類別最重要的區(qū)域。從下圖可以看出,遮擋住狗的臉對(duì)結(jié)果影響最大。


640?wx_fmt=jpeg


Deep dream選擇一張圖像和某一特定層,優(yōu)化目標(biāo)是通過(guò)對(duì)圖像的梯度上升,最大化該層激活值的平方。實(shí)際上,這是在通過(guò)正反饋放大該層神經(jīng)元捕獲到的語(yǔ)義特征??梢钥闯?,生成的圖像中出現(xiàn)了很多狗的圖案,這是因?yàn)镮mageNet數(shù)據(jù)集1000類別中有200類關(guān)于狗,因此,神經(jīng)網(wǎng)絡(luò)中有很多神經(jīng)元致力于識(shí)別圖像中的狗。



對(duì)抗樣本(adversarial examples) 選擇一張圖像和一個(gè)不是它真實(shí)標(biāo)記的類別,計(jì)算該類別對(duì)輸入圖像的偏導(dǎo)數(shù),對(duì)圖像進(jìn)行梯度上升優(yōu)化。實(shí)驗(yàn)發(fā)現(xiàn),在對(duì)圖像進(jìn)行難以察覺(jué)的微小改變后,就可以使網(wǎng)絡(luò)以相當(dāng)大的信心認(rèn)為該圖像屬于那個(gè)錯(cuò)誤的類別。實(shí)際應(yīng)用中,對(duì)抗樣本會(huì)將會(huì)對(duì)金融、安防等領(lǐng)域產(chǎn)生威脅。有研究認(rèn)為,這是由于圖像空間非常高維,即使有非常多的訓(xùn)練數(shù)據(jù),也只能覆蓋該空間的很小一部分。只要輸入稍微偏離該流形空間,網(wǎng)絡(luò)就難以得到正常的判斷。


640?wx_fmt=jpeg


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


給定一小張包含特定紋理的圖像,紋理合成旨在生成更大的包含相同紋理的圖像。給定一張普通圖像和一張包含特定繪畫(huà)風(fēng)格的圖像,風(fēng)格遷移旨在保留原圖內(nèi)容的同時(shí),將給定風(fēng)格遷移到該圖中。


特征逆向工程(feature inversion) 這兩類問(wèn)題的基本思路。給定一個(gè)中間層特征,我們希望通過(guò)迭代優(yōu)化,產(chǎn)生一個(gè)特征和給定特征接近的圖像。此外,特征逆向工程也可以告訴我們中間層特征中蘊(yùn)含了多少圖像中信息??梢钥闯?,低層的特征中幾乎沒(méi)有損失圖像信息,而高層尤其是全連接特征會(huì)丟失大部分的細(xì)節(jié)信息。從另一方面講,高層特征對(duì)圖像的顏色和紋理變化更不敏感。


640?wx_fmt=jpeg


Gram矩陣給定D×H×W的深度卷積特征,我們將其轉(zhuǎn)換為D×(HW)的矩陣X,則該層特征對(duì)應(yīng)的Gram矩陣定義為640?wx_fmt=png。通過(guò)外積,Gram矩陣捕獲了不同特征之間的共現(xiàn)關(guān)系。


紋理生成基本思路對(duì)給定紋理圖案的Gram矩陣進(jìn)行特征逆向工程。使生成圖像的各層特征的Gram矩陣接近給定紋理圖像的各層Gram。低層特征傾向于捕獲細(xì)節(jié)信息,而高層特征可以捕獲更大面積的特征。


640?wx_fmt=jpeg


風(fēng)格遷移基本思路優(yōu)化目標(biāo)包括兩項(xiàng),使生成圖像的內(nèi)容接近原始圖像內(nèi)容,及使生成圖像風(fēng)格接近給定風(fēng)格。風(fēng)格通過(guò)Gram矩陣體現(xiàn),而內(nèi)容則直接通過(guò)神經(jīng)元激活值體現(xiàn)。


640?wx_fmt=jpeg


直接生成風(fēng)格遷移的圖像上述方法的缺點(diǎn)是需要多次迭代才能收斂。該工作提出的解決方案是訓(xùn)練一個(gè)神經(jīng)網(wǎng)絡(luò)來(lái)直接生成風(fēng)格遷移的圖像。一旦訓(xùn)練結(jié)束,進(jìn)行風(fēng)格遷移只需前饋網(wǎng)絡(luò)一次,十分高效。在訓(xùn)練時(shí),將生成圖像、原始圖像、風(fēng)格圖像三者前饋一固定網(wǎng)絡(luò)以提取不同層特征用于計(jì)算損失函數(shù)。


640?wx_fmt=jpeg


示例歸一化(instance normalization)和批量歸一化(batch normalization)作用于一個(gè)批量不同,示例歸一化的均值和方差只由圖像自身決定。實(shí)驗(yàn)中發(fā)現(xiàn),在風(fēng)格遷移網(wǎng)絡(luò)中使用示例歸一化可以從圖像中去除和示例有關(guān)的對(duì)比度信息以簡(jiǎn)化生成過(guò)程。


條件示例歸一化(conditional instance normalization)上述方法的一個(gè)問(wèn)題是對(duì)每種不同的風(fēng)格,我們需要分別訓(xùn)練一個(gè)模型。由于不同風(fēng)格之間存在共性,該工作旨在讓對(duì)應(yīng)于不同風(fēng)格的風(fēng)格遷移網(wǎng)絡(luò)共享參數(shù)。具體來(lái)說(shuō),其修改了風(fēng)格遷移網(wǎng)絡(luò)中的示例歸一化,使其具有N組縮放和平移參數(shù),每組對(duì)應(yīng)一個(gè)不同的風(fēng)格。這樣,我們可以通過(guò)一次前饋過(guò)程同時(shí)獲得N張風(fēng)格遷移圖像。


人臉驗(yàn)證/識(shí)別(face verification/recognition)


人臉驗(yàn)證/識(shí)別可以認(rèn)為是一種更加精細(xì)的細(xì)粒度圖像識(shí)別任務(wù)。人臉驗(yàn)證是給定兩張圖像、判斷其是否屬于同一個(gè)人,而人臉識(shí)別是回答圖像中的人是誰(shuí)。一個(gè)人臉驗(yàn)證/識(shí)別系統(tǒng)通常包括三大步:檢測(cè)圖像中的人臉,特征點(diǎn)定位、及對(duì)人臉進(jìn)行驗(yàn)證/識(shí)別。人臉驗(yàn)證/識(shí)別的難題在于需要進(jìn)行小樣本學(xué)習(xí)。通常情況下,數(shù)據(jù)集中每人只有對(duì)應(yīng)的一張圖像,這稱為一次學(xué)習(xí)(one-shot learning)。


兩種基本思路當(dāng)作分類問(wèn)題(需要面對(duì)非常多的類別數(shù)),或者當(dāng)作度量學(xué)習(xí)問(wèn)題。如果兩張圖像屬于同一個(gè)人,我們希望它們的深度特征比較接近,否則,我們希望它們不接近。之后,根據(jù)深度特征之間的距離進(jìn)行驗(yàn)證(對(duì)特征距離設(shè)定閾值以判斷是否屬于同一個(gè)人),或識(shí)別(k近鄰分類)。


640?wx_fmt=jpeg


DeepFace第一個(gè)將深度神經(jīng)網(wǎng)絡(luò)成功用于人臉驗(yàn)證/識(shí)別的模型。DeepFace使用了非共享參數(shù)的局部連接。這是由于人臉不同區(qū)域存在不同的特征(例如眼睛和嘴巴具有不同的特征),經(jīng)典卷積層的“共享參數(shù)”性質(zhì)在人臉識(shí)別中不再適用。因此,人臉識(shí)別網(wǎng)絡(luò)中會(huì)采用不共享參數(shù)的局部連接。其使用孿生網(wǎng)絡(luò)(siamese network)進(jìn)行人臉驗(yàn)證。當(dāng)兩張圖像的深度特征小于給定閾值時(shí),認(rèn)為其來(lái)自同一個(gè)人。


640?wx_fmt=jpeg


FaceNet三元輸入,希望和負(fù)樣本之間的距離以一定間隔(如0.2)大于和正樣本之間的距離。此外,輸入三元的選擇不是隨機(jī)的,否則由于和負(fù)樣本之間的差異很大,網(wǎng)絡(luò)學(xué)不到什么東西。選擇最困難的三元組(即最遠(yuǎn)的正樣本和最近的負(fù)樣本)會(huì)使網(wǎng)絡(luò)陷入局部最優(yōu)。FaceNet采用半困難策略,選擇比正樣本遠(yuǎn)的負(fù)樣本。


640?wx_fmt=jpeg


大間隔交叉熵?fù)p失近幾年的一大研究熱點(diǎn)。由于類內(nèi)波動(dòng)大而類間相似度高,有研究工作旨在提升經(jīng)典的交叉熵?fù)p失對(duì)深度特征的判斷能力。例如,L-Softmax加強(qiáng)優(yōu)化目標(biāo),使對(duì)應(yīng)類別的參數(shù)向量和深度特征夾角增大。 A-Softmax進(jìn)一步約束L-Softmax的參數(shù)向量長(zhǎng)度為1,使訓(xùn)練更集中到優(yōu)化深度特征和夾角上。實(shí)際中,L-Softmax和A-Softmax都很難收斂,訓(xùn)練時(shí)采用了退火方法,從標(biāo)準(zhǔn)softmax逐漸退火至L-Softmax或A-Softmax。


活體檢測(cè)(liveness detection)判斷人臉是來(lái)自真人或是來(lái)自照片等,這是人臉驗(yàn)證/識(shí)別需要解決的關(guān)鍵問(wèn)題。在產(chǎn)業(yè)界目前主流的做法是利用人的表情變化、紋理信息、眨眼、或讓用戶完成一系列動(dòng)作等。


圖像檢索(image retrieval)


給定一個(gè)包含特定實(shí)例(例如特定目標(biāo)、場(chǎng)景、建筑等)的查詢圖像,圖像檢索旨在從數(shù)據(jù)庫(kù)圖像中找到包含相同實(shí)例的圖像。但由于不同圖像的拍攝視角、光照、或遮擋情況不同,如何設(shè)計(jì)出能應(yīng)對(duì)這些類內(nèi)差異的有效且高效的圖像檢索算法仍是一項(xiàng)研究難題。


圖像檢索的典型流程首先,設(shè)法從圖像中提取一個(gè)合適的圖像的表示向量。其次,對(duì)這些表示向量用歐式距離或余弦距離進(jìn)行最近鄰搜索以找到相似的圖像。最后,可以使用一些后處理技術(shù)對(duì)檢索結(jié)果進(jìn)行微調(diào)。可以看出,決定一個(gè)圖像檢索算法性能的關(guān)鍵在于提取的圖像表示的好壞。


640?wx_fmt=jpeg


(1) 無(wú)監(jiān)督圖像檢索


無(wú)監(jiān)督圖像檢索旨在不借助其他監(jiān)督信息,只利用ImageNet預(yù)訓(xùn)練模型作為固定的特征提取器來(lái)提取圖像表示。


直覺(jué)思路由于深度全連接特征提供了對(duì)圖像內(nèi)容高層級(jí)的描述,且是“天然”的向量形式,一個(gè)直覺(jué)的思路是直接提取深度全連接特征作為圖像的表示向量。但是,由于全連接特征旨在進(jìn)行圖像分類,缺乏對(duì)圖像細(xì)節(jié)的描述,該思路的檢索準(zhǔn)確率一般。


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


CroW深度卷積特征是一個(gè)分布式的表示。雖然一個(gè)神經(jīng)元的響應(yīng)值對(duì)判斷對(duì)應(yīng)區(qū)域是否包含目標(biāo)用處不大,但如果多個(gè)神經(jīng)元同時(shí)有很大的響應(yīng)值,那么該區(qū)域很有可能包含該目標(biāo)。因此,CroW把特征圖沿通道方向相加,得到一張二維聚合圖,并將其歸一化并根號(hào)規(guī)范化的結(jié)果作為空間權(quán)重。CroW的通道權(quán)重根據(jù)特征圖的稀疏性定義,其類似于自然語(yǔ)言處理中TF-IDF特征中的IDF特征,用于提升不常出現(xiàn)但具有判別能力的特征。


Class weighted features該方法試圖結(jié)合網(wǎng)絡(luò)的類別預(yù)測(cè)信息來(lái)使空間權(quán)重更具判別能力。具體來(lái)說(shuō),其利用CAM來(lái)獲取預(yù)訓(xùn)練網(wǎng)絡(luò)中對(duì)應(yīng)各類別的最具代表性區(qū)域的語(yǔ)義信息,進(jìn)而將歸一化的CAM結(jié)果作為空間權(quán)重。


PWAPWA發(fā)現(xiàn),深度卷積特征的不同通道對(duì)應(yīng)于目標(biāo)不同部位的響應(yīng)。因此,PWA選取一系列有判別能力的特征圖,將其歸一化之后的結(jié)果作為空間權(quán)重進(jìn)行匯合,并將其結(jié)果級(jí)聯(lián)起來(lái)作為最終圖像表示。


640?wx_fmt=jpeg


(2) 有監(jiān)督圖像檢索


有監(jiān)督圖像檢索首先將ImageNet預(yù)訓(xùn)練模型在一個(gè)額外的訓(xùn)練數(shù)據(jù)集上進(jìn)行微調(diào),之后再?gòu)倪@個(gè)微調(diào)過(guò)的模型中提取圖像表示。為了取得更好的效果,用于微調(diào)的訓(xùn)練數(shù)據(jù)集通常和要用于檢索的數(shù)據(jù)集比較相似。此外,可以用候選區(qū)域網(wǎng)絡(luò)提取圖像中可能包含目標(biāo)的前景區(qū)域。


孿生網(wǎng)絡(luò)(siamese network)和人臉識(shí)別的思路類似,使用二元或三元(++-)輸入,訓(xùn)練模型使相似樣本之間的距離盡可能小,而不相似樣本之間的距離盡可能大。


640?wx_fmt=jpeg


目標(biāo)跟蹤(object tracking)


目標(biāo)跟蹤旨在跟蹤一段視頻中的目標(biāo)的運(yùn)動(dòng)情況。通常,視頻第一幀中目標(biāo)的位置會(huì)以包圍盒的形式給出,我們需要預(yù)測(cè)其他幀中該目標(biāo)的包圍盒。目標(biāo)跟蹤類似于目標(biāo)檢測(cè),但目標(biāo)跟蹤的難點(diǎn)在于事先不知道要跟蹤的目標(biāo)具體是什么,因此無(wú)法事先收集足夠的訓(xùn)練數(shù)據(jù)以訓(xùn)練一個(gè)專門(mén)的檢測(cè)器。


孿生網(wǎng)絡(luò)類似于人臉驗(yàn)證的思路,利用孿生網(wǎng)絡(luò),一支輸入第一幀包圍盒內(nèi)圖像,另一支輸入其他幀的候選圖像區(qū)域,輸出兩張圖的相似度。我們不需要遍歷其他幀的所有可能的候選區(qū)域,利用全卷積網(wǎng)絡(luò),我們只需要前饋整張圖像一次。通過(guò)互相關(guān)操作(卷積),得到二維的響應(yīng)圖,其中最大響應(yīng)位置確定了需要預(yù)測(cè)的包圍盒位置?;趯\生網(wǎng)絡(luò)的方法速度快,能處理任意大小的圖像。


640?wx_fmt=jpeg


CFNet相關(guān)濾波通過(guò)訓(xùn)練一個(gè)線性模板來(lái)區(qū)分圖像區(qū)域和它周圍區(qū)域,利用傅里葉變換,相關(guān)濾波有十分高效的實(shí)現(xiàn)。CFNet結(jié)合離線訓(xùn)練的孿生網(wǎng)絡(luò)和在線更新的相關(guān)濾波模塊,提升輕量級(jí)網(wǎng)絡(luò)的跟蹤性能。


640?wx_fmt=jpeg


生成式模型(generative models)


這類模型旨在學(xué)得數(shù)據(jù)(圖像)的分布,或從該分布中采樣得到新的圖像。生成式模型可以用于超分辨率重建、圖像著色、圖像轉(zhuǎn)換、從文字生成圖像、學(xué)習(xí)圖像潛在表示、半監(jiān)督學(xué)習(xí)等。此外,生成式模型可以和強(qiáng)化學(xué)習(xí)結(jié)合,用于仿真和逆強(qiáng)化學(xué)習(xí)。

640?wx_fmt=jpeg


顯式建模根據(jù)條件概率公式,直接進(jìn)行最大似然估計(jì)對(duì)圖像的分布進(jìn)行學(xué)習(xí)。該方法的弊端是,由于每個(gè)像素依賴于之前的像素,生成圖像時(shí)由于需要從一角開(kāi)始序列地進(jìn)行,所以會(huì)比較慢。例如,WaveNet可以生成類似人類說(shuō)話的語(yǔ)音,但由于無(wú)法并行生成,得到1秒的語(yǔ)音需要2分鐘的計(jì)算,無(wú)法達(dá)到實(shí)時(shí)。


640?wx_fmt=jpeg


變分自編碼器(variational auto-encoder, VAE)為避免顯式建模的弊端,變分自編碼器對(duì)數(shù)據(jù)分布進(jìn)行隱式建模。其認(rèn)為圖像的生成受一個(gè)隱變量控制,并假設(shè)該隱變量服從對(duì)角高斯分布。變分自編碼器通過(guò)一個(gè)解碼網(wǎng)絡(luò)從隱變量生成圖像。由于無(wú)法直接進(jìn)行最大似然估計(jì),在訓(xùn)練時(shí),類似于EM算法,變分自編碼器會(huì)構(gòu)造似然函數(shù)的下界函數(shù),并對(duì)這個(gè)下界函數(shù)進(jìn)行優(yōu)化。變分自編碼器的好處是,由于各維獨(dú)立,我們可以通過(guò)控制隱變量來(lái)控制輸出圖像的變化因素。


640?wx_fmt=jpeg


生成式對(duì)抗網(wǎng)絡(luò)(generative adversarial networks, GAN)由于學(xué)習(xí)數(shù)據(jù)分布十分困難,生成式對(duì)抗網(wǎng)絡(luò)繞開(kāi)這一步驟,直接生成新的圖像。生成式對(duì)抗網(wǎng)絡(luò)使用一個(gè)生成網(wǎng)絡(luò)G從隨機(jī)噪聲中生成圖像,以及一個(gè)判別網(wǎng)絡(luò)D判斷其輸入圖像是真實(shí)/偽造圖像。在訓(xùn)練時(shí),判別網(wǎng)絡(luò)D的目標(biāo)是能判斷真實(shí)/偽造圖像,而生成網(wǎng)絡(luò)G的目標(biāo)是使得判別網(wǎng)絡(luò)D傾向于判斷其輸出是真實(shí)圖像。


實(shí)際中,直接訓(xùn)練生成式對(duì)抗網(wǎng)絡(luò)會(huì)遇到mode collapse問(wèn)題,即生成式對(duì)抗網(wǎng)絡(luò)無(wú)法學(xué)到完整的數(shù)據(jù)分布。隨后,出現(xiàn)了LS-GAN和W-GAN的改進(jìn)。和變分自編碼器相比,生成式對(duì)抗網(wǎng)絡(luò)的細(xì)節(jié)信息更好。以下鏈接整理了許多和生成式對(duì)抗網(wǎng)絡(luò)有關(guān)的論文:hindupuravinash/the-gan-zoo。以下鏈接整理了許多訓(xùn)練生成式對(duì)抗網(wǎng)絡(luò)的其技巧:soumith/ganhacks。

640?wx_fmt=jpeg



視頻分類(video classification)


前面介紹的大部分任務(wù)也可以用于視頻數(shù)據(jù),這里僅以視頻分類任務(wù)為例,簡(jiǎn)要介紹處理視頻數(shù)據(jù)的基本方法。


多幀圖像特征匯合這類方法將視頻看成一系列幀的圖像組合。網(wǎng)絡(luò)同時(shí)接收屬于一個(gè)視頻片段的若干幀圖像(例如15幀),并分別提取其深度特征,之后融合這些圖像特征得到該視頻片段的特征,最后進(jìn)行分類。實(shí)驗(yàn)發(fā)現(xiàn),使用"slow fusion"效果最好。此外,獨(dú)立使用單幀圖像進(jìn)行分類即可得到很有競(jìng)爭(zhēng)力的結(jié)果,這說(shuō)明單幀圖像已經(jīng)包含很多的信息。



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



圖像+時(shí)序兩分支結(jié)構(gòu)這類方法用兩個(gè)獨(dú)立的網(wǎng)絡(luò)分別捕獲視頻中的圖像信息和隨時(shí)間運(yùn)動(dòng)信息。其中,圖像信息從單幀靜止圖像中得到,是經(jīng)典的圖像分類問(wèn)題。運(yùn)動(dòng)信息則通過(guò)光流(optical flow)得到,其捕獲了目標(biāo)在相鄰幀之間的運(yùn)動(dòng)情況。



CNN+RNN捕獲遠(yuǎn)距離依賴之前的方法只能捕獲幾幀圖像之間的依賴關(guān)系,這類方法旨在用CNN提取單幀圖像特征,之后用RNN捕獲幀之間的依賴。


640?wx_fmt=jpeg


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


640?wx_fmt=jpeg



聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 機(jī)器視覺(jué)
    +關(guān)注

    關(guān)注

    161

    文章

    4275

    瀏覽量

    119598
  • 人工智能
    +關(guān)注

    關(guān)注

    1787

    文章

    46124

    瀏覽量

    235416
  • 人臉識(shí)別
    +關(guān)注

    關(guān)注

    76

    文章

    3998

    瀏覽量

    81408
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5424

    瀏覽量

    120629
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    機(jī)器視覺(jué)計(jì)算機(jī)視覺(jué)有什么區(qū)別

    機(jī)器視覺(jué)計(jì)算機(jī)視覺(jué)是兩個(gè)密切相關(guān)但又有所區(qū)別的概念。 、定義 機(jī)器視覺(jué) 機(jī)器視覺(jué),又稱為
    的頭像 發(fā)表于 07-16 10:23 ?316次閱讀

    計(jì)算機(jī)視覺(jué)與機(jī)器視覺(jué)的區(qū)別與聯(lián)系

    與緊密的聯(lián)系。本文將從多個(gè)維度深入探討計(jì)算機(jī)視覺(jué)與機(jī)器視覺(jué)的區(qū)別與聯(lián)系,以期為讀者提供個(gè)全面而深入的理解。
    的頭像 發(fā)表于 07-10 18:24 ?912次閱讀

    計(jì)算機(jī)視覺(jué)的工作原理和應(yīng)用

    計(jì)算機(jī)視覺(jué)(Computer Vision,簡(jiǎn)稱CV)是門(mén)跨學(xué)科的研究領(lǐng)域,它利用計(jì)算機(jī)和數(shù)學(xué)算法來(lái)模擬人類視覺(jué)系統(tǒng)對(duì)圖像和視頻進(jìn)行識(shí)別、
    的頭像 發(fā)表于 07-10 18:24 ?1115次閱讀

    機(jī)器人視覺(jué)計(jì)算機(jī)視覺(jué)的區(qū)別與聯(lián)系

    機(jī)器人視覺(jué)計(jì)算機(jī)視覺(jué)是兩個(gè)密切相關(guān)但又有所區(qū)別的領(lǐng)域。 1. 引言 在當(dāng)今科技迅猛發(fā)展的時(shí)代,機(jī)器人和計(jì)算機(jī)視覺(jué)技術(shù)在各個(gè)領(lǐng)域發(fā)揮著越來(lái)越
    的頭像 發(fā)表于 07-09 09:27 ?341次閱讀

    計(jì)算機(jī)視覺(jué)與人工智能的關(guān)系是什么

    引言 計(jì)算機(jī)視覺(jué)門(mén)研究如何使計(jì)算機(jī)能夠理解和解釋視覺(jué)信息的學(xué)科。它涉及到圖像處理、模式識(shí)別、機(jī)器學(xué)習(xí)等多個(gè)領(lǐng)域的知識(shí)。人工智能則是研究如
    的頭像 發(fā)表于 07-09 09:25 ?332次閱讀

    計(jì)算機(jī)視覺(jué)與智能感知是干嘛的

    感知(Intelligent Perception)則是計(jì)算機(jī)視覺(jué)個(gè)分支,它強(qiáng)調(diào)計(jì)算機(jī)在處理視覺(jué)信息時(shí)的智能
    的頭像 發(fā)表于 07-09 09:23 ?394次閱讀

    計(jì)算機(jī)視覺(jué)和機(jī)器視覺(jué)區(qū)別在哪

    計(jì)算機(jī)視覺(jué)和機(jī)器視覺(jué)是兩個(gè)密切相關(guān)但又有明顯區(qū)別的領(lǐng)域。 、定義 計(jì)算機(jī)視覺(jué)
    的頭像 發(fā)表于 07-09 09:22 ?304次閱讀

    計(jì)算機(jī)視覺(jué)屬于人工智能嗎

    屬于,計(jì)算機(jī)視覺(jué)是人工智能領(lǐng)域的個(gè)重要分支。 引言 計(jì)算機(jī)視覺(jué)門(mén)研究如何使
    的頭像 發(fā)表于 07-09 09:11 ?709次閱讀

    機(jī)器視覺(jué)計(jì)算機(jī)視覺(jué)的區(qū)別

    在人工智能和自動(dòng)化技術(shù)的快速發(fā)展中,機(jī)器視覺(jué)(Machine Vision, MV)和計(jì)算機(jī)視覺(jué)(Computer Vision, CV)作為兩個(gè)重要的分支領(lǐng)域,都扮演著至關(guān)重要的角色。盡管它們?cè)?/div>
    的頭像 發(fā)表于 06-06 17:24 ?889次閱讀

    計(jì)算機(jī)視覺(jué)的主要研究方向

    計(jì)算機(jī)視覺(jué)(Computer Vision, CV)作為人工智能領(lǐng)域的個(gè)重要分支,致力于使計(jì)算機(jī)能夠像人眼樣理解和解釋圖像和視頻中的信息
    的頭像 發(fā)表于 06-06 17:17 ?551次閱讀

    計(jì)算機(jī)視覺(jué)的十大算法

    視覺(jué)技術(shù)的發(fā)展起到了重要的推動(dòng)作用。、圖像分割算法圖像分割算法是計(jì)算機(jī)視覺(jué)領(lǐng)域的基礎(chǔ)算法之,它的主要任務(wù)是將圖像分割成不同的區(qū)域或?qū)ο蟆?/div>
    的頭像 發(fā)表于 02-19 13:26 ?1072次閱讀
    <b class='flag-5'>計(jì)算機(jī)</b><b class='flag-5'>視覺(jué)</b>的十大算法

    機(jī)器視覺(jué)、工業(yè)視覺(jué)計(jì)算機(jī)視覺(jué)這三者的關(guān)系

    機(jī)器視覺(jué)、工業(yè)視覺(jué)計(jì)算機(jī)視覺(jué)這三者的關(guān)系
    的頭像 發(fā)表于 01-24 10:51 ?983次閱讀
    機(jī)器<b class='flag-5'>視覺(jué)</b>、工業(yè)<b class='flag-5'>視覺(jué)</b>和<b class='flag-5'>計(jì)算機(jī)</b><b class='flag-5'>視覺(jué)</b>這三者的關(guān)系

    工業(yè)視覺(jué)計(jì)算機(jī)視覺(jué)的區(qū)別

    工業(yè)視覺(jué)主要解決以往需要人眼進(jìn)行的工件的定位、測(cè)量、檢測(cè)等重復(fù)性勞動(dòng);計(jì)算機(jī)視覺(jué)的主要任務(wù)是賦予智能機(jī)器人視覺(jué),利用測(cè)距、物體標(biāo)定與識(shí)別等功能實(shí)現(xiàn)對(duì)于外界位置信息、圖像信息等的識(shí)別與判
    發(fā)表于 01-16 10:06 ?460次閱讀
    工業(yè)<b class='flag-5'>視覺(jué)</b>與<b class='flag-5'>計(jì)算機(jī)</b><b class='flag-5'>視覺(jué)</b>的區(qū)別

    什么是計(jì)算機(jī)視覺(jué)?計(jì)算機(jī)視覺(jué)的三種方法

    計(jì)算機(jī)視覺(jué)是指通過(guò)為計(jì)算機(jī)賦予人類視覺(jué)技術(shù)目標(biāo),從而賦能裝配線檢查到駕駛輔助和機(jī)器人等應(yīng)用。計(jì)算機(jī)
    的頭像 發(fā)表于 11-16 16:38 ?4200次閱讀
    什么是<b class='flag-5'>計(jì)算機(jī)</b><b class='flag-5'>視覺(jué)</b>?<b class='flag-5'>計(jì)算機(jī)</b><b class='flag-5'>視覺(jué)</b>的三種方法

    最適合AI應(yīng)用的計(jì)算機(jī)視覺(jué)類型是什么?

    計(jì)算機(jī)視覺(jué)是指為計(jì)算機(jī)賦予人類視覺(jué)技術(shù)目標(biāo),從而賦能裝配線檢查到駕駛輔助和機(jī)器人等應(yīng)用。計(jì)算機(jī)
    的頭像 發(fā)表于 11-15 16:38 ?352次閱讀
    最適合AI應(yīng)用的<b class='flag-5'>計(jì)算機(jī)</b><b class='flag-5'>視覺(jué)</b>類型是什么?