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

          ECV2023|安全帶規(guī)范佩戴檢測冠軍方案分享

          共 4196字,需瀏覽 9分鐘

           ·

          2023-08-10 21:39

          點擊下方卡片,關(guān)注“新機器視覺”公眾號

             

          重磅干貨,第一時間送達

             

              

          作者丨山東大學萬有引力
          編輯丨極市平臺

          導(dǎo)讀

           

          本文為ECV2023安全帶規(guī)范佩戴檢測賽題的冠軍方案分享,詳細的闡述了該賽題的分析和算法實現(xiàn)流程。

          1.賽題分析:題目解讀

          項目背景:安全帶規(guī)范佩戴檢測算法主要用在建筑工地等施工現(xiàn)場,檢測施工人員是否佩戴了安全帶,從而提升施工區(qū)域內(nèi)的管控工作效率,保證施工人員的人身安全。

          訓(xùn)練集:訓(xùn)練數(shù)據(jù)包含9000張圖片;測試集包含1000張圖片;

          評價指標:模型榜和算法榜都采用準確率、算法性能絕對值綜合得分的形式,其中IoU為0.5. Score=算法精度 * 0. 95 + 算法性能值 * 0.05

          從賽題中可以得到如下的重要信息:

          1. 目標檢測類問題
          2. 類別種類共三類:belt,belt_person,no_belt_person

          通過上面的分析,我們有了一個簡單的猜測:

          安全帶類別相比于其他兩個類別,屬于是“小目標”,如下面兩個圖所示,我們認為可能是影響最終排名的決定性因素。

          2.賽題分析:模型選擇

          一個合適的模型將直接決定最終的結(jié)果,我們以賽題提供的代碼作為baseline(極市目標檢測開發(fā)套件)先熟悉極視平臺訓(xùn)練流程(我們是第一次參加極市的比賽);然后跑通baseline;

          極市開發(fā)套件包含了三個模型的運行腳本:yolov5,yolox,yolov7。這里我們選擇了yolov5:

          1. YOLOv5的部署比較完善,推理速度快。
          2. 參數(shù)量也比較合適

          3. 算法流程及實現(xiàn)

          3.1 劃分訓(xùn)練集和測試集

          我們首先調(diào)整的參數(shù)是,提高訓(xùn)練集和驗證集的比例:8:2 —> 9:1

          進行這個參數(shù)的特征,主要有如下兩點考慮:

          1. 訓(xùn)練數(shù)據(jù)一共有9000張圖片,總體比較少;
          2. 希望模型能接觸到更多訓(xùn)練數(shù)據(jù);

          使用更多的訓(xùn)練數(shù)據(jù)進行模型的訓(xùn)練,也有可能帶來一定的危害,如測試集合過少,驗證出的最優(yōu)模型可能在測試集上并不是最優(yōu)的,也就是驗證集過少,可能不能驗證模型的真實性能,但是值得一試。

          具體的實現(xiàn)方式:采用隨機劃分

          實驗表明,我們的修改是正確的,提高了模型的f-score

          3.2 標簽平滑

          為了更好的性能,我們使用了標簽平滑的技術(shù),標簽平滑是一種正則化的策略,通過soft label來加入噪聲,減少真實樣本的類別在計算損失時的權(quán)重,起到抑制過擬合的效果。除此之外,該方法還可以提高模型的泛化能力。

          我們的平滑參數(shù)設(shè)置:??=0.1,獲得了模型榜第一名

          3.3數(shù)據(jù)增強

          數(shù)據(jù)增強有多種方式,這里我們幾乎能用的數(shù)據(jù)增強方式都用到了:

          • 隨機旋轉(zhuǎn)、隨機裁剪、隨機觀察角度
          • 隨機模糊、隨機灰度化、降低圖像質(zhì)量
          • 在HSV顏色空間上進行數(shù)據(jù)增強,像素級別數(shù)據(jù)增強
          • Mosaic:一張主圖和隨機三張圖片平成一張圖片
          • MixUp:將原圖和隨機選取的圖片進行混合

          數(shù)據(jù)增強對于提高模型的泛化能力和提高模型識別的準確率非常重要。

          4 測試結(jié)果分析

          采用上面的方法改進后,我們對模型進行了訓(xùn)練和測試,結(jié)果如上圖所示,可以看到,模型的f-score是0.9565,已經(jīng)是比較高的了。這說明訓(xùn)練和測試的數(shù)據(jù)并不復(fù)雜,簡單的yolov5s模型就可以學習到比較好的特征。

          然后我們還分析了每個類別的精確率和召回率,我們發(fā)現(xiàn),belt和belt_person兩個類別無論是精確率還是召回率都非常高,no_belt_person反而是最低的。

          這和我們最初的猜測是相違背的,我們猜測,可能是因為:

          1. belt和belt_person兩個類別是有關(guān)聯(lián)的,模型可學習到了這種關(guān)聯(lián),因此belt的識別率并不低,而no_belt_person需要分別出沒有帶belt,反而性能降低了;
          2. belt和belt_person是“相容”的,而no_belt_person與之不“相容”;

          5 其他模型嘗試

          除了yolov5s之外,我們也嘗試了yolov7和yolox。

          在精度方面:yolov7精度表現(xiàn)和yolov5s基本相同,而yolox精度則要低一些。

          在性能方面:yolov5s的性能幾乎是他們的兩倍。

          綜上,我們考慮使用yolov5s作為最終的檢測框架。

          6 模型測試階段調(diào)試

          在查看測試結(jié)果的時候,我們發(fā)現(xiàn)每個類型的精確率都是低于召回率的。考量模型性能的一個指標是f-score,而f-score是精確率和召回率的調(diào)和平均值,如下面公式所示:


          可以通過簡單的數(shù)據(jù)分析可以知道,f-score的值只有在Precision和Recall都很高的情況下才會變得高。目前我們是召回率很高,通過提高置信度的閾值,由原來的0.2提高到0.45,損失一點召回率,提高了模型的精確率,最終提高f-score也是非常值得的。實驗的結(jié)果也證明了我們的想法。

          7 模型部署

          起初,我們使用了極市平臺提供的C++部署套件,并按照賽題的要求,修改其中的業(yè)務(wù)邏輯,并使用tensorRT進行加速。但是最終的測試性能,卻遠沒有我們預(yù)想的那么快,可能是出現(xiàn)了bug。后期,因為平臺也支持python,所以我們最終采用python代碼來進行測試,先將pytorch模型轉(zhuǎn)換成onnx模型,然后再使用tensorRT進行優(yōu)化。

          配置好一切的環(huán)境后,在部署榜上的性能結(jié)果基本上接近模型榜的上的性能。

          8. 總結(jié)及可能的改進

          總結(jié):

          1. 數(shù)據(jù)并不復(fù)雜,不需要特別大的模型
          2. 使用多個數(shù)據(jù)增強,提高模型的泛化能力
          3. 可以增加正則損失,避免模型過擬合
          4. 要根據(jù)訓(xùn)練結(jié)果調(diào)整訓(xùn)練參數(shù),置信度閾值等等參數(shù)
          5. 推理性能,使用TensorRT進行推理優(yōu)化。

          可能的改進:

          1. 嘗試使用半精度推理,進一步提高模型的性能
          2. 嘗試模型融合,多個模型的結(jié)果進行合并,進一步提高f-score
          3. 采用交叉驗證方式,選擇更好的模型參數(shù)
                    

          聲明:部分內(nèi)容來源于網(wǎng)絡(luò),僅供讀者學習、交流之目的。文章版權(quán)歸原作者所有。如有不妥,請聯(lián)系刪除。

          —THE END—

          瀏覽 136
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <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>
                  国产视频高清无码 | 国产一级淫乱视频 | 亚洲中文字幕视频在线 | 黄偏网站在线观看 | re久久6热 |