超越Y(jié)OLOv5,1.3M超輕量,高效易用,目標(biāo)檢測領(lǐng)域這一個(gè)就夠了
新增超越Y(jié)OLOv4、YOLOv5 的PP-YOLOv2,1.3M 超超超輕量目標(biāo)檢測算法PP-YOLO Tiny,全面領(lǐng)先同類框架的RCNN系列算法,以及SOTA 的Anchor Free算法:PAFNet(Paddle Anchor Free)
允中 發(fā)自 凹非寺
量子位 編輯 | 公眾號(hào) QbitAI
目標(biāo)檢測技術(shù)作為視覺技術(shù)屆的頂梁柱,不僅單兵作戰(zhàn)在人臉、車輛、商品、缺陷檢測等場景有出色的表現(xiàn),也是文本識(shí)別,圖像檢索、視頻分析、目標(biāo)跟蹤等復(fù)合技術(shù)的核心模塊,應(yīng)用場景可謂比比皆是。
各界開發(fā)者對(duì)高精度、高效率的目標(biāo)檢測算法,以及便捷高效的開發(fā)、部署方式的追求可謂是極致的。但業(yè)界卻缺少全面兼顧高性能算法、便捷開發(fā)、高效訓(xùn)練及完備部署的開源目標(biāo)檢測項(xiàng)目。百度飛槳端到端目標(biāo)檢測開發(fā)套件PaddleDetection重磅升級(jí)為2.0版本后,終于全面兼顧業(yè)界開發(fā)者的需求,成長為中國產(chǎn)業(yè)實(shí)踐中目標(biāo)檢測領(lǐng)域一柄重器。
讓我們先來概覽一下PaddleDetection2.0本次升級(jí)內(nèi)容:
1、全明星算法陣容:
新增超越Y(jié)OLOv4、YOLOv5 的PP-YOLOv2,1.3M 超超超輕量目標(biāo)檢測算法PP-YOLO Tiny,全面領(lǐng)先同類框架的RCNN系列算法,以及SOTA 的Anchor Free算法:PAFNet(Paddle Anchor Free)
2、全面功能覆蓋:
除全系列通用目標(biāo)檢測算法外,額外覆蓋旋轉(zhuǎn)框檢測、實(shí)例分割、行人檢測、人臉檢測、車輛檢測等垂類任務(wù)。
3、易用性全面提升:
全面支持動(dòng)態(tài)圖開發(fā),壓縮、部署等全流程方案打通,極大程度的提升了用戶開發(fā)的易用性,加速了算法產(chǎn)業(yè)應(yīng)用落地的速度。
△?圖1 PaddleDetection2.0明星通用目標(biāo)檢測模型的性能
著急的小伙伴可以直接傳送門前往開源項(xiàng)目主頁直接體驗(yàn):https://github.com/PaddlePaddle/PaddleDetection
而本篇也將為大家詳細(xì)解讀一下PaddleDetection2.0的升級(jí)內(nèi)容,初步領(lǐng)略下這個(gè)檢測重器的殺傷力:
一、更多更好的算法
1. PPYOLOv2,比YOLOv4、YOLOv5更強(qiáng)!
自去年P(guān)PYOLO一度成為產(chǎn)業(yè)實(shí)踐最佳目標(biāo)檢測模型后,隨著PaddleDetection2.0的發(fā)布,PPYOLO也推出了v2版本。延續(xù)v1版本的理念,PPYOLOv2持續(xù)深化考慮在產(chǎn)業(yè)實(shí)踐中需要兼顧算法的精度和速度,PPYOLOv2(R50)mAP從45.9%達(dá)到了49.5%,相較v1提升了3.6個(gè)百分點(diǎn),FPS高達(dá)106.5FPS,超越了YOLOv4甚至YOLOv5!而如果使用RestNet101作為骨架網(wǎng)絡(luò),PPYOLOv2(R101)的mAP更高達(dá)50.3%,并且比同等精度下的YOLOv5x快15.9%!
完整論文請參考:https://arxiv.org/abs/2104.10419
你無需再在眼花繚亂的目標(biāo)檢測算法中對(duì)比選擇,用PP-YOLOv2就對(duì)了!
△?圖 2 PP-YOLOv2 性能比較
2. PPYOLO Tiny,1.3M,比YOLO-Fastest、NanoDet更輕量!
隨著物聯(lián)網(wǎng)的快速發(fā)展,端側(cè)芯片部署輕量化深度學(xué)習(xí)算法的需求越來越強(qiáng)烈,基于此,PaddleDetection 2.0 推出了經(jīng)過深度優(yōu)化后,體積僅為1.3M的超超超輕量目標(biāo)檢測算法—PPYOLO Tiny。如下表所示,在coco val2017數(shù)據(jù)集測試,輸入尺寸320px版本,mAP達(dá)到20.6,單張預(yù)測時(shí)延10.83ms(92.3FPS);輸入尺寸416px版本,mAP達(dá)到22.7,單張預(yù)測時(shí)延15.48ms(64.6FPS)。比YOLO-Fastest、 NanoDet更強(qiáng)!
△?圖3 PP-YOLO Tiny性能
3. RCNN系列算法全面超越同類開發(fā)工具!
除了YOLO系列之外,PaddleDetection2.0 還將目標(biāo)檢測的基礎(chǔ)兩階段系列算法—RCNN進(jìn)行了整體升級(jí)。如表1可以清晰的看到,RCNN系列模型(Faster RCNN, Mask RCNN, Cascade RCNN等)在PaddleDetection進(jìn)行訓(xùn)練,比mmDetection和Detectron2在更短的時(shí)間獲得更高的精度!
△?表1:RCNN系列模型在PaddleDetection、mmDetection和Detectron2開發(fā)套件下,在COCO 2017 val集上的mAP對(duì)比結(jié)果
4. SOTA Anchor Free算法:PAFNet(Paddle Anchor Free)& PAFNet-Lite
相較于SSD、RCNN等系列各種Anchor-Based算法,Anchor-Free算法擁有更少的超參、更易配置、對(duì)多尺度目標(biāo)檢測效果更好等優(yōu)點(diǎn),但也存在檢測結(jié)果不穩(wěn)定、訓(xùn)練時(shí)間長等問題,是近些年科研領(lǐng)域的熱點(diǎn)方向。飛槳當(dāng)然一直緊跟全球科研動(dòng)向,基于TTFNet進(jìn)行多維度的優(yōu)化,推出了在COCO數(shù)據(jù)集精度42.2,V100預(yù)測速度67FPS, 處于anchor free領(lǐng)域SOTA水平的PAFNet(Paddle Anchor Free)算法!同時(shí)提供移動(dòng)端輕量級(jí)模型PAFNet-Lite,COCO數(shù)據(jù)集精度達(dá)到23.9,麒麟990芯片延時(shí)26ms。
△?圖 4 PAFNet網(wǎng)絡(luò)結(jié)構(gòu)
5. 旋轉(zhuǎn)框檢測算法—S2ANet
在一般的的目標(biāo)檢測項(xiàng)目中,我們通常使用水平矩形框?yàn)闄z測框?qū)δ繕?biāo)進(jìn)行框定。而在產(chǎn)業(yè)場景中,例如質(zhì)檢、遙感圖像,目標(biāo)往往是任意方向排列且長寬比差別比較大的, 用水平矩形框則會(huì)出現(xiàn)大量空白非目標(biāo)的區(qū)域,且丟失了目標(biāo)的朝向角度信息,例如圖5 精度不能滿足業(yè)務(wù)需求。旋轉(zhuǎn)框目標(biāo)檢測算法就可以很好的解決這類問題,它在檢測出四邊形矩形框的同時(shí)可以同時(shí)獲得旋轉(zhuǎn)角度。PaddleDetection 2.0本次的升級(jí),就新增了高性價(jià)比旋轉(zhuǎn)框檢測算法—S2ANet,方便開發(fā)者直接取用或進(jìn)一步開發(fā)。
△?圖5 左: 傳統(tǒng)檢測效果; 圖6 右:S2ANet旋轉(zhuǎn)框檢測效果
至此PaddleDetection共包含了19類共231個(gè)模型算法,其中動(dòng)態(tài)圖預(yù)訓(xùn)練模型70個(gè),靜態(tài)圖預(yù)訓(xùn)練模型161個(gè)。其中包括PPYOLO、RCNN、PAFNet系列等明星算法!覆蓋通用目標(biāo)檢測、人臉檢測、行人檢測、車輛檢測、旋轉(zhuǎn)框檢測、實(shí)例分割任務(wù),得益于飛將框架和PaddleDetection套件本身的設(shè)計(jì),算法訓(xùn)練的效率也超越同類開發(fā)工具!
二、更好的易用性
1. 動(dòng)態(tài)圖開發(fā),靈活調(diào)試代碼
PaddleDetection 2.0基于PaddlePaddle 2.0.1版本,默認(rèn)使用動(dòng)態(tài)圖進(jìn)行開發(fā),在這種模式下,每次執(zhí)行一個(gè)運(yùn)算,可以立即得到結(jié)果,而不是事先定義好網(wǎng)絡(luò)結(jié)構(gòu)再執(zhí)行。用戶也可以快速獲取網(wǎng)絡(luò)結(jié)構(gòu)、每層輸入輸出和對(duì)應(yīng)梯度信息等,并對(duì)應(yīng)進(jìn)行快速調(diào)整。這樣用戶可以更快速的組織代碼,更容易的調(diào)試程序。
2.更便捷的安裝方式
除了傳統(tǒng)的git clone方式,PaddleDetection 2.0這次還新增了whl包的發(fā)布,用戶可以直接通過pip install的方式安裝,由此可以通過import ppdet的方式調(diào)用PaddleDetection 2.0下的API快速完成自己的檢測任務(wù)。
三、訓(xùn)練、壓縮、部署全流程打通
為了進(jìn)一步加速深度學(xué)習(xí)算法的產(chǎn)業(yè)落地,PaddleDetection 2.0動(dòng)態(tài)圖順暢打通了算法的全流程部署。
△?圖 7 PPDet全流程方案
在完成模型訓(xùn)練過程中或之后,PaddleDetection2.0方便支持開發(fā)者使用PaddleSlim對(duì)算法進(jìn)行量化、蒸餾、裁剪等壓縮優(yōu)化,并支持快速將模型由動(dòng)態(tài)圖轉(zhuǎn)化為靜態(tài)圖,實(shí)現(xiàn)模型的高效多平臺(tái)預(yù)測部署。
1. 模型壓縮能力
為了滿足開發(fā)者對(duì)計(jì)算量、模型體積、運(yùn)算速度等極致的追求,PaddleDetection 2.0動(dòng)態(tài)圖模式下基于PaddleSlim新增了多種模型壓縮能力,包括剪裁,量化,蒸餾以及剪裁+蒸餾聯(lián)合策略壓縮方案,可大幅減少模型參數(shù)或者計(jì)算量,便于部署在受限的硬件環(huán)境中。由下表可以看出,量化策略為模型帶來1.7%的精度提升,同時(shí)體積壓縮3.71倍,速度提升1.46倍!而采用蒸餾+裁剪的聯(lián)合策略,在精度幾乎無損的情況下,體積壓縮了3.05倍,加速1.58倍!
△?表3:基于YOLOv3-MobileNetv1模型進(jìn)行模型壓縮的效果對(duì)比
2. 預(yù)測部署能力
得益于飛槳預(yù)測庫系列產(chǎn)品Paddle Inference、Paddle Lite和Paddle Serving的能力,PaddleDetection 2.0支持開發(fā)者快速在Linux、Windows、NV Jetson等多系統(tǒng)多平臺(tái)進(jìn)行算法部署,同時(shí)提供了Python預(yù)測和C++預(yù)測兩種方式,覆蓋主流目標(biāo)檢測算法。另外適配TensorRT,支持TensorRT動(dòng)態(tài)尺寸輸入及TensorRT INT8量化預(yù)測, 全面支持用戶進(jìn)行硬件加速。

