本發(fā)明涉及圖像處理技術(shù)領(lǐng)域,尤其涉及一種基于邊緣投影匹配的劇烈運(yùn)動(dòng)檢測方法。
背景技術(shù):
運(yùn)動(dòng)目標(biāo)是監(jiān)控視頻中最值得關(guān)注的部分,也是視頻中信息量的主要來源。目標(biāo)的運(yùn)動(dòng)特征與目標(biāo)的屬性密切相關(guān),運(yùn)動(dòng)的劇烈程度也會(huì)關(guān)聯(lián)著不同的行為。因此對(duì)運(yùn)動(dòng)目標(biāo)的運(yùn)動(dòng)劇烈程度的評(píng)估和判別,就成為了識(shí)別圖像中異常行為的重要方法。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)上述現(xiàn)有技術(shù)存在的缺陷,本發(fā)明提供一種基于邊緣投影匹配的劇烈運(yùn)動(dòng)檢測方法,通過對(duì)運(yùn)動(dòng)目標(biāo)邊緣信息進(jìn)行投影,并在視頻圖像序列中比較投影信息的變化,實(shí)現(xiàn)對(duì)視頻中劇烈運(yùn)動(dòng)的快速和準(zhǔn)確的評(píng)估。
本發(fā)明提供的基于邊緣投影匹配的劇烈運(yùn)動(dòng)檢測方法,其改進(jìn)之處在于,對(duì)視頻進(jìn)行運(yùn)動(dòng)目標(biāo)檢測,獲取圖像分割處理后的視頻區(qū)域,并在所述視頻區(qū)域中進(jìn)行邊緣提取,通過邊緣區(qū)域來顯示運(yùn)動(dòng)目標(biāo)的信息;通過投影變換,將所述邊緣區(qū)域投影為水平和豎直方向的直方圖向量,在不同視頻幀之間進(jìn)行向量匹配,評(píng)估所述運(yùn)動(dòng)目標(biāo)變化程度,從而確定所述運(yùn)動(dòng)目標(biāo)的運(yùn)動(dòng)劇烈程度。
優(yōu)選的,所述檢測方法包括如下步驟:
(1)獲取視頻當(dāng)前幀圖像,并標(biāo)記;
(2)提取運(yùn)動(dòng)目標(biāo);
(3)計(jì)算分割閾值,確定分割圖像;
(4)進(jìn)行所述運(yùn)動(dòng)目標(biāo)的邊緣提?。?/p>
(5)對(duì)所述運(yùn)動(dòng)目標(biāo)的邊緣進(jìn)行水平方向投影和豎直方向投影,得到投影向量;
(6)將水平方向投影向量和豎直方向投影向量進(jìn)行歸一化;
(7)計(jì)算相隔幀的投影向量差異;
(8)判斷所述投影向量差異是否大于閾值,是則進(jìn)行下一步,否則輸出為無劇烈運(yùn)動(dòng)幀;
(9)累計(jì)判別變量;
(10)判斷單位時(shí)間內(nèi)所述判別變量是否大于閾值,是則輸出為有劇烈運(yùn)動(dòng),否則輸出為無劇烈運(yùn)動(dòng)。
較優(yōu)選的,步驟(1)對(duì)圖像進(jìn)行標(biāo)記是指根據(jù)用戶設(shè)定提取感興趣矩形區(qū)域,記為roi區(qū)域;
通過雙線性插值將所述roi區(qū)域設(shè)置大小。
較優(yōu)選的,步驟(2)采用背景差分方法提取運(yùn)動(dòng)目標(biāo),步驟如下:
1)計(jì)算前幀背景差分圖像矩陣和幀間差分圖像矩陣;
2)像素逐一更新幀間差分;
3)像素逐一更新前幀背景差分;
4)根據(jù)步驟2)和步驟3),將所有像素進(jìn)行更新;
5)計(jì)算當(dāng)前幀的背景差分圖像,得到當(dāng)前幀的背景差分圖像矩陣;
6)計(jì)算所述當(dāng)前幀的背景差分圖像矩陣的均值和標(biāo)準(zhǔn)差。
較優(yōu)選的,步驟1)計(jì)算前幀背景差分圖像矩陣和幀間差分圖像矩陣的步驟包括:
計(jì)算前幀背景差分圖像,公式為:
bdk=fk-bk-1
式中,bdk為fk與bk-1差分圖像;fk為當(dāng)前幀圖像;bk-1為前一幀對(duì)應(yīng)背景圖像;k為幀號(hào),k>0,當(dāng)k=1時(shí),記為背景圖像b1為第1幀圖像f1;
計(jì)算幀間差分圖像,公式為:
fdk=|fk-fk-1|
式中,fdk為fk與fk-1的差分的絕對(duì)值;fk為當(dāng)前幀圖像;fk-1為前一幀圖像;
逐步進(jìn)行像素差分,得到前幀背景差分圖像矩陣和幀間差分圖像矩陣。
較優(yōu)選的,步驟2)像素逐一更新幀間差分的步驟如下:
像素坐標(biāo)為(x,y),比較幀間差分圖像fdk(x,y)的像素值是否大于閾值fth:
當(dāng)fdk(x,y)>fth時(shí),將當(dāng)前像素更新量mk(x,y)設(shè)置為0;
當(dāng)fdk(x,y)≤fth時(shí),根據(jù)更新系數(shù)kk(x,y)設(shè)置更新量mk(x,y),公式為:
mk(x,y)=kk(x,y)×bdk(x,y)。
較優(yōu)選的,步驟3)像素逐一更新前幀背景差分的步驟如下:
比較前幀背景差分圖像bdk(x,y)的像素值是否大于閾值bth:
當(dāng)bdk(x,y)≤bth時(shí),不進(jìn)行前幀背景更新,當(dāng)前幀背景圖像bk(x,y)的像素?cái)?shù)值等于前一幀背景圖像bk-1(x,y)的像素?cái)?shù)值;
當(dāng)bdk(x,y)>bth時(shí),按所述更新量mk(x,y)
對(duì)所述前一幀背景圖像bk-1(x,y)的像素進(jìn)行更新,公式為:
bk(x,y)=bk-1(x,y)+mk(x,y)。
較優(yōu)選的,步驟5)計(jì)算當(dāng)前幀的背景差分圖像的公式如下:
bfdk=|fk-bk|
根據(jù)上述公式,像素逐一進(jìn)行差分后,得到所述當(dāng)前幀的背景差分圖像矩陣。
較優(yōu)選的,步驟6)計(jì)算所述當(dāng)前幀的背景差分圖像矩陣的均值和標(biāo)準(zhǔn)差的公式為:
式中,μ為背景差分圖像矩陣的均值;矩陣為r行c列;bfdk(i,j)為圖像第i行第j列像素的像素值;
式中,σ為背景差分圖像矩陣的標(biāo)準(zhǔn)差。
較優(yōu)選的,步驟(4)進(jìn)行所述運(yùn)動(dòng)目標(biāo)的邊緣提取時(shí),采用sobel算子經(jīng)過濾波提取分割圖像的邊緣,并分別提取圖像水平方向邊緣二值圖像和豎直方向邊緣二值圖像。
較優(yōu)選的,步驟(5)中將所述水平方向邊緣二值圖像進(jìn)行水平方向累加投影操作,即將同一列圖像數(shù)據(jù)進(jìn)行累加,獲得向量進(jìn)行歸一化后,獲得水平方向的歸一化向量;
將所述豎直方向邊緣二值圖像進(jìn)行豎直方向累加投影操作,即將同一列圖像數(shù)據(jù)進(jìn)行累加,獲得向量進(jìn)行歸一化后,獲得豎直方向的歸一化向量。
本發(fā)明的技術(shù)方案中,通過對(duì)運(yùn)動(dòng)目標(biāo)邊緣信息進(jìn)行投影,并在視頻圖像序列中比較投影信息的變化,實(shí)現(xiàn)對(duì)視頻中劇烈運(yùn)動(dòng)的快速和準(zhǔn)確的評(píng)估。
本發(fā)明的技術(shù)方案中,分段函數(shù)對(duì)于背景更新過程的更新率的控制,起到了優(yōu)化的效果。
附圖說明
圖1為本發(fā)明實(shí)施例的流程圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉出優(yōu)選實(shí)施例,對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。然而,需要說明的是,說明書中列出的許多細(xì)節(jié)僅僅是為了使讀者對(duì)本發(fā)明的一個(gè)或多個(gè)方面有一個(gè)透徹的理解,即便沒有這些特定的細(xì)節(jié)也可以實(shí)現(xiàn)本發(fā)明的這些方面。
本實(shí)施例提供的一種基于邊緣投影匹配的劇烈運(yùn)動(dòng)檢測方法,即對(duì)視頻進(jìn)行運(yùn)動(dòng)目標(biāo)檢測,獲取圖像分割處理后的視頻區(qū)域,并在所述視頻區(qū)域中進(jìn)行邊緣提取,通過邊緣區(qū)域來顯示運(yùn)動(dòng)目標(biāo)的信息;通過投影變換,將所述邊緣區(qū)域投影為水平和豎直方向的直方圖向量,在不同視頻幀之間進(jìn)行向量匹配,評(píng)估所述運(yùn)動(dòng)目標(biāo)變化程度,從而確定所述運(yùn)動(dòng)目標(biāo)的運(yùn)動(dòng)劇烈程度。具體的,本實(shí)施例的流程圖如圖1所示,具體步驟如下:
(1)獲取視頻當(dāng)前幀圖像,并標(biāo)記。
獲取監(jiān)控視頻當(dāng)前幀圖像,并根據(jù)用戶設(shè)定提取感興趣矩形區(qū)域(roi區(qū)域),并通過雙線性插值將該roi區(qū)域置為設(shè)置大小(如320×240),本實(shí)施例以下所稱圖像均為提取roi病重置大小后的區(qū)域。前一幀圖像和前一幀圖像對(duì)應(yīng)背景圖像表示為:
設(shè)幀號(hào)為k,當(dāng)前幀圖像記為fk,當(dāng)前幀圖像對(duì)應(yīng)的背景圖像記為bk,前一幀圖像記為fk-1,前一幀對(duì)應(yīng)背景圖像記為bk-1;對(duì)于第1幀,設(shè)背景圖像b1為第1幀圖像f1;
(2)采用背景差分方法提取運(yùn)動(dòng)目標(biāo),具體步驟如下:
1)計(jì)算前幀背景差分圖像矩陣和幀間差分圖像矩陣,具體為:
當(dāng)k>1時(shí),針對(duì)fk、fk-1、bk-1,計(jì)算前幀背景差分圖像,公式為:
bdk=fk-bk-1
式中,bdk為fk與bk-1差分圖像;fk為當(dāng)前幀圖像;bk-1為前一幀對(duì)應(yīng)背景圖像;k為幀號(hào),k>0,當(dāng)k=1時(shí),記為背景圖像b1為第1幀圖像f1;
計(jì)算幀間差分圖像,公式為:
fdk=|fk-fk-1|
式中,fdk為fk與fk-1的差分的絕對(duì)值;fk為當(dāng)前幀圖像;fk-1為前一幀圖像;
逐步進(jìn)行像素差分,得到前幀背景差分圖像矩陣和幀間差分圖像矩陣。
2)像素逐一更新幀間差分,具體為:
像素坐標(biāo)為(x,y),比較幀間差分圖像fdk(x,y)的像素值是否大于閾值fth:
當(dāng)fdk(x,y)>fth時(shí),將當(dāng)前像素更新量mk(x,y)設(shè)置為0;
當(dāng)fdk(x,y)≤fth時(shí),根據(jù)更新系數(shù)kk(x,y)設(shè)置更新量mk(x,y),公式為:
mk(x,y)=kk(x,y)×bdk(x,y)。
閾值fth的數(shù)值根據(jù)需求和應(yīng)用環(huán)境設(shè)定,更新系數(shù)kk(x,y)根據(jù)需要及監(jiān)控場景情況設(shè)定。本實(shí)施例設(shè)定閾值fth的數(shù)值為2,更新系數(shù)kk(x,y)為:
3)像素逐一更新前幀背景差分,具體為:
比較前幀背景差分圖像bdk(x,y)的像素值是否大于閾值bth:
當(dāng)bdk(x,y)≤bth時(shí),不進(jìn)行前幀背景更新,當(dāng)前幀背景圖像bk(x,y)的像素?cái)?shù)值等于前一幀背景圖像bk-1(x,y)的像素?cái)?shù)值;
當(dāng)bdk(x,y)>bth時(shí),按所述更新量mk(x,y)
對(duì)所述前一幀背景圖像bk-1(x,y)的像素進(jìn)行更新,公式為:
bk(x,y)=bk-1(x,y)+mk(x,y)。
閾值bth根據(jù)需求和應(yīng)用環(huán)境設(shè)定。
4)根據(jù)步驟2)和步驟3),將所有像素進(jìn)行更新,得到當(dāng)前幀對(duì)應(yīng)的背景圖像bk。
5)計(jì)算當(dāng)前幀的背景差分圖像,得到當(dāng)前幀的背景差分圖像矩陣,計(jì)算公式為:
bfdk=|fk-bk|
差分操作通過對(duì)圖像像素值相減計(jì)算得到,逐像素差分后,得到差分圖像矩陣。
6)計(jì)算所述當(dāng)前幀的背景差分圖像矩陣的均值和標(biāo)準(zhǔn)差,公式為:
式中,μ為背景差分圖像矩陣的均值;矩陣為r行c列;bfdk(i,j)為圖像第i行第j列像素的像素值;
式中,σ為背景差分圖像矩陣的標(biāo)準(zhǔn)差。
(3)計(jì)算分割閾值,確定分割圖像;
針對(duì)圖像bfdk中大于μ+σ的像素值,以最大類間方差準(zhǔn)則計(jì)算最優(yōu)分割閾值th;
根據(jù)閾值th對(duì)圖像bfdk進(jìn)行圖像分割,形成分割圖像bfsk;
分割法則為:
其中bfdk(i,j)為圖像第i行第j列像素的像素值,bfsk(i,j)為分割圖像bfsk第i行第j列像素的像素值。
(4)進(jìn)行所述運(yùn)動(dòng)目標(biāo)的邊緣提?。?/p>
采用sobel算子提取分割圖像bfsk中的邊緣,sobel算子水平濾波模板為gx,豎直方向?yàn)V波模板gy,分別為:
經(jīng)過sobel模板濾波,并進(jìn)行閾值tsobel進(jìn)行圖像分割,分別提取了圖像水平方向和豎直方向邊緣二值圖像bfsxk和bfsyk。
(5)對(duì)所述運(yùn)動(dòng)目標(biāo)的邊緣進(jìn)行水平方向投影和豎直方向投影,得到投影向量;
將圖像bfsxk進(jìn)行水平方向累加投影操作,即將同一列圖像數(shù)據(jù)進(jìn)行累加(統(tǒng)計(jì)二值圖像中此列上數(shù)值為1的個(gè)數(shù)),獲得向量進(jìn)行歸一化后(向量所有數(shù)值乘上一個(gè)固定數(shù)值,使向量所有數(shù)值的和為1),獲得歸一化向量fxk;將所述豎直方向邊緣二值圖像bfsyk進(jìn)行豎直方向累加投影操作,即將同一列圖像數(shù)據(jù)進(jìn)行累加,獲得向量進(jìn)行歸一化后,獲得豎直方向的歸一化向量fyk。
(6)將水平方向投影向量fxk和豎直方向投影向量fyk進(jìn)行歸一化,其連接成單一向量,稱為第k幀特征向量fvk。
(7)計(jì)算相隔幀的投影向量差異;
對(duì)k之后每間隔5幀重復(fù)(1)~(6)步驟,形成特征向量fvk+5i,i為每間隔5幀索引數(shù),i=0,1,2,…;
設(shè)置計(jì)數(shù)器acc,并將數(shù)值置為零,計(jì)算向量fvk+5i與fvk+5(i+1)的歐氏距離。
(8)判斷所述投影向量差異是否大于閾值,是則進(jìn)行下一步,否則輸出為無劇烈運(yùn)動(dòng)幀;
與閾值tv進(jìn)行比較,如果大于tv,acc數(shù)值增加3,否則acc數(shù)值減少1,如果acc數(shù)值降低至小于或者等于0時(shí),acc數(shù)值置為0;
(9)累計(jì)判別變量;判別變量為一個(gè)整形變量,初始值為0,一旦發(fā)現(xiàn)當(dāng)前圖像幀中存在劇烈運(yùn)動(dòng),則進(jìn)行累加,典型值為每次累加1,最多累加到100,如果累加后值大于100,則不再累加,累加結(jié)果設(shè)為100。如設(shè)定閾值為70,累計(jì)判別變量大于70,判斷存在劇烈運(yùn)動(dòng)。如果判斷當(dāng)前幀不存在劇烈運(yùn)動(dòng),則累計(jì)判別變現(xiàn)減小,典型值為每次減小3,最小值為0,減小后小于0,累計(jì)變量值設(shè)為0。
(10)判斷單位時(shí)間內(nèi)所述判別變量是否大于閾值,是則輸出為有劇烈運(yùn)動(dòng),否則輸出為無劇烈運(yùn)動(dòng)。
設(shè)置閾值tacc,當(dāng)acc累加值大于tacc時(shí),判定存在劇烈運(yùn)動(dòng),必要時(shí)可以進(jìn)行報(bào)警。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。