車輛是視頻場景中最關鍵的對象之一,車輛 和 人 是視頻檢測永恆的話題。
車輛檢測 是車輛分析中關鍵的一步,是后續進行 車型識別、車標識別、車牌識別、車輛特征 的基礎。
關於檢測的方法和框架有很多,不外乎是特征訓練和分類,這里推薦兩篇綜述性文章:
[1] Benenson R, Omran M, Hosang J, et al.Ten Years of Pedestrian Detection, What Have We Learned? [M]// Computer Vision - ECCV 2014 Workshops. Springer International Publishing, 2014:613-627. http://rodrigob.github.io/documents/2014_eccvw_ten_years_of_pedestrian_detection_with_supplementary_material.pdf [2] P.Dollar, C. Wojek,B. Schiele, et al.Pedestrian detection: an evaluation of the state of the art[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2012, 34(4): 743-761. http://vision.ucsd.edu/~pdollar/files/papers/DollarPAMI12peds.pdf
• 開放檢測算法框架及代碼:
關於目標檢測的框架及代碼非常多,這里列出來幾個:
名聲在外的 DPM
Deformable Part Models,專業做行人檢測,對於車輛檢測等剛體目標 並無太多優勢。
參考代碼:https://people.eecs.berkeley.edu/~rbg/latent/index.html
INRIA Object Detection and Localization Toolkit
基於HOG特征的行人檢測方法,由Dalal於 2005年 提出,經典中的經典(雖然稍微有點老)。
參考代碼:http://pascal.inrialpes.fr/soft/olt/
doppia code
這是一個代碼集合,2015年 更新,內容包含:
a) Pedestrian detection at 100 frames per second, R. Benenson. CVPR, 2012. b) 實時的 Stixels estimation without depth map computation. c) Fast stixels estimation for fast pedestrian detection. d) Seeking the strongest rigid detector. e) Ten years of pedestrian detection, what have we learned? f) Face detection without bells and whistles.
下載地址:https://bitbucket.org/rodrigob/doppia
Pitor Dollar Detector
有一個代碼集合,大牛名字命名,全稱為:Piotr’s Computer Vision Matlab Toolbox
下載地址:https://pdollar.github.io/toolbox/
• 開放訓練數據集 (行人檢測):
MIT 行人數據集
MIT 早期公開數據集(2000年),共924張行人圖片(ppm格式,寬高為64×128),只含正面和背面兩個視角,無負樣本,未區分訓練集和測試集。
該數據集目前已很少使用,但由於公開較早,影響力比較大,因此作者把它列在第一個。
下載地址:http://cbcl.mit.edu/software-datasets/PedestrianData.html
Caltech Pedestrian 行人數據集
該數據庫是目前規模較大的行人數據庫(2014年),采用車載攝像頭拍攝,約10個小時左右,視頻的分辨率為640×480,30幀/秒。
標注了約250,000幀(約137分鍾),350000個矩形框,2300個行人,提供了相應的Matlab工具包。
下載地址:
http://www.vision.caltech.edu/Image_Datasets/CaltechPedestrians/
NICTA 行人數據集
目前規模較大的靜態圖像行人數據庫,25551張含單人的圖片,5207張高分辨率非行人圖片(2008年)。
數據庫中已分好訓練集和測試集,方便不同分類器的比較。
下載地址:http://www.nicta.com.au/category/research/computer-vision/tools/automap-datasets/
INRIA Person
目前使用最多的靜態行人檢測數據集,由“HOG+SVM”的作者Dalal創建(2005年)。
訓練集有正樣本614張(包含2416個行人),負樣本1218張;測試集有正樣本288張(包含1126個行人),負樣本453張。
下載地址:http://pascal.inrialpes.fr/data/human/
另外,還有 TUD、ETHZ、USC、CVC 等數據集,當然你可能也知道大名鼎鼎的 ImageNet(里面會有少部分行人),當然公版數據集也僅僅在於自己測試用,想要得到更好的檢測效果,你必須訓練自己的數據集。
• 開放訓練數據集 (車輛檢測):
MIT - CBCL 車輛數據集
由 MIT 提供的車輛數據集(2000年),主要用於車輛檢測和識別中,共有516張128*128格式為ppm的圖像。
下載地址:http://cbcl.mit.edu/software-datasets/CarData.html
KITTI
這是一個測試交通場景中 車輛檢測、追蹤、語義分割等算法的公開數據集。由豐田汽車主導,目前在測試自動駕駛等識別算法中應用比較多。
實際上,KITTI 已經成為 ADAS行業的 實際效果檢測標准。
下載地址:http://www.cvlibs.net/datasets/kitti/index.php
UA-DETRAC
車輛檢測和跟蹤的大規模數據集,可以作為 KITTI 的補充。
數據集主要拍攝於北京和天津的道路過街天橋(京津冀場景有福了),並 手動標注了 8250 個車輛 和 121萬目標對象外框。
附帶的 Toolkit 統一了數據接口,里面包含了幾種 State-Of-The-Art 的檢測和跟蹤方法(大家可以進行測試比較)。
數據集:DETRAC-Train-Images (5.22GB, 60 sequences)
DETRAC-Test-Images (3.94GB, 40 sequences)
檢測:DETRAC-Train-Detections (DPM, ACF, R-CNN, CompACT)
DETRAC-Test-Detections (DPM, ACF, R-CNN, CompACT)
下載地址:http://detrac-db.rit.albany.edu/
• ACF 算法
ACF 是指 Aggregate Channel Features,包含在 Piotr Dollar 工具箱內(目前更新至3.50),作為目標檢測算法,在行人檢測領域有不錯的表現。
這里我們把他應用在車檢上,借助 DETRAC 數據集進行訓練。
Piotr Dollar 工具箱采用 Matlab接口,因此,在實際應用中需要 封裝為 C++接口 ,基本步驟如下:
1. 安裝Matlab編譯器 命令行輸入mex -setup,根據提示安裝matlab compilers; 注意選擇compiler類型,matlab自帶的編輯器 或者對應你用的VS版本。 2. 安裝生成器 命令行中輸入mbuild -setup。 3. 生成c++庫文件 調用命令mcc -W cpplib:XXX -T link:lib XXX.m; 前面的XXX表示生成的dll文件名,后面的XXX.m對應matlab源文件,生成后文件包括:XXX(.h. lib .dll)。
關於 Matlab 的其他調用方式 根據需要也可以嘗試。
數據訓練:
作者采用 Detrac 數據進行訓練,具體訓練過程按住不表,直接看 檢測效果(近端檢測還是很不錯的):
