国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于助老機器人的行人檢測與跟蹤算法研究

2019-03-31 09:54胡姍姍
關鍵詞:助老行人樣本

李 丹,胡姍姍,夏 冰

(1.安徽工業(yè)大學電氣與信息工程學院,安徽馬鞍山243032;2.馬鋼股份有限公司設備管理部,安徽馬鞍山243000)

隨著人口老齡化社會的到來及城市化進程的加快,到2020年我國空巢老人將增長至1.18億[1],到2025年日本將有100萬的護理員短缺[2],老年護理的總體趨勢需求大于供給,到2050年美國65歲及65歲以上的人口將上升至26%[3],由此產生的更復雜的問題是老年護理費用變得難以控制。助老服務機器人作為當前社會進步的標志性產品,可實現(xiàn)對老人的檢測與跟蹤,對老年護理將發(fā)揮越來越大的作用。

一直以來,國內外很多高校和公司都開展了運動目標檢測與跟蹤的相關研究。Gavrila等[4]提出了一種基于行人模板匹配的目標檢測算法,但該算法僅建立了約2 500個行人模板,遠不能滿足要求且運算量過大、實時性不強;Dalal 等[5]提出了基于方向梯度直方圖(HOG)的行人檢測算法,該算法很好地描述了行人的形狀、外觀信息,但同樣存在實時性不強等缺點。視覺目標跟蹤根據觀測模型可分為生成式和判別式兩種方法,近年來判別式跟蹤方法逐漸占據主流,其中包括效果較好的相關濾波[6-7]和深度學習的判別式方法。Kalal等[8]結合光流法提出了一種單目標長時間的跟蹤算法,該算法主要用于解決跟蹤過程中目標發(fā)生形變、部分遮擋等問題,但目標遮擋后易出現(xiàn)漂移;Henriques等[9]提出了核相關濾波(KCF)算法,該算法最大優(yōu)點是將目標區(qū)域形成循環(huán)矩陣,并成功利用循環(huán)矩陣在傅里葉空間可對角化的性質將矩陣運算轉化為向量的Hadamad積,大大降低運算量,滿足實時性要求。但KCF算法需要人工給定搜索窗口來對目標進行跟蹤,無法實現(xiàn)自主檢測跟蹤,并且KCF算法沒有重定位模塊,在目標漂移或丟失時,無法重新定位目標導致跟蹤失敗。為了解決上述問題,并滿足精度與魯棒性的要求,文中提出一種針對行人的自動檢測與跟蹤算法,結合HOG和SVM方法進行行人檢測,KCF自動跟蹤,以期實現(xiàn)在復雜環(huán)境中對目標的準確搜索與跟蹤。

1 行人檢測與跟蹤算法

本算法通過提取行人的HOG特征,使用SVM分類器訓練特征集,生成行人檢測模型。然后,通過滑動窗口搜索匹配方法遍歷攝像頭采集的圖像。最后,將檢測到的行人作為初始跟蹤目標,使用KCF算法預測下一幀行人位置進行目標跟蹤,當目標突然消失時,利用行人檢測模型重新檢測行人再進行跟蹤。

1.1 基于HOG和SVM的行人檢測

行人檢測的主要任務是找出圖像或視頻中的行人,包括位置和大小,并用矩形框表示。考慮到復雜環(huán)境行人的檢測,采用基于全局特征中的HOG 特征算法,創(chuàng)建圖像梯度方向分布直方圖來構成特征,并結合Cortes等[10]提出的SVM進行分類,具體實現(xiàn)流程如下。

首先為減少光照影響,采用Gamma矯正法[11]對圖像進行歸一化,通過壓縮處理將其轉化為灰度圖,有效降低圖像的局部陰影和光照變化,其中像素點(x,y)壓縮公式為

通過計算圖像橫坐標與縱坐標方向的梯度來計算每個像素位置的梯度方向值,梯度計算公式為

式中Gx(x,y),Gy(x,y),H(x,y)分別表示輸入圖像中像素點(x,y)處的橫坐標方向梯度、縱坐標方向梯度和像素值。則像素點(x,y)處的梯度幅值和梯度方向分別為:

