<table id="ej5zp"></table>

  • 展會信息港展會大全

    YOLOX-PAI:加速YOLOX,比YOLOV6更快更強
    來源:互聯網   發布日期:2022-09-01 17:18:41   瀏覽:4363次  

    導讀:作者:忻怡、周樓、謙言、臨在 導言: 近日,阿里云機器學習平臺團隊PAI通過自研的PAI-EasyCV框架復現YOLOX算法,并結合了PAI自研的PAI-Blade推理加速框架優化模型性能,使得加速過后的 YOLOX-PAI在速度和精度上都比現階段的 輕量級目標檢測 的SOTA 算法 YOL...

    作者:忻怡、周樓、謙言、臨在

    導言:

    近日,阿里云機器學習平臺團隊PAI通過自研的PAI-EasyCV框架復現YOLOX算法,并結合了PAI自研的PAI-Blade推理加速框架優化模型性能,使得加速過后的YOLOX-PAI在速度和精度上都比現階段的輕量級目標檢測的SOTA算法YOLOV6提速約20%,同時,PAI-EasyCV提供高效簡潔的模型部署和端到端推理接口,供社區快速體驗使用YOLOX-PAI的功能。

    目前,EasyCV和Blade項目已在GitHub上開源:

    https://github.com/alibaba/EasyCV

    https://github.com/alibaba/BladeDISC

    YOLOX-PAI:加速YOLOX,比YOLOV6更快更強

    實現方案

    1.提供了一套Apache License 訓練/優化/推理的代碼庫以及鏡像,可以實現當前社區40+mAP 量級最快(相比 YOLOV6 mAP提升0.4/加速13~20%)的目標檢測模型。

    2.調研了YOLOX相關的改進技術和消融實驗,總結了其中一些相對有幫助的改進,并以配置的方式提供出來。

    3.對目標檢測的端到端推理進行靈活封裝及速度優化,在V100上的端到端推理為3.9ms,相對原版YOLOX的9.8ms,加速250%,供用戶快速完成目標檢測推理任務。

    本文,我們將重點介紹如何基于PAI-EasyCV使用PAI-Blade優化模型推理過程,及如何使用PAI-EasyCV進行模型訓練、驗證、部署和端到端推理。歡迎大家關注和使用PAI-EasyCV和PAI-Blade,進行簡單高效的視覺算法開發及部署任務。

     

    YOLOX-PAI 精益求精的算法改進

    YOLOX-PAI是阿里云機器學習平臺PAI 的開源計算機視覺代碼庫EasyCV中集成的 YOLOX 算法。通過對YOLOX 算法的分析,結合檢測技術的調研,從以下4個方向對原版的YOLOX進行優化,

    1.Backbone : repvgg[1] backbone

    2.Neck : gsconv [2] / asff [3]

    3.Head : toods[4] / rtoods

    4.Loss : siou [5] / giou

    在算法改進的基礎上,利用PAI-Blade對改進后的的模型進行推理優化,開發了如下的PAI-YOLOX模型。具體改進的消融實驗可以參考我們的[arxiv],篩選有效改進與現有主流算法的對比結果如下:

    ( -ASFF 代表使用了 NeckASFF, -TOODN代表使用N個中間層的TOODHead取代原有的YOLOXHead)

    YOLOX-PAI:加速YOLOX,比YOLOV6更快更強

    從結果中可以看到,相比目前同水平(1ms以內)SOTA的YOLOV6模型,融合上述改進的YOLOX-PAI在同等精度/速度的條件下有一定的速度/精度優勢。(PS:上表精度測量和速度測量上與YOLOV6對齊,不包含NMS和后處理,測試精度也分圖片大小等于672/640兩種。)

    YOLOX-PAI:加速YOLOX,比YOLOV6更快更強

    YOLOX-PAI 簡單的端到端預測

    針對使用PAI-EasyCV訓練的YoloX-PAI 模型,用戶可以使用PAI-EasyCV自帶的導出功能得到優化后的模型,并使用 EasyCV 提供的TorchYoloXPredictor 進行端到端的推理。 該導出功能對檢測模型進行了如下優化:

    l使用PAI-Blade優化模型推理速度,簡化對模型的推理加速(TensorRT/編譯優化)開發流程。

    l支持EasyCV配置TorchScript/PAI-Blade對圖像前處理、模型推理、圖像后處理分別優化,供用戶靈活使用。

    l支持python環境下的Predictor結構端到端的模型推理優化,簡化圖片預測過程。

    也可以參考[EasyCV detector.py]自行組織相應的圖像前處理/后處理過程,或直接使用我們導出好的模型和接口,這里提供一個已經導出好的檢測模型,用戶下載三個模型文件到本地 [preprocess, model, meta]

    YOLOX-PAI:加速YOLOX,比YOLOV6更快更強

     

    YOLOX-PAI:加速YOLOX,比YOLOV6更快更強

     

    用戶可以直接使用PAI-EasyCV提供的Predictor接口,通過如下簡單的API調用,高效的進行圖像的檢測任務:

     

    YOLOX-PAI 極致性能的推理優化

    下圖,我們展示了YOLOX-PAI在集成PAI-Blade/torchscript優化后和原版YOLOX的不同尺寸(s/m/l/x)模型的推理耗時對比, 在開啟預處理優化和模型的PAI-Blade優化后:

    YOLOX-PAI:加速YOLOX,比YOLOV6更快更強

    可以看到PAI-EasyCV導出的模型,極大程度的優化了原模型的端到端推理速度,達到了接近250%。

    PAI-Blade 推理優化

    PAI-Blade是由阿里云機器學習平臺PAI開發的深度學習模型優化工具,可以針對不同的設備不同模型進行推理加速優化。PAI-Blade遵循易用性,魯棒性和高性能為原則,將模型的部署優化進行高度封裝,設計了統一簡單的API,在完成Blade環境安裝后,用戶可以在不了解ONNX、TensorRT、編譯優化等技術細節的條件下,通過簡單的代碼調用方便的實現對模型的高性能部署。更多PAI-Blade相關技術介紹可以參考 [PAI-Blade介紹]。

    PAI-EasyCV中對PAI-Blade進行了支持,用戶可以通過PAI-EasyCV的訓練config 中配置相關的導出(export)參數,調用PAI-Blade用于優化導出模型,結合EasyCVPredictor完成圖片的端到端的圖像檢測任務。

     

    寫在最后

    YOLOX-PAI 是PAI-EasyCV團隊基于曠視YOLOX 復現并優化的在V100BS32的1000fps量級下的SOTA檢測模型。整體工作上集成和對比了很多社區已有的工作:替換基于RepVGG的高性能Backbone, 在Neck中添加基于特征圖融合的ASFF/GSConv增強,在檢測頭中加入了任務相關的注意力機制TOOD結構。結合PAI-Blade編譯優化技術,同等精度下比YOLOV6 加速13~20%。EasyCV提供配套了一系列算法/訓練/推理優化代碼和環境,目前,YOLOX-PAI已廣泛的應用在阿里集團內外的互聯網,智能零售,自動駕駛等客戶場景中。

    PAI-EasyCV(https://github.com/alibaba/EasyCV)是阿里云機器學習平臺PAI研發的計算機視覺算法框架,已在集團內外多個業務場景取得相關業務落地成果,未來將聚焦在自監督學習/VisionTransformer等前沿視覺領域,并結合PAI-Blade等自研技術不斷優化。歡迎大家參與進來一同進步。

     

    相關文獻

    [1] Ge Z, Liu S, Wang F, et al. Yolox: Exceeding yolo series in 2021[J]. arXiv preprint arXiv:2107.08430, 2021.

    [2] YOLOv6, https://github.com/meituan/YOLOv6.

    [3] Xu S, Wang X, Lv W, et al. PP-YOLOE: An evolved version of YOLO[J]. arXiv preprint arXiv:2203.16250, 2022.

    [4] Wang C Y, Liao H Y M, Wu Y H, et al. CSPNet: A new backbone that can enhance learning capability of CNN[C]//Proceedings of the IEEE/CVF conference on computer vision and pattern recognition workshops. 2020: 390-391.

    [5] Ding X, Zhang X, Ma N, et al. Repvgg: Making vgg-style convnets great again[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021: 13733-13742.

    [6] Liu S, Huang D, Wang Y. Learning spatial fusion for single-shot object detection[J]. arXiv preprint arXiv:1911.09516, 2019.

    [7] YOLOv5, https://github.com/ultralytics/yolov5.

    [8] Li H, Li J, Wei H, et al. Slim-neck by GSConv: A better design paradigm of detector architectures for autonomous vehicles[J]. arXiv preprint arXiv:2206.02424, 2022.

    [9] Feng C, Zhong Y, Gao Y, et al. Tood: Task-aligned one-stage object detection[C]//2021 IEEE/CVF International Conference on Computer Vision (ICCV). IEEE Computer Society, 2021: 3490-3499.

    [10] Gevorgyan Z. SIoU Loss: More Powerful Learning for Bounding Box Regression[J]. arXiv preprint arXiv:2205.12740, 2022.

    [11] Rezatofighi H, Tsoi N, Gwak J Y, et al. Generalized intersection over union: A metric and a loss for bounding box regression[C]//Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2019: 658-666.

     

     

    贊助本站

    人工智能實驗室
    相關內容
    AiLab云推薦
    展開
    Copyright © 2010-2022 AiLab Team. 人工智能實驗室 版權所有    關于我們 | 聯系我們 | 廣告服務 | 公司動態 | 免責聲明 | 隱私條款 | 工作機會 | 展會港 | 站長號
    18禁无遮拦无码国产在线播放

    <table id="ej5zp"></table>