董海青,林寶軍,劉迎春
(1.中國科學院上海微系統與信息技術研究所上海200050;2.中國科學院微小衛星創新研究院上海200120;3.上海科技大學信息科學與技術學院,上海200120;4.中國科學院大學北京101407)
當今人工智能技術風靡全球,計算機視覺(Computer Vision,CV)已經成為該領域最重要的研究方向之一。作為計算機視覺技術應用領域之一的智能交通視頻監控系統在交通監控領域得到了研究者們的廣泛地關注[1]。
目前,基于計算機視覺技術的動態目標檢測技術大多需要海量的視頻圖像作為訓練模型的數據源,比如最近在動態目標檢測領域比較受歡迎的區域卷積神經網絡[2],它需要大量的圖像集進行訓練,其計算過程非常耗時,如果將其移植到嵌入式設備,很難滿足實時性的要求。在智能交通監控領域的某些應用場景下,我們不需要很高的識別精度,比如在統計車流量、人流量的過程,我們只需要一個估計量即可,本論文正是在這種應用背景下,嘗試著利用計算機視覺技術實現動態目標的實時檢測與統計。目前,基于視頻圖像的動態目標監測技術已經有幾十年的發展歷史,目前主流目標檢測算法有背景差分法[3-5]、幀差法[6-8]、運動場估計法[9-10]等。
文中主要研究的是基于混合高斯模型統計車流量的工程實現方法,未來的目標是將其移植到嵌入式設備上,并且能夠實時地較為準確地估計車流量等信息。考慮到嵌入式平臺有限的硬件資源以及工程的實際需要情況,我們沒有采用較為耗時的特征點提取與匹配,而是根據混合高斯模型進行背景建模[11-14]直接提取動態目標。為了盡可能地提高統計結果的準確率,在得到動態目標前期對存在的噪聲進行相應的預處理;由于相機抖動、動態背景(比如樹葉搖動)等噪聲的干擾,得到的動態目標內部和外部存在大量的“洞”,內部“空洞”主要通過非極大值抑制算法[15-20]剔除,外部“空洞”主要通過本文提出的鄰近幾何中心值抑制的算法剔除。
物體分類與場景分類在過程上的相似性,決定了用物體分類數據集訓練的DCNN可以作為一種遙感圖像場景特征提取方式。不同結構的DCNN提取的遙感場景特征具有互補性。因此,融合不同結構的DCNN特征可以提高場景分類效果。
本項目的主要目標是實現交通監控視頻中車(行人)流量的估計,核心思想是基于混合高斯模型的前景提取技術。在工程實現過程當中我們發現,主要存在的動態干擾如圖1所示。

圖1 動態目標檢測過程中的干擾
針對圖1(a)所示的干擾,采用非極大值抑制算法進行抑制;針對圖1(b)所示的干擾,采用本文提出的鄰近幾何中心值抑制算法進行抑制;本小節將整個項目的實現流程以軟件架構圖的形式呈現,如圖2所示。

圖2 動態目標檢測軟件架構圖
混合高斯模型(Gaussian Mixture Model,GMM)最早在文獻[12]中提出,該方法是為每個像素建立多個高斯模型,并通過基于回歸濾波在線EM近似方法對模型參數進行更新,它能克服光照變化、樹枝搖動等造成的影響,在復雜的應用場景下具有較高的魯棒性。
現對混合高斯模型作簡要的說明:假設每個像素點Xj由M個單高斯模型生成,具體它屬于哪個單高斯模型以及每個單高斯模型在混合模型中占的比例αj未知,將所有來自不同分布的數據點混在一起,就構成了混合高斯分布模型。
從數學角度講,我們可以用加權函數來表示這些像素點的概率分布密度:

其中,

表示第j個單高斯模型。
令?j=(αj,μj,Cj),GMM共有M個單高斯模型。現在我們需要通過采集樣本數據X來估計GMM的所有參數:Φ=(?1,?2,...,?M)T,則樣本X的概率公式為:

通常用EM(Expectation Maximum)算法對GMM參數進行估計。
由于動態目標中廣泛存在圖1(b)所示的干擾,利用非極大值抑制算法無法加以排除,因此,本文提出了一種能有效抑制圖1(b)所示干擾的算法。
臨近幾何中心值抑制算法主要應用在每幀提取到的動態目標上,它的基本步驟用自然語言描述如下:
Step 1:在當前幀中進行第一層大循環,利用c++提供的容器裝入經過非極大值抑制算法處理后所有檢測到的動態目標,從容器boxorig中取出第一個動態目標,計算其長度、寬度、面積以及幾何中心的坐標,對應地,同時定義并初始化相關幾何變 量currwidth,currheight,currarea,currcenter以及標識boxorig中第一個動態目標的常量constinti=0,定義并初始化下一個動態目標的面積nextarea=0;
Step 2:進入第二層循環,定義初始化變量從j=1開始;
Step 2.1:從容器中取出第j個動態目標,計算其長度、寬度、面積以及幾何中心的坐標,對應地,同時定義并初始化相關地變量nextwidth,nextheight,nextcenter以及兩個動態目標的歐式距離eucdistance,即第i與第j個動態目標關于幾何中心的歐式距離;
Step 2.2:將eucdistance與預先設定的閾值THRESH進行比較;
Step 2.2.1:如果其小于預先設定的閾值,計算并將第j個動態目標的幾何面積賦值給nextarea,同時判斷currarea與nextarea面積的大小,如果小于nextarea的面積,則利用第j個動態目標的幾何信息(坐標(xj,yj)、寬度、高度、面積以及幾何中心坐標)來更新第j個動態目標的幾何信息;
Step 2.2.2:否則,將j個動態目標投入預定義的boxtemp容器中;
Step 2.3:判斷j是否達到boxorig容器的尾部,如果是,則將第i個動態目標投入到最終的容器中boxfinal;否則,跳轉到 Step 2;
Step 3:對容器boxorig進行清零,同時將boxtemp容器中的內容賦值給boxorig,跳轉到Step 1,經過此次循環,容器boxorig中總的動態目標的數目會減少一個。
為了對2.1中所描述的算法有一個清晰直觀的了解,將算法的執行過程以流程圖的形式描述,如圖3所示。

