基于图像的驾驶员安全带自动检测系统

2016-07-25 03:38恬,王秋,李
关键词:中间件计算机应用

唐 恬,王 秋,李 旭

(1.杭州市公安局上城区分局,浙江杭州 310009; 2.杭州市公安局余杭区分局,浙江杭州 311100;3.浙江警察学院,浙江杭州 311100)



基于图像的驾驶员安全带自动检测系统

唐恬1,王秋2,李旭3

(1.杭州市公安局上城区分局,浙江杭州310009; 2.杭州市公安局余杭区分局,浙江杭州311100;3.浙江警察学院,浙江杭州311100)

摘要未系安全带行为可能在交通事故中给机动车驾驶员或者乘客带来严重的人员伤亡。现有的驾驶员安全带状态检测多依赖人工验证卡口图片,耗时低效。引入了基于中间件结构的驾驶员安全带自动检测系统,自动下载图像,并利用任务调度将图片分发至处理服务器。在处理服务器端,设计一种集合直线检测和HOG算子分类的多级安全带检测算法,自动检测卡口图像,并利用中间件将检测结果上传至指定的存储器。该系统扩展方便,可分布式部署,能对卡口图像进行大量、快速驾驶员安全带状态自动化检测。

关键词计算机应用; 安全带自动检测系统; 中间件; HOG算子

0引言

随着我国经济发展,机动车保有量也逐年增加。截至2014年年底,我国机动车保有量已达2.64亿辆。但是,驾驶员的安全意识并未随之增加,特别是未系安全带行为普遍。根据有关资料[1],汽车驾驶人未系安全带的事故死亡率约为系安全带的37.7倍,汽车前排乘员未系安全带的事故死亡率约为系安全带的10.6倍,汽车后排乘员未系安全带的事故死亡率约为系安全带的3.1倍。特别是在高速公路,遇车祸时未系安全带的伤亡率远远大于系安全带的人。因此,安全带也被称为“生命带”。我国道路交通安全法律法规对于系安全带有明确的规定。

为了查处未系安全带的道路交通安全违法行为,各地公安交警部门常常开展检查,特别是在春节等客运繁忙时期,会采取额外的集中整治行动。但是这种方法往往耗时耗力,效果持续时间有限。近年来,计算机视觉技术越来越多地被应用到智能交通领域。基于视频的实时分析系统被广泛地用于闯红灯、违章变道、逆行等多种交通安全违法行为的抓拍。于是,有研究人员开始利用图像分析技术,检测驾驶员是否系了安全带。骆玉荣[2]提出了一种利用车窗子图像进行SVM分类的安全带识别系统;浙江大学的吴法[3]在车窗定位的基础上,基于边缘检测与霍夫变换计算特征,并利用adaboost统计分析方法检测安全带;哈尔滨工程大学的张晋[4]则提出了一种集中了图像预处理、图像模糊增强、直线提取及判别3大步骤的检测方法。

以上方法都聚焦安全带检测算法,并未考虑整个检测系统的架构,并且提出的基于直线检测的方法非常不稳定,对于安全带与背景颜色相似时的图像,或者受光照影响产生明显明暗面的图像,检测效果不好。

基于此,本文提出一种基于HOG分类的安全带检测方法。由于HOG算子中含有局部亮度均衡化步骤,可以有效解决上述问题;同时,提出一种可用于分布式存储的安全带检测系统架构,能用于大规模基于图像的安全带检测实战。

1系统设计

1.1系统结构

目前,卡口数据是交警六合一平台中普及最广、使用最多的数据类型。由于卡口数据量较为庞大,且可能分布式地存储在不同的行政级别区域,因此整个检测系统需具备良好的可扩展性,能方便地利用硬件叠加,处理几何式增长的卡口数据。

在实际应用中,卡口图像分别存储在不同的服务器上。因此,需要设计一个中间件,从数据存储服务器上获取原始的卡口数据,并保存到分析服务器上进行下一步计算。整个系统的结构如图1所示,由存储卡口原始数据的数据服务器、装有中间件的调度服务器、安全带状态检测服务器、处理结果存储服务器以及查询配置终端等多个部分组成。这些组成部分的功能如下。

