本發(fā)明涉及機(jī)器人技術(shù)領(lǐng)域,尤其涉及一種機(jī)器人視覺跟蹤方法及系統(tǒng)。
背景技術(shù):
在機(jī)器人應(yīng)用當(dāng)中,如何讓機(jī)器人自動的跟蹤目標(biāo)進(jìn)行運(yùn)動和活動是人工智能領(lǐng)域的核心問題之一。目前,基于機(jī)器視覺的機(jī)器人目標(biāo)跟蹤算法主要有:方法一,基于子區(qū)域匹配的目標(biāo)跟蹤方法;方法二,基于卡爾曼濾波和粒子濾波的濾波性跟蹤算法。
好的跟蹤算法應(yīng)該要有很好的魯棒性,而上述方法受外在條件和目標(biāo)運(yùn)動規(guī)律的限制,很難保證算法魯棒性。其中,方法一基于顏色作為匹配特征,采用迭代的方法尋找當(dāng)前幀中目標(biāo)的可能位置,該方法快速高效,但是存在的問題是其對于光照條件十分敏感,當(dāng)光線變化嚴(yán)重時,很難保證算法的魯棒性;方法二是一種目前應(yīng)用較廣泛的目標(biāo)跟蹤方法,其基于線性高斯假設(shè),能很有效地預(yù)測目標(biāo)的線性運(yùn)動。不過,當(dāng)目標(biāo)運(yùn)動不再符合線性假設(shè)時,該方法所預(yù)測的目標(biāo)位置往往會產(chǎn)生較大的偏差。
技術(shù)實(shí)現(xiàn)要素:
針對現(xiàn)有技術(shù)中的缺陷,本發(fā)明提供一種機(jī)器人視覺跟蹤方法及系統(tǒng),基于深度卷積神經(jīng)網(wǎng)絡(luò)和視覺slam技術(shù)進(jìn)行目標(biāo)識別和跟蹤,能夠提高其魯棒性。
第一方面,本發(fā)明提供了一種機(jī)器人視覺跟蹤方法,所述方法包括:
利用深度卷積神經(jīng)網(wǎng)絡(luò),獲取跟蹤目標(biāo)的感興趣區(qū)域;
確定機(jī)器人的當(dāng)前位置信息和機(jī)器人的姿態(tài)信息;
根據(jù)所述感興趣區(qū)域,對所述跟蹤目標(biāo)進(jìn)行檢測,確定所述跟蹤目標(biāo)的當(dāng)前位置信息;
根據(jù)所述機(jī)器人的當(dāng)前位置信息、所述機(jī)器人的姿態(tài)信息和所述跟蹤目標(biāo)的當(dāng)前位置信息,控制機(jī)器人對所述跟蹤目標(biāo)進(jìn)行跟蹤。
進(jìn)一步地,所述利用深度卷積神經(jīng)網(wǎng)絡(luò),獲取跟蹤目標(biāo)的感興趣區(qū)域,具體包括:
采用rgbd相機(jī),采集場景地圖中當(dāng)前幀場景圖像的rgb通道圖像;
對所述rgb通道圖像進(jìn)行預(yù)處理,輸出感興趣區(qū)域圖像;
將所述感興趣區(qū)域圖像輸入深度卷積神經(jīng)網(wǎng)絡(luò);
從所述深度卷積神經(jīng)網(wǎng)絡(luò)的所述感興趣區(qū)域圖像中獲取所述感興趣區(qū)域。
進(jìn)一步地,所述對所述rgb通道圖像進(jìn)行預(yù)處理,輸出感興趣區(qū)域圖像,具體包括:
對所述rgb通道圖像進(jìn)行卷積、非線性激活和池化,得到特征圖;
將所有特征圖輸入到用于預(yù)測興趣區(qū)的子網(wǎng)絡(luò),并對所述特征圖進(jìn)行池化,輸出所述感興趣區(qū)域圖像。
進(jìn)一步地,所述確定機(jī)器人的當(dāng)前位置信息和機(jī)器人的姿態(tài)信息,具體包括:
根據(jù)所述機(jī)器人在上一時刻的位置信息,初步確定所述機(jī)器人的當(dāng)前位置信息;
將所述感興趣區(qū)域與所述語義地圖進(jìn)行特征匹配,進(jìn)一步確定所述機(jī)器人的當(dāng)前位置信息和所述機(jī)器人的姿態(tài)信息。
進(jìn)一步地,所述根據(jù)所述感興趣區(qū)域,對所述跟蹤目標(biāo)進(jìn)行檢測,確定所述跟蹤目標(biāo)的當(dāng)前位置信息,具體包括:
識別所述感興趣區(qū)域中包含的二維碼,根據(jù)所述二維碼檢測所述跟蹤目標(biāo);
在檢測到所述跟蹤目標(biāo)的情況下,根據(jù)所述感興趣區(qū)域、所述機(jī)器人的位置信息和所述機(jī)器人的姿態(tài)信息,確定所述跟蹤目標(biāo)的當(dāng)前位置信息。
進(jìn)一步地,所述根據(jù)所述感興趣區(qū)域,對所述跟蹤目標(biāo)進(jìn)行檢測,確定所述跟蹤目標(biāo)的當(dāng)前位置信息,具體包括:
識別所述感興趣區(qū)域中包含的二維碼,根據(jù)所述二維碼檢測所述跟蹤目標(biāo);
在檢測不到所述跟蹤目標(biāo)的情況下,根據(jù)所述機(jī)器人的姿態(tài)信息和所述語義地圖,判斷前方是否有遮擋物或路徑轉(zhuǎn)角;
在確定有遮擋物或路徑轉(zhuǎn)角的情況下,更新場景地圖,再次檢測所述跟蹤目標(biāo),并確定所述跟蹤目標(biāo)的當(dāng)前位置信息。
進(jìn)一步地,所述根據(jù)所述機(jī)器人的當(dāng)前位置信息、所述機(jī)器人的姿態(tài)信息和所述跟蹤目標(biāo)的當(dāng)前位置信息,控制機(jī)器人對所述跟蹤目標(biāo)進(jìn)行跟蹤,具體包括:
根據(jù)所述機(jī)器人的當(dāng)前位置信息、所述機(jī)器人的姿態(tài)信息和所述跟蹤目標(biāo)的當(dāng)前位置信息,制定相應(yīng)的跟蹤決策;
根據(jù)所述跟蹤決策,控制所述機(jī)器人對所述跟蹤目標(biāo)進(jìn)行跟蹤。
第二方面,本發(fā)明還提供了一種機(jī)器人視覺跟蹤系統(tǒng),所述系統(tǒng)包括:區(qū)域獲取模塊,位姿確定模塊,目標(biāo)檢測模塊,控制模塊;所述區(qū)域獲取模塊與所述位姿確定模塊連接,所述位姿確定模塊與所述目標(biāo)檢測模塊連接,所述目標(biāo)檢測模塊與所述控制模塊連接;
所述區(qū)域獲取模塊,用于利用深度卷積神經(jīng)網(wǎng)絡(luò),獲取跟蹤目標(biāo)的感興趣區(qū)域;
所述位姿確定模塊,用于確定機(jī)器人的當(dāng)前位置信息和機(jī)器人的姿態(tài)信息;
所述目標(biāo)檢測模塊,用于根據(jù)所述感興趣區(qū)域,對所述跟蹤目標(biāo)進(jìn)行檢測,確定所述跟蹤目標(biāo)的當(dāng)前位置信息;
所述控制模塊,用于根據(jù)所述機(jī)器人的當(dāng)前位置信息、所述機(jī)器人的姿態(tài)信息和所述跟蹤目標(biāo)的當(dāng)前位置信息,控制機(jī)器人對所述跟蹤目標(biāo)進(jìn)行跟蹤。
進(jìn)一步地,所述區(qū)域獲取模塊具體用于:
采用rgbd相機(jī),采集場景地圖中當(dāng)前幀場景圖像的rgb通道圖像;
對所述rgb通道圖像進(jìn)行預(yù)處理,輸出感興趣區(qū)域圖像;
將所述感興趣區(qū)域圖像輸入深度卷積神經(jīng)網(wǎng)絡(luò);
從所述深度卷積神經(jīng)網(wǎng)絡(luò)的所述感興趣區(qū)域圖像中獲取所述感興趣區(qū)域。
進(jìn)一步地,所述區(qū)域獲取模塊包括圖像處理單元;
所述圖像處理單元,用于對所述rgb通道圖像進(jìn)行卷積、非線性激活和池化,得到特征圖;對所述特征圖進(jìn)行興趣區(qū)預(yù)測子網(wǎng)處理,并進(jìn)行池化,輸出所述感興趣區(qū)域圖像。
由上述技術(shù)方案可知,本發(fā)明提供一種機(jī)器人視覺跟蹤方法及系統(tǒng),基于深度卷積神經(jīng)網(wǎng)絡(luò)和視覺slam技術(shù)進(jìn)行目標(biāo)識別和跟蹤,能夠提高其魯棒性。
附圖說明
圖1示出了本發(fā)明提供的機(jī)器人視覺跟蹤方法的流程示意圖。
圖2示出了本發(fā)明提供的機(jī)器人視覺跟蹤系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合附圖對本發(fā)明技術(shù)方案的實(shí)施例進(jìn)行詳細(xì)的描述。以下實(shí)施例僅用于更加清楚地說明本發(fā)明的技術(shù)方案,因此只是作為示例,而不能以此來限制本發(fā)明的保護(hù)范圍。
實(shí)施例一
圖1示出了本發(fā)明實(shí)施例一提供的機(jī)器人視覺跟蹤方法的流程示意圖。如圖1所示,所述方法包括:
步驟s1,利用深度卷積神經(jīng)網(wǎng)絡(luò),獲取跟蹤目標(biāo)的感興趣區(qū)域(roi);
步驟s2,確定機(jī)器人的當(dāng)前位置信息和機(jī)器人的姿態(tài)信息;
步驟s3,根據(jù)所述感興趣區(qū)域(roi),對所述跟蹤目標(biāo)進(jìn)行檢測,確定所述跟蹤目標(biāo)的當(dāng)前位置信息;
步驟s4,根據(jù)所述機(jī)器人的當(dāng)前位置信息、所述機(jī)器人的姿態(tài)信息和所述跟蹤目標(biāo)的當(dāng)前位置信息,控制機(jī)器人對所述跟蹤目標(biāo)進(jìn)行跟蹤。
本實(shí)施例的技術(shù)方案具體為:
步驟s1,利用深度卷積神經(jīng)網(wǎng)絡(luò),獲取跟蹤目標(biāo)的感興趣區(qū)域。
優(yōu)選地,所述步驟s1具體包括:首先,采用rgbd相機(jī),采集場景地圖中當(dāng)前幀場景圖像的rgb通道圖像,其大小保持原圖大?。黄浯?,對所述rgb通道圖像進(jìn)行預(yù)處理,輸出感興趣區(qū)域圖像;再次,將所述感興趣區(qū)域圖像輸入深度卷積神經(jīng)網(wǎng)絡(luò);最后,從所述深度卷積神經(jīng)網(wǎng)絡(luò)的所述感興趣區(qū)域圖像中獲取所述感興趣區(qū)域。所述感興趣區(qū)域中包含landmark和跟蹤標(biāo)識。
進(jìn)一步優(yōu)選地,對所述rgb通道圖像進(jìn)行預(yù)處理,輸出感興趣區(qū)域圖像,具體包括:首先,對所述rgb通道圖像進(jìn)行卷積、非線性激活和池化,得到特征圖,該特征圖的大小與原圖大小對應(yīng),根據(jù)原圖大小的不同而不同,但其維數(shù)始終固定在128維;其次,將所有特征圖輸入到用于預(yù)測興趣區(qū)的子網(wǎng)絡(luò),并對所述特征圖進(jìn)行池化,輸出所述感興趣區(qū)域圖像。該感興趣區(qū)域圖像,包含興趣區(qū)矩形框相對于原圖的左上角坐標(biāo)、該矩形框的長度和寬度、以及該感興趣區(qū)域圖像的類別。其中,所述類別包括:包含landmark的感興趣區(qū)域圖像,和包含跟蹤標(biāo)識的感興趣區(qū)域圖像。
其中,深度卷積神經(jīng)網(wǎng)絡(luò)近年來在計算機(jī)視覺領(lǐng)域取得巨大的成果,其在目標(biāo)識別、圖像分類、目標(biāo)檢測、場景理解、圖像語義分割等領(lǐng)域都中飛躍式的進(jìn)步。經(jīng)過深度卷積神經(jīng)網(wǎng)絡(luò)提取的網(wǎng)絡(luò)特征具有層次性,越往深層,特征抽象性越強(qiáng),其轉(zhuǎn)換到隱式特征空間的非線性也越強(qiáng),同時也具備了更好的圖像信息表達(dá)能力。
基于以上,本發(fā)明實(shí)施例采用深度卷積神經(jīng)網(wǎng)絡(luò)確定跟蹤目標(biāo)的roi,相比傳統(tǒng)方法更穩(wěn)定,該方法不受光照條件、目標(biāo)運(yùn)動規(guī)律等因素的限制,檢出率高,可避免遺漏;得到roi有助于進(jìn)行進(jìn)一步處理,可以減少后續(xù)處理時間,增加精度。
步驟s2,確定機(jī)器人的當(dāng)前位置信息和機(jī)器人的姿態(tài)信息。
優(yōu)選地,所述步驟s2具體包括:首先,根據(jù)所述機(jī)器人在上一時刻的位置信息,初步確定所述機(jī)器人的當(dāng)前位置信息,即確定機(jī)器人大致的當(dāng)前位置;其次,將步驟s1中從深度卷積神經(jīng)網(wǎng)絡(luò)中提取出的roi與所述語義地圖進(jìn)行特征匹配,從而精確確定所述機(jī)器人的當(dāng)前位置信息和所述機(jī)器人的姿態(tài)信息。
進(jìn)一步優(yōu)選地,將從所述roi中提取的landmark與所述語義地圖進(jìn)行特征匹配,以計算所述機(jī)器人的當(dāng)前位置信息和所述機(jī)器人的姿態(tài)信息。其中,所述語義地圖是預(yù)先采用視覺slam技術(shù)構(gòu)建得到的離線地圖,該地圖存儲于機(jī)器人中。
本步驟基于視覺slam技術(shù),能夠更準(zhǔn)確地確定機(jī)器人的位置信息和姿態(tài)信息,為后續(xù)制定跟蹤決策提供有效數(shù)據(jù)。
步驟s3,根據(jù)所述感興趣區(qū)域(roi),對所述跟蹤目標(biāo)進(jìn)行檢測,確定所述跟蹤目標(biāo)的當(dāng)前位置信息。
優(yōu)選地,在所述步驟s3中,首先需識別所述roi中包含的跟蹤標(biāo)識,然后根據(jù)所述跟蹤標(biāo)識檢測所述跟蹤目標(biāo)。其中,所述跟蹤標(biāo)識優(yōu)選為二維碼。
根據(jù)是否能夠檢測到跟蹤目標(biāo),分別有以下幾種處理方式:
若檢測到所述跟蹤目標(biāo),則根據(jù)所述roi的坐標(biāo)、所述機(jī)器人的位置信息和所述機(jī)器人的姿態(tài)信息,通過計算確定所述跟蹤目標(biāo)的當(dāng)前位置信息。具體地,將所述roi的坐標(biāo)輸入到所述rgbd相機(jī)的depth通道中,再結(jié)合所述機(jī)器人的位置信息和所述機(jī)器人的姿態(tài)信息,進(jìn)行計算。
若檢測不到所述跟蹤目標(biāo),則根據(jù)所述機(jī)器人的姿態(tài)信息和所述語義地圖,判斷前方是否有遮擋物或路徑轉(zhuǎn)角。
根據(jù)判斷結(jié)果,若確定前方有遮擋物或路徑轉(zhuǎn)角,則控制機(jī)器人繼續(xù)行進(jìn),并更新場景地圖;在更新的場景地圖中再次通過步驟s1、步驟s2以及部分s3步驟,重新識別跟蹤標(biāo)識和檢測所述跟蹤目標(biāo),檢測到跟蹤目標(biāo)后,確定所述跟蹤目標(biāo)的當(dāng)前位置信息,若更新后依然沒有檢測到跟蹤目標(biāo),則發(fā)出報警指示。根據(jù)判斷結(jié)果,若確定前方?jīng)]有遮擋物和路徑轉(zhuǎn)角,則發(fā)出報警指示。
本步驟優(yōu)選二維碼作為作為目標(biāo)跟蹤標(biāo)識,簡單快速,識別率高,可有效地避免跟蹤目標(biāo)混淆。
步驟s4,根據(jù)所述機(jī)器人的當(dāng)前位置信息、所述機(jī)器人的姿態(tài)信息和所述跟蹤目標(biāo)的當(dāng)前位置信息,控制機(jī)器人對所述跟蹤目標(biāo)進(jìn)行跟蹤。
優(yōu)選地,在能夠檢測到跟蹤目標(biāo)的情況下,所述步驟s4具體包括:根據(jù)前述步驟中得到的所述機(jī)器人的當(dāng)前位置信息、所述機(jī)器人的姿態(tài)信息和所述跟蹤目標(biāo)的當(dāng)前位置信息,制定相應(yīng)的跟蹤決策;根據(jù)所述跟蹤決策,控制所述機(jī)器人對所述跟蹤目標(biāo)進(jìn)行跟蹤。
基于以上內(nèi)容,本發(fā)明實(shí)施例一可以實(shí)現(xiàn)的技術(shù)效果為:基于深度卷積神經(jīng)網(wǎng)絡(luò)確定目標(biāo)的roi,相比傳統(tǒng)方法更穩(wěn)定,不受光照條件限制,檢出率高,可避免遺漏;基于視覺slam技術(shù),能夠更準(zhǔn)確地確定機(jī)器人的位置信息和姿態(tài)信息,為后續(xù)制定跟蹤決策提供有效數(shù)據(jù);采用二維碼作為目標(biāo)跟蹤標(biāo)識,簡單快速,識別率高,避免跟蹤目標(biāo)混淆;當(dāng)目標(biāo)暫時遮擋的情況下,能夠結(jié)合場景環(huán)境作出更合理的運(yùn)行規(guī)劃。因此本發(fā)明實(shí)施例一能夠提高跟蹤方法的魯棒性。
實(shí)施例二
對本發(fā)明實(shí)施例一對應(yīng)地,圖2示出了本發(fā)明實(shí)施例提供的一種機(jī)器人視覺跟蹤系統(tǒng)的結(jié)構(gòu)示意圖。如圖2所示,所述系統(tǒng)包括:區(qū)域獲取模塊101,位姿確定模塊102,目標(biāo)檢測模塊103,控制模塊104;所述區(qū)域獲取模塊101與所述位姿確定模塊102連接,所述位姿確定模塊102與所述目標(biāo)檢測模塊103連接,所述目標(biāo)檢測模塊103與所述控制模塊104連接。
所述區(qū)域獲取模塊101,用于利用深度卷積神經(jīng)網(wǎng)絡(luò),獲取跟蹤目標(biāo)的感興趣區(qū)域。具體用于:采用rgbd相機(jī),采集場景地圖中當(dāng)前幀場景圖像的rgb通道圖像;對所述rgb通道圖像進(jìn)行預(yù)處理,輸出感興趣區(qū)域圖像;將所述感興趣區(qū)域圖像輸入深度卷積神經(jīng)網(wǎng)絡(luò);從所述深度卷積神經(jīng)網(wǎng)絡(luò)的所述感興趣區(qū)域圖像中獲取所述感興趣區(qū)域。
其中,所述區(qū)域獲取模塊101包括圖像處理單元;所述圖像處理單元,用于對所述rgb通道圖像進(jìn)行預(yù)處理,輸出所述感興趣區(qū)域圖像。具體用于:對所述rgb通道圖像進(jìn)行卷積、非線性激活和池化,得到特征圖;將所有特征圖輸入到用于預(yù)測興趣區(qū)的子網(wǎng)絡(luò),并對所述特征圖進(jìn)行池化,輸出所述感興趣區(qū)域圖像。
所述位姿確定模塊102,用于利用視覺slam技術(shù),確定機(jī)器人的當(dāng)前位置信息和機(jī)器人的姿態(tài)信息。具體用于:根據(jù)所述機(jī)器人在上一時刻的位置信息,初步確定所述機(jī)器人的當(dāng)前位置信息,即確定機(jī)器人大致的當(dāng)前位置;將步驟s1中從深度卷積神經(jīng)網(wǎng)絡(luò)中提取出的roi與所述語義地圖進(jìn)行特征匹配,從而精確確定所述機(jī)器人的當(dāng)前位置信息和所述機(jī)器人的姿態(tài)信息。
所述目標(biāo)檢測模塊103,用于根據(jù)所述感興趣區(qū)域,對所述跟蹤目標(biāo)進(jìn)行檢測,確定所述跟蹤目標(biāo)的當(dāng)前位置信息。
所述控制模塊104,用于根據(jù)所述機(jī)器人的當(dāng)前位置信息、所述機(jī)器人的姿態(tài)信息和所述跟蹤目標(biāo)的當(dāng)前位置信息,控制機(jī)器人對所述跟蹤目標(biāo)進(jìn)行跟蹤。具體用于:根據(jù)前述步驟中得到的所述機(jī)器人的當(dāng)前位置信息、所述機(jī)器人的姿態(tài)信息和所述跟蹤目標(biāo)的當(dāng)前位置信息,制定相應(yīng)的跟蹤決策;根據(jù)所述跟蹤決策,控制所述機(jī)器人對所述跟蹤目標(biāo)進(jìn)行跟蹤。
基于以上內(nèi)容,本發(fā)明實(shí)施例二可以達(dá)到的技術(shù)效果是:所述系統(tǒng)基于深度卷積神經(jīng)網(wǎng)絡(luò)確定目標(biāo)的roi,相比傳統(tǒng)方法更穩(wěn)定,不受光照條件限制,檢出率高,可避免遺漏;所述系統(tǒng)基于視覺slam技術(shù),能夠更準(zhǔn)確地確定機(jī)器人的位置信息和姿態(tài)信息,為后續(xù)制定跟蹤決策提供有效數(shù)據(jù);采用二維碼作為目標(biāo)跟蹤標(biāo)識,簡單快速,識別率高,避免跟蹤目標(biāo)混淆;當(dāng)目標(biāo)暫時遮擋的情況下,能夠結(jié)合場景環(huán)境作出更合理的運(yùn)行規(guī)劃。因此本發(fā)明實(shí)施例二能夠提高所實(shí)施的跟蹤方法的魯棒性。
最后應(yīng)說明的是:以上各實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求和說明書的范圍當(dāng)中。