日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

YOLOV4知识点分析(一)

發布時間:2023/11/28 生活经验 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 YOLOV4知识点分析(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

YOLOV4知識點分析(一)

簡 介

yolov4論文:YOLOv4: Optimal Speed and
Accuracy of Object Detection

arxiv:https://arxiv.org/abs/2004.10934

github源碼:https://github.com/AlexeyAB/darknet

YOLOV4的發布,可以想象到大家的激動,但是論文其實是一個結合了大量前人研究技術,加以組合并進行適當創新的高水平論文,實現了速度和精度的完美平衡。很多yolov4的分析文章都會說其中應用了哪些技術?但是暫時沒有看到對其中用到的各種技術進行詳細分析的文章,本文的目的就是如此,希望通過YOLOV4提到的各種新技術進行分析,明白YOLOV4后面的功臣算法。

文中將前人的工作主要分為Bag of freebies和Bag

of specials,前者是指不會顯著影響模型測試速度和模型復雜度的技巧,主要就是數據增強操作,對應的Bag
of specials就是會稍微增加模型復雜度和速度的技巧,但是如果不大幅增加復雜度且精度有明顯提升,那也是不錯的技巧。本文按照論文講的順序進行分析。由于每篇論文其實內容非常多,主要是分析思想和一些核心細節。

本篇文章分析如下技術:random erasing、cutout、hide-and-seek、grid mask、Adversarial Erasing、mixup、cutmix、mosaic、Stylized-ImageNet、label smooth、dropout和dropblock。
  1. 數據增強相關-Random erasing data augmentation

論文名稱:Random
erasing data augmentation

論文地址:https://arxiv.org/pdf/1708.04896v2.pdf

github: https://github.com/zhunzhong07/Random-Erasing

隨機擦除增強,非常容易理解。作者提出的目的主要是模擬遮擋,從而提高模型泛化能力,這種操作其實非常make sense,因為把物體遮擋一部分后依然能夠分類正確,那么肯定會迫使網絡利用局部未遮擋的數據進行識別,加大了訓練難度,一定程度會提高泛化能力。其也可以被視為add noise的一種,并且與隨機裁剪、隨機水平翻轉具有一定的互補性,綜合應用他們,可以取得更好的模型表現,尤其是對噪聲和遮擋具有更好的魯棒性。具體操作就是:隨機選擇一個區域,然后采用隨機值進行覆蓋,模擬遮擋場景。

在細節上,可以通過參數控制擦除的面積比例和寬高比,如果隨機到指定數目還無法滿足設置條件,則強制返回。

一些可視化效果如下:

對于目標檢測,作者還實現了3種做法,如下圖所示(開源代碼,只實現了分類的隨機擦除)。

當然隨機擦除可以和其他數據增強聯合使用,如下所示。

torchvision已經實現了:

https://pytorch.org/docs/master/_modules/torchvision/transforms/transforms.html#RandomErasing

注意:torchvision的實現僅僅針對分類而言,如果想用于檢測,還需要自己改造。調用如下所示:

torchvision.transforms.RandomErasing(p=0.5, scale=(0.02, 0.33), ratio=(0.3, 3.3), value=0, inplace=False)

  1. 數據增強相關-Cutout

論文名稱:Improved Regularization of
Convolutional Neural Networks with Cutout

論文地址:https://arxiv.org/abs/1708.04552v2

github: https://github.com/uoguelph-mlrg/Cutout

出發點和隨機擦除一樣,也是模擬遮擋,目的是提高泛化能力,實現上比random erasing簡單,隨機選擇一個固定大小的正方形區域,然后采用全0填充就OK了,當然為了避免填充0值對訓練的影響,應該要對數據進行中心歸一化操作,norm到0。

本文和隨機擦除幾乎同時發表,難分高下(不同場景下誰好難說),區別在于在cutout中,擦除矩形區域存在一定概率不完全在原圖像中的。而在Random

Erasing中,擦除矩形區域一定在原圖像內。Cutout變相的實現了任意大小的擦除,以及保留更多重要區域。

需要注意的是作者發現cutout區域的大小比形狀重要,所以cutout只要是正方形就行,非常簡單。具體操作是利用固定大小的矩形對圖像進行遮擋,在矩形范圍內,所有的值都被設置為0,或者其他純色值。而且擦除矩形區域存在一定概率不完全在原圖像中的(文中設置為50%)論文中有一個細節可以看看:作者其實開發了一個早期做法,具體是:在訓練的每個epoch過程中,保存每張圖片對應的最大激活特征圖(以resnet為例,可以是layer4層特征圖),在下一個訓練回合,對每張圖片的最大激活圖進行上采樣到和原圖一樣大,然后使用閾值切分為二值圖,蓋在原圖上再輸入到cnn中進行訓練,有點自適應的意味。但是有個小疑問:訓練的時候不是有數據增強嗎?下一個回合再用前一次增強后的數據有啥用?我不太清楚作者的實現細節。如果是驗證模式下進行到是可以。

這種做法效果蠻好的,但是最后發現這種方法和隨機選一個區域遮擋效果差別不大,而且帶來了額外的計算量,得不償失,便舍去。就變成了現在的cutout了。

可能和任務有關吧,按照我的理解,早期做法非常make sense,效果居然和cutout一樣,比較奇怪。并且實際上考慮目標檢測和語義分割,應該還需要具體考慮,不能照搬實現。學習這類論文我覺得最重要的是思想,能不能推廣到不同領域上面?是否可以在訓練中自適應改變?是否可以結合特征圖聯合操作?

  1. 數據增強相關-Hide-and-Seek

論文名稱:Hide-and-Seek: A Data
Augmentation Technique for Weakly-Supervised Localization and Beyond

論文地址:https://arxiv.org/abs/1811.02545

github地址:https://github.com/kkanshul/Hide-and-Seek

可以認為是random earsing的推廣。核心思想就是去掉一些區域,使得其他區域也可以識別出物體,增加特征可判別能力。和大部分細粒度論文思想類型,如下所示:

數據增強僅僅用于訓練階段,測試還是整圖,不遮擋,如下所示。

做法是將圖片切分為sxs個網格,每個網格采用一定概率進行遮擋,可以模擬出隨機擦除和cutout效果。

至于隱藏值設置為何值,作者認為比較關鍵,因為可能會改變訓練數據的分布。如果暴力填黑,認為會出現訓練和測試數據分布不一致問題,可能不好,特別是對于第一層卷積而言。作者采用了一些理論計算,最后得到采用整個數據集的均值來填充造成的影響最小(如果采用均值,那么輸入網絡前,數據預處理減掉均值,那其實還是接近0)。
  1. 數據增強相關-GridMask Data Augmentation

論文名稱:GridMask Data
Augmentation

論文地址:https://arxiv.org/abs/2001.04086v2

本文可以認為是前面3篇文章的改進版本。本文的出發點是:刪除信息和保留信息之間要做一個平衡,而隨機擦除、cutout和hide-seek方法都可能會出現可判別區域全部刪除或者全部保留,引入噪聲,可能不好。如下所示:

要實現上述平衡,作者發現非常簡單,只需要結構化drop操作,例如均勻分布似的刪除正方形區域即可。并且可以通過密度和size參數控制,達到平衡。如下所示:

其包括4個超參,如下所示:

首先定義k,即圖像信息的保留比例,其中H和W分別是原圖的高和寬,M是保留下來的像素數,保留比例k如下,該參數k和上述的4個參數無直接關系,但是該參數間接定義了r:

d決定了一個dropped square的大小, 參數 x和 y的取值有一定隨機性.


其實看起來,就是兩個參數: r和d,r通過k計算而來,用于計算保留比例(核心參數),d用了控制每個塊的大小。d越大,每個黑色塊面積就越大,黑色塊的個數就越少,d越小,黑色塊越小,個數就越多。xy僅僅用于控制第一個黑色塊的偏移而已。

對于應用概率的選擇,可以采用固定值或者線性增加操作,作者表示線性增加會更好,例如首先選擇r = 0.6,然后隨著訓練epoch的增加,概率從0增加到0.8,達到240th epoch后固定,這種操作也是非常make sense,為了模擬更多場景,在應用于圖片前,還可以對mask進行旋轉。這種策略當然也可以應用于前3種數據增強策略上。  
  1. 數據增強相關-object
    Region Mining with Adversarial Erasin

論文地址:https://arxiv.org/pdf/1703.08448.pdf

本文在yolov4中僅僅是提了一下,不是重點,但是覺得思想不錯,所以還是寫一下。本文要解決的問題是使用分類做法來做分割任務(弱監督分割),思想比較有趣。如下所示:

通過迭代訓練的方式不斷挖掘不同的可判別區域,最終組合得到完整的分割結果。第t次訓練迭代(一次迭代就是指的一次完整的訓練過程),對于每張圖片都可以得到cam圖(類別激活圖),將cam圖二值化然后蓋在原圖上,進行下一次迭代訓練,每次迭代都是學習一個不同的可判別區域,迭代結束條件就是分類性能不行了,因為可判別區域全部被蓋住了(由于該參數其實很難設置,故實驗直接取3)。最后的分割結果就是多次迭代的cam圖疊加起來即可。

本文是cvpr2017的論文,放在現在來看,做法其實超級麻煩,現在而言我肯定直接采用細粒度方法,采用特征擦除技術,端到端訓練,學習出所有可判別區域。應該不會比這種做法效果差,但是在當時還是不錯的思想。但是其也提供了一種思路:是否可以采用分類預測出來的cam,結合弱監督做法,把cam的輸出也引入某種監督,在提升分類性能的同時,提升可判別學習能力。

總結

以上是生活随笔為你收集整理的YOLOV4知识点分析(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。