数据服务器:存储来自于各个卡口的数据。由于建设时间不同,这些图像数据有不同的分辨率和不同的格式。数据组成也可能不一样,每次卡口抓拍可能是一张图,也可能是两张图。

安全带状态检测服务器群:该服务器群包括数台检测主机,主要接受来自调度服务器的任务,自动检测输入的安全带图像,并给出检测结果。为了提高处理速度,可增加GPU卡进行加速。

调度服务器:调度服务器中包括多组不同的中间件。如图1所示,整个调度服务器中部署的中间件包括数据下载中间件、预处理中间件、网络状态监测中间件和任务调度中间件。

(1)数据下载中间件:负责从上一层的多个卡口数据源中获取原始卡口图像。

(2)预处理中间件:对图像进行预处理。滤除分辨率不达标、图像中没有机动车、清晰度不够的图像数据。

(3)网络状态监测中间件:实时监测数据下载和上传线程的状态,并将状态通知下一层的检测服务器,便于查询终端实时看到网络状态。

(4)任务调度中间件:由于数据下载和数据处理速度不匹配,而且安全带状态检测服务器群中每台主机的任务量也不一致。因此,当发起安全带图像检测任务时,任务调度中间件会根据每台检测主机当前的繁忙状态,将检测任务发往工作量最低的主机。

图1 系统架构图

2.2系统功能模块

整个系统采用B/S架构。如图1所示服务器端包括调度服务器和安全带状态检测服务器,客户端则可以用于参数配置,以及检测结果查询。服务器端和客户端的功能模块如图2所示。

图2 系统功能模块

(1)服务器端功能模块。服务器端主要包括调度服务和图片检测服务两大类。其中,调度服务包括3大主要的中间件。

数据下载和上传:系统可通过FTP或者Webservice两种方式,从指定的数据存储服务器上下载数据,并将检测结果上传至指定的数据中心。

检测任务分配:当处理数据过大,需要多台检测服务器时,该中间件通过实时轮询服务器负荷情况,将新来的任务分配给当前CPU消耗最低的服务器。

网络状态监测:实时监测服务器群中的数据下载、数据上传、网络通讯等中间件的运行情况,一旦网络出现问题,可以实时报警。

图片检测服务则主要检测常见的两种卡口图片:单张图片检测(也称为A型图),以及双图片检测(也称为B型图)。

(2)客户端功能模块。客户端模块主要包括以下几部分内容。

网络参数配置:包括多台数据服务器的输入FTP地址,以及数据存储服务器的输出FTP地址。

算法参数配置:主要包括安全带检测算法相关的参数。

检测结果查询:能在客户端查询当前的处理量,检测出的未系安全带图片等。

其他:包括用户名和密码设置,操作日志查询,数据清理设置,等等。

3安全带检测算法

一旦接收到算法调度服务器分配的任务,安全带检测线程就会进入计算流程,如图3所示。下面详细介绍流程中每个处理单元的实现过程。

图3 安全带检测算法流程图

(1)预处理。由于相机分辨率不同,且受天气环境的影响,卡口图像的成像质量差别很大。如果不进行预处理,直接以输入的原图进行后续计算,检测效果将不理想。首先,利用高斯算子进行平滑[5];然后,采用线性拉升算法,可以有效地提升输入图像的质量。处理前后的效果如图4所示。

(2)车辆定位。现有方法一般是基于车牌识别的结果定位整个车辆,但是这种方法对于无牌车无效。机动车作为一种刚体,比较适合利用HOG算子[6]进行检测。但是HOG算子可能检测到伪车辆目标。结合两种方法,在检测不到车牌的时候,利用HOG算子检测机动车目标。这样可以保持较高的准确率和召回率。

图4 预处理前后的驾驶室区域效果对比(左为原始图,右为预处理后的图)

(3)车窗定位。车窗也是一种刚体,适合利用HOG算子进行精确定位。利用收集的货车、轿车、公交车等多种车辆类型的车窗区域作为正样本,经过训练后可用于车窗精确定位。

