圖1 PaddleDetection2.0明星通用目標(biāo)檢測(cè)模型的性能
而本篇也將為大家詳細(xì)解讀一下PaddleDetection2.0的升級(jí)內(nèi)容,初步領(lǐng)略下這個(gè)檢測(cè)重器的殺傷力:
一、更多更好的算法
1. PP-YOLOv2,比YOLOv4、YOLOv5更強(qiáng)!
自去年P(guān)P-YOLO一度成為產(chǎn)業(yè)實(shí)踐最佳目標(biāo)檢測(cè)模型后,隨著PaddleDetection2.0的發(fā)布,PP-YOLO也推出了v2版本。延續(xù)v1版本的理念,PP-YOLOv2持續(xù)深化考慮在產(chǎn)業(yè)實(shí)踐中需要兼顧算法的精度和速度,PP-YOLOv2(R50)mAP從45.9%達(dá)到了49.5%,相較v1提升了3.6個(gè)百分點(diǎn),F(xiàn)PS高達(dá)106.5FPS,超越了YOLOv4甚至YOLOv5!而如果使用RestNet101作為骨架網(wǎng)絡(luò),PP-YOLOv2(R101)的mAP更高達(dá)50.3%,并且比同等精度下的YOLOv5x快15.9%。
你無需再在眼花繚亂的目標(biāo)檢測(cè)算法中對(duì)比選擇,用PP-YOLOv2就對(duì)了!
圖 2 PP-YOLOv2 性能比較
2. PP-YOLO 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)檢測(cè)算法—PP-YOLO Tiny。如下表所示,在coco val2017數(shù)據(jù)集測(cè)試,輸入尺寸320px版本,mAP達(dá)到20.6,單張預(yù)測(cè)時(shí)延10.83ms(92.3FPS);輸入尺寸416px版本,mAP達(dá)到22.7,單張預(yù)測(cè)時(shí)延15.48ms(64.6FPS)。比YOLO-Fastest、 NanoDet更強(qiáng)。
圖 3 PP-YOLO Tiny性能
3. RCNN系列算法全面超越同類開發(fā)工具!
除了YOLO系列之外,PaddleDetection2.0 還將目標(biāo)檢測(cè)的基礎(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)檢測(cè)效果更好等優(yōu)點(diǎn),但也存在檢測(cè)結(jié)果不穩(wěn)定、訓(xùn)練時(shí)間長(zhǎng)等問題,是近些年科研領(lǐng)域的熱點(diǎn)方向。飛槳當(dāng)然一直緊跟全球科研動(dòng)向,基于TTFNet進(jìn)行多維度的優(yōu)化,推出了在COCO數(shù)據(jù)集精度42.2,V100預(yù)測(cè)速度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)框檢測(cè)算法—S2ANet
在一般的的目標(biāo)檢測(cè)項(xiàng)目中,我們通常使用水平矩形框?yàn)闄z測(cè)框?qū)δ繕?biāo)進(jìn)行框定。而在產(chǎn)業(yè)場(chǎng)景中,例如質(zhì)檢、遙感圖像,目標(biāo)往往是任意方向排列且長(zhǎng)寬比差別比較大的, 用水平矩形框則會(huì)出現(xiàn)大量空白非目標(biāo)的區(qū)域,且丟失了目標(biāo)的朝向角度信息,例如圖5 精度不能滿足業(yè)務(wù)需求。旋轉(zhuǎn)框目標(biāo)檢測(cè)算法就可以很好的解決這類問題,它在檢測(cè)出四邊形矩形框的同時(shí)可以同時(shí)獲得旋轉(zhuǎn)角度。PaddleDetection 2.0本次的升級(jí),就新增了高性價(jià)比旋轉(zhuǎn)框檢測(cè)算法–S2ANet,方便開發(fā)者直接取用或進(jìn)一步開發(fā)。
圖5 傳統(tǒng)檢測(cè)效果 圖 6 S2ANet旋轉(zhuǎn)框檢測(cè)效果
至此PaddleDetection共包含了19類共231個(gè)模型算法,其中動(dòng)態(tài)圖預(yù)訓(xùn)練模型70個(gè),靜態(tài)圖預(yù)訓(xùn)練模型161個(gè)。其中包括PP-YOLO、RCNN、PAFNet系列等明星算法,覆蓋通用目標(biāo)檢測(cè)、人臉檢測(cè)、行人檢測(cè)、車輛檢測(cè)、旋轉(zhuǎn)框檢測(cè)、實(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快速完成自己的檢測(cè)任務(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ù)測(cè)部署。
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ù)測(cè)部署能力
得益于飛槳預(yù)測(cè)庫系列產(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è)和C++預(yù)測(cè)兩種方式,覆蓋主流目標(biāo)檢測(cè)算法。另外適配TensorRT,支持TensorRT動(dòng)態(tài)尺寸輸入及TensorRT INT8量化預(yù)測(cè), 全面支持用戶進(jìn)行硬件加速。
表4:Tesla V100上各主流算法預(yù)測(cè)速度對(duì)比
小結(jié):
本次PaddleDetection2.0的重磅升級(jí),為開發(fā)者提供了目標(biāo)檢測(cè)領(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)框檢測(cè)、實(shí)例分割、行人檢測(cè)、人臉檢測(cè)、車輛檢測(cè)等任務(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)檢測(cè)算法、投入產(chǎn)業(yè)實(shí)用。
如此用心制作的高水準(zhǔn)產(chǎn)品,期待業(yè)界開發(fā)者參與一同共建!
課程預(yù)告
百度飛槳為了幫助大家能快速、深入、全面的了解目標(biāo)檢測(cè)技術(shù),將于5月13、14日特地開設(shè)“目標(biāo)檢測(cè)2日直播課”。由資深研發(fā)工程師傾囊相授多年“煉丹”經(jīng)驗(yàn),配套真實(shí)工業(yè)落地場(chǎng)景案例,最先進(jìn)的調(diào)優(yōu)方式、訓(xùn)練技巧、優(yōu)化技巧和工業(yè)部署方案一網(wǎng)打盡,千萬不要錯(cuò)過!感興趣的同學(xué)可加入QQ群1136406895,了解更多課程及產(chǎn)品動(dòng)態(tài)。