<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>

          Kaggle競(jìng)賽中使用YoloV5將物體檢測(cè)的性能翻倍的心路歷程

          共 2391字,需瀏覽 5分鐘

           ·

          2021-04-24 22:27


          作者:Mostafa Ibrahim

          編譯:ronghuaiyang

          來(lái)源:AI公園

          導(dǎo)讀

          作者在kaggle比賽中從建立基線(xiàn)到一步一步的優(yōu)化過(guò)程,最終將performance提升了一倍,非常好的競(jìng)賽經(jīng)驗(yàn)總結(jié)文章。

          我花了三個(gè)月的時(shí)間深入研究物體檢測(cè)。我嘗試了很多方法,從實(shí)現(xiàn)最先進(jìn)的模型,如YoloV5、VFNets、DETR,到將目標(biāo)檢測(cè)模型與圖像分類(lèi)模型融合以提高性能。在比賽的早期階段,我努力提高基準(zhǔn)模型的分?jǐn)?shù),但我找不到有用的在線(xiàn)資源,這就是我寫(xiě)這篇文章的原因。我想帶你們踏上一段從頭到尾的旅程,簡(jiǎn)要地向你們展示我所走的每一步,我的成績(jī)幾乎翻了一倍。

          官方的競(jìng)賽指標(biāo)是(mean) Average Precision,這是最常用的目標(biāo)檢測(cè)指標(biāo)之一。為了向你展示每一步的進(jìn)步,我將在旁邊加上它的分?jǐn)?shù)。

          1、第一步是建立一個(gè)簡(jiǎn)單的基線(xiàn),0.126 mAP

          我敢肯定,這是大量數(shù)據(jù)科學(xué)家早前落入的陷阱。我們總是很興奮地用我們能想到的每一種技術(shù)來(lái)做最復(fù)雜的模型。這是一個(gè)巨大的錯(cuò)誤,你最終會(huì)感到沮喪并離開(kāi)ML項(xiàng)目,即使你不這樣做,你也很可能會(huì)過(guò)擬合。

          我經(jīng)歷了慘痛的教訓(xùn),但最終還是用以下規(guī)范構(gòu)建了一個(gè)初始模型:

          • YoloV5-XL
          • 圖像的分辨率從3K調(diào)整為512

          我知道這聽(tīng)起來(lái)很簡(jiǎn)單,一開(kāi)始我也是這么想的。但是,實(shí)際上,構(gòu)建基線(xiàn)可能是最煩人的步驟之一。因?yàn)橛泻芏嗖襟E,比如將輸出處理成競(jìng)賽的格式等等(我不想深入討論)。

          另外,我實(shí)際的初始YoloV5-XL模型只有0.064(上面的一半),我花了2周的時(shí)間調(diào)試它,結(jié)果發(fā)現(xiàn)我沒(méi)有正確地歸一化輸入數(shù)據(jù)!

          2、去掉一個(gè)輸入類(lèi)別!0.143 mAP (+13%)

          這個(gè)trick當(dāng)時(shí)對(duì)我來(lái)說(shuō)沒(méi)有多大意義。14個(gè)輸入類(lèi)別,13種不同疾病,1個(gè)“No Finding”類(lèi)別。大約70%的數(shù)據(jù)集屬于“No Finding”類(lèi),只有30%屬于其他類(lèi)。有個(gè)參賽者發(fā)現(xiàn),你可以去掉這個(gè)類(lèi),并使用“2 class filter”技巧來(lái)預(yù)測(cè)它(見(jiàn)下文)。這使得數(shù)據(jù)集的傾斜度大大降低。此外,它允許訓(xùn)練明顯更快(因?yàn)槟銓⒂?xùn)練更少的圖像)。

          3、增加訓(xùn)練和推理圖像的分辨率,0.169 mAP (+18%)

          第二步是將圖像分辨率從512提高到1024。這是一個(gè)微不足道的改進(jìn),但我想在這里傳達(dá)的重點(diǎn)是,如果我以這個(gè)分辨率開(kāi)始,我可能不會(huì)進(jìn)一步提高我的分?jǐn)?shù)。原因很簡(jiǎn)單,因?yàn)樵谶@個(gè)更高的分辨率上進(jìn)行訓(xùn)練會(huì)導(dǎo)致批大小從16減少到4(為了不耗盡GPU內(nèi)存),這大大減慢了訓(xùn)練過(guò)程。這意味著更慢的實(shí)驗(yàn),你不會(huì)想用更慢的實(shí)驗(yàn)來(lái)比賽……

          4、融合EfficientNet和YoloV5,0.196 mAP (+16%)

          這不是我的主意,我是從一個(gè)public kernel中得到的想法。但是,這是我在Kaggle比賽中遇到的最好的主意之一。我想強(qiáng)調(diào)的是,在Kaggle上進(jìn)行比賽的一個(gè)主要好處是你可以從社區(qū)中學(xué)到很多東西。

          這里的主要思想是訓(xùn)練一個(gè)圖像分類(lèi)模型(EfficientNet),它可以實(shí)現(xiàn)非常高的AUC(約0.99),并找到一種方法將其與目標(biāo)檢測(cè)模型融合。這被稱(chēng)為“2 class filter”,比賽中的每個(gè)人都采用了這個(gè)方法,因?yàn)樗蟠筇岣吡朔謹(jǐn)?shù)。我會(huì)在下一篇文章中介紹。

          5、加權(quán)框融合(WBF)后處理,0.226 mAP (+15%)

          這對(duì)我來(lái)說(shuō)也是一個(gè)全新的想法,在網(wǎng)上很難找到。加權(quán)框融合是一種對(duì)目標(biāo)檢測(cè)模型產(chǎn)生的框進(jìn)行過(guò)濾,從而使結(jié)果更加準(zhǔn)確和正確的技術(shù)。它的性能超過(guò)了現(xiàn)有的類(lèi)似方法,如NMS和soft-NMS。具體內(nèi)容我會(huì)在另一篇文章介紹。

          應(yīng)用WBF的結(jié)果是這樣的:

          6、用5折交叉驗(yàn)證使用WBF融合,0.256 mAP (+13%)

          我犯過(guò)的一個(gè)最大的錯(cuò)誤是我忘記做交叉驗(yàn)證,這也是我寫(xiě)這篇文章的主要原因之一,就是為了強(qiáng)調(diào)ML基礎(chǔ)知識(shí)的重要性。我太專(zhuān)注于應(yīng)用新技術(shù)和提高性能,以至于忘記了應(yīng)用這個(gè)基本的ML技術(shù)。

          如果你想知道我是如何得到0.256的,那是因?yàn)槲易x了一些在競(jìng)賽結(jié)束后發(fā)布的解決方案,這是在類(lèi)似于我的模型的交叉驗(yàn)證后他們大多數(shù)能得到的結(jié)果。最終的pipeline可以在這里看到:

          7、我嘗試過(guò)的其他的東西,但是沒(méi)有成功

          1. DETR訓(xùn)練。DETR是一個(gè)了不起的目標(biāo)檢測(cè)transformer ,我想把它實(shí)踐,但是,我沒(méi)有發(fā)現(xiàn)他們提供的代碼文檔有什么幫助,我也找不到很多有用的資源。此外,我花了大約3周的時(shí)間(大約是比賽持續(xù)時(shí)間的四分之一)嘗試讓它工作。我這么說(shuō)的原因是,雖然離開(kāi)你一直在研究的解決方案可能很難,但在實(shí)驗(yàn)性ML的世界里,這有時(shí)不得不做,說(shuō)實(shí)話(huà),我希望我可以早一點(diǎn)離開(kāi)。但是,好的一面是,我發(fā)現(xiàn)另一個(gè)名為MMDetection的庫(kù)提供了DETR,而且使用起來(lái)容易得多。
          2. WBF預(yù)處理,雖然很多競(jìng)爭(zhēng)對(duì)手都說(shuō)這提高了他們的分?jǐn)?shù),但并沒(méi)有提高我的分?jǐn)?shù)。這就是ML的特點(diǎn),并不是所有的技術(shù)都能以同樣的方式使不同的模型受益。

          我最終的代碼:https://github.com/mostafaibrahim17/VinBigData-Chest-Xrays-Object-detection-


          END

          英文原文:https://towardsdatascience.com/a-journey-of-building-an-advanced-object-detection-pipeline-doubling-yolov5s-performance-b3f1559463bf

          請(qǐng)長(zhǎng)按或掃描二維碼關(guān)注本公眾號(hào)


          喜歡的話(huà),請(qǐng)給我個(gè)在看吧!

          瀏覽 43
          點(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>
                  亚洲成人精品视频 | 黄片高清无码在线观看 | 精品久久久久黄色片 | 色播五月激情 | 激情乱伦91网站 |