当前位置:首页 期刊杂志

基于棒状像素与随机森林的道路场景理解

时间:2024-05-04

柳 明, 黄影平, 胡福志

(上海理工大学 光电信息与计算机工程学院, 上海200093)

0 引 言

棒状像素(Stixel)模型是表达交通场景的一种有效方法。 每个棒状像素宽度占据几个像素,垂直于地平面且具有一定高度。 Badino 等人首次提出棒状像素模型,依据立体视觉图像计算占据栅格图,获取棒状像素的基点信息,使用灰度代价函数计算前景与背景边界,以确定棒状像素的高度[1]。 Chen 等为了避免视差模糊带来的误差,提出了一种基于U视差的棒状像素建立算法,有效提高了部分场景下的估计精度[2]。 棒状像素模型以其紧凑的3D 表达优势,能很好地实现对道路场景中各种障碍物的检测,因此被广泛采用。 尽管如此,现有的棒状像素模型只是解决了对障碍物的检测任务,没有对各类障碍物进行辨识并进行类别标注。 本文的主要工作是在棒状像素检测模型的基础上,进一步对棒状像素进行语义标注。

对于视觉方法,交通场景理解的目的是将语义类标签分配给图像中的像素或者区域。 如Carreira等、 Ladický 等的自由形态区域分类和Cheng 等的区域像素级分类,采用自下而上的方式操作且通常不会恢复对象级的场景表示[3-5]。 在这种情况下,密集特征和无序模型(BOF)被证明有效[6],其步骤包括:自由形状区域内的局部特征提取,给定区域内所有特征的编码和空间池化,以及随后的混合特征向量的判别分类。

在优化棒状像素估计方面,Sanberg 等扩展了一个在线的自监督颜色模型,以便更好地分离地面和障碍物[7]。 与他们的工作不同,本文提出的棒状像素级语义标签生成算法使用类标签来增强棒状像素表示。 两种方法都能在一定程度上解决视差图误差或稀疏时,棒状像素算法产生错误估计的问题。 但本文的方法在棒状像素优化的同时,还为其添加了语义信息。

1 方法描述

1.1 总体框架

图1 为算法的总体框架图。 首先从原始彩色图中获取色彩与纹理特征,从原始图像的视差图中获得像素级的高度特征。 以颜色、纹理和高度为特征,使用随机森林分类器来实现像素级特征通道至语义标签的映射,将可行驶区域以上的场景分为障碍物(包括建筑物、车辆、行人)、植物和天空三大类,实现像素级语义表达。 像素级语义图中的可行驶区域(道路区域)通过棒状像素图[2]获得。 将棒状像素位置信息融合至像素级语义图,用类别标签来优化每个棒状像素的顶点估计,然后以其内部像素的优势类来判定类别,得到语义棒状像素图。

1.2 像素级特征提取

1.2.1 颜色特征

为了去除图像的绝对强度,只保留相对的颜色信息,对RGB 图像应用以下两个转换:

光照不变性: Ratnasingam 等[8]编码了特定日光光谱的色度。 在光谱为黑体光谱的前提下,定义了从RGB 到单通道光照不变图像的映射。

图1 算法框架图Fig. 1 Framework of the algorithm

其中,α 的值须根据每个相机传感器的特点确定。 其证明与直接使用RGB 图相比,该方法具有更强的鲁棒性。 图2(b)为其可视化结果。

RG 色度: 对每个像素的RGB 值进行归一化处理。 此转换方法减弱了阴影等强度变化,加强了植被和天空的颜色。 图2(c)展示了经过这种标准化处理后的示例。

光强:CIELab 图相比于RGB 图更加符合人类的视觉特点,选用其中的L 分量来编码一些在日光下具有典型光强等级的类别。

1.2.2 纹理特征

Gabor 滤波器[9]由一组基本滤波器线性组合而成,简单哺乳动物大脑视觉皮层的细胞可以通过Gabor 函数进行建模。 Gabor 基本滤波器gmn(x,y) 由它的尺度和方向确定:

