在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一個簡單且高效的目標檢測算法,該算法降低了訓練門檻

新機器視覺 ? 來源:知乎 ? 作者:David ? 2020-09-24 12:36 ? 次閱讀

摘要:

隨著深度學習的發展,目前已經出現了很多算法(或者訓練技巧,tricks)來提升神經網絡的準確率。在實際測試中評價一個算法的好壞優劣主要看兩點,一是能否在大規模的數據集中起作用(work),二是是否有理論依據。一些算法僅能在某些特定的模型上或者某類特定的問題上運行,亦或是適用于一些小規模的數據集。然而,還有一些算法,例如batch normalization(BN)或者殘差連接(residual-connections)已經被用在了不同的模型,任務以及不同的數據集中,已經被充分的證明了這些算法的普適性,是一個general的算法。我們假設這樣的general(or universal)的算法包括Weighted-residual-connection(WRC),cross-stage-partial-connections(SCP),cross mini-batch Normalization(CmBN),self-adversarial-training(SAT)以及mish-activation。此外,我們還加了一些其余的tricks,包括Mosaic data augmentation,DropBlock regularization,CIoU loss,設計了一個YOLO-V4,并且在MS coco數據集中取得了新的state-of-the-art的結果:在Tesla V100顯卡能達到43.5% AP(65.7% AP)的精度,且達到~65FPS的速度。目前代碼已經開源:

Introduction

Yolo-V4的主要目的在于設計一個能夠應用于實際工作環境中的快速目標檢測系統,且能夠被并行優化,并沒有很刻意的去追求理論上的低計算量(BFLOP)。同時,Yolo-V4的作者希望算法能夠很輕易的被訓練,也就是說擁有一塊常規了GTX-2080ti或者Titan-XP GPU就能夠訓練Yolo-V4, 同時能夠得到一個較好的結果(Yolo-V4 結果如上圖)。整個introduction可以總結為以下幾點:

研究設計了一個簡單且高效的目標檢測算法,該算法降低了訓練門檻,使得普通人員在擁有一塊1080TI或者2080TI的情況下就能夠訓練一個super fast and accurate 的目標檢測器

在訓練過程中,驗證了最新的Bag-of-Freebies和Bag-of-Specials對Yolo-V4的影響

簡化以及優化了一些最新提出的算法,包括(CBN,PAN,SAM),從而使Yolo-V4能夠在一塊GPU上就可以訓練起來。

Related work

首先解釋一下相關的名詞:

Input:算法的輸入,包括整個圖像,一個patch,或者是image pyramid

Backbone:可以理解為是提取圖像特征的部分,由于圖像中的淺層特征(low-level)是比較類似的,例如提取邊緣,顏色,紋理這些。因此這部分可以很好的借鑒一些設計好并且已經訓練好的網絡,例如(VGG16,19,ResNet-50, ResNeXt-101, Darknet53), 同時還有一些輕量級的backbone(MobilenetV1,2,3 ShuffleNet1,2)。

Neck:這部分我的理解是特征增強模塊,前面的backbone已經提取到了一些相關的淺層特征,由這部分對backbone提取到的淺層特征(low-level feature)進行加工,增強,從而使得模型學到的特征是我想要的特征。這部分典型的有(SPP,ASPP in deeplabV3+,RFB,SAM),還有一些(FPN, PAN, NAS-FPN, BiFPN, ASFF, SFAM)。

Head:檢測頭。這部分就到了算法最關鍵的部分,就是來輸出你想要的結果,例如想得到一個heatmap,(如在centernet中),那就增加一些反卷積層來一層一層反卷積回去。如果想直接得到bbox,那就可以接conv來輸出結果,例如Yolo,ssd這些。亦或是想輸出多任務(mask-RCNN)那就輸出三個head:classification,regression,segmentation(就是mask那部分)。

因此,一個檢測算法可以理解為:

Object Detection = Backbone + Neck + Head

2.1. Bag of freebies

什么叫Bag of freebies?字面上的意思就是免費贈品。在目標檢測中是指:用一些比較有用的訓練技巧來訓練模型,從而使得模型取得更好的準確率但是不增加模型的復雜度,也就不增加推理(inference)是的計算量(cost)。在目標檢測中,提到bag of freebies,首先會想到的 就是Data augmentation。

2.1.1 : Data augmentation 的目的在于增加訓練樣本的多樣性,使得檢測模型具有高的魯棒性。常見的不能再常見的數據增強方式包括兩個方面:幾何增強以及色彩增強。

