本發(fā)明涉及視頻圖像處理技術(shù)領(lǐng)域,特別涉及一種基于視頻圖像對(duì)運(yùn)動(dòng)目標(biāo)檢測(cè)和平滑跟隨的方法。
背景技術(shù):
傳統(tǒng)的櫥窗模特只能靜態(tài)的展示衣物,將模特機(jī)器人用于時(shí)尚展示,則可以通過(guò)機(jī)器人與顧客的互動(dòng),來(lái)吸引顧客駐足,從而大大增加客流量。本發(fā)明提供了一種基于視頻圖像對(duì)運(yùn)動(dòng)目標(biāo)檢測(cè)和平滑跟隨的方法,應(yīng)用于模特機(jī)器人的視覺(jué)系統(tǒng)中,實(shí)現(xiàn)其對(duì)運(yùn)動(dòng)目標(biāo)的識(shí)別和平滑跟隨,當(dāng)行人出現(xiàn)或在模特前面經(jīng)過(guò)時(shí),模特機(jī)器人可以做出轉(zhuǎn)體跟隨或其它交互形式。
比較常見(jiàn)的基于視頻的目標(biāo)跟蹤方法,是通過(guò)特征提取和目標(biāo)跟蹤來(lái)實(shí)現(xiàn)對(duì)確定目標(biāo)的檢測(cè)和跟蹤,但商場(chǎng)櫥窗中的模特面對(duì)的行人在不斷變化,無(wú)法提前預(yù)設(shè)確定的目標(biāo)。更普遍的基于機(jī)器學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)、深度學(xué)習(xí)及SVM等方法,通過(guò)大量行人或人臉樣本對(duì)分類器進(jìn)行訓(xùn)練,再對(duì)視頻圖像進(jìn)行檢測(cè),但對(duì)硬件環(huán)境的運(yùn)算速度有較高的要求。
本發(fā)明提供的方法無(wú)需預(yù)設(shè)目標(biāo)特征,通過(guò)優(yōu)化計(jì)算使運(yùn)動(dòng)目標(biāo)的識(shí)別速度大大提高,降低了對(duì)硬件配置的要求,實(shí)現(xiàn)了模特機(jī)器人對(duì)運(yùn)動(dòng)目標(biāo)的跟隨互動(dòng)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供了一種用于模特機(jī)器人的運(yùn)動(dòng)目標(biāo)快速識(shí)別和平滑跟隨的方法,降低了算法對(duì)圖像分辨率和硬件運(yùn)算速度的依賴,實(shí)現(xiàn)了對(duì)運(yùn)動(dòng)目標(biāo)的實(shí)時(shí)平滑跟蹤,其具體包括步驟如下:
步驟一,對(duì)圖像序列進(jìn)行預(yù)處理得到前景圖。
在預(yù)處理環(huán)節(jié)中,為了增加后續(xù)運(yùn)算的效率,可以對(duì)數(shù)字視頻圖像的大小進(jìn)行調(diào)整,減少像素點(diǎn)的數(shù)量。
步驟二,采用輪廓識(shí)別的方法篩選出所有運(yùn)動(dòng)目標(biāo)。具體流程如下:
對(duì)步驟一得到的前景圖分別進(jìn)行形態(tài)學(xué)的開(kāi)運(yùn)算和閉運(yùn)算,用于消除和填充圖像的細(xì)小空洞;然后將過(guò)濾掉細(xì)小空洞的前景圖,依次提取所有運(yùn)動(dòng)物體的輪廓;再將這些輪廓進(jìn)行像素填充,使其成為圖像實(shí)體;最后根據(jù)實(shí)體面積選擇合適的閾值,過(guò)濾掉尺寸較小噪聲點(diǎn)。
步驟三,通過(guò)降維度來(lái)快速計(jì)算運(yùn)動(dòng)物體的水平位置。進(jìn)一步包括如下步驟:
(1),生成出運(yùn)動(dòng)目標(biāo)像素的水平坐標(biāo)直方圖。
將步驟二得到的含有所有運(yùn)動(dòng)目標(biāo)的圖像投影到其水平方向,并沿著水平方向統(tǒng)計(jì)運(yùn)動(dòng)物體所占像素的數(shù)量,形成像素的水平坐標(biāo)直方圖。
(2),根據(jù)上述直方圖,選取合適的閾值,確定運(yùn)動(dòng)目標(biāo)的邊界。
首先,過(guò)濾小尺寸的運(yùn)動(dòng)物體,根據(jù)運(yùn)動(dòng)物體像素的水平坐標(biāo)直方圖,選擇合適的豎直方向像素?cái)?shù)量為閾值,從而過(guò)濾掉尺寸較小的運(yùn)動(dòng)物體。然后,合并被空洞分離的運(yùn)動(dòng)物體,根據(jù)所有運(yùn)動(dòng)物體水平方向的距離,選擇合適的閾值,將距離相近的運(yùn)動(dòng)物體合并為一個(gè)整體,從而將由于運(yùn)動(dòng)物體中間空洞引起分離的運(yùn)動(dòng)物體合并為一個(gè)統(tǒng)一體。接下來(lái),過(guò)濾微小擺動(dòng)的物體,根據(jù)合并后的運(yùn)動(dòng)物體在水平方向的長(zhǎng)度,選擇合適的閾值,過(guò)濾掉運(yùn)動(dòng)幅度較小的運(yùn)動(dòng)物體。最后,確定運(yùn)動(dòng)物體中心位置,根據(jù)項(xiàng)目實(shí)際場(chǎng)景需要,使用對(duì)應(yīng)策略來(lái)選擇對(duì)應(yīng)的運(yùn)動(dòng)物體,最終作為待跟蹤的運(yùn)動(dòng)目標(biāo)。
(3),過(guò)濾噪聲并最終確定運(yùn)動(dòng)目標(biāo)的中心位置。通過(guò)運(yùn)動(dòng)目標(biāo)最近幾次的歷史位置數(shù)據(jù),對(duì)當(dāng)前運(yùn)動(dòng)物體的位置進(jìn)行中值濾波,實(shí)現(xiàn)對(duì)非線性噪聲的過(guò)濾,然后再對(duì)中值濾波結(jié)果進(jìn)行均值濾波,從而對(duì)靜態(tài)位置實(shí)現(xiàn)平滑處理,最終確定運(yùn)動(dòng)物體的水平位置。
步驟四,通過(guò)邊界層的控制策略來(lái)平滑目標(biāo)的運(yùn)動(dòng)狀態(tài)。為了避免運(yùn)動(dòng)物體在小范圍擺動(dòng)時(shí)模特的小幅度抖動(dòng),使用邊界層控制策略進(jìn)行高頻濾波,實(shí)現(xiàn)對(duì)運(yùn)動(dòng)目標(biāo)運(yùn)動(dòng)狀態(tài)的平滑處理,通過(guò)增加區(qū)間的數(shù)量可以提高跟蹤精度,反之亦然。
為了更精確的指向運(yùn)動(dòng)目標(biāo)所在的角度,可以將圖像像素坐標(biāo)轉(zhuǎn)化為攝像頭視角處理,運(yùn)動(dòng)目標(biāo)在視野中出現(xiàn)的角度計(jì)算公式如下:
β1本次的目標(biāo)角度,β0為當(dāng)前所在角度,θ=Φ/N為各等分區(qū)間對(duì)應(yīng)角度,Φ為攝像頭視角,N為等分的區(qū)間份數(shù),Δ=ρ×θ為緩沖帶對(duì)應(yīng)角度,ρ為緩沖帶長(zhǎng)度占區(qū)間比例,ρ為經(jīng)驗(yàn)值,γ為本次檢測(cè)到的運(yùn)動(dòng)物體所在角度,其計(jì)算原理如下:
W為圖像壓縮后的寬度,A為運(yùn)動(dòng)物體檢測(cè)到的實(shí)際像素位置。
步驟五,生成模特機(jī)器人跟隨運(yùn)動(dòng)的角速度曲線。根據(jù)運(yùn)動(dòng)目標(biāo)的運(yùn)動(dòng)狀態(tài),對(duì)模特機(jī)器人進(jìn)行軌跡規(guī)劃,實(shí)現(xiàn)其對(duì)運(yùn)動(dòng)目標(biāo)的平滑轉(zhuǎn)動(dòng)跟隨,跟隨的過(guò)程中不會(huì)抖動(dòng)。
通過(guò)以上步驟,能夠快速識(shí)別移動(dòng)目標(biāo),選取有效的區(qū)域值,提高了模特機(jī)器人對(duì)運(yùn)動(dòng)物體的反應(yīng)速度,計(jì)算效率高,并且對(duì)硬件配置環(huán)境要求較低,可以廣泛的應(yīng)用在模特機(jī)器人視覺(jué)系統(tǒng)中,實(shí)現(xiàn)了模特機(jī)器人對(duì)運(yùn)動(dòng)目標(biāo)的平穩(wěn)、平滑跟隨和互動(dòng),且成本低,容易為市場(chǎng)所接受。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明的操作流程示意圖;
圖2是計(jì)算運(yùn)動(dòng)物體水平位置的流程示意圖;
圖3是區(qū)間控制策略的模型示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
為使本發(fā)明的技術(shù)方案更清晰,下面將結(jié)合本發(fā)明的方法流程,參見(jiàn)圖1,對(duì)發(fā)明實(shí)施中的技術(shù)實(shí)施細(xì)節(jié)做進(jìn)一步詳細(xì)的描述和解釋。
第一,對(duì)圖像序列進(jìn)行預(yù)處理得到前景圖,即通過(guò)攝像頭取像,本發(fā)明使用了640*480分辨率的USB攝像頭。
使用高斯混合模型,提取當(dāng)前幀彩色圖像的前景圖像,作為之后處理的二值圖像。由于模特跟隨對(duì)于運(yùn)動(dòng)目標(biāo)位置的精度的要求不高,為了減少后續(xù)圖像的計(jì)算量,在提取前景圖像前,可以先將攝像頭獲取的視頻圖像的大小等比例調(diào)整到指定寬度,本發(fā)明調(diào)整后的圖像分辨率為400*300。
第二,采用輪廓識(shí)別的方法篩選出所有運(yùn)動(dòng)目標(biāo)。
首先,對(duì)第二步得到的二值前景圖像分別進(jìn)行形態(tài)學(xué)的開(kāi)運(yùn)算和閉運(yùn)算,用于消除和填充圖像的細(xì)小空洞;其次,依次提取出前景圖像中所有運(yùn)動(dòng)物體的輪廓,根據(jù)輪廓形狀使用近似多邊形結(jié)構(gòu)構(gòu)成封閉實(shí)體;然后,取得多邊形的最小內(nèi)切矩形,對(duì)于矩形面積不在有效范圍(【200,30000】)內(nèi)運(yùn)動(dòng)物體的進(jìn)行舍棄,從而過(guò)濾掉尺寸較小噪聲點(diǎn);最后,填充篩選過(guò)后的所有運(yùn)動(dòng)目標(biāo)的輪廓,將輪廓填充為運(yùn)動(dòng)目標(biāo)圖像實(shí)體。
第三,通過(guò)降維度來(lái)快速計(jì)算運(yùn)動(dòng)物體的水平位置。
(1),使用第三步得到的運(yùn)動(dòng)目標(biāo)實(shí)體圖像,沿著圖像水平方向依次統(tǒng)計(jì)運(yùn)動(dòng)目標(biāo)像素的水平坐標(biāo)直方圖,將運(yùn)動(dòng)目標(biāo)的二值圖像投影到其水平方向,并沿著水平方向統(tǒng)計(jì)運(yùn)動(dòng)物體所占像素的數(shù)量,形成運(yùn)動(dòng)目標(biāo)像素的水平坐標(biāo)直方圖。
(2),過(guò)濾小尺寸的運(yùn)動(dòng)物體,根據(jù)圖像在豎直方向的像素?cái)?shù)量,對(duì)于每個(gè)像素?cái)?shù)量不在有效范圍(【20,280】)內(nèi)的水平坐標(biāo)進(jìn)行過(guò)濾,認(rèn)為是運(yùn)動(dòng)目標(biāo)的有效坐標(biāo)值。
(3),合并被空洞分離的運(yùn)動(dòng)物體,運(yùn)動(dòng)目標(biāo)在水平方向的投影長(zhǎng)度反映了到攝像頭的距離或者在水平方向的運(yùn)動(dòng)幅度,根據(jù)水平方向的連續(xù)有效坐標(biāo)確定所有可能的有效區(qū)域,各區(qū)域邊界為所有可能運(yùn)動(dòng)物體在水平方向的邊界,合并區(qū)域邊界間隔長(zhǎng)度小于閾值(15像素)的區(qū)域,作為同一個(gè)連通區(qū)域,即如果出現(xiàn)不小于閾值(15像素)列沒(méi)在有效范圍內(nèi),則認(rèn)為閾值(15像素)列前是上一個(gè)運(yùn)動(dòng)目標(biāo)的結(jié)束位置,直到遇到下一個(gè)像素值在有效范圍的列,則認(rèn)為是新的運(yùn)動(dòng)目標(biāo)的起點(diǎn)。
(4),過(guò)濾微小擺動(dòng)的物體,根據(jù)運(yùn)動(dòng)物體在水平方向的長(zhǎng)度,舍棄掉水平方向長(zhǎng)度不在有效范圍(【30,200】)內(nèi)的所有運(yùn)動(dòng)物體,來(lái)過(guò)濾掉運(yùn)動(dòng)幅度較小的運(yùn)動(dòng)物體和光亮突變或攝像頭抖動(dòng)導(dǎo)致的視屏整個(gè)畫(huà)面被作為運(yùn)動(dòng)目標(biāo)的情況。
(5),確定運(yùn)動(dòng)物體中心位置,對(duì)于所有運(yùn)動(dòng)物體的水平方向的長(zhǎng)度,根據(jù)項(xiàng)目實(shí)際場(chǎng)景需要,找到對(duì)應(yīng)的目標(biāo)區(qū)間作為運(yùn)動(dòng)物體在水平方向的有效范圍,本發(fā)明選擇距離攝像頭最近或者在水平方向運(yùn)動(dòng)幅度最大的運(yùn)動(dòng)目標(biāo)作為待跟蹤對(duì)象,即選擇水平方向長(zhǎng)度最大的運(yùn)動(dòng)目標(biāo),并取其中間點(diǎn)作為運(yùn)動(dòng)物體的中心位置。如果應(yīng)用需要對(duì)所有運(yùn)動(dòng)物體進(jìn)行標(biāo)識(shí),則可以將當(dāng)前篩選出的所有運(yùn)動(dòng)物體作為被跟蹤對(duì)象。
(6),去除中心位置的非線性噪聲信號(hào),對(duì)檢測(cè)到的運(yùn)動(dòng)物體在圖像中的位置,使用運(yùn)動(dòng)目標(biāo)的歷史像素位置對(duì)當(dāng)前位置進(jìn)行中值濾波,中值濾波表達(dá)式如下:
B0=Med{x0,x1,…,xm-1}
B0為中值濾波結(jié)果,m為中值濾波窗口長(zhǎng)度,為奇數(shù)的經(jīng)驗(yàn)值(5),經(jīng)過(guò)對(duì)比選擇5已經(jīng)可以很好的抑制非線性噪聲,xi為當(dāng)前視頻幀往前第i次檢測(cè)到的運(yùn)動(dòng)目標(biāo)位置,x0為當(dāng)前幀圖像,i=0,1,…,m-1。
(7),運(yùn)動(dòng)目標(biāo)中心位置的平滑處理,使用運(yùn)動(dòng)目標(biāo)的歷史平滑處理結(jié)果和當(dāng)前中值濾波結(jié)果,進(jìn)行均值濾波,均值濾波表達(dá)式如下:
A為均值濾波結(jié)果,n為均值濾波窗口(3),Ai為當(dāng)前視頻幀往前第i次計(jì)算得到的均值。
(8),過(guò)濾運(yùn)動(dòng)目標(biāo)的小幅抖動(dòng),如果均值濾波的結(jié)果距離跟蹤設(shè)備的當(dāng)前像素絕對(duì)位置的間距小于閾值(2像素),則認(rèn)為是小幅度抖動(dòng)從而忽略本次運(yùn)動(dòng)目標(biāo)的轉(zhuǎn)動(dòng)跟隨。
第四,通過(guò)邊界層的控制策略來(lái)平滑目標(biāo)的運(yùn)動(dòng)狀態(tài)。
為了更精確的指向到運(yùn)動(dòng)目標(biāo)所在的角度,可以將圖像像素坐標(biāo)值轉(zhuǎn)化為攝像頭視角處理。為了避免運(yùn)動(dòng)物體在小范圍擺動(dòng)時(shí)模特的小幅度抖動(dòng),使用邊界層控制策略實(shí)現(xiàn)高頻濾波,使得模特的跟隨僅為跨區(qū)間運(yùn)動(dòng),實(shí)現(xiàn)對(duì)運(yùn)動(dòng)目標(biāo)運(yùn)動(dòng)狀態(tài)的平滑處理,通過(guò)增加區(qū)間的數(shù)量可以提高跟隨精度,反之亦然。邊界層控制策略的模型結(jié)構(gòu),參考圖3,將攝像頭視角等分為多個(gè)區(qū)間及緩沖帶,模特機(jī)器人跟隨當(dāng)前運(yùn)動(dòng)目標(biāo)轉(zhuǎn)動(dòng)的目標(biāo)角度計(jì)算公式如下:
β1本次的目標(biāo)角度,β0為當(dāng)前所在角度,θ=Φ/N為各等分區(qū)間對(duì)應(yīng)角度,Φ為攝像頭視角,本實(shí)例中的USB攝像頭為60度視角,N為等分的區(qū)間份數(shù),作為經(jīng)驗(yàn)值本實(shí)例為10,Δ=ρ×θ為緩沖帶對(duì)應(yīng)角度,ρ為緩沖帶長(zhǎng)度占區(qū)間比例,ρ作為經(jīng)驗(yàn)值本實(shí)例為10%,γ為本次檢測(cè)到的運(yùn)動(dòng)物體所在角度,其計(jì)算原理如下:
W為圖像壓縮后的寬度,本實(shí)例中計(jì)算使用的壓縮后圖像寬度為400像素,A為均值濾波結(jié)果,即運(yùn)動(dòng)物體檢測(cè)到的實(shí)際像素位置。
第五,生成模特機(jī)器人跟隨運(yùn)動(dòng)的角速度曲線。
根據(jù)運(yùn)動(dòng)目標(biāo)的運(yùn)動(dòng)狀態(tài),對(duì)模特機(jī)器人進(jìn)行軌跡規(guī)劃,實(shí)現(xiàn)其對(duì)運(yùn)動(dòng)目標(biāo)的轉(zhuǎn)動(dòng)跟隨。本實(shí)例中轉(zhuǎn)體跟隨角速度使用了跟角度最簡(jiǎn)單的線性關(guān)系,即使用了固定的時(shí)間進(jìn)行跟隨,直到模特機(jī)器人轉(zhuǎn)動(dòng)的剩余角度小于一個(gè)角速度單位停止,本實(shí)例中規(guī)劃的角速度表達(dá)式如下:
t為固定的轉(zhuǎn)動(dòng)時(shí)間,本實(shí)例使用1s,ω為跟隨角速度,意味著任何角度差都會(huì)在一秒中轉(zhuǎn)到,角度大的時(shí)候轉(zhuǎn)動(dòng)快,角度小的時(shí)候轉(zhuǎn)動(dòng)慢,也符合一般人對(duì)于運(yùn)動(dòng)目標(biāo)的跟隨形態(tài),本設(shè)計(jì)舉例在模特機(jī)器人的識(shí)別、判斷、跟隨運(yùn)動(dòng),但是不應(yīng)該局限于本發(fā)明所列舉的實(shí)施例,其它等同的實(shí)施方式,也應(yīng)該屬于本發(fā)明的保護(hù)范圍。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。