其中:g(x′, y′) 为二维Gabor 函数, a 为一个固定的尺度因子,m 是尺度参数,n 是方向参数, K是总的尺度数目,L 是总的方向数目。

选用4 个方向参数n(n =0°,45°,90°,135°) 和3 个尺度参数m(m =3,4,5), 采集窗口尺寸设为5×5个像素,应用Gabor 滤波器至彩色图YCbCr 颜色空间的明度分量Y 上,取得到的12 个子带系数中绝对值最大的系数值作为相应像素的纹理特征,结果见图2(d)。

1.2.3 高度特征

几何高度:将像素点的图像坐标(u,v) 转换为世界坐标(Xw,Yw,Zw)[10],并选用其中的Yw分量作为像素距离道路面的高度特征。

φp为双目相机的安装俯仰角, ( Cx,Cy,Cz)T为双目相机在世界坐标系下的三维坐标。 (Xc,Yc,Zc,1)T为相机坐标系下的齐次坐标。 图像坐标到相机坐标的投影关系,Zc为目标至相机的距离,与视差d 成反比,满足Zc= fxb/d。 其余参数与双目相机的内部结构有关,称为相机内部参数,必须通过相机标定才能得到。fx=f/ dx与fy=f/ dy为经过像素尺寸归一化后的相机焦距,(u0,v0) 为图像坐标原点:

特征提取结果如图2(e)。

像素位置:选用像素距道路平面的垂直高度作为高度特征的补充,道路平面由U 视差探测的可行驶区域[2]确定。 检测到的可行驶区域如图2(f)。

图2 部分特征通道可视化Fig. 2 Visualization of some feature channels

1.4 分类方法

所用算法为基于CART 的随机森林分类器[11]。节点处选取分裂特征的准则为Gini 指数。 其作为熵的一阶近似,值越小表明划分越正确。 pk为某一节点的样本集D 在按某一特征的某个特征值划分后,类别k 的样本所占的比率,K 为总的类别数:

具体训练过程如下:

(1)采用随机且有放回的方式(Boostrap[9])从总训练集S 中抽取总数2/3 左右的样本,生成子集Si。

(2)使用子集Si生成决策树:

①随机从总特征集M 中选取n 个特征(n ≤M);

②每个节点处,对每个特征的数值型取值采用“二分法”划分样本。 依据式公式(6),从n 个特征中选最优分裂特征以及其最优的划分值;

③以“完全分裂”方式生成决策树。

(3)重复(2)步骤使得所有样本均到达叶子节点或子样本集不能再分裂为止。

(4)重复(1)~(3)建立预设数量的决策树,形成随机森林。

1.5 棒状像素拓展

以像素级语义标签作为输入,对原始Stixel[2]表达进行拓展。 单纯依据深度信息进行Stixel 的估计是具有局限性的,在一些视野较宽的道路场景中,稍远区域的障碍物与天空由于纹理信息缺失,双目图像立体匹配会出现错误,此时视差信息变得不可靠,前后景无法有效区分,导致Stixel 的高度估计出现明显的失真。 本文在文献[2]算法的基础上引入语义信息来更好的进行高度估计。

U 视差图I1中的一点M∗(u,d,n) 在原始视差图 I2中 有 多 个 对 应 点( u1,v1,d1) ,( u2,v2,d2) ,…,( us,vs,ds) 。 在原方法的投影条件最后加入语义信息约束:

L ( ui,vi) 为语义标签图L 对应位置 ( ui,vi) 的语义类别,Cobstacle为障碍物,即语义标签中的障碍物大类与植物。 通过在I2的第p 列搜索具有视差为b的点,并借助语义信息排除明显属于非障碍物的对应点,即可得到全部前景障碍物相关的图像坐标点集。

2 实验结果与分析

