周廣證 胡玉芬
(南京理工大學(xué)紫金學(xué)院,江蘇 南京 210046)
隨著計(jì)算機(jī)技術(shù)的發(fā)展,圖像識(shí)別技術(shù)[1]迅速普及到人們的生活中,使人類的生活更加便捷和智能化。圖像識(shí)別是利用計(jì)算機(jī)技術(shù)對(duì)圖片中的目標(biāo)進(jìn)行檢測(cè),其中深度學(xué)習(xí)在現(xiàn)代圖像識(shí)別技術(shù)發(fā)展中得到了非常廣泛的應(yīng)用[2]。圖像識(shí)別技術(shù)的應(yīng)用場(chǎng)合大致可分為三個(gè)方向[3]:(1)對(duì)人面部進(jìn)行檢測(cè)的人臉識(shí)別;(2)對(duì)物體進(jìn)行檢測(cè)的物體識(shí)別;(3)對(duì)手部發(fā)出動(dòng)作進(jìn)行檢測(cè)的手勢(shì)識(shí)別。人臉識(shí)別系統(tǒng)的應(yīng)用主要是在高鐵站、公司、學(xué)校等場(chǎng)所,目的是對(duì)身份進(jìn)行認(rèn)證,確保進(jìn)入場(chǎng)所人員的安全性。物體識(shí)別系統(tǒng)的應(yīng)用場(chǎng)合主要是對(duì)貨物的移動(dòng)進(jìn)行檢測(cè),在物流快遞分配、零售販賣機(jī)、無(wú)人售賣方面都有很好的應(yīng)用[4]。手勢(shì)識(shí)別通常用于使用簡(jiǎn)單的手勢(shì)控制智能設(shè)備,使計(jì)算機(jī)能夠理解人類的行動(dòng)來(lái)達(dá)到人機(jī)交互的目的[5]。本文主要介紹手勢(shì)識(shí)別技術(shù)在小車控制上的應(yīng)用,通過(guò)對(duì)手勢(shì)信息采集處理,最后實(shí)現(xiàn)控制小車的系統(tǒng)。
本文采用公開(kāi)數(shù)據(jù)集kinect_leap_dataset,其官網(wǎng)地址為:https://lttm.dei.unipd.it/downloads/gesture/。手勢(shì)含義規(guī)定如表1所示。
表1 單手手勢(shì)定義
原始數(shù)據(jù)集共有1320個(gè)樣本。為了防止過(guò)擬合,采集后使用數(shù)據(jù)增強(qiáng)技術(shù)對(duì)數(shù)據(jù)集進(jìn)行了擴(kuò)充。主要利用平移、隨機(jī)縮放、翻轉(zhuǎn)變換、添加隨機(jī)噪聲等,可以將數(shù)據(jù)集擴(kuò)充到原始數(shù)據(jù)集的幾十倍。系統(tǒng)的總體框架結(jié)構(gòu)分控制端和執(zhí)行端兩部分,如圖1所示,主要模塊有數(shù)據(jù)采集、數(shù)據(jù)處理、模型處理、結(jié)果處理、通信、小車控制等。
圖1 手勢(shì)控制小車流程圖
當(dāng)前目標(biāo)檢測(cè)的主流方法(Faster RCNN[6],YOLO)采用的都是深度學(xué)習(xí)架構(gòu),按照算法的流程不同,可將其分為兩類算法:一種是單階段檢測(cè)(One stage),另一種是兩階段檢測(cè)(Two stage),其主要區(qū)別在于在網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)過(guò)程中是否有候選區(qū)域的生成。One-stage不會(huì)生成區(qū)域建議,只需要單一的網(wǎng)絡(luò)就能達(dá)到分類和定位的目的,檢測(cè)速度快,但準(zhǔn)確度不高。Two-stage的準(zhǔn)確度高,但速度相對(duì)One-stage較慢。Yolov4-Tiny是兩階段檢測(cè),它的速度相比于Faster-RCNN來(lái)說(shuō)快很多。并且Yolov4的特征提取層(Backbone)采用了特征金字塔+下采樣的結(jié)構(gòu),以及在訓(xùn)練時(shí)采用Mosaic數(shù)據(jù)增強(qiáng)的方法,所以對(duì)于小目標(biāo)檢測(cè)也有著不錯(cuò)的效果。所謂的Mosaic數(shù)據(jù)增強(qiáng)法是將四張隨機(jī)縮放和裁剪的圖像拼接在一起,大大豐富了檢測(cè)數(shù)據(jù)集。但是Yolov4-Tiny目標(biāo)檢測(cè)網(wǎng)絡(luò)也有其缺點(diǎn),它更少的參數(shù)以及更快的速度都是以犧牲識(shí)別準(zhǔn)確率為代價(jià)。因?yàn)閅olov4-Tiny只選擇了兩層來(lái)送入特征金字塔[7],所以對(duì)于小物體檢測(cè),以及一個(gè)目標(biāo)將另一個(gè)目標(biāo)遮擋了一部分是很難檢測(cè)到的。但對(duì)于獨(dú)立出來(lái)的物體檢測(cè)識(shí)別率很高。本項(xiàng)目屬于獨(dú)立物體識(shí)別,因此用這個(gè)算法非常適合。
YOLOv4-Tiny網(wǎng)絡(luò)是YOLOv4的精簡(jiǎn)版,屬于輕量化模型,相比于其他版本的輕量化模型,其性能優(yōu)勢(shì)顯著,整體網(wǎng)絡(luò)框架主要分為四部分:Input、Backbone、Neck、Head,如圖2所示。
(1)Input部分一般大小分為(416,416,3)和(608,608,3)兩種,圖2中輸入采用(416,416,3)。
(2)Backbone部分主要作用是主干特征提取,采用的是CSPDarknet53-Tiny結(jié)構(gòu),該結(jié)構(gòu)主要是Conv-BN-Leaky和Resblock_body兩大模塊,Conv-BN-Leaky主要是二維卷積及正則化,完成殘差塊堆疊,為了快速將激活函數(shù)修改為L(zhǎng)eakyReLU,Resblock_body模塊主要完成兩次殘差特征融合,通過(guò)五次降維變成特征圖維度是13,將獲取到的這兩種有效特征層(13,13,512)傳遞給Neck加強(qiáng)特征提取網(wǎng)絡(luò)中,構(gòu)建特征結(jié)構(gòu)。當(dāng)輸入是416×416×3時(shí),CSPDarknet53-Tiny特征結(jié)構(gòu)如圖2Backbone部分所示。
圖2 YOLOv4-Tiny網(wǎng)絡(luò)結(jié)構(gòu)
(3)Neck部分主要是加強(qiáng)特征提取,在特征利用部分,共提取兩個(gè)特征層,兩個(gè)特征層的shape分別為shape1(26,26,256)、shape2(13,13,512)。利用特征金字塔FPN結(jié)構(gòu)將兩個(gè)特征層融合,具體是將最后一個(gè)shape2的有效特征層卷積后進(jìn)行上采樣,然后與上一個(gè)shape1的有效特征層進(jìn)行堆疊并卷積。
(4)Head部分的分類是基于前面Neck部分最終的特征進(jìn)行分類輸出,支持(26,26,255)、(13,13,255)。因?yàn)樗惴y(cè)驗(yàn)的數(shù)據(jù)集類別支持80種,最后一個(gè)維度255=3×85,其中3表示存在3個(gè)先驗(yàn)框,85等于4+1+80,分別代表x_offset、y_offset、h和w、可信度、分類結(jié)果。
本項(xiàng)目Yolov4-Tiny一開(kāi)始訓(xùn)練了800個(gè)epoch,由于數(shù)據(jù)集單一,數(shù)據(jù)集數(shù)量太小,導(dǎo)致過(guò)擬合,ok手勢(shì)的MAP(均值平均精度)值達(dá)到100,550個(gè)訓(xùn)練次數(shù)之后訓(xùn)練集小于驗(yàn)證集(train loss 圖3 訓(xùn)練集的準(zhǔn)確率和損失率 實(shí)驗(yàn)結(jié)果表明,在環(huán)境比較復(fù)雜情況下識(shí)別率效果也比較好,能準(zhǔn)確識(shí)別出手勢(shì)。 本項(xiàng)目在小車上進(jìn)行實(shí)體驗(yàn)證,根據(jù)電腦單目攝像頭實(shí)時(shí)采集不同的手勢(shì)進(jìn)行識(shí)別,再根據(jù)識(shí)別的結(jié)果來(lái)驅(qū)動(dòng)小車運(yùn)動(dòng)。在電腦控制端當(dāng)手勢(shì)識(shí)別輸出分類結(jié)果后通過(guò)串口或WIFI無(wú)線方式將數(shù)據(jù)傳遞給小車,傳遞數(shù)據(jù)格式采用兩個(gè)字節(jié):類型+識(shí)別結(jié)果ASCII碼,當(dāng)前類型固定為0X01,方便后續(xù)擴(kuò)展功能也為了因數(shù)據(jù)亂碼而導(dǎo)致小車的誤解析。在小車上首先使能串口并設(shè)置波特率為9600,小車上的數(shù)據(jù)接收處理是通過(guò)識(shí)別正確類型后解析識(shí)別結(jié)果,根據(jù)識(shí)別的結(jié)果調(diào)用相關(guān)函數(shù)控制小車的前進(jìn)或者后退等行為。不同的方向控制是對(duì)小車左右電機(jī)的控制,通過(guò)H橋式電路來(lái)控制電機(jī)的正反轉(zhuǎn),并通過(guò)PWM控制轉(zhuǎn)速。實(shí)驗(yàn)結(jié)果如圖4(a)(b)所示,其它的手勢(shì)一樣效果良好,識(shí)別速度快。 圖4 (a)左轉(zhuǎn) 圖4 (b)停止 本實(shí)驗(yàn)主要是搭建Yolov4-Tiny網(wǎng)絡(luò)框架平臺(tái),采用公開(kāi)數(shù)據(jù)集,通過(guò)智能手勢(shì)識(shí)別來(lái)控制小車運(yùn)行,從實(shí)驗(yàn)搭建的目標(biāo)檢測(cè)網(wǎng)絡(luò)效果看,Yolov4-Tiny網(wǎng)絡(luò)識(shí)別率高,速度快,MAP值達(dá)到90%以上。隨著人工智能對(duì)各種應(yīng)用場(chǎng)景的開(kāi)發(fā)以及各類算法研究的深入,手勢(shì)識(shí)別在現(xiàn)在人機(jī)交互中必將發(fā)展壯大。本項(xiàng)目后續(xù)繼續(xù)增加多個(gè)手勢(shì)同時(shí)出現(xiàn)情況以及多環(huán)境下驗(yàn)證模型的可靠性、準(zhǔn)確性等。6 執(zhí)行端設(shè)計(jì)驗(yàn)證
7 總結(jié)與展望