【深度学习】煮酒论英雄:深度学习CV领域最瞩目的top成果总结
前言
如果06年Hinton的深度置信網絡是深度學習時代的開啟,12年的Alexnet在ImageNet上的獨孤求敗是深度學習時代的爆發,那么至今也有近15年的發展歷程。15年足夠讓一個青澀懵懂的少年成長為一個成熟穩重的壯年。
本文盤點深度學習CV領域杰出的工作,由于本人方向相關,故從基礎研究、分類骨架、語義分割、實例分割、目標檢測、生成對抗、loss相關、部署加速、其他方面等篩選出最矚目的成果。而對于無監督學習、弱監督學習、3D點云、圖像配準、姿態估計、目標跟蹤、人臉識別、超分辨率、NAS等領域,則不會納入,或者有小伙伴建議的話,后面考慮收入。
注意,本次盤點具有一定的時效性,是聚焦當下的。有些被后來者居上的工作成為了巨人的肩膀,本文不會涉及。
本文會給出核心創新點解讀和論文鏈接。如果你是大牛的話,可以自查一下。如果你是小白的話,這是一份入門指引。每個工作本文都會有網絡結構或核心思想的插圖,并會進行導讀式解讀。水平有限,歡迎討論!
入圍標準
承上啟下,繼往開來。或開啟一個時代,或打開一個領域,或引領一個潮流,或造就一段歷史。在學術界或工業界備受追捧,落地成果遍地開花。共同構建成深度學習的大廈,并源源不斷地給后人輸送靈感和啟迪。
入圍成果
基礎研究:Relu,Dropout,Adam,BN,AtrousConv,DCN系列
分類骨架:VGG,ResNet(系列),SeNet,NIN,Inception系列,MobileNet系列,ShuffleNet系列
語義分割:FCN,U-Net,PSPNet,Deeplab系列
實例分割:Mask R-CNN,PanNet
目標檢測:Faster R-CNN,Yolo系列,FPN,SSD,CenterNet,CornerNet,FCOS,Cascade R-CNN,DETR
生成對抗:GAN,CGAN,DCGAN,pix2pix,CycleGAN,W-GAN
loss 相關:Focalloss,IOUloss系列,diceloss, CTCloss
部署加速:tf int8,network-slimming,KD
其他方面:CAM,Grad-CAM,Soft-NMS,CRNN,DBNet
Relu
論文標題:Deep Sparse Rectifier Neural Networks
核心解讀:Relu相比Sigmoid,訓練速度更快,且不存在Sigmoid的梯度消失的問題,讓CNN走向更深度成為的可能。因為它大于0區間就是一個線性函數,不會存在飽和的問題。對于Relu也有一些改進,例如pRelu、leaky-Relu、Relu6等激活函數。單純的Relu在0點是不可導的,因此底層需要特殊實現,放心,框架早已做好了。
Dropout
論文標題:?Improving neural networks by preventing co-adaptation of feature detectors
核心解讀:在訓練時,按照一定概率隨機丟棄掉一部分的連接。在測試時,不使用丟棄操作。一般的解釋是,Dropout作為一種正則化手段,可以有效緩解過擬合。因為神經元的drop操作是隨機的,可以減少神經元之間的依賴,提取獨立且有效的特征。為了保證丟棄后該層的數值總量不變,一般會除上(1-丟棄比例p)。多說一句,目前由于BN的存在,很少在CNN網絡中看到Dropout的身影了。不過不能忽視其重要的意義,且在其他網絡中(例如transformer)依然扮演者重要的角色。
BN
論文標題:Batch Normalization: Accelerating Deep Network Training b y Reducing Internal Covariate Shift
核心解讀:首先Normalization被稱為標準化,它通過將數據進行偏移和尺度縮放拉到一個特定的分布。BN就是在batch維度上進行數據的標準化,注意FC網絡是batch維度,CNN網絡由于要保證每一個channel上的所有元素同等對待,因此是在BHW維度上進行的標準化操作。其作用可以加快模型收,使得訓練過程更加穩定,避免梯度爆炸或者梯度消失。有了BN,你不必再小心翼翼調整參數。并且BN也起到一定的正則化作用,因此Dropout被替代了。上述公式中均值和方差通過滑動平均的方式在訓練的過程中被保存下來,供測試時使用。當今CNN網絡,BN已經成為了必不可少的標配操作。另外還有LN(layer Normalization)、IN(instance Normalization )、GN(group Normalization)的標準化操作。不過是作用在不同維度上獲取的,不在贅述。
Adam
論文標題:ADAM : A METHOD FOR STOCHASTIC OPTIMIZATION
核心解讀:應用非常廣泛,SGD、momentum等方法的集大成者。SGD-momentum在SGD基礎上增加了一階動量,AdaGrad和AdaDelta在SGD基礎上增加了二階動量。而Adam把一階動量和二階動量都用起來—Adaptive + Momentum。Adam算法即自適應時刻估計方法(Adaptive Moment Estimation),能計算每個參數的自適應學習率。這個方法不僅存儲了AdaDelta先前平方梯度的指數衰減平均值,而且保持了先前梯度的指數衰減平均值,這一點與動量類似。
AtrousConv
論文標題:MULTI-SCALE CONTEXT AGGREGATION BY DILATED CONVOLUTIONS
核心解讀:我們常說網絡的感受野非常重要,沒有足夠的感受野訓練和測試會丟失特征,預測就不準甚至錯掉。AtrousConv被稱為空洞卷積或膨脹卷積,廣泛應用于語義分割與目標檢測等任務中,在不增加參數的情況下,提高卷積的感受野。也可以代替pooling操作增加感受野,捕獲多尺度上下文信息,并且不會縮小特征圖的分辨率。可以通過設置不同的擴張率實現不同感受野大小的空洞卷積。不過在實際的語義分割應用中,發現會出現網格現象。
DCN系列
論文標題:
v1:?Deformable Convolutional Networks
v2:?Deformable ConvNets v2: More Deformable, Better Results
核心解讀:傳統卷積只是在NXN的正方形區域提取特征,或稱為滑動濾波。可變形卷積是卷積的位置是可變形的,為了增加網絡提取目標幾何信息或形狀信息的能力。具體做法就是在每一個卷積采樣點加上了一個偏移量,而這個偏移量是可學習的。另外空洞卷積也是可變形卷積的一種特例。類似的還有可變形池化操作。在V2中發現可變形卷積有可能引入了無用的上下文來干擾特征提取,會降低算法的表現。為了解決該問題,在DCN v2中不僅添加每一個采樣點的偏移,還添加了一個權重系數,來區分引入的區域是否為我們感興趣的區域。如果該區域無關重要,權重系數學習成0就可以了。在目前的目標檢測等任務中,增加變形卷積都會有不同程度的漲點,可謂是漲點必備。
VGG
論文標題:Very Deep Convolutional Networks For Large-Scale Image RecognitionVery Deep Convolutional Networks For Large-Scale Image Recognition
圖侵刪核心解讀:VGG采用連續的幾個3x3的卷積核代替AlexNet中的較大卷積核(11x11,7x7,5x5)。可以獲取等同的感受野,并且增加了網絡的深度和非線性表達能力,來保證學習更復雜的模式,并且所需的總參數量還會減小。從VGG開始,深度學習向更深度邁進。該結構亦成為了早期目標檢測、語義分割、OCR等任務的骨架網絡,例如Faster R-CNN、CRNN等。
NIN
論文標題:Network In Network
核心解讀:本文有兩大貢獻:1,提出全局平均池化,也就是GAP(global average pooling)。有了GAP操作,可以輕易的將網絡適用到不同輸入尺度上。另外GAP層是沒有參數的,因為參數量少了,GAP也降低了過擬合的風險。GAP直接對特征層的空間信息進行求和,整合了整個空間的信息,所以網絡對輸入的空間變化的魯棒性更強。2,提出1X1卷積,幾乎出現在目前所有的網絡上,起到通道升降維、特征聚合等作用。通過1X1卷積還可以實現全連接操作。單憑這兩點貢獻,NIN在該名單值得一席地位。
ResNet
論文標題:Deep Residual Learning for Image Recognition
核心解讀:cvpr2016最佳論文獎,ImageNet當年的冠軍。論文提出的殘差連接幾乎可以在每一個CNN中看到身影。網絡的深度是提高網絡性能的關鍵,但是隨著網絡深度的加深,梯度消失問題逐漸明顯,甚至出現退化現象。所謂退化就是深層網絡的性能竟然趕不上較淺的網絡。本文提出殘差結構,當輸入為x時其學習到的特征記為H(x),現在希望可以學習到殘差F(x)= H(x) - x,因為殘差學習相比原始特征直接學習更容易。當殘差為0時,此時僅僅做了恒等映射,至少網絡性能不會下降。正如kaiming所說“簡單才能接近本質”,就是一條線連一下。讓我想到了工程師劃線的典故,重點不是畫線,而是把線畫到哪。該論文提出了resnet18、resnet34、resnet50、resnet101、resnet152不同量級的結構,依然是現在分類網絡中的主流,以及目標檢測、語義分割等算法的主流骨架網絡。
SeNet
論文標題:Squeeze-and-Excitation Networks
核心解讀:它贏得了最后一屆ImageNet 2017競賽分類任務的冠軍。重要的一點是SENet思路很簡單,很容易擴展在已有網絡結構中。SE模塊主要包括Squeeze和Excitation兩個操作。Squeeze操作:將一個channel上整個空間特征編碼為一個全局特征,采用GAP來實現,Sequeeze操作得到了全局描述特征。接下來利用Excitation操作將學習到的各個channel的激活值(sigmoid激活,值0~1)作用到原始特征上去。整個操作可以看成學習到了各個channel的權重系數,從而使得模型對各個channel的特征更有辨別能力,這應該也算一種attention機制。
Inception系列
論文標題:
v1:?Going deeper with convolutions
v2:?Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
v3:?Rethinking the Inception Architecture for Computer Vision
v4:?Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning
核心解讀:該系列的前身都是GoogLenet,其提升網絡性能的方式就是增加網絡深度和寬度,深度指網絡層次數量、寬度指神經元數量。于是就有了上圖的經典inception結構,簡單來說就是并行采用不同大小的卷積核處理特征,增加網絡的處理不同尺度特征的能力,最后將所有的特征concat起來送入下面的結構。
v1: 把GoogLenet一些大的卷積層換成1*1, 3*3, 5*5的小卷積,這樣能夠大大的減小權值參數量。
v2: 就是大名鼎鼎BN那篇文章,網絡方面的改動就是增加了BN操作,可以看BN那部分的介紹。
v3:利用分離卷積的思想,把googLenet里一些7*7的卷積變成了1*7和7*1的兩層串聯,3*3同理。這樣做的目的是為了加速計算,減少過擬合。
v4:把原來的inception加上了resnet中的殘差結構。
MobileNet系列
論文標題:
v1:?MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
v2:?MobileNetV2: Inverted Residuals and Linear Bottlenecks
v3:?Searching for MobileNetV3
核心解讀:輕量級網絡的代表作,核心操作就是把VGG中的標準卷積層換成深度可分離卷積,計算量會比下降到原來的九分之一到八分之一左右。
v1:原本標準的卷積操作分解成一個depthwise convolution和一個1*1的pointwise convolution操作;
v2:使用了Inverted residuals(倒置殘差)結構,就是先利用1X1卷積將通道數擴大,然后進行卷積,再利用1X1卷積縮小回來,和Resnet的Bottleneck恰好相反。通過將通道數擴大,從而在中間層學到更多的特征,最后再總結篩選出優秀的特征出來。另外使用了Linear bottlenecks來避免Relu函數對特征的損失。
v3: 利用神經結構搜索(NAS)來完成V3,并繼承了V1的深度可分離卷積和v2的倒置殘差結構。并且使用h-swish激活函數來簡化swish的計算量,h的意思就是hard。對于網絡輸出的后端,也就進行了優化。
ShuffleNet系列
論文標題:
v1:?ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices
v2:?ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design
核心解讀:ShuffleNet的核心是采用了point wise group convolution和channel shuffle操作,保持了精度的同時大大降低了模型的計算量。這里的shuffle打亂是均勻隨機打亂。在V2中,作者從Memory Access Cost和GPU并行性的方向分析了高效網絡設計準則:1.使用輸入通道和輸出通道相同的卷積操作;2.謹慎使用分組卷積;3.減少網絡分支數;3.減少element-wise操作。
FCN
論文標題:Fully Convolutional Networks for Semantic Segmentation
核心解讀:CVPR 2015年的最佳論文提名,也是CNN進行語義分割的開山之作。本文提出的全卷積、上采樣、跳躍結構等也是非常具有意義的,對后來者影響巨大。
U-Net
論文標題:U-Net: Convolutional Networks for Biomedical Image Segmentation
核心解讀:Unet 初衷是應用在醫學圖像上,屬于 FCN 的一種變體。由于效果優秀,被廣泛的應用在語義分割的各個方向,比如衛星圖像分割,工業瑕疵檢測等。尤其在工業方向大放異彩。Unet 網絡結構是非常對稱的,形似英文字母 U 所以被稱為 Unet。非常經典的跳層鏈接也有FPN的影子。另外,該結構也是魔改的對象,類似unet++、res-unet等不下于數十種,側面反應該作品的確很棒。
PSPNet
論文標題:Pyramid Scene Parsing Network
核心解讀:PSPNet也是在FCN上的改進,利用金字塔池化引入更多的上下文信息進行解決, 分別用了1x1、2x2、3x3和6x6四個尺寸,最后用1x1的卷積層計算每個金字塔層的權重。最后再通過雙線性恢復成原始尺寸。最終得到的特征尺寸是原始圖像的1/8。最后在通過卷積將池化得到的所有上下文信息整合,生成最終的分割結果。
DeepLab
論文標題:
v1:?SEMANTIC IMAGE SEGMENTATION WITH DEEP CONVOLUTIONAL NETS AND FULLY CONNECTED CRFS
v2:DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs
v3:?Rethinking Atrous Convolution for Semantic Image Segmentation
v3+:?Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation
核心解讀:
v1:通過空洞卷積提升網絡的感受野和上下文的捕捉能力,通過條件隨機場(CRF)作為后處理提高模型捕獲精細細節的能力。
v2:將最后幾個max-pooling用空洞卷積替代下采樣,以更高的采樣密度計算feature map。提出ASPP(astrous spatial pyramid pooling),既組合不同采樣率的空洞卷積進行采樣。另外DeepLab基礎上將VGG-16換成ResNet。
v3: 改進了ASPP:由不同的采樣率的空洞卷積和BN層組成,以級聯或并行的方式布局。大采樣率的3×33×3空洞卷積由于圖像邊界效應無法捕獲長程信息,將退化為1×11×1的卷積,我們建議將圖像特征融入ASPP。
v3+:提出一個encoder-decoder結構,其包含DeepLabv3作為encoder和高效的decoder模塊。encoder decoder結構中可以通過空洞卷積來平衡精度和運行時間,現有的encoder-decoder結構是不可行的。在語義分割任務中采用Xception模型并采用depthwise separable convolution,從而更快更有效。
Mask-RCNN
論文標題:Mask R-CNN
核心解讀:本文是做實例分割的,也是經典baseline。Mask-RCNN 在 Faster-RCNN 框架上改進,在基礎特征網絡之后又加入了全連接的分割子網,由原來兩個任務(分類+回歸)變為了三個任務(分類+回歸+分割)。另外,,Mask RCNN中還有一個很重要的改進,就是ROIAlign。可以將fasterrcnn的中的roipooling類比成最近鄰插值,roialign就會類比成雙線性插值。
PANet
論文標題:Path Aggregation Network for Instance Segmentation
核心解讀:實例分割的路徑聚合網絡,PANet整體上可以看做是對Mask-RCNN做了多個改進。其提出的FPN改進版PAN-FPN增加了自底向上的連接。在目標檢測任務上,例如yolov4和v5上也大放異彩,可以看作是FPN非常成功的改進。
Faster R-CNN
論文標題:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
核心解讀:經典的不能再經典,隨便一搜就可以找到無數篇的解讀。兩階段目標檢測鼻祖一樣的存在,和Yolo等單階段網絡抗衡了3代之久。所謂兩階段就是第一個階段將前景的候選區域proposal出來,第二個階段利用proposals進行分類和精修。像RPN、anchor、roipooling、smooth L1 loss等影響深遠的概念都來自于此。題外話:最近看了很多任意角度目標檢測,其中兩階段的都是以Faster Rcnn作為baseline進行魔改的,足見其地位。
YOLO系列
論文標題:
v1:?You Only Look Once: Unified, Real-Time Object Detection
v2:?YOLO9000: Better, Faster, Stronger
v3:?YOLOv3: An Incremental Improvement
v4:?YOLOv4: Optimal Speed and Accuracy of Object Detection
v5:?github.com/ultralytics/(沒有論文,只有代碼)
核心解讀:如果說Faster RCNN是兩階段的第一人,那么YOLO系列就是單階段的第一人。單階段意味著速度更快,實現更簡單。針對YOLO的魔改也不在少數,例如poly-YOLO、pp-YOLO、fast-YOLO等。下面分別簡述各自的核心特點:
v1:顯式地將圖片等分為NXN個網格,物體的中心點落入網格內,該網格負責預測該物體。可以這樣理解,NXN個網絡意味者網絡最終輸出的tensor的尺度也是NXN,對應特征向量負責回歸它該負責的物體。注意v1是沒有anchor的概念的,回歸的尺度是相對與整圖來看的。
v2:最大的改進就是增加了anchor機制,和faster R-CNN、SSD、RetinaNet的手動預設不同,YOLO系列全是利用kmeans聚類出最終的anchor。這里的anchor只有寬高兩個屬性,位置依然是相對與網格的。有了anchor就有匹配規則,是利用iou來判定正、負、忽略樣本的。
v3:基本設定和v2一致,不過是加入個多尺度預測,基本思想和FPN一樣。為了適配不同尺度的目標。也是目前工業界應用最廣泛的模型。
v4:運用了非常多現有的實用技巧,例如:加權殘差連接(WRC)、跨階段部分連接(CSP)、跨小批量標準化(CmBN)、自對抗訓練(SAT)、Mish激活、馬賽克數據增強、CIoU Loss等,讓精度也上了一個臺階。另外說一句,該團隊最近出品的scaled-Yolov4將coco刷到55.4,強的沒有對手。
v5:馬賽克增強的作者,同樣是改進了網絡的骨架和FPN等,另外為了增加正樣本的數量,改進了匹配規則,就是中心網格附近的也可能分配到正樣本,提高了網絡的召回率。與v4相比,有過之而無不及。
FPN
論文標題:Feature Pyramid Networks for Object Detection
核心解讀:本文提出FPN(特征金字塔)結構,就是自上而下的路徑和橫向連接去結合低層高分辨率的特征。把高層的特征傳下來,補充低層的語義,可以獲得高分辨率、強語義的特征,有利于小目標的檢測。也是目前主流網絡的常客,魔改版本也很多,例如前述的PAN-FPN、ASFF、BiFPN、NAS-FPN等等。
SSD
論文標題:SSD: Single Shot MultiBox Detector
核心解讀:多尺度預測的先驅,在沒有FPN的時代采用了多尺度的特征圖,并設置anchor。采用VGG16作為backbone。名氣很大,但目前應用是比較少了。我認為由于不像Yolo有后續的版本持續發力導致的。現在要是設計目標檢測,VGG肯定不夠用了,換掉。FPN也要加上,等等,即便是baseline是SSD,那么魔改出來肯定不叫SSD了。
CornerNet
論文標題:CornerNet: Detecting Objects as Paired Keypoints
核心解讀:雖然不是anchor-free的開山之作,但一定是將anchor-free重新帶回大眾視野的作品。該論文采用bottom-up的做法,就是先找到所有的關鍵點,再進行配對。論文使用目標box的左上和右下兩個關鍵點來定位。為了后續的配對,網絡會額外預測embedding vector,使用推拉loss,形象比喻是將同一個目標的點拉到一起,不同目標的點推開。bottom-up的思想非常值得借鑒。
CenterNet
論文標題:Objects as Points
核心解讀:anchor-free中的典范之作,CenterNet不僅可以用于目標檢測,還可以用于其他的一些任務,如肢體識別或者3D目標檢測等等。網絡利用熱圖預測目標中心點位置,增加分支預測寬高或其他屬性,為了降低熱圖縮小尺度輸出帶來的量化誤差,網絡還會額外預測offset分支。結構簡單,可擴展性極強,并且anchor-free,沒有過多的超參可調。受到學術界和工業界的追捧,讓anchor-free有火熱起來。要說缺點也有,就是沒有FPN多尺度的操作。應用的話還是看場景吧!
FCOS
論文標題:FCOS: Fully Convolutional One-Stage Object Detection
核心解讀:CornerNet是將anchor-free帶回大眾視野,CenterNet是將anchor-free受到追捧,那么FCOS就是使anchor-free走到巔峰,足以和anchor-base抗衡。本文利用FPN處理不同尺度的目標預測,并創造性提出了centerness分支來過濾低質量的樣本,提升網絡擊中的能力,并減輕后端NMS的壓力。和CenterNet只采用中心點作為正樣本的做法不同,該論文將目標一定大小的中心區域都設置為正樣本,大大提高了正樣本的數量。不僅可以加速訓練收斂,還可以提高召回率,nice work。
Cascade R-CNN
論文標題:Cascade R-CNN: Delving into High Quality Object Detection
核心解讀:比賽的常客,說明精度的確很高。由于Faster R-CNN的RPN提出的proposals大部分質量不高,導致沒辦法直接使用高閾值的detector,Cascade R-CNN使用cascade回歸作為一種重采樣的機制,逐stage提高proposal的IoU值,從而使得前一個stage重新采樣過的proposals能夠適應下一個有更高閾值的stage。利用前一個階段的輸出進行下一階段的訓練,階段越往后使用更高的IoU閾值,產生更高質量的bbox。是一種refine的思想在里面。
DETR
論文標題:End-to-End Object Detection with Transformers
核心解讀:真是打敗你的不是同行,而是跨界。Transorfmer在NLP領域已經大殺四方,目前它的觸角悄悄伸到CV領域,可氣的是性能竟然不虛。DETR基于標準的Transorfmer結構,首先利用CNN骨架網絡提取到圖像的特征,和常見的目標檢測的做法一致。不過后端卻沒有了FPN和pixel-wise的head。替換而來的是Transorfmer的encoder和decoder結構,head也換成了無序boxes的set預測。當然什么anchor、nms統統見鬼去吧。一經提出就引起了軒然大波,在很快的將來,會雨后春筍斑蓬勃發展的,例如后續發力版本Ddformable DETR。我覺得,不過還需要時間的考驗。
GAN
論文標題:Generative Adversarial Nets
圖侵刪核心解讀:祖師爺級別,腦洞大開的典范。活生生打開了一個領域,也是目前AI最驚艷到人類的一個領域。思想非常簡單:既然無法評價生成的圖片質量,干脆交給網絡來做吧。GAN的主要結構包括一個生成器G(Generator)和一個判別器D(Discriminator)。生成器負責生成圖片,判別器負責判別生成圖片的真假,二者交替訓練,互利共生。足以以假亂真。
CGAN
論文標題:Conditional Generative Adversarial Networks
核心解讀:GAN能夠通過訓練學習到數據分布生成新的樣本,其輸入數據來源隨機噪聲信號,是無意義且不可控的,因此生成的圖像也是隨機的,不能控制生成圖像類別。如果真的要使用的話,還需要人工或者額外的網絡來判定類別。本文將類別編碼結合噪聲信號共同輸入網絡,類別編碼控制生成圖像的類別,噪聲信號保證生成圖像的多樣性。類別標簽可以和噪聲信號組合作為隱空間表示。同樣判別器也需要將類別標簽和圖像數據進行拼接作為判別器輸入。
DCGAN
論文標題:Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks
核心解讀:DCGAN將CNN與GAN結合的開山之作,因為原始GAN是利用FC實現的。DCGAN的出現極大的推動了GAN的蓬勃發展。其主要特點是:去除了FC層,使用了BN操作和Relu等CNN通用技術。利用不同stride的卷積代替pooling層等等。
pix2pix
論文標題:Image-to-Image Translation with Conditional Adversarial Networks
核心解讀:本文是用cGAN思想做圖像翻譯的鼻祖。所謂圖像翻譯,指從一副圖像轉換到另一副圖像,例如手繪和真實圖。本文提出了一個統一的框架解決了圖像翻譯問題。當然直接利用CNN生成器(例如U-Net)去做圖像翻譯也可以,只是比較粗暴,并且生成的圖像質量比較模糊,效果不好。于是pix2pix增加了GAN的對抗損失,用以提升生成的質量,結果效果顯著。后續還有進階版本pix2pixHD的出現,效果可謂又上一個臺階。視頻轉換有vid2vid可用。
CycleGAN
論文標題:Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks
核心解讀:CycleGAN的推出將圖像風格轉換推向了新的高度。簡單來說就是能把蘋果變為橘子,把馬變為斑馬,把夏天變為冬天等等。它解決的是非配對的域轉換。上文說了pix2pix雖然驚艷,但是存在必須依賴配對樣本的缺點。CycleGAN利用循環一致loss解決該問題。說句體外話,真正在使用的時候,能配對盡量配對,可以顯著提高生成的圖片的質量和訓練效率。
W-GAN
論文標題:
上篇:Towards Principled Methods For Training Generative Adversarial Networks
下篇:Wasserstein GAN
核心解讀:本文將GAN理論研究推向新的高度。GAN自提出依賴就存在著訓練困難、生成器和判別器的loss不可信賴、生成樣本缺乏多樣性等問題。本文提出一些實用且簡單的trick,并推出Wasserstein距離,又叫Earth-Mover(EM)距離。由于它相對KL散度與JS散度具有優越的平滑特性,理論上可以解決梯度消失問題。另外,本文的理論非常扎實,在業內廣受好評,非常值得一讀。
Focalloss
論文標題:Focal Loss for Dense Object Detection
核心解讀:focalloss已經驚為天人,RetinaNet又錦上添花。focalloss是解決分類問題中類別不平衡、難樣本挖掘的問題。根據預測來調整loss,有一種自適應的思想在里面。retinaNet是anchor-base中的經典作品,結構簡單通用,成為很多后繼工作的首選baseline。
IOUloss系列
論文標題:
iou:?UnitBox: An Advanced Object Detection Network
giou:Generalized Interp over Union: A Metric and A Loss for Bounding Box Regression
diou:?Distance-IoU Loss: Faster and Better Learning for Bounding Box Regression
ciou:?Enhancing Geometric Factors in Model Learning and Inference for Object Detection and Instance Segmentation
核心解讀:IOU是目標檢測最根本的指標,因此使用IOUloss理所當然是治標又治本的動作。進化過程如下:
IOU Loss:考慮檢測框和目標框重疊面積。問題是:1.兩個box不重合時,iou永遠是0,作為loss不合理。2. IoU無法精確的反映兩者的重合度大小,因為對尺度不敏感。
GIOU Loss:在IOU的基礎上,解決邊界框不重合時的問題。就是引入兩個box的外接矩形,將兩個box的外部區域作為加入到loss里面。
DIOU Loss:在GIOU的基礎上,考慮邊界框中心距離的信息。將目標與anchor之間的距離,重疊率以及尺度都考慮進去。
CIOU Loss:在DIOU的基礎上,考慮邊界框寬高比的尺度信息。也是目前最好的一種IOU loss。
diceloss
論文標題:V-Net: Fully Convolutional Neural Networks for Volumetric Medical Image Segmentation
核心解讀:旨在應對語義分割中正負樣本強烈不平衡的場景,并且可以起到加速收斂的功效,簡直是語義分割的神器。不過也存在訓練不穩定等問題,因此有一些改進操作,主要是結合ce loss等改進,比如: dice+ce loss,dice + focal loss等。
CTCloss
論文標題:Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neural Networks
核心解讀:解決訓練時序列不對齊的問題,在文本識別和語言識別領域中,能夠比較靈活地計算損失,進行梯度下降。例如在CV領域的OCR任務中幾乎必備。本文應該是這個介紹的當中最難的一篇,不從事相關專業的可以不去深究,但是還是有必要了解它在做什么。
tf int8
論文標題:Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference
核心解讀:這是google發布的8bit的定點方案,幾乎又是祖師爺級別的論文。深度學習部署落地才是根本,撐起部署三件套的量化、剪枝、蒸餾三竿大旗中最高的一竿。模型部署的時候,你可以沒有剪枝和蒸餾,但是不可以不用量化(土豪用戶忽略)。不管是TensorFlow的方案,還是pytorch的方案,或者是GPU端扛把子的tensorrt,其后端精髓都來源于此。
network-slimming
論文標題:Learning Efficient Convolutional Networks through Network Slimming
核心解讀:CNN網絡部署有三個難題:模型大小、運行時間和占用內存、計算量。論文利用BN中的gamma作為通道的縮放因子,因為gamma是直接作用在特征圖上的,值越小,說明該通道越不重要,可以剔除壓縮模型。為了獲取稀疏的gamma分布,便于裁剪。論文將L1正則化增加到gamma上。本文提出的方法簡單,對網絡結構沒有改動,效果顯著。因此成為了很多剪枝任務的首選。
KD
論文標題:Distilling the Knowledge in a Neural Network
插圖:APPRENTICE: USING KNOWLEDGE DISTILLATIONTECHNIQUES TO IMPROVE LOW-PRECISION NETWORK ACCURACY核心解讀:知識蒸餾的開山之作。我們可以先訓練好一個teacher網絡,然后將teacher的網絡的輸出結果作為student網絡的目標,訓練student網絡,使得student網絡的結果接近為了傳遞給student網絡平滑的概率標簽,也就是不能置信度太高,太接近onehot。文章提出了softmax-T。實驗證明是可以有效提高小模型的泛化能力。
CAM
論文標題:Learning Deep Features for Discriminative Localizatiion
核心解讀:特征可視化是可解釋研究的一個重要分支。有助于理解和分析神經網絡的工作原理及決策過程,引導網絡更好的學習,利用CAM作為原始的種子,進行弱監督語義分割或弱監督定位。本文是利用GAP進行的,這個概念來自network in network,利用全局平均池化獲取特征向量,再和輸出層進行全連接。GAP直接將特征層尺寸轉化成,既每一層的特征圖里面的所有像素點值求平均獲取對應特征向量值作為GAP輸出。GAP后端接的是FC,每一個權重可以看作對應特征圖層的重要程度,加權求和就獲取了我們的CAM。
Grad-CAM
論文標題:Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization
核心解讀: CAM的局限性就是網絡架構里必須有GAP層,但并不是所有模型都配GAP層的。而本文就是為克服該缺陷提出的,其基本思路是目標特征圖的融合權重可以表達為梯度。Grad-CAM可適用非GAP連接的網絡結構;CAM只能提取最后一層特征圖的熱力圖,而gard-CAM可以提取任意一層;
Soft-NMS
論文標題:Improving Object Detection With One Line of Code
核心解讀:NMS算法中的最大問題就是它將相鄰檢測框的分數均強制歸零(即大于閾值的重疊部分), soft-NMS在執行過程中不是簡單的對IoU大于閾值的檢測框刪除,而是降低得分。算法流程同NMS相同,但是對原置信度得分使用函數運算,目標是降低置信度得分.
CRNN
論文標題:An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition
核心解讀:文本識別經典做法,也是主流做法,簡單有效。主要用于端到端地對不定長的文本序列進行識別,不用對單個文字進行切割,而是將文本識別轉化為時序依賴的序列學習問題,就是基于圖像的序列識別。使用標準的CNN網絡提取文本圖像的特征,再利用LSTM將特征向量進行融合以提取字符序列的上下文特征,然后得到每列特征的概率分布,最后通過解碼得到文本序列。
DBNet
論文標題:Real-time Scene Text Detection with Differentiable Binarization
核心解讀:本文的最大創新點將可微二值化應用到基于分割的文本檢測中。一般分割網絡最終的二值化都是使用的固定閾值。本文對每一個像素點進行自適應二值化,二值化閾值由網絡學習得到,將二值化這一步驟加入到網絡里一起訓練。DB(Differentiable Binarization),翻譯過來叫可微分二值化(因為標準二值化不可微分)。當然基于分割的文本檢測可以適應各種形狀,例如水平、多個方向、彎曲的文本等等。
后記
這僅僅是一份入門指南,指引你進入深度學習的海洋。經典之所以稱之為經典,一定是每一次閱讀都有新的發現,所以強烈建議大家去讀原文。共勉!
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載機器學習的數學基礎專輯 獲取本站知識星球優惠券,復制鏈接直接打開: https://t.zsxq.com/qFiUFMV 本站qq群704220115。加入微信群請掃碼:總結
以上是生活随笔為你收集整理的【深度学习】煮酒论英雄:深度学习CV领域最瞩目的top成果总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【学术相关】大学老师的职业前景究竟怎么样
- 下一篇: 【算法基础】数据结构导论第六章-查找.p