基于立体视觉的行人检测与测距方法转让专利

申请号 : CN201710149283.X

文献号 : CN106952274B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 宋彬杨荣坚秦浩

申请人 : 西安电子科技大学

摘要 :

本发明提出了一种基于立体视觉的行人检测与测距方法,具体实现步骤如下:(1)获取立体视觉图像;(2)构建卷积神经网络;(3)计算立体视觉左图像的预测值;(4)判断预测值是否大于0.5;(5)对预测值做去归一化处理;(6)计算匹配代价值;(7)选择最优视差值;(8)计算行人离摄像头的距离;(9)输出行人离摄像头的距离。本发明采用卷积神经网络对立体视觉图像做行人检测,并且通过立体视觉图像的视差计算获得行人到双目摄像头的距离,能够有效提高图像行人检测的运算速度,对行人相互靠近的图像具有更好的检测准确率,可以获得图像中行人到双目摄像头的距离。

权利要求 :

1.一种基于立体视觉的行人检测与测距方法,包括如下步骤:

(1)获取立体视觉图像:

使用双目摄像头拍摄待检测与测距的包含行人通过的监控场景,得到该场景的立体视觉左图像和立体视觉右图像;

(2)构建卷积神经网络:

构建一个包含8个卷积层、5个抽取层和1个全连接层的卷积神经网络;

(3)计算立体视觉左图像的预测值:

(3a)将立体视觉左图像输入到卷积神经网络中,输出尺寸为980×1个像素的特征向量;

(3b)将立体视觉左图像均匀划分为14×14个正方形区域;

(3c)将卷积神经网络输出的980×1个像素的特征向量中的所有的向量元素,均匀分配给立体视觉左图像的每个正方形区域,每个正方形区域得到5个向量元素;将每个正方形区域的5个向量元素,依次作为该区域的行人存在概率预测值、行人横坐标预测值、行人纵坐标预测值、行人宽度预测值、行人高度预测值;

(4)判断立体视觉左图像的每个正方形区域的行人存在概率预测值是否大于0.5,若是,则认为该区域存在行人,执行步骤(5);否则,认为该区域不存在行人,执行步骤(6);

(5)对预测值做去归一化处理:

将存在行人的正方形区域的行人横坐标预测值、行人纵坐标预测值、行人宽度预测值、行人高度预测值分别做去归一化处理,得到用于确定行人位置的横坐标值和纵坐标值、行人的宽度值和行人的高度值;

(6)计算匹配代价值:

(6a)将立体视觉左图像中每个像素点的视差值的取值范围设置为0到255个灰度值;

(6b)按照下式,计算立体视觉左图像中每个像素点分别取0到255灰度值范围内的每个视差值的匹配代价值:其中,Cp表示立体视觉左图像中每个像素点分别取0到255灰度值范围内的各个视差值的匹配代价值,dp表示立体视觉左图像中第p个像素点的视差值,∑表示求和操作,u表示立体视觉左图像中第p个像素点的5×5个像素邻域中的像素点,∈表示属于符号,N表示立体视觉左图像中第p个像素点的5×5个像素的邻域,|·|表示取绝对值操作,IL表示立体视觉左图像,xu表示立体视觉左图像中第p个像素点的5×5个像素邻域中的像素点u的横坐标值,yu表示立体视觉左图像中第p个像素点的5×5个像素邻域中的像素点u的纵坐标值,IR表示立体视觉右图像;

(7)选择最优视差值:

对立体视觉左图像中每个像素点,从0到255灰度值范围内的各个视差值中,选择使该像素点的匹配代价值最小时的视差值作为最优视差值;

(8)按照下式,计算立体视觉左图像中存在行人的区域中行人离摄像头的距离:其中,Zi表示存在行人的第i个区域中行人离摄像头的距离,f表示双目摄像头的焦距,×表示相乘操作,T表示双目摄像头的中心距,Di表示存在行人的第i个区域中行人位置像素点的最优视差值;

(9)输出立体视觉左图像中存在行人的区域中的行人离摄像头的距离。

2.根据权利要求1所述的基于立体视觉的行人检测与测距方法,其特征在于:步骤(2)中所述构建的包含8个卷积层、5个抽取层和1个全连接层的卷积神经网络的14层网络层连接关系是,按照第1个卷积层、第1个抽取层、第2个卷积层、第2个抽取层、第3个卷积层、第3个抽取层、第4个卷积层、第4个抽取层、第5个卷积层、第5个抽取层、第6个卷积层、第7个卷积层、第8个卷积层、全连接层的次序依次相连。

说明书 :

基于立体视觉的行人检测与测距方法

技术领域

