xYOLO | 最新最快的實(shí)時(shí)目標(biāo)檢測(cè)
隨著物聯(lián)網(wǎng)(IoT)、邊緣計(jì)算和自主機(jī)器人等領(lǐng)域的車載視覺(jué)處理技術(shù)的出現(xiàn),人們對(duì)復(fù)合高效卷積神經(jīng)網(wǎng)絡(luò)模型在資源受限的硬件設(shè)備上進(jìn)行實(shí)時(shí)目標(biāo)檢測(cè)的需求越來(lái)越大。Tiny-YOLO通常被認(rèn)為是低端設(shè)備中速度更快的對(duì)象探測(cè)器之一,這個(gè)也是今天作者工作的基礎(chǔ)。
今天要分享的這篇目標(biāo)檢測(cè),在Raspberry PI 3B上實(shí)驗(yàn),Tiny-YOLO可以達(dá)到每秒0.14幀的速度,對(duì)于足球機(jī)器人檢測(cè)球門和球來(lái)說(shuō)太慢了。今天要說(shuō)的這個(gè)技術(shù),一種改進(jìn)的YOLO CNN模型xYOLO,它可以在Raspberry PI 3 B上以9.66 FPS的速度實(shí)現(xiàn)目標(biāo)檢測(cè),這是通過(guò)交換一個(gè)可接受的精度來(lái)實(shí)現(xiàn)的,使網(wǎng)絡(luò)比Tiny-YOLO快約70倍。在CPU和GPU上也實(shí)現(xiàn)了更大的推理速度。此外,還提供了一個(gè)帶注釋的Darknet數(shù)據(jù)集,用于球門和球的檢測(cè)。
相關(guān)工作
傳統(tǒng)上,在機(jī)器人杯類人機(jī)器人比賽中,基于顏色分割的技術(shù)被用來(lái)檢測(cè)足球場(chǎng)的特征,如球門和球。這些技術(shù)是快速和可以實(shí)現(xiàn)良好的精度在簡(jiǎn)單的環(huán)境,例如使用橙色的球,控制室內(nèi)照明和黃色的目標(biāo)。然而,根據(jù)RoboCup 2050年的球門,球隊(duì)已經(jīng)看到了自然光照條件(暴露在陽(yáng)光下)、白色背景的球門和各種顏色的國(guó)際足聯(lián)球?;陬伾指畹募夹g(shù)在這些具有挑戰(zhàn)性的場(chǎng)景中無(wú)法發(fā)揮作用,主要推動(dòng)了實(shí)現(xiàn)多種神經(jīng)網(wǎng)絡(luò)方法的競(jìng)爭(zhēng)。
基于CNN的模型在復(fù)雜場(chǎng)景中的目標(biāo)檢測(cè)精度方面取得了很大進(jìn)展。然而,這些基于cnn的高性能計(jì)算機(jī)視覺(jué)系統(tǒng),雖然比全連接的網(wǎng)絡(luò)精簡(jiǎn)得多,但仍然具有相當(dāng)大的內(nèi)存和計(jì)算消耗,并且只有在高端GPU設(shè)備上才能實(shí)現(xiàn)實(shí)時(shí)性。因此,這些型號(hào)中的大多數(shù)不適合于低端設(shè)備,如智能手機(jī)或移動(dòng)機(jī)器人。這就限制了它們?cè)趯?shí)時(shí)應(yīng)用中的應(yīng)用,比如自主的仿人機(jī)器人踢足球,因?yàn)橛袡?quán)力和重量方面的考慮。因此,開(kāi)發(fā)輕量級(jí)、計(jì)算效率高的模型,使CNN能夠使用更少的內(nèi)存和最少的計(jì)算資源,是一個(gè)活躍的研究領(lǐng)域。
最近發(fā)表了大量關(guān)于適合于低端硬件設(shè)備的目標(biāo)檢測(cè)的輕量級(jí)深入學(xué)習(xí)模型的研究論文。這些模型大多基于SSD、SqueezeNet、AlexNet和GoogleNet。在這些模型中,目標(biāo)檢測(cè)流水線通常包含預(yù)處理、大量卷積層和后處理等幾個(gè)部分。分類器在圖像中的不同位置和多尺度上使用滑動(dòng)窗口方法或區(qū)域候選方法進(jìn)行評(píng)估。這些復(fù)雜的目標(biāo)檢測(cè)計(jì)算量大,因此速度慢。XNOR-Net使用二進(jìn)制運(yùn)算的近似卷積,與傳統(tǒng)卷積中使用的浮點(diǎn)數(shù)相比計(jì)算效率高。XNOR網(wǎng)絡(luò)的一個(gè)明顯的缺點(diǎn)是類似大小的網(wǎng)絡(luò)的準(zhǔn)確性下降。
另一方面,在you only look once(YOLO),目標(biāo)檢測(cè)是一個(gè)單一的回歸問(wèn)題。YOLO工作在邊界框級(jí)別,而不是像素級(jí)別,即YOLO同時(shí)預(yù)測(cè)邊界框和相關(guān)的類概率,從整個(gè)圖像中在一個(gè)“看”。YOLO的一個(gè)主要優(yōu)點(diǎn)是它能夠?qū)ι舷挛男畔⑦M(jìn)行編碼,因此在混淆目標(biāo)圖像中的背景時(shí)出錯(cuò)較少。
“Lighter”版本的YOLO v3,稱為Tiny-YOLO,設(shè)計(jì)時(shí)考慮到了速度,并被普遍報(bào)道為表現(xiàn)較好的模型之一,在速度和準(zhǔn)確性的權(quán)衡。Tiny-YOLO有九個(gè)卷積層和兩個(gè)全連接層。實(shí)驗(yàn)表明,Tiny-YOLO能夠在Raspberry PI 3上實(shí)現(xiàn)0.14 FPS,這與實(shí)時(shí)目標(biāo)檢測(cè)相差很遠(yuǎn)。
從有些文章中的結(jié)果可以看出,這些目標(biāo)檢測(cè)器不能在計(jì)算資源最少的低端硬件上提供實(shí)時(shí)性能(例如,以Raspberry PI作為計(jì)算資源的類人機(jī)器人)。在作者使用的機(jī)器人中,使用一個(gè)計(jì)算資源來(lái)處理幾個(gè)不同的過(guò)程,例如行走引擎、自我定位等。視覺(jué)系統(tǒng)只剩下一個(gè)核心來(lái)執(zhí)行所有的目標(biāo)檢測(cè)。
新的框架方法
作者提出的網(wǎng)絡(luò)xYOLO是從YOLO v3 tiny派生而來(lái)的,具體而言,使用AlexeyAB的DarkNet,它允許XNOR層,并建立在下圖所示的Raspberry PI的基礎(chǔ)上,xYOLO在訓(xùn)練和recall中都使用了正常的卷積層和XNOR層。
每年的RoboCup比賽都會(huì)帶來(lái)新的挑戰(zhàn),在比賽開(kāi)始的時(shí)候,模型必須使用收集到的圖像進(jìn)行再訓(xùn)練。因此,作者設(shè)計(jì)這一網(wǎng)絡(luò)的方法是將訓(xùn)練時(shí)間減少到45分鐘以下,以便對(duì)不同的網(wǎng)絡(luò)配置和新的足球場(chǎng)條件進(jìn)行相對(duì)快速的測(cè)試。
上圖是一個(gè)網(wǎng)絡(luò)的例子,其中的參數(shù)太小,以至于無(wú)法檢測(cè)對(duì)象。在下圖中,這將表現(xiàn)為損失均方誤差在不能將損失降低到可接受的值(即1.5以下)的1000次迭代或模型之前沒(méi)有減少到6以下。一般來(lái)說(shuō)可以得出結(jié)論,一個(gè)網(wǎng)絡(luò)是否在訓(xùn)練的前15分鐘有一個(gè)合理的機(jī)會(huì)成功。
實(shí)驗(yàn)及結(jié)果
下面是xYOLO網(wǎng)絡(luò)的結(jié)構(gòu):
如下表所示,與其他測(cè)試模型相比,xYOLO在計(jì)算效率方面取得了更好的性能。
基于仿人足球數(shù)據(jù)集的目標(biāo)檢測(cè)精度結(jié)果
觀察到上圖,模型在訓(xùn)練和未見(jiàn)測(cè)試集上都取得了相似的精度。與其他模型相比,Tiny-YOLO實(shí)現(xiàn)了更好的目標(biāo)檢測(cè)精度。在驗(yàn)證數(shù)據(jù)集上,xYOLO能夠達(dá)到約68%的準(zhǔn)確率,在測(cè)試集上達(dá)到約67%,這在考慮到xYOLO的速度和大小時(shí)是很好的。
示例目標(biāo)檢測(cè)結(jié)果由模型產(chǎn)生。左側(cè):Tiny-YOLO,中間:xYOLO,右側(cè):Tiny-YOLO-XNOR。當(dāng)每個(gè)網(wǎng)絡(luò)識(shí)別達(dá)到檢測(cè)閾值的對(duì)象時(shí),球和球門被標(biāo)記??梢杂^察到,xYOLO的目標(biāo)檢測(cè)結(jié)果優(yōu)于Tiny-YOLO-XNOR,其結(jié)果與Tiny-YOLO具有可比性。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。