天天看點

最新開源的目标檢測算法來了!

 Datawhale開源 

方向:目标檢測開源項目

說到目标檢測,那可謂目前的自動駕駛、新零售、智慧工業等熱門行業中的關鍵技術之一。目标檢測不僅在行人、車輛、商品以及火災檢測等任務中發揮着極其關鍵的價值,在目标跟蹤、姿态識别、手勢控制、圖像搜尋等複合任務中也至關重要。

最新開源的目标檢測算法來了!

注*:以上視訊引用于公開資料集[1]

圖1 PaddleDetection産業應用效果示例

而在目前端側智能、端雲協同的行業發展趨勢下,算法在移動端的部署應用則顯得尤其重要。相較于統一的中心化處理,智能終端可以更好的适應差異化的環境,運維成本也更低。然而開發一個高品質的輕量目标檢測模型卻并不那麼容易,現實環境中往往存在諸多挑戰:

  1. 速度要快。比如工業視覺品質檢測、自動駕駛等實時場景,延遲可以接受的範圍往往需要在毫秒級别,要求極其嚴苛。
  2. 精度要高。在自動駕駛、火災檢測等場景,一個微小的錯誤都可能帶來嚴重的損失,對誤檢、漏檢的容忍度非常低。
  3. 體積要小。在手機端、車載、IOT等邊緣端部署,算力和記憶體都有限,算法需要做到極緻壓縮。
  4. 部署環境複雜多樣。硬體裝置功耗、規格各色各樣。适配和部署成本簡直不要太大!

而今天介紹的最新開源的輕量級目标檢測PP-PicoDet正是為了解決以上痛難點問題,針對模型的速度、精度和部署友好性做出優化,并取得了顯著的成果。

開源位址:

​​https://github.com/PaddlePaddle/PaddleDetection​​

其系列中的PP-PicoDet-S參數量僅有0.99M,卻有30.6%mAP的精度,當輸入尺寸為320時,推理速度甚至可達150FPS,不僅mAP比YOLOX-Nano高4.8%,端側推理速度還提升了55%;相比NanoDet,mAP也高出了7.1%。

而PP-PicoDet-L則在僅有3.3M參數量的情況下mAP達到40.9%,比YOLOv5s高3.7%,推理速度提升44%。

PP-PicoDet技術報告位址:

​​https://arxiv.org/abs/2111.00902​​

最新開源的目标檢測算法來了!

注*:以上圖檔引用于報告[2]

圖2 PP-PicoDet性能對比圖

最新開源的目标檢測算法來了!

注*:GIF中FPS是包含前處理、預測、後處理的端到端耗時,以上視訊引用于公開資料集[1]

圖3 PP-PicoDet移動端和不同模型效果對比

不僅如此,在此次飛槳目标檢測開發套件PaddleDetection v2.3推出的多目标實時跟蹤系統PP-Tracking和超輕量人體關鍵點模型PP-TinyPose中,PP-PicoDet也是極其關鍵的技術子產品。甚至在近日引起業界廣泛關注的通用圖像識别系統PP-ShiTu中,PP-PicoDet也被用作主體檢測子產品,以超輕量的體積實作了超越服務端大模型的效果!

PP-PicoDet Android APP下載下傳體驗指路:

​​https://paddledet.bj.bcebos.com/deploy/third_engine/PP-PicoDet.apk​​

(如連結不能正常通路,可複制到浏覽器進行下載下傳)

下面,就讓我們來一起看看具體都有哪些優化政策,讓PP-PicoDet又小又快又準:

01

更高性能的骨幹網絡

一個高性能的骨幹網絡對目标檢測模型的性能提升有着至關重要的作用,PP-PicoDet采用了百度自研的超輕量、高精度骨幹網絡--ESNet(Enhanced ShuffleNet),使得整個目标檢測模型不僅計算量更小、延遲更低、精度更高,同時還擁有更好的魯棒性,能夠更好地适配多種硬體環境。

ESNet是在ShuffleNetV2的基礎上引入了SE子產品和GhostNet中的Ghost子產品,并新增深度可分離卷積,對不同通道資訊進行融合來提升模型精度,同時還使用神經網絡搜尋(NAS)搜尋更高效的模型結構,進一步提升模型性能,最終得到了在精度、速度全方面提升的骨幹網絡。

最新開源的目标檢測算法來了!

注*:以上圖檔和資料引用于報告[2]

圖4 ESNet & ShuffleNetV2性能對比

02

更輕量的Neck和Head

在Neck部分,PP-PicoDet提出了CSP-PAN結構,使用1*1的卷積将特征的通道數與BackBone輸出的最小通道數進行統一,進而減少計算量,并保證特征融合性能不受影響。此外,PP-PicoDet還在CSP-PAN的基礎上再下采樣一次,添加一個更小的特征尺度來提升大物體的檢測效果(見下圖P6分支)。

與此同時,PP-PicoDet在Neck和Head部分均采用深度可分離卷積,将3 x 3卷積核增大至5×5,來增大感受野,還保持了速度不變。并且PP-PicoDet采用了通道數和Neck一緻的“耦合頭”,相比于小通道數的“解耦頭”有更快的預測速度。

