一種基于圖像邊緣的低復雜度視頻移動偵測方法
【技術(shù)領域】
[0001] 本發(fā)明涉及視頻攝像機監(jiān)控和視頻圖像處理技術(shù)領域,具體涉及一種基于圖像邊 緣的低復雜度視頻移動偵測方法。
【背景技術(shù)】
[0002] 移動偵測能夠自動檢測出視頻中的運動場景,因而可以降低人工監(jiān)控成本,提高 監(jiān)控效率和監(jiān)控力度。移動偵測已被作為運動檢測錄像技術(shù)的基礎,是智能攝像機的重要 組成部分。近年發(fā)展起來的小體積、可攜帶、輕便式的家庭智能攝像機將移動偵測技術(shù)嵌入 到攝像機固件中,對移動偵測的準確度和實時性都具有嚴格的要求。
[0003] 傳統(tǒng)的移動偵測方法主要分為兩大類:基于像素值的偵測方法和基于像素光流的 偵測方法。
[0004] 基于像素值的偵測方法通過比較像素值的變化來確定視頻畫面的運動信息,主要 有背景減除法和時間差分法兩種實現(xiàn)方式。背景減除法首先基于歷史圖像建立一個背景圖 像模型,然后利用當前圖像與背景圖像的差分檢測出運動區(qū)域。時間差分法對連續(xù)的圖像 序列中的兩個或三個相鄰幀做差,將結(jié)果閾值化來提取圖像中的運動區(qū)域。背景減除法和 時間差分法對光照、及如風吹綠植引起的畫面變化等干擾因素特別敏感。
[0005] 基于像素光流的方法賦予圖像中的每個像素點一個運動矢量,即光流失量。若圖 像中不存在運動目標,那么光流矢量在整個圖像區(qū)域則是連續(xù)變化的,而當物體和圖像背 景中存在相對運動時,運動物體所形成的光流矢量則必然不同于鄰域背景的光流矢量,從 而將運動物體的位置檢測出來。光流法優(yōu)點在于可以避免畫面范圍內(nèi)的光線變化引起的誤 報。但是它抗噪性能差,對畫面中的噪點很敏感。此外,光流法計算復雜度非常高,需要特 別的硬件裝置才能被應用于全幀視頻流的實時處理。
[0006] 綜上,現(xiàn)有的移動偵測方法主要存在如下一些問題:
[0007] 1)光線變化引起的誤報問題
[0008] 實際應用場景中,光線變化的情況普遍存在,如室內(nèi)開、關(guān)燈引起的光線驟變等。 傳統(tǒng)的方法通過將檢測變化區(qū)域的范圍來避免光線變化引起的誤報,如檢測到整個畫面的 像素都發(fā)生了變化,則認為是光線變化。這種方法會漏報正常畫面的移動信息,如大范圍場 景變換引起的畫面整體像素的變化。
[0009] 2)無關(guān)因素干擾引起的誤報問題
[0010] 無關(guān)因素,即無實際意義的畫面變化,如風吹草動引起的畫面細微的變化。傳統(tǒng)方 法一般通過計算變化像素的個數(shù)來確定是否是干擾因素。如當像素變化個數(shù)低于某個閾 值,則忽略掉此移動信息。這種方法會漏掉有實際意義的移動信息,如遠處物體移動引起的 小范圍畫面變化。
[0011] 3)圖像噪聲引起的誤報問題
[0012] 由于圖像傳感器的工作情況受各種因素的影響,如圖像獲取中的環(huán)境條件和傳感 元器件自身的質(zhì)量,光照程度和傳感器溫度等,會引起圖像噪聲。圖像噪聲使得相同場景下 的兩幅圖像會有像素差異,這種差異隨機分布在整幅畫面中。傳統(tǒng)偵測方法會將這種噪聲 引起的差異檢測為移動場景。
[0013] 4)偵測性能和偵測復雜度的平衡問題
[0014] 相比光流法,基于像素值的偵測方法具有較低的偵測復雜度,但是其偵測準確度 也較低。光流法偵測準確度相對較高,但是其運算復雜度也非常高,需要特別的硬件裝置才 能被應用于全幀視頻流的實時處理。難于滿足小體積、輕便式、可攜帶攝像機對偵測準確性 和實時性的高需求。
【發(fā)明內(nèi)容】
[0015] 針對現(xiàn)有技術(shù)中存在的誤報問題以及偵測性能和偵測復雜度的平衡問題,本發(fā)明 提供了一種基于圖像邊緣的低復雜度視頻移動偵測方法,實現(xiàn)有效避免誤報、且降低移動 偵測運算復雜度的目的。
[0016] 本發(fā)明基于圖像邊緣的低復雜度視頻移動偵測方法,實現(xiàn)步驟如下:
[0017] 步驟101 :獲取一幀圖像f。,對f。進行邊緣檢測,得到邊緣圖像fV;
[0018] 步驟102 :在當前時間距離圖像f。的獲取時間超過閾值t時,獲取下一幀圖像f p 并對進行邊緣檢測,得到邊緣圖像f Λ繼續(xù)步驟201 ;
[0019] 步驟201 :對圖像fQlPf ^做異或操作,得到邊緣差異圖像fd,繼續(xù)步驟301 ;
[0020] 步驟301 :對邊緣差異圖像#進行腐蝕操作得到圖像f de,繼續(xù)步驟401 ;
[0021] 步驟401 :遍歷腐蝕圖像f'統(tǒng)計像素值不為0的像素個數(shù)count,獲取嚴內(nèi)像素 值不為〇的所有像素在水平方向和垂直方向上的最大和最小坐標值max_x, min_x, max_y和 min_y,得到移動區(qū)域A ;
[0022] 步驟402 :判斷count是否大于閾值CHANGE_M0TI0N_THRESH0LD,若是繼續(xù)步驟 403,否則轉(zhuǎn)步驟501執(zhí)行;CHANGE_M0TI0N_THRESH0LD為正整數(shù);
[0023] 步驟403 :確定移動區(qū)域A在水平和垂直方向上的范圍值dx和dy,判斷dx或dy 的值是否大于閾值CHANGE_AREA_THRESHOLD,若是則偵測到移動信息,輸出移動區(qū)域A的坐 標,繼續(xù)步驟501 ;否則,當前沒有物體移動,繼續(xù)步驟501 ;
[0024] 其中,dx = max_x - min_x, dy = max_y - min_y ;閾值 CHANGE_AREA_THRESHOLD 為 整數(shù);
[0025] 步驟501 :判斷是否結(jié)束偵測,若是,結(jié)束偵測;否則,將當前圖像匕作為圖像f。, 更新邊緣圖像&6為fV,然后轉(zhuǎn)步驟102繼續(xù)執(zhí)行。
[0026] 與現(xiàn)有的移動偵測方法相比,本發(fā)明的視頻移動偵測方法具有以下優(yōu)點和積極效 果:
[0027] 1)本發(fā)明方法對圖像邊緣而不是像素值進行檢測,由于圖像邊緣不受光線明暗變 化的影響,因而本發(fā)明方法可以有效避免因光線變化,如開、關(guān)燈及光照條件改變等帶來的 偵測誤報問題。
[0028] 2)本發(fā)明方法比較邊緣差異的像素個數(shù)及移動范圍來判斷物體變化的幅度,能夠 相對有效地過濾掉某些無實際意義的畫面變化,如風吹草動引起的畫面細微的變化。
[0029] 3)對差異圖像進行腐蝕操作,去除圖像的隨機噪點,可以有效避免圖像噪聲引起 的偵測誤報。
[0030] 4)本發(fā)明方法具有較低的運算復雜度,對內(nèi)存和CPU等硬件資源要求較低,可實 施性強。
【附圖說明】
[0031] 圖1是本發(fā)明的基于圖像邊緣的低復雜度移動偵測方法的概念流程圖;
[0032] 圖2是本發(fā)明的基于圖像邊緣的低復雜度移動偵測方法的流程示意圖;
[0033] 圖3是像素p及其垂直和水平方向相鄰像素的位置關(guān)系;
[0034] 圖4是腐蝕操作中像素p及其相鄰像素的位置關(guān)系;
【具體實施方式】
[0035] 下面將結(jié)合附圖和實施例對本發(fā)明作進一步的詳細說明。
[0036] 如圖1所示,本發(fā)明方法首先對輸入的前后兩幀圖像分別進行邊緣檢測,然后求 取相鄰兩幀圖像的邊緣差異,接下來利用腐蝕算法對邊緣差異圖像進行腐蝕,最后統(tǒng)計得 到腐蝕圖像中的變化區(qū)域。
[0037] 圖2給出了本發(fā)明視頻移動偵測方法的一種【具體實施方式】,具體包括以下步驟:
[0038] 步驟101 :獲取一幀圖像f。,對f。進行邊緣檢測,得到邊緣圖像f。'
[0039] 步驟102 :若當前時間距離圖像f。的獲取時間超過閾值t,則獲取下一幀圖像f i, 并對進行邊緣檢測,得到邊緣圖像fV,繼續(xù)步驟201 ;否則繼續(xù)等待。本發(fā)明將時間閾值 t設為450毫秒。時間閾值t還可根據(jù)實際使用情況或?qū)嶒瀬碓O定。經(jīng)實驗,本發(fā)明設置的 450毫秒,可以降低檢測復雜度,同時保證檢測準確性。
[0040] 對圖像進行邊緣檢測時,可采用現(xiàn)有的邊緣檢測算法來進行。本發(fā)明實施例中對 步驟101和步驟102中采用的邊緣檢測方法定義如下:
[0041] 當前圖像用f表示,位于坐標(X,y)的像素 P的值用P (X,y)表示,像素 P與其水 平和垂直方向相鄰像素的位置關(guān)系如圖3所示。
[0042] 像素 P在水平方向相鄰的兩個像素的值分別表示為P (X-1,y)和P (x+1,y),像素 P 在垂直方向相鄰的兩個像素的值分別表示為P(x,y-1)和P(x,y+1)。對當前圖像f中的所 有像素進行如下操作,得到邊緣圖像。
[0043] 定義delta_h為像素 p在水平方向上相鄰兩個像素的差值的絕對值,定義delta_v 為像素 P在垂直方向相鄰兩個像素的差值的絕對值,計算方法如公式(1)和公式(2)所示。
[0044] delta_h = I p (χ-1,y) - p (x+1,y) I (1)
[0045] delta_v = I p (X,y_l) - p (X,y+1) I (2)
[0046] 若 delta_h 和 delta_v 的最大值 max (delta_h, delta_v)大于閾值 EDGE_ THRESHOLD,則將當前像素 p標記為邊緣像素,像素值設為255 ;否則,將當前像素 p標記為 背景像素,像素值設為0。閾值EDGE_THRESHOLD的取值范圍是[30, 70]。當閾值設置為50 時,發(fā)現(xiàn)獲取的邊緣圖像更加合理、準確。
[0047] 步驟201 :對圖像做異或操作,得到邊緣差異圖像fd。
[0048] 定義θ〇(χ,y)和ejx, y)分別為邊緣圖像f。*5和fV在坐標(X,y)處的像素值, d (X,y)為e。(X,y)和ei (X,y)的異或結(jié)果,即:
[0049] d(x, y) = e〇(x, y) ^e1 (x, y) (3)
[0050] 對圖像f^PfV的所有像素做以上操作,得到差異圖像fd。d(x,y)即為#在坐標 (x,y)處的像素值。
[0051] 繼續(xù)步驟301。
[0052] 步驟301 :對差異圖像#進行腐蝕操作得到圖像f de。
[0053] 可采用現(xiàn)有的腐蝕方法對差異圖像進行操作,本發(fā)明實施例為更好的消除圖像噪 聲,本發(fā)明實施例采用兩次腐