亚洲精品中文免费|亚洲日韩中文字幕制服|久久精品亚洲免费|一本之道久久免费

      
      

            <dl id="hur0q"><div id="hur0q"></div></dl>

                解決物體檢測中的小目標問題

                解決物體檢測中的小目標問題

                作者丨Jacob Solawetz

                來源丨小白學視覺

                編輯丨極市平臺

                為了提高模型在小物體上的性能,我們建議使用以下技術(shù):

                為什么小目標問題很難?

                小物體問題困擾著全世界的物體檢測模型,查看最新模型YOLOv3、EfficientDet和YOLOv4的COCO評估結(jié)果:

                查看 AP_S、AP_M、AP_L 以獲取最先進的模型。

                例如,在 EfficientDet 中,小物體的 AP 僅為 12%,而大物體的 AP 為 51%,這幾乎是五倍的差距。

                那么為什么檢測小物體這么難呢?

                這一切都取決于模型,目標檢測模型通過聚合卷積層中的像素來形成特征。

                PP-YOLO中目標檢測的特征聚合

                并且在網(wǎng)絡的末端,基于損失函數(shù)進行預測,該損失函數(shù)基于預測和地面真實情況之間的差異對像素進行匯總。

                YOLO中的損失函數(shù)

                如果地面真值框不大,則在進行訓練時信號會很小。此外,小物體最有可能存在數(shù)據(jù)標記錯誤,因此它們的標識可能會被省略,從經(jīng)驗和理論上來說,小物體是難的。

                提高圖像捕獲分辨率

                非常小的物體在邊界框中可能只包含幾個像素——這意味著提高圖像的分辨率以增加檢測器可以從該小框中形成的特征的豐富度非常重要。因此,如果可能,我們建議盡可能捕獲高分辨率的圖像。

                提高模型的輸入分辨率

                一旦我們擁有更高分辨率的圖像,我們就可以擴大模型的輸入分辨率。警告:這將導致大型模型需要更長的訓練時間,并且在開始部署時推斷速度會更慢。我們可能需要運行實驗,來找出速度與性能之間的正確權(quán)衡。

                在我們關(guān)于培訓YOLOv4的教程中,我們可以通過更改配置文件中的圖像大小來輕松調(diào)整輸入分辨率。

                [net] batch=64 subpisions=36 width={YOUR RESOLUTION WIDTH HERE} height={YOUR RESOLUTION HEIGHT HERE} channels=3 momentum=0.949 decay=0.0005 angle=0 saturation = 1.5 exposure = 1.5 hue = .1 learning_rate=0.001 burn_in=1000 max_batches=6000 policy=steps steps=4800.0,5400.0 scales=.1,.1

                在我們的教程中,小伙伴們還可以通過更改“訓練”命令中的“圖像大小”參數(shù),輕松調(diào)整輸入分辨率,該教程介紹了如何訓練YOLOv5:

                !python train.py –img {YOUR RESOLUTON SIZE HERE} –batch 16 –epochs 10 –data ‘../data.yaml’ –cfg ./models/custom_yolov5s.yaml –weights ” –name yolov5s_results –cache

                注意:只有在達到訓練數(shù)據(jù)的最大分辨率時,才能看到改進的結(jié)果。

                平鋪圖像

                檢測小圖像的另一種很好的策略是將圖像平鋪作為預處理步驟。平鋪可以有效地將檢測器放大到小物體上,但允許我們保持所需的小輸入分辨率,以便能夠進行快速推理。

                平鋪圖像作為 Roboflow 中的預處理步驟

                如果在訓練期間使用平鋪,請務必記住,我們還需要在推理時平鋪圖像。

                通過擴充生成更多數(shù)據(jù)

                數(shù)據(jù)擴充會從我們的基本數(shù)據(jù)集生成新圖像,這對于防止模型過度擬合訓練集非常有用。

                一些特別有用的小物體檢測增強包括隨機裁剪、隨機旋轉(zhuǎn)和鑲嵌增強。

                自動學習模型錨

                錨定框是模型學習預測的原型邊界框,也就是說,錨框可以預先設置,有時對于我們的訓練數(shù)據(jù)來說不是最理想的。自定義調(diào)整這些參數(shù)以適合我們即將完成的任務是很好的,YOLOv5 模型架構(gòu)會根據(jù)我們的自定義數(shù)據(jù)自動為我們執(zhí)行此操作,我們所要做的就是開始訓練。

                Analyzing anchors… anchors/target = 4.66, Best Possible Recall (BPR) = 0.9675. Attempting to generate improved anchors, please wait… WARNING: Extremely small objects found. 35 of 1664 labels are < 3 pixels in width or height. Running kmeans for 9 anchors on 1664 points… thr=0.25: 0.9477 best possible recall, 4.95 anchors past thr n=9, img_size=416, metric_all=0.317/0.665-mean/best, past_thr=0.465-mean: 18,24, 65,37, 35,68, 46,135, 152,54, 99,109, 66,218, 220,128, 169,228 Evolving anchors with Genetic Algorithm: fitness = 0.6825: 100%| | 1000/1000 [00:00<00:00, 1081.71it/s] thr=0.25: 0.9627 best possible recall, 5.32 anchors past thr n=9, img_size=416, metric_all=0.338/0.688-mean/best, past_thr=0.476-mean: 13,20, 41,32, 26,55, 46,72, 122,57, 86,102, 58,152, 161,120, 165,204

                過濾掉多余的類

                類管理是提高數(shù)據(jù)集質(zhì)量的一項重要技術(shù),如果我們的一個類與另一個類明顯重疊,則應從數(shù)據(jù)集中過濾該類。也許,我們認為數(shù)據(jù)集中的小對象不值得檢測,因此我們可能想要將其取出。通過Roboflow Pro中的高級數(shù)據(jù)集進行狀況檢查,我們可以快速識別所有這些問題。

                可以通過Roboflow 的本體管理工具來實現(xiàn)類遺漏和類重命名。

                鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系管理員(admin#wlmqw.com)刪除。
                用戶投稿
                上一篇 2022年6月12日 14:35
                下一篇 2022年6月12日 14:36

                相關(guān)推薦

                聯(lián)系我們

                聯(lián)系郵箱:admin#wlmqw.com
                工作時間:周一至周五,10:30-18:30,節(jié)假日休息