拌線檢測方法、系統、網絡攝像機及監控系統的制作方法
【技術領域】
[0001]本發明涉及一種拌線檢測方法、系統、網絡攝像機及監控系統。
【背景技術】
[0002]拌線檢測是視頻監控過程中的常見智能預警功能,該功能通過在監控畫面上劃一條直線為拌線,并判斷指定方向上是否存在非法越線行為。
[0003]目前傳統的拌線檢測技術大部分是基于運動物體跟蹤的方法,而這類方法一般會通過背景建模來分割出前景部分,進而對前景物體進行跟蹤,最后判斷前景物體通過拌線的方向。
[0004]目前傳統的拌線檢測技術對背景建模和跟蹤算法的依賴非常高,因而一般存在以下缺點:
[0005]1.背景建模和跟蹤算法的計算復雜度高,算法執行性能有限。
[0006]2.由于使用背景建模,需要提前使用大量數據、時間訓練出背景模型。
[0007]3.跟蹤算法對于出現的物體需要一段時間的響應過程,因此拌線一般不允許設置在場景邊界上。
[0008]4.在近景場景(大物體尺寸)中,一般的跟蹤算法無法處理大尺寸前景,而導致跟蹤失敗,同時拌線檢測功能也無法正常工作。
【發明內容】
[0009]本發明要解決的技術問題,在于提供一種拌線檢測方法、系統、網絡攝像機及監控系統,提高了執行效率。
[0010]本發明之一是這樣實現的:一種拌線檢測方法,包括如下步驟:
[0011]步驟1、將相鄰兩幀視頻監控圖像做灰度、幀差、二值,并獲取與拌線區域相交的兩個以上區域塊;
[0012]步驟2:根據拌線方向,生成區域塊的劃分線;
[0013]步驟3:計算所有區域塊在劃分線兩側邊緣的梯度值大小,得到區域塊狀態;
[0014]步驟4:統計所有區域塊的狀態,得到區域塊對應的目標物體的狀態。
[0015]進一步地,所述步驟I中,“獲取與拌線區域相交的兩個以上區域塊”具體為:計算區域塊輪廓點集,若輪廓點集中任一點在拌線區域內則判斷區域塊與拌線區域相交。
[0016]進一步地,所述步驟2中,區域塊的劃分線的生成方法為:作兩條直線垂直于拌線,之后將這兩條直線移動,夾住目標物體兩側,兩條直線與目標物體的兩側各有一交點,連接這兩個交點的直線即為劃分線。
[0017]進一步地,所述步驟3中,“計算所有區域塊在劃分線兩側邊緣的梯度值大小,得到區域塊狀態”具體為:將劃分線與區域塊相交的左下角的交點定義為起始點,另一交點為終點,根據起始點到終點的方向,將劃分線兩側區域塊邊緣的梯度值分別定義為順時針梯度值和逆時針梯度值,若順時針梯度值大于2倍逆時針梯度值,判定區域塊狀態為Negative ;若逆時針梯度值大于2倍順時針梯度值,判定區域塊狀態為Positive ;其他情況判定區域塊狀態為Null。
[0018]進一步地,所述步驟3中,計算劃分線兩側區域塊邊緣的梯度值時,用垂向和橫向的sobel算子,即當劃分線斜率在[-1,I]之間時,使用橫向算子,否則使用垂向算子。
[0019]進一步地,所述步驟4中,“統計所有區域塊的狀態,得到區域塊對應的目標物體的狀態”的方法為:統計所有區域塊的狀況,當50%以上的區域塊被判定為Positive或Negative狀態時,則判斷目標物體穿越拌線;否則,目標物體未穿越拌線。
[0020]本發明之二是這樣實現的:一種拌線檢測系統,其包括以下模塊:
[0021]區域塊獲取模塊:用于將與預設的拌線區域相交的視頻監控圖像做灰度、幀差、二值,得到兩個以上的區域塊;
[0022]劃分線生成模塊:用于根據拌線方向,生成區域塊的劃分線;
[0023]區域塊狀態獲取模塊:用于計算所有區域塊在劃分線兩側邊緣的梯度值大小,得到區域塊狀態;
[0024]目標物體狀態獲取模塊:用于統計所有區域塊的狀態,得到區域塊對應的目標物體的狀態。
[0025]進一步地,其包括以下模塊:
[0026]區域塊獲取模塊:用于將相鄰兩幀視頻監控圖像做灰度、幀差、二值,并獲取與拌線區域相交的兩個以上區域塊;
[0027]劃分線生成模塊:用于根據拌線方向,作兩條直線垂直于拌線,之后將這兩條直線移動,夾住目標物體兩側,兩條直線與目標物體的兩側各有一交點,連接這兩個交點的直線即為劃分線;
[0028]區域塊狀態獲取模塊:將劃分線與區域塊相交的左下角的交點定義為起始點,另一交點為終點,根據起始點到終點的方向,將劃分線兩側區域塊邊緣的梯度值分別定義為順時針梯度值和逆時針梯度值,若順時針梯度值大于2倍逆時針梯度值,判定區域塊狀態為Negative ;若逆時針梯度值大于2倍順時針梯度值,判定區域塊狀態為Positive ;其他情況判定區域塊狀態為Null。
[0029]目標物體狀態獲取模塊:用于統計所有區域塊的狀況,當50%以上的區域塊被判定為Positive或Negative狀態時,則判斷目標物體穿越拌線;否則,目標物體未穿越拌線。
[0030]本發明之三是這樣實現的:一種網絡攝像機,其包括所述的拌線檢測系統。
[0031]本發明之四是這樣實現的:一種監控系統,其包括所述的拌線檢測系統。
[0032]本發明具有如下優點:本發明一種拌線檢測方法及系統,不依賴于傳統的背景建模與前景跟蹤算法;僅需使用前后兩幀圖像,由于前幀物體的邊緣在幀差結果中,沿著物體運動方向一側的響應很大,利用該原理即可實現拌線檢測,算法簡單、執行效率高;在場景邊界或近景場景下均能正常工作。
【附圖說明】
[0033]下面參照附圖結合實施例對本發明作進一步的說明。
[0034]圖1為本發明方法執行流程圖。
[0035]圖2為本發明實施例一的流程圖。
[0036]圖3為本發明實施例二的示意圖一。
[0037]圖4為本發明實施例二的示意圖二。
[0038]圖5為本發明實施例三的示意圖一。
[0039]圖6為本發明實施例三的示意圖二。
[0040]圖7為本發明實施例四的示意圖。
【具體實施方式】
[0041]如圖1所示,如圖1所示,本發明拌線檢測方法,包括如下步驟:
[0042]步驟1、將相鄰兩幀視頻監控圖像做灰度、幀差、二值,并獲取與拌線區域相交的兩個以上區域塊;
[0043]步驟2:根據拌線方向,生成區域塊的劃分線;
[0044]步驟3:計算所有區域塊在劃分線兩側邊緣的梯度值大小,得到區域塊狀態;
[0045]步驟4:統計所有區域塊的狀態,得到區域塊對應的目標物體的狀態。
[0046]實施例1
[0047]如圖2所示,本發明拌線檢測方法,具體包括如下步驟:
[0048]步驟1、將相鄰兩幀視頻監控圖像做灰度、幀差、二值,并獲取與拌線區域相交的兩個以上區域塊;
[0049]步驟2:根據拌線方向,生成區域塊的劃分線;其中,區域塊的劃分線的生成方法為:作兩條直線垂直于拌線,之后將這兩條直線移動,夾住目標物體兩側,兩條直線與目標物體的兩側各有一交點,連接這兩個交點的直線即為劃分線。
[0050]步驟3:計算所有區域塊在劃分線兩側邊緣的梯度值大小,得到區域塊狀態;該步驟的具體操作為:將劃分線與區域塊相交的左下角的交點定義為起始點,另一交點為終點,根據起始點到終點的方向,將劃分線兩側區域塊邊緣的梯度值分別定義為順時針梯度值和逆時針梯度值,若順時針梯度值大于2倍逆時針梯度值,判定區域塊狀態為Negative ;若逆時針梯度值大于2倍順時針梯度值,判定區域塊狀態為Positive ;其他情況判定區域塊狀態為Null。
[0051]步驟4:統計所有區域塊的狀態,得到區域塊對應的目標物體的狀態。該步驟的具體方法為:統計所有區域塊的狀況,當50%以上的區域塊被判定為Positive或Negative狀態時,則判斷目標物體穿越拌線;否則,判定目標物體未穿越拌線。當50%以上的區域塊被標記為Positive狀態時,判斷目標物體正向穿越拌線;當50%以上的區域塊被標記為Negative狀態時,判斷目標物體負向穿越拌線。
[0052]本發明的突出發明點之一為:利用“前幀物體的邊緣在幀差結果中,沿著物體運動方向一側的響應很大”這一原理,僅需使用前后兩幀圖像即可實現拌線檢測,不需依賴于傳統的背景建模與前景跟蹤算法;算法簡單、執行效率高;在場景邊界或近景場景下均能正常工作。
[0053]本發明拌線檢測方法中,步驟I中“獲取與拌線區域相交的兩個以上區域塊”具體為:計算區域塊輪廓點集,若輪廓點集中任一點在拌線區域內則判斷區域塊與拌線區域相交。
[0054]本發明拌線檢測方法中,所述步驟3中,計算劃分線兩側區域塊邊緣的梯度值時,用垂向和橫向的sobel算子,即當劃分線斜率在[-1,I]之間時,使用橫向算子,否則使用垂向算子。
[0055]實施例2,從左往右移動:
[0056]圖3所示,步驟1、設置拌線1,拌線I周圍虛線為拌線區域2,物體從左往右運動。將相鄰兩幀視頻監控圖像做灰度、幀差、二值,得到幀差區域塊3,幀差區域塊3尚未進入拌線I區域。
[0057]如圖4所示,步驟2、根據拌線方向,生成幀差區域塊3的劃分線;其中,幀差區域塊3的劃分線的生成方法為:作兩條直線垂直于拌線,之后將這兩條直線移動,夾住目標物體兩側,兩條直線與目標物體的兩側各有一交點,連接這兩個交點的直線即為劃分線。
[0058]幀差區域塊3進入拌線I區域,沿著劃分線計算幀差區域塊3兩側的sobel梯度值,將劃分線與幀差區域塊