1.本公开涉及无人驾驶测试,尤其涉及一种无人驾驶测试监测系统。
背景技术:2.为方便无人驾驶进行多次可重复测试,一大批专业的无人驾驶测试场地被建设。现有无人驾驶测试场使用wifi全覆盖、搭建差分gps基站、部署各类路侧摄像头、传感器,用以监测无人驾驶测试实行情况。对无人驾驶进行测试时,为观测无人车行驶的规范性、保证测试过程中的安全性,同时为无人驾驶测试与评价提供参考依据与数据支撑,工业和信息化部要求对测试实行情况进行持续监测,记录和存储车辆外部视频监控情况。因此我国各测试场均进行了多方位的监测部署,包括监控设备和通信设备等。以上海嘉定的国家智能网联汽车(上海)试点示范区为例,在道路建设方面,该测试场地可模拟近30种城市道路交通实景,包括多种行车道路场景,如道路建设有城市隧道、阴影道路、城市十字/丁字行驶路口、环形交通等;还包括多种生活行车场景,如路侧停车位、地下停车场、加油站出入口等。在通信方面,该测试场地设有1个4g基站、1个车辆定位基站、2个可供车路协同通信的通讯基站、16套长距离射频识别系统(radio frequency identification,rfid)、4套可实现车路协同的路侧单元,6个智能交通指示灯。为采集车辆道路测试数据,该测试场地使用北斗定位系统实现厘米级定位,铺设大量通讯基站实现wifi全覆盖。为了实时观测车辆行驶状态,该测试场安装了40个不同类别的摄像头。
3.然而,无人驾驶测试除了在专业测试场进行无人驾驶测试,还包括在真实交通环境的无人驾驶比赛,比如“中国智能车未来挑战赛”(intelligent vehicle future challenge,ivfc)。在专业测试场的设施并不方便迁移部署到真实交通环境中。以第十二届“中国智能车未来挑战赛”为例,比赛要求在规定时间90分钟以内,参赛车辆在保证安全自主行驶的前提下,严格遵守道路标志标线,并完成多次指定地点的模拟出租车接客送客服务。比赛场地为常熟开发区“九宫格”城市道路,其地图如图1所示。测试场地内有多种道路场景,包括城市行驶道路、施工占道、交通管制引导、人车混行、交通拥堵阻塞、真实超车/并线/会车、限速等,交通情况复杂。为了判断是否违章,在该届比赛中,举办方主要采用“人海战术”进行监测部署,违章追溯主要根据裁判纸质记录事件对监测视频进行回看,过程非常繁琐、效率极低,且非常容易出现人工疏忽,影响比赛公正性。
4.因此,将应用于专业的无人驾驶测试场地检测系统应用到真实的交通环境存在困难,现有监测系统方案,难以迅速在复杂的真实交通环境中实现大面积部署,而若对每一层真实城市交通环境,都进行针对性的系统开发,也会存在巨额投入且可能开发期较长的问题。
技术实现要素:5.针对上述现有技术,本发明的目的在于提出一种无人驾驶测试监测系统,至少解决下述问题:
6.(1)便捷、易部署性:监测系统能够对比赛区域进行多角度密集监测,包括道路监测、参赛车辆自身监测、车辆跟随监测、社会车辆视角的监测等,并且该比赛每年举办地点未知,为了快速实现对比赛场地的监测部署,监测系统需要具有便捷、易部署特性,使其可以迅速搭建于多种比赛场地。其中,监测终端需要可持续运行120分钟,以满足单场比赛持续监测,且监测终端需要随比赛要求随时移动位置。
7.(2)可观测性:为了体现比赛公平性,同时满足现场人员观看需求,举办方需要将监测视频数据进行实时直播。因此,监测系统需要具有可观测性。
8.(3)高并发量:同时开启多路监测时,监测系统服务器需要保证系统的可用性。
9.(4)压线判别:由于比赛过程中,裁判需要时刻关注车辆行为,尤其是在进行压线判别时,裁判需要长期关注车辆与车道线关系,容易疲劳。因此,需要监测终端需要实现压线判别,以辅助裁判工作。
10.为了解决上述技术问题,本发明提出一种无人驾驶测试监测系统,所述系统包括监测终端、服务器。所述监测终端集成了摄像头、定位功能且能够连接通信网络;所述监测终端,被配置用于无人驾驶测试中监测视频采集,对监测视频中的图像进行车辆压线违章检测,并将违章信息发送给服务器进行存储;同时对监测视频进行解析,加定位时间戳和地点戳,并进行编码压缩后推送给服务器;所述服务器包括信息管理服务器、支持高并发的流媒体服务器;所述流媒体服务器,被配置用于视频接收、存储、转播和定点播放;所述信息管理服务器用于违章信息和视频信息的存储与检索,验证视频监测的开启与关闭。
11.在上述技术方案中,监测终端比如手机、平板等,小巧、使用灵活、续航时间长,便于部署于裁判车实现跟车视角监测或路侧实现道路监测。由于其具有摄像头、定位功能且能够连接通信网络等,因此能够实现实时传输采集的视频,进而通过用户客户端登录服务器即可实现视频实时观看。其车辆压线违章检测功能,提高了视频监测质量,降低了裁判工作强度,缓解了裁判盯车疲劳。并且,由监测终端实现车辆压线违章检测,可在减轻服务器压力,并对比赛中违章行为进行及时判定与记录,也充分利用现有的硬件设备和通讯环境。流媒体服务器模块:比赛过程中,监测系统需要完成对比赛现场的直播,播放器可以基于多种传输协议进行拉流观看;比赛结束后,用户可以对比赛视频进行检索与回看。信息管理模块对采集视频信息的存储,可实现对视频的检索;对检测到的车辆压线行为相关信息的存储,可实现对违章信息的检索查询。
12.作为上述技术方案的一种改进,所述对监测视频进行编码压缩并推送给服务器,解决因采集的原始数据分辨率较高,直接传输,速度慢且耗费流量的问题。包括下述步骤:
13.将获取的推流地址设置为推流通道;获取编码格式;
14.将采集到的yuv格式图像转为rgb格式图像后,按编码格式进行编码压缩,然后通过推流通道推流到服务器。
15.作为上述技术方案的一种改进,所述标记时间戳和地点戳,以便在进行事故鉴定等回看时,对事故发生时间和地点进行进一步确认。包括:
16.获取gps时间、gps地点坐标,并用位图编码表示;为防止时间戳和地址戳遮盖画面全部信息,依次获取位图编码,若编码值为“1”,则计算其在采集的视频图像中的对应位置,将该位置中的y分量进行修改,从而将时间戳或地址戳融合在采集的视频图像中。
17.在上述技术方案中,车辆压线违章检测包括下述步骤:
18.采用预设的车道线分割模型对视频图像中的车道线进行分割,将车道线分割结果转换为车道线方程;
19.基于车道线方程,进行逆透视变换,获得两车道线间的距离;
20.采用预设的目标检测模型识别视频图像中的车辆目标进行检测,并使用卡尔曼滤波对车辆目标进行跟踪估计;
21.根据车辆与车道线间的距离,判断是否进行压线标记,若进行压线标记,则生成提示信息。
22.上述技术方案在一种实施方式中,在车辆行驶方向下,当车辆到行驶道路左右两侧车道线的距离比值小于1∶5时,进行压线标记,在所述标记中记录压线行为时间和地点。
23.作为上述技术方案的一种改进,所述预设的目标检测模型采用mobilenetv3-large_ssdlite模型,实现在低配置,低算力的手机终端实现车辆检测与车道线分割;
24.预设的车道线分割模型采用mobilenetv3-large_deeplabv3+模型;
25.所述mobilenetv3-large_ssdlite模型、所述mobilenetv3-large_deeplabv3+模型在训练好后转换为tflite格式,移植到监测终端。
26.作为上述技术方案的一种改进,所述将车道线分割结果转换为车道线方程,以便实时逆透视变换,克服由于透视效应,图像中远处车辆到车道线的距离越来越近,车辆与车道线的关系不清晰的问题。包括:
27.对车道线分割结果进行降采样,进行霍夫变换,并进行相近的直线拟合合并,得到车道线方程。
28.作为上述技术方案的一种改进,在使用卡尔曼滤波对车辆目标进行跟踪估计之前,包括:
29.基于帧间距离最近原则将车辆坐标进行分组,将车辆目标经过逆透视变换以及旋转变换后,得到车辆相对裁判车的位置,裁判车的位置由监测终端基于裁判车的起始位置计算获得;
30.根据裁判车的位置与车辆相对裁判车的位置,计算得车辆在车道线中的坐标为车辆观测坐标,并将其作为卡尔曼滤波进行跟踪估计的输入。通过使用卡尔曼滤波对车辆目标进行跟踪估计,克服车辆观测坐标并不准确的问题。
31.作为上述技术方案的一种改进,所述监测视频采集,包括:
32.基于监测终端生成的通用唯一识别码和获取的监测所需信息,进行监测申请;
33.在收到服务器授权后,在监测终端能够选择开始监测或结束监测;当选择开始监测,监测终端开始进行监测视频采集。通过申请,对视频监测开启验证,可防止非比赛监测干扰。
附图说明
34.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
35.图1、背景技术中关于无人驾驶测试监测区域示意图;
36.图2、一个实施例中关于无人驾驶测试监测系统的系统架构示意图;
37.图3、一个实施例中关于无人驾驶测试监测系统的硬件配置示意图;
38.图4、一个实施例中关于ivfc监测应用的功能结构示意图;
39.图5a、一个实施例中关于数字2的位图显示示意图;
40.图5b、一个实施例中关于数字2的位图编码示意图;
41.图6、一个实施例中关于现场视频数据进行采集流程示意图;
42.图7、一个实施例中关于图像在坐标系中的透视效应示意图;
43.图8、一个实施例中关于世界坐标系和图像坐标系之间的关系示意图;
44.图9、一个实施例中关于车道线旋转平移的示意图;
45.图10a、一个实施例中关于逆透视变换前的示意图;
46.图10b、一个实施例中关于逆透视变换后的示意图;
47.图11、一个实施例中关于卡尔曼滤波模型示例图;
48.图12、一个实施例中关于车辆与车道线相对关系示意图;
49.图13a、一个实施例中关于城市道路测试实景示意图;
50.图13b、一个实施例中关于城市道路测试压线结果示意图;
51.图14a、一个实施例中关于城镇道路测试实景示意图;
52.图14b、一个实施例中关于城镇道路测试压线结果示意图。
具体实施方式
53.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
54.本发明方法的一种实施方式中,将无人驾驶测试监测系统部署在图1所示的比赛场地进行了测试。无人驾驶测试监测系统的系统架构如图2所示,包括监测终端、服务器以及展示平台。其中,监测终端集成了摄像头、定位功能且能够连接通信网络,包括置于裁判车中实现跟车视角监测的裁判车监测终端,置于路侧实现道路监测的道路监测终端,置于参赛车辆的参赛车辆监测终端,以及裁判手持终端。监测终端可以是手机、平板或者定制的其它移动终端。通信网络是为了传输采集的视频图像或发送接收信息不受距离限制。服务器包括可以部署信息管理系统,并进行流媒体协议等配置的塔式服务器。展示平台用于设置液晶拼接显示墙,并通过矩阵切换器将用户终端中比赛监测视频、场内地图、调度台等信息进行投屏。
55.基于上述系统进行搭建,硬件设施如图3所示。
56.在无人驾驶测试的指挥中心,安装了路由器接入网络,将16台平板电脑接入无线路由器,通过互联网连接服务器,获取监测信息。将平板电脑通过高清数据线连入矩阵切换器,再将矩阵切换器连入液晶拼接显示屏,从而在指挥中心实现对比赛的监测可视化需求。在平板电脑中安装了vcl播放器(vlc media player)软件,用于视频监测观看。
57.在服务器主机中搭建流媒体服务器以及信息管理服务器。
58.流媒体服务器使用nginx搭建,实现视频数据的接收、转发、存储等功能。在搭建
nginx流媒体服务器时,安装了nginx开发中需要的相关依赖库,其中主要包括:libpcre3库,libpcre3-dev库,openssl库,libssl-dev库,pcre库,zlib库。为实现视频数据的传输,在服务器中配置流媒体传输协议,所配置流媒体协议包括hls协议(http live streaming)、rtmp流媒体传输协议(real-time messaging protocol)和http-flv协议(http flash video live stream)。
59.信息管理服务器使用轻量化框架springboot和mysql数据库搭建,包括视频信息管理模块和监测信息查询模块。
60.视频信息管理模块,被配置用于实现监测端信息存储、视频信息生成、监测申请处理、视频开启验证、视频关闭验证、违章信息存储等功能。监测信息查询模块,被配置用于违章检索、视频检索、用户登录等功能。在监测申请处理、监测端信息存储以及视频信息生成中,信息管理服务器收到监测终端发起的监测申请后,对其中所填写的信息进行验证,验证通过后将监测终端信息进行存储,并根据监测终端信息以及当前时间生成视频唯一id,然后对视频信息进行存储,并返回推流地址;若监测验证未通过则返回申请失败信息,结束流程。在视频开启验证(或视频关闭验证)功能中,信息管理服务器收到流媒体服务器的推流信息后对视频开启请求(或视频关闭请求)进行验证,若监测终端信息与视频信息一致则通过验证,并对视频开启(或关闭)时间进行存储,之后返回成功状态码200,结束流程;若验证不通过,则返回状态码400,结束流程。在进行信息检索时,信息管理服务器首先根据用户端身份进行验证,验证通过后根据检索信息对根据检索信息对违章信息与视频信息进行数据匹配,并返回匹配结果。在用户登录的流程中,信息管理服务器收到用户登录请求时,首先对其用户账号和密码进行验证,然后根据账号密码信息生成用户唯一id,用于后续用户操作。在违章信息存储中,信息管理服务器收到监测终端推送的违章信息后,首先对其身份进行验证,确定监测终端与视频信息对应,然后将违章信息进行存储;若不匹配,则结束流程。
61.监测终端使用为集成了相机、gps、同时可以连接4g网络的安卓手机。使用手机监测端进行视频数据采集,通过已经建好的4g网络基站实现监测数据的传输。在手机监测端中安装了ivfc(intelligent vehicle future challenge,中国智能车未来挑战赛)监测应用,所述ivfc监测应用获取了当前手机设备硬件使用权限,包含相机、定位、录像、录音等。在ivfc监测应用中,使用安卓camera对象、surface对象、javacv插件对视频数据的采集、预览、编码和推流进行了实现。
62.通过ivfc监测应用,能够实现下述功能,如图4所示:
63.(1)标记时间戳和地点戳
64.对视频监测数据,将实时的动态gps时间和gps地点坐标融入与采集的视频图像中。通过这种方式,在进行事故鉴定等回看时,通过标记的时间戳和地点戳能够对事故发生时间和地点进行进一步确认。
65.ivfc监测应用在相机会话管道中获取到图像数据,其编码格式为yuv格式。在获取到视频数据的像素点后,对视频原始数据进行逐帧加时间戳和地点戳处理。
66.标记时间戳和地点戳时,包括:
67.(1)将获取的获取gps时间、gps地点坐标制作成位图,并用位图编码表示。在设置位图大小时,使其所表示的时间或地点在采集的视频图像中能够完整显示。位图编码是关于数字“1”至“9”、
“‑”
、“:”,以及“.”对应的位图,如图5a所示,为数字“2”的位图,图5b是该
位图对应的位图编码。
68.(2)位图中一个数据对应图像中的一个像素。依次获取位图编码,若为“1”,则根据设定的标记时间戳和地点戳的位置,计算其在采集视频图像中对应的像素位置。
69.(3)为防止时间戳遮盖画面全部信息,只将采集视频对应的位置的像素的y分量修改为1,从而实现将位图编码融合在视频图像中。
70.(2)数据采集与处理
71.在其安装的监测终端填写发起监测所需信息,如车辆/车道信息、验证信息、以及被监测对象信息等,被监测对象可以是监测终端所在道路信息,或者是被测车辆车牌号等;监测应用根据所填写的信息生成监测终端通用唯一识别码(universally unique identifier,uuid),并将监测应用中生成的uuid以及裁判填写信息提交至服务器中,进行监测申请。在服务器允许后,应用将自动进入监测页面;裁判可以在监测页面选择开始监测、结束监测;结束监测后,应用会再次返回信息填写页面,监测端可以开启另一次监测。
72.监测申请通过后,对现场视频数据进行采集,处理流程如图6所示。对采集的视频数据,基于获取的gps时间与经纬度,在图像上标识时间戳和地点戳。由于采集的原始数据分辨率较高,若直接将采集数据进行传输,速度较慢且耗费流量,因此对采集数据进行编码,最后将编码后的数据推流传输。
73.编码和推流的一种具体实现方式是使用javacv库内部ffmpeg实现图像编码、推流功能。音频的采样频率、音频传输通道、视频的采样帧率、音视频封装格式,以及视频的编码格式,设置参数如表1所示。
74.表1
[0075][0076]
在监测申请通过后,会获得推流地址,将其设置为推流通道。对于采集到的视频图像,采用ffmpeg中的framerecorder模块对音视频以及图片的封装、编码、推流和录制保存等操作:将获取的推流地址设置为推流通道,将视频中的yuv格式图像转为rgb格式图像后,使用接口ffmpegframerecorder(帧推流器)对获取到了音频视频数据进行编码,然后将编码压缩发送通过推流通道推流到服务器。
[0077]
对于采集到的视频图像,监测终端对视频中的图像进行车辆压线违章检测,并将违章信息发送给服务器进行存储,从而提高视频监测质量并降低裁判工作强度,缓解裁判盯车疲劳。
[0078]
在车辆压线违章检测中,通过对车辆目标检测,以判断车辆与车道线的关系。本发明采用预设的轻量化神经网络,解决监测终端计算资源有限的问题。采用mobilenetv3-large_ssdlite模型作为车辆目标检测模型,采用mobilenetv3-large_deeplabv3+模型作为预设的车道线分割模型,将训练好的两个模型转换为tflite格式,移植到手机中。
[0079]
在进行车辆目标检测模型训练时,使用的数据集包括:bdd100k数据集和“中国智能车未来挑战赛”数据集。bdd100k数据集来自加州大学伯克利分校ai实验室(bair)。该数据集收集于美国各地,采集自真实道路车辆行驶视角。该数据集包含不同时间、气候、道路场景等,有增加车辆目标检测模型的鲁棒性,约有十万张图片,十万个高清视频,且标注种类多样,包括所需的车辆标记。“中国智能车未来挑战赛”数据集为该比赛中基于裁判车跟车视角视频数据,该数据采集于常熟“九宫格”比赛中的城市道路,还有少量行驶道路内社会车辆,有利于使模型具有较强地适用性。
[0080]
为减少本项目的训练时间,从bdd 100k数据集中选取了5000张作为车辆检测数据集,其中训练集3000张,验证集和测试集数据量为1000。bdd 100k数据集的标记和图像偶尔会有缺失现象,因此,在数据集筛选前首先将数据集中的图片与其标记进行过滤匹配,确定jpeg文件及其对应的json文件。数据集筛选修改过程如下:首先将json格式的注释文件转换为xml格式,并过滤其中的非类别“car”标记,以及过滤其中的微小车辆标记;然后将xml转换为csv表格格式,其中包含图像的名称、大小、待检测目标横纵坐标以及目标类型;将上述csv文件转换成tfrecord文件,最终生成的文件有:train.csv、validation.csv、test.csv、train.tfrecord、validation.tfrecord、test.tfrecord;新建配置文件label_map.pbtxt,添加json格式的item,id为1,name为“car”,使tensorflow能识别标记文件。
[0081]
将“中国智能车未来挑战赛”视频进行每5秒一帧的数据提取,共计1940张,然后在pycharm软件、python3.6环境中使用标记labelimg软件对其进行标记。车辆标记原则为:在图片上以人眼判别为准,对于遮挡面积大于70%,或者不能准确显示车辆特征的不予标注;图像中出现的环卫作业车、公交车、大型客车、卡车等均不予标记,只对小型车给予标记。标记后图像相对应的xml文件中包含该图像的相关信息,以及目标检测对象名称相关信息,最后将此数据集xml格式文件转为csv格式,再转换为tfrecord格式,并使用已创建的label_map.pbtxt。
[0082]
使用上述处理后的bdd100k数据集,对mobilenetv3-large_ssdlite模型间训练与测试。训练环境如表2所示。在训练过程中,将学习率learning_rate设置为0.01,批大小、batch_size设为16,训练步数根据其收敛情况而定,并设置500步进行一次验证。修改学习率,将学习率learning_rate修改为0.005,0.001,0.0001,0.0003时,验证的步数设置为9000、12000、20000、30000。
[0083]
表2
[0084][0085]
将训练结果在bdd100k车辆测试集、“中国智能车未来挑战赛”数据集测试,对比测试结果选出合适的训练模型。将训练好的mobilenetv3-large_ssdlite模型转换为pd格式,然后通过tensorflow lite接口将pd格式转为tflite格式并进行metadata数据转换,最后
将目标检测模型移植于ivfc监测应用中,在应用于无人驾驶测试之前,在手机中进行实景测试。
[0086]
采用目标检测中常使用的准确率(accurancy)作为评价指标,其计算公式为:
[0087][0088]
式中:将车辆检测正确时则计为tp;将错检(非车辆目标检测为车辆)计为fp;将漏检(车辆目标检测为非车辆)计为fn;将非车辆目标检测为非车辆目标时计为tn。另外,在车辆目标检测结果中,其交并比(iou)大于等于0.5则检测正确,将其划分为tp;iou小于0.5将其划分为fp。iou的计算公式为:
[0089][0090]
其中:使用a表示正确检测框的面积,b表示同一物体模型检测框的面积。
[0091]
对每次训练后,计算模型在数据集中的损失值。在多次训练后,可以发现损失值随着训练次数降低,并且在恶劣天气、光线干扰强、光线严重不足的情况下,该模型可以有效检测远处小型车辆目标。
[0092]
基于跟车视角的车道线分割是实现违章压线判别的重要环节之一,在进行基于跟车视角的车道线分割模型训练时,使用百度的apollo scape lane segmentation数据集对模型进行训练,该数据集实现了像素级道路标注,标注种类包括四种行驶车道线、人行道、行车方向等。
[0093]
在该数据集中选取部分车道线构造清晰的图片10000张作为训练数据集,对该数据集处理包括:
[0094]
首先,对数据集进行了裁剪预处理,将宽度为3381,高度为2710的图像裁剪为宽度为3381,高度为1110的图片,即将图像的上部分区域中不包含分割目标的区域,如大量的建筑物、天空等非路面数据,进行删除,以节约训练成本。
[0095]
其次,将彩色标注图转为模型训练所需的灰度标注图,确定灰度标签所代表的值及其对应的类别。
[0096]
之后,将灰度标注图进行转换,将灰度值转为trainid,灰度图中只留下两种标签,车道线和背景,使用0表示背景,使用1表示车道线。
[0097]
接着,将裁剪后的原图以及处理后的标注图进行等比例压缩,压缩有助于节约训练时间成本、加快模型收敛。并且,在计算资源有限的情况下,压缩后的图片宽高分别为1127、370,能够节省大量计算空间、加大单次批处理大小batch_size。
[0098]
然后,将处理后的原图与灰度图分为训练集、测试集和验证集,各数据集所包含的图像数据量分别为:6000、2000、2000。
[0099]
最后,将标记结果图转换为tfrecord格式。
[0100]
在对“中国智能车未来挑战赛”数据集进行车道线标记时,先将1940张比赛图像转化为mask图片,再使用labelme软件这些mask图片进行标注,使用0表示背景,1表示车道线。
[0101]
将处理后的apollo scape lane segmentation数据集分为训练集、测试集、验证集,记录每个集合中包含的数据数量、数据集分类个数等。接着,对数据集像素进行统计,对不平衡数据进行权重分配。在训练过程中只使用了该网络网络结构,不使用预训练参数。训练的批处理大小batch_size为16,图像裁剪大小crop_size为“513
×
513”,基础学习率为
0.001,延迟decay为0.998。在训练中,根据训练结果收敛性对学习率进行调整,依次为:0.001,0.0005,0.0003,0.0001,0.0003,0.0006,0.01,共计训练80000步。
[0102]
对训练好的mobilenetv3-large_deeplabv3+模型在apollo scape lane segmentation测试集、“中国智能车未来挑战赛”数据集中进行了测试,在进行车道线分割结果评价时,使用iou作为评价指标,其计算方式同(2)。
[0103]
对每次训练后,计算mobilenetv3-large_deeplabv3+模型在数据集中的损失值。在多次训练后,可以发现损失值随着训练次数降低。从mobilenetv3-large_deeplabv3+模型应用结果可以看出,对于当前行驶在车道中车辆,能够检测出车辆两侧的车道线,并且车道线分割结果较好。由于裁判车一直跟在参赛车辆后方,因此只需要检测的车道线为裁判车所在车道两侧的车道线,故此结果可满足本发明需求。
[0104]
将训练好的车道线分割模型转换为转为tflite格式,然后将其部署到手机终端,即可实现手机终端对车辆检测和车道线分离,为车辆压线违章检测提供数据支持。
[0105]
在上述两个模型进行训练时,可使用tensorflow research models深度学习的接口来降低训练过程的复杂度。
[0106]
在一个实施例中,将上述训练好的模型移植到一个以红米10x安卓手机上进行车辆目标检测测试,一帧的平均检测时间约120ms,可以有效检测出前方车辆。进行车道线分割测试,一帧的分割时间约为130ms,可以有效检测出当前行驶车道两侧的车道线。
[0107]
在车辆检测结果中,选取其下边框中心位置作为车辆坐标,以防止检测结果过度依赖于检测框的大小,并基于帧间距离最近原则将车辆坐标进行分组;基于霍夫变换,将车道线分割结果转换为车道线方程。监测终端的图像,由于透视效应,图像中远处车辆到车道线的距离越来越近。通过将车辆与车道线进行逆透视变换,得到更加清晰的车辆与车道线的关系。之后,根据裁判车自身位置与车辆相对裁判车位置,计算得车辆在车道线中的坐标作为车辆观测坐标。进一步使用卡尔曼滤波对车辆目标进行跟踪估计,以解决车辆观测坐标不准确的问题。最后根据车辆与车道线间的相对距离进行压线判定,并提醒裁判。
[0108]
逆透视变换通过相机自标定实现。本发明中,使裁判车行驶方向与车道线方向相同,相机光轴与车辆行驶方向一致,然后利用车道线平行于相机中心轴的特性对相机进行自标定。
[0109]
在进行逆透视变换之前,由于车道线分割结果为像素点的集合,其结果并未表示为直线方程,因此,需要对分割结果进行进一步转换。霍夫变换是将直角坐标系下一条直线表达式转为(r,θ)坐标系。因此,经过一固定点的所有直线在(r,θ)坐标系下表示为一个点集,该点集的连线为一条正弦曲线。在(r,θ)坐标系下,两条正弦曲线交点则表示两个固定点所确定的直线。因为车道线分割后的车道线区域有一定宽度,因此对车道线检测结果进行了降采样,然后进行了霍夫变换,并将相近的直线进行合并,得到车道线方程。
[0110]
图像中的透视效应如图7所示,该透视效应可以转换为下述公式表达:
[0111][0112][0113]
其中:大地坐标系为(oxyz),图像坐标系为(oxyz),x和z是p点的坐标,x和y是p点的坐标,点p为点p在图像平面的投影,参数c表示图像平面到0的距离,z轴是相机的光轴。
[0114]
在大地坐标系(oxyz)中,假设车道线所在平面为xz,则其鸟瞰视角如图8所示。图中,坐标系(oxz)为地面,车道线平面为构建平面,该平面垂直于xz平面。将(oxz)绕y轴旋转θ0角度使之与车道线平面平行,得到坐标系(ox
′z′
),再将坐标系(ox
′z′
)平移z0距离,则可以与车道线平面重合。根据旋转平移运算,由上述透视效应公式可得到下述公式:
[0115][0116][0117]
上述方法中将车道线直线与图像平面的映射关系转换为求三个未知参数:θ、z和c。
[0118]
车道线如图9所示。为使用上述原理,首先将图像坐标系{a}中车道线转换为坐标系{b}中,两坐标系x轴相同,y轴平行,坐标圆点间距离为图像高度h。将车道线坐标系扯}的圆点逆时针旋转90度,然后向右平移h,得到车道线方程为下述公式:
[0119]
y=kx+b
ꢀꢀꢀ
(7)
[0120]
此时车道线方程为一条斜线,需要使用上述方法恢复其平行度,并将车道线上等距离的线段进行等距离映射。
[0121]
首先根据公式(5)与(6)以及逆透视变换可以得到下述公式(8)与(9)。
[0122][0123][0124]
由于直线上所有点投影之后均在一条直线上,将公式(7)代入公式(9)中,则可以得到公式(10),由于逆透视变换后y
′
为一个常数,设该常数为k。
[0125][0126]
根据公式(10)可以得知计算得θ、c以及z的值。即:
[0127]
tanθ=-kc=bz=kcosθ
ꢀꢀꢀ
(11)
[0128]
由于k与b可以在车道线方程中得出,即θ与c可以确定,只需设定k的值即可求得转换方程中z的值,k值可以根据实际需求自行设定。之后根据逆透视变换后两车道线间的距离,将图像平面中的像素距离转换为实际距离。一个实施例中的逆透视变换前后结果如图10a、图10b所示。
[0129]
由于卡尔曼滤波算法体积小、速度快,非常适用于嵌入式设备,本发明使用卡尔曼滤波器(kalman filter)对车辆进行位置跟踪估计。卡尔曼滤波器使用上一时刻状态对下一时刻的物体状态进行最优估计。卡尔曼滤波计算公式为(11)至(15),其中为第n步的先验状态估计,先验估计误差的协方差kn为卡尔曼增益,卡尔曼增益更新公式为(13),状态更新方程为(14),为第n步的后验估计,后验估计值为先验估计值与观测值的加权,后验估计误差的协方差pn,其方程为公式(13)。将公式(11)和(12)计算得n时刻的先验估计与先验协方差根据先验协方差计算卡尔曼增益、后验估计以及后验估计误差的协方差,然后,使用公式(13)、(14)、(15)的计算值,作为下一次先验状态,代入(11)和(12)中进行迭代。
[0130]
[0131][0132][0133][0134][0135]
在进行车辆跟踪前,本发明将车道线中间位置作为裁判车起始位置,并在车道中对比赛车辆进行持续性跟踪,连续10帧检测不到车辆与车道线则重新设置起始位置。之后,根据手机中的线性加速度计算裁判车相对起始位置的位移。
[0136]
在进行车辆跟踪时:
[0137]
首先,基于帧间距离最近原则对车辆检测结果进行分组,然后将车辆目标经过逆透视变换以及旋转变换后得到车辆相对裁判车的位置。其中,旋转矩阵中旋转角度根据当前车道线θn与起始位置θ0的差值获得。
[0138]
然后,根据裁判车自身位置与车辆相对裁判车的位置,计算得地面坐标系下的车辆观测坐标。
[0139]
最后,将车辆的状态矢量x表示为x、y表示车辆坐标,x、y表示车辆坐标,表示车辆在两方向的速度值。观测状态z表示为[x
z yz]
t
,xz、yz表示车辆观测坐标值。车辆的状态方程为公式(16),观测方程为公式(17)。其中,f为状态转移矩阵,h为观测矩阵,wn与vn分别为估计过程与测量过程中的高斯噪声,根据经验设置过程噪声矩阵q与r的值。上述卡尔曼滤波模型示例图如图11所示。
[0140]
xn=fx
n-1
+w
n-1 w
n-1
~n(0,q)
ꢀꢀꢀ
(16)
[0141]zn
=hxn+v
n vn~n(0,r)
ꢀꢀꢀ
(17)
[0142]
其中:
[0143][0144]
上述过程中,本发明通过逆透视变换、卡尔曼滤波得到了地面坐标系下的被测车辆与车道线的相对位置。然后通过公式(18)、(19)计算车辆到两侧车道线的距离,即计算点到直线的距离,如图12所示。在上述实施方式中,在车辆行驶方向下,当车辆到行驶道路左右两侧车道的距离比值小于1∶5时,判定为车辆压线,并对裁判进行提醒,同时将结果存储于服务器中,方便裁判进行赛后回放。
[0145]
ay+bx+c=0
ꢀꢀꢀ
(18)
[0146][0147]
为了验证上述方案的有效性,使用“中国智能车未来挑战赛”的比赛监测数据集进行了测试与验证,该数据集中裁判车对被测车辆进行一定距离的持续性跟踪。首先,从中提取出120分钟基于裁判车跟车视角的比赛车辆道路行驶,共计530次压线场景,然后对车辆发生压线行为的时间点进行了记录,最后将标记时间与测试结果时间进行了对比。由于车辆压线是一个行驶过程,且比赛车辆换道时过程较为缓慢,因此记录时间与标记时间相差3s以内均可视为检测正确。
[0148]
为进一步验证上述方案的效果,分别在城市道路、城镇道路中进行实验。其中,在城镇道路进行实验时,本文使用两辆车在车道线清晰且无行人的安全区域模拟裁判车跟车监测场景,在裁判车中放置安装了ivfc监测应用的手机终端,对前方车辆进行压线判别。此次城市道路实验共计85分钟所含500次压线场景;城镇道路实验共计325分钟,所包含2000次压线场景。
[0149]
实验量化结果如表4所示。图13a、图14a分别为城市、城镇实景图,图13b、图14b为图13a、图14a对应的压线提醒。
[0150]
表4
[0151][0152]
车辆压线判别是一个分类模型,因此本发明使用准确率对检测效果进行描述,使用漏检率和误检率对检测效果进行进一步说明,其中漏检率和误检率计算方式为公式(20)和公式(21),其中漏检计为fn、压线行为检测正确计为tp、将错检计为fp、非压线行为检测正确时为tn。对于表4中所示的上述数据集的量化结果,准确率均在75%以上,可以达到提醒裁判人员进行压线判别的目的。
[0153][0154][0155]
此方法在车道线污染严重的施工路段由于车道线检测效果不理想,在车道线清晰的路段压线检测效果良好。
[0156]
综上,在上述实施方式中,本发明以测试场调度指挥中心为平台,借用电信公网构建测试场监测网络,大量部署安卓手机作为可移动路侧和车载信息采集终端的无人驾驶车辆监测系统。并在监控终端中加入车辆压线行为检测,以提高监测质量。本发明提出的无人驾驶测试监测系统可便捷部署,相较于目前无人驾驶场地搭建的大量固定路侧监测设备以及wifi全覆盖的方式,该系统灵活便捷、经济适用。基于安卓终端的ivfc监测应用,并使用安卓相机、javacv、gps、yuv、以及位图等技术完成了数据采集处理功能和同步时间戳、地点戳功能;设计实现了基于nginx、springboot和mysql的服务器,并通过对nginx中rtmp模块、http模块的配置,实现了具有视频传输、转播、存储以及视频定点播放等功能的流媒体服务器,通过springboot、mysql、html、css以及javascript等技术实现了信息管理服务器。通过搭建高可用集群,还可满足多路视频的实时传输、存储、转播与回看。所述系统在为无人驾驶评价提供数据支撑保障的同时,显著降低了裁判人员工作强度。采用预设的mobilenetv3_ssd和mobilenetv3_deeplabv3+模型,可在计算有限的监测终端进行车辆检测与车道线分离,利用卡尔曼滤波完成了对被测车辆的跟踪估计,然后基于道路坐标系下的被测车辆与车道线的相对位置进行压线判定,能有效辅助裁判提高违章压线行为的判别效率和质量。在所述系统中,还可加入闯红灯,超速,碰撞等更多违章自动检测功能,可进一
步用于减轻裁判工作量,减少裁判人员配置。
[0157]
本发明所提出的系统,也可适用到专业的无人驾驶测试当中,代替现有的监测系统。本发明中的违章自动检测功能也可以应用于交通管理系统中。
[0158]
在本发明中,预设的mobilenetv3_ssd和mobilenetv3_deeplabv3+模型可被其它轻量型神经网络模型代替。通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本公开可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用cpu、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本公开而言更多情况下,软件程序实现是更佳的实施方式。
[0159]
尽管以上结合附图对本发明的实施方案进行了描述,但本发明并不局限于上述的具体实施方案和应用领域,上述的具体实施方案仅仅是示意性的、指导性的,而不是限制性的。本领域的普通技术人员在本说明书的启示下和在不脱离本发明权利要求所保护的范围的情况下,还可以做出很多种的形式,这些均属于本发明保护之列。
技术特征:1.一种无人驾驶测试监测系统,所述系统包括监测终端、服务器,其特征在于:所述监测终端集成了摄像头、定位功能且能够连接通信网络;所述监测终端,被配置用于无人驾驶测试中监测视频采集,对监测视频中的图像进行车辆压线违章检测,并将违章信息发送给服务器进行存储;同时对监测视频进行解析,标记时间戳和地点戳后,进行编码压缩后推送给服务器;所述服务器包括信息管理服务器、支持高并发的流媒体服务器;所述流媒体服务器,被配置用于视频接收、存储、转播和定点播放;所述信息管理服务器包括数据库,被配置用于违章信息和视频信息的存储与检索,验证视频监测的开启与关闭。2.根据权利要求1所述的系统,其特征在于,所述监测终端置于裁判车中实现跟车视角监测,或者置于路侧实现道路监测。3.根据权利要求1所述的系统,其特征在于,所述对监测视频进行编码压缩并推送给服务器,包括下述步骤:将获取的推流地址设置为推流通道;获取编码格式;将采集到的yuv格式图像转为rgb格式图像后,按编码格式进行编码压缩,然后通过推流通道推流到服务器。4.根据权利要求1所述的系统,其特征在于,所述标记时间戳和地点戳,包括:获取gps时间、gps地点坐标,并用位图编码表示;依次获取位图编码,若编码值为“1”,则计算其在采集的视频图像中的对应位置,将该位置中的y分量进行修改,从而将时间戳或地址戳融合在采集的视频图像中。5.根据权利要求1所述的系统,其特征在于,所述车辆压线违章检测包括下述步骤:采用预设的车道线分割模型对视频图像中的车道线进行分割,将车道线分割结果转换为车道线方程;基于车道线方程,进行逆透视变换,获得两车道线间的距离;采用预设的目标检测模型识别视频图像中的车辆目标进行检测,并使用卡尔曼滤波对车辆目标进行跟踪估计;根据车辆与车道线间的距离,判断是否进行压线标记,若进行压线标记,则生成提示信息。6.根据权利要求5所述的系统,其特征在于,所述根据车辆与车道线间的距离进行压线标记,包括:在车辆行驶方向下,当车辆到行驶道路左右两侧车道线的距离比值小于1∶5时,进行压线标记,在所述标记中记录压线行为时间和地点。7.根据权利要求5所述的系统,其特征在于,所述预设的目标检测模型采用mobilenetv3-large_ssdlite模型;预设的车道线分割模型采用mobilenetv3-large_deeplabv3+模型;所述mobilenetv3-large_ssdlite模型、所述mobilenetv3-large_deeplabv3+模型在训练好后转换为tflite格式,移植到监测终端。8.根据权利要求5所述的系统,其特征在于,所述将车道线分割结果转换为车道线方
程,包括:对车道线分割结果进行降采样,进行霍夫变换,并进行相近的直线拟合合并,得到车道线方程。9.根据权利要求5所述的系统,其特征在于,在使用卡尔曼滤波对车辆目标进行跟踪估计之前,包括:基于帧间距离最近原则将车辆坐标进行分组,将车辆目标经过逆透视变换以及旋转变换后,得到车辆相对裁判车的位置,裁判车的位置由监测终端基于裁判车的起始位置计算获得;根据裁判车的位置与车辆相对裁判车的位置,计算得车辆在车道线中的位置为车辆观测位置,并将其作为卡尔曼滤波进行跟踪估计的输入。10.根据权利要求1所述的系统,其特征在于,所述监测视频采集,包括:基于监测终端生成的通用唯一识别码和获取的监测所需信息,进行监测申请;在收到服务器授权后,在监测终端能够选择开始监测或结束监测;当选择开始监测,监测终端开始进行监测视频采集。
技术总结本发明涉及一种无人驾驶测试监测系统,包括服务器和集成了摄像头、定位功能且能够连接通信网络的监测终端;所述监测终端,被配置用于无人驾驶车辆的监测视频采集,对监测视频中的图像进行车辆压线违章检测,并将违章信息发送给服务器存储;同时对监测视频进行解析,加定位时间戳和地点戳,进行编码压缩后推送给服务器;所述服务器包括流媒体服务器、信息管理服务器;所述流媒体服务器,被配置用于视频接收、存储、转播和定点播放;所述信息管理服务器用于违章信息和视频信息的存储与检索,验证监测的开启与关闭。所述系统具有易部署性、实时观测性、高并发量,且能自动检测车辆压线违章行为,降低裁判工作强度。降低裁判工作强度。降低裁判工作强度。
技术研发人员:徐林海 王芳芳 陈蓉 张童菲
受保护的技术使用者:西安交通大学
技术研发日:2022.06.23
技术公布日:2022/11/1