1. 程式人生 > >CVPR 2018值得一看的25篇論文,都在這裡了 | 原始碼 & 解讀

CVPR 2018值得一看的25篇論文,都在這裡了 | 原始碼 & 解讀

作者丨李光睿

學校丨重慶大學本科在讀

研究方向丨計算機視覺

640?wxfrom=5&wx_lazy=1

640?wxfrom=5&wx_lazy=1

Unsupervised Person Image Synthesis in Arbitrary Poses

#Image Synthesis

CVPR 2018 Spotlight 論文,ReID + GAN 換 pose。

本文用了較多的篇幅講 loss function,pose 的提取用的是 OpenPose 這個庫。 

其 loss 分為三部分: 

1. Image Adversarial Loss:即傳統 GAN 的 loss;

2. Pose Loss:pose 差異,生成後的圖片再用 OpenPose 提取 pose 資訊做差值;

3. Identity Loss:此為關鍵,又分為兩部分,分別是 content 和 style loss,其中 content 用於保證生成圖和原圖在某 pretrain model 生成的 feature map 一致, style 則是利用 Gram matrix 生成某種 feature map,然後作比對。

論文連結

https://www.paperweekly.site/papers/1864

筆記連結

https://zhuanlan.zhihu.com/p/35626886

640?

Person Transfer GAN to Bridge Domain Gap for Person Re-Identification

#Person ReID

CVPR 2018 RE-ID Spotlight 一篇,這篇文章主要 contribution 有以下兩點: 

1. 提出了一個新的更大的資料集,更為細緻:考慮到了視角,光照等更為細緻的因素,具體引數可以直接看文章;

2. 多個數據集間的差異,即 domain-gap,通過 GAN 來生成和模仿,類似文章:Camera Style Adaptation for Person Re-identification

,個人認為創意是有的,可以作為 data augmentation 的一個方法,但實現難度上並沒有很大。

論文連結

https://www.paperweekly.site/papers/1557

程式碼連結

https://github.com/JoinWei-PKU/PTGAN

資料集連結

http://www.pkuvmc.com/publications/msmt17.html

筆記連結

https://zhuanlan.zhihu.com/p/35626478

640?

Disentangled Person Image Generation

#Image Generation

在 NIPS 2017 上,該團隊已經為我們貢獻了 Pose Guided Person Image Generation

這篇非常棒的文章,在 CVPR 2018 中,他們推出的更新的這篇文章不僅僅解決了換 pose 問題,還實現了”隨心所欲“的換裝換 pose,入選今年的 Spotlight 

在這裡提到的前一篇文章可復現度很高,可以嘗試。

640

該模型分為三個分支:

1. 運用 OpenPose 這個庫,生成 pose 的 18 個 dots,並將這 concat 進 decoder 之前的 feature map 中;

2. 在經過卷積運算後的 feature map 上,運用 mask 將前後景分離,背景的 feature map 也是直接 concat 進最後的 feature map 中;

3. 核心是前景的處理上,用 7 個 ROI 進一步將前景解開,然後用公用的 encoder 生成前景的 feature map。

論文連結

https://www.paperweekly.site/papers/1865

筆記連結

https://zhuanlan.zhihu.com/p/35626735

640?

Practical Block-wise Neural Network Architecture Generation

#Network Generation

CVPR 2018 Oral 一篇,本文主要提出了通過封裝模組(block-wise)的方法,運用增強學習設計生成網路架構的方法。 

封裝模組思路:

640

作者本人對增強學習和動態規劃理解有限,模組生成的總體思路是 Q-Learning 及動態規劃,其中提到了運用 reward shaping 優化設計過程,當是本文亮點之一

設計完網路後,生成對應任務的準確率,作為 q-value(即 reward),然後再次重新生成網路。 

此外,文章還提到了部分 trick: 

  • 在 reward 中將複雜度和計算複雜度納入;

  • early-stopping

論文連結

https://www.paperweekly.site/papers/1866

筆記連結

https://zhuanlan.zhihu.com/p/35639635

640?

Deep Layer Aggregation

#Convolutional Neural Networks

CVPR 2018 Oral,topic:網路設計模組化。

如名所示,提出了 aggregation 的具體思路,並在層融合上提出了具體方式。

論文連結

https://www.paperweekly.site/papers/1867

筆記連結

https://zhuanlan.zhihu.com/p/35641068

640

Learning Face Age Progression: A Pyramid Architecture of GANs

#Face Age Progression

CVPR 2018 Oral,intro 和 related works 主要講了現有方案大多將年齡資訊優先而 identity 資訊次之,換句話說,就是生成不同年齡的同時,identity 資訊不能很好保留。

640

Generator 部分不做介紹,無亮點,本文亮點在 loss 部分。

文中提出了特徵提取器用於提出特定特徵,原因是作者認為相同年齡段的不同人臉有著相同的的紋理等特定資訊,而這個提取器就是提取出這些特徵。此外,該分類器是經過 age 分類任務預訓練好了的

