本發(fā)明涉及一種基于深度學(xué)習(xí)的服務(wù)機(jī)器人物體識(shí)別方法,屬于服務(wù)機(jī)器人物體識(shí)別領(lǐng)域。
背景技術(shù):
物體識(shí)別是機(jī)器視覺研究中的重要問題,而室內(nèi)物體識(shí)別是智能服務(wù)機(jī)器人完成服務(wù)任務(wù)的必備技能。由于物體種類繁多,特征各不相同,且室內(nèi)環(huán)境因光照、遮擋、角度等問題復(fù)雜多變,室內(nèi)物體識(shí)別仍然沒有一個(gè)高效的通用方法,所以室內(nèi)物體識(shí)別問題受到廣泛關(guān)注。物體識(shí)別是通過特征匹配或模型識(shí)別的方法,確定所獲取的圖像中是否存在待識(shí)別物體。傳統(tǒng)的基于特征匹配的物體識(shí)別方法一般為,首先提取物體的圖像特征,然后對(duì)提取到的特征進(jìn)行描述,最后對(duì)被描述的物體進(jìn)行特征匹配。雖然特定的特征在特定的物體識(shí)別問題中取得了較好的效果,但這種人工的特征提取方法極大地依賴經(jīng)驗(yàn);而且在復(fù)雜場(chǎng)景下,特征匹配的復(fù)雜度高、魯棒性差;再加上這種分步進(jìn)行的方法耗時(shí)多,不具有實(shí)時(shí)性。本發(fā)明設(shè)計(jì)的方法解決了依賴人工提取特征、復(fù)雜場(chǎng)景下魯棒性差以及不具有實(shí)時(shí)性的問題,建立了整個(gè)物體識(shí)別系統(tǒng),對(duì)于服務(wù)機(jī)器人物體識(shí)別具有重要的借鑒意義,可以直接應(yīng)用于家庭、辦公室、機(jī)場(chǎng)、酒店等多種場(chǎng)合。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于設(shè)計(jì)一種基于深度學(xué)習(xí)的實(shí)時(shí)性好、準(zhǔn)確率高的服務(wù)機(jī)器人物體識(shí)別算法,實(shí)現(xiàn)服務(wù)機(jī)器人在復(fù)雜室內(nèi)環(huán)境下的物體識(shí)別功能。
本發(fā)明的目的是這樣實(shí)現(xiàn)的:包括如下步驟:
步驟一:采集服務(wù)機(jī)器人待識(shí)別物體的圖像并制作包含訓(xùn)練集和驗(yàn)證集的圖像數(shù)據(jù)集;
步驟二:設(shè)計(jì)卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),在深度學(xué)習(xí)框架下進(jìn)行訓(xùn)練得到物體識(shí)別模型;
步驟三:利用物體識(shí)別模型進(jìn)行測(cè)試,實(shí)現(xiàn)室內(nèi)復(fù)雜環(huán)境下的物體識(shí)別,服務(wù)機(jī)器人能夠根據(jù)攝像頭捕捉到的圖像確定目標(biāo)物體的類別,完成物體識(shí)別。
本發(fā)明還包括這樣一些結(jié)構(gòu)特征:
1.步驟一包括:
(1)通過下載和相機(jī)拍攝采集待識(shí)別物體的圖像,待識(shí)別物體包含杯子、鑰匙、筆和u盤四類物體,每類物體的圖片共采集150張;
(2)將所采集的圖片歸一化為統(tǒng)一的尺寸、格式;
(3)將所采集的每類物體的圖片按照1:4的比例分為驗(yàn)證集和訓(xùn)練集,并做好對(duì)應(yīng)的標(biāo)簽;
(4)將驗(yàn)證集和訓(xùn)練集分別生成文件路徑與標(biāo)簽一一對(duì)應(yīng)的文本文件備用。
2.步驟二具體包括:
(1)設(shè)計(jì)一個(gè)共有八層的原始的網(wǎng)絡(luò)結(jié)構(gòu),八層的原始的網(wǎng)絡(luò)結(jié)構(gòu)包括五個(gè)卷積模塊、兩個(gè)全連接層、一個(gè)輸出分類層,每個(gè)卷積模塊包括卷積層、激活函數(shù)層、池化層、標(biāo)準(zhǔn)化層;
(2)根據(jù)卷積核大小、參數(shù)設(shè)置和網(wǎng)絡(luò)層數(shù)三個(gè)方面對(duì)原始網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行優(yōu)化,得到用于訓(xùn)練物體識(shí)別模型的、優(yōu)化后的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu);
a、卷積核大?。悍治龅谝粋€(gè)卷積層的卷積核大小對(duì)識(shí)別準(zhǔn)確率的影響,將準(zhǔn)確率最高時(shí)采用的卷積核大小設(shè)置為優(yōu)化后網(wǎng)絡(luò)的第一層卷積層的卷積核大??;
b、參數(shù)設(shè)置:分析dropoutratio的取值對(duì)識(shí)別準(zhǔn)確率的影響,調(diào)整dropout層的dropoutratio的取值情況,將準(zhǔn)確率最高時(shí)采用的dropoutratio取值組合作為優(yōu)化后網(wǎng)絡(luò)的dropoutratio值;
c、網(wǎng)絡(luò)層數(shù):分析網(wǎng)絡(luò)層數(shù)對(duì)識(shí)別準(zhǔn)確率的影響,在原始網(wǎng)絡(luò)結(jié)構(gòu)基礎(chǔ)上進(jìn)行改變,設(shè)計(jì)出不同卷積層數(shù)的網(wǎng)絡(luò)結(jié)構(gòu),將識(shí)別準(zhǔn)確率最高的網(wǎng)絡(luò)層數(shù)設(shè)置為優(yōu)化后的網(wǎng)絡(luò)層數(shù);
(3)將優(yōu)化后的網(wǎng)絡(luò)結(jié)構(gòu)搭建在caffe框架下;
(4)將數(shù)據(jù)集輸入給卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),在geforcegtx1080gpu下訓(xùn)練;
(5)經(jīng)過20000次訓(xùn)練得到物體識(shí)別模型。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:本發(fā)明通過采集服務(wù)機(jī)器人待識(shí)別的物體圖像并制作數(shù)據(jù)集,設(shè)計(jì)卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),在深度學(xué)習(xí)框架下進(jìn)行訓(xùn)練得到物體識(shí)別模型,并利用物體識(shí)別模型進(jìn)行測(cè)試,實(shí)現(xiàn)室內(nèi)復(fù)雜環(huán)境下的物體識(shí)別,服務(wù)機(jī)器人能夠根據(jù)攝像頭捕捉到的圖像確定目標(biāo)物體的類別,完成物體識(shí)別的任務(wù)。
本發(fā)明設(shè)計(jì)了一種基于深度學(xué)習(xí)算的實(shí)時(shí)性好、準(zhǔn)確率高的服務(wù)機(jī)器人物體識(shí)別算法,包括數(shù)據(jù)集的設(shè)計(jì)、卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)設(shè)計(jì)以及識(shí)別測(cè)試方法。傳統(tǒng)的基于特征匹配的識(shí)別方法首先要提取圖像特征,然后進(jìn)行特征描述,最后進(jìn)行特征匹配確定該物體的類別。針對(duì)傳統(tǒng)識(shí)別方法提取特征時(shí)極大得依賴人工經(jīng)驗(yàn)的問題,提出了基于深度學(xué)習(xí)算法的識(shí)別方法,不需要人工提取特征完全由深度學(xué)習(xí)網(wǎng)絡(luò)模型從底層到高層、自動(dòng)地提取特征;針對(duì)傳統(tǒng)識(shí)別方法,由于選取的特征具有特定性導(dǎo)致的在復(fù)雜場(chǎng)景下魯棒性差的問題,本發(fā)明提出的算法提取到的特征不只是特定的某一種,而是諸如顏色、形狀等特征的組合,因此在復(fù)雜環(huán)境下更具有魯棒性;針對(duì)傳統(tǒng)識(shí)別方法實(shí)時(shí)性差的問題,本發(fā)明提出的算法,自動(dòng)提取特征并進(jìn)行分類,這種端對(duì)端的方式可以節(jié)省分步處理產(chǎn)生的時(shí)間消耗,極大地提高實(shí)時(shí)性。本發(fā)明實(shí)現(xiàn)了服務(wù)機(jī)器人的物體識(shí)別功能,適用于復(fù)雜室內(nèi)環(huán)境下的目標(biāo)識(shí)別任務(wù),可廣泛應(yīng)用于家庭、辦公室等多種復(fù)雜環(huán)境下的目標(biāo)識(shí)別中,算法的實(shí)時(shí)性、魯棒性和高準(zhǔn)確率可保證機(jī)器人在復(fù)雜環(huán)境下完成多種目標(biāo)的識(shí)別任務(wù)。
附圖說明
圖1是本發(fā)明設(shè)計(jì)的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖;
圖2是本發(fā)明中基于深度學(xué)習(xí)的物體識(shí)別算法流程圖。
具體實(shí)施方式
下面結(jié)合附圖與具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步詳細(xì)描述。
本發(fā)明提出了一種基于深度學(xué)習(xí)的服務(wù)機(jī)器人物體識(shí)別方法,旨在實(shí)現(xiàn)服務(wù)機(jī)器人在復(fù)雜環(huán)境下高效準(zhǔn)確地進(jìn)行物體識(shí)別。首先采集服務(wù)機(jī)器人待識(shí)別物體的圖像并制作包含訓(xùn)練集和驗(yàn)證集的圖像數(shù)據(jù)集。然后設(shè)計(jì)原始卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),包括卷積層、降采樣層、全連接層等,用于訓(xùn)練分類模型。接下來從第一層卷積層的卷積核大小、參數(shù)設(shè)置和網(wǎng)絡(luò)層數(shù)確定三個(gè)方面對(duì)所設(shè)計(jì)的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行優(yōu)化,根據(jù)不同設(shè)置下的識(shí)別準(zhǔn)確率選擇表現(xiàn)最好的三種設(shè)置的組合作為最終的改進(jìn)方案。采用改進(jìn)后的網(wǎng)絡(luò)結(jié)構(gòu),在深度學(xué)習(xí)框架下進(jìn)行訓(xùn)練得到模型,編寫腳本程序調(diào)用物體識(shí)別模型進(jìn)行測(cè)試,對(duì)于每個(gè)輸入圖片,輸出其對(duì)應(yīng)的類別以及準(zhǔn)確率。最后實(shí)現(xiàn)室內(nèi)復(fù)雜環(huán)境下服務(wù)機(jī)器人的物體識(shí)別,服務(wù)機(jī)器人能夠根據(jù)攝像頭捕捉到的圖像確定目標(biāo)物體的類別,完成物體識(shí)別的任務(wù)。
在一些實(shí)施方式中,數(shù)據(jù)集的建立具體為:
(1)通過各種網(wǎng)站上相關(guān)圖片下載和相機(jī)拍攝,采集每類物體的圖像,包括彩色的和黑白的,不同角度和光照條件下的,背景復(fù)雜程度不同的,圖片中物體個(gè)數(shù)以及物體在圖片中所占比例不同的圖片,包含筆、鑰匙、杯子和u盤四類物體的圖片各150張。
(2)為了保持網(wǎng)絡(luò)輸入大小的一致性,將原始圖像歸一化為統(tǒng)一的尺寸、格式,如500*500*3,jpg格式。
(3)將每類物體的圖片按照1:4的比例分為驗(yàn)證集和訓(xùn)練集,并做好對(duì)應(yīng)的標(biāo)簽,如圖片0001.jpg中的物體是杯子,那么圖片0001.jpg的標(biāo)簽為0。
(4)將處理好的數(shù)據(jù)集生成文件路徑與標(biāo)簽一一對(duì)應(yīng)的文本文件備用。
在一些實(shí)施方式中,卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計(jì)具體為:
(1)首先設(shè)計(jì)一個(gè)原始的網(wǎng)絡(luò)結(jié)構(gòu),該網(wǎng)絡(luò)共有8層,包括5個(gè)卷積模塊(卷積層加上其后的激活函數(shù)層、池化層、標(biāo)準(zhǔn)化層組成一個(gè)卷積模塊),2個(gè)全連接層,1個(gè)輸出分類層。
(2)分析第一個(gè)卷積層的卷積核大小對(duì)識(shí)別準(zhǔn)確率的影響,將準(zhǔn)確率最高時(shí)采用的卷積核大小設(shè)置為優(yōu)化后網(wǎng)絡(luò)的第一層卷積層的卷積核大小。
(3)分析dropoutratio的取值對(duì)識(shí)別準(zhǔn)確率的影響,調(diào)整dropout層的dropoutratio的取值情況,將準(zhǔn)確率最高時(shí)采用的dropoutratio取值組合作為優(yōu)化后網(wǎng)絡(luò)的dropoutratio值。
(4)分析網(wǎng)絡(luò)層數(shù)對(duì)識(shí)別準(zhǔn)確率的影響,在原始網(wǎng)絡(luò)結(jié)構(gòu)基礎(chǔ)上進(jìn)行改變,設(shè)計(jì)出不同卷積層數(shù)的網(wǎng)絡(luò)結(jié)構(gòu),將識(shí)別準(zhǔn)確率最高的網(wǎng)絡(luò)結(jié)構(gòu)層數(shù)設(shè)置為優(yōu)化后的網(wǎng)絡(luò)的層數(shù)。
(5)根據(jù)上述三個(gè)方面的優(yōu)化措施對(duì)原始網(wǎng)絡(luò)結(jié)果進(jìn)行優(yōu)化,設(shè)計(jì)出最終網(wǎng)絡(luò)結(jié)構(gòu)用于訓(xùn)練物體識(shí)別模型。
在一些實(shí)施方式中,識(shí)別測(cè)試方法具體為:
(1)將所設(shè)計(jì)的網(wǎng)絡(luò)結(jié)構(gòu)搭建在caffe框架下。
(2)將所設(shè)計(jì)的數(shù)據(jù)集輸入給卷積神經(jīng)網(wǎng)絡(luò),在geforcegtx1080gpu下訓(xùn)練。
(3)經(jīng)過20000次訓(xùn)練得到物體識(shí)別模型。
(4)調(diào)用得到的物體識(shí)別模型,編寫測(cè)試腳本程序,對(duì)于輸入的圖片,實(shí)現(xiàn)實(shí)時(shí)輸出其類別及準(zhǔn)確率的功能。
下面結(jié)合附圖對(duì)本發(fā)明進(jìn)行分步描述:
(1)建立數(shù)據(jù)集
本發(fā)明針對(duì)服務(wù)機(jī)器人對(duì)室內(nèi)復(fù)雜環(huán)境下的物體識(shí)別建立了一個(gè)圖像數(shù)據(jù)集,首先通過網(wǎng)絡(luò)下載和攝像頭采集包括黑白的和彩色的、不同角度和光照情況下的、背景復(fù)雜程度不同的、圖像中物體個(gè)數(shù)以及物體在圖像中所占比例也各不相同(也即圖片一部分來源于網(wǎng)絡(luò),另一部分是通過攝像頭采集的物體圖像。這些圖像既有彩色的也有黑白的,在不同的角度和光照情況拍攝,背景復(fù)雜程度、圖像中物體的個(gè)數(shù)以及物體在圖像中所占比例也各不相同)。為了保持網(wǎng)絡(luò)輸入大小的一致性,將原始圖像歸一化為統(tǒng)一的尺寸。將處理好的數(shù)據(jù)集生成文件路徑與標(biāo)簽一一對(duì)應(yīng)的文本文件備用。建立的數(shù)據(jù)集中包括杯子、鑰匙、筆、u盤共四類,每類物體的圖片有150張,按照1:4的比例分為驗(yàn)證集和訓(xùn)練集。
(2)設(shè)計(jì)卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
本發(fā)明設(shè)計(jì)的原始卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,該網(wǎng)絡(luò)共有8層,包括5個(gè)卷積模塊(卷積層加上其后的激活函數(shù)層、池化層、標(biāo)準(zhǔn)化層組成一個(gè)卷積模塊),2個(gè)全連接層,1個(gè)輸出分類層。第一個(gè)、第二個(gè)和第五個(gè)卷積層后分別緊跟了一個(gè)最大池化層(max-pooling,即降采樣層),其中第一個(gè)和第二個(gè)最大池化層后又緊跟著一個(gè)norm(normalization,標(biāo)準(zhǔn)化)層,兩層全連接層在五個(gè)卷積模塊之后,最后一層是有4個(gè)輸出的類別判定層,針對(duì)待分類的杯子、筆、鑰匙和u盤共四類圖片。除輸出分類層外,各層都采用relu激活函數(shù),相比傳統(tǒng)的sigmoid函數(shù)計(jì)算簡(jiǎn)化、訓(xùn)練時(shí)間短,而且可以避免梯度消失的問題。最大池化層采用重疊池化(overlappingpooling),在一定程度上解決了容易發(fā)生過擬合現(xiàn)象(overfitting)的問題。為了防止在全連接層出現(xiàn)過擬合現(xiàn)象,本文采用一種正則化方法dropout,在訓(xùn)練時(shí)隨機(jī)地忽略網(wǎng)絡(luò)中某些節(jié)點(diǎn)的權(quán)重,保留這些權(quán)重但不更新,暫時(shí)認(rèn)為忽略的節(jié)點(diǎn)不是網(wǎng)絡(luò)結(jié)構(gòu)的一部分,但不刪除這些節(jié)點(diǎn)。
由于第一層卷積層距離原始圖像最近,參數(shù)也最敏感,后續(xù)的操作依賴于該層輸出,卷積核越小提取到的細(xì)節(jié)特征越多,而較大的卷積核可以得到更多的結(jié)構(gòu)信息。為分析第一層卷積層的卷積核大小對(duì)識(shí)別準(zhǔn)確率的影響,做一組對(duì)比試驗(yàn),在原始數(shù)據(jù)集上將test模型中的第一層卷積層conv1選用3*3、5*5、7*7、11*11以及15*15大小的五種卷積核,為減少其他因素對(duì)結(jié)果的影響,除卷積核大小不同外,其他網(wǎng)絡(luò)結(jié)構(gòu)均相同。得到的結(jié)果為5*5的卷積核表現(xiàn)出更高的識(shí)別準(zhǔn)確率。
為分析dropout層的參數(shù)dropoutratio對(duì)識(shí)別準(zhǔn)確率的影響,做一組對(duì)比試驗(yàn),調(diào)整dropout層的dropoutratio的取值情況,共進(jìn)行五組實(shí)驗(yàn),drop6和drop7層的參數(shù)在0.5~0.7范圍內(nèi)以0.05為最小變化間隔變化,得到的結(jié)果為drop6層的dropoutratio=0.55,drop7層的dropoutratio=0.5時(shí)識(shí)別準(zhǔn)確率最高。
為分析網(wǎng)絡(luò)結(jié)構(gòu)的層數(shù)對(duì)識(shí)別準(zhǔn)確率的影響,在原始網(wǎng)絡(luò)結(jié)構(gòu)基礎(chǔ)上變化出4種只有卷積層數(shù)不同的網(wǎng)絡(luò)結(jié)構(gòu),包含的卷積層數(shù)分別為3、4、6、7,對(duì)于增加網(wǎng)絡(luò)層的結(jié)構(gòu),為了不改變特征圖的大小對(duì)圖片添加大小為1的邊距,增加的卷積層均使用大小為3的卷積核,因?yàn)?是能保證獲取上下、左右和中間像素特征的最小尺寸。得到的結(jié)果為在原始網(wǎng)絡(luò)結(jié)構(gòu)基礎(chǔ)上增加一層卷積層conv6時(shí)識(shí)別準(zhǔn)確率最高。
根據(jù)上述三方面的分析結(jié)果,對(duì)原始網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行改進(jìn),改進(jìn)后的網(wǎng)絡(luò)配置為在卷積層5后加一層卷積層6,增加的卷積層的卷積核大小為3*3;將第一層卷積層的卷積核大小改為5*5;將drop6層的dropoutratio改為0.55;其他部分與原始網(wǎng)絡(luò)完全相同。
(3)識(shí)別算法流程
參見圖2,首先采集待識(shí)別物體的圖像,制作成圖像數(shù)據(jù)集;然后將所設(shè)計(jì)的網(wǎng)絡(luò)結(jié)構(gòu)搭建在caffe框架下,將數(shù)據(jù)集輸入卷積神經(jīng)網(wǎng)絡(luò),在geforcegtx1080gpu下進(jìn)行訓(xùn)練,經(jīng)過20000次訓(xùn)練得到物體識(shí)別模型;編寫腳本程序調(diào)用該物體識(shí)別模型,實(shí)現(xiàn)對(duì)于服務(wù)機(jī)器人自帶的攝像頭捕捉到的圖像信息,實(shí)時(shí)輸出圖像中物體的類別以及準(zhǔn)確率的功能。