本發(fā)明屬于計算機圖像處理技術(shù)領域,具體涉及一種單目機器人上的目標人發(fā)現(xiàn)與跟隨方法。
背景技術(shù):
隨著服務機器人得到越來越多的研究和應用。如何在室內(nèi)環(huán)境下的低成本輪式單目機器人上實現(xiàn)對人的有效準確的發(fā)現(xiàn)和跟隨也是目前的研究熱點之一。服務機器人在對人進行發(fā)現(xiàn)和跟隨的基礎上,可以為人提供具體的服務,提高人們的生活品質(zhì)。
利用計算機視覺的技術(shù)進行目標人的發(fā)現(xiàn)和主動跟隨是一個非常具有挑戰(zhàn)性的工作。首先,我們需要在機器人運動過程中采集的圖像上進行場景變化的分析,以確定需要檢測的圖像幀和區(qū)域。在圖像的變化區(qū)域進行目標檢測來發(fā)現(xiàn)目標位置。在獲取目標位置之后,目標追蹤算法對目標持續(xù)進行追蹤,并為機器人主動跟隨提供方向信息。
在機器人上進行視覺目標人的發(fā)現(xiàn)和跟隨,通常過程就是從圖像中檢測人的位置,并對目標人進行持續(xù)的視覺追蹤,使用視覺追蹤的結(jié)果來控制機器人前進的方向。這個過程中目標人的檢測算法運行速度快慢,視覺目標人的追蹤算法的魯棒性、高效性和適應性均是相關研究領域的熱點。由于較好的目標檢測算法一般不能夠達到實時應用,所以出現(xiàn)了很多對于場景變化進行研究的成果??傮w而言,視覺目標人檢測算法的研究和視覺目標人追蹤的研究中,視覺特征的選取和設計表現(xiàn)了由低到高,即從底層特征向高層特征特征過度的趨勢。底層特征通常沒有包含與目標整體相關的語義信息,一些常用的底層特征例如:顏色特征、紋理特征、形狀特征等。高層特征在考慮了目標的整體特點之后,對底層的特征進行組合。
到目前為止,很多研究者提出了許多的基于計算機視覺的目標檢測算法。比如,有的研究者利用圖像的紋理信息,統(tǒng)計直方圖作為特征來訓練一個分類模型。有的研究者利用圖像的隨機區(qū)域內(nèi)的灰度作為特征,使用帶有特征選擇能力的分類器建立分類模型。很多研究者提出了許多的基于計算機視覺的目標追蹤算法。比如,有的研究者利用圖像區(qū)域內(nèi)的灰度值,提取壓縮感知特征來表示目標的位置。在視覺目標追蹤對于圖像信息的利用這個層面來講,以往的工作主要集中在使用更高級的模型來從圖像中提取目標的信息。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種能夠提供魯棒的、高效的、準確的、適應性強的基于計算機視覺的室內(nèi)低成本輪式單目機器人上的目標發(fā)現(xiàn)和跟隨方法。
本發(fā)明提供的基于計算機視覺的室內(nèi)低成本輪式單目機器人上的目標發(fā)現(xiàn)和跟隨方法,利用機器人移動過程中的場景變化檢測來分析需要進行目標檢測的區(qū)域,利用深度網(wǎng)絡進行室內(nèi)人的檢測,利用視覺追蹤算法對目標進行追蹤,并控制機器人進行主動跟隨。
本發(fā)明提出的基于計算機視覺的室內(nèi)低成本輪式單目機器人上的目標發(fā)現(xiàn)和跟隨方法,是基于對象視覺特征,結(jié)合機器人同時定位和見圖過程對場景的估計,能夠?qū)κ覂?nèi)目標人進行有效的發(fā)現(xiàn)和跟隨。在多樣的圖像和復雜的背景下,該方法能夠較為準確地在室內(nèi)發(fā)現(xiàn)人并且控制機器人跟隨人。其具體步驟如下:
(1)機器人同時定位和建圖;
(2)運動幀與運動區(qū)域檢測;
(3)在運動幀的運動區(qū)域進行視覺目標檢測;
(4)視覺目標人追蹤;
(5)視覺目標人跟隨;
其中:
步驟(2)所述運動幀與運動區(qū)域檢測,具體過程如下:
(21)對于機器人運動過程中所經(jīng)過的關鍵場景,采樣關鍵場景前后位置圖像及關鍵幀圖像進行超像素分割。提取將第t幀圖像進行超像素分割,得到nt個超像素。每個超像素sp(t,r)(t=1,...,m,r=1,...,nt)由一個特征向量
(22)在hsi空間中對超像素的hs通道信息進行聚類,建立場景模型。使用meanshift聚類算法對特征池
(23)在獲取到新的圖像幀之后,選取場景模型來分析該幀是否包含運動區(qū)域;
步驟(3)所述在運動幀的運動區(qū)域進行視覺目標人檢測,具體過程如下:
(31)使用訓練圖片及其中的目標位置來訓練深度神經(jīng)網(wǎng)絡,得到目標檢測模型;
(32)在運動幀的運動區(qū)域使用分類器對圖像幀進行檢測,得到目標位置。
步驟(4)所述視覺目標人追蹤,具體過程如下:
(41)將每個初始幀進行超像素分割,聚類,得到目標人表觀模型;
(42)對新的圖像幀使用表觀模型和地圖點信息得到目標位置;
(46)每追蹤一定數(shù)量的圖像幀之后,更新表觀模型;
步驟(5)所述視覺目標人跟隨,具體過程如下:
(51)計算步驟(42)得到的目標位置的水平中心位置;
(52)控制機器人移動,使得目標人位于機器人采集的圖像水平中心位置;
步驟(23)中所述的選取場景模型來分析該幀是否包含運動區(qū)域,具體過程如下:
(231)選取該圖像幀采集時機器人位置最為相似的關鍵場景,獲取對應場景下的場景模型。
(232)將該圖像幀進行超像素分割,得到n個超像素。每個超像素sp(r)(r=1,...,n)由一個特征向量fr來表示;
(233)計算該幀中的超像素sp(r)和對應場景下場景模型的超像素點sp(t,r)之間的距離,選取距離最近的點所在的聚類為該幀中超像素sp(r)的類別。距離計算公式如下:
(234)依據(jù)超像素和對應的聚類中心之間的距離來計算該每個超像素屬于變化區(qū)域的概率,概率計算公式如下:
其中,參數(shù)rc(i)代表了clst(i)在特征空間中的聚類半徑,λd是一個歸一化項(在實驗中設置為2)。綜合考慮超像素sp(r)所屬于的聚類,以及和對應的聚類中心之間的距離,得出該超像素的目標置信度值
(235)分析概率圖中聯(lián)通的屬于變化區(qū)域的尺寸大小,如果大于閾值則認為該區(qū)域為潛在目標人區(qū)域,選取周圍的部分為潛在目標人位置;
步驟(41)中所述將每個初始幀進行超像素分割,聚類,得到目標人表觀模型,具體過程如下:
(411)將第t幀中的目標周圍區(qū)域進行超像素分割,得到nt個超像素。每個超像素sp(t,r)(t=1,...,m,r=1,...,nt)由一個特征向量
(412)使用meanshift聚類算法對特征池
(413)每個clst(i)對應于訓練幀中的圖像區(qū)域s(i),對每個clst(i)計算兩個得分,s+(i),s-(i)。前一個分數(shù)表示聚類面積s(i)和目標區(qū)域的交集大小,后面一個分數(shù)表示聚類面積s(i)在目標區(qū)域外的大小。s+(i)/s-(i)的值越大,在訓練幀中區(qū)域s(i)屬于目標的可能性越大。我們給每個聚類一個介于[1,-1]之間的打分來代表每個聚類的前景-背景置信度,記為
步驟(42)中所述對新的圖像幀使用表觀模型和地圖點信息得到目標位置,具體過程如下:
(421)當新的圖像幀到達的時候,首先在前一幀的目標區(qū)域周圍提取一個搜索區(qū)域,并且分割為nt個超像素。
(422)聚類到目標人表觀模型,依據(jù)所屬于的聚類中心屬性進行打分,得到置信度圖,公式如下;
其中,w(r,i)表示基于特征
對于整個圖像幀,通過以下步驟得到每個像素的置信值。對于搜索區(qū)域內(nèi)每個屬于超像素sp(t,r)的像素打分為
(423)地圖點打分,公式如下:
n(t,k)代表圖像幀t中地圖點k的共見次數(shù)。
(424)表觀模型的得分和地圖點的得分通過求均值的方式進行融合,融合的位置僅限地圖點周圍的超像素,沒有地圖點的超像素的打分僅由表觀模型決定,公式如下:
(425)選擇屬于目標的得分最高的區(qū)域為目標位置;
(426)調(diào)整將地圖點所在超像素屬于目標人的概率,以備表觀模型更新。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果為:
1、對于關鍵場景進行建模,降低了目標人檢測算法的調(diào)用此時,減少機器人在運行時候的卡頓現(xiàn)象;
2、在家用機器人追蹤目標的應用場景下,整合圖像幀中的圖像表觀和地圖點信息,調(diào)整當前幀搜索區(qū)域?qū)儆谀繕说闹眯哦龋嵘繕硕ㄎ坏男Ч?、提供可靠的遮擋判定、矯正錯誤分類的圖像區(qū)域,減少目標錯誤定位將背景信息誤認為是目標,控制目標表觀模型漂移。面對經(jīng)常出現(xiàn)的長期部分遮擋,光線變化,目標尺度變化等問題時,本文提出的算法相對于未利用地圖點信息的算法而言效果更好;
3、本發(fā)明可在低成本輪式單目機器人上對室內(nèi)人進行高效的發(fā)現(xiàn)和跟隨,以便機器人為人提供服務。
附圖說明
圖1為本發(fā)明的新型單目機器人上的目標人發(fā)現(xiàn)與跟隨算法的總流程框圖。
圖2為步驟(23)所述的獲取潛在目標人區(qū)域的流程圖。
圖3為圖2步驟(234)所得到的變化概率結(jié)果圖和分割顯示。
圖4為步驟(41)所述的將每個初始幀進行超像素分割,聚類,得到目標人表觀模型的流程圖。
圖5為步驟(42)所述的對新的圖像幀使用表觀模型和地圖點信息得到目標位置的流程圖。
圖6為圖5步驟(425)視覺目標追蹤算法過程中的分割,置信度和最終得到的目標位置。
圖7為整體的機器人跟隨過程截圖。
具體實施方式
下面結(jié)合附圖和實施例對本發(fā)明作進一步詳細說明。
參照圖1,新型單目機器人上的目標人發(fā)現(xiàn)與跟隨方法,其具體步驟如下:
(1)機器人同時定位和建圖;
(2)運動幀與運動區(qū)域檢測,具體步驟如下;
(21)對于機器人運動過程中所經(jīng)過的關鍵場景,采樣關鍵場景前后位置圖像及關鍵幀圖像進行超像素分割。提取將第t幀圖像進行超像素分割,得到nt個超像素。每個超像素sp(t,r)(t=1,...,m,r=1,...,nt)由一個特征向量
(22)在hsi空間中對超像素的hs通道信息進行聚類,建立場景模型。使用meanshift聚類算法對特征池
(23)在獲取到新的圖像幀之后,選取場景模型來分析該幀是否包含運動區(qū)域,具體步驟為(參見圖2所示):
(231)選取該圖像幀采集時機器人位置最為相似的關鍵場景,獲取對應場景下的場景模型;
(232)將該圖像幀進行超像素分割,得到n個超像素。每個超像素sp(r)(r=1,...,n)由一個特征向量fr來表示;
(233)計算該幀中的超像素sp(r)和對應場景下場景模型的超像素點sp(t,r)之間的距離,選取距離最近的點所在的聚類為該幀中超像素sp(r)的類別。距離計算公式如下:
(234)依據(jù)超像素和對應的聚類中心之間的距離來計算該每個超像素屬于變化區(qū)域的概率,概率計算公式如下:
其中參數(shù)rc(i)代表了clst(i)在特征空間中的聚類半徑,λd是一個歸一化項(在實驗中設置為2)。綜合考慮超像素sp(r)所屬于的聚類,以及和對應的聚類中心之間的距離,得出該超像素的目標置信度值
(235)分析概率圖中聯(lián)通的屬于變化區(qū)域的尺寸大小,如果大于閾值則認為該區(qū)域為潛在目標人區(qū)域,選取周圍的部分為潛在目標人位置。圖3表示場景變化檢測的結(jié)果;
步驟(3)所述在運動幀的運動區(qū)域進行視覺目標人檢測,具體過程如下:
(31)使用訓練圖片及其中的目標位置來訓練深度神經(jīng)網(wǎng)絡,得到目標檢測模型;
(32)在運動幀的運動區(qū)域使用分類器對圖像幀進行檢測,得到目標位置。
步驟(4)所述視覺目標人追蹤,具體過程如下:
(41)將每個初始幀進行超像素分割,聚類,得到目標人表觀模型,具體步驟為(參見圖4所示):
(411)將第t幀中的目標周圍區(qū)域進行超像素分割,得到nt個超像素。每個超像素sp(t,r)(t=1,...,m,r=1,...,nt)由一個特征向量
(412)使用meanshift聚類算法對特征池
(413)每個clst(i)對應于訓練幀中的圖像區(qū)域s(i),對每個clst(i)計算兩個得分,s+(i),s-(i)。前一個分數(shù)表示聚類面積s(i)和目標區(qū)域的交集大小,后面一個分數(shù)表示聚類面積s(i)在目標區(qū)域外的大小。s+(i)/s-(i)的值越大,在訓練幀中區(qū)域s(i)屬于目標的可能性越大。我們給每個聚類一個介于[1,-1]之間的打分來代表每個聚類的前景-背景置信度,記為
(42)對新的圖像幀使用表觀模型和地圖點信息得到目標位置,具體步驟為(參見圖5所示):
(421)當新的圖像幀到達的時候,首先在前一幀的目標區(qū)域周圍提取一個搜索區(qū)域,并且分割為nt個超像素。
(422)聚類到目標人表觀模型,依據(jù)所屬于的聚類中心屬性進行打分,得到置信度圖,公式如下;
其中w(r,i)表示基于特征
對于整個圖像幀,通過以下步驟得到每個像素的置信值。對于搜索區(qū)域內(nèi)每個屬于超像素sp(t,r)的像素打分為
(423)地圖點打分,公式如下:
n(t,k)代表圖像幀t中地圖點k的共見次數(shù)。
(424)表觀模型的得分和地圖點的得分通過求均值的方式進行融合,融合的位置僅限地圖點周圍的超像素,沒有地圖點的超像素的打分僅由表觀模型決定,公式如下:
(425)選擇屬于目標的得分最高的區(qū)域為目標位置。圖6為追蹤結(jié)果;
(426)調(diào)整將地圖點所在超像素屬于目標人的概率,以備表觀模型更新。
(43)每追蹤一定數(shù)量的圖像幀之后,更新表觀模型;
步驟(5)所述視覺目標人跟隨,具體過程如下:
(51)計算步驟(42)得到的目標位置的水平中心位置;
(52)控制機器人移動,使得目標人位于機器人采集的圖像水平中心位置。
整體的機器人跟隨過程圖如圖7所示。