640

文中和今年很多思路一樣,考慮到了 low-level 和 high-level 資訊,將第 2、4、7 等層資訊 concat 起來,作為 d 的輸入。

identity 資訊的保留和上一個 extractor 類似,在人臉分類資料集上預訓練,然後拿來直接當 extractor。

論文連結

https://www.paperweekly.site/papers/1868

筆記連結

https://zhuanlan.zhihu.com/p/35661176

640

Convolutional Neural Networks with Alternately Updated Clique

#Convolutional Neural Network

北大團隊提出的新的 block 設計,achieves the performance of the state of the art with less parameters. 

640

block 內部更新的核心思路可以直接看這個公式,每一層更新時的輸入是比他低的層的更新後的輸出加上比他高的層更新前的輸出。

640

由於 block 內任意兩層互連,故實現了 top-bottom refinement,也就實現了 attention 機制。

640

還提到了部分 technique: 

1. channel-wise attention mechanism 

2. Bottleneck and compression

論文連結

https://www.paperweekly.site/papers/1713

程式碼連結

https://github.com/iboing/CliqueNet

筆記連結

https://zhuanlan.zhihu.com/p/35661397

640

Unsupervised Discovery of Object Landmarks as Structural Representations

#Object Detection

CVPR 2018 Oral, 今年 CVPR Landmark 和 Attention 這兩個詞出現的頻率很高

640

Landmark Detector 

本文采用的是名為 hourglass 的網路構架,以圖片作為輸出,該網路輸出 k+1 個 channel,含有 k 個 landmark 和背景。對不同 landmark 用 softmax 生成 confidence。

640

在如圖公式中,Dk(u,v) 意思是第 k channel 中座標為 (u,v) 的值,Dk 是 weight map,與對應座標相乘,再除以總的權重和座標乘積的和,從而生成該 channel 的 landmark 的 normalized 座標。 

Soft Constrain 

為了保證我們生成的諸 landmark 及其座標是表達的我們想要的 landmark 而非其他 latent repre,文章提出了幾個 soft constrain:

1. Concentration Constrain:

640

計算兩個座標軸上座標的方差,設計如圖示 loss 是為了使方差儘可能小。

640

這裡做了一個近似,使之轉換成了 Gau dis,更低的熵值意味著 peak 處更多的分佈,換句話說,就是使 landmark 儘可能地突出出來。 

2. Separation Constrain:

640

由於剛剛開始訓練時候的輸入時純 random distribution,故可能導致提取出的 landmark 聚集在中心,可能會導致 separation 效果不好,因此而落入 local optima,故設計了該 loss。 

這個 loss 也不難理解,將不同 channel 間的座標做差值,使得不同 landmark 儘可能不重疊。 

3. Equivariance Constrain

這個比較好理解,就是某一個 landmark 在另一個 image 中變換座標時應該仍能夠很好地定位,在這裡,作者介紹了他們實現 landmark 變換座標的幾個trick。 

4. Cross-object Correspondence

640

本文模型認為不能保證同一 object 在不同情況檢測時絕對的 correspondence,文章認為這應該主要依賴於該特定 pattern 能夠在網路生成的啟用值展現一定的共性。

Local Latent Descriptors 

這個 des 的目的是解決一個 delimma:除了我們定義的 landmark,可能還有一些 latent representation,要復原一個 image,僅僅 landmarks 是絕對不夠的,所以需要一些其他的資訊作為一個補充,但表達他們又有可能影響 landmark 的表達。

640

在這裡,文章又用了另一個 hourglass network,如圖中左下角的 F,就在我們之前提到的 concentration costrain 中,用一個高斯分佈來將該 channel 對應的 landmark 突出出來。

在這裡,文章將他當做 soft mask 來用,用 mask 提取後再用一個 linear operator 來講這些 feature map 對映到一個更低維的空間,至此,local latent descriptor 就被生成了。

Landmark-based Decoder

640

第一步,Raw score map.

640

第二步,normalize.

640

第三步,生成最終影象。

在這裡,wk 是 landmark-specific operator。 

簡言之,Dk 是我們提出的 landmark 位置資訊,fk 是對應 landmark 的 descriptor。 

這裡又提到了一個 dilemma:在用 mask 的時候,越多的 pixel 被納入是最理想的,但納入太多又使得邊緣的銳利不能體現,因為該文用了多個不同的超引數來嘗試。

論文連結

https://www.paperweekly.site/papers/1869

筆記連結

https://zhuanlan.zhihu.com/p/35693735

640

An Analysis of Scale Invariance in Object Detection - SNIP

#Object Detection

CVPR 2018 Oral,如下圖,文章主要解決網路處理不同 scale 圖片的網路策略

640

▲ 讀圖中配字,理解文章針對的問題

640

▲ 圖2

640

▲ 圖3