(4)模糊度判断。定量的图像质量评价方法[7]包括均方误差(MSE:Mean Square Error),峰值信噪比(PSNR:Peak Signal to Noise Ratio)。但是这类基于点误差累积的方法没有充分考虑到人眼的视觉特征,用于车窗模糊度判断的效果不理想。基于文献[8]提出的结构相似度(SSM: Structural Similarity),结合模糊的车窗具有局部灰度分布较为均匀的特性,可较为有效地判定车窗的模糊度。对于车窗模糊的图片(如图5左),直接拒绝安全带检测。

(5)安全带检测。不管是主驾驶位的安全带检测,还是副驾驶位的安全带检测,均可以使用同一种算法。本文采用分级检测的算法检测安全带。

图5 模糊车窗图(左)和清晰车窗图(右)的比对

首先,将检测到的车窗区域,等分为主驾驶和副驾驶区域。分别利用Sobel算子[9]进行边缘检测。如果区域中具有一定长度和角度的直线,则认为是安全带。这一级只能在安全带和衣服具有显著梯度的图像中检测到安全带。如果在第一级未检测到安全带,将整个区域送入以HOG特征为主的分类器进行分类。分类器训练时,以驾驶区域的图像作为正负样本输入。

3实验结果

为了测试整个系统的检测结果,搭建了运行环境。硬件采用至强E5-2600 3代CPU,内存8G。利用.Net编写了独立的下载和上传图像的中间件,FTP服务器采用FlashFXP。为了验证方便,安全带检测中间件作为后台服务,与数据的上传与下载中间件放在同一台服务器中,服务器运行环境为Windows Server 2008。

经过测试,在上述硬件配置情况下,一天能处理约20万张图片,安全带检测的综合准确率达到80%以上。但是,由于雨刮器的影响,算法对于雨天的图片处理效果不佳。另外,由于车窗定位的误差,算法对于大车图像(比如货车、卡车)中的安全带检测准确率也有下降。

4结语

安全带是保护驾驶员和乘客的生命之带,在高速行驶过程中发生交通事故时,未系安全带可能导致人员被甩出车外,造成严重人员伤亡。依靠短时间的突击检查和集中整治无法有效震慑司机与乘客,而基于本文提出的计算机视觉技术自动判断是否系安全带的分布式系统,可以处理大规模的、分布式的卡口抓拍数据,能更加有效地规范驾驶员和乘客的行为。

参考文献

[1]数据显示:正确系安全带可挽救45%的生命[EB/OL].[2015-12-21].http:∥union.china.com.cn/txt/2015-05/26/content_7932892.htm.

[2]骆玉荣.安全带识别系统的研究与实现[D].北京:北京工业大学, 2008.

[3]吴法.图像处理与机器学习在未系安全带驾车检测中的应用 [D].杭州:浙江大学, 2013.

[4]张晋.基于计算机视觉的驾驶员安全带佩戴的识别方法研究 [D] .哈尔滨:哈尔滨工程大学,2014.

[5]高斯模糊的算法[EB/OL].[2015-12-17].http:∥site.douban.com/179880/widget/notes/10268661/note/248059359/.

[6]DALAL N, TRIGGS B.Histograms of Oriented Gradients for Human Detection[C]∥International Conference on Computer Vision and Pattern Recognition.2005, 1: 886-893.

[7]蒋刚毅, 黄大江, 王旭, 等.图像质量评价方法研究进展 [J].电子与信息学报,2010, 32(1):219-226.

[8]WANG Z, BOVIK A C, SHEIKH H R, et al.Image quality assessment: From error visibility to structural similarity [J].IEEE Transactions on Image Processing, 2004, 13(4):600-612.

[9]袁春兰, 熊宗龙, 周雪花.基于Sobel算子的图像边缘检测研究 [J].激光与红外, 2009, 39(1):85-87.

(责任编辑陈小明)

作者简介唐恬(1974— ),男,浙江人,高级工程师。 研究方向为公安科技及图像处理。

中图分类号U491

猜你喜欢
中间件计算机应用
我国自主可控中间件发展研究
RFID中间件技术及其应用研究
基于Android 平台的OSGi 架构中间件的研究与应用
网络信息安全技术管理背景下计算机应用研讨
高职计算机应用教学改革研究与实践
诠释CFC精髓的大数据时代医学案例
关于应用计算机辅助艺术设计有关问题研究
计算机应用的发展现状和发展趋势探讨
中职计算机应用课程教学改革与反思
中间件在高速公路领域的应用