本發(fā)明涉及目標(biāo)追蹤技術(shù)領(lǐng)域,特別涉及一種動(dòng)態(tài)背景下基于固定形態(tài)的單一運(yùn)動(dòng)目標(biāo)追蹤方法和裝置。
背景技術(shù):
近年來(lái),運(yùn)動(dòng)目標(biāo)追蹤應(yīng)用越來(lái)越廣,特別是隨著無(wú)人機(jī)應(yīng)用的興起,其相應(yīng)的目標(biāo)追蹤方法越來(lái)越被重視。追蹤主要可分為三類(lèi):基于區(qū)域的追蹤,基于輪廓的追蹤和基于特征的追蹤,而能準(zhǔn)確進(jìn)行追蹤的前提是準(zhǔn)確在背景中檢測(cè)出被追蹤的目標(biāo)。
檢測(cè)被追蹤的目標(biāo)的時(shí)候,首先是目標(biāo)區(qū)域的檢測(cè)方法。在靜態(tài)背景下,運(yùn)動(dòng)目標(biāo)區(qū)域的檢測(cè)方法有幀差法、光流法、背景減除法等,其中光流法計(jì)算復(fù)雜度大,很難實(shí)現(xiàn)實(shí)時(shí)處理;背景減除法需要對(duì)背景進(jìn)行建模,所以需要一組沒(méi)有目標(biāo)的背景圖像序列;幀差法是將第一幀圖像作為背景圖像,通過(guò)兩幀圖像之間的差值來(lái)獲取運(yùn)動(dòng)目標(biāo)區(qū)域,具有較好的實(shí)時(shí)性,而且算法簡(jiǎn)單、計(jì)算量小,是一種常見(jiàn)的目標(biāo)檢測(cè)算法。
其次是目標(biāo)形態(tài)的檢測(cè),目標(biāo)的表示形式是目標(biāo)追蹤的基礎(chǔ),最常見(jiàn)的基于目標(biāo)形態(tài)的表示方法有:點(diǎn)表示方法、幾何形狀表示方法、骨架表示法、輪廓表示法。此外,還有基于目標(biāo)的外觀特征的表示方法有:目標(biāo)概率密度表示方法、模板表示方法、主動(dòng)外觀模型表示方法、多視點(diǎn)模型表示法。針對(duì)幾何形狀表示方法中的直線表示法,進(jìn)行目標(biāo)形態(tài)檢測(cè)的時(shí)候,檢測(cè)直線最常用的方法是概率霍夫變換,能夠檢測(cè)到直線線段,在找到直線段后,將此直線上的點(diǎn)全部刪除,但是現(xiàn)有技術(shù)中的概率霍夫變換在刪除的過(guò)程中需要再次進(jìn)行霍夫空間轉(zhuǎn)換,運(yùn)算量大,計(jì)算速度比較慢,在硬件條件有限的平臺(tái)上很難實(shí)現(xiàn)實(shí)時(shí)處理。
另外,霍夫變換處理的是二值邊緣圖像,在進(jìn)行轉(zhuǎn)換成二值邊緣圖像的過(guò)程中,會(huì)用到邊緣檢測(cè)算法canny算法,但是canny算法中首先需要對(duì)圖像進(jìn)行高斯濾波,在硬件條件有限的平臺(tái)上,運(yùn)算速度達(dá)不到。
總之,在現(xiàn)有技術(shù)中的基于固定形態(tài)的單一運(yùn)動(dòng)目標(biāo)追蹤方法中的計(jì)算量較大,運(yùn)算量較大,很難實(shí)現(xiàn)目標(biāo)的實(shí)時(shí)追蹤。
技術(shù)實(shí)現(xiàn)要素:
鑒于現(xiàn)有技術(shù)基于固定形態(tài)的單一運(yùn)動(dòng)目標(biāo)追蹤方法中的計(jì)算量較大,運(yùn)算量較大,很難實(shí)現(xiàn)目標(biāo)的實(shí)時(shí)追蹤的問(wèn)題,提出了本發(fā)明的一種動(dòng)態(tài)背景下基于固定形態(tài)的單一運(yùn)動(dòng)目標(biāo)追蹤方法和裝置,以便解決或至少部分地解決上述問(wèn)題。
根據(jù)本發(fā)明的一個(gè)方面,提供了一種動(dòng)態(tài)背景下基于固定形態(tài)的單一運(yùn)動(dòng)目標(biāo)的追蹤方法,所述方法包括:
以白色背景的兩條黑色交叉線作為待追蹤的運(yùn)動(dòng)目標(biāo),通過(guò)攝像頭獲取待追蹤的運(yùn)動(dòng)目標(biāo)當(dāng)前幀的YUV圖像;
利用幀差法檢測(cè)所述YUV圖像中的運(yùn)動(dòng)目標(biāo)區(qū)域;
對(duì)所述運(yùn)動(dòng)目標(biāo)區(qū)域中的所述運(yùn)動(dòng)目標(biāo)進(jìn)行邊緣檢測(cè)獲取二值邊緣圖像,并進(jìn)行濾波處理;
利用霍夫變換檢測(cè)所述二值邊緣圖像的直線及直線交點(diǎn);
根據(jù)所述攝像頭與所述運(yùn)動(dòng)目標(biāo)的距離和目標(biāo)的實(shí)際大小,以所述直線交點(diǎn)為中心確定運(yùn)動(dòng)目標(biāo)。
根據(jù)本發(fā)明的另一個(gè)方面,提供了一種
動(dòng)態(tài)背景下基于固定形態(tài)的單一運(yùn)動(dòng)目標(biāo)的追蹤裝置,其特征在于,所述裝置包括:
YUV圖像獲取單元,用于以白色背景的兩條黑色交叉線作為待追蹤的運(yùn)動(dòng)目標(biāo),通過(guò)攝像頭獲取待追蹤的運(yùn)動(dòng)目標(biāo)當(dāng)前幀的YUV圖像;
運(yùn)動(dòng)目標(biāo)區(qū)域檢測(cè)單元,用于利用幀差法檢測(cè)所述YUV圖像中的運(yùn)動(dòng)目標(biāo)區(qū)域;
邊緣檢測(cè)單元,用于對(duì)所述運(yùn)動(dòng)目標(biāo)區(qū)域中的所述運(yùn)動(dòng)目標(biāo)進(jìn)行邊緣檢測(cè)獲取二值邊緣圖像,并進(jìn)行濾波處理;
霍夫變換檢測(cè)單元,用于利用霍夫變換檢測(cè)所述二值邊緣圖像的直線及直線交點(diǎn);
運(yùn)動(dòng)目標(biāo)確定單元,用于根據(jù)所述攝像頭與所述運(yùn)動(dòng)目標(biāo)的距離和目標(biāo)的實(shí)際大小,以所述直線交點(diǎn)為中心確定運(yùn)動(dòng)目標(biāo)。
綜上所述,本發(fā)明在一白色背景的兩條黑色交叉線為帶追蹤的運(yùn)動(dòng)目標(biāo)的時(shí)候,利用簡(jiǎn)單的幀差法檢測(cè)運(yùn)動(dòng)目標(biāo)的YUV圖像中的運(yùn)動(dòng)目標(biāo)區(qū)域;在獲取二值邊緣圖像時(shí)采用2*2模板算子,并對(duì)檢測(cè)到的邊緣進(jìn)行形態(tài)學(xué)濾波,減少計(jì)算量的同時(shí),可獲得較理想的運(yùn)動(dòng)目區(qū)域的邊緣信息;最后利用改進(jìn)后的霍夫變換檢測(cè)二值邊緣圖像的直線及直線交點(diǎn),減少霍夫空間二次轉(zhuǎn)換,使得目標(biāo)追蹤的計(jì)算量減小,提高運(yùn)算速度??梢?jiàn),本發(fā)明在動(dòng)態(tài)背景下基于固定形態(tài)的單一運(yùn)動(dòng)目標(biāo)的追蹤時(shí)的運(yùn)算速度快,保證低速運(yùn)動(dòng)中實(shí)現(xiàn)目標(biāo)追蹤的實(shí)時(shí)性,且方法簡(jiǎn)單易實(shí)現(xiàn)。
附圖說(shuō)明
圖1為本發(fā)明一個(gè)實(shí)施例提供的一種動(dòng)態(tài)背景下基于固定形態(tài)的單一運(yùn)動(dòng)目標(biāo)的追蹤方法流程圖;
圖2為本發(fā)明一個(gè)實(shí)施例提供的一種動(dòng)態(tài)背景下基于固定形態(tài)的單一運(yùn)動(dòng)目標(biāo)的追蹤裝置示意圖。
具體實(shí)施方式
本發(fā)明的設(shè)計(jì)思路是:鑒于現(xiàn)有技術(shù)基于固定形態(tài)的單一運(yùn)動(dòng)目標(biāo)追蹤方法中的計(jì)算量較大,運(yùn)算量較大,很難實(shí)現(xiàn)目標(biāo)的實(shí)時(shí)追蹤的問(wèn)題。本發(fā)明首先利用運(yùn)算簡(jiǎn)單的幀差法,然后針對(duì)直線檢測(cè)的邊緣檢測(cè)算法和形態(tài)學(xué)濾波代替復(fù)雜的高斯濾波,最后采用改進(jìn)后的霍夫變換,減少霍夫空間二次轉(zhuǎn)換,大大降低了目標(biāo)追蹤過(guò)程中的運(yùn)算量。為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
圖1為本發(fā)明一個(gè)實(shí)施例提供的一種動(dòng)態(tài)背景下基于固定形態(tài)的單一運(yùn)動(dòng)目標(biāo)的追蹤方法流程圖;本實(shí)施例中的目標(biāo)形態(tài)是白色背景上有兩條黑色交叉線,將此形狀信息作為追蹤的基礎(chǔ)。如圖1所示,該方法包括:
步驟S110,以白色背景的兩條黑色交叉線作為待追蹤的運(yùn)動(dòng)目標(biāo),通過(guò)攝像頭獲取待追蹤的運(yùn)動(dòng)目標(biāo)當(dāng)前幀的YUV圖像,然后在鏡頭精致的狀態(tài)下進(jìn)行目標(biāo)檢測(cè)。
本實(shí)施例中攝像頭獲取的YUV圖像大小是1280*960。
步驟S120,利用幀差法檢測(cè)YUV圖像中的運(yùn)動(dòng)目標(biāo)區(qū)域。
因?yàn)閹罘ň哂休^好的實(shí)時(shí)性,而且算法簡(jiǎn)單、計(jì)算量小。所以本實(shí)施例中采用幀差法進(jìn)行運(yùn)動(dòng)目標(biāo)區(qū)域的檢測(cè)。
在進(jìn)行幀差法檢測(cè)的時(shí)候首先將Y值圖像劃分成4*4大小的格子,將圖像大小變成320*240,這樣在進(jìn)行運(yùn)動(dòng)目標(biāo)區(qū)域檢測(cè)的時(shí)候也可以在一定程度上減小運(yùn)算量。
步驟S130,對(duì)運(yùn)動(dòng)目標(biāo)區(qū)域中的運(yùn)動(dòng)目標(biāo)進(jìn)行邊緣檢測(cè)獲取二值邊緣圖像,并進(jìn)行濾波處理。
這里在進(jìn)行運(yùn)動(dòng)目標(biāo)邊緣檢測(cè)的時(shí)候,針對(duì)本實(shí)施例中的目標(biāo)的特點(diǎn),采用的2*2的模板算子,且在進(jìn)行濾波的時(shí)候采用的是形態(tài)學(xué)濾波,也可在一定程度上提高運(yùn)算速度。
步驟S150,利用霍夫變換檢測(cè)二值邊緣圖像的直線及直線交點(diǎn)。
這里的霍夫變換采用的改進(jìn)后的霍夫變換,在進(jìn)行霍夫變換尋找目標(biāo)的時(shí)候不需要進(jìn)行霍夫空間的二次轉(zhuǎn)換,也同樣使得目標(biāo)追蹤的計(jì)算量減小,提高運(yùn)算速度。
步驟S150,根據(jù)攝像頭與運(yùn)動(dòng)目標(biāo)的距離和目標(biāo)的實(shí)際大小,以直線交點(diǎn)為中心確定運(yùn)動(dòng)目標(biāo)。
當(dāng)利用霍夫變換尋找道二值邊緣圖像上的目標(biāo)后,需要根據(jù)攝像頭與運(yùn)動(dòng)目標(biāo)的距離和目標(biāo)的實(shí)際大小確定最終的運(yùn)動(dòng)目標(biāo),以實(shí)現(xiàn)目標(biāo)的追蹤。
在本發(fā)明的一個(gè)實(shí)施例中,步驟S120中的利用幀差法檢測(cè)YUV圖像中的運(yùn)動(dòng)目標(biāo)區(qū)域包括:
(1)將YUV圖像在第一預(yù)設(shè)窗口范圍內(nèi)像素點(diǎn)的Y值求和作為新的像素點(diǎn),獲得縮小YUV圖像。
例如,YUV圖像大小是1280*960,第一預(yù)設(shè)窗口范圍為4*4。這里就是將Y值圖像劃分成4*4大小的格子,每個(gè)格子內(nèi)的16個(gè)像素點(diǎn)的Y值求和作為一個(gè)新的像素點(diǎn),最終圖像大小變?yōu)?20*240,這樣可以減少細(xì)微變化對(duì)目標(biāo)檢測(cè)的影響。
(2)計(jì)算縮小YUV圖像與上一幀的YUV圖像的幀差值,判斷幀差值是否大于第一預(yù)設(shè)閾值;若判斷為是,則將幀差值大于第一預(yù)設(shè)閾值的區(qū)域作為縮小YUV圖像的第一運(yùn)動(dòng)目標(biāo)區(qū)域。
因?yàn)槟繕?biāo)區(qū)域的存在,且是運(yùn)動(dòng)的狀態(tài),那么目標(biāo)區(qū)域的位置就會(huì)使得當(dāng)前幀的YUV圖像中的目標(biāo)區(qū)域的位置與上一幀的YUV圖像中的與當(dāng)前幀YUV圖像中的目標(biāo)區(qū)域的位置相同的地方的幀差值較大。為了初步定位目標(biāo)區(qū)域的位置,采用幀差法進(jìn)行檢測(cè)。例如,先用獲取的第一幀YUV圖像后作為背景圖像,獲取第二幀YUV圖像后與第一幀YUV圖像做差,有移動(dòng)目標(biāo)的地方,差值會(huì)比較大大于第一預(yù)設(shè)閾值的區(qū)域視為是目標(biāo)區(qū)域,否則為背景區(qū)域。這里將差值最大值的30%作為第一預(yù)設(shè)閾值,因?yàn)槟繕?biāo)區(qū)域有一定的范圍,此范圍內(nèi)的差值不一定都是最大的,其目標(biāo)區(qū)域的幀差值會(huì)有一定的范圍,這里就將差值最大值的30%作為第一預(yù)設(shè)閾值,也就是說(shuō)第一預(yù)設(shè)閾值不是固定的,而是根據(jù)計(jì)算的差值的最大值的變化而變化的,這樣相當(dāng)于采用一種自適應(yīng)的方式,實(shí)現(xiàn)第一運(yùn)動(dòng)目標(biāo)區(qū)域的檢測(cè)。
(3)獲取第一運(yùn)動(dòng)目標(biāo)區(qū)域的中心點(diǎn)坐標(biāo),將中心點(diǎn)坐標(biāo)對(duì)應(yīng)到Y(jié)UV圖像中,并根據(jù)攝像頭與待追蹤的運(yùn)動(dòng)目標(biāo)的距離和待追蹤的運(yùn)動(dòng)目標(biāo)的實(shí)際大小預(yù)估YUV圖像中的運(yùn)動(dòng)目標(biāo)區(qū)域。
上述第一目標(biāo)區(qū)域是對(duì)目標(biāo)區(qū)域的初步檢測(cè),為了實(shí)現(xiàn)目標(biāo)區(qū)域的更準(zhǔn)確的檢測(cè),需要結(jié)合攝像頭與待追蹤的運(yùn)動(dòng)目標(biāo)的距離和待追蹤的運(yùn)動(dòng)目標(biāo)的實(shí)際大小,進(jìn)行目標(biāo)區(qū)域的估計(jì),確定最終的目標(biāo)區(qū)域。
在本發(fā)明的一個(gè)實(shí)施例中,步驟S130中的在運(yùn)動(dòng)目標(biāo)區(qū)域中對(duì)運(yùn)動(dòng)目標(biāo)進(jìn)行邊緣檢測(cè)獲取二值邊緣圖像,并進(jìn)行濾波處理包括:
(1)對(duì)目標(biāo)區(qū)域進(jìn)行一次下采樣,在不影響分辨率的情況下可以為后續(xù)步驟的檢測(cè)降低運(yùn)算量。對(duì)下采樣后的目標(biāo)區(qū)域采用邊緣檢測(cè)算子P和Q進(jìn)行X方向和Y方向檢測(cè),判斷檢測(cè)后兩個(gè)方向上偏導(dǎo)數(shù)的最大值是否大于第二預(yù)設(shè)閾值,將偏導(dǎo)數(shù)的最大值大于第二預(yù)設(shè)閾值的點(diǎn)標(biāo)記為邊緣點(diǎn),以獲取待追蹤目標(biāo)的邊緣作為二值邊緣圖像;其中,
(2)獲取二值邊緣圖像的背景顏色信息,判斷顏色信息值是否小于第三預(yù)設(shè)閾值,若判斷為是,則利用RGB顏色信息將背景顏色濾除。
這里主要是針對(duì)目標(biāo)背景有顏色的情況,為了將目標(biāo)中的交叉線檢測(cè)出來(lái),需要將目標(biāo)中的背景顏色進(jìn)行濾除。因?yàn)楸景l(fā)明中的目標(biāo)是白色背景,圖像背景的RGB值都比較大,其他顏色的RGB值都小于白色的RGB值,在針對(duì)目標(biāo)背景有顏色時(shí),可以根據(jù)RGB值,將背景中的部分噪點(diǎn)濾除。同時(shí),本實(shí)施例中的目標(biāo)是有黑色交叉線的,為避免將目標(biāo)中的黑色交叉線標(biāo)志濾除,先將邊緣點(diǎn)偏移,再進(jìn)行濾除。
(3)利用形態(tài)學(xué)濾波方法將二值邊緣圖像進(jìn)行一次膨脹,對(duì)膨脹后的二值邊緣圖像進(jìn)行兩次腐蝕,獲得濾波后的二值邊緣圖像。
當(dāng)目標(biāo)背景沒(méi)有顏色時(shí),需要進(jìn)行形態(tài)學(xué)濾波。先對(duì)邊緣圖像進(jìn)行一次膨脹,再進(jìn)行兩次腐蝕。由于交叉線是有一定寬度的,邊緣檢測(cè)后,交叉線部分會(huì)得到兩條邊緣線,經(jīng)過(guò)膨脹之后,會(huì)成為一條比較粗的邊緣線,再經(jīng)過(guò)兩次腐蝕之后,交叉線變細(xì),同時(shí)將一些原本細(xì)小邊緣點(diǎn)濾除,最終實(shí)現(xiàn)了目標(biāo)的濾波。
這樣就可以減少計(jì)算量的同時(shí),可獲得較理想的運(yùn)動(dòng)目區(qū)域的邊緣信息
在本發(fā)明的一個(gè)實(shí)施例中,步驟S140中的利用霍夫變換檢測(cè)二值邊緣圖像的直線及直線交點(diǎn)包括:
(1)隨機(jī)獲取濾波后的二值邊緣圖像中的若干個(gè)特征點(diǎn)。這里的特征點(diǎn)就是邊緣點(diǎn),該若干個(gè)點(diǎn)還沒(méi)有被確定直線上的點(diǎn)。
(2)對(duì)若干個(gè)特征點(diǎn)進(jìn)行霍夫變換,統(tǒng)計(jì)霍夫空間內(nèi)角度值θ對(duì)應(yīng)的值r相同的點(diǎn)的個(gè)數(shù);判斷個(gè)數(shù)是否大于第四預(yù)設(shè)閾值,若判斷為是,將角度值θ作為直線的方向,且確定霍夫空間中的點(diǎn)(θ,r)對(duì)應(yīng)的直角坐標(biāo)系中的點(diǎn)(x,y)是直線上的點(diǎn)。
對(duì)若干個(gè)特征點(diǎn)進(jìn)行霍夫變換,即將直角坐標(biāo)系中的直線方程轉(zhuǎn)換到霍夫空間表示,直線上一點(diǎn)(x,y),在霍夫空間內(nèi)表現(xiàn)為一條正弦曲線,表示為x*cosθ+y*sinθ=r,其中,r是原點(diǎn)到直線的垂直距離,θ是r與x軸之間的角度,所有直線上的點(diǎn)都滿足r和θ是常量,所以當(dāng)r和θ的霍夫空間內(nèi),尋找交點(diǎn)最多的曲線,其交點(diǎn)即為直線上一點(diǎn),所以當(dāng)θ在0°~180°之間變化時(shí),對(duì)應(yīng)θ下的r值相同的點(diǎn)進(jìn)行個(gè)數(shù)統(tǒng)計(jì)。
選取霍夫空間內(nèi)θ對(duì)應(yīng)下的相同r值最多的點(diǎn)的個(gè)數(shù),如果個(gè)數(shù)大于閾值,則認(rèn)為該θ和r對(duì)應(yīng)的點(diǎn)為直線上的點(diǎn),記錄下直線方向θ。如果個(gè)數(shù)沒(méi)有第四預(yù)設(shè)閾值,則重新進(jìn)行(1)選擇若干個(gè)特征點(diǎn)。
(3)從點(diǎn)(x,y)出發(fā)沿直線方向θ進(jìn)行位移,依次位移一個(gè)第一預(yù)設(shè)位移間距(例如5個(gè)像素點(diǎn)),判斷位移后的點(diǎn)是否是二值邊緣圖像中的邊緣點(diǎn),若判斷為是,則確定該點(diǎn)是直線上的點(diǎn),若判斷為否,為了避免圖像畸變引起的直線彎曲,則進(jìn)一步判斷位移后的點(diǎn)周?chē)谌A(yù)設(shè)窗口范圍內(nèi)(例如3*3窗口)的點(diǎn)是否是二值邊緣圖像中的邊緣點(diǎn),若判斷為是,則確定該點(diǎn)是直線上的點(diǎn),沿著直線的方向繼續(xù)尋找,直到找到二值邊緣圖像的直線上的兩個(gè)端點(diǎn)。當(dāng)移動(dòng)后的點(diǎn)不是邊緣點(diǎn),其周?chē)谌A(yù)設(shè)窗口范圍內(nèi)(例如3*3窗口)的點(diǎn)也不是邊緣點(diǎn)的時(shí)候就認(rèn)為是到達(dá)直線的端點(diǎn),然后從最初的那個(gè)點(diǎn)(x,y)沿著直線方向θ的反方向以相同位移間距的繼續(xù)尋找直到找到直線另一端的端點(diǎn)。
(4)通過(guò)兩端點(diǎn)的坐標(biāo)計(jì)算直線的長(zhǎng)度,判斷直線的長(zhǎng)度是否大于第五預(yù)設(shè)閾值,若判斷為否,則認(rèn)為是圖像噪點(diǎn)堆積形成的類(lèi)似直線,不是目標(biāo)中的直線;若判斷為是,則將該直線確定為待追蹤的運(yùn)動(dòng)目標(biāo)的直線;并再次從點(diǎn)(x,y)出發(fā),沿該直線方向θ進(jìn)行位移,依次位移一個(gè)第二預(yù)設(shè)位移間距(例如1個(gè)像素點(diǎn)),將位移后的點(diǎn)周?chē)牡诙A(yù)設(shè)窗口范圍內(nèi)(例如6*6窗口內(nèi))的點(diǎn)刪除。
(5)重復(fù)上述步驟,直到找到待追蹤目標(biāo)的所有直線,對(duì)找到的直線,根據(jù)直線端點(diǎn)計(jì)算出直線方程參數(shù),用數(shù)學(xué)方法求出直線交點(diǎn),即判斷所有直線是否存在交點(diǎn),若判斷為是,則確定直線及直線交點(diǎn)。若沒(méi)有交點(diǎn),則重新進(jìn)行圖1所示的步驟S110道步驟S130。
本實(shí)施例中的霍夫變換可減少霍夫空間二次轉(zhuǎn)換,使得目標(biāo)追蹤的計(jì)算量減小,提高運(yùn)算速度。
因?yàn)槟繕?biāo)追蹤是一個(gè)連續(xù)的動(dòng)作,當(dāng)前幀的目標(biāo)確定后,還需要進(jìn)行下一幀的圖像檢測(cè),以實(shí)現(xiàn)運(yùn)動(dòng)目標(biāo)的追蹤。在本發(fā)明的一個(gè)實(shí)施例中,圖1所示的方法還包括:
設(shè)定預(yù)設(shè)檢測(cè)步長(zhǎng);對(duì)待追蹤的運(yùn)動(dòng)目標(biāo)的經(jīng)過(guò)預(yù)設(shè)檢測(cè)步長(zhǎng)的下一幀YUV圖像中的運(yùn)動(dòng)目標(biāo)區(qū)域進(jìn)行邊緣、濾波處理和直線及直線交點(diǎn)的檢測(cè),若檢測(cè)到直線及直線交點(diǎn),確定運(yùn)動(dòng)目標(biāo)并繼續(xù)追蹤;若沒(méi)有檢測(cè)到直線或直線交點(diǎn),避免因攝像頭的鏡頭與目標(biāo)的相對(duì)速度太快引起的目標(biāo)超出已確定的運(yùn)動(dòng)目標(biāo)區(qū)域的情況,擴(kuò)大下一幀YUV圖像中的運(yùn)動(dòng)目標(biāo)區(qū)域進(jìn)行檢測(cè),若仍沒(méi)有檢測(cè)到直線或直線交點(diǎn),則重新對(duì)待追蹤的運(yùn)動(dòng)目標(biāo)進(jìn)行追蹤。
圖2為本發(fā)明一個(gè)實(shí)施例提供的一種動(dòng)態(tài)背景下基于固定形態(tài)的單一運(yùn)動(dòng)目標(biāo)的追蹤裝置示意圖。如圖2所示,該動(dòng)態(tài)背景下基于固定形態(tài)的單一運(yùn)動(dòng)目標(biāo)的追蹤裝置200包括:
YUV圖像獲取單元210,用于以白色背景的兩條黑色交叉線作為待追蹤的運(yùn)動(dòng)目標(biāo),通過(guò)攝像頭獲取待追蹤的運(yùn)動(dòng)目標(biāo)當(dāng)前幀的YUV圖像;
運(yùn)動(dòng)目標(biāo)區(qū)域檢測(cè)單元220,用于利用幀差法檢測(cè)YUV圖像中的運(yùn)動(dòng)目標(biāo)區(qū)域;
邊緣檢測(cè)單元230,用于對(duì)運(yùn)動(dòng)目標(biāo)區(qū)域中的運(yùn)動(dòng)目標(biāo)進(jìn)行邊緣檢測(cè)獲取二值邊緣圖像,并進(jìn)行濾波處理;
霍夫變換檢測(cè)單元240,用于利用霍夫變換檢測(cè)二值邊緣圖像的直線及直線交點(diǎn);
運(yùn)動(dòng)目標(biāo)確定單元250,用于根據(jù)攝像頭與運(yùn)動(dòng)目標(biāo)的距離和目標(biāo)的實(shí)際大小,以直線交點(diǎn)為中心確定運(yùn)動(dòng)目標(biāo)。
在本發(fā)明的一個(gè)實(shí)施例中,運(yùn)動(dòng)目標(biāo)區(qū)域檢測(cè)單元220用于:將YUV圖像在第一預(yù)設(shè)窗口范圍內(nèi)像素點(diǎn)的Y值求和作為新的像素點(diǎn),獲得縮小YUV圖像;計(jì)算縮小YUV圖像與上一幀的YUV圖像的幀差值,判斷幀差值是否大于第一預(yù)設(shè)閾值;若判斷為是,則將幀差值大于第一預(yù)設(shè)閾值的區(qū)域作為縮小YUV圖像的第一運(yùn)動(dòng)目標(biāo)區(qū)域;獲取第一運(yùn)動(dòng)目標(biāo)區(qū)域的中心點(diǎn)坐標(biāo),將中心點(diǎn)坐標(biāo)對(duì)應(yīng)到原始YUV圖像中,并根據(jù)攝像頭與待追蹤的運(yùn)動(dòng)目標(biāo)的距離和待追蹤的運(yùn)動(dòng)目標(biāo)的實(shí)際大小預(yù)估YUV圖像中的運(yùn)動(dòng)目標(biāo)區(qū)域。
在本發(fā)明的一個(gè)實(shí)施例中,邊緣檢測(cè)單元230用于:
對(duì)目標(biāo)區(qū)域進(jìn)行一次下采樣,對(duì)下采樣后的目標(biāo)區(qū)域采用邊緣檢測(cè)算子P和Q進(jìn)行X方向和Y方向檢測(cè),判斷檢測(cè)后兩個(gè)方向上偏導(dǎo)數(shù)的最大值是否大于第二預(yù)設(shè)閾值,將偏導(dǎo)數(shù)的最大值大于第二預(yù)設(shè)閾值的點(diǎn)標(biāo)記為邊緣點(diǎn),以獲取待追蹤目標(biāo)的邊緣作為二值邊緣圖像;其中,
獲取二值邊緣圖像的背景顏色信息,判斷顏色信息值是否小于第三預(yù)設(shè)閾值,若判斷為是,則利用RGB顏色信息將背景顏色濾除;
利用形態(tài)學(xué)濾波方法將二值邊緣圖像進(jìn)行一次膨脹,對(duì)膨脹后的二值邊緣圖像進(jìn)行兩次腐蝕,獲得濾波后的二值邊緣圖像。
在本發(fā)明的一個(gè)實(shí)施例中,霍夫變換檢測(cè)單元240用于:
隨機(jī)獲取濾波后的二值邊緣圖像中的若干個(gè)特征點(diǎn);
對(duì)若干個(gè)特征點(diǎn)進(jìn)行霍夫變換,統(tǒng)計(jì)霍夫空間內(nèi)角度值θ對(duì)應(yīng)的值r相同的點(diǎn)的個(gè)數(shù);判斷個(gè)數(shù)是否大于第四預(yù)設(shè)閾值,若判斷為是,將角度值θ作為直線的方向,且確定霍夫空間中的點(diǎn)(θ,r)對(duì)應(yīng)的直角坐標(biāo)系中的點(diǎn)(x,y)是直線上的點(diǎn);
從點(diǎn)(x,y)出發(fā)沿直線方向θ進(jìn)行位移,依次位移一個(gè)第一預(yù)設(shè)位移間距,判斷位移后的點(diǎn)是否是二值邊緣圖像中的邊緣點(diǎn),若判斷為是,則確定該點(diǎn)是直線上的點(diǎn),若判斷為否,則進(jìn)一步判斷位移后的點(diǎn)周?chē)谌A(yù)設(shè)窗口范圍內(nèi)的點(diǎn)是否是二值邊緣圖像中的邊緣點(diǎn),若判斷為是,則確定該點(diǎn)是直線上的點(diǎn),直到找到二值邊緣圖像的直線上的兩個(gè)端點(diǎn);
計(jì)算直線的長(zhǎng)度,判斷直線的長(zhǎng)度是否大于第五預(yù)設(shè)閾值,若判斷為是,則將該直線確定為待追蹤的運(yùn)動(dòng)目標(biāo)的直線;并再次從點(diǎn)(x,y)出發(fā),沿該直線方向θ進(jìn)行位移,依次位移一個(gè)第二預(yù)設(shè)位移間距,將位移后的點(diǎn)周?chē)牡诙A(yù)設(shè)窗口范圍內(nèi)的點(diǎn)刪除;
重復(fù)上述步驟,直到找到待追蹤目標(biāo)的所有直線,判斷所有直線是否存在交點(diǎn),若判斷為是,則確定直線及直線交點(diǎn)。
在本發(fā)明的一個(gè)實(shí)施例中,YUV圖像獲取單元210還用于:設(shè)定預(yù)設(shè)檢測(cè)步長(zhǎng);
邊緣檢測(cè)單元220、霍夫變換檢測(cè)單元230和運(yùn)動(dòng)目標(biāo)確定單元240用于:對(duì)待追蹤的運(yùn)動(dòng)目標(biāo)的經(jīng)過(guò)預(yù)設(shè)檢測(cè)步長(zhǎng)的下一幀YUV圖像中的運(yùn)動(dòng)目標(biāo)區(qū)域進(jìn)行邊緣、濾波處理和直線及直線交點(diǎn)的檢測(cè),若檢測(cè)到直線及直線交點(diǎn),確定運(yùn)動(dòng)目標(biāo)并繼續(xù)追蹤;若沒(méi)有檢測(cè)到直線或直線交點(diǎn),擴(kuò)大下一幀YUV圖像中的運(yùn)動(dòng)目標(biāo)區(qū)域進(jìn)行檢測(cè),若仍沒(méi)有檢測(cè)到直線或直線交點(diǎn),則重新對(duì)待追蹤的運(yùn)動(dòng)目標(biāo)進(jìn)行追蹤。
需要說(shuō)明的是,圖2所示的裝置的各實(shí)施例與圖1所示方法的各實(shí)施例對(duì)應(yīng)相同,上文已有詳細(xì)說(shuō)明,在此不再贅述。
綜上所述,本發(fā)明在一白色背景的兩條黑色交叉線為帶追蹤的運(yùn)動(dòng)目標(biāo)的時(shí)候,利用簡(jiǎn)單的幀差法檢測(cè)運(yùn)動(dòng)目標(biāo)的YUV圖像中的運(yùn)動(dòng)目標(biāo)區(qū)域;在獲取二值邊緣圖像時(shí)采用2*2模板算子,并對(duì)檢測(cè)到的邊緣進(jìn)行形態(tài)學(xué)濾波,減少計(jì)算量的同時(shí),可獲得較理想的運(yùn)動(dòng)目區(qū)域的邊緣信息;最后利用改進(jìn)后的霍夫變換檢測(cè)二值邊緣圖像的直線及直線交點(diǎn),減少霍夫空間二次轉(zhuǎn)換,使得目標(biāo)追蹤的計(jì)算量減小,提高運(yùn)算速度??梢?jiàn),本發(fā)明在動(dòng)態(tài)背景下基于固定形態(tài)的單一運(yùn)動(dòng)目標(biāo)的追蹤時(shí)的運(yùn)算速度快,保證低速運(yùn)動(dòng)中實(shí)現(xiàn)目標(biāo)追蹤的實(shí)時(shí)性,且方法簡(jiǎn)單易實(shí)現(xiàn)。
以上所述,僅為本發(fā)明的具體實(shí)施方式,在本發(fā)明的上述教導(dǎo)下,本領(lǐng)域技術(shù)人員可以在上述實(shí)施例的基礎(chǔ)上進(jìn)行其他的改進(jìn)或變形。本領(lǐng)域技術(shù)人員應(yīng)該明白,上述的具體描述只是更好的解釋本發(fā)明的目的,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。