視頻圖像中的車輛檢測跟蹤和分類

2021-01-09 電子產品世界

摘 要:介紹了一種在固定的單攝像頭拍攝的交通圖像序列中檢測、跟蹤、分類車輛的方法。該方法大致可分為三部分:抽取背景圖像和圖像分割;基於針孔模型的攝像機定標,計算透視投影矩陣;利用區域特徵進行匹配跟蹤,建立目標鏈,恢復目標三維信息,採用模型匹配法對車型分類。實驗證明該方法簡單可行。
 
關鍵詞:圖像分割 車型識別 目標跟蹤 模型匹配

在現代交通管理和道路規劃中,交通流量和通行車輛的類型、速度是重要的參數。自動獲取這些數據的方法大致可以分為兩類:一類是利用壓電、紅外、環形磁感應線圈等傳感器獲得車輛本身的參數,這類方法跟蹤識別率較高,但是容易損壞,安裝也不方便;還有一類就是基於圖像處理和模式識別的方法,克服了前面一類方法的局限,由於圖像處理識別技術的進步和硬體性價比的大幅提高,有一定實用價值的系統已經出現。這些系統的使用證明:圖像處理識別車型的方法日趨成熟,環境適應能力較強,能長期穩定工作,但是計算量大,識別正確率不如感應線圈、雷射讀卡等方法高。本文的研究屬於後者,利用安裝在高處的單個靜止攝像頭監視路面,利用運動分割與模型匹配的方法,檢測並統計多車道的車流信息。
 
整個識別過程分三步:分割、跟蹤和車型判定。運動目標的分割常採用幀差法。在監控場合,攝像頭大多是固定的,背景基本沒有變化或者變化緩慢,可以從圖像序列中逐漸取出背景圖像,然後利用幀差法檢測出目標區域,同時還可以檢測靜止目標。由於識別過程中利用二值邊緣圖像,所以本文在圖像分割中對輸入圖像進行了梯度二值化處理。三維空間和二維圖像平面之間映射關係的確定,採用基於針孔模型的攝像機定標來計算。對目標區域的跟蹤,採用了區域特徵向量的匹配跟蹤方法,減小了運算量。由於圖像處理的方法很難提取輪數、軸距等車輛本身參數,所以在圖像車型識別中一般都採用三維模型在圖像上投影和車輛邊緣相匹配的方法。

1 背景重建和圖像分割

由於攝像頭固定,背景變化緩慢,因此,可以利用圖像序列逐漸恢復出背景圖像。其基本原理是:對每一個像素進行監控,如果在較長時間內灰度不發生明顯變化,則認為該像素屬於背景區域,將該像素灰度值複製到背景緩衝區,否則屬於前景區域[1]。由於光照以及車輛陰影等影響,採用這種方法恢復出來的背景圖像存在較大噪聲。因此在實驗中對原始輸入圖像進行了梯度二值化處理,然後進行背景重建。這樣可以減小陰影的幹擾,加快背景重建速度。由於識別是利用邊緣信息,所以梯度化對後面的識別過程沒有影響。

在得到背景邊界圖像後,利用幀差法可以分割出感興趣的目標。但是,如果目標區域和背景邊界重合(值都為"1"),相減之後該目標區域被錯誤判定為背景區域 (值為"0")。為了減小錯誤判決區域,本文在分割時參考了相鄰兩幀的二值化幀差fdmask,判決準則如下:如果fdmask中某像素為"0",則輸入圖像和背景圖像相應像素相減;否則直接複製輸入圖像中相應的像素值。分割結果經過噪聲消除、形態學平滑邊界、種子填充、區域標記等後續處理,就分離出了目標。
 
2 攝像機定標

在模型匹配中,需要從二維圖像恢復目標三維信息,同時將三維模型投影到圖像平面上,因此必須計算三維空間到圖像平面的投影關係矩陣。這個過程就是攝像機定標。本文採用基於針孔模型的攝像機定標方法,其基本原理是利用給定的一組三維世界的點坐標和這些點在圖像中的坐標,求解線性方程組,計算透視投影矩陣中的各個元素[2]。透視投影矩陣如下:

