久久久精品一区ed2k-女人被男人叉到高潮的视频-中文字幕乱码一区久久麻豆樱花-俄罗斯熟妇真实视频

目標(biāo)檢測算法——YOLOV7——詳解-創(chuàng)新互聯(lián)

1、主要貢獻(xiàn)

?主要是現(xiàn)有的一些trick的集合以及模塊重參化和動態(tài)標(biāo)簽分配策略,最終在 5 FPS 到 160 FPS 范圍內(nèi)的速度和準(zhǔn)確度都超過了所有已知的目標(biāo)檢測器。

創(chuàng)新互聯(lián)公司服務(wù)項目包括儀征網(wǎng)站建設(shè)、儀征網(wǎng)站制作、儀征網(wǎng)頁制作以及儀征網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,儀征網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到儀征省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

?當(dāng)前目標(biāo)檢測主要的優(yōu)化方向:更快更強(qiáng)的網(wǎng)絡(luò)架構(gòu);更有效的特征集成方法;更準(zhǔn)確的檢測方法;更精確的損失函數(shù);更有效的標(biāo)簽分配方法;更有效的訓(xùn)練方法。

2、主要思路

?按照論文,目前模型精度和推理性能比較均衡的是yolov7 模型(對應(yīng)的開源git版本為0.1版)。根據(jù)源碼+導(dǎo)出的onnx文件+“張大刀”等的網(wǎng)絡(luò)圖(修改了其中目前我認(rèn)為的一些bug,增加一些細(xì)節(jié))。重新繪制了yoloV7 0.1版本的非常詳盡網(wǎng)絡(luò)結(jié)構(gòu)。注意:

?1)其中的特征圖結(jié)果維度注釋是按照箭頭的流方向,不是固定的上下方向。

?2)輸入輸出僅僅是指當(dāng)前模塊的輸入輸出,整體需要根據(jù)流方向累乘計算最終的結(jié)果。

?3)該模型版本沒有輔助訓(xùn)練頭。

? 整體上和YOLOV5是相似的,主要是網(wǎng)絡(luò)結(jié)構(gòu)的內(nèi)部組件的更換(涉及一些新的sota的設(shè)計思想)、輔助訓(xùn)練頭、標(biāo)簽分配思想等。整體預(yù)處理、loss等可參考yolov5:?目標(biāo)檢測算法——YOLOV5_TigerZ*的博客-博客_目標(biāo)檢測yolov5

?

3、具體細(xì)節(jié) ?? ?1)input

?整體復(fù)用YOLOV5的預(yù)處理方式和相關(guān)源碼,唯一需要注意的是,官方主要是在640*640和1280*1280這樣的相對較大的圖片上進(jìn)行的訓(xùn)練和測試。

?具體參考我的另一篇YOLOV5博客中的 “具體細(xì)節(jié)” ->‘input’ 章節(jié)即可。目標(biāo)檢測算法——YOLOV5_TigerZ*的博客-博客_目標(biāo)檢測yolov5

?2)backbone

?主要是使用ELAN(該版本模型并沒有使用論文里提到的最復(fù)雜的E-ELAN結(jié)構(gòu)) 和 MP 結(jié)構(gòu)。該版本模型的激活函數(shù)使用的是Silu。

? 詳細(xì)可以參考源碼的?cfg/training/yolov7.yaml 文件 +?models/yolo.py 文件 + 使用?export.py?導(dǎo)出onnx 結(jié)構(gòu)使用 netron等軟件來梳理。

?a.ELAN結(jié)構(gòu)

?通過控制最短最長的梯度路徑,更深的網(wǎng)絡(luò)可以有效地學(xué)習(xí)和收斂。作者提出ELAN結(jié)構(gòu)。基于ELAN設(shè)計的E-ELAN 用expand、shuffle、merge cardinality來實現(xiàn)在不破壞原有梯度路徑的情況下不斷增強(qiáng)網(wǎng)絡(luò)學(xué)習(xí)能力的能力。(PS:該版本模型以及E6E網(wǎng)友反饋均未實現(xiàn)E-ELAN),論文中相關(guān)的圖如下,其中的cross stage connection 其實就是1*1卷積:

? 簡化如下:

?

?

b.MP 結(jié)構(gòu)

?個人認(rèn)為這是一個相對雞賊的結(jié)構(gòu),之前下采樣我們通常最開始使用maxpooling,之后大家又都選用stride = 2的3*3卷積。這里作者充分發(fā)揮:“小孩子才做選擇,大人都要”的原則,同時使用了max pooling 和 stride=2的conv。 ?需要注意backbone中的MP前后通道數(shù)是不變的。

?

3)neck & head

?檢測頭整體結(jié)構(gòu)和YOLOV5類似,仍然是anchor based 結(jié)構(gòu),仍然沒有使用YOLOX 和YOLOV6 的解耦頭(分類和檢測)思路,這一點目前不太理解,后續(xù)有精力可以魔改一下。主要是使用了:

? *SPPCSPC結(jié)構(gòu)

? *ELAN-W(我自己命名非官方名字,因為基本上和ELAN類似,但是又不是論文中的E-ELAN)

? *MP 結(jié)構(gòu)(和backbone參數(shù)不同)

? *比較流行的重參數(shù)化結(jié)構(gòu)Rep結(jié)構(gòu)

? 以上參見本篇博客中的“主要思路”中的整體圖,里面就有可視化的這些部件,可以非常直觀的理解這些結(jié)構(gòu)。詳細(xì)可以參考源碼的?cfg/training/yolov7.yaml 文件 +?models/yolo.py 文件 + 使用?export.py?導(dǎo)出onnx 結(jié)構(gòu)使用 netron等軟件來梳理。

4)loss function

??主要分帶和不帶輔助訓(xùn)練頭兩種,對應(yīng)的訓(xùn)練腳本是train.py 和 train_aux.py。

?不帶輔助訓(xùn)練頭(分損失函數(shù)和匹配策略兩部分討論)。

?損失函數(shù)

?整體和YOLOV5 保持一致,分為坐標(biāo)損失、目標(biāo)置信度損失(GT就是訓(xùn)練階段的普通iou)和分類損失三部分。其中目標(biāo)置信度損失和分類損失采用BCEWithLogitsLoss(帶log的二值交叉熵?fù)p失),坐標(biāo)損失采用CIoU損失。詳細(xì)參見utils/loss.py 里面的 ComputeLossOTA 函數(shù) 配合 配置文件里的各部分的權(quán)重設(shè)置。

? 匹配策略

? 主要是參考了YOLOV5 和YOLOV6使用的當(dāng)下比較火的simOTA.

? S1.訓(xùn)練前,會基于訓(xùn)練集中g(shù)t框,通過k-means聚類算法,先驗獲得9個從小到大排列的anchor框。(可選)

? S2.將每個gt與9個anchor匹配:Yolov5為分別計算它與9種anchor的寬與寬的比值(較大的寬除以較小的寬,比值大于1,下面的高同樣操作)、高與高的比值,在寬比值、高比值這2個比值中,取大的一個比值,若這個比值小于設(shè)定的比值閾值,這個anchor的預(yù)測框就被稱為正樣本。一個gt可能與幾個anchor均能匹配上(此時大9個)。所以一個gt可能在不同的網(wǎng)絡(luò)層上做預(yù)測訓(xùn)練,大大增加了正樣本的數(shù)量,當(dāng)然也會出現(xiàn)gt與所有anchor都匹配不上的情況,這樣gt就會被當(dāng)成背景,不參與訓(xùn)練,說明anchor框尺寸設(shè)計的不好。

? S3.擴(kuò)充正樣本。根據(jù)gt框的中心位置,將最近的2個鄰域網(wǎng)格也作為預(yù)測網(wǎng)格,也即一個groundtruth框可以由3個網(wǎng)格來預(yù)測;可以發(fā)現(xiàn)粗略估計正樣本數(shù)相比前yolo系列,增加了三倍(此時大27個匹配)。圖下圖淺黃色區(qū)域,其中實線是YOLO的真實網(wǎng)格,虛線是將一個網(wǎng)格四等分,如這個例子中,GT的中心在右下虛線網(wǎng)格,則擴(kuò)充右和下真實網(wǎng)格也作為正樣本。