如上面兩個圖示,三種網路的訓練方式和效果一目瞭然。 

結論是:當我們要檢測小的物體時,在輸入是大的 scale 的網路上預訓練、在高解析度作為輸入的網路上預訓練、在upsample後的圖片作為輸入的網路上預訓練,對檢測小物體有益。 

第 4 部分講了用了 DeformableRFCN 模型,第 5 部分主要討論了在不同解析度下訓練,在同樣的高解析度 test 的結果及其分析:

640

1. 在中解析度下訓練的模型比在高解析度下訓練的模型效果差,原因很簡單,因為後者訓練測試的解析度相同,但並沒有拉開很大的差距,為什麼呢?因為中高 scale 的 object 被變得太大以致不能被檢測到;

2. 作者隨後在高解析度下訓練了只針對 80pixel 下 Object 檢測的模型,但結果比在中解析度下的效果差了很多,為什麼呢?因為忽視中高 scale 的 Object 對訓練影響非常大;

3. 作者又用多解析度訓練模型(MST),但仍因為過小或過大的 Object 影響,效果仍不理想。 

Scale Normalization for Image Pyramids 

第 6 部分,作者提出了最終的模型。該模型的輸入解析度最低 480*800,最高 1400*2000,對於訓練中過大或者過小 scale 的 Object,模型選擇直接忽略,訓練只針對在 scale 的一個範圍內的 Object。 

後面就是訓練細節和 trick,詳情可以翻看論文。

論文連結

https://www.paperweekly.site/papers/1870

筆記連結

https://zhuanlan.zhihu.com/p/35697040

640?

Wasserstein Introspective Neural Networks

#Introspective Neural Networks

CVPR 2018 Oral,同時也是目前為止個人印象最深刻的一篇文章。 

文章主要做的事情就是提出了基於 Wasserstein 的 INN,該組已經在 ICCV,NIPS 等多次提出並改進該模型,該模型主要做的就是將 GAN 中的 G 和 D 結合起來。 

文章最開始給了一下最基本的 notation,然後介紹瞭如何將 INN 與 Wasserstein 結合起來並給出了必要的數學證明。

640

▲ 演算法

640

上圖為分類過程 loss 的設計,圖中兩個公式,前者是目標函式,很容易理解,後者則是正則項,正則項是以隨機的 a 來生成真資料(x+)與生成的假資料(x-)的 mixture。

合成部分

640

合成部分的公式中,簡言之,就是以生成圖與原圖的相似度作為衡量標準。

圖中引用的 21,29 是作者的前面兩篇文章,分別是 NIPS 2017 和 ICCV 2017,作者在這篇文章中並未給出任何證明,後期本人應該會補上這兩篇的筆記。

論文連結

https://www.paperweekly.site/papers/1871

程式碼連結

https://github.com/kjunelee/WINN

筆記連結

https://zhuanlan.zhihu.com/p/35699851

640?

Im2Flow: Motion Hallucination from Static Images for Action Recognition

#Action Recognition

CVPR 2018 Oral,本文思路很清晰且已讀,具體細節可以看文章,這裡僅僅把總體思路講一下。

640

用 u-net 訓練一個模型:輸入是一個靜態的幀,輸出的預測的五幀光流資訊,模型在 YouTube 資料集上訓練。

該模型 loss 分兩部分,一部分是將生成的五幀光流資訊與 YouTube 資料集的 groundtruch 對比,另一部分是將生成的光流資訊與真實的光流資訊送進某網路(在 ucf101 上預訓練過的 resent)計算歐式距離;前者是要求準確,後者是為了更好保留 high-level 的動作資訊。

最終將 rgb 和預測的光流作為標準 two-stream 模型的輸入進行預測。

論文連結

https://www.paperweekly.site/papers/1872

筆記連結

https://zhuanlan.zhihu.com/p/35702085

640

What have we learned from deep representations for action recognition?

#Deep Spatiotemporal Representations

CVPR 2018 Zisserman 的新論文,這篇文章就是 two-stream 模型中間層的視覺化方法,換句話說,就是探尋 two-stream 模型學到了怎樣的時空資訊。

640

生成總共分為兩個步驟,詳情如上圖:計算出輸入的偏導,將計算出來的梯度用學習率 scale 並加到當前輸入上。

Activation Maximization

640

本文還提到了兩個正則方法:

1. 防止過大的值

640

2. 限制低頻資訊

640

論文連結

https://www.paperweekly.site/papers/1873

筆記連結

https://zhuanlan.zhihu.com/p/35703892

640

Squeeze-and-Excitation Networks

#Neural Networks

今年的 Oral,令人印象深刻的一篇文章,網上解讀很多,相當於在 channels 上加了一個 attention 機制,給不同的 channel 不同的權重

這篇文章行文思路清晰,哪怕學習寫論文也要看一看。

640

Squeeze

簡言之就是全域性平均池化,是因為低層的感受野太小導致效果差。