韋勇 萬旭 徐海黎 沈標
摘 要: 針對交叉路口行人頻繁闖紅燈的現象,提出一種基于人臉跟蹤和人臉識別的行人闖紅燈取證解決方案。行人闖紅燈取證系統分為前端抓拍部分和后臺比對查詢部分,主要包括信息采集模塊、人臉檢測跟蹤模塊、報警模塊和比對識別模塊。系統采用改進的AdaBoost算法檢測人臉,提出基于Camshift和軌跡預測的多人臉跟蹤算法,以解決傳統Camshift算法跟蹤目標需手動繪制、跟蹤目標單一和背景區域干擾大的缺點,實現了多人臉實時跟蹤。后臺比對查詢部分采用基于卷積神經網絡的方法對人臉進行比對識別。實際使用結果表明,該系統具有良好的穩定性和實時性,可有效杜絕“中國式過馬路”現象。
關鍵詞: 行人闖紅燈; 多功能報警; 人臉檢測; 人臉跟蹤; 人臉抓拍; 人臉識別
中圖分類號: TN911.73?34; TP391.4 文獻標識碼: A 文章編號: 1004?373X(2018)19?0036?04
Abstract: Aiming at the phenomenon that pedestrians frequently cross the intersections on a red light, a solution about how to warn the pedestrians and collect the evidences of pedestrians′ red?light running is put forward, which is based on face tracking and recognition. The pedestrians′ red?light running evidence?collection system is divided into front?end capture section and background matching query section, which includes information acquisition module, face detection tracking module, alarm module and matching recognition module. The improved AdaBoost algorithm is adopted in the system to detect the human face. The multi?face tracking algorithm based on Camshift and trajectory prediction is proposed to overcome the shortcomings of the tracking target manual drawing of traditional Camshift algorithm, single tracking target and large interference of background area, and realize the multi?face real?time tracking. The method based on convolutional neural network is used in the background matching query section to compare and recognize the faces. The practical usage result of this system shows that the system has high stability and real?time performance, and can effectively eliminate the phenomenon of ″Chinese style of crossing road″.
Keywords: pedestrians′ red?light running; multi?function alarm; face detection; face tracking; face capture; face recognition
近年來,隨著城市道路交通的迅速發展,機動車的數量日益增多。在我國城市交叉路口,行人過馬路闖紅燈的現象較為常見,尤其當群體行人數量達到4人時,最容易激發人群的集體闖紅燈行為,這種行為被稱為“中國式過馬路”[1?4]。行人闖紅燈的行為不僅會威脅人身安全,還會誘發交通事故,影響交通秩序。為了提高城市交通秩序、保障人民群眾的生命安全、倡導文明出行,需要對行人闖紅燈行為進行檢測識別,并做出一些相應的提醒和處罰措施,提高行人在道路交通中的自覺意識[5?6]。本文提出了基于人臉跟蹤和識別技術的行人闖紅燈取證系統的解決方案,用信息化、智能化的手段加強對城市道路交通的管理,推動智慧交通、智慧城市的建設。本系統對路口的實時視頻流進行處理,檢測視頻中闖紅燈的行人并對其進行跟蹤,在斑馬線上設置3條虛擬檢測線,行人每至一處便存取一張圖片作為闖紅燈憑證,將對比獲得的清晰人臉圖片送至后臺服務器進行提取特征和比對識別,最終得到此人闖紅燈的次數。
行人闖紅燈取證系統分為前端抓拍部分和后臺識別查詢部分。抓拍客戶端通過星光級高清攝像機的SDK中相關回調函數將采集到的視頻信息進行顯示,當路口信號燈為紅燈時將H264編碼方式的每一幀圖像數據用于人臉檢測和人臉跟蹤,若為綠燈時則只顯示不處理。檢測到行人闖紅燈時,則語音播報“請不要闖紅燈”,LCD液晶屏顯示當前闖紅燈人臉圖像且LED文字屏顯示“您闖紅燈了”。抓拍客戶端將抓拍的行人闖紅燈軌跡圖、提取的人臉圖像通過FTP傳至后臺服務器。后臺服務器將這些存入數據庫,并與庫中人臉進行比對識別,最終可通過網頁查詢每位行人闖紅燈的總次數。行人闖紅燈系統的結構如圖1所示。
2.1 信息采集模塊
信息采集模塊的主要功能是采集紅綠燈信號和圖像數據,并對采集到的圖像數據進行預處理。紅綠信號使用紅燈信號檢測板獲得,紅燈時工控機將通過RS 232串口接收數據。該模塊首先結合星光相機SDK中的回調函數實現視頻實時播放,若接收到紅燈信號則將H264編碼方式的每一幀圖像數據作預處理,使得光線等外界因素對人臉的影響減小,人臉特征信息凸顯,且圖像數據四字節對齊以滿足后續人臉檢測跟蹤算法的要求。
2.2 檢測跟蹤模塊
檢測跟蹤模塊的主要功能是紅燈時檢測每一幀圖像中是否存在人臉,若存在則在視頻序列中對其進行跟蹤,在3條虛擬檢測帶處抓拍圖片并提取最清晰人臉。該模塊具有人臉檢測、人臉跟蹤、虛擬檢測帶處抓拍等功能。
2.2.1 人臉檢測
人臉檢測的目的是確定圖像數據中人臉的數量、位置和大小。人臉檢測算法在速率和準確性上很難同時達到最優,目前使用最廣泛且速度和準確性較好的是AdaBoost算法。傳統的AdaBoost算法的一種分類器只能檢測一個角度的人臉,而且對環境的要求較高,一般用于實驗室中對靜態正面人臉的檢測[7?8]。本系統的工作環境為交叉路口的人行橫道區,需要考慮人臉多角度多姿態等問題。針對本系統復雜的工作環境,對原始的AdaBoost算法進行改進,訓練正臉分類器、側臉分類器,分別用于檢測水平旋轉角度為[-15°,15°],[-30°,-15°],[15°,30°]的人臉,使用時通過串聯分類器檢測人臉,當正臉分類器檢測到人臉則無需使用側臉分類器。這種方法很好地解決了以往AdaBoost分類器只能檢測靜態圖像中正臉的問題。
2.2.2 人臉跟蹤
人臉跟蹤的目的是根據前一幀圖像中檢測到的人臉位置、人臉膚色等信息,確定下一幀圖像中該人臉的位置。通常人臉檢測后才可進行人臉跟蹤,因此檢測是跟蹤的必要前提和鋪墊[9?10]。本系統需要抓拍3張不同位置的圖片記錄行人闖紅燈的過程,所以在檢測到目標人臉后需要對人臉進行跟蹤。目前人臉跟蹤使用最多的是Camshift算法。Camshift算法主要通過對設定的初始區域建立顏色模型,然后在視頻序列中尋找最優匹配目標從而達到跟蹤的目的,魯棒性較好。但Camshift算法只能對單一目標進行跟蹤,初始區域需要手動設定,當背景顏色與跟蹤目標相近會出現混亂甚至跟丟的現象。本系統工作環境為交叉路口的人行橫道區,背景復雜且會有多個行人同時出現的情況。針對此問題,對傳統Camshift進行改進,提出一種基于Camshift和軌跡預測的多人臉跟蹤算法。該算法將上一步檢測到的人臉區域自動設為跟蹤初始區,采用多線程,每一線程跟蹤一個人臉,并結合軌跡預測實現多人臉的對應跟蹤,經驗證該算法具有很好的穩定性。
2.2.3 虛擬檢測帶處抓拍
虛擬檢測帶是視頻檢測技術的一種,本系統中在視頻中的馬路區域設置3條虛擬的檢測線,在實現人臉跟蹤后,當跟蹤目標到達檢測線位置時便抓拍1張圖片,由此抓拍3張過程圖片作為行人闖紅燈憑證[11]。
檢測跟蹤模塊工作流程如圖2所示。
2.3 報警模塊
報警模塊的主要功能是對闖紅燈的行人進行提示和警告,由人臉顯示液晶屏、LED文字提示屏和語音提示喇叭三部分組成。當有行人闖紅燈時則LCD液晶屏顯示當前闖紅燈清晰人臉圖像,LED文字屏顯示紅色文字“您闖紅燈了”,且語音提示喇叭提示“請不要闖紅燈”。當綠燈或無行人闖紅燈時則LCD液晶屏循環顯示最近10張闖紅燈人臉圖,LED文字屏顯示綠色“請注意交通安全”。
2.4 比對識別模塊
比對識別模塊的主要功能是將FTP接收的行人闖紅燈3張過程圖和優選清晰的人臉圖錄入管理數據庫,并提取清晰人臉圖特征與數據庫中已有的人臉庫進行比對識別,統計出該行人闖紅燈的次數,然后更新記錄數據庫以便網頁查詢。
人臉識別的核心問題就是提取出人臉的特征值[12?14],并將其與人臉庫中的特征值進行比對。本系統中在獲取清晰人臉圖片后先采用一個九層的卷積神經網絡來提取特征,然后進行特征比對識別[15]。本系統使用的人臉識別模型是開源的,由140萬張人臉圖像訓練得到,這些訓練圖像來自于約1.6萬人,其中既有東方人也有西方人。實際測試表明,該引擎在本系統所在場景中具有良好的性能。
比對識別模塊工作流程如圖3所示。
行人闖紅燈取證系統的開發工具是Visual Studio 2013,使用了主流計算機開放視覺庫Open Source Computer Vision Library(OpenCV),OpenCV版本是2.4.10,數據庫采用的是SQL 2008。系統的抓拍客戶端主界面和網頁查詢界面如圖4,圖5所示。
在南京市浦口區某路口安裝本系統實際測試,通過對前后一個月行人闖紅燈數量統計后發現,該路口每天約有10 000人經過,安裝前每天闖紅燈的人數在1 000~2 000人之間,占總人數的10%~20%,而在安裝后每天闖紅燈行人數為200~300人,只占總人數的2%~3%。本系統有效緩解了行人闖紅燈現象,具有很好的實用性和穩定性,不僅維持了交通秩序,也促進了智慧交通的發展。
本文設計了一種新的行人闖紅燈取證系統,介紹了該系統的總體結構,詳細闡述了各個模塊的功能。同時,通過與沒有安裝系統前的路口情況作了對比測試,驗證了基于人臉跟蹤與識別的行人闖紅燈取證系統的實用性和穩定性,為提高城市交通秩序提供了新的可行的辦法。
注:本文通訊作者為徐海黎。
參考文獻
[1] ZHANG W, WANG K, WANG L, et al. Exploring factors affecting pedestrians′ red?light running behaviors at intersections in China [J]. Accident analysis prevention, 2016, 96: 71?78.
[2] 武強,洪趙駿,呂美.“中國式過馬路”背景下的交叉路口行人闖紅燈現象調查——基于西安市交叉路口觀測數據分析[J].決策與信息,2016(9):121.
WU Qiang, HONG Zhaojun, L? Mei. Investigation on pheno?menon of pedestrian running red traffic lights at cross roads under the background of "Chinese?style crossing the road": based on analysis of observation data at crossroads in Xian [J]. Decision & information, 2016(9): 121.
[3] 陳亦新,徐婷,孫小端.信號交叉口個體行人與群體行人過街闖紅燈行為分析[J].科學技術與工程,2017,17(8):288?292.
CHEN Yixin, XU Ting, SUN Xiaoduan. Study on red?light violation behavior of individual pedestrian and pedestrian group at signalized intersections [J]. Science technology and enginee?ring, 2017, 17(8): 288?292.
[4] 張高煜.行人闖紅燈事件視頻檢測算法與實現[J].信息技術,2013(12):53?56.
ZHANG Gaoyu. Pedestrian red light running event video detection algorithm [J]. Information technology, 2013(12): 53?56.
[5] 嚴官林,沈昱明,張民.基于視頻的行人闖紅燈檢測方法[J].信息技術,2015(3):165?169.
YAN Guanlin, SHEN Yuming, ZHANG Min. Detecting method of pedestrian running red light with video [J]. Information technology, 2015(3): 165?169.
[6] 唐曉東.基于視頻分析的行人闖紅燈違法行為檢測系統[J].中國人民公安大學學報(自然科學版),2014,20(1):60?63.
TANG Xiaodong. Pedestrian detection system for red light violation based on video analysis [J]. Journal of Chinese People′s Public Security University (science and technology), 2014, 20(1): 60?63.
[7] 汪翠.基于OpenCV的人臉檢測與跟蹤算法研究與實現[D].哈爾濱:哈爾濱工業大學,2014.
WANG Cui. Research on algorithm of face detection and tracking based on OpenCV [D]. Harbin: Harbin Institute of Technology, 2014.
[8] 廖廣軍.復雜條件下的人臉檢測與識別應用研究[D].廣州:華南理工大學,2014.
LIAO Guangjun. Research of face detection & recognition and its application under complex environment [D]. Guangzhou: South China University of Technology, 2014.
[9] 陳春林.基于pcDuino的人臉檢測追蹤系統[D].蘭州:蘭州大學,2015.
CHEN Chunlin. Face detection and tracking system based on pcDuino [D]. Lanzhou: Lanzhou University, 2015.
[10] KANG S, CHOI B, JO D. Faces detection method based on skin color modeling [M]. North?Holland: Elsevier North?Holland Inc., 2016.
[11] 郭鵬飛,徐海黎,潘臘青,等.基于視頻虛擬檢測帶的交通流量檢測方法[J].測控技術,2016,35(2):28?31.
GUO Pengfei, XU Haili, PAN Laqing, et al. Traffic volume detection methods based on video virtual strip [J]. Measurement & control technology, 2016, 35(2): 28?31.
[12] 卓成龍.基于視頻的多目標人臉跟蹤算法研究與實現[D].成都:電子科技大學,2013.
ZHUO Chenglong. The study and implementation of the algorithm for the video?based multiple faces tracking [D]. Chengdu: University of Electronic Science and Technology of China, 2013.
[13] 吳丹陽.基于視頻的實時多人臉檢測、識別與跟蹤方法研究[D].沈陽:沈陽工業大學,2013.
WU Danyang. Research on video based real?time multiple face detection, recognition and tracking methods [D]. Shenyang: Shenyang University of Technology, 2013.
[14] CHAUDHRY S, CHANDRA R. Face detection and recognition in an unconstrained environment for mobile visual assistive system [J]. Applied soft computing, 2017, 53: 168?180.
[15] 孟繁靜.基于視頻的實時多人臉檢測跟蹤與優選方法研究[D].長春:東北師范大學,2016.
MENG Fanjing. Research on real?time video?based multiple faces detection, tracking and optimization methods [D]. Changchun: Northeast Normal University, 2016.