其中:(u,v)是圖像坐標,(Xw,Yw,Zw)是三維坐標,M為投影矩陣,Zc為三維空間中點到攝像機鏡頭的矢量在主光軸上的投影距離。要求解M的各個元素,根據文獻[2]介紹需要6個點的投影關係組成12階的方程組,通常方程組不獨立,沒有唯一解,採用近似計算的誤差較大。在(1)式基礎上經過變形,將12階方程分拆成三個4階方程組,只需要利用4個點的投影關係,方程組的階次也只有4階,可以有效避免出現奇異矩陣,求出唯一解。由式(1)可以得出:
  
另外,除了4組點的坐標之外,還需測定鏡頭主光軸的水平垂直傾角。

3 車輛的跟蹤和分類
 
在區域分割後,接下來進行區域跟蹤,利用相鄰兩幀的區域匹配從而在圖像序列中建立目標鏈,跟蹤目標從進入監視範圍到駛離監視範圍的整個過程。首先要確定匹配準則。常用的圖像匹配方法有 Hausdorff 距離匹配法和圖像互相關。這兩種方法都需要逐個像素的計算。為了減小計算量,採用區域特徵跟蹤法。目標區域的特徵包括區域形心坐標、區域包圍矩形、區域運動速度及運動方向和區域面積。本文匹配準則採用了兩個假定:同一目標所對應區域在相鄰兩幀中面積相近;同一目標在前一幀中的區域形心加上運動速度所得到的形心預測值與後一幀中區域形心距離相近[3]。跟蹤過程如下:

(1)將第一幀的各個區域當作不同的目標,對各個目標區域啟動目標鏈。
(2)根據判決準則,如果某目標鏈中的區域在當前幀找到了匹配區域,則用找到的匹配區域特徵更新該目標鏈中的區域特徵。
(3)如果在形心預測值所在位置,當前幀區域和目標鏈中區域面積相差很大,則可以認為發生了合併或者分裂現象。對目標鏈中的區域包圍矩形,在本幀查找該矩形覆蓋了幾個區域,如果多於一個區域,則認為發生了分裂現象。對分裂現象出現的新區域,啟動新的目標鏈。同理,對於本幀區域的包圍矩形,查找該矩形覆蓋了幾個目標鏈中的區域,如果多於一個,則認為發生了合併現象,利用合併區域啟動新的目標鏈,同時終止那些被合併區域的目標鏈。
(4)對於目標鏈中的區域,如果在本幀沒有與之相匹配的區域存在,則認為發生了消失現象。目標鏈並不立即終止,只有在經過數幀仍沒有找到匹配之後,才終止該目標鏈。
(5)查找本幀是否還存在新進入的區域,如果存在,則啟動新的目標鏈。
 
採用這種方法可以快速跟蹤圖像序列中的目標,同時得到車輛在監視範圍的平均速度。在計數時,只有目標在連續數幀裡出現才認為是一個真正的目標區域,只有目標在連續數幀都沒有出現才認為消失,因此可以消除那些暫時消失引起的計數錯誤。
 
車輛分類是個很複雜的問題。圖像處理方法要獲取輪數、軸距等車輛本身參數比較困難,因此圖像識別車型通常採用模型匹配方法。現有的研究大多是先抽取馬輛的幾條直線邊緣,然後用線條和模型邊緣匹配。由於在圖像中抽取直線本身的計算量相當大,所以本文沒有抽取車輛邊緣直線,而是直接利用了Canny邊緣檢測的整體結果與模型相匹配。Canny邊緣與模型邊緣之間存在較大的形變,Hausdorff距離匹配對形變不敏感,所以採只Hausdorff距離作為匹配準則是很適宜的[4]。

 

