余荣杰,赵岁阳,董浩然
(1. 同济大学 道路与交通工程教育部重点实验室,上海 201804;2. 新加坡国立大学 土木工程系,新加坡 117576)
自动驾驶汽车作为具有环境感知、规划决策、控制执行等功能的自动化物理信息系统,目前正处于规模化开放道路测试与示范运行服务阶段。然而,美国加州的自动驾驶汽车开放道路测试安全报告表明,在自动驾驶脱离事件中,系统故障是最常见的脱离原因,而系统故障中,感知系统故障占据主要原因[1]。自动驾驶汽车通过摄像头、雷达等多源传感器进行环境感知,其中基于摄像头的视觉感知作为图像信息密度最高的传感器,是自动驾驶汽车中不可或缺的核心模块[2],而自动驾驶汽车与人类驾驶者的视觉感知机理、视觉认知局限等存在明显差异[3]。因此,自动驾驶汽车的规模化推广应用,需从自动驾驶汽车视觉感知视角开展道路优选、场景评估等相关研究。
目前,国内外已经开展面向自动驾驶汽车的道路分级方法、驾驶要素场景评估等研究。2014年Nitsche等[4]通过文献调研与网络问卷对自动驾驶汽车驾驶环境中的道路标线、交通标志、天气状况等多要素展开安全性评估研究。2018年北京市发布的《北京市自动驾驶车辆测试路段道路要求(试行)》[5]根据驾驶场景特征指标对自动驾驶测试路段道路进行评估分级。2018年深圳市制定的《深圳市智能网联汽车道路测试开放道路技术要求(试行)》[6]将人、车、路、环境等4类因素纳入到道路交通复杂度评价中。2018年Roxas等[7]从计算机视觉感知角度出发,对驾驶环境中交通标志的认知效果进行评估,以维持道路中交通标志系统的标准化。2019年Lu等[8]通过开展自动驾驶汽车驾驶场景评估,对道路标线、交通标志、交通信号灯等感知要素提出标准化的要求。然而,上述道路分级方法是从驾驶场景特征进行定性分级,尚未形成系统化、标准化的评价方法,而场景要素评估侧重于静态驾驶环境,忽略动态驾驶环境的影响。因此,本研究从自动驾驶视觉感知的角度出发,开展道路驾驶环境视觉感知复杂度评估,根据视觉感知结果实现道路视觉感知复杂度分级。
考虑到现阶段自动驾驶道路测试受到交通管制、样本量、成本等条件限制,本文以计算机视觉模拟自动驾驶汽车环境感知,从视觉感知结果出发,针对城市路网展开驾驶环境视觉感知复杂度研究。主要内容包括构建自动化街景图像数据提取平台,获取上海市典型城市道路街景图像样本数据;针对感知关键要素构建驾驶环境要素感知平台,并以感知准确率作为感知精度评估指标,采用熵权法对感知关键要素进行赋权计算综合感知准确率;基于K-means++聚类算法对综合感知准确率进行分级,建立城市路网驾驶环境视觉感知复杂度分级标准。
自动驾驶汽车环境视觉感知的测试数据源是以城市道路为单元、街景图像为单位,要求图像清晰连续,能表征道路的整体特性。为此,以百度街景地图作为车载视角的驾驶环境图像数据源,搭建自动化街景图像数据提取平台,在脚本文件与截图工具PicPick的基础下,采用连续截取、自动保存的方式获取指定道路街景图像数据集,实现图像高效获取以及数据连续性,技术路线如图1所示。在自动化提取平台下,图像获取速度可达到20~25 张/min,图片为PNG格式,分辨率为851×610。
图1 自动化提取平台技术路线Fig.1 Technical route of automated extraction platform
以上海市路网为例,选取50条典型道路,在自动化提取平台中得到8 919张驾驶环境数据,图像平均截取距离在10 m左右。由于街景图像具有景深,延伸范围远超过10 m,因此,10 m左右的平均截取距离能表征道路驾驶场景的完整信息。
1.2.1 驾驶环境要素感知平台
驾驶环境作为自动驾驶汽车规划决策的信息依据,包括静态驾驶环境、动态驾驶环境两大类[9]。静态驾驶环境主要有交通标志、标线,动态驾驶环境主要有红绿灯、车辆、行人、天气。2018年北京市出台的《北京市自动驾驶车辆道路测试能力评估内容与方法(试行)》与上海市出台的《上海市智能网联汽车道路测试管理办法(试行)》在自动驾驶汽车测试内容、评估项目上虽有所区别[10],但在感知层面集中在交通标志、交通标线、红绿灯、车辆、行人5方面。因此,针对这5类感知关键要素,参照现有典型识别技术及算法构建驾驶环境要素感知平台。行人方面,方向梯度直方图+支持向量机(HOG+SVM)的方法被认为是行人检测的标准方法[11]。车辆方面,2016年Fan等[12]采用快速卷积神经网络进行车辆识别,在kitti数据集下不同车辆检测难度的准确率依次为95.14%、83.73%和71.22%。红绿灯方面,2016年Moizumi等[13]基于RGB色彩空间分割实现信号灯识别,该识别流程简单,漏检较少,拥有较高的识别效果。交通标线方面,2017年郭笙听等[14]基于Hough变换和卡尔曼滤波进行车道线识别,车道线检测准确率可达94%,对不同路况、光照条件下的车道线均具有较好的适应性。交通标志方面,2019年Rajendran等[15]采用YOLO v3物体检测算法对德国交通标志检测识别数据集进行检测,平均精度均值mAP达到92.2%,具体算法及原理如表1所示。并对街景图像进行感知测试,测试样例如图2所示。
表1 感知关键要素识别算法及原理Table 1 Recognition algorithms and principles of perception key elements
图2 感知关键要素测试样例Fig.2 Test samples of perception key elements
1.2.2 交通要素感知评估方法
视觉感知复杂度评估需要通过量化要素感知精度实现。对于行人、车辆、红绿灯、交通标志,感知检测方法是确定要素轮廓,常采用精确率、召回率、准确率、F1分数等作为算法识别度量指标。在上述评价指标中,准确率是被正确预测为正例数与全部样例的比值,能反映算法识别的真实水平。一般机器学习性能评估时,数据集通常包括正负样本,预测结果以图像数为单位。而实际道路感知准确率计算时,并不存在正负样本的分组对照,无需考虑将负例正确预测为负例(nTN)的情况,并且单张图像中可能包含多个同一要素,因此,行人、红绿灯、交通标志以及车辆的感知精度是以要素个数为单位,感知准确率(perception accuracy)P计算公式如下:
(1)
式中,nTP为将正例正确预测为正例的要素个数,nFN为将负例错误预测为正例的要素个数,nFP为将正例错误预测为负例的要素个数。
交通标线的检测方法是拟合车道标线,识别评判方法有横向偏差、角度偏差、重叠道路区域等,但缺乏统一的判断标准[20]。根据《公路项目安全性评价规范》[21],车道保持是车辆行驶尤其是在平曲线段行驶的主要目的,而横向偏移常被用来表征横向位置的稳定性[22],但对于偏离大小的标准,实际上没有明确的规定。为此,借鉴自动驾驶横向控制下车道保持的安全距离175 mm作为偏移阈值[23],从自动驾驶感知的视角判断识别结果能否支持汽车的横向控制。而自动驾驶车辆横向偏差是由感知偏差和控制误差等诸多误差叠加,目前自动驾驶横向控制误差最大在100 mm左右[24],同时车道标线宽度为150 mm。因此,从车道标线中心线出发,车道识别值与真值之间相对位置的容许横向偏移范围为(-150,150)mm,当视觉偏差在该范围内即可实现车道保持的目的。基于逆透视变换生成车道标线鸟瞰图,如图3所示。判断单边车道标线完全处于横向偏移容许范围内以及虚实线判断是否正确,单边车道标线感知准确率结果为0/1分布,以左右侧准确率平均值作为车道标线感知准确率:
(2)
图3 车道识别鸟瞰图Fig.3 Bird′s eye view image of lane detection
基于驾驶环境要素感知平台以及单要素感知准确率计算方法,对上海市50条典型道路8 919张街景图像数据进行单要素感知精度量化,感知准确率结果如图4所示。
图4 感知关键要素感知准确率Fig.4 Perception accuracy of perception key elements
在各类要素感知精度的基础上,为构建综合性视觉感知复杂度指标,需探索多要素融合和综合等级划分等方法。鉴于自动驾驶汽车运行算法的黑箱特征,目前暂无法得知自动驾驶汽车视角下驾驶环境中各要素相对重要程度。考虑准确率及其波动性是复杂度评估的两个重要维度,而熵权法是根据各指标差异程度确定权重的客观赋权方法[25],可以将各要素感知准确率波动性纳入评估中。因此,本文采用熵值法建立了波动性数据驱动下的客观权重赋值技术方法。熵值法要素赋权步骤如下。
意识形态的认同对于国家统合具有重要的影响。国民党执政时期,对于国民党思想和组织的统合,对于知识界认同的争取、民众情感与信仰的凝聚均不算成功。王世杰在1943年2月18日的日记中写道:“今晚为新生活运动九周年纪念之前夕,蒋先生在纪念会上作甚长之演说。听众虽俱为中央委员或新生活运动会干部分子,但予总觉彼等内心对于此一运动仍缺乏笃行与身体力行之诚意。总干事以黄仁霖充任,似只能作若干表面的工作,不能使一般知识界对于此一运动增加其注意与敬重”㊶。可见,无论是党内,还是党外,国民党的意识形态宣导都不能发挥其作用。
(1)构建要素数据矩阵。根据m条道路n类要素感知准确率数据,组成初始要素数据矩阵A。
(3)
式中,Pij为道路i要素j的感知准确率,m为道路数,n为要素个数。
(2)计算要素j下道路i的感知准确率占所有道路的比例rij。
(4)
(3)计算要素j的信息熵值ej。
(5)
式中,k为常数,k=1/lnm。
(4)计算信息效用值。信息效用值dj又称信息熵冗余度,取决于信息熵值ej与1之间的差值。
dj=1-ej。
(6)
(5)根据各要素的信息效用值计算权重wj。
(7)
在上海市50条典型道路5类感知关键要素的感知准确率数据下,根据熵权法的基本步骤,计算各感知关键要素权重,结果如表2所示,综合感知准确率(integrated perception accuracy)I计算公式如下:
I=0.18Proad marking+0.27Ptraffic light+0.16Ptraffic sign+0.20Ppedestrain+0.19Pvehicle,
(8)
表2 感知关键要素权重Table 2 Weight of perception key elements
从权重结果可以看出,各要素权重均分布在0.20左右,由此可见各要素感知结果的一致性较为接近,从图4中也可以看出,各要素的波动范围较为集中,重叠区域较多。各要素横向对比可知,红绿灯识别的一致性较差,感知准确率分布范围在[0.25,1],相应的权重最大,为0.27。
由于视觉感知复杂度是由多因素构造而成的新指标,难以通过人工标注进行等级划分。因此,采用非监督学习方法进行分级,该方法常用于分级问题的类别自动划分[26],其中,K-means聚类因其原理简单、收敛速度快在分级评估中应用广泛,但存在聚类簇数K需提前给定、初始聚类中心选取存在随机性等问题。为此,采用轮廓系数法和K-means++聚类作为视觉感知复杂度分级方法。
轮廓系数法是根据数据对象间的相似性或距离评估聚类质量的度量指标,包括聚类簇内的凝聚度ai与簇间的分离度bi。其中,凝聚度ai是道路i的综合感知准确率Ii与同属簇其他样本的平均距离,分离度bi是道路i的综合感知准确率Ii到最近簇中所有样本的平均距离,则道路i的轮廓系数si为:
(9)
所有样本道路轮廓系数平均即为平均轮廓系数SK:
(10)
式中,K为聚类簇数,m为样本道路数。
基于轮廓系数计算步骤以及综合感知准确率数据,得到不同聚类簇数K下平均聚类轮廓系数SK,如表3所示。结果表明,最佳聚类簇数为K=3,S3=0.577 4,对应的轮廓系数图如图5所示,图中每个蓝条代表一条道路。
表3 不同聚类簇数K下轮廓系数Table 3 Silhouette coefficient under different clustering numbers K
图5 轮廓系数K=3的轮廓图Fig.5 Silhouette graph with silhouette coefficient K=3
K-means++聚类算法主要是优化了K-means聚类的初始聚类中心选取方式,以保证聚类中心之间的距离尽可能远为原则[27],避免因初始聚类中心的随机性变动出现局部最优解,后续聚类迭代方式与K-means聚类一致,具体步骤如下:
(1)从样本道路综合感知准确率数据I=(I1,I2,…,Ii,…,Im)中随机选取某一数据作为初始聚类中心c1。
(2)计算综合感知准确率Ii与已有聚类中心ca之间的距离D(Ii)以及被选为下一个聚类中心的概率Pi,并用轮盘法产生随机数确定下一聚类中心。
D(Ii)=Ii-ca,
(11)
(12)
(3)重复步骤(2)直到选出K个初始聚类中心C=(c1,c2,…,ca,…,cK)。
(4)根据与初始聚类中心的距离D(Ii),划分综合感知准确率Ii至最近聚类中心类簇中,得到类簇为(y1,y2,…,ya,…,yK),样本数为(d1,d2,…,da,…,dK)。
(5)重新计算各类簇ya的聚类中心c′a,迭代计算直至聚类中心C′不再变动,即为最终聚类类簇。
(13)
根据聚类簇数K=3以及上述K-means++聚类步骤,对样本道路综合感知准确率数据进行聚类分级,结果如图6所示。采用综合感知准确率分级区间表征视觉感知复杂度等级(visual perception complexity level)L,如表4所示。
图6 视觉感知复杂度分级道路编号Fig.6 Classification of visual perception complexity
表4 视觉感知复杂度分级标准
从结果可以看出,上海市道路驾驶环境视觉感知复杂度分为三级,其中大部分样本道路的视觉感知复杂度等级位于2级,占到44%,视觉感知复杂度等级为1级与3级的道路数量接近。由此可见,在自动驾驶汽车视觉感知层面上,样本道路整体处于中等水平。为了分析不同的设计建造标准是否会导致自动驾驶汽车视觉感知复杂度的差异,在不同等级道路间进行感知准确率与视觉感知复杂度对比,绘制感知准确率箱线图与视觉感知复杂度直方图,如图7所示,并进行方差分析,结果如表5所示。
图7 不同等级道路综合感知准确率箱线图和视觉感知复杂度等级直方图Fig.7 Integrated perception accuracy box plot and visual perception complexity histogram for roads of different grades
表5 不同等级道路综合感知准确率和视觉感知复杂度方差分析
从箱线图与直方图结果可以看出,主干路支路之间的综合感知准确率、视觉感知复杂度差异较为明显,而次干路与支路间的差异不大,其中支路与次干路的综合感知准确率整体高于主干路,支路视觉感知复杂度整体低于主干路。而方差分析结果显示,主干路与支路间的综合感知准确率与视觉感知复杂度均存在极显著差异,而主干路与次干路间的综合感知准确率存在边缘显著差异,可能是由驾驶环境的差异性所致,支路的驾驶环境组成同主干路相比相对简单,环境因素对自动驾驶汽车感知功能的干扰较小,因此支路的视觉感知复杂度整体水平比主干路低。而主干路与次干路在交通功能存在部分重叠,驾驶场景的差异区分度不够,因此主干路与次干路在综合感知准确率上存在边缘显著差异。而进行不同等级道路下各要素感知准确率方差分析时发现,除支路与主干路、次干路在红绿灯感知准确率上存在显著差异外,其余要素感知准确率在不同等级道路间并不存在显著差异,由此可以确定,道路等级不是造成视觉感知复杂度分级的主要因素。
本文从自动驾驶汽车感知角度出发,建立了普适性的城市路网驾驶环境视觉感知复杂度量化评估方法。通过搭建自动化街景图像数据提取平台,实现了图像数据连续性以及高效获取,得到了上海市道路街景图像数据。选取驾驶环境中行人、交通标志、交通标线、红绿灯、车辆作为感知关键要素构建驾驶环境要素感知平台。在各要素感知准确率结果的基础上,建立驾驶环境视觉感知复杂度量化模型。模型结果显示,上海市50条典型道路驾驶环境视觉感知复杂度可分为三级,视觉感知复杂度整体处于中等水平,并且支路与次干路的综合感知准确率整体高于主干路,支路视觉感知复杂度整体低于主干路,并确定道路等级不是造成视觉感知复杂度分级的主要因素。
本文研究成果可为自动驾驶汽车开放测试以及运营提供城市道路优选指导,同时也可以作为城市道路驾驶环境优化的参考依据。但由于目前没有按驾驶环境分类的数据集,而实车试验验证感知复杂度分级的方法存在诸多限制条件,因此,目前暂时无法对视觉感知复杂度分级结果进行验证。同时,本研究是从自动驾驶汽车视觉感知角度开展驾驶环境视觉感知复杂度研究,而实际上自动驾驶汽车环境感知系统中集成了摄像头、毫米波雷达、激光雷达、超声波雷达等多样化的感知单元,在未来可以结合雷达数据开展更为全面的感知复杂度研究。