国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

YOLO v3有了PaddlePaddle實現(xiàn) | 代碼+預(yù)訓(xùn)練模型

xavier / 2895人閱讀

摘要:值得一提的是,基于百度自研的開源深度學(xué)習(xí)平臺的實現(xiàn),參考了論文,增加了,等處理,精度相比于原作者的實現(xiàn)提高了個絕對百分點,在此基礎(chǔ)上加入最終精度相比原作者提高個絕對百分點。

YOLO作為目標(biāo)檢測領(lǐng)域的創(chuàng)新技術(shù),一經(jīng)推出就受到開發(fā)者的廣泛關(guān)注。值得一提的是,基于百度自研的開源深度學(xué)習(xí)平臺PaddlePaddle的YOLO v3實現(xiàn),參考了論文【Bag of Tricks for Image Classification with Convolutional Neural Networks】,增加了mixup,label_smooth等處理,精度(mAP(0.5:0.95))相比于原作者的實現(xiàn)提高了4.7個絕對百分點,在此基礎(chǔ)上加入synchronize batch normalization, 最終精度相比原作者提高5.9個絕對百分點。我們將在下文中為大家詳解實現(xiàn)的具體過程。

CV領(lǐng)域的核心問題之一就是目標(biāo)檢測(object detection),它的任務(wù)是找出圖像當(dāng)中所有感興趣的目標(biāo)(物體),確定其位置和大小(包含目標(biāo)的矩形框)并識別出具體是哪個對象。Faster R-CNN及在其基礎(chǔ)上改進(jìn)的Mask R-CNN在實例分割、目標(biāo)檢測、人體關(guān)鍵點檢測等任務(wù)上都取得了很好的效果,但通常較慢。YOLO 創(chuàng)造性的提出one-stage,就是目標(biāo)定位和目標(biāo)識別在一個步驟中完成。

由于整個檢測流水線是單個網(wǎng)絡(luò),因此可以直接在檢測性能上進(jìn)行端到端優(yōu)化,使得基礎(chǔ)YOLO模型能以每秒45幀的速度實時處理圖像,較小網(wǎng)絡(luò)的Fast YOLO每秒處理圖像可達(dá)到驚人的155幀。YOLO有讓人驚艷的速度,同時也有讓人止步的缺陷:不擅長小目標(biāo)檢測。而YOLO v3保持了YOLO的速度優(yōu)勢,提升了模型精度,尤其加強(qiáng)了小目標(biāo)、重疊遮擋目標(biāo)的識別,補(bǔ)齊了YOLO的短板,是目前速度和精度均衡的目標(biāo)檢測網(wǎng)絡(luò)。

YOLO v3檢測原理

YOLO v3 是一階段End2End的目標(biāo)檢測器。YOLO v3將輸入圖像分成SS個格子,每個格子預(yù)測B個bounding box,每個bounding box預(yù)測內(nèi)容包括: Location(x, y, w, h)、Confidence Score和C個類別的概率,因此YOLO v3輸出層的channel數(shù)為SSB(5 + C)。YOLO v3的loss函數(shù)也有三部分組成:Location誤差,Confidence誤差和分類誤差。

YOLO v3網(wǎng)絡(luò)結(jié)構(gòu)

YOLO v3 的網(wǎng)絡(luò)結(jié)構(gòu)由基礎(chǔ)特征提取網(wǎng)絡(luò)、multi-scale特征融合層和輸出層組成。

1、特征提取網(wǎng)絡(luò)。YOLO v3使用 DarkNet53作為特征提取網(wǎng)絡(luò):DarkNet53 基本采用了全卷積網(wǎng)絡(luò),用步長為2的卷積操作替代了池化層,同時添加了 Residual 單元,避免在網(wǎng)絡(luò)層數(shù)過深時發(fā)生梯度彌散。
2、特征融合層。為了解決之前YOLO版本對小目標(biāo)不敏感的問題,YOLO v3采用了3個不同尺度的特征圖來進(jìn)行目標(biāo)檢測,分別為1313,2626,52*52,用來檢測大、中、小三種目標(biāo)。特征融合層選取 DarkNet 產(chǎn)出的三種尺度特征圖作為輸入,借鑒了FPN(feature pyramid networks)的思想,通過一系列的卷積層和上采樣對各尺度的特征圖進(jìn)行融合。
3、輸出層。同樣使用了全卷積結(jié)構(gòu),其中最后一個卷積層的卷積核個數(shù)是255:3*(80+4+1)=255,3表示一個grid cell包含3個bounding box,4表示框的4個坐標(biāo)信息,1表示Confidence Score,80表示COCO數(shù)據(jù)集中80個類別的概率。

PaddlePaddle簡介
PaddlePaddle是百度自研的集深度學(xué)習(xí)框架、工具組件和服務(wù)平臺為一體的開源深度學(xué)習(xí)平臺,有全面的官方支持的工業(yè)級應(yīng)用模型,涵蓋自然語言處理、計算機(jī)視覺、推薦引擎等多個領(lǐng)域,并開放了多個實用的預(yù)訓(xùn)練中文模型。