接著將圖像分成若干個單元格,對單元格內每個像素用梯度方向在直方圖中進行加權投影,得到該單元格的梯度方向直方圖,即該單元格的特征向量,這樣能夠保持圖像中人體對象的姿勢和外觀的弱敏感性。為了減小局部光照變化及前景-背景對比度變化導致梯度強度變化范圍變大的影響,需對梯度強度做歸一化,通過將各單元格組合成大的、空間上連通的區(qū)間,形成HOG描述符。該算法可視化圖像如圖1。最后將檢測窗口中重疊的塊進行HOG特征向量收集,分別提取正負樣本的HOG特征,正樣本HOG特征標記為1,負樣本HOG特征標記為0。然后使用線性SVM分類器進行初始訓練,生成最初檢測器,再使用負樣本進行行人檢測,生成分類錯誤的負樣本HOG特征,結合上一步的特征進行重訓練,生成最終的檢測器。二次訓練能夠有效降低每個窗口5%的誤報率[5]。

圖1 HOG算法的可視化圖像Fig.1 Visualize images of HOG algorithm

1.2 基于KCF的目標跟蹤

KCF跟蹤算法每一幀可分為訓練、檢測、更新三個階段。首先訓練初始線性嶺回歸(linear regression)模型,然后通過該模型檢測下一幀預測位置是否為目標,再使用新的檢測結果更新訓練集從而更新模型,主要步驟如下。

1)訓練階段 通過行人檢測算法檢測距離機器人系統(tǒng)最近的行人作為目標,對框出的目標圖像塊z進行循環(huán)移位,從而得到更多的訓練樣本xi,通過訓練線性嶺回歸模型,找到式(4)。式中ω為列向量,表示權重系數。

使訓練樣本xi與回歸目標yi之間的誤差函數值最小

其中λ 為控制過擬合的正則參數。寫成矩陣形式

式中:X=[x1,x2,…,xn]T的每一行表示一個向量;y 是列向量,每個元素對應一個樣本的標簽,由此可獲得線性回歸的最小二乘解

考慮實際應用中非線性問題中的誤差會很大,引入核函數

式中φ(x)和φ(z)為映射函數,根據Representer定理[12]可得,ω 是樣本x 的線性組合,即

得到

式中:K為所有訓練樣本的相關矩陣,Kij=k(xi,yj),且為循環(huán)矩陣,根據其性質,對上式進行對角化,得kxx表示循環(huán)矩陣的第一行向量。

2)檢測階段 通過訓練得到α,即得到線性回歸方程中的ω,提取候選目標的特征為z,循環(huán)移位后得到模型對z 的輸出響應,經過離散傅里葉變換得

響應最大的z 即為檢測到的當前幀的中心位置。

3)更新階段 濾波器模型表示組成(α,δ0),通過式(13)更新濾波器系數α 和跟蹤模型參數δ

式中:t為幀數;γ 為學習率,介于0~1之間,γ 太大易跟丟,太小魯棒性差,根據實際情況進行調節(jié)。

如圖2所示,系統(tǒng)框架可分為訓練過程、檢測過程和跟蹤過程三部分。訓練分為行人樣本圖片收集,正負樣本的特征提取及使用分類器訓練;檢測部分包括待檢測行人的特征提取及使用已訓練好的SVM分類器進行判別;跟蹤部分主要通過循環(huán)移位跟蹤目標區(qū)域,獲取大量訓練分類器樣本,使用核函數計算候選區(qū)域與跟蹤目標的相似度,選取響應最大的候選區(qū)域作為新的跟蹤目標。當目標突然消失時,暫停跟蹤,使用行人檢測模型重新檢測定位目標再跟蹤。

圖2 行人檢測與跟蹤流程圖Fig.2 Pedestrian detection and tracking flowchart

2 實驗結果與分析

為驗證文中提出的基于助老機器人行人檢測與跟蹤算法,在Ubuntu16.04環(huán)境下,基于ROS平臺設計并完成行人檢測與跟蹤系統(tǒng),在Turtlebot移動平臺上搭載處理器為Intel Core i5、主頻1.7 GHz、內存4 GB的筆記本電腦和Kinect2攝像頭,該攝像頭不僅價格低廉、具有普通相機的二維信息,還有深度信息,可保證對非平面物體3D輪廓的必要魯棒性[13]。根據攝像頭獲取周圍環(huán)境的視覺和深度信息,檢測并跟蹤行人。移動平臺在跟蹤過程中要保持機器人與攝像頭的坐標系統(tǒng)統(tǒng)一,因此需將攝像頭獲得的3D坐標通過TF(TransForm)變換為與機器人一致的坐標系統(tǒng),轉換關系如圖3(a)。其中:O點為攝像頭所在位置;Z軸正方向為Kinect2攝像頭正前方;x0,y0為機器人坐標系。同時以變換后的坐標中心為原點計算行人的世界坐標xw,yw,計算原理如圖3(b)。其中:xv,yv為目標在圖像上的坐標,f 為攝像頭的焦距;zw為深度距離;cx,cy分別為圖像的長度和寬度,可得式(14)中的世界坐標。