幾何增強包括:隨機翻轉(水平翻轉較多,垂直翻轉較少),隨機裁剪(crop),拉伸,以及旋轉。

色彩增強包括:對比度增強,亮度增強,以及較為關鍵的HSV空間增強。

上述說的色彩以及幾何增強都是pixel-wise 的調整。此外還有一些數據增強方法被用來解決目標遮擋及不足的問題。

在圖像中隨機裁剪矩形區域,并用0來填充(random erase和CutOut算法)

隨機裁剪多個矩形區域(hide-and-seek, grid mask)

上述算法是在圖像中裁剪矩形區域并填充0,那么算法在heatmap上裁剪并填充的叫做(DropOut,DropConnect, DropBlock)

此外還有一個重要的data augmentation算法叫做MIX-UP。Mix-up在分類任務中,將兩個圖像按照不同的比例相加,例如A*0.1+B*0.9=C,那么C的label就是[0.1A, 0.9B]。在目標檢測中的做法就是將一些框相加,這些label中就多了一些不同置信度的框。

還有一類是style-transfer GAN做數據增強,例如在做街景分割和目標檢測的時候,將GTA-5的數據做一個style-transfer,擴充一些數據集。不過更多的是用在了Domain Adaptation上。

2.1.2 : 不同于上述說的data augmentation,第二類方法是要解決數據不均衡問題(imbalance problems in object detection),數據不均衡問題在目標檢測中是一個特別難的問題,Yolo-V4中沒有細說,但是最近的一篇PAMI綜述論文,用了30幾頁詳細介紹了這個問題,論文可以見我專欄的第一篇文章。下面我簡單說一下:數據不均衡包括了兩種一種是訓練的背景和我要識別的物體之間的不均衡,例如在two-stage的方法中,首先在RPN階段會生成了很多個ROI,這里面有太多的背景了,有用的框會很少。還有一類不均衡是類別之間的不均衡,例如在COCO數據集中一些常見的物體例如人就會很多,不常見的就會比較少,這樣類別之間還有不平衡,這就涉及到另外一個問題了,叫做長尾分布(long-tailed Data),也是比較棘手的問題。這里面比較經典的算法就是在two-stage 中使用hard negative example mining or online head example mining (OHEM)。還有一個比較經典的算法就是Focal-loss,來處理數據不均衡的問題。還有一個trick就是關于One-hot編碼之后label沒有關聯,針對這個問題進行label-smooth。

2.1.3: 第三個bag of freebies就是在loss function上進行改動,之前常用的計算bbox的loss 使用MSE,現在改為了計算IOU之間的loss,還有一個叫做GIoU loss。這里面有一個比較經典的算法就是在Mask-RCNN上改動的MASK SCoring RCNN中,這部分的邏輯是這樣的:在選擇ROI時,如果按照每個ROI的score來排序篩選ROI,會出現一個問題就是,置信度高的ROI并不一定BBOX的位置就準,后來作者嘗試了使用IoU來篩選ROI,發現效果要好。

2.2. Bag of specials

什么叫做bag of specials:就是指一些plugin modules(例如特征增強模型,或者一些后處理),這部分增加的計算量(cost)很少,但是能有效地增加物體檢測的準確率,我們將這部分稱之為Bag of specials。這部分插件模塊能夠增強網絡模型的一些屬性,例如增大感受域(ASFF,ASPP,RFB這些模塊),引入注意力機制(有兩種一種是spatial attention,另外一種是channel attention),增加特征集成能力(FPN,ASFF,BiFPN)。后處理算法是指用一些算法來篩選模型預測出來的結果

2.2.1 增大感受域

SPP:He提出了一個比較經典的算法,當時解決了一個問題就是我在測試的時候,輸入尺寸可以與訓練的時候 不一樣。但是當網絡中有FC的時候,尺寸必須是固定的,這時候,SPP作用就體現出來了,按照比例劃分pooling,最后輸出的結果就是一致的了。

ASPP:我記得是用在了DeepLabV3系列中,與SPP不同前面加了Atrous or dilated ,在Pooling中加入了dilated ratio。

RFB:就是說是在同一個featuremap下引入不同dilated ration的空洞卷積,這樣提取到了不同感受野的特征,最后進行融合。

2.2.2 引入注意力機制

Channel Attention:最經典的就是SEnet(Squeeze-and-Excitation),這個算法一開始獲得了imagenet分類任務中的冠軍,他的原理是這樣的,在featuremap層中同時引入一個1X1XC的weights,這樣對每個channel上的特征加入不同的權重,這樣提高特征學習能力,注意:SE module是在channel 這個維度上進行加入權重。后來又有一篇CVPR用SE module做了分割任務,從側面證明了SE module很好用。

