一種基于邊緣檢測的自適應(yīng)模板匹配算法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及一種模板匹配算法,具體是一種基于邊緣檢測的自適應(yīng)模板匹配算 法。
【背景技術(shù)】
[0002] 由于檢測環(huán)境的復(fù)雜性,許多高速公路的檢測設(shè)備因?yàn)槁访?、橋面或者風(fēng)等因素 產(chǎn)生無規(guī)律的抖動現(xiàn)象,嚴(yán)重時(shí)甚至?xí)?dǎo)致視頻事件檢測系統(tǒng)的檢測率大幅度降低。穩(wěn)像 技術(shù)使用光學(xué)、機(jī)械或者圖像處理等方法得到受影響圖像的偏離矢量,在圖像輸出前用運(yùn) 動補(bǔ)償?shù)姆椒ㄏ\(yùn)部分偏移所帶來的影響,從而得到一個穩(wěn)定的輸出序列,提高圖像信 息的質(zhì)量。傳統(tǒng)的匹配法是視頻序列影像的運(yùn)動估計(jì)的主要方法,其基本思想是將圖像序 列的每一帖分成許多互不重疊的宏塊,并認(rèn)為宏塊內(nèi)所有象素的位移量都相同,然后對每 個宏塊到參考帖某一給定特定捜索范圍內(nèi)根據(jù)一定的匹配準(zhǔn)則找出與當(dāng)前塊最相似的匹 配塊,匹配塊與當(dāng)前塊的相對位移即為運(yùn)動矢量。傳統(tǒng)的匹配法如果模板選取不合理會極 大影響匹配的效果;傳統(tǒng)的塊匹配法的魯棒性是比較差的,原因是在進(jìn)行運(yùn)動補(bǔ)償時(shí),補(bǔ)償 向量由運(yùn)動估計(jì)得到的全局運(yùn)動矢量決定的。在塊匹配法中,全局運(yùn)動矢量由多個模板塊 的局部運(yùn)動矢量累積平均得到,如果建立的模板塊有一個或多個模板的位置不合理,會對 最后的全局運(yùn)動矢量產(chǎn)生比較大的影響。另外,由于檢測系統(tǒng)一般需要二十四小時(shí)運(yùn)動,隨 著天氣和時(shí)間的變化,圖像會發(fā)生顯著改變,因而選取的模板塊也要做相應(yīng)的更新,而傳統(tǒng) 的塊匹配法缺乏有效的更新機(jī)制。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明的目的在于提供一種基于邊緣檢測的自適應(yīng)模板匹配算法,W解決上述背 景技術(shù)中提出的問題。
[0004] 為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
[0005] -種基于邊緣檢測的自適應(yīng)模板匹配算法,包括如下步驟:(1)從攝像設(shè)備中獲取 序列影像,并有用序列均值法進(jìn)行背景建模獲得一個"干凈"的背景;
[0006] (2)用邊緣檢測算法提取出背景圖像邊緣、直線、紋理、角點(diǎn)的邊緣特征;
[0007] (3)匹配模板建立,經(jīng)過灰度二值化后,邊緣特征在圖中表示為T'的像素,而空白 區(qū)域則為"0",建立模板的目標(biāo)是選取背景邊緣特征圖中特征最明顯的若干個區(qū)域,尋找特 征最明顯的區(qū)域即是求在模板大小范圍內(nèi)"r的數(shù)量最多的若干個位置,假設(shè)模板左上角 的坐標(biāo)(X,y)為模板位置,則模板用如下公式表示:
[0010]其中PU,y)表示左上角W(x,y)為起點(diǎn),在模板寬度L和高度H的范圍內(nèi)所有像素 值的和,G(X,y)表示在整幅圖像中,W (O,O)為起點(diǎn),圖像寬度M和高度N的范圍內(nèi)所有模板 像素和的最大值,此時(shí)(x,y)位置的模板即為邊緣特征最明顯的模板;
[0011] (4)模板進(jìn)行自適應(yīng)調(diào)整,在系統(tǒng)初始化時(shí)記錄車輛經(jīng)過的軌跡,并通過權(quán)值法來 確定模板的位置,即是通過給不同區(qū)域的像素點(diǎn)賦予不同的權(quán)值來確定模板的位置,公式 如下所示:
[0015] 其中Tl和T2分別表示不在軌跡覆蓋區(qū)域和在軌跡覆蓋區(qū)域的權(quán)值,若模板數(shù)量多 于一個,在求出第一個模板位置之后,把運(yùn)一點(diǎn)屏蔽掉,接著計(jì)算下一個模板位置;
[0016] (5)模板捜索,假設(shè)其中一個模板的位置為D(x,y),寬度和高度分別為L、H,則首先 要在當(dāng)前圖像位置D(x,y)附近一定范圍內(nèi)進(jìn)行模板的捜索與匹配,根據(jù)視頻抖動的劇烈程 度給捜索的范圍設(shè)定一個闊值,例如圖像抖動的幅度一般小于L或H的K分之一的話,可W把 闊值定為max化/K,H/K),則捜索的范圍如下所示: A-: max(0,.v-^〇 ~min(L,A + L -A/)
[0017] ; -V: max(0, v-A〇 ~min(//,v -f // -'^^0 ,么戶二 max(L/於、///於)
[0018] (6)模板匹配,采用最小均方誤差準(zhǔn)則進(jìn)行模板匹配:
[0020] 其中S表示當(dāng)前帖的圖像子塊,表示參考帖的圖像子塊;k和1分別表示圖像子塊水 平方向和垂直方向的移動量,其最小單位是1個像素;Nl和N2分別代表圖像子塊的寬度和高 度;
[0021] (7)運(yùn)動補(bǔ)償,由模板匹配算法可W得到每一個模板的局部運(yùn)動矢量,使用所有模 板運(yùn)動矢量的平均值作為圖像的全局運(yùn)動矢量,公式如下所示:
[0023] 其中G表示全局運(yùn)動矢量,Pi表示第i個模板的局部運(yùn)動矢量,M為模板的數(shù)量。使 用G作為全局補(bǔ)償矢量對圖像進(jìn)行反向補(bǔ)償即可消除圖像抖動。
[0024] 作為本發(fā)明進(jìn)一步的方案:所述步驟(1)中的背景獲取時(shí),需要對背景進(jìn)行更新。
[0025] 作為本發(fā)明進(jìn)一步的方案:所述步驟(3)的匹配模板的建立中,需要對背景圖像重 新進(jìn)行邊緣檢測。
[0026] 作為本發(fā)明進(jìn)一步的方案:所述模板大小為長寬20個像素,數(shù)量為2到4個。
[0027] 作為本發(fā)明再進(jìn)一步的方案:模板在捜索時(shí),采用菱形捜索法,菱形捜索分為兩種 捜索模板,一個是大菱形捜索模板,另一個是小菱形捜索模板,捜索首先從初始位置開始計(jì) 算大菱形捜索模板每個位置的匹配結(jié)果,如果結(jié)果最理想的位置不是在模板的中間,則一 直捜索直到到達(dá)中間為止;重復(fù)上述的匹配過程直到最佳匹配位置位于大模板中屯、,接下 來,W大菱形捜索模板的中屯、為基準(zhǔn)使用小菱形捜索模板,計(jì)算每個小模板位置的匹配結(jié) 果,所得的最佳結(jié)果即為全局最優(yōu)結(jié)果。
[0028] 與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:本發(fā)明可W檢測出由于攝像頭的抖動而 產(chǎn)生的位移,從而進(jìn)行運(yùn)動估計(jì)獲得圖像的全局運(yùn)動矢量,采用固定帖運(yùn)動補(bǔ)償方式對當(dāng) 前帖圖像進(jìn)行矯正,消除攝像頭抖動帶來的影響,降低視頻檢測的誤判,獲得穩(wěn)定高質(zhì)量的 輸出視頻。
【附圖說明】
[0029] 圖1為基于邊緣檢測的自適應(yīng)模板匹配算法中模板的效果圖;
[0030] 圖2為基于邊緣檢測的自適應(yīng)模板匹配算法中大小菱形捜索模板圖。
[0031 ]圖3為基于邊緣檢測的自適應(yīng)模板匹配算法的流程圖。
【具體實(shí)施方式】
[0032] 下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0033] 請參閱圖1~3,本發(fā)明實(shí)施例中,一種基于邊緣檢測的自適應(yīng)模板匹配算法,包括 如下步驟:(1)從攝像設(shè)備中獲取序列影像,并有用序列均值法進(jìn)行背景建模獲得一個"干 凈"的背景;
[0034] (2)用邊緣檢測算法提取出背景圖像邊緣、直線、紋理、角點(diǎn)的邊緣特征;
[0035] (3)匹配模板建立,經(jīng)過灰度二值化后,邊緣特征在圖中表示為T'的像素,而空白 區(qū)域則為"0",建立模板的目標(biāo)是選取背景邊緣特征圖中特征最明顯的若干個區(qū)域,尋找特 征最明顯的區(qū)域即是求在模板大小范圍內(nèi)"r的數(shù)量最多的若干個位置,假設(shè)模板左上角 的坐標(biāo)(X,y)為模板位置,則模板用如下公式表示:
[0038] 其中PU,y)表示左上角W(x,y)為起點(diǎn),在模板寬度L和高度H的范圍內(nèi)所有像素 值的和,G(X,y)表示在整幅圖像中,W (0,0)為起點(diǎn),圖像寬度M和高度N的范圍內(nèi)所有模板 像素和的最大值,此時(shí)(x,y)位置的模板即為邊緣特征最明顯的模板;
[0039] (4)模板進(jìn)行自適應(yīng)調(diào)整,在系統(tǒng)初始化時(shí)記錄車輛經(jīng)過的軌跡,并通過權(quán)值法來 確定模板的位置,即是通過給不同區(qū)域的像素點(diǎn)賦予不同的權(quán)值來確定模板的位置,公式 如下所示:
[0043] 其中Tl和T2分別表示不在軌跡覆蓋區(qū)域和在軌跡覆蓋區(qū)域的權(quán)值,若模板數(shù)量多 于一個,在求出第一個模板位置之后,把運(yùn)一點(diǎn)屏蔽掉,接著計(jì)算下一個模板位置;
[0044] (5)模板捜索,假設(shè)其中一個模板的位置為D(x,y),寬度和高度分別為L、H,則首先 要在當(dāng)前圖像位置D(x,y)附近一定范圍內(nèi)進(jìn)行模板的捜索與匹配,根據(jù)視頻抖動的劇烈程 度給捜索的范圍設(shè)定一個闊值,例如圖像抖動的幅度一般小于L或H的K分之一的話,可W把 闊值定為max化/K,H/K),則捜索的范圍如下所示: X: max(0,.v_A〇 ~min(L,A.牛左_選詩 [004己] ^束.:max(0, r -Af)~min(//、y+ 巧一A句 A/ = maML/ KMJ K) ?
[0046] (6)模板匹配,采用最小均方誤差準(zhǔn)則進(jìn)行模板匹配:
[0048] 其中S表示當(dāng)前帖的圖像子塊,表示參考帖的圖像子塊;k和1分別表示圖像子塊水 平方向和垂直方向的移動量,其最小單位是1個像素;Nl和N2分別代表圖像子塊的寬度和高 度;
[0049] (7)運(yùn)動補(bǔ)償,由模板匹配算法可W得到每一個模板的局部運(yùn)動矢量,使用所有模 板運(yùn)動矢量的平均值作為圖像的全局運(yùn)動矢量,公式如下所示:
[0051] 其中G表示全局運(yùn)動矢量,Pi表示第i個模板的局部運(yùn)動矢量,M為模板的數(shù)量。使 用G作為全局補(bǔ)償矢量對圖像進(jìn)行反向補(bǔ)償即可消除圖像抖動。
[0052] 所述步驟(1)中的背景獲取時(shí),需要對背景進(jìn)行更新。
[0053] 所述步驟(3)的匹配模板的建立中,需要對背景圖像重新進(jìn)行邊緣檢測。
[0054] 所述模板大小為長寬20個像素,數(shù)量為2到4個。
[0055] 模板在捜索時(shí),采用菱形捜索法,菱形捜索分為兩種捜索模板,一個是大菱形捜索 模板,另一個是小菱形捜索模板,捜索首先從初始位置開始計(jì)算大菱形捜索模板每個位置 的匹配結(jié)果,如果結(jié)果最理想的位置不是在模板的中間,則一直捜索直到到達(dá)中間為止;重 復(fù)上述的匹配過程直到最佳匹配位置位于大模板中屯、,接下來,W大菱形捜索模板的中屯、 為基準(zhǔn)使用小菱形捜索模板,計(jì)算每個小模板位置的匹配結(jié)果,所得的最佳結(jié)果即為全局 最優(yōu)結(jié)果。
[0056] 本發(fā)明的工作原理是:本發(fā)明運(yùn)用基于邊緣特征的視頻