[0001] 本发明属于图像处理技术领域,更进一步涉及计算机视觉技术领域中的一种基于立体视觉的行人检测与测距的方法。本发明可以对双目摄像头拍摄的立体视觉图像做行人检测,并且通过立体视觉图像的视差计算获得行人到双目摄像头的距离。

背景技术

[0002] 行人检测与测距使用双目摄像头拍摄得到立体视觉图像,然后对立体视觉图像做行人检测,并且通过立体视觉图像的视差计算获得行人到双目摄像头的距离。
[0003] 浙江大学在其申请的专利文献“一种基于视觉的快速行人检测方法”(专利申请号201310132965.1,公开号103177248B)中公开了一种行人检测方法。该方法首先通过安装在车辆上的摄像头获取车辆前进道路上的视频图像,然后采用类哈尔特征作为行人描述特征,构建多尺度级联分类器作为行人检测器,采用串联级联策略实现快速的实时行人与非行人的分类识别,最后用非极大值抑制算法确定与行人特征最匹配的滑动窗口,确定行人的位置。该方法存在的不足之处是,该方法使用滑动窗口对图像的每个位置做特征提取和分类识别,滑动窗口需要计算一幅图像中的大量窗口,因此算法复杂度高,运算耗时大。
[0004] Redmon,Joseph,et al.在其发表的论文"You only look once:Unified,real-time object detection."(Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.2016.)中提出了一种行人检测的方法。该方法使用一个单一的卷积神经网络Fast-YOLO,将图像均匀分割成7×7的正方形区域,实现对图像中行人目标的检测。该方法存在的不足之处是,该方法将图像分割成7×7的正方形区域,每个正方形区域只能检测一个行人目标,因此对行人相互靠近的图像的检测准确率较低。

发明内容

[0005] 本发明的目的在于克服上述现有技术中的不足,提出一种基于立体视觉的行人检测与测距的方法,能够有效提高图像行人检测的运算速度,对行人相互靠近的图像具有更好的检测准确率,可以获得图像中行人到双目摄像头的距离。
[0006] 为实现上述目的,本发明具体实现步骤包括如下:
[0007] (1)获取立体视觉图像:
[0008] 使用双目摄像头拍摄待检测与测距的包含行人通过的监控场景,得到该场景的立体视觉左图像和立体视觉右图像;
[0009] (2)构建卷积神经网络:
[0010] 构建一个包含8个卷积层、5个抽取层和1个全连接层的卷积神经网络;
[0011] (3)计算立体视觉左图像的预测值:
[0012] (3a)将立体视觉左图像输入到卷积神经网络中,输出尺寸为980×1个像素的特征向量;
[0013] (3b)将立体视觉左图像均匀划分为14×14个正方形区域;
[0014] (3c)将卷积神经网络输出的980×1个像素的特征向量中的所有的向量元素,均匀分配给立体视觉左图像的每个正方形区域,每个正方形区域得到5个向量元素;将每个正方形区域的5个向量元素,依次作为该区域的行人存在概率预测值、行人横坐标预测值、行人纵坐标预测值、行人宽度预测值、行人高度预测值;
[0015] (4)判断立体视觉左图像的每个正方形区域的行人存在概率预测值是否大于0.5,若是,则认为该区域存在行人,执行步骤(5);否则,认为该区域不存在行人,执行步骤(6);
[0016] (5)对预测值做去归一化处理:
[0017] 将存在行人的正方形区域的行人横坐标预测值、行人纵坐标预测值、行人宽度预测值、行人高度预测值分别做去归一化处理,得到用于确定行人位置的横坐标值和纵坐标值、行人的宽度值和行人的高度值;
[0018] (6)计算匹配代价值:
[0019] (6a)将立体视觉左图像中每个像素点的视差值的取值范围设置为0到255个灰度值;
[0020] (6b)按照下式,计算立体视觉左图像中每个像素点分别取0到255灰度值范围内的每个视差值的匹配代价值:
[0021]
[0022] 其中,Cp表示立体视觉左图像中每个像素点分别取0到255灰度值范围内的各个视差值的匹配代价值,dp表示立体视觉左图像中第p个像素点的视差值,∑表示求和操作,u表示立体视觉左图像中第p个像素点的5×5个像素邻域中的像素点,∈表示属于符号,N表示立体视觉左图像中第p个像素点的5×5个像素的邻域,|·|表示取绝对值操作,IL表示立体视觉左图像,xu表示立体视觉左图像中第p个像素点的5×5个像素邻域中的像素点u的横坐标值,yu表示立体视觉左图像中第p个像素点的5×5个像素邻域中的像素点u的纵坐标值,IR表示立体视觉右图像;
[0023] (7)选择最优视差值:
[0024] 对立体视觉左图像中每个像素点,从0到255灰度值范围内的各个视差值中,选择使该像素点的匹配代价值最小时的视差值作为最优视差值;
[0025] (8)按照下式,计算立体视觉左图像中存在行人的区域中行人离摄像头的距离:
[0026]
[0027] 其中,Zi表示存在行人的第i个区域中行人离摄像头的距离,f表示双目摄像头的焦距,×表示相乘操作,T表示双目摄像头的中心距,Di表示存在行人的第i个区域中行人位置像素点的最优视差值;
[0028] (9)输出立体视觉左图像中存在行人的区域中的行人离摄像头的距离。
[0029] 本发明与现有的技术相比具有以下优点:
[0030] 第1、由于本发明使用卷积神经网络的方法对图像做行人检测,克服了现有技术中滑动窗口重复计算图像的大量候选区域导致运算复杂度高的问题,使得本发明提高了行人检测的运算速度。
[0031] 第2、由于本发明使用的卷积神经网络将图像分割成14×14的正方形区域,克服了现有技术中Fast-YOLO将图像分割成7×7的正方形区域导致行人检测分辨度较低的问题,使得本发明提高了对行人相互靠近的图像的检测准确率。