Spatial Attention Module:從字面意思上來理解,就是在HW維度上加入attention,上述是在Channel維度上加入Attention。

Channel+Spatial:一個featuremap的維度:NCHW,N:batch size,C:channel,H:height,W:weight。Channel attention 和spatial attention 是從兩個不同的方法對feature進行增強,接著又有一篇paper對二者進行融合,channel attention+spatial attention

2.2.3 特征融合or特征集成

Skip connection:用在encoder-decoder中比較多,例如最經典的Unet,融入了low-level和high-level的信息,在目標檢測中主要用在了類似于pose這一類的檢測任務中,例如DLA,Hourglass,以及最近的CenterNet

hyper-column:最經典的就要屬于InceptionV1-4結構了,使用不同的kernel-size的convolution來集成特征。

FPN,ASFF,BiFPN:在我看來都屬于一類,屬于將不同stage下不同scale的特征進行融合,只是連接融合的方式不一樣,FPN是最經典的,efficientdet中的BiFPN連接的最密集。

2.2.4 激活函數

一個好的激活函數能夠使得梯度傳播的更高效,并且不會占用額外的計算資源。常見的激活函數有以下:(由于我對激活函數沒有研究過,所以這邊就不畫蛇添足了,直接把論文中的摘錄下來)

ReLU

LRelu, PReLU, SELU,ReLu6, Swish, hard-Swish Mish

2.2.5 后處理

經典的后處理包含了NMS,soft NMS,DIoU NMS

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 神經網絡
    +關注

    關注

    42

    文章

    4777

    瀏覽量

    100976
  • gpu
    gpu
    +關注

    關注

    28

    文章

    4762

    瀏覽量

    129164
  • 算法
    +關注

    關注

    23

    文章

    4625

    瀏覽量

    93132