最新開源的目标檢測算法來了!

注*:以上圖檔和資料引用于報告[2]

圖5 PP-PicoDet整體架構示意圖

03

更精準的采樣政策

PP-PicoDet受到YOLOX等優秀算法的啟發,使用了更精準的SimOTA采樣政策,随訓練過程動态變換标簽配置設定方式,通過在目标區域采集高品質的樣本來有效加速模型收斂。在此基礎上對其中的cost矩陣計算進行改造,使用VFL+GIoU替代原本的CELoss+IoU,在速度無損的情況下還能有效提升1%的精度。

除此之外,PP-PicoDet還使用了H-Swish激活函數替代Relu;使用Cosine學習率衰減政策;使用Cycle-EMA;加入少量的如Crop、Flip、Multi-Scale等資料增強政策進行更穩定的訓練,使得模型精度再次提升3%。

下面就讓我們一起看看以上這一系列優化政策的最終效果,從中可以看到:無論是精度還是速度,PP-PicoDet都表現卓越!

最新開源的目标檢測算法來了!

注*:測試裝置為骁龍865,Threads=4,FP16,NCNN(Paddle Lite測試結果為*),以上圖檔和資料引用于報告[2]

圖6 PP-PicoDet在COCO上和其他輕量級檢測器性能試驗對比

04

更完備的部署支援

作為真正的産業級開發利器,PaddleDetection通過完備支援飛槳原生推理庫Paddle Inference、飛槳輕量化推理引擎Paddle Lite,使開發者可以快速在主流伺服器、端側晶片上實作高性能部署。

并且支援快速導出為ONNX格式,使開發者可以通過ONNX生态能力進行更廣泛的算法部署應用,可以通過自己熟悉的移動端引擎進行PP-PicoDet的部署和推理。

除此以外,還提供OpenVINO加速部署方案、Android Demo,并且所有流程代碼均已開源,全方位滿足各類硬體環境部署需求,讓深度學習落地的最後一公裡再無障礙!

最新開源的目标檢測算法來了!

這樣的一個目标檢測開發神器已經被多家像國家電網、武漢鐵路局、甯德時代這樣的行業巨頭公司所應用,真正實作了助力開發者,賦能産業智能化!

開源代碼實作,趕緊Star收藏吧!

​​https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.3/configs/picodet​​

05

後續工作

PP-PicoDet的誕生源于開源,也是回饋開源。考慮到工業、網際網路、自動駕駛等各行各業對移動端、邊緣端部署輕量化目标檢測模型的需求越來越強烈,PP-PicoDet緻力于提供一種真正面向産業實踐的,更高性能、輕量化、更易落地的目标檢測方案,而非單純追求模型名額。

與此同時,希望PP-PicoDet的算法本身以及優化思路,可以在給業界開發者帶來更好算法的同時,也帶來更多的算法優化啟發,能夠在此基礎上繼續提升産出更多優秀成果,也歡迎大家通過使用者群、Issue等方式和我們探讨交流。在此希望和業界開發者攜手為中國的開源技術而努力!

以上所有代碼實作,均在PaddleDetection飛槳目标檢測開發套件中開源提供:

​​https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.3​​​

歡迎感興趣的小夥伴一起體驗、回報建議并參與共建!你的Star是對我們工作的最大鼓勵~

最新開源的目标檢測算法來了!

[1] 所用到的所有資料分别來源于以下資料集:

《表計讀數》資料來源于:中興克拉資料集

《安全帽檢測》資料來源于:https://github.com/njvisionpower/Safety-Helmet-Wearing-Dataset  

《自動駕駛》資料集來源于:Yu F, Chen H, Wang X, et al. Bdd100k: A diverse driving dataset for heterogeneous multitask learning[C]//Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2020: 2636-2645.

《人員摔倒檢測》資料來源于:泰思通資料集

《火災/煙霧檢測》資料來源于:https://github.com/gengyanlei/fire-smoke-detect-yolov4

《PCB瑕疵檢測》資料來源于:北京大學印刷電路闆(PCB)瑕疵資料集

《多人舞蹈關鍵點檢測》資料集來源于YouTube. (2016, August 10). 100 People of Dance [Video file]. Retrieved from https://www.youtube.com/watch?v=qrTi2aLx8dw  

《行人檢測與跟蹤》資料來源于公開資料集:Milan A, Leal-Taixé L, Reid I, et al. MOT16: A benchmark for multi-object tracking[J]. arXiv preprint arXiv:1603.00831, 2016.

《飛行器跟蹤》、《戰鬥機跟蹤》資料集來源于:Bai H, Cheng W, Chu P, et al. GMOT-40: A Benchmark for Generic Multiple Object Tracking[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021: 6719-6728.

《車輛跟蹤》資料集來源于Zhu P, Wen L, Du D, et al. Vision meets drones: Past, present and future[J]. arXiv preprint arXiv:2001.06303, 2020.

繼續閱讀