? S4.獲取與當(dāng)前gt有top10大iou的prediction結(jié)果。將這top10 (5-15之間均可,并不敏感)iou進(jìn)行sum,就為當(dāng)前gt的k。k最小取1。

? S5.根據(jù)損失函數(shù)計算每個GT和候選anchor損失(前期會加大分類損失權(quán)重,后面減低分類損失權(quán)重,如1:5->1:3),并保留損失最小的前K個。

? S6.去掉同一個anchor被分配到多個GT的情況。

?

? 帶輔助訓(xùn)練頭(分損失函數(shù)和匹配策略兩部分討論)。

?論文中,將負(fù)責(zé)最終輸出的Head為lead Head,將用于輔助訓(xùn)練的Head稱為auxiliary Head。本博客不重點討論,原因是論文中后面的結(jié)構(gòu)實驗實現(xiàn)提升比較有限(0.3個點),具體可以看原文。

?

? 一些細(xì)節(jié):其loss函數(shù)和不帶輔助頭相同,加權(quán)系數(shù)不能過大(aux head loss 和lead head loss 按照0.25:1的比例),否則會導(dǎo)致lead head出來的結(jié)果精度變低。匹配策略和上面的不帶輔助頭(只有l(wèi)ead head)只有很少不同,其中輔助頭:

? *lead head中每個網(wǎng)格與gt如果匹配上,附加周邊兩個網(wǎng)格,而aux head附加4個網(wǎng)格(如上面導(dǎo)數(shù)第二幅圖,匹配到淺黃+橘黃共5個網(wǎng)格)。

? *lead head中將top10個樣本iou求和取整,而aux head中取top20。

??aux head更關(guān)注于recall,而lead head從aux head中精準(zhǔn)篩選出樣本。

? 需要注意依照yolov5中的中心點回歸方式,僅能將圖中紅色特征grid,預(yù)測在圖中紅色+藍(lán)色區(qū)域(實線組成的網(wǎng)格代表著特征圖grid,虛線代表著一個grid分成了4個象限),是根本無法將中心點預(yù)測到gt處(藍(lán)色點)!而該紅色特征grid在訓(xùn)練時是會作為正樣本的。在aux head中,模型也并沒有針對這種情況對回歸方式作出更改。所以其實在aux head中,即使被分配為正樣本的區(qū)域,經(jīng)過不斷的學(xué)習(xí),可能仍然無法完全擬合至效果特別好。

?

5)trics

概述:ELAN設(shè)計思想、MP降維組件、Rep結(jié)構(gòu)的思考、正負(fù)樣本匹配策略、輔助訓(xùn)練頭

6)inference

測試階段(非訓(xùn)練階段)過程

4、結(jié)果

參考連接

1、yolov7 網(wǎng)絡(luò)架構(gòu)深度解析_所向披靡的張大刀的博客-博客

2、https://d246810g2000.medium.com/%E6%9C%80%E6%96%B0%E7%9A%84%E7%89%A9%E4%BB%B6%E5%81%B5%E6%B8%AC%E7%8E%8B%E8%80%85-yolov7-%E4%BB%8B%E7%B4%B9-206c6adf2e69

3、【yolov7系列二】正負(fù)樣本分配策略_所向披靡的張大刀的博客-博客+

4、https://arxiv.org/pdf/2207.02696.pdf

5、深入淺出 Yolo 系列之 Yolov7 基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu)詳解 - 知乎

6、理解yolov7網(wǎng)絡(luò)結(jié)構(gòu)_athrunsunny的博客-博客

7、Yolov7算法卷土重來,精度速度超越所有Yolo算法,Yolov4作者全新力作!

8、深入淺出Yolov7之正負(fù)樣本分配策略

9、yolov7正負(fù)樣本分配詳解 - 知乎

10、極市開發(fā)者平臺-計算機(jī)視覺算法開發(fā)落地平臺

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

分享標(biāo)題:目標(biāo)檢測算法——YOLOV7——詳解-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://sd-ha.com/article22/dcepcc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、網(wǎng)站收錄網(wǎng)站制作、小程序開發(fā)、電子商務(wù)網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)