圖3 Kinect2與移動平臺坐標系對應關系Fig.3 Correspondence between Kinect2 and mobile platform coordinate system

2.1 行人檢測模型訓練與檢測

實驗中,考慮到本系統(tǒng)主要用于室內對老人的檢測與跟蹤,選擇INRIA數據集[5]和自制數據集,將數據集中部分含有行人的部分進行標記,采用2 456張已標記行人的目標作為正樣本,16 000張不含行人圖片作為負樣本,組成行人檢測的訓練數據集。首次訓練得到的行人模型分別對已標定和未標定的測試數據集進行檢測,效果如圖4。

圖4 首次訓練效果Fig.4 First time training effect

圖4中的方框代表檢測出的行人。從圖4可看出,(a)~(d)為已標定的正負樣本,(e)~(h)為未標定的正負樣本,檢測結果中方框的數量較多,與實際差距較大,首次訓練的檢測效果較差,誤檢率較高。為解決這一問題,文中通過自舉法生成9 876張首次檢測生成的難例(hard example)樣本,進行二次訓練得到最終的行人檢測模型,檢測效果如圖5。

從圖5可看出,(a)~(d)為已標定的正負樣本,(e)~(h)為未標定的正負樣本,檢測結果中的方框數量顯著減少,與實際相近,自舉法二次訓練后有效降低了誤檢率。隨機采集300張測試樣本(其中測試樣本中不包含訓練集),并采用檢測率(detection rate,Dr)和誤檢率(false detection rate,F(xiàn)r)作為最終檢測模型測試的評價標準,其中

圖5 自舉法訓練模型的檢測結果Fig.5 Test results of bootstrap training model

式中:Tp為人工標記同時使用行人檢測模型檢測到行人目標的數量;Fn為人工標記同時使用行人檢測模型但未檢測到行人目標的數量;Fp為人工未標記同時使用行人檢測模型但檢測到行人目標的數量。檢測實驗結果如表1。由表1可知,使用行人檢測模型檢測行人的正確率為94.30%,誤檢率為2.75%,表明本文的檢測算法取得了較好的檢測效果。

2.2 基于行人檢測和KCF的目標跟蹤

根據目標在世界坐標系中的位置,驅動底盤向目標移動,同時不斷跟蹤目標,更新目標的世界坐標,并更新底盤的方向和速度。KCF算法中的相關參數如表2。

實驗分3 組進行測試,每組實驗中的目標都會移動、改變位姿或突然消失以檢測跟蹤算法的魯棒性,其中一次實驗結果如圖6。

表3 為3 組實驗測試統(tǒng)計結果,每組實驗分別統(tǒng)計平均幀率、目標跟蹤成功率,移動成功次數以及移動成功率。從表3可以看出,目標跟蹤的實時性效果較好,機器人也能順利地移動到目標附近。該方法可快速檢測到目標并驅動機器人實時跟蹤,具有一定的實用價值。將行人檢測算法與KCF算法結合,無需人工標定起始跟蹤幀,就可實現(xiàn)自動檢測跟蹤,當目標突然消失時,可重新檢測并跟蹤。

表1 行人目標檢測的準確性Tab.1 Accuracy of pedestrian target detection

表2 KCF算法相關參數Tab.2 Related parameters of KCF algorithm

表3 跟蹤測試結果Tab.3 Results of tracking test

圖6 跟蹤測試效果Fig.6 Effect of tracking test

3 結 論

研究助老機器人在模擬環(huán)境下行人檢測與跟蹤技術,機器人在搜索的過程中采用基于HOG 特征和SVM的行人檢測算法自主識別行人,同時采用KCF算法實時驅動機器人跟蹤行人到其附近,并且可重新檢測跟蹤對于目標短暫的消失。實驗結果表明,基于助老機器人的行人檢測與跟蹤算法具有較高的準確性和魯棒性。由于只是在模擬環(huán)境中進行測試,助老機器人在面對目標長時間消失、形變嚴重等特殊情況下魯棒性仍存在一定不足,故關于助老機器人的避障和自主導航是下一步的研究重點。

猜你喜歡
助老行人樣本
北京發(fā)放助老就醫(yī)出行補貼
南京啟用首批“助老車站”
毒舌出沒,行人避讓
用樣本估計總體復習點撥
用“八心八促”方法做好助老工作
“買菜叔”的21年無償助老愛心路
路不為尋找者而設
推動醫(yī)改的“直銷樣本”
我是行人
隨機微分方程的樣本Lyapunov二次型估計