||bj-ai||(A,B)被稱為從A到B的有向Hausdorff 距離,它反映了A到B的不匹配程度。h(B,A)的意義與h(A,B)相似。在具體計算Hausdorff 距離時,通常採用距離變換的方法。車型分類步驟如下:

(1)在分割結果的基礎上,對目標區域進行Canny算子邊緣檢測[5],僅僅處理分割出的目標區域的邊緣,減小了運算量。
(2)對Canny邊緣,採用串行距離變換,得到距離邊換圖像。距離變換圖像的每個像素灰度值等於該像素到目標邊緣的最近距離。
(3)對各分割目標,恢復車輛的三維信息,只計算長度和寬度。由於二維圖像平面上一點對應了攝像機坐櫥中不同深度的一系列點,所以在從圖像上一點恢復到該點在世界坐標中的信息時,首先要給定該點在世界坐標中一個分量以減少不確定度(這樣恢復出來的數值有些誤差,通常給出Z方向高度值Zw)。
(4)在計算目標區域長度和寬度的同時,可以求出車輛底盤形心在地面上的位置(X,Y),根據速度方向判斷車輛在地面上的角度α。利用車輛本身的三維模型數據以及(X,Y,α),通過式(1)透視投影,消隱處理,可以確定車輛模型在圖像平面上的投影。
(5)當目標進入指定區域後,以模型投影圖像為核板,將投影圖像在距離變換圖像上移動,在每一個位置,求出模型投影圖像下距離變換圖像被模型輪廓線覆蓋的像素值之和,以這個和值作為在該位置當前模型與實際車輛的匹配程度。將當前模型在各位置所得匹配程度的最小值作為當前模型與車輛的實際匹配程度,該最小值除以模型輪廓線的像素數目,即該模型與車輛之間的Hausdorff距離。對各種模型,分別求出它們與車輛之間的Hausdorff距離,取其中最小值對應的那種模型即為車型識別結果。實驗過程中為了減小計算量,搜索方法採用了三步搜索法。
 
4 實驗結果

本實驗所採用的352x288視頻圖像,來自採用單千固定CCD攝像機於杭州天目山路拍攝的交通場景片斷。主要算法在Trimedial300 DSP上用C語言實現,在圖像分割過程中進行了較多的梯度、降低噪聲、填充和標記運算,平均處理一幀大約耗時0.3s。算法流程的全過程如圖1所示。

 

實驗證明,抽取背景和當前幀之間進行差異檢測,分割較為準確。對於比較淡的陰影,用梯度二值化方法可以部分消除陰影影響。由於只監視邊緣變化部分,背景重建速度比直接利用灰度圖像重建背景快很多,幹擾也較小。梯度二值化處理之後重建背景只需150-200幀,而不經過梯度二值化處理在上千幀之後仍然沒有較好的背景,並且點狀噪聲和雲霧狀模糊比較嚴重。

跟蹤計數的結果表明,利用形心和面積作為特徵,可以快速跟蹤圖像序列中的目標,計數正確率可達95%。計數誤差主要在於遮擋引起的分裂合併處理不能完全如實反映目標的運動,把合併區域當作新出現的區域。如果合併區域再次分裂,分裂出來的區域就會被當作新區域,造成計數偏大。為了簡化跟蹤算法,實驗僅在相鄰兩幀之間進行跟蹤匹配,這樣處理分裂合併的能力並不強,如果在多幀之間進行跟蹤,效果會好一些,但是算法比較複雜。