选用KITTI 数据集[12]进行算法评估,实验硬件配置为Intel Xeon(R) Silver 4110,实验软件环境为VS2013+Python3.0。 像素级RF 分类器的训练与测试选用KITTI 数据集中的pixel-level semantics 序列,此序列提供了带有像素级语义标签的测试集与训练集。 对于光照不变性特征,设置α =0.48。

像素级分类结果采用交并比评价指标:

其中,TP(True Positive)为将正例判断为正例的样本数,FP(False Positive)为将反例判断为正例的样本数,FN (False Negative)为将正例判断为反例的样本数。

2.1 RF 分类器的参数确定与像素级分类结果

RF 分类器执行时间与分类性能取决于两个主要参数:树棵数与树深度。 从像素级训练集中随机选取10%的平衡样本作为调节参数的验证集。 实验选用所有特征通道,针对所有类别,在保持其中一个参数不变,逐渐变动另一个参数的策略下进行参数选取。 当使用35 棵数、树深25 时,分类性能达到一个稳定水平。

对于像素级分类器,为了定量分析每个特征通道对总体分类性能的影响,首先使用所有特征通道来测试模型的分类性能,由于总体像素过多,此处将分类结果化为占对应实际类别总数的百分比,得到了表1 的混淆矩阵,其中使用了交并作为比评价指标。 从表中可见,有7.1%属于障碍物类别的像素被误分为了天空,这是因为有些建筑或者白色车辆的光照具有高饱和度,导致错误分类。 有些场景下部分植物区域与障碍物区域的阴影较深,导致分类器无法进行有效区分。

表1 使用了所有特征通道的像素级分类混淆矩阵(%)Tab. 1 Confusion matrix using all pixel-level feature channels

采取每次只排除一个特征或只留下一个特征的策略来测试特征的显著性。 从表2 可以看出一旦只剔除像素的几何高度特征后,相比剔除其他的特征,平均IoU 下降最明显,即说明几何高度特征明显提高了分类性能,是最显著的特征。 关于颜色特征,由表2 可见,只剔除RG 色度通道相比只剔除光照不变性通道后下降的平均IoU 更多,且只保留前者的平均IoU 更高,即RG 色度通道携带了更重要的分类信息。 以同样方式分析可知,纹理通道明显对分类贡献最低,将其归因于整合多个纹理通道时损失了一定的有效信息。

在Stixel 估计方面,本文算法优化了Stixel 算法[2]的顶点估计。 根据文献[2]对棒状像素顶点误差的定义,选用KITTI 数据集[10]中城市、校园、居民区、道路四个场景下的图像序列进行平均顶点误差的计算,两种方法的平均顶点误差对比如表3 所示。由表3 可知,道路场景下的棒状像素顶点估计精度有所提高。

表2 像素级分类不同特征通道组合的混淆矩阵(%)Tab. 2 Confusion matrix of different feature channel combinations Pixel-level classification results

表3 拓展Stixel 与原始Stixel 的顶点估计误差比较Tab. 3 Comparison of top - point estimation error between extended Stixel and original Stixel

图3 为本算法应用于KITTI 中两个场景的实验结果。 每个场景从左至右分别为原图、初始Stixel图(颜色表示深度,不代表类别)、像素级语义标签图(颜色代表类别,分为天空、植物、障碍物大类)、语义Stixel 图(颜色代表类别,分为背景、植物、障碍物大类)。 在上述图中,浅蓝色为天空,绿色为植物,土红色代表障碍物大类,紫色代表根据原Stixel[2]得到的自由空间,灰色为Stixel 分类后确定的背景区域。

3 结束语

本文在前期棒状像素检测的基础上,进一步提出了一种能够实现棒状像素语义标注的方法。 此算法既充分利用了棒状像素的障碍物检测优势,又实现了在道路场景中对各类前景障碍物的语义理解,优化了原有的棒状像素估计。

图3 两个典型交通场景的棒状像素语义分割结果Fig. 3 Semantic segmentation of two typical traffic scenarios

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!