發布日期:2022-07-14 點擊率:63
因此,業界迫切需要開發能夠提高安全和監控視頻監視效率的方法。視頻內容分析(VCA)可以用電子的方法識別一串幀中重要的特征,在發生特定類型事件時能讓系統產生告警,從而加快實時安全系統的響應速度。VCA可以在捕獲的視頻中自動搜索特定內容,將人從長時間的瀏覽工作中解放出來,并減少需要人工篩選攝像機視頻的工作量。
VCA技術正在不斷發展,在不久的將來將會得到廣泛的應用。有一點可以肯定的是,VCA要求大量的處理能力以便在龐大的視頻像素數據流中識別出感興趣的目標。另外,VCA系統必須是可編程的,這樣才能滿足應用的各種變化,識別出不同的內容,并適應不斷演進的算法。最新的視頻處理器具有特別強大的性能和編程靈活性,完全可以滿足壓縮、VCA和其它數字視頻要求。用以輔助處理器的軟件平臺和工具則可以簡化安全和監控產品的開發,隨著VCA技術的發展,它們將成為關鍵的技術。
VCA流程
目前還沒有VCA的國際標準,但以下是VCA的常規流程:
1. 將一個很長的序列分割成幾個單獨的場景或圖像,以進行分析。由于不同的場景具有不同的直方圖或色譜分布,因此如果某個幀的直方圖與前一幀有很大的變化,那么可以認為發生了場景變換。
2. 由于前景(foreground)與靜態背景是分開的,因此場景中的前景對象變化可以被檢測出來。
3. 個別前景對象被提取或分割,然后逐幀地跟蹤。跟蹤過程涉及檢測對象的位置和速度。
4. 如果有必要進行識別,可以提取對象的特征,并進行對象分類。
5. 如果當前事件是感興趣的事件,就向管理軟件和/或相關人員發送告警。
圖1:采用兩個DaVinci處理器處理高端VCA,能以每秒30幀的速度編碼720x1080高清晰度的視頻源。
前景/背景檢測
VCA可以檢測相對于通常靜態和不感興趣的背景下前景變化所代表的活動。過去,前景/背景檢測在運算量上是受限的。如今,更高性能的數字信號處理器和視頻處理器可以用來執行更復雜的檢測算法。
一般來說有兩種前景/背景檢測方法:一種是非自適應方法,它只使用一些視頻幀,并不維護背景模型;另一種是自適應方法,它始終維護著一個隨時間不斷演變的背景模型。在自適應VCA算法中,VCA流程中第2步到第4步的反饋可以用來更新和維護背景模型,這個模型再用作第1步的輸入。
非自適應檢測
在最簡單的非自適應情況下,當前幀中的每個像素減去前一幀中的對應像素就能確定絕對差值,像素的絕對差值再與預先確定的門限值進行比較。這個門限值代表的是對場景中和來自成像器的噪聲補償過后的“零”電平。如果絕對差值超過了這個門限,相應的像素就屬于前景。否則,像素就屬于背景。
在受控環境中對視頻對象的短期跟蹤和識別可以只使用三個幀實現。即使這樣,非自適應方法也只適用于高度受控、視頻場景不會有顯著變化的短期跟蹤應用場合。當發生場景或背景變化時,需要人工進行初始化。如果不進行初始化,隨著時間積累的誤差會使檢測結果很不可靠。
自適應檢測
由于非自適應方法的局限,自適應前景和背景檢測開始在VCA應用中得到使用。自適應檢測方法維護一個背景模型,該模型通過混合每個新視頻幀的數據進行不斷更新。與非自適應方法相比,自適應方法要求更高的處理能力,而且背景模型的復雜度會改變。在基本的自適應方法中,算法會通過在當前幀中逐個像素地減去背景模型來確定前景(而非自適應算法采用的減去后面的幀)。結果也反饋到模型中,從而使模型不需要復位就能適應不斷變化的背景。這種方法非常適合目標不斷移動或相當長時間內存在背景噪聲的許多視頻監控場合使用。
更復雜的前景/背景檢測則采用統計背景模型,其中指定幀中的每個背景像素被建模為一個符合高斯分布的隨機變量。根據每一幀的視頻數據,每個單獨像素的平均和標準偏差會隨時間改變。
對象跟蹤/識別與分類
在前景/背景檢測后,將創建出一個模板(mask)。因為存在環境噪聲,單個目標對象的所有組成部分可能沒有連起來,因此在將所有組成部分連為一個整體對象之前需要實現一個高強度運算的形態學膨脹(morphological dilation)處理。膨脹涉及在模板上強加一個柵格,計算出柵格的每個區域的前景像素,并點亮每個區域的其余像素,計數指示應該連接的獨立對象。在膨脹和組成部分連接后就可以得到每個對象的一個有邊界的框。這個框代表了包括完整對象的最小矩形,它可能出現在不同的幀中,從而實現分割。
跟蹤分割后的前景對象共有三步:預測當前幀中每個對象的位置;確定哪個對象能最好地匹配其描述;并校正對象軌跡以預測下一幀。第一和第三步是通過Kalman遞歸濾波器完成的。由于在單個幀中只能觀察到對象的位置,因此有必要使用矩陣運算方法即時計算出它的速度和下一個位置。
在整個過程的開始,濾波器被初始化到相對于背景模型的前景對象位置。針對每個內部對象被跟蹤的幀,濾波器會在后續幀中預測前景對象的相對位置。當場景轉到后續幀時,濾波器就能定位對象并校正其軌跡。
跟蹤的第二步涉及到數據關聯,它根據特征的相似性確定幀之間的對象相關性。對象尺寸、形狀和位置能夠能夠以框和幀到幀的重疊為依據。速度是Kalman濾波器要預測的一個參數,直方圖將不同的對象與它們的顏色關聯起來。然而,任何或所有這些特征都可能改變。
考慮這樣的情況:一個有著紅色駕駛室的白色卡車非常靠近沿街的攝像機,這時它駛入車道,掉頭并向相反方向駛去。對象的所有特征在整個場景中在不斷發生變化:大小、形狀、速度和顏色。軟件必須能夠適應這種變化,以便準確識別卡車。另外,當跟蹤多個對象時,軟件必須能夠區別出它們之間的特征來。
跟蹤的復雜性將導致與對象分類相關的問題。例如,一個物體通過攝像機前面的一條線比一個人通過那條線更容易使系統發出警告。物體的尺寸和速度可以提供用于粗略分類的向量,但更精細的分類需要更多的信息。較大的物體可以提供更多的像素信息,但對快速分類來說可能顯得太多。在這種情況下,需要采用尺寸減小技術來實現實時響應,即使后面的調查仍可能使用所存儲的幀中具有的全像素信息。
除了對象分類外,高效的VCA實現還必須克服許多挑戰,這些挑戰包括:黃昏、水面、云層、刮風下雨、雪和霧等導致的光線變化;跟蹤的多個對象路徑是交叉的,導致每個前景像素暫時合并,然后又分開;在多攝像機系統中跟蹤不同視窗的對象。解決這些問題仍然需要VCA做大量的工作。
VCA系統設計
實現VCA和視頻編碼要求高性能處理器和各種配置。新分析技術的出現要求編程的靈活性,這可以使用集成了最高性能以及可編程DSP與RISC微處理器內核的處理器和視頻硬件協處理器來滿足。合適的處理器還需要集成高速通信外設和視頻信號鏈來減少系統元件的數量和成本。
使用該類解決方案將VCA集成進攝像機提供了極具魯棒性和高效的網絡實現形式。VCA軟件也能被集成進電腦中,使電腦成為多個攝像機的集中處理設備。除了VCA流程本身外,可能還需要預處理步驟,用于在前景/背景檢測和其它分析步驟之前處理去交織(de-interleaving)。
應用軟件可能要增加用于對象識別或其它目的的處理步驟,單處理器和雙處理器設計版本都能為新增的軟件功能提供足夠的處理能力。
將前景對象從背景中分離出來、然后跟蹤對象,必要時分類可疑活動的自適應方法步驟是VCA的全部內容,它要求高度的實時處理運算和自適應能力。基于DSP的視頻處理器提供了VCA和視頻編碼所需的性能,并具有高度的編程靈活性,可適應應用要求和技術的不斷變化。
作者:Cheng Peng
DSP視頻應用工程師
德州儀器公司