本發(fā)明涉及圖像及視頻目標檢測領(lǐng)域,特別涉及一種基于深度學習的服務(wù)機器人目標檢測與定位方法
背景技術(shù):
目標檢測與定位對于人來說是再簡單不過的任務(wù),但是對于機器人來說,很難直接得到圖像中有哪些目標這種高層語義概念,也不清楚目標出現(xiàn)在圖像中哪個區(qū)域。圖像中的目標可能出現(xiàn)在任何位置,目標的形態(tài)可能存在各種各樣的變化,圖像的背景千差萬別,這些因素導致服務(wù)機器人的目標檢測與定位并不是一個容易解決的任務(wù)。
傳統(tǒng)的目標檢測方法一般分為三個階段,首先在給定的圖像上選擇一些候選區(qū)域,然后對這些區(qū)域提取特征,最后使用分類器進行分類。
傳統(tǒng)方法存在許多問題,比如:提取區(qū)域時為了保證不同的長寬比,不同的尺度采取的窮舉策略,時間復雜度太高;采用人工的特征提取方法,雖然該方法在特定的特征在特定的目標檢測問題中取得了較好的效果,但這種人工的特征提取方法極大地依賴經(jīng)驗,而且在復雜場景下,特征匹配的復雜度高、魯棒性差;采用分步進行的方法,耗時多且不具有實時性。
本發(fā)明設(shè)計的方法解決了依賴人工提取特征、復雜場景下魯棒性差以及不具有實時性的問題,建立了整個服務(wù)機器人目標檢測與定位系統(tǒng),可以直接應(yīng)用于家庭、辦公室、機場、酒店等多種場合。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于設(shè)計一種基于深度學習的實時性好、準確率高的服務(wù)機器人目標檢測與定位方法,實現(xiàn)服務(wù)機器人在復雜室內(nèi)環(huán)境下的目標實時檢測與定位功能。
具體步驟如下:
(1)搭建服務(wù)機器人目標檢測與識別系統(tǒng);
(2)采集服務(wù)機器人待檢測物體的圖像并制作包含訓練集和驗證集的圖像數(shù)據(jù)集;
(3)設(shè)計深度卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),包括特征提取網(wǎng)絡(luò)、區(qū)域提取網(wǎng)絡(luò)以及分類與位置回歸網(wǎng)絡(luò);
(4)在深度學習框架下進行訓練得到模型,將模型移植到開發(fā)板上,并編寫腳本程序調(diào)用模型以及攝像頭進行測試,設(shè)計服務(wù)機器人目標檢測與定位系統(tǒng);
(5)服務(wù)機器人能夠根據(jù)攝像頭捕捉到的圖像確定目標的類別同時給出目標在圖像中的位置。
在一些實施方式中步驟(1)包括如下步驟:
(1.1)系統(tǒng)由nvidiajetsontx1開發(fā)板(以下簡稱tx1)和usb攝像頭組成。tx1以nvidiamaxwelltm架構(gòu)為基礎(chǔ)構(gòu)建,含有256個cuda核心,提供每秒超過一萬億次的浮點運算的性能;且體積小巧、高度集成,適合嵌入式深度學習、計算機視覺、圖形和gpu計算。usb攝像頭體積小巧、可調(diào)節(jié)俯仰角度。
(1.2)通過jetpack2.3給tx1安裝ubuntu系統(tǒng),并實現(xiàn)外部存儲空間擴展以及交換空間,為搭建深度學習框架以及深度卷積神經(jīng)網(wǎng)絡(luò)提供足夠的空間。
(1.3)將usb攝像頭與之連接,并測試其可用性。
在一些實施方式中,步驟(2)具體包括如下步驟:
(2.1)通過各種網(wǎng)站上相關(guān)圖片下載和相機拍攝,采集每類物體的圖像,包括彩色的和黑白的,不同角度和光照條件下的,背景復雜程度不同的,圖片中物體個數(shù)以及物體在圖片中所占比例不同的圖片。室內(nèi)物體數(shù)據(jù)集包含電腦、桌子、椅子、沙發(fā)、盆栽、瓶子,共1300張圖像;兒童玩具數(shù)據(jù)集包含螺絲釘模型、螺絲帽模型、釘子模型、錘子模型,共1100張圖像。
(2.2)對原始圖像做隨機旋轉(zhuǎn)、隨機翻轉(zhuǎn)、隨機改變亮度、隨機剪裁等操作,使數(shù)據(jù)集更豐富。然后對原始圖像進行標注,框出每個目標的位置并標注出其標簽,制作成xml格式作為標簽文件。
(2.3)將每個數(shù)據(jù)集中的圖片均按照1:4的比例分為驗證集和訓練集。
(2.4)每個數(shù)據(jù)集均包含三個文件夾,分別為存儲圖片、標簽文件以及訓練驗證文件。
在一些實施方式中,卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計具體為:
該網(wǎng)絡(luò)結(jié)構(gòu)由特征提取網(wǎng)絡(luò)、區(qū)域提取網(wǎng)絡(luò)以及分類與位置回歸網(wǎng)絡(luò)組成。特征提取網(wǎng)絡(luò)對輸入圖像進行特征提取,將提取出的原始特征同時輸入給區(qū)域提取網(wǎng)絡(luò)和分類與位置回歸網(wǎng)絡(luò)。區(qū)域提取網(wǎng)絡(luò)將原始特征圖轉(zhuǎn)化為感興趣區(qū)域特征圖,并將其輸入給分類與位置回歸網(wǎng)絡(luò)。分類與位置回歸網(wǎng)絡(luò)將輸入的原始特征和感興趣區(qū)域特征進行處理,得到目標的類別以及位置信息。
在一些實施方式中步驟(3)中的深度卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)特征提取網(wǎng)絡(luò)、區(qū)域提取網(wǎng)絡(luò)以及分類與位置回歸網(wǎng)絡(luò)組成。具體包括如下步驟:
(3.1)特征提取網(wǎng)絡(luò)對輸入圖像進行特征提取,將提取出的原始特征同時輸入給區(qū)域提取網(wǎng)絡(luò)和分類與位置回歸網(wǎng)絡(luò)。
(3.2)區(qū)域提取網(wǎng)絡(luò)將原始特征圖轉(zhuǎn)化為感興趣區(qū)域特征圖,并將其輸入給分類與位置回歸網(wǎng)絡(luò)。
(3.3)分類與位置回歸網(wǎng)絡(luò)將輸入的原始特征和感興趣區(qū)域特征進行處理,得到目標的類別以及位置信息。
其中特征提取網(wǎng)絡(luò)由輸入層和5個卷積層(conv)組成,其中第一個、第二個和第五個卷積層后會緊跟一個最大池化層(max-pooling)和非線性化層(relu),每個卷積層后跟一個歸一化層(norm)。將數(shù)據(jù)集輸入到特征提取網(wǎng)絡(luò)中,將第五個卷積層(conv5)得到的特征圖作為原始特征同時輸入給區(qū)域提取網(wǎng)絡(luò)和分類與位置回歸網(wǎng)絡(luò)。
區(qū)域提取網(wǎng)絡(luò)通過一個小的卷積核在原始特征圖上滑動,在每個特征點上產(chǎn)生一系列預測框,根據(jù)一定的選擇機制得到一個新的特征向量,將其同時輸入給分類層和位置預測層,得到感興趣區(qū)域(rois),同樣作為分類與位置回歸網(wǎng)絡(luò)的輸入。
分類與位置回歸網(wǎng)絡(luò)將特征提取網(wǎng)絡(luò)得到的原始特征圖和區(qū)域提取網(wǎng)絡(luò)得到的感興趣區(qū)域同時輸入給一層池化層和兩層全連接層,得到感興趣區(qū)域特征圖;將感興趣區(qū)域特征圖同時輸入給softmax邏輯回歸層和位置回歸層,實現(xiàn)目標分類和定位。
該網(wǎng)絡(luò)模型實現(xiàn)端對端的操作,只需將數(shù)據(jù)集輸入給輸入層即可得到目標的類別及位置信息。
在一些實施方式中,所述步驟(4)包括如下步驟:
(4.1)將所設(shè)計的網(wǎng)絡(luò)結(jié)構(gòu)搭建在caffe框架下。
(4.2)將所設(shè)計的數(shù)據(jù)集輸入給卷積神經(jīng)網(wǎng)絡(luò),在geforcegtx1080gpu下訓練。
(4.3)經(jīng)過訓練得到目標檢測與定位模型。
(4.4)利用訓練得到的模型,編寫測試腳本程序,調(diào)用攝像頭,實現(xiàn)實時的目標檢測與定位。
附圖說明
圖1是本發(fā)明設(shè)計的卷積神經(jīng)網(wǎng)絡(luò)整體結(jié)構(gòu)圖
圖2是本發(fā)明設(shè)計的特征提取網(wǎng)絡(luò)結(jié)構(gòu)圖
圖3是本發(fā)明設(shè)計的區(qū)域提取網(wǎng)絡(luò)結(jié)構(gòu)圖
圖4是本發(fā)明設(shè)計的分類與位置回歸網(wǎng)絡(luò)結(jié)構(gòu)圖
圖5是本發(fā)明中基于深度學習的目標檢測與定位方法流程圖
具體實施方式
本發(fā)明提出了一種基于深度學習的服務(wù)機器人目標檢測與定位方法,旨在實現(xiàn)服務(wù)機器人在復雜環(huán)境下高效準確地進行目標檢測與定位。首先搭建服務(wù)機器人目標檢測與識別系統(tǒng);然后采集服務(wù)機器人待檢測物體的圖像并制作包含訓練集和驗證集的圖像數(shù)據(jù)集。然后設(shè)計深度卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),包括特征提取網(wǎng)絡(luò)、區(qū)域提取網(wǎng)絡(luò)以及分類與位置回歸網(wǎng)絡(luò)。接下來在深度學習框架下進行訓練得到模型,將模型移植到開發(fā)板上,并編寫腳本程序調(diào)用模型以及攝像頭進行測試,在視頻中顯示多種目標的類別以及在攝像頭捕獲到的圖像中的位置和準確率。在室內(nèi)復雜環(huán)境下,服務(wù)機器人能夠根據(jù)攝像頭捕捉到的圖像確定目標的類別同時給出目標在圖像中的位置,為服務(wù)機器人抓取等操作提供有用信息,且準確率高、實時性好。
在一些實施方式中,目標檢測與定位系統(tǒng)具體為:
(1)系統(tǒng)由nvidiajetsontx1開發(fā)板(以下簡稱tx1)和usb攝像頭組成。tx1以nvidiamaxwelltm架構(gòu)為基礎(chǔ)構(gòu)建,含有256個cuda核心,提供每秒超過一萬億次的浮點運算的性能;且體積小巧、高度集成,適合嵌入式深度學習、計算機視覺、圖形和gpu計算。usb攝像頭體積小巧、可調(diào)節(jié)俯仰角度。
(2)通過jetpack2.3給tx1安裝ubuntu系統(tǒng),并實現(xiàn)外部存儲空間擴展以及交換空間,為搭建深度學習框架以及深度卷積神經(jīng)網(wǎng)絡(luò)提供足夠的空間。
(3)將usb攝像頭與之連接,并測試其可用性。
在一些實施方式中,數(shù)據(jù)集的建立具體為:
(1)通過各種網(wǎng)站上相關(guān)圖片下載和相機拍攝,采集每類物體的圖像,包括彩色的和黑白的,不同角度和光照條件下的,背景復雜程度不同的,圖片中物體個數(shù)以及物體在圖片中所占比例不同的圖片。室內(nèi)物體數(shù)據(jù)集包含電腦、桌子、椅子、沙發(fā)、盆栽、瓶子,共1300張圖像;兒童玩具數(shù)據(jù)集包含螺絲釘模型、螺絲帽模型、釘子模型、錘子模型,共1100張圖像。
(2)對原始圖像做隨機旋轉(zhuǎn)、隨機翻轉(zhuǎn)、隨機改變亮度、隨機剪裁等操作,使數(shù)據(jù)集更豐富。然后對原始圖像進行標注,框出每個目標的位置并標注出其標簽,制作成xml格式作為標簽文件。
(3)將每個數(shù)據(jù)集中的圖片均按照1:4的比例分為驗證集和訓練集。
(4)每個數(shù)據(jù)集均包含三個文件夾,分別為存儲圖片、標簽文件以及訓練驗證文件。
在一些實施方式中,卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計具體為:
(1)該網(wǎng)絡(luò)結(jié)構(gòu)由特征提取網(wǎng)絡(luò)、區(qū)域提取網(wǎng)絡(luò)以及分類與位置回歸網(wǎng)絡(luò)組成。特征提取網(wǎng)絡(luò)對輸入圖像進行特征提取,將提取出的原始特征同時輸入給區(qū)域提取網(wǎng)絡(luò)和分類與位置回歸網(wǎng)絡(luò)。區(qū)域提取網(wǎng)絡(luò)將原始特征圖轉(zhuǎn)化為感興趣區(qū)域特征圖,并將其輸入給分類與位置回歸網(wǎng)絡(luò)。分類與位置回歸網(wǎng)絡(luò)將輸入的原始特征和感興趣區(qū)域特征進行處理,得到目標的類別以及位置信息。
(2)特征提取網(wǎng)絡(luò)由輸入層和5個卷積層(conv)組成,其中第一個、第二個和第五個卷積層后會緊跟一個最大池化層(max-pooling)和非線性化層(relu),每個卷積層后跟一個歸一化層(norm)。將數(shù)據(jù)集輸入到特征提取網(wǎng)絡(luò)中,將第五個卷積層(conv5)得到的特征圖作為原始特征同時輸入給區(qū)域提取網(wǎng)絡(luò)和分類與位置回歸網(wǎng)絡(luò)。
(3)區(qū)域提取網(wǎng)絡(luò)通過一個小的卷積核在原始特征圖上滑動,在每個特征點上產(chǎn)生一系列預測框,根據(jù)一定的選擇機制得到一個新的特征向量,將其同時輸入給分類層和位置預測層,得到感興趣區(qū)域(rois),同樣作為分類與位置回歸網(wǎng)絡(luò)的輸入。
(4)分類與位置回歸網(wǎng)絡(luò)將特征提取網(wǎng)絡(luò)得到的原始特征圖和區(qū)域提取網(wǎng)絡(luò)得到的感興趣區(qū)域同時輸入給一層池化層和兩層全連接層,得到感興趣區(qū)域特征圖;將感興趣區(qū)域特征圖同時輸入給softmax邏輯回歸層和位置回歸層,實現(xiàn)目標分類和定位。
(5)該網(wǎng)絡(luò)模型實現(xiàn)端對端的操作,只需將數(shù)據(jù)集輸入給輸入層即可得到目標的類別及位置信息。
在一些實施方式中,識別測試方法具體為:
(1)將所設(shè)計的網(wǎng)絡(luò)結(jié)構(gòu)搭建在caffe框架下。
(2)將所設(shè)計的數(shù)據(jù)集輸入給卷積神經(jīng)網(wǎng)絡(luò),在geforcegtx1080gpu下訓練。
(3)經(jīng)過訓練得到目標檢測與定位模型。
(4)利用訓練得到的模型,編寫測試腳本程序,調(diào)用攝像頭,實現(xiàn)實時的目標檢測與定位。
下面結(jié)合附圖對本發(fā)明進行詳細說明。
(1)網(wǎng)絡(luò)整體結(jié)構(gòu)
參見圖1,該網(wǎng)絡(luò)結(jié)構(gòu)由特征提取網(wǎng)絡(luò)、區(qū)域提取網(wǎng)絡(luò)以及分類與位置回歸網(wǎng)絡(luò)組成。特征提取網(wǎng)絡(luò)對輸入圖像進行特征提取,將提取出的原始特征同時輸入給區(qū)域提取網(wǎng)絡(luò)和分類與位置回歸網(wǎng)絡(luò)。區(qū)域提取網(wǎng)絡(luò)將原始特征圖轉(zhuǎn)化為感興趣區(qū)域特征圖,并將其輸入給分類與位置回歸網(wǎng)絡(luò)。分類與位置回歸網(wǎng)絡(luò)將輸入的原始特征和感興趣區(qū)域特征進行處理,得到目標的類別以及位置信息。
(2)特征提取網(wǎng)絡(luò)
參見圖2,特征提取網(wǎng)絡(luò)由輸入層和5個卷積層(conv)組成,其中第一個、第二個和第五個卷積層后會緊跟一個最大池化層(max-pooling)和非線性化層(relu),每個卷積層后跟一個歸一化層(norm)。將數(shù)據(jù)集輸入到特征提取網(wǎng)絡(luò)中,將第五個卷積層(conv5)得到的特征圖作為原始特征同時輸入給區(qū)域提取網(wǎng)絡(luò)和分類與位置回歸網(wǎng)絡(luò)。
(3)區(qū)域提取網(wǎng)絡(luò)結(jié)構(gòu)
參見圖3,區(qū)域提取網(wǎng)絡(luò)通過一個小的卷積核在原始特征圖上滑動,在每個特征點上產(chǎn)生一系列預測框,根據(jù)一定的選擇機制得到一個新的特征向量,將其同時輸入給分類層和位置預測層,得到感興趣區(qū)域(rois),同樣作為分類與位置回歸網(wǎng)絡(luò)的輸入。
(4)分類與位置回歸網(wǎng)絡(luò)結(jié)構(gòu)
參見圖4,分類與位置回歸網(wǎng)絡(luò)將特征提取網(wǎng)絡(luò)得到的原始特征圖和區(qū)域提取網(wǎng)絡(luò)得到的感興趣區(qū)域同時輸入給一層池化層和兩層全連接層,得到感興趣區(qū)域特征圖;將感興趣區(qū)域特征圖同時輸入給softmax邏輯回歸層和位置回歸層,實現(xiàn)目標分類和定位。
(5)檢測與定位方法流程
參見圖5,首先采集待識別物體的圖像,制作成圖像數(shù)據(jù)集;然后將所設(shè)計的網(wǎng)絡(luò)結(jié)構(gòu)搭建在caffe框架下,將數(shù)據(jù)集輸入卷積神經(jīng)網(wǎng)絡(luò),在geforcegtx1080gpu下進行訓練,經(jīng)過訓練得到目標檢測與定位模型;編寫腳本程序調(diào)用該模型,實現(xiàn)對于服務(wù)機器人的攝像頭捕捉到的圖像信息,實時輸出圖像中目標類別及位置的功能。