付 彤,陳興文
(1.大連理工大學(xué)城市學(xué)院電子與自動化學(xué)院,遼寧 大連 116600;2.大連民族大學(xué)信息與通信工程學(xué)院,遼寧 大連 116600)
移動機器人的目標(biāo)跟蹤技術(shù)不同于普通的目標(biāo)跟蹤技術(shù)研究,其跟蹤效果受到目標(biāo)跟蹤算法和機器人本身硬件設(shè)備的雙重影響[1]。近些年來,基于相關(guān)濾波的跟蹤算法憑借其快速的跟蹤計算方式被廣泛應(yīng)用,基于相關(guān)濾波與神經(jīng)網(wǎng)絡(luò)相結(jié)合的目標(biāo)跟蹤算法也隨著科技的不斷發(fā)展成為了一個研究方向。目前機器人目標(biāo)跟蹤技術(shù)在應(yīng)用過程中依然存在諸如:目標(biāo)遮擋、丟失、形變、長時間跟蹤以及實時性等問題。隨著機器人技術(shù)的不斷發(fā)展進(jìn)步,其本身攜帶的多種傳感器,也為準(zhǔn)確的找到目標(biāo)信息提供有力保障。除此之外,單目攝像頭、雙目攝像頭、激光雷達(dá)、深度攝像頭等也被廣泛應(yīng)用在機器人目標(biāo)跟蹤技術(shù)研究領(lǐng)域。
因此,將相關(guān)濾波的神經(jīng)網(wǎng)絡(luò)與移動機器人平臺展開研究,著力提高移動機器人平臺目標(biāo)跟蹤的準(zhǔn)確性和實時性將是一件極為有意義的事情[2]。為此,本課題提出基于寬度學(xué)習(xí)的目標(biāo)檢測技術(shù)并與自行設(shè)計的移動機器人平臺結(jié)合,實現(xiàn)對運動目標(biāo)的實時檢測與跟蹤,實現(xiàn)對目標(biāo)的跟蹤檢測和實時控制[3]。
基于寬度學(xué)習(xí)的目標(biāo)跟蹤檢測技術(shù)流程圖如圖1所示。
圖1 目標(biāo)跟蹤檢測技術(shù)流程圖
首先需要制作適量比例的正負(fù)樣本數(shù)據(jù)集,使用寬度學(xué)習(xí)網(wǎng)絡(luò)對制作的數(shù)據(jù)集進(jìn)行離線訓(xùn)練,最終獲得相應(yīng)權(quán)重;再根據(jù)第一幀給定的中心提取正負(fù)樣本,使用粒子濾波對當(dāng)前幀選取多個候選區(qū)域,并運用BLS進(jìn)行特征提取,依據(jù)評判機制對結(jié)果進(jìn)行打分,選取最高的評分值作為最終跟蹤結(jié)果。當(dāng)評分結(jié)果大于閾值時直接進(jìn)行下一幀的跟蹤;當(dāng)小于閾值時,在更新正樣本的同時,重新采集負(fù)樣本,重新BLS網(wǎng)絡(luò)訓(xùn)練。
機器人視覺系統(tǒng)整體框架如圖2所示。
首先在PC端配置FTP服務(wù)器,使得無線傳輸均在同一網(wǎng)絡(luò)下進(jìn)行,攝像頭將采集到的信息通過無線網(wǎng)絡(luò)傳送PC機進(jìn)行保存。上位機發(fā)送TCP指令信息通過WiFi傳送給下位機,STM32對接收到的信息進(jìn)行解析,然后調(diào)整電機運動方式。
圖2 整體框架圖
下位機主要由電氣控制和機械執(zhí)行兩部分組成,機械執(zhí)行部分主要指執(zhí)行上位機傳送的控制信號進(jìn)行機器人的左右前后動作指令。下位機主要由STM32單片機、WiFi模塊、直流電機、直流電機驅(qū)動等模塊構(gòu)成。
PC端的處理結(jié)果通過WiFi模塊進(jìn)行通信,WiFi模塊使用的型號為HF-LPT120A,實現(xiàn)PC端(TCP協(xié)議)→路由器→WiFi模塊→stm32之間數(shù)據(jù)的傳輸。
直流電機的驅(qū)動方式采用脈沖寬度調(diào)制PWM電機驅(qū)動芯片L298N,單片機輸出PWM調(diào)速信號至L298N,從而實現(xiàn)機器人的前進(jìn)、后退和左右轉(zhuǎn)向以及轉(zhuǎn)速的調(diào)整。
電機及驅(qū)動模塊采用2路的H橋驅(qū)動方式,因此可以同時驅(qū)動兩個電機,使能ENA ENB之后,分別從IN1 IN2輸入PWM信號驅(qū)動電機1的轉(zhuǎn)速和方向;分別從IN3 IN4輸入PWM信號驅(qū)動電機2的轉(zhuǎn)速和方向。機器人平臺組成如圖3所示。
圖3 機器人平臺組成框圖
首先,視頻信息區(qū)域需要手動輸入視頻幀高、視頻幀寬、點擊開始跟蹤按鈕時中心點的X、Y坐標(biāo);界面實時采集區(qū)域顯示的是攝像頭通過無線網(wǎng)絡(luò)傳送PC機的圖像信息;目標(biāo)跟蹤區(qū)域用于顯示經(jīng)過PC機端目標(biāo)跟蹤算法處理完的結(jié)果圖像,當(dāng)點擊開始跟蹤按鈕,則調(diào)用基于寬度學(xué)習(xí)的目標(biāo)跟蹤算法?;趯挾葘W(xué)習(xí)的跟蹤算法需要的輸入為兩部分的數(shù)據(jù):一是需要PC機端保存下來的實時圖像信息;二是首幀的圖像信息,即圖像的幀高、圖像的幀寬和首幀圖像的中心點坐標(biāo)。最終將預(yù)測結(jié)果圖像在目標(biāo)跟蹤區(qū)域顯示。根據(jù)目標(biāo)跟蹤的預(yù)測結(jié)果,即預(yù)測的中心點坐標(biāo)進(jìn)行運動控制策略最終轉(zhuǎn)變成前進(jìn)、后退、左轉(zhuǎn)或右轉(zhuǎn)的指令信息,實現(xiàn)自動跟蹤調(diào)整。指令操作區(qū)域能夠?qū)崿F(xiàn)手動對下位機的控制,目的是輔助下位機更好的完成目標(biāo)跟蹤任務(wù)。設(shè)置按鈕則是實現(xiàn)將所有的數(shù)值進(jìn)行初始化的功能。退出按鈕則是退出該系統(tǒng)。上位機界面和下位機機器人實體如圖4所示。
圖4 上位機運行界面和機器人實體
首先以(960,540)圖像中心點為中心建立直角坐標(biāo)系,以半徑為四分之一幀高做圓,預(yù)測中心點與圖像中心點連線與圖像中心點的y軸的夾角為θ,當(dāng)0°<θ<30°時,則認(rèn)定只進(jìn)行前后位置移動,如果預(yù)測中心點的縱坐標(biāo)大于實際圖像中心點的縱坐標(biāo),則需要目標(biāo)物的位置往圖像上方移動,機器人需要作出后退指令,反之則前進(jìn);當(dāng)30°<θ<45°時,則認(rèn)定只進(jìn)行左右位置移動,方向指令還是根據(jù)預(yù)測中心點和圖像實際中心點比較坐標(biāo)大小決定,如果預(yù)測中心點的橫坐標(biāo)大于圖像中心點的橫坐標(biāo),則需要目標(biāo)物的位置往圖像左側(cè)移動,實際下位機需要作出右轉(zhuǎn)指令,反之則左轉(zhuǎn),上位機只發(fā)送方向信息和角度信息,機器人執(zhí)行相應(yīng)指令信息;當(dāng)45°<θ<60°時和當(dāng)60°<θ<90°時,調(diào)整方向都是統(tǒng)一的,調(diào)整速度移動指令將會進(jìn)行不同程度的速度調(diào)整。速度調(diào)整則是根據(jù)上位機發(fā)送的偏轉(zhuǎn)角度信息,對機器人持續(xù)發(fā)送高低電平控制信號進(jìn)行調(diào)整。
挑戰(zhàn)因素是人物在相對復(fù)雜的背景下進(jìn)行移動,之后再次進(jìn)行新的挑戰(zhàn)因素,對跟蹤目標(biāo)進(jìn)行部分和全部遮擋以及形變操作。實驗結(jié)果如圖5所示。
圖5 跟蹤目標(biāo)在屏幕左側(cè)、右側(cè)、形變、部分遮擋情況下的實驗
圖5的圖片組分別是目標(biāo)在圖片顯示區(qū)域的左側(cè)、右側(cè)、形變、部分遮擋等情況下的執(zhí)行結(jié)果情況。通過UI界面可以看出,4組圖片同樣基本都能夠在誤差允許范圍內(nèi)對目標(biāo)進(jìn)行識別,同樣說明了基于寬度學(xué)習(xí)的目標(biāo)跟蹤技術(shù)的可行性,且能夠較好地處理形變、遮擋等問題;下位機也能夠根據(jù)預(yù)測出的結(jié)果進(jìn)行相關(guān)指令的操作,可以實現(xiàn)自動跟蹤的效果。
本文對相關(guān)濾波的神經(jīng)網(wǎng)絡(luò)與自行搭建的移動機器人平臺展開應(yīng)用設(shè)計,并進(jìn)行實際應(yīng)用測試實驗。在實驗過程中,選取具有形變、遮擋問題等挑戰(zhàn)因素的場景進(jìn)行實際跟蹤測試;測試結(jié)果表明基于寬度學(xué)習(xí)的目標(biāo)跟蹤技術(shù)在移動機器人平臺的移植應(yīng)用能夠?qū)崿F(xiàn)對運動目標(biāo)的實時跟蹤檢測與實時控制,驗證了本方案的可行性。