附图说明

[0032] 图1是本发明的流程图;
[0033] 图2是本发明的仿真图。

具体实施方式

[0034] 下面结合附图对本发明做进一步的描述。
[0035] 参照图1,对本发明的具体步骤做进一步的描述。
[0036] 步骤1,获取立体视觉图像。
[0037] 使用双目摄像头拍摄待检测与测距的包含行人通过的监控场景,得到该场景的立体视觉左图像和立体视觉右图像。
[0038] 步骤2,构建卷积神经网络。
[0039] 构建一个包含8个卷积层、5个抽取层和1个全连接层的卷积神经网络。
[0040] 构建的包含8个卷积层、5个抽取层和1个全连接层的卷积神经网络的14层网络层连接关系是,按照第1个卷积层、第1个抽取层、第2个卷积层、第2个抽取层、第3个卷积层、第3个抽取层、第4个卷积层、第4个抽取层、第5个卷积层、第5个抽取层、第6个卷积层、第7个卷积层、第8个卷积层、全连接层的次序依次相连。
[0041] 14层网络层中每层的具体参数设置如下:
[0042] 第1个卷积层的输入图像大小为448×448×3个像素,卷积核尺寸为3×3×16个像素,边界填充尺寸为1个像素,步长为1个像素。
[0043] 第1个抽取层,抽取核尺寸为2×2个像素,步长为2个像素。
[0044] 第2个卷积层:卷积核尺寸为3×3×32个像素,边界填充尺寸为1个像素,步长为1个像素。
[0045] 第2个抽取层:抽取核尺寸为2×2个像素,步长为2个像素。
[0046] 第3个卷积层:卷积核尺寸为3×3×64个像素,边界填充尺寸为1个像素,步长为1个像素。
[0047] 第3个抽取层:抽取核尺寸为2×2个像素,步长为2个像素。
[0048] 第4个卷积层:卷积核尺寸为3×3×128个像素,边界填充尺寸为1个像素,步长为1个像素。
[0049] 第4个抽取层:抽取核尺寸为2×2个像素,步长为2个像素。
[0050] 第5个卷积层:卷积核尺寸为3×3×256个像素,边界填充尺寸为1个像素,步长为1个像素。
[0051] 第5个抽取层:抽取核尺寸为2×2个像素,步长为2个像素。
[0052] 第6个卷积层:卷积核尺寸为3×3×512个像素,边界填充尺寸为1个像素,步长为1个像素。
[0053] 第7个卷积层:卷积核尺寸为3×3×1024个像素,边界填充尺寸为1个像素,步长为1个像素。
[0054] 第8个卷积层:卷积核尺寸为3×3×256个像素,边界填充尺寸为1个像素,步长为1个像素。
[0055] 全连接层的输出为尺寸为980×1个像素的向量。
[0056] 步骤3,计算立体视觉左图像的预测值。
[0057] 将立体视觉左图像输入到卷积神经网络中,输出尺寸为980×1个像素的特征向量。
[0058] 将立体视觉左图像均匀划分为14×14个正方形区域。
[0059] 将卷积神经网络输出的980×1个像素的特征向量中的所有的向量元素,均匀分配给立体视觉左图像的每个正方形区域,每个正方形区域得到5个向量元素;将每个正方形区域的5个向量元素,依次作为该区域的行人存在概率预测值、行人横坐标预测值、行人纵坐标预测值、行人宽度预测值、行人高度预测值。
[0060] 步骤4,判断立体视觉左图像的每个正方形区域的行人存在概率预测值是否大于0.5,若是,则认为该区域存在行人,执行步骤5;否则,认为该区域不存在行人,执行步骤6。
[0061] 步骤5,对预测值做去归一化处理。
[0062] 将存在行人的正方形区域的行人横坐标预测值、行人纵坐标预测值、行人宽度预测值、行人高度预测值分别做去归一化处理,得到用于确定行人位置的横坐标值和纵坐标值、行人的宽度值和行人的高度值。
[0063] 步骤6,计算匹配代价值。
[0064] 将立体视觉左图像中每个像素点的视差值的取值范围设置为0到255个灰度值。
[0065] 按照下式,计算立体视觉左图像中每个像素点分别取0到255灰度值范围内的每个视差值的匹配代价值:
[0066]
[0067] 其中,Cp表示立体视觉左图像中每个像素点分别取0到255灰度值范围内的各个视差值的匹配代价值,dp表示立体视觉左图像中第p个像素点的视差值,∑表示求和操作,u表示立体视觉左图像中第p个像素点的5×5个像素邻域中的像素点,∈表示属于符号,N表示立体视觉左图像中第p个像素点的5×5个像素的邻域,|·|表示取绝对值操作,IL表示立体视觉左图像,xu表示立体视觉左图像中第p个像素点的5×5个像素邻域中的像素点u的横坐标值,yu表示立体视觉左图像中第p个像素点的5×5个像素邻域中的像素点u的纵坐标值,IR表示立体视觉右图像。
[0068] 步骤7,选择最优视差值。
[0069] 对立体视觉左图像中每个像素点,从0到255灰度值范围内的各个视差值中,选择使该像素点的匹配代价值最小时的视差值作为最优视差值。
[0070] 步骤8,按照下式,计算立体视觉左图像中存在行人的区域中行人离摄像头的距离:
[0071]
[0072] 其中,Zi表示存在行人的第i个区域中行人离摄像头的距离,f表示双目摄像头的焦距,×表示相乘操作,T表示双目摄像头的中心距,Di表示存在行人的第i个区域中行人位置像素点的最优视差值。
[0073] 步骤9,输出立体视觉左图像中存在行人的区域中的行人离摄像头的距离。
[0074] 下面结合仿真实验对本发明的效果做进一步的描述。
[0075] 1、仿真实验条件:
[0076] 本文的实验环境为Ubuntu 14.04系统,处理器型号为 Xeon(R)CPU E5-26300@2.30GHz×12,显卡型号为GeForce GTX 980Ti/PCIe/SSE2,显存4G,内存32GB,双目摄像头为Bumblebee2,测试数据为使用双目摄像头在行人通过的监控场景中采集了200组行人相互靠近的图像,图像的分辨率为640×480个像素。
[0077] 2、实验内容与结果:
[0078] 表1是滑动窗口方法和本发明分别对测试数据中200组图像做行人检测的平均运算时间。从表1中可见,滑动窗口方法的行人检测运算时间在0.5秒到1分钟之间,而本发明的行人检测运算时间仅需要0.083秒,可见本发明的行人检测运算时间远低于滑动窗口方法的行人检测运算时间。
[0079] 表1行人检测运算时间
[0080]  滑动窗口方法 本发明
640×480分辨率 0.5s~1min 0.083s
[0081] 表2是Fast-YOLO方法和本发明分别对测试数据中200组图像做行人检测的平均检测准确率。从表2中可见,Fast-YOLO方法的平均检测准确率为35.10,而本发明的的平均检测准确率为80.56,可见本发明对于行人相互靠近的图像的的平均检测准确率远高于Fast-YOLO。
[0082] 表2平均检测准确率
[0083]  Fast-YOLO 本发明
平均准确率 35.10 80.56
[0084] 附图2是本发明的仿真图,其中,图2中的“Found Person:2”表示在图像中检测到两个行人,“PERSON 1”、“PERSON2”分别表示检测到的行人1、行人2,圈中两个矩形方框分别表示检测到的行人1和行人2的位置,“Z=1.74m”、“Z=2.05m”分别表示行人1离摄像头的距离为1.74米、行人2离摄像头的距离为2.05m。可以看到,本发明有效地检测出图像中的行人,并计算出行人到双目摄像头的距离。
[0085] 综上所述,本发明能够有效提高图像行人检测的运算速度,对行人相互靠近的图像具有更好的检测准确率,并获得图像中行人到双目摄像头的距离。