申雷霄,刘 军
(徐州市公路管理处,江苏 徐州 221000)
随着物联网、车联网、传感网等概念和技术的发展,交通智能化水平有了极大的提高,同时也对基础设施智能化、信息化水平及人员的管理水平提出了更高的要求。在交通标志方面,现有导航设备可以提供部分限速、测速监控、指路标志等信息,但仍存在信息不全、更新滞后的问题。比如在交通标志的日常维护与管养工作中,会对道路交通标志做增减或其他调整,但未能在数据库中体现,而这仅是交通标志智能化、信息化最基础的内容之一。因此,通过对交通标志的巡检,建立交通标志的全网数据库,是实现交通标志信息化的基础。
交通标志是动态变化的设施,对其巡检及调整优化是道路日常运营管理的重要工作之一。目前,我国大部分城市对交通标志的巡检分析主要采用人工手段[1,2]。这种方式不仅存在调查效率低、成本高、精度低、信息化程度较低、数据统计分析不方便、外业及内业任务繁重等弊端,更重要的是,所获取的交通标志信息数据不便于存储及开发利用。由于只有桩号信息,没有其他可用于联网的位置信息(如经纬度),难以加载于全线或全网,也不便与其他相同等级的道路进行横向对比分析。
在交通标志的检测与识别上,Kuo等[3]首先通过Hough变换和角点检测来获取交通标志的精确位置,然后利用卷积神经网络和K-d树来识别交通标志。Ciresan和Sermanet等[4-5]利用卷积神经网络直接从输入数据中学习出具有判别性的特征用于交通标志识别,并获得了很好的识别性能。然而,这类方法在训练以及分类上都涉及非常高的时间复杂度。Shopa等[6]结合特定的预处理与K近邻分类算法对交通标志分类。刘成云等[7]通过改进的MBLBP特征设计级联分类器实现了标志牌的检测,但是所提取的特征缺乏对标志轮廓形状信息的描述,并且特征提取耗时较长。除此以外,还有大量基于深度学习的交通标志识别算法研究[8-12]。以上算法普遍存在运算量较大、计算复杂、训练和分类时间成本高等问题,不能充分地满足智能交通系统的需求。
在移动检测方面,国内某公司研发的imajing产品将移动制图和地理信息系统技术与道路实景技术融合到一个独特的工具链中,用来满足基础设施的维护、监控和管理需求。imajing的一款后处理软件imajbox是一个一体化的、独立的、拿来即用的移动测量系统,能对交通基础设施进行快速的数据采集。
为了提高交通设施养护的规范化、标准化、信息化水平,掌握各地交通设施的总量及交通标志的使用寿命和维护管养情况,本文借鉴自然场景下的交通标志检测与识别方法,提出了基于机器视觉的公路交通标志自动化巡检系统。该系统利用YOLO(You Only Look Once)算法进行交通标志的检测与追踪,大大提高了检测速度,满足了移动式视频检测器的要求,极大地提高了交通标志的巡检效率,并实现了交通标志的网络化、信息化。
交通标志识别系统一般通过安装在交通工具上的摄像头获取道路交通信息,并将其传入计算机进行自动处理。室外环境复杂多变,交通标志的明亮程度、损坏形变、尺寸变化都对目标检测系统提出了很高的要求。针对这些特点,本文提出一种基于YOLO算法的交通标志检测方法。该方法检测速度非常快,可以满足移动式视频检测要求。
YOLO算法的全称是You Only Look Once:Uni⁃fied,Real-Time Object Detection。其中,You Only Look Once指只需要进行一次卷积神经网络(Con⁃volutional Neural Networks,CNN)运算;Unified指这是一个统一的框架,提供端到端的预测;Real-Time指YOLO算法实时性好、速度快。
整体来看,YOLO算法采用一个单独的CNN模型实现端到端的目标检测。整个系统的工作流程是:首先将输入图像划分成448×448个网格,然后将图像送入CNN网络,最后根据CNN网络的预测结果得到需要检测的目标。
YOLO算法将目标检测统一到一个神经网络。网络使用整个图像中的特征来预测每个边界框。它同时预测图像所有类的所有边界框。因此,该网络可以学习到完整的图像和图中所有的对象。YOLO算法可实现端到端训练并能够实时地检测目标,同时也保持着较高的平均精度。
首先将图像划分为S×S个网格[13-15]。如果某个目标的中心落入该网格中,则该网格就负责检测该目标。每个网格预测存在某类物体的概率以及目标的B个包围框。每个包围框预测物体的位置坐标参数以及它是目标的置信度。置信度分值反映该模型对包围框是否包含目标的信心及其预测的准确程度。定义置信值为其中Object表示目标;Pr(Object)表示这个包围框含有目标的可能性大小,当该包围框是背景(即不包含目标)时,Pr(Object)=0,而当该边界框包含目标时,Pr(Object)=1。IOUtruthpred为预测框与实际框的交并比(Intersection Over Union,IOU),表示边界框的准确度,其中truth表示预测框,pred表示实际框。因此,置信度表示的是两个因子的乘积,也反映了预测框的准确度。
每一个包围框包含5个值:x,y,w,h和c。其中:坐标(x,y)表示包围框相对于网格单元边界框的中心;宽度w和高度h是相对于整张图像预测的;c表示预测的包围框与实际包围框的交并比。因此,每个包围框的预测值实际上包含5个元素:(x,y,w,h,c)。其中,x,y,w,h表示包围框的大小与位置,c是置信度。每个网格单元还预测各个条件类别的概率 Pr(Classi|Object),其中
Classi(i=1,2,…,C)表示各个类别;Object表示目标;该概率值其实是在各个包围框置信度下的条件概率,以网格包含目标为条件,每个网格单元只预测一组类别概率,而不管包围框数量B是多少。
在测试时,将条件类别概率和单个包围框的置信度预测相乘,得到各个包围框的类别置信度:
包围框的类别置信度表示的是该包围框中目标属于各个类别的可能性大小和包围框匹配目标的好坏,一般会根据类别置信度来过滤网络的包围框。
采用YOLO算法与级联分类器相结合的方式进行目标检测,检测流程如图1所示。
图1 目标检测方案流程图
基于YOLO算法的目标检测方法是将目标检测任务看作目标区域预测和类别预测的回归问题。该方法采用单个神经网络直接预测目标边界和类别概率,实现端到端的目标检测。该方法检测速度非常快,基础版的实时检测可以达到45帧/s;FastYO⁃LO版可以达到155帧/s。
利用Adaboost算法来训练强分类器。Adaboost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。通过分析图像特征,采用不同特征完成分类器,可以得到二分类器,再将分类器级联起来,形成级联分类器,从而提高目标检测的准确度,如图2所示。
图2 级联分类器示意图
目标检测方案的具体实施步骤如下:
(1)制作voc格式的数据集
利用现有的含有交通标志的图片数据库制作voc格式的数据集,对图片中的交通标志进行标注并生成相应的标注文件。在该数据集中标注的交通标志类别总共为五类:禁令标志、警告标志、指示标志、指路标志和辅助标志,如图3所示。
图3 各类别交通标志示例
(2)YOLO训练数据集
采用YOLO算法对标定的数据集进行训练,图像视频按帧输入,经过Darknet-53网络结构获得特征图谱。所用到特征图谱大小分别为13×13、26×26和52×52网格。
(3)根据预先设置好的anchor boxes在特征图谱上进行交通标志多尺度检测。YOLO采用聚类方法K-means来选取anchor box。
(4)采用logistic分类器对交通标志进行级联分类,确定其所属类别。
(5)输入下一帧转到步骤(2),直到视频帧停止。
基于机器视觉的公路交通标志自动化巡检系统是一个物理分布、逻辑统一的信息化平台。该平台为用户提供了一个公路标志牌巡查、报警以及信息管理的有效途径,其基于机器视觉的自动化过程有效地提高了用户的工作效率。
该系统可以分为检测系统和数据管理系统两个子系统,总体架构如图4所示。上层为检测系统,集成所有检测模块,包括交通标志检测、道路标线检测和路面坑塘检测,这也是系统的三大核心功能。交通标志检测主要是对道路上的交通标识进行检测,检测其类别是否正确、是否缺失并报警。道路标线检测主要对道路沿线的道路标线进行检测,检测是否缺失并报警。路面坑塘检测主要对道路路面进行检测,检测是否存在坑塘并报警。下层是数据管理模块,主要是存储并管理检测系统所产生的所有数据,两层之间互相联动,共同支撑整个公路交通标志自动化巡检系统的运行。
图4 基于移动视频的公路交通标志巡检系统架构图
系统结构如图5所示,主要由GPS装置、摄像头、通信及数据解析模块、摄像头控制模块、用户界面、数据管理模块及统计分析模块构成。除GPS装置、摄像头之外的所有模块均集成在一台计算机中,计算机与GPS装置通过路由器相连,与摄像头通过USB接口相连。
图5 基于移动视频的公路交通标志巡检系统结构图
GPS装置与通信及数据解析模块连接。它通过向GPS卫星发出请求,得到设备当前的经纬度坐标位置,再将检测到的坐标位置信息打包后发送给通信及数据解析模块,最后由通信及数据解析模块对它进行接收和处理。
摄像头与摄像头控制模块连接。摄像头控制模块能实时地对焦距和曝光度等参数进行调节。摄像头将采集的视频传送给摄像头控制模块,由控制模块进行格式转换和存储等处理。同时摄像头能够通过控制模块与用户界面模块建立连接,及时接收用户发送来的指令,采集交通标志的图像信息或者拍摄相应的行车视频以供后续分析处理。
通信及数据解析模块与用户界面连接,将处理过的地理位置信息发送给用户界面。摄像头控制模块也与用户界面连接,负责将处理后的视频数据发送给用户界面。
除此之外,用户界面能够实时显示电子地图,并自动在电子地图的相应位置对与之前采集到的交通标志信息进行标记。标记的信息还包括桩号信息。桩号信息的自动计算过程如下:以公路起点处的经纬度坐标和桩号作为参考,结合GPS装置获得的当前经纬度坐标位置和几何知识,自动计算当前交通标志的桩号。另外,用户还能手动将参考桩号输入系统,系统根据参考桩号进行桩号核算,以减小误差。计算公式如下:
式(2)~式(5)中:(longituder,latituder)为参考桩号的经纬度坐标;(longitudec,latitudec)为当前标志的经纬度坐标;Nr为参考点的桩号;Nc为当前点的桩号。
用户界面还将接收地理位置信息和视频数据,并将它们传给数据管理模块。数据管理模块对接收的数据做存储、检索和删除处理。同时,用户界面能调用数据管理模块的数据。
数据管理模块与统计分析模块连接。统计分析模块对数据管理模块中的数据做进一步的统计和分析,即通过分析交通标志的位置信息、标志类型、架设情况、版面形状等信息得到交通标志的状态评估结果,并给出相应的维护建议。
系统的数据组成主要包括下面七个部分:
(1)视频数据,指由固定式摄像头所拍摄的视频,数据格式为.avi。
(2)图片数据,指特定事件发生时所拍摄的事件图片,数据格式为.jpg或.png。
(3)事件数据,指检测获得的事件所属类别,数据格式为“交通标志”、“道路标线”、“路面坑塘”。
(4)状态数据,指检测事件的情况,数据格式为“正常”或“异常”。
(5)坐标数据,指事件发生地的GPS坐标,数据格式为“(经度,纬度)”。
(6)数量数据,指检测事件发生的数量,数据格式为整型。
(7)时间数据,指事件发生的时间,数据格式为“年-月-日-时-分-秒”。
在系统内,对数据进行统一信息管理,并按照数据事件进行分类存储与管理。管理系统结构如图6所示。
图6 数据管理系统结构图
数据管理的主要功能包括:(1)数据建库,支持多种数据类型的数据建库;(2)数据存储,将已采集的数据装载到数据库进行管理;(3)数据目录服务,即建立并维护符合巡查系统信息要求的目录管理;(4)数据检索,即按照指定检索条件查找数据;(5)数据修改与删除,即对指定数据进行修改或删除操作。
通过检测系统与数据管理系统两个子系统间的互通互联,建立交通标志的数据库(融合了交通地理信息系统GIS-T、标志牌位置GPS信息以及传输通信4G的数据),实现对交通标志的巡检、分析、评价、优化设置及政策辅助等功能。主要用于公路交通标志自动化巡检分析以及辅助决策支持,实现了交通标志的自动化、智能化、网络化普查与分析功能。
系统的测试结果如图7所示。
从图7可以看出,该系统能够准确地对路边不同种类、不同形状的交通标志进行图像捕捉、检测与识别,快速而精准。对道路标线和路面坑塘,系统也能通过图像处理实现精准检测。实测结果显示,该系统具有较高的测试精度,测试效果较好。
图7 系统测试结果
本文提出的基于机器视觉的公路交通标志自动化巡检系统,基于YOLO算法进行交通标志的检测与追踪,实现了对多个类别、多种形状的交通标志的精准检测,大大提高了目标检测速度和巡检效率,实现了交通标志检测、道路标线检测和路面坑塘检测的网络化、信息化。下一步的工作是扩展该系统的功能,实现对道路上违法抛撒物品和在道路两侧违法设立摊点等行为的监测。