百度EasyDL AI開(kāi)發(fā)公開(kāi)課第1期:實(shí)戰(zhàn)解析真實(shí)AI場(chǎng)景下,極小目標(biāo)檢測(cè)與精度提升
主講人 | 哈利 百度高級(jí)研發(fā)工程師
量子位整理編輯
目前,各個(gè)企業(yè)行業(yè)在AI落地應(yīng)用中,常常會(huì)遇到極小目標(biāo)檢測(cè)問(wèn)題。在這些AI應(yīng)用中,都需要在一個(gè)大圖中精準(zhǔn)識(shí)別出極小目標(biāo),其檢測(cè)至關(guān)重要,也面臨很多難點(diǎn)。
比如,檢測(cè)框高寬比不固定,圖片背景雜亂,數(shù)據(jù)源稀缺,檢測(cè)框相比圖片非常小,這些難點(diǎn)都會(huì)導(dǎo)致較高的漏檢率。
10月21日,「EasyDL?AI開(kāi)發(fā)系列公開(kāi)課」第一期直播中,百度高級(jí)工程師以真實(shí)的產(chǎn)業(yè)場(chǎng)景為例,深入解析了如何解決這些難點(diǎn)、有效提高極小目標(biāo)檢測(cè)的準(zhǔn)確率,并手把手演示了如何用EasyDL構(gòu)建高精度物體檢測(cè)模型。
講解分為4個(gè)部分:
- EasyDL平臺(tái)整體介紹
- 物體檢測(cè)任務(wù)綜述
- 極小目標(biāo)檢測(cè)場(chǎng)景難點(diǎn)分析以及效果的優(yōu)化
- EasyDL經(jīng)典版實(shí)操演示
直播回放:
以下為直播文字實(shí)錄:
EasyDL平臺(tái)介紹
在和某咨詢公司的聯(lián)合調(diào)研中,我們發(fā)現(xiàn)有86%的市場(chǎng)需求需要定制開(kāi)發(fā)業(yè)務(wù)場(chǎng)景下的AI模型。比如工業(yè)場(chǎng)景需要統(tǒng)計(jì)原材料的數(shù)量,食品安全場(chǎng)景需要監(jiān)測(cè)廚房廚師是否佩戴安全帽,在零售場(chǎng)景需要檢查貨品的陳列是否滿足標(biāo)準(zhǔn)……諸如此類的定制化需求,難以用統(tǒng)一的、標(biāo)準(zhǔn)化的服務(wù)去涵蓋,是需要定制開(kāi)發(fā)的。
△需要定制開(kāi)發(fā)AI模型的場(chǎng)景
2017年到2020年,百度AI開(kāi)發(fā)平臺(tái)收到的定制化需求增長(zhǎng)速度非???。但是我們知道,機(jī)器學(xué)習(xí)系統(tǒng)構(gòu)建涉及到非常多的模塊,這些模塊的組合開(kāi)發(fā)具有很大的挑戰(zhàn)性,需要投入大量的人力來(lái)做。因此,百度也總結(jié)了AI定制需求開(kāi)發(fā)與應(yīng)用中的核心的痛點(diǎn):
第一個(gè)痛點(diǎn):數(shù)據(jù)。用戶很難獲得和場(chǎng)景匹配的數(shù)據(jù),并且數(shù)據(jù)清洗標(biāo)注、數(shù)據(jù)的多樣性等方面都存在一些問(wèn)題。
第二個(gè)痛點(diǎn):開(kāi)發(fā)訓(xùn)練。用戶開(kāi)發(fā)模型的成本非常高,算力資源不足,算法的調(diào)優(yōu)比較困難,并且訓(xùn)練耗時(shí)長(zhǎng)。
第三個(gè)痛點(diǎn):部署。部署的成本非常高,難以落地,模型的適配、遷移難,并且還會(huì)有重復(fù)開(kāi)發(fā),預(yù)測(cè)性能差,硬件成本高等問(wèn)題。
為了解決這些痛點(diǎn),百度面向AI開(kāi)發(fā)全流程,提供了一站式的AI開(kāi)發(fā)平臺(tái)—EasyDL。EasyDL主要分成三個(gè)部分。
第一部分是智能數(shù)據(jù)服務(wù)(EasyData),包括數(shù)據(jù)采集、數(shù)據(jù)清洗、數(shù)據(jù)擴(kuò)充、數(shù)據(jù)標(biāo)注四大能力。
EasyData智能數(shù)據(jù)服務(wù)大幅降低了AI定制模型的數(shù)據(jù)成本。用戶如果需要進(jìn)行全流程的數(shù)據(jù)采集、數(shù)據(jù)標(biāo)注、模型迭代,就會(huì)涉及非常多環(huán)節(jié),而且需要不斷的迭代。而EasyData把整個(gè)流程抽象成了5個(gè)模塊:軟硬一體數(shù)據(jù)采集方案,自動(dòng)數(shù)據(jù)清洗/擴(kuò)充,智能標(biāo)注,模型訓(xùn)練與發(fā)布,自動(dòng)數(shù)據(jù)閉環(huán)。通過(guò)這五大模塊的能力,幫助用戶把數(shù)據(jù)采集、模型訓(xùn)練以及最后人工部署的成本都盡可能降低。
第二部分是開(kāi)發(fā)與訓(xùn)練,提供了AutoDL工具,幫助用戶自動(dòng)進(jìn)行模型調(diào)優(yōu);并引入了百度自有的超大規(guī)模預(yù)訓(xùn)練模型,并且預(yù)置了很多場(chǎng)景化算法和網(wǎng)絡(luò);在訓(xùn)練方面提供分布式訓(xùn)練加速的能力。
EasyDL訓(xùn)練平臺(tái)可以幫助用戶使用更少的數(shù)據(jù),獲得更優(yōu)的效果,而且訓(xùn)練速度更快。具體來(lái)說(shuō),基于百度自研的大規(guī)模預(yù)訓(xùn)練模型,大幅降低了數(shù)據(jù)成本;模型的調(diào)優(yōu)方面,采用了領(lǐng)先的AutoDL技術(shù);在訓(xùn)練方面,應(yīng)用了飛槳內(nèi)的訓(xùn)練加速機(jī)制。
第三部分是端云一體服務(wù)部署,支持公有云部署、私有化部署和設(shè)備端部署(EasyEdge)。
EasyDL提供了靈活豐富的服務(wù)部署形態(tài),包含公有云部署、本地服務(wù)器部署、設(shè)備端SDK以及軟硬一體產(chǎn)品。
以上是EasyDL在移動(dòng)端/設(shè)備端的應(yīng)用案例,以深圳旅影為例,用戶訓(xùn)練一個(gè)場(chǎng)景識(shí)別的模型,僅僅迭代兩版就獲得了97%以上的準(zhǔn)確率,效果非常不錯(cuò)。
EasyDL目前支持的圖像任務(wù)類型包括圖像分類、物體檢測(cè)、圖像分割。在企業(yè)應(yīng)用中,圖像分類和物體檢測(cè)占比較高,因此百度在這兩方面投入了很多的人力來(lái)進(jìn)行優(yōu)化。
物體檢測(cè)任務(wù)綜述
物體檢測(cè)定義
物體檢測(cè)是指,給定一張圖片,識(shí)別出圖片中的物體屬于哪個(gè)類別,并對(duì)相應(yīng)的物體進(jìn)行位置的定位。
物體檢測(cè)技術(shù)已經(jīng)發(fā)展了很久,從13年至今,主要有兩個(gè)方面的發(fā)展,一是兩階段檢測(cè)器,二是單階段檢測(cè)器??傮w來(lái)說(shuō)技術(shù)朝著越來(lái)越自動(dòng)化、越來(lái)越高效的方向發(fā)展,來(lái)滿足商業(yè)化的需求。
檢測(cè)器的通用框架
第一個(gè)部分是Feature Extraction特征提取模塊,圖像通過(guò)這個(gè)網(wǎng)絡(luò)可以提取出相應(yīng)的特征。
第二個(gè)部分是bonding box Matching,Labeling and Sampling模塊,輸入一系列的物體標(biāo)注框,會(huì)有一系列的anchor(錨框),比如上圖最右邊的紅色和綠色框就是我們預(yù)先定義好的anchor,模型就會(huì)用這些anchor作為一個(gè)基準(zhǔn),再去學(xué)習(xí)物體的定位。有了這些anchor之后,我們要和這些GT框進(jìn)行匹配,去挑選出與物體比較吻合的框,稱為正樣本,就是綠色的框,不符合的框是負(fù)樣本。
從上圖中可以看出,這里的負(fù)樣本的數(shù)量非常多,無(wú)法直接拿來(lái)學(xué)習(xí)。所以接下來(lái)要增加一個(gè)采樣的模塊,挑選出適合模型訓(xùn)練的正負(fù)樣本,再輸入到下一個(gè)模塊—Detection檢測(cè)器,并進(jìn)行分類網(wǎng)絡(luò)和回歸網(wǎng)絡(luò)的學(xué)習(xí)。
極小目標(biāo)檢測(cè)場(chǎng)景難點(diǎn)分析及效果優(yōu)化
以COCO數(shù)據(jù)集中的物體定義為例,小物體是指小于32×32個(gè)像素點(diǎn)。在實(shí)際場(chǎng)景中,我們更傾向于使用相對(duì)于原圖的比例來(lái)定義。
因此,我們給出相對(duì)的定義,物體標(biāo)注框的長(zhǎng)寬乘積,除以整個(gè)圖像的長(zhǎng)寬乘積,再開(kāi)根號(hào),如果結(jié)果小于3%,就稱之為小物體。
常見(jiàn)的極小目標(biāo)檢測(cè)場(chǎng)景如圖示。這些檢測(cè)場(chǎng)景有什么難點(diǎn)呢?總結(jié)來(lái)說(shuō):
難點(diǎn)1:檢測(cè)框的高寬比多變,甚至出現(xiàn)極端的高寬比,漏檢率比較高;
難點(diǎn)2:背景雜亂,誤檢率比較高;
難點(diǎn)3:數(shù)據(jù)源稀缺,沒(méi)有豐富的數(shù)據(jù)訓(xùn)練;
難點(diǎn)4:圖片非常大,檢測(cè)框非常小,所以漏檢率高。
優(yōu)化案例1:以貨架擋板檢測(cè)場(chǎng)景為例
如圖中綠框所示,貨架擋板檢測(cè)的難點(diǎn)在于貨架擋板的高寬比非常極端,我們先選一些基礎(chǔ)的模型來(lái)訓(xùn)練。
比如我們?nèi)SD、YOLO、Faster RCNN等,就發(fā)現(xiàn)Faster RCNN達(dá)到了最好的效果—0.812。怎么進(jìn)一步優(yōu)化呢?
針對(duì)上述難點(diǎn)1,業(yè)界有Anchor自適應(yīng)算法可以解決這類問(wèn)題:
△Anchor自適應(yīng)算法概覽
我們重點(diǎn)介紹差分進(jìn)化算法、超參優(yōu)化算法這兩種具有通用性的技術(shù)。
1、差分進(jìn)化算法
其特點(diǎn)是簡(jiǎn)單、高效、可拓展。搜索超參是anchor的高寬比和尺度,優(yōu)化目標(biāo)是所有檢測(cè)框與匹配的anchor的iou總和最大。
算法上,第一步是初始化種群。第二步是開(kāi)始迭代的差分進(jìn)化,保留優(yōu)秀個(gè)體,淘汰劣質(zhì)個(gè)體。包含變異-交叉-選擇3個(gè)操作:
變異:從種群中隨機(jī)挑選兩個(gè)個(gè)體,用一定的規(guī)則去產(chǎn)生一個(gè)變異個(gè)體;
交叉:變異個(gè)體與事先指定的某個(gè)目標(biāo)個(gè)體進(jìn)行參數(shù)混合,生成實(shí)驗(yàn)個(gè)體;
選擇:將實(shí)驗(yàn)個(gè)體的優(yōu)化指標(biāo)與目標(biāo)個(gè)體進(jìn)行對(duì)比,保留優(yōu)化指標(biāo)較好的個(gè)體;
以上3個(gè)操作迭代循環(huán),實(shí)現(xiàn)優(yōu)勝劣汰的能力。
這個(gè)方案的優(yōu)點(diǎn)就是速度快,無(wú)需訓(xùn)練模型,并且可以廣泛的適用于各種檢測(cè)模型,這種算法已經(jīng)在EasyDL經(jīng)典版上集成了。
2、超參優(yōu)化算法
其特點(diǎn)是優(yōu)化目標(biāo)和訓(xùn)練模型是一致的。優(yōu)化目標(biāo)是訓(xùn)練中的模型指標(biāo)(AP)最優(yōu),可以運(yùn)用貝葉斯優(yōu)化、進(jìn)化算法等超參優(yōu)化算法。
優(yōu)點(diǎn)是以模型評(píng)估指標(biāo)作為優(yōu)化的目標(biāo),效果更佳,并可廣泛適用于各種檢測(cè)模型。
其缺點(diǎn)是比較耗費(fèi)計(jì)算資源。但是相關(guān)算法能力已經(jīng)在EasyDL專業(yè)版集成,用戶可以通過(guò)EasyDL專業(yè)版創(chuàng)建項(xiàng)目,實(shí)現(xiàn)自動(dòng)超參搜索。
貨架擋板檢測(cè)優(yōu)化—anchor優(yōu)化
我們將anchor自適應(yīng)的方法應(yīng)用在本案例上。相對(duì)于默認(rèn)ratios來(lái)說(shuō),自適應(yīng)算法算出了5個(gè)比例,也就是說(shuō)5個(gè)比例比較適合于這個(gè)模型。
我們用anchor自適應(yīng)的算法進(jìn)行優(yōu)化,效果從0.812提升到0.87。
那么如何進(jìn)一步優(yōu)化?我們之前提到了難點(diǎn)2(背景雜亂)和難點(diǎn)3(數(shù)據(jù)稀缺),現(xiàn)在繼續(xù)采用自動(dòng)數(shù)據(jù)增強(qiáng)的方案,去優(yōu)化數(shù)據(jù)本身。
△自動(dòng)數(shù)據(jù)增強(qiáng)算法概覽
我們概覽下自動(dòng)數(shù)據(jù)增強(qiáng)的一些主要算法。AutoAugment是第一個(gè)能得到很好效果的增強(qiáng)算法,但其搜索成本很高。
PBA算法采用優(yōu)勝劣汰的思路,在多個(gè)網(wǎng)絡(luò)的并發(fā)訓(xùn)練中不斷“利用”和“擾動(dòng)”網(wǎng)絡(luò)的權(quán)重,以期獲得最優(yōu)的數(shù)據(jù)增強(qiáng)調(diào)度策略。這個(gè)思路直覺(jué)上是可以通過(guò)優(yōu)勝劣汰來(lái)搜索到最優(yōu)策略。
DADA借鑒了DARTS的可微設(shè)計(jì)思路,搜索成本低,但增強(qiáng)算子權(quán)重梯度更新的方式限制了數(shù)據(jù)讀取速度。
以PBA為例,其特點(diǎn)是靈活、可拓展。
如圖,起兩個(gè)進(jìn)程分別訓(xùn)練模型,訓(xùn)練模型的主要參數(shù)一是超參,另外一個(gè)是權(quán)重(模型本身的參數(shù))。
通過(guò)第一步訓(xùn)練,第二步需在某一個(gè)時(shí)間點(diǎn),比較兩個(gè)進(jìn)程的效果,效果更優(yōu)的進(jìn)程就會(huì)取代效果差的進(jìn)程的權(quán)重。第三步,直接復(fù)制權(quán)重。第四步,擾動(dòng)原來(lái)的超參,產(chǎn)生一組新的超參,并繼續(xù)訓(xùn)練。
迭代循環(huán)這個(gè)訓(xùn)練流程,就可以產(chǎn)生一個(gè)增強(qiáng)算子的調(diào)度組合,并且是比較適合于這個(gè)數(shù)據(jù)集本身的。
EasyDL也上線了自動(dòng)數(shù)據(jù)增強(qiáng)搜索的能力,基于百度自研的分布式智能搜索的能力,目前支持PBA算法。算子方面,支持圖像分類和物體檢測(cè)兩種,開(kāi)放了超過(guò)40種的算子。
并且提供了工業(yè)級(jí)的搜索算法,搜索的效率更高。在EasyDL線上的多場(chǎng)景模型精度上,平均提升了7%以上。
貨架擋板檢測(cè)優(yōu)化—自動(dòng)數(shù)據(jù)增強(qiáng)
我們把自動(dòng)數(shù)據(jù)增強(qiáng)應(yīng)用在貨架擋板檢測(cè)案例上,從原來(lái)的0.87提升到了0.88。
我們?cè)倏紤]一個(gè)問(wèn)題,模型訓(xùn)練本身的超參非常多,如何才能搜索出最佳超參下的效果呢?
我們可以采用自動(dòng)超參搜索的技術(shù)。
EasyDL的自動(dòng)超參搜索技術(shù)是基于百度內(nèi)部的分布式智能搜索服務(wù),目前支持隨機(jī)搜索、貝葉斯搜索和進(jìn)化算法三種算法,支持圖像分類和物體檢測(cè)兩類任務(wù)。
有兩大特點(diǎn),一是其中的一些算法可以進(jìn)行無(wú)梯度優(yōu)化,不依賴于平滑性假設(shè)。二是支持大規(guī)模并行搜索調(diào)參。
在EasyDL線上多場(chǎng)景上面,加上我們自動(dòng)數(shù)據(jù)增強(qiáng),再加上超參搜索,檢測(cè)精度平均提升10%以上。
貨架擋板檢測(cè)優(yōu)化—自動(dòng)超參搜索效果
繼續(xù)把自動(dòng)超參搜索應(yīng)用到本案例中,效果從0.88提升到0.92??傮w來(lái)說(shuō),我們通過(guò)一系列的效果優(yōu)化,從最初的0.812提升到了現(xiàn)在的0.92,效果上非??捎^。
優(yōu)化案例2:以電力巡檢缺陷檢測(cè)為例
接下來(lái)我們?cè)倏措娏ρ矙z缺陷檢測(cè)案例的優(yōu)化。這個(gè)案例的難點(diǎn)在于圖片非常大(4k分辨率),但是檢測(cè)框卻非常小,所以其漏檢率非常高。
首先,選擇一個(gè)基礎(chǔ)模型,這里選擇了retinanet和Faster RCNN,mAP最高是0.61。
anchor自適應(yīng)優(yōu)化
接下來(lái)用anchor自適應(yīng)優(yōu)化進(jìn)行調(diào)節(jié),藍(lán)框是K-means聚類的結(jié)果;粉紅框是差分進(jìn)化的結(jié)果,可以看出差分進(jìn)化算法在匹配效果上更加優(yōu)秀。
利用anchor自適應(yīng)優(yōu)化算法,檢測(cè)結(jié)果從0.61提升到0.65。效果有所提升,但對(duì)于商用場(chǎng)景來(lái)說(shuō)不夠理想。那么,如何從根本上提升效果?
自動(dòng)切圖優(yōu)化
這里涉及到了上述的第4個(gè)難點(diǎn),圖片非常大,檢測(cè)框非常小。因此,這里就考慮用到自動(dòng)切圖技術(shù),既能夠不放大圖片尺寸,又能夠放大檢測(cè)目標(biāo)。
我們把這張圖切成了9個(gè)子圖,9個(gè)子圖有一定的相交。問(wèn)題是這9張子圖全部都要參與訓(xùn)練,也就是會(huì)增加9倍的簡(jiǎn)單的負(fù)樣本,而且模型并沒(méi)有可以選擇的機(jī)會(huì)。就會(huì)導(dǎo)致模型越學(xué)越簡(jiǎn)單,無(wú)法檢測(cè)很難的案例。
如何解決這個(gè)問(wèn)題?首先,挑選出包含較難負(fù)樣本的Negative chips切圖,把包括這些較難的負(fù)樣本的區(qū)域提取出來(lái),作為一個(gè)子圖,實(shí)現(xiàn)自動(dòng)挑難負(fù)樣本的能力。
△SNIPER-正樣本切圖策略
其次,用切圖代替原圖,并降低計(jì)算量。
SNIPER論文考慮到了這個(gè)問(wèn)題,以正樣本的切圖為例,小尺寸圖對(duì)應(yīng)小GT框。
△SNIPER-負(fù)樣本切圖策略
對(duì)于負(fù)樣本,則先訓(xùn)練幾個(gè)epochs,使模型具有一定的分辨能力,標(biāo)記假陽(yáng)性的難負(fù)樣本,并學(xué)習(xí)錯(cuò)誤的樣本。通過(guò)這種方式,可以找到最難的一批負(fù)樣本切圖。
接下來(lái),把這些正負(fù)樣本切圖直接送入到模型的訓(xùn)練中。SNIPER切圖技術(shù)本質(zhì)上就是一種切圖采樣策略,也就是說(shuō),針對(duì)任意一個(gè)檢測(cè)器,都可以采用這樣的前置策略。
回到案例,采用這種自動(dòng)切圖技術(shù),效果從0.65直接提升到0.93,這個(gè)效果的跨越幅度非常大。這也證明了自動(dòng)切圖算法能夠從根本上能夠解決小目標(biāo)檢測(cè)的問(wèn)題。
EasyDL經(jīng)典版實(shí)操演示
詳細(xì)操作指南可參考百度EasyDL官網(wǎng)介紹文檔,不再贅述。
—完—
- 天云數(shù)據(jù)CEO雷濤:從軟件到數(shù)件,AI生態(tài)如何建立自己的“Android”?| 量子位·視點(diǎn)分享回顧2022-03-23
- 火熱報(bào)名中丨2022實(shí)景三維創(chuàng)新峰會(huì)成都站將于4月13日召開(kāi)!2022-03-21
- 從軟件到數(shù)件,AI生態(tài)如何建立自己的“Android”?天云數(shù)據(jù)CEO直播詳解,可預(yù)約 | 量子位·視點(diǎn)2022-03-11
- 什么樣的AI制藥創(chuàng)企才能走得更遠(yuǎn)?來(lái)聽(tīng)聽(tīng)業(yè)內(nèi)怎么說(shuō)|直播報(bào)名2022-03-03