對於大小相差懸殊的車輛,如公共汽車和轎車,根據長度、寬度信息就很容易分別開來,根本不用進行後面的模型匹配。所以本文試驗主要針對了街道上常見的大小相差不太大的車輛,將它們分成了轎車、輕卡和麵包車。試驗證明:直接利用Canny邊緣,根據Hausdorff距離匹配可以有效地對車型加以判別。由於沒有逐條抽取邊緣直線來與模型輪廓線匹配,計算量大為減小,算法實現簡單。由於轎車的外形大小變化相對較小,識別正確率最高,可達90%;輕型卡車次之;麵包車的識別率最低,大約50-60%,錯誤部分主要被識別成轎車,主要原因是麵包車的大小相差很大,模型匹配方法的一個不足也在於此。要提高識別率,模型細分是必需的工作。本試驗中攝像頭安裝在街道的前方,由於車輛最顯著的外形特徵在於側輪廓,所以如果攝像頭安裝在街道旁邊拍撼車輛的側面圖像,可以認為識別效果應該會更好一些:另外,Canny算子的邊緣效果不是很好,噪聲比較大,也影響了判決結果。如果採用Hough變換抽取車輛邊緣的直線,計算量較大。如果陰影比較嚴重,還需要進行專門的去陰影處理。這些都是下一步工作要解決的問題。

參考文獻
 1 Shao-Yi Chien,Shyh-Yih Ma,Liang-Gee Chen。Efficient,Moving Object Segmentation Algorithm Using Background Registration Technique.IEEE Trans.Circuits and Systems for Video Technology.2002;12(6):577-586
 2 孫慧,張燕.計算機視覺攝像機定標中投影矩陣的計算.河北師範大學學報,2001;126(1):26-28
 3 張嫣,姚耀文,唐華松.動圖像序列中多目標跟蹤的研究與實現.計算機應用研究,2002;(1):74-76
 4 Gunilla Borgefors.Distance Transformations in DiSital Images.Computer Vision,Graphics,and lmage Processing,1986;34:344-371
 5 楊枝靈.Visual C++數字圖像獲取處理及實踐.北京:人民郵電出版社,2003

