本发明属于机器人自主环境感知技术领域,涉及到将移动机器人系统采集到的图像数据进行场景理解,特别涉及到一种车载单目视觉室外道路自适应分类器生成方法。
背景技术:
视觉是智能机器人与智能系统进行环境感知的重要手段之一。基于视觉的自然场景理解是工作在自然环境中的移动机器人能够实现自主环境适应所应具备的基本条件。无人驾驶车作为一种典型的移动机器人,近些年来在各行各业中扮演着越来越重要的角色,室外环境理解特别是道路识别是实现无人驾驶的关键。
基于视觉的场景理解就是对视觉传感器所采集的图像数据进行分类,即对图像中的不同种类赋予相应的标签。图像分类的方法有很多,但是由于无人驾驶车的工作环境大多是室外非结构化环境,室外场景的多样性、随机性、复杂性以及移动机器人的运动性,就要求所构建的场景理解系统应具有较高的自适应性,目前对于复杂室外环境的理解通常都是设计一个分类器来完成图像的分类,分类器是根据数据集的特点构造一个分类函数或分类模型,该模型能把未知类别的样本映射到给定类别中的某一个,这也是目前最有效地图像分类方法。
目前在图像分类领域有离线和在线两种分类器生成方法。离线分类器是目前最常用的一种,主要是利用相应的机器学习算法,针对特定的数据集训练一个固定的分类器。首先根据所要识别的数据集制作训练样本即是一些带不同标签的数据,然后利用合适的机器学习算法进行训练。常用的机器学习算法有Support Vector Machine(SVM)、K-Nearest Neighbor(KNN)、Bayes、Back Propagation(BP)神经网络器等等。参考文献(K.Rebai,N.Achour,and O.Azouaoui."Hierarchical SVM classifier for road intersection detection and recognition."IEEE Conference on Open Systems.2013:100-105.)和文献(Z.Xiong,K.Chen,and C.Gu."An algorithm of image classification based on BP neural network."IEEE Computer Science and Automation Engineering,International Conference on.2012:523-526.)分别运用了SVM和BP神经网络进行图像分类器的训练,其优点是分类准确度较高,但是这种分类器的训练需要大量先验信息,训练样本大,算法耗时,并且所得到的分类器仅适用于训练样本所在场景的分类,当所处场景发生变化时分类器就会失效,因此分类器的适应性较差。
使用在线分类器来做图像识别是一种更具有挑战性的方法,具体是指分类器在识别图像的过程中一直在不断地更新。参考文献(徐文浩.基于视觉激光数据融合的非结构化道路检测[D].大连理工大学,2014.),在道路识别算法当中利用实时采集到的图片生成新的样本,在不间断分类运算的同时实现了分类器的实时在线更新,在道路发生剧烈变化时,依赖之前的分类器无法正确识别出道路,因此无法完成分类器的更新,此时只能依赖激光数据的几何属性来确保车前方时可行区域,辅助完成分类器的在线更新。其优点是分类器能够很好地适应天气、季节、光线等因素的改变,保证了算法的鲁棒性。但是该方法没有真正实现分类器的自适应更新,当新的道路样本出现时,必须依靠激光传感器的辅助才能完成分类器的在线更新,然而激光传感器并不是所有机器人的必备的设备,而且其价格也比较昂贵,所以此方法并不具备通用性。
技术实现要素:
针对以上所述方法的不足之处,本发明提出了自适应分类器生成方法。其特征在于引入样本池工具,样本池的组成为不同道路的特征,通过提取相邻图像的颜色直方图,进行相似度计算,再依据计算结果进行分类器不同训练样本的选择,当计算结果为相似时:更新分类器的训练样本为前一个分类器的识别结果;当计算结果为不相似时:更新分类器的训练样本为与样本池的匹配结果,从而实现了分类器的自适应生成。
本发明的技术方案如下:
1)构建样本池
样本池是本发明引入的一种工具,其本质上是一个m*n的特征向量。其中m为样本池中所含有的不同形态道路的个数,n为每种道路的特征维度。
2)计算相邻图像相似度
新样本出现时实现分类器自适应生成需要依赖对相邻图像相似度计算的结果。首先提取相邻图像的颜色直方图:
H(P)=[h(x1),h(x2),...h(xi)] (1)
其中,S(xi)为第i种颜色在图像中出现的个数,S(xj)为总的像素点个数。
例如灰度直方图是灰度级的函数,它表示图像中具有某种灰度级的像素的个数,反映了图像中某种灰度出现的频率。色彩直方图是高维直方图的特例,它统计色彩的出现频率,即色彩的概率分布信息。直方图归一化效果好,两幅分辨率不同的图像可以直接通过计算直方图来计算相似度,计算量小。
直方图相似度计算方法为相关度、卡方系数、相交系数或巴氏距离。
优选巴氏距离计算相似度。如图像A和图像B,分别计算两幅图像的直方图HA和HB,然后计算两个直方图的巴氏距离:
其中,HA(i)和HB(i)分别代表图像A和B的第i种颜色直方图数据,n为直方图中bin的个数。d∈[0,1],距离越小说明相似度越高。
3)分割图像与提取图像特征
对图像做超像素分割,就是在图像处理的预处理阶段将空间位置上邻近并且颜色、纹理等特征相近的像素聚合成若干个超像素块,然后以超像素为单位进行图像的进一步处理。
提取图像特征是使用计算机提取图像信息,决定每个图像的像素点或像素块是否属于一个图像特征。图像特征为颜色特征、纹理特征、形状特征和空间关系特征中的一种或两种以上。
图像特征优选采用颜色特征和空间关系特征。采用Lab颜色空间,其中的L分量用于表示像素的亮度,取值范围是[0,100],表示从纯黑到纯白;a表示从红色到绿色的范围,取值范围是[127,-128];b表示从黄色到蓝色的范围,取值范围是[127,-128]。最终提取五维特征向量分别Lab三个分量和像素的(x,y)坐标。计算每个超像素块中所含像素点的均值和方差组成十维特征向量。
其中,Em和Vm分别为均值和方差,n为像素块所含像素点的个数。
(4)分类器的训练
分类器要完成分类器的在线更新,并且要保证识别的实时性,就要尽量的减少训练样本,再训练样本很少的前提下保证识别的准确率。
根据步骤2)的计算结果,在步骤3)的基础上进行分类器的训练;当步骤2)的结果为相似时:更新分类器的训练样本为前一个分类的识别结果;当步骤2)结果为不相似时:更新分类器的训练样本为与步骤1)所构建本池的匹配结果;根据每个超像素块的特征及其属性标签,采用boosting算法,其核心思想是针对同一个训练集训练不同的分类器,即弱分类器,在每一轮的弱分类器分类当中对样本的权值进行更新。如果样本分类正确,则会适当降低它的权值,反之则会提高。最后把弱分类器集合起来,构造一个更强的最终分类器。具体算法流程如下:
给定一个训练数据集T={(x1,y1),(x2,y2)…(xi,yi)…(xN,yN)},其中xi是输入训练样本,yi属于标记集合{-1,+1},N为训练样本的数量。
步骤1:初始化训练数据的权值分布。每一个训练样本最开始时都被赋予相同的权重:1/N。
步骤2:进行多轮迭代,用m=1,2,...,M表示迭代的次数。
a)使用具有权值分布的Dm训练数据集学习,得到基本分类器:Gm(x)
b)计算Gm(x)的在训练数据集上的分类误差率:
c)计算Gm(x)的系数αm,表示em在最终分类器中的重要程度(目的:得到基本分类器在最终分类器中所占的权重):
d)更新训练数据集的权值分布Dm+1=(wm+1,1,wm+1,2....wm+1,i…wm+1,N)
其中Zm为规范化因子,使得Dm+1成为一个概率分布。
步骤3:组合弱分类器。
分类器自适应生成所用训练样本的选择根据公式(3)中的巴氏距离,当巴氏距离小于设定值,分类器的训练样本为t时刻的图像识别结果,当巴氏距离大于设定值,分类器的训练样本为样本池中与t+1时刻图像相匹配的样本。依次循环便实现了分类器自适应生成。
本发明的有益效果为生成的分类器能够很好地适应天气、季节、光线等因变化准确地识别出道路,解决了对大量训练样本和其他传感器的依赖性问题,具有很好的鲁棒性,可以为无人车的行驶提供准确的辅助信息。
附图说明
图1是样本池所含有的道路样本示意图。
图2是无人车所采集的道路序列图像。
图中(a)(b)(c)、(d)(e)(f)和(g)(h)(i)表示经过三种不同路况所采集的道路图像。
图3是图2中(a)(b)(c)(d)(e)(f)(g)(h)(i)的颜色直方图。
图4是图2中(a)(b)(c)(d)(e)(f)(g)(h)(i)的分类器识别结果。
具体实施方式
为了验证本发明的有效性,本发明的具体实施方式包括两个方面,一是图像数据的采集,二是依据图像向直方图匹配结果,选择相应的训练样本,完成分类器自适应生成。
通过单目摄像头自动采集图像数据,然后这些数据信息都将传送到计算机。图2为本实施例的行驶路径。其中(a)(b)(c)、(d)(e)(f)、(g)(h)(i)分别为车辆在行驶过程中经过的三种不同路况所采集的道路图像。以这九张图像为例说明分类器自适应生成的过程。首先对第一张图像(图2(a))做超像素分割,提取每个超像素块的特征与样本池中的特征匹配,匹配成功的超像素块赋予标签+1,没有匹配成功的超像素块赋予标签-1,然后用带有标签的训练样本训练了分类器Ga。同时提取图2(a)和图2(b)的颜色直方图(即图3(a)和图3(b)),利用巴氏距离计算图3(a)和图3(b)的相似度,由计算可得d=0.406,本实施例中当d∈[0,0.5)时认为图像相似,当d∈[0.5,1]时认为图像不相似。
可知图2(a)和图2(b)相似,因此分类器Gb的生成依赖于图2(a)的识别结果(即图3(a)),用图3(a)带有不同标签的识别结果作为分类器Gb的训练样本。
同样方法生成分类器Gc。接下来提取图2(c)和图2(d)的颜色直方图(图3(c)和图3(d)),利用巴氏距离计算图3(c)和图3(d)的相似度,由计算可得d=0.781,可知图2(c)和图2(d)不相似,因此分类器Gd的生成要依赖样本池,先将图3(d)做超像素分割,然后将每个超像素块的特征与样本池进行匹配,匹配成功的标签设为+1,否则设为-1,最后用带标签的样本训练分类器Gd。同理分类器Ge、Gf、Gh和Gi的更新依赖于前一个分类器的识别结果。分类器Gg的生成需要依赖样本池。图4为本次所经过道路的分类器识别结果。依次循环便实现了分类器的自适应生成。