應(yīng)用案例分享:AI識蟲
紅脂大小蠹是危害超過 35 種松科植物的蛀干害蟲,自 1998 年首次發(fā)現(xiàn)到 2004 年,發(fā)生面積超過 52.7 萬平方公里 , 枯死松樹達(dá) 600 多萬株。且在持續(xù)擴(kuò)散,給我國林業(yè)經(jīng)濟(jì)帶來巨大損失。傳統(tǒng)監(jiān)測方式依賴具有專業(yè)識別能力的工作人員進(jìn)行實地檢查,專業(yè)要求高,工作周期長。北京林業(yè)大學(xué)、百度、嘉楠、軟通智慧合作面向信息素誘捕器的智能蟲情監(jiān)測系統(tǒng),通過PaddlePaddle訓(xùn)練得到目標(biāo)檢測模型YOLO v3,識別紅脂大小蠹蟲,遠(yuǎn)程監(jiān)測病蟲害情況,識別準(zhǔn)確率達(dá)到90%,與專業(yè)人士水平相當(dāng),并將原本需要兩周才能完成的檢查任務(wù),縮短至1小時就能完成。

基于PaddlePaddle實際使用
運(yùn)行樣例代碼需要Paddle Fluid的v.1.4或以上的版本。如果你的運(yùn)行環(huán)境中的PaddlePaddle低于此版本,請根據(jù)安裝文檔中的說明來更新PaddlePaddle。

數(shù)據(jù)準(zhǔn)備
在MS-COCO數(shù)據(jù)集上進(jìn)行訓(xùn)練,通過如下方式下載數(shù)據(jù)集。

模型訓(xùn)練
安裝cocoapi:訓(xùn)練前需要首先下載cocoapi。

下載預(yù)訓(xùn)練模型: 本示例提供darknet53預(yù)訓(xùn)練模型,該模型轉(zhuǎn)換自作者提供的darknet53在ImageNet上預(yù)訓(xùn)練的權(quán)重,采用如下命令下載預(yù)訓(xùn)練模型。
sh ./weights/download.sh
通過初始化 --pretrain 加載預(yù)訓(xùn)練模型。同時在參數(shù)微調(diào)時也采用該設(shè)置加載已訓(xùn)練模型。 請在訓(xùn)練前確認(rèn)預(yù)訓(xùn)練模型下載與加載正確,否則訓(xùn)練過程中損失可能會出現(xiàn)NAN。
開始訓(xùn)練: 數(shù)據(jù)準(zhǔn)備完畢后,可以通過如下的方式啟動訓(xùn)練。

? 通過設(shè)置export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7指定8卡GPU訓(xùn)練。
? 可選參數(shù)見:python train.py --help

數(shù)據(jù)讀取器說明
? 數(shù)據(jù)讀取器定義在reader.py中。
模型設(shè)置
? 模型使用了基于COCO數(shù)據(jù)集生成的9個先驗框:10x13,16x30,33x23,30x61,62x45,59x119,116x90,156x198,373x326
? 檢測過程中,nms_topk=400, nms_posk=100,nms_thresh=0.45
訓(xùn)練策略
? 采用momentum優(yōu)化算法訓(xùn)練YOLO v3,momentum=0.9。
? 學(xué)習(xí)率采用warmup算法,前4000輪學(xué)習(xí)率從0.0線性增加至0.001。在400000,450000輪時使用0.1,0.01乘子進(jìn)行學(xué)習(xí)率衰減,最大訓(xùn)練500000輪。
下圖為模型訓(xùn)練結(jié)果Train Loss。

模型評估

若訓(xùn)練時指定--syncbn=True, 模型評估精度如下。

? 注意: 評估結(jié)果基于pycocotools評估器,沒有濾除score < 0.05的預(yù)測框,其他框架有此濾除操作會導(dǎo)致精度下降。

模型推斷
模型推斷可以獲取圖像中的物體及其對應(yīng)的類別,infer.py是主要執(zhí)行程序,調(diào)用示例如下。

? 通過設(shè)置export CUDA_VISIBLE_DEVICES=0指定單卡GPU預(yù)測。
模型預(yù)測速度(Tesla P40)

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/20030.html

相關(guān)文章

  • YOLOv3目標(biāo)檢測有了TensorFlow實現(xiàn),可用自己的數(shù)據(jù)來訓(xùn)練

    摘要:來自原作者,快如閃電,可稱目標(biāo)檢測之光。實現(xiàn)教程去年月就出現(xiàn)了,實現(xiàn)一直零零星星。這份實現(xiàn),支持用自己的數(shù)據(jù)訓(xùn)練模型。現(xiàn)在可以跑腳本了來自原作者拿自己的數(shù)據(jù)集訓(xùn)練快速訓(xùn)練這個就是給大家一個粗略的感受,感受的訓(xùn)練過程到底是怎樣的。 來自YOLOv3原作者YOLOv3,快如閃電,可稱目標(biāo)檢測之光。PyTorch實現(xiàn)教程去年4月就出現(xiàn)了,TensorFlow實現(xiàn)一直零零星星?,F(xiàn)在,有位熱心公益的程...

    i_garfileo 評論0 收藏0

發(fā)表評論

0條評論

xavier

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<