圖3 臨近幾何中心值抑制算法執行流程圖
在實際工程中,提取到的動態目標大致輪廓是可以得到的,由于云煙雨霧、樹葉搖動、相機抖動等復雜因素的干擾,在主輪廓的內部或者周圍有大量的干擾(“空洞”)存在。通常情況下,這些動態干擾的幾何面積小于主輪廓的面積,因此,本算法的核心思想正是利用這一特點,根據噪聲輪廓與主輪廓中心的歐式距離有選擇性地抑制主輪廓周圍的“空洞”。
為了驗證基于混合高斯模型動態目標檢測程序的合理性以及我們提出算法的有效性,我們搭建了相應的實驗平臺:Windows 10操作系統(處理器:Intel(R)Core(TM)i5-2430M CPU2.4GHz內存:2GB)+opencv2.4.13+vs2013+Matlab2016a以及其他的一些依賴庫,采用的數據集是一段長達17秒鐘的交通監控視頻。實驗過程中,我們從視頻流中隨機地抽取若干幀進行整個程序以及本文算法有效性的驗證。
在進行實驗之前,首先要對程序中需要用到的幾個參數進行預先的設置,其中比較重要的一個參數是閾值THRESH,設置如下:THRESH=26.05;THRESH的值就是本文提到過的主輪廓與周圍噪聲幾何中心距離的閾值,通過這個閾值對每幀當中所有存在與動態目標周圍的噪聲進行有選擇性的抑制;THRESH是通過不斷地調試得來的,是一個工程經驗值。
本文隨機抽取了視頻流中的第105、119幀圖像,對比結果分別為經過混合高斯模型提取到的動態目標原始圖像、經過NMS抑制后的圖像以及經過NMS和臨近幾何中心值抑制共同作用后的圖像,如圖4所示。理想情況下我們得到的結果應該是一個完整的動態目標,但從圖4(a)中可以看出,由于噪聲的干擾,提取到的動態目標中會存在諸多我們不感興趣的區域,如何剔除眾多不感興趣的區域是一個亟待解決的問題。因此,我們分析了圖4(a)提取到的動態目標特點,它們大概有兩大類特征:
1)主目標的輪廓面積普遍大于噪聲輪廓的面積;2)噪聲大多分布在主目標輪廓的內部或者外部(周圍)。
結合特征1)2)對存在于主目標輪廓內部的噪聲,采用NMS算法抑制;存在于主目標輪廓周圍的噪聲則采用本文提出的算法進行抑制。圖4(a)所示為未進行噪聲處理前提取到的動態目標;圖4(b)所示,只采用NMS算法抑制后的結果,可以看到,雖然NMS抑制了主目標輪廓內的干擾,但是對周圍干擾抑制的效果并不明顯;圖4(c)顯示了NMS和本文算法相結合共同抑制噪聲的結果,可以看到,本文算法在抑制主目標輪廓周圍噪聲上的效果顯著。

圖4 效果對比圖
我們從視頻流中共提取到了516幀圖像,對每一幀圖像中的動態目標進行了粗略估計,然后將3種情況下的估計結果進行了如圖5所示的比較,從圖5(結合圖4)中可以看出,估計結果比較準確的幀的范圍大概在30幀~350幀這一區間,350幀以后視頻流中幾乎沒有動態目標,這是因為基于GMM動態目標檢測會將運動緩慢或者靜止的目標逐漸更新為背景,這也是GMM的不足之處;綜述,本文算法能顯著地抑制大部分噪聲,但是在精確統計動態目標的數量上還有待提高。

圖5 基于混合高斯模型統計動態目標結果圖
基于混合高斯模型建立背景,然后利用背景差分法實現動態目標檢測,由于沒有較為復雜的特征提取與匹配,基本能夠達到實時檢測的目的;但是,因為其應用場景的復雜性,提取到的動態目標中往往存在諸多的干擾(如“空洞”、“重影”),如果不加以剔除,會直接干擾我們估計動態目標的統計結果。我們根據每幀動態干擾分布的幾何特征,提出了一種全新的算法來抑制動態目標周圍的干擾。實驗結果表明,文中提出的算法能有效的抑制動態目標周圍的動態干擾。
但是,文中提出的算法還有很多需要進一步改進的地方:其一,幾何中心閾值是一個調試出來的參考值,這個閾值設置的好壞將直接影響到我們后期估計的結果,這主要是因為當多個動態相互靠近的時候,文中算法很容易將幾何面積較小的動態目標剔除,這也降低了估計結果的準確率;其二,從圖4中也可以看出,當多輛車幾乎以同樣的速度運行時,基于混合高斯算法建立的背景模型很難將它們區分為多個獨立的動態目標。由于我們未來應用的是嵌入式硬件平臺,在保證實時性與準確性的同時,如何提高統計動態目標的準確率是我們將要深入研究的一個方向。