△?表4:Tesla V100上各主流算法預(yù)測速度對(duì)比
小結(jié):
本次PaddleDetection2.0的重磅升級(jí),為開發(fā)者提供了目標(biāo)檢測領(lǐng)域全新的開發(fā)體驗(yàn), mAP 50.3 的PP-YOLOv2超越Y(jié)OLOv4、YOLOv5,1.3M 超輕量PP-YOLO Tiny超越Y(jié)OLO-Fastest、NanoDet,RCNN系列算法全面領(lǐng)先其他框架水平,PAFNet(PaddleAnchorFree)SOTA,還覆蓋了旋轉(zhuǎn)框檢測、實(shí)例分割、行人檢測、人臉檢測、車輛檢測等任務(wù)。動(dòng)態(tài)圖的升級(jí)和全流程方案的打通,極大程度的提升了用戶開發(fā)的易用性。不論你是學(xué)術(shù)科研工作者,還是產(chǎn)業(yè)開發(fā)者;不論你是剛?cè)腴T的萌新,還是已經(jīng)歷練成為大神,PaddleDetection 2.0都能幫你更快的進(jìn)行算法實(shí)驗(yàn)、獲得高性能的目標(biāo)檢測算法、投入產(chǎn)業(yè)實(shí)用。
如此用心制作的高水準(zhǔn)產(chǎn)品,期待業(yè)界開發(fā)者參與一同共建!

參考鏈接
更多PaddleDetection信息,歡迎點(diǎn)擊文末閱讀原文或以下鏈接,訪問GitHub項(xiàng)目體驗(yàn)或Star:
https://github.com/PaddlePaddle/PaddleDetection
如有問題,歡迎掃描以下二維碼進(jìn)入PaddleDeteciton微信群(或QQ群1136406895)進(jìn)行交流:
—?完?—
- 長城汽車自研芯片點(diǎn)亮!提前布局下一代架構(gòu)RISC-V,魏建軍:不能再受制于人2024-09-27
- 騰訊云發(fā)布自研大數(shù)據(jù)高性能計(jì)算引擎Meson,性能最高提升6倍2024-07-04
- Intel2024-03-18
- 數(shù)字員工全新發(fā)布 加速企業(yè)轉(zhuǎn)型2024-01-15