原文標題:YOLO-V4解讀:速度與精度的完美結合[已開源]

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    廣和通推出多功能AI紅外相機解決方案

    和通自主研發的目標檢測算法,針對野外偏遠地區目標檢測面臨的極端光線條件、復雜環境背景、目標尺寸過小及遮擋等挑戰,提供了
    的頭像 發表于 01-15 17:51 ?411次閱讀

    廣和通推出多功能AI紅外相機解決方案,賦能多領域AI發展

    檢測 該解決方案內置廣和通目標檢測算法,可高效解決野外偏遠地區目標檢測存在的極端光線、環境背景
    的頭像 發表于 01-15 15:36 ?90次閱讀
    廣和通推出多功能AI紅外相機解決方案,賦能多領域AI發展

    采用華為云 Flexus 云服務器 X 實例部署 YOLOv3 算法完成目標檢測

    、前言 1.1 開發需求 這篇文章講解:?采用華為云最新推出的 Flexus 云服務器 X 實例部署 YOLOv3 算法,完成圖像分析、目標檢測。 隨著計算機視覺技術的飛速發展,深度
    的頭像 發表于 01-02 12:00 ?94次閱讀
    采用華為云 Flexus 云服務器 X 實例部署 YOLOv3 <b class='flag-5'>算法</b>完成<b class='flag-5'>目標</b><b class='flag-5'>檢測</b>

    AI模型部署邊緣設備的奇妙之旅:目標檢測模型

    廣泛的應用,然而,在移動端工業領域的實際應用中,對目標檢測算法提出了更為苛刻的要求:需要實現高速度、高精度、小體積、易部署等特性。為應對這挑戰,百度于2021年末發布了篇關于移動端
    發表于 12-19 14:33

    如何制定套優質的工業視覺檢測算法方案?

    很難與當下主流的AI平臺工具配型,或者是通過單一算法模型進行訓練,通常情況下,工業視覺檢測項目面臨著系列獨特的難點與挑戰。比如:算法實現難
    的頭像 發表于 11-14 01:05 ?738次閱讀
    如何制定<b class='flag-5'>一</b>套優質的工業視覺<b class='flag-5'>檢測算法</b>方案?

    在樹莓派上部署YOLOv5進行動物目標檢測的完整流程

    目標檢測在計算機視覺領域中具有重要意義。YOLOv5(You Only Look One-level)是目標檢測算法中的種代表性方法,以其
    的頭像 發表于 11-11 10:38 ?1336次閱讀
    在樹莓派上部署YOLOv5進行動物<b class='flag-5'>目標</b><b class='flag-5'>檢測</b>的完整流程

    aic3254有沒有降低環境噪聲的算法

    請問aic3254有沒有降低環境噪聲的算法?或者有哪些算法的組合可以降低環境噪音?
    發表于 10-24 08:25

    旗晟機器人環境檢測算法有哪些?

    硬件支撐,更離不開強大的算法庫作為軟件核心,二者相輔相成,缺不可。今天就來了解旗晟機器人環境檢測算法。 1、設施異常監測 通過集成高精度傳感器與智能圖像識別技術。它不僅能檢測A字梯是
    的頭像 發表于 07-19 17:54 ?555次閱讀
    旗晟機器人環境<b class='flag-5'>檢測算法</b>有哪些?

    慧視小目標識別算法 解決目標檢測中的老大難問題

    隨著深度學習和人工智能技術的興起與技術成熟,大批如FasterR-CNN、RetinaNet、YOLO等可以在工業界使用的目標檢測算法已逐步成熟并進入實際應用,大多數場景下的目標
    的頭像 發表于 07-17 08:29 ?544次閱讀
    慧視小<b class='flag-5'>目標</b>識別<b class='flag-5'>算法</b>   解決<b class='flag-5'>目標</b><b class='flag-5'>檢測</b>中的老大難問題

    opencv圖像識別有什么算法

    圖像識別算法: 邊緣檢測 :邊緣檢測是圖像識別中的基本步驟之,用于識別圖像中的邊緣。常見的邊緣檢測算法有Canny邊緣
    的頭像 發表于 07-16 10:40 ?1149次閱讀

    口罩佩戴檢測算法

    口罩佩戴檢測算法基于YOLOv5在圖像識別檢測領域的優異性能,本文研究基于基于YOLOv5的口罩佩自動戴檢測方法。首先從網絡和真實生活中中尋找并采集不同場景人群口罩佩戴的圖片約500張并自建數據集
    的頭像 發表于 07-01 20:20 ?344次閱讀
    口罩佩戴<b class='flag-5'>檢測算法</b>

    人員跌倒識別檢測算法

    人員跌倒識別檢測算法是基于視頻的檢測方法,通過對目標人體監測,當目標人體出現突然倒地行為時,自動監測并觸發報警。人員跌倒識別檢測算法基于計算
    的頭像 發表于 06-30 11:47 ?489次閱讀
    人員跌倒識別<b class='flag-5'>檢測算法</b>

    安全帽佩戴檢測算法

    安全帽佩戴監控是鐵路工程施工人員安全管理中的重點和難點,它對檢測算法的準確 率與檢測速度都有較高的要求。本文提出種基于神經網絡架構搜索的安全帽佩戴檢測算法 NAS-YOLO。該神經網
    的頭像 發表于 06-26 22:22 ?427次閱讀
    安全帽佩戴<b class='flag-5'>檢測算法</b>

    K折交叉驗證算法訓練

    K折交叉驗證算法訓練
    的頭像 發表于 05-15 09:26 ?601次閱讀

    OpenVINO? C# API部署YOLOv9目標檢測和實例分割模型

    YOLOv9模型是YOLO系列實時目標檢測算法中的最新版本,代表著該系列在準確性、速度和效率方面的又次重大飛躍。
    的頭像 發表于 04-03 17:35 ?937次閱讀
    OpenVINO? C# API部署YOLOv9<b class='flag-5'>目標</b><b class='flag-5'>檢測</b>和實例分割模型
    主站蜘蛛池模板: 免费国产网站| you ji z z日本人在线观看| 网女色| 一级特黄aaa大片| 男女爱爱免费视频| 四虎影院在线免费观看| 欧洲不卡一卡2卡三卡4卡网站| 国产免费的野战视频| 午夜视频在线观看一区| 黄色18网站| 毛片爱做的片| 欧美一区二区三区视频| 五月婷婷中文字幕| 最新天堂网| 欧美呜巴又大粗又长| 成人国产三级精品| 男男浪荡双性受hplay| 中文字幕一区二区三区精彩视频| 波多野结衣一级毛片| 91免费网站在线看入口黄| 亚洲色网址| 东北老女人啪啪对白| 国产亚洲精品久久久久久久软件 | 午夜免费看片| 日本一区二区高清免费不卡| 特级一级全黄毛片免费| 农村女人的一级毛片| xxxxbbbb欧美| bt天堂电影| freesex欧美| 天天草狠狠干| 涩涩涩综合在线亚洲第一| 天天艹天天操| 午夜 dy888理论久久| 99热久久精品最新| 亚洲天天更新| 性生i活一级一片| 视频在线色| 色第一页| 人人看人人干| 免费播放黄色|