相關焦點

  • 詳解計算機視覺五大技術:圖像分類、對象檢測、目標跟蹤、語義分割和實例分割
    這不同於分類/定位任務——對很多對象進行分類和定位,而不僅僅是對個主體對象進行分類和定位。在對象檢測中,你只有 2 個對象分類類別,即對象邊界框和非對象邊界框。例如,在汽車檢測中,你必須使用邊界框檢測所給定圖像中的所有汽車。如果使用圖像分類和定位圖像這樣的滑動窗口技術,我們則需要將卷積神經網絡應用於圖像上的很多不同物體上。
  • 深度學習中的圖像分割:方法和應用
    基於人工智慧和深度學習方法的現代計算機視覺技術在過去10年裡取得了顯著進展。如今,它被用於圖像分類、人臉識別、圖像中物體的識別、視頻分析和分類以及機器人和自動駕駛車輛的圖像處理等應用上。許多計算機視覺任務需要對圖像進行智能分割,以理解圖像中的內容,並使每個部分的分析更加容易。
  • 【新智元乾貨】計算機視覺必讀:目標跟蹤、圖像分類、人臉識別等
    本文以計算機視覺的重要概念為線索,介紹深度學習在計算機視覺任務中的應用,包括網絡壓縮、細粒度圖像分類、看圖說話、視覺問答、圖像理解、紋理生成和風格遷移、人臉識別、圖像檢索、目標跟蹤等。網絡壓縮(network compression)儘管深度神經網絡取得了優異的性能,但巨大的計算和存儲開銷成為其部署在實際應用中的挑戰。
  • Serverless 實戰:用 20 行 Python 代碼輕鬆搞定圖像分類和預測
    圖像分類是人工智慧領域的一個熱門話題,通俗來講,就是根據各自在圖像信息中反映的不同特徵,把不同類別的目標區分開。圖像分類利用計算機對圖像進行定量分析,把圖像或圖像中的每個像元或區域劃歸為若干個類別中的某一種,代替人的視覺判讀。
  • 最全分類!計算機視覺的圖像標註類型及應用
    圖像標註類型用例1. 邊界框標註邊界框在計算機視覺圖像標註中用於幫助網絡定位目標,協助創建定位並分類目標的模型。常見用途包括檢查目標彼此衝突時的情況。邊界框和目標檢測顯然應用於自動駕駛系統中,定位道路中的車輛。
  • 實時視頻圖像的清晰度檢測算法研究
    目前針對實時視頻圖像清晰度檢測的研究較少,圖像清晰度檢測算法的研究對象主要針對靜止的圖像。現有的圖像清晰度檢測算法大致分為空域和頻域兩類。在空域中多採用基於梯度的算法,如拉普拉斯(Laplace)算法、差分平方和(SPSMD)算法、Sobel算子等。此類算法計算簡潔、快速、抗噪性能好、可靠性較高。
  • ResNet - 2015年 ILSVRC 的贏家(圖像分類,定位及檢測)
    跳過連接可以實現更深入的網絡,最終ResNet成為ILSVRC 2015在圖像分類,檢測和定位方面的贏家,和MS COCO 2015檢測和分割的獲勝者。ILSVRC 2015圖像分類排名ImageNet是一個包含超過1500萬個標記的高解析度圖像的數據集,包含大約22,000個類別。 ILSVRC在1000個類別中的每一個中使用大約1000個圖像的ImageNet子集。
  • 視頻目標檢測大盤點
    ,但視頻的目標檢測有更多的難點和更高的要求。為了便於大家的學習,本文分點講述了視頻目標檢測的七個方法,每種方法都附有相關論文連結以及方法的性能結果。>>加入極市CV技術交流群,走在計算機視覺的最前沿視頻目標識別是自主駕駛感知、監控、可穿戴設備和物聯網等應用的一項重要任務。由於圖像模糊、遮擋或不尋常的目標姿態,使用視頻數據進行目標識別比使用靜止圖像更具挑戰性。
  • 視頻圖像中文本的檢測、定位與提取
    本文引用地址:http://www.eepw.com.cn/article/103942.htm  在視頻中,文本信息(如新聞標題、節目內容、旁白、工作人員名單等)均包含了豐富的高層語義信息,可用於對相應視頻流所表達的事件、情節以及情感等進行高級語義標註。如果這些文本能自動地被檢測、分割、識別出來,則對視頻高層語義的自動理解、索引和檢索是非常有價值的。
  • Serverless 架構下 Python 輕鬆搞定圖像分類
    簡介: 本文將會通過一個有趣的 Python 庫,快速將圖像分類的功能搭建在雲函數上,並且和 API 網關結合,對外提供 API 功能,實現一個 Serverless 架構的「圖像分類 API」。前言圖像分類是人工智慧領域的一個熱門話題。通俗解釋就是,根據各自在圖像信息中所反映的不同特徵,把不同類別的目標區分開來的圖像處理方法。
  • 賽後跟蹤:如何在 ImageNet 比賽中獲得冠軍?
    今年 ILSVRC 2016(全稱是ImageNet Large Scale Visual Recognition Challenge)分為五大部分,包括:目標檢測、目標定位、視頻中目標物體檢測、場景分類、場景分析。
  • 上海交大盧憲凱系列公開課:計算機視覺概述和深度學習簡介 | 分享...
    分享內容計算機視覺定義和研究方法計算機視覺的應用舉例:圖像分類,人臉識別;車輛檢測,行人檢測;語義分割,實例分割;目標跟蹤,視頻分割;圖像生成,視頻生成深度學習歷史回顧常見深度學習網絡介紹和開發平臺計算機視覺概述和深度學習簡介計算機視覺是指從圖像和視頻中提出數值或符合信息的計算系統。
  • 用TensorFlow實現物體檢測的像素級分類
    最近,TensorFlow 的「物體檢測 API」有了一個新功能,它能根據目標對象的像素位置來確定該對象的像素。換句話來說,TensorFlow 的物體檢測從原來的圖像級別成功上升到了像素級別。使用 TensorFlow 的「物體檢測 API」圖片中的物體進行識別,最後的結果是圖片中一個個將不同物體框起來的方框。
  • 圖像分類:一個更魯棒的場景分類模型
    如何根據圖像的視覺內容為圖像賦予一個語義類別(例如,教室、街道等)是圖像場景分類的目標,也是圖像檢索、圖像內容分析和目標識別等問題的基礎。但由於圖片的尺度、角度、光照等因素的多樣性以及場景定義的複雜性,場景分類一直是計算機視覺中的一個挑戰性問題。本次任務從400萬張網際網路圖片中精選出8萬張圖片,分屬於80個日常場景類別,例如航站樓、足球場等。每個場景類別包含600-1100張圖片。
  • 開拓遙感圖像新領域 大華股份AI喜獲殊榮
    近日,在第三屆遙感圖像稀疏表徵與智能分析競賽中,大華股份自主開發的遙感圖像目標跟蹤算法,獲得了目標跟蹤精度排行榜第一的好成績1,2。大華從2000多個AI公司及頂尖的學術研究團隊中脫穎而出,取得標誌性突破,彰顯了公司在遙感圖像等前沿技術領域開拓的創新能力。
  • 「計算機視覺必讀乾貨」圖像分類、檢測,語義分割等方法梳理
    本文旨在介紹深度學習在計算機視覺領域四大基本任務中的應用,包括分類(圖a)、定位、檢測(圖b)、語義分割(圖c)、和實例分割(圖d)。圖像分類(image classification)給定一張輸入圖像,圖像分類任務旨在判斷該圖像所屬類別。
  • CVPR 2020文本圖像檢測與識別論文/代碼
    ,圖像分類&檢測&分割、視覺目標跟蹤、視頻內容分析、人體姿態估計、模型加速、網絡架構搜索(NAS)、生成對抗(GAN)、光學字符識別(OCR)、人臉識別、三維重建等方向。),為了增加場景文本的訓練樣本,1 篇文章,出自曠視科技,UnrealText用渲染引擎生成逼真場景文本;7)文本圖像的數據增廣,用於手寫和場景文本識別算法的訓練,1 篇文章;8)場景文本編輯(Scene Text Editor),對場景文本圖像中的文字進行替換;9)碎紙文檔重建,用於刑偵領域的文檔被破壞成碎片後的重建,1篇;10)文本風格遷移
  • 淺談計算機視覺中的圖像標註_易車網
    計算機視覺被認為是機器學習和人工智慧發展的重要領域之一。簡而言之,計算機視覺是人工智慧研究領域,致力於賦予計算機看世界和視覺解釋世界的能力。更進一步的說,計算機視覺是一門研究如何使機器「看」的科學,就是是指用攝影機和電腦代替人眼對目標進行識別、跟蹤和測量等機器視覺,並進一步做圖形處理,使電腦處理成為更適合人眼觀察或傳送給儀器檢測的圖像。
  • 谷歌開源基於 ML 的手部跟蹤算法:手機端實時檢測,多個手勢同時捕捉
    它對整個圖像進行操作,並返回一個定向的手部邊界框; 手部標誌模型。它在掌上探測器定義的裁剪圖像區域上操作,並返回高保真的 3D 手部關鍵點; 手勢識別器,它將先前計算的關鍵點配置分類為一組離散的手勢。該模型可用於移動實時檢測,其方式類似於 BlazeFace(https://arxiv.org/abs/1907.05047),這個模型也可以在 MediaPipe 中使用。 手部檢測是一項非常複雜的任務:我們的模型必須要適應不同的手部尺寸,因此它具有相對於圖像幀更大的範圍 (~20x),並且它能夠檢測被遮擋以及自遮擋的手部狀態。
  • 融合視頻目標檢測與單目標、多目標跟蹤,港中文開源視頻感知平臺
    該框架基於 PyTorch 寫成,支持單目標跟蹤、多目標跟蹤與視頻目標檢測,目前已開源。GitHub 地址:https://github.com/open-mmlab/mmtrackingMMTracking 效果展示。據介紹,MMTracking 具備以下主要特性:1.