<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          基于yolov5的工業(yè)缺陷檢測(cè)方案

          共 413字,需瀏覽 1分鐘

           ·

          2021-01-19 18:33


          ↑↑↑關(guān)注后"星標(biāo)"Datawhale
          每日干貨?&?每月組隊(duì)學(xué)習(xí),不錯(cuò)過(guò)
          ?Datawhale干貨?
          作者:limzero,西安交通大學(xué),Datawhale原創(chuàng)作者

          比賽介紹

          工業(yè)缺陷檢測(cè)是當(dāng)前深度學(xué)習(xí)落地的熱門(mén)項(xiàng)目,其中瓷磚生產(chǎn)過(guò)程中的“質(zhì)量檢測(cè)環(huán)節(jié)”需要檢測(cè)出瓷磚表面的瑕疵,目前比較依賴(lài)于人工,效果和效率都層次不齊。

          最近天池上線(xiàn)的廣東工業(yè)賽事針對(duì)瓷磚表面瑕疵進(jìn)行智能檢測(cè),要求選手們相應(yīng)的算法,盡可能快與準(zhǔn)確的給出瓷磚疵點(diǎn)具體的位置和類(lèi)別,主要考察疵點(diǎn)的定位和分類(lèi)能力。

          在本篇文章中,主要為大家介紹選擇yolov5作為基線(xiàn)的方案,供大家參考。

          基于yolov5的方案

          線(xiàn)上結(jié)果:

          • 切成 640x640 滑動(dòng)窗口預(yù)測(cè),耗時(shí)<1.5 h, 平均一張圖<3s! 線(xiàn)上50.

          • 長(zhǎng)邊resize到6400預(yù)測(cè),平均一張圖耗時(shí):0.6 s. 線(xiàn)上55+

          大家們都在瘋狂卷mmdet,畢竟two-stage為王,但是如果沒(méi)有算力可以考慮下yolov5。而且考慮到速度和精度的均衡(復(fù)賽要求<3s),如果使用two-stage的單圖大尺度預(yù)測(cè),個(gè)人感覺(jué)上限有限,而且比賽最后都是拼細(xì)節(jié)。所以肯定會(huì)朝著切圖(特別是測(cè)試時(shí)切圖)的方向發(fā)展。如果two-stage妄圖切圖到小塊然后預(yù)測(cè),時(shí)間限制肯定會(huì)勸退大部分two-stage模型,這也是選擇yolov作為基線(xiàn)的原因!

          原始圖片尺度很大,目標(biāo)相對(duì)原圖尺度很小,這不利于模型學(xué)習(xí),所以無(wú)論是在線(xiàn)隨機(jī)crop還是離線(xiàn)crop制作訓(xùn)練集,都避免不了處理切圖的問(wèn)題。在線(xiàn)切圖可以參考mmdetection的官方實(shí)現(xiàn)RandomCrop

          離線(xiàn)切圖:和在線(xiàn)切圖一致,參考yolt切圖方式,只是要將切好的圖片和新標(biāo)注都保存起來(lái)。本文中訓(xùn)練yolov5使用的是離線(xiàn)切圖制作的voc格式數(shù)據(jù)集

          • 假設(shè)需要切圖的大小為:640x640

          • overlap比例:0.2

          • 則步長(zhǎng)為512

          • 從原圖左上角開(kāi)始切圖,切出來(lái)圖像的左上角記為x,y,

          • 那么可以容易想到y(tǒng)依次為:0,512,1024,....,5120.但接下來(lái)卻并非是5632,因?yàn)?632+640>6000,所以這里要對(duì)切圖的overlop做一個(gè)調(diào)整,最后一步的y=6000-640.(這是最關(guān)鍵的一點(diǎn)!!!)

          • 標(biāo)簽變化:切圖對(duì)應(yīng)的標(biāo)簽變化就是一個(gè)簡(jiǎn)單的加減(左上角坐標(biāo))幾何變化

          • 對(duì)于所有的原始數(shù)據(jù)集,切成640x640,再剔除純背景,大約會(huì)生成1.9w+的訓(xùn)練圖像

          • 預(yù)測(cè)的時(shí)候也是將圖片切成640x640.這樣一張圖片大約會(huì)變成150~200張小圖,而yolov5l的FPS在v100上大約為256. 所以可以保證在3s內(nèi)可以完成一張圖的預(yù)測(cè)。

          切圖后訓(xùn)練數(shù)據(jù)可視化:

          訓(xùn)練

          • yolov5l
          • 訓(xùn)練尺度:640x640
          • 30 epoch ; 0.1比例驗(yàn)證(訓(xùn)練未見(jiàn)過(guò)的圖片的切片) ,嚴(yán)格的驗(yàn)證還需要算上切出來(lái)的背景塊。
          • 線(xiàn)下:[email protected]: 60
          • 2卡2070s訓(xùn)練,訓(xùn)練時(shí)間<6hour。

          測(cè)試

          單卡:RTX 2070s

          • 1 切成 640x640 滑動(dòng)窗口預(yù)測(cè),耗時(shí)<1.5 h, 平均一張圖<3s! 線(xiàn)上50.(低于原圖預(yù)測(cè)的結(jié)果我是沒(méi)想到的,沒(méi)有NMS后處理?或者代碼寫(xiě)錯(cuò)了?或者滑窗就是不行?還是一些后處理細(xì)節(jié)沒(méi)考慮清楚?)

          • 2 長(zhǎng)邊resize到6400預(yù)測(cè),平均一張圖耗時(shí):0.6 s. 線(xiàn)上55+

          代碼運(yùn)行說(shuō)明:

          python convert_to_voc.py #先將原始數(shù)據(jù)轉(zhuǎn)為VOC格式的標(biāo)注
          python make_slice_voc.py #將上述圖片切為小圖,重新制作為voc.
          python convert_voc_to_v5txt.py #將voc標(biāo)注轉(zhuǎn)換為yolov5的官方格式.
          python make_yolov5_train_val.py #制作yolov5的train/val.

          總結(jié)

          • 雖然檢測(cè)比賽都是mmdet的天下,但是我相信在復(fù)賽有時(shí)間限制的情況下,加上這個(gè)賽題的特殊性,yolov5還是有比較強(qiáng)的競(jìng)爭(zhēng)力的,特別是比賽后期。
          • V5提升空間很大:(1)本baseline使用兩卡2070s小尺度單圖訓(xùn)練,本身具有局限性;(2)除了yolov5l還有更強(qiáng)的v5x可選; (3)預(yù)測(cè)部分很粗糙,沒(méi)有充分發(fā)揮yolov5速度快的特點(diǎn);(4)結(jié)果后處理可以進(jìn)一步探索
          • 關(guān)于切圖滑窗預(yù)測(cè), 如果處理好細(xì)節(jié),切圖預(yù)測(cè)理論上應(yīng)該是會(huì)好于原圖預(yù)測(cè)。特別是針對(duì)那些背景塊,需要特殊處理,不然會(huì)引入極多的FP,必然導(dǎo)致mAP降低。關(guān)于overlap的問(wèn)題,可以借鑒模型融合的方式,使用NMS或者WBF來(lái)對(duì)最后的重疊進(jìn)行一個(gè)再處理。
          • 關(guān)于單圖預(yù)測(cè):考慮推理速度尺度,中心裁剪推理,因?yàn)樗袌D都有灰邊背景,統(tǒng)計(jì)下這些背景的邊框范圍,進(jìn)行centerCrop預(yù)測(cè)結(jié)果應(yīng)該會(huì)更好。當(dāng)然有更簡(jiǎn)單的方式,以直接在推理結(jié)果上面進(jìn)行后處理。

          訓(xùn)練/驗(yàn)證可視化

          tensorboard

          比賽地址

          https://tianchi.aliyun.com/s/bc97f977ae47dcfa4b07c027cd28d907(復(fù)制粘貼或閱讀原文)

          “整理不易,點(diǎn)三連
          瀏覽 77
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  无码一区=区 | 日本综合在线观看 | 欧美干 | 蜜桃无码视频 | 中文字幕一区第一页 |