CN112184792B - 一种基于视觉的道路坡度计算方法及装置 - Google Patents
一种基于视觉的道路坡度计算方法及装置 Download PDFInfo
- Publication number
- CN112184792B CN112184792B CN202010884115.7A CN202010884115A CN112184792B CN 112184792 B CN112184792 B CN 112184792B CN 202010884115 A CN202010884115 A CN 202010884115A CN 112184792 B CN112184792 B CN 112184792B
- Authority
- CN
- China
- Prior art keywords
- ground
- value
- road
- row
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 45
- 238000001514 detection method Methods 0.000 claims abstract description 49
- 238000000034 method Methods 0.000 claims abstract description 31
- 238000003702 image correction Methods 0.000 claims abstract description 4
- 238000009434 installation Methods 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 19
- 238000012937 correction Methods 0.000 claims description 8
- 238000005070 sampling Methods 0.000 claims description 8
- 239000011159 matrix material Substances 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 7
- 238000013136 deep learning model Methods 0.000 claims description 6
- 238000005096 rolling process Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 abstract description 4
- 230000000007 visual effect Effects 0.000 abstract 2
- 238000010586 diagram Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C11/00—Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C9/00—Measuring inclination, e.g. by clinometers, by levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/588—Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20228—Disparity calculation for image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30204—Marker
- G06T2207/30208—Marker matrix
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
一种基于视觉的道路坡度计算方法及装置。本发明涉及一种视觉的道路坡度计算方法及装置,其中方法包括:获取相机拍摄的图像、图像校正、获取深度图、道路区域检测、路面坡度计算及输出道路区域及路面坡度步骤;装置包括图像获取单元、图像校正单元、视差图获取单元、检测单元、计算单元和输出单元。本发明提出了一种基于深度学习预测的深度图,进行道路坡度检测的方法,可以同时获得道路区域及道路坡度,和现有技术相比,本发明利用单帧图像即可完成对道路的坡度估计,对设备要求更低,检测效果更鲁棒,并且无需提取路面车道线信息,对无车道线路面也适用,适用性更广。
Description
技术领域
本发明涉及道路检测技术领域,特别涉及一种基于视觉的道路坡度计算方法及装置。
背景技术
路面坡度检测对汽车安全驾驶具有重要意义。根据路面坡度,可以对车辆速度进行动态控制,有效提高行车的安全性。
目前,路面坡度检测主要有基于GPS方法和基于加速度计算方法,但精度不高。随着车载相机的普及,基于相机的路面坡度检测,逐渐兴起。但是现有技术中的检测一般需要通过双目相机来实现,也有少量采用单目相机来实现的。如专利号为CN106056570A的中国发明专利公开了一种路面坡度检测装置,该装置提出了一种基于双目相机拍摄图像的路面坡度检测技术。另外如专利号为CN103679707A的中国发明专利公开了一种基于双目相机视差图的道路障碍物检测系统及检测方法,该技术首先通过立体匹配得到双目相机的视差图(即两个双目相机所得到的图像的视差图),然后基于视差图扫描的方式,确定显著性目标,并对主要目标进行三维重建,从而实现对城市道路环境中的障碍物的识别与检测。上述技术都是需要通过双目相机,计算视差图,基于视差图来完成路面坡度的计算,对设备的要求高,检测方法较复杂,实现起来较有难度。
采用单目相机的研究较少,现有技术中如专利号为CN109900254A的中国发明专利公开了一种单目视觉的路面坡度计算方法及其计算装置,该技术主要步骤:采集路面的图像信息,并对图像信息进行预处理;提取处理后的图像信息中的直线信息,添加约束条件以拟合出路面的车道线;提取车道线的若干个特征点,并计算位于车道线同一侧的相邻两个特征点之间的斜率;在一个预设时间内,根据单帧图片中车道线的斜率变化规律,分析出路面的坡度的变化情况;先根据坡度的变化情况,判定路面的斜坡数,再根据车道线上的特征点,计算出相应的路面消失点的图像坐标;根据路面消失点的图像坐标,计算出道路的坡度值。虽然该技术可以实现单目相机进行路面坡度计算,但是该技术需要检测道路上的车道线信息,进而计算道路坡度,对无车道线的路面无法使用,当车道线存在破损、不易检出等情况时,算法也会受影响。
发明内容
为了解决上述技术问题,本发明的目的在于提供一种基于视觉的道路坡度计算方法及装置。本发明的计算方法和装置利用单帧图像即可完成对道路的坡度估计,可以同时获得道路区域及道路坡度,对设备要求更低,检测效果更鲁棒。
本发明的上述目的通过以下技术方案实现:
一种基于视觉的道路坡度计算方法,具体包括以下步骤:
S1、获取相机拍摄的图像;
S2、图像校正:对获取的图像通过校正得到校正后图像;
S3、获取深度图:利用离线训练好的深度学习模型对校正后图像进行深度预测,获得深度图,并转化为视差图;
S4、道路区域检测:对视差图按列处理,确定所有的地面像素点,所有的地面像素点的图像坐标位置,构成道路区域检测结果;
S5、路面坡度计算:根据地面像素点在视差图中的视差值以及相机距离地面的安装高度,拟合地平面方程,计算得出路面坡度;
S6、输出道路区域及路面坡度:将道路区域检测结果标记到图像中,并将计算的路面坡度值输出。
进一步地,所述步骤S2的校正方法具体包括:
将原始输入图像利用相机的内参数校正得到无畸变图像,利用离线外参标定方法,事先标定出相机安装角度,包括相机的安装俯角、滚动角和偏航角,利用所述安装角度,将经内参校正后的无畸变图像,进一步校正为无安装角度的校正后图像。
进一步地,所述步骤S4的道路区域检测具体包括以下步骤:
S401、读取视差图中任意一个未被处理过的列,对该读取列视差值进行求导,得到对应的导数值,将导数值按列存储,得到导数值的存储列,并计算存储列中从最大行rm行到rm-r1行的所有导数值的均值t1,确定t1为基准值,其中r1为第一阈值,即预先设定的用于计算t1的行数阈值;由于导数值的存储列和当前读取列对应,所以导数值存储列的行数,和视差图的行数相等,所述最大行rm行为当前导数值的存储列中位于最下方的行;
然后,初始化不满足条件行的计数为0,并在上述存储列中,从最大行rm行开始,向上一行rm-1行进行遍历,一直遍历至最小行,所述最小行为存储列中最上方的行,读取当前遍历行r的导数值val,将val与基准值t1根据第一种情况及第二种情况进行比较:
第一种情况:当abs(t1-val)<t1×t2时,其中t2为第二阈值,abs表示计算绝对值,将不满足条件行的计数设置为0,然后继续遍历,更新当前遍历行r为r的上一行,重新进行判断满足第一种情况还是第二种情况,执行相应的操作;
第二种情况:当abs(t1-val)≥t1×t2时,其中t2为第二阈值,abs表示计算绝对值,将不满足条件行的计数在原有计数数值基础上增加1,并读取不满足条件行的计数数值N,判断N是否满足N≥t3,其中t3为第三阈值,当N≥t3时,将(r+t3-1)行确定为当前读取列中地面与障碍物交界位置出现的行,结束对当前存储列的行遍历;当不满足N≥t3时,则继续遍历,更新当前遍历行r为r的上一行,重新进行判断满足第一种情况还是第二种情况,执行相应的操作;
S402、重复步骤S401,直到完成视差图中所有列的处理,得到各个列的地面与障碍物交界位置出现的行;
S403、对于视差图的每一列,上述处理过程中得到的地面与障碍物交界位置出现的行至最大行中的像素点确定为地面像素点,这些地面像素点的图像坐标位置,构成道路区域检测结果。
进一步地,所述步骤S5的路面坡度计算具体包括以下步骤:
S501、对标记为道路区域的地面像素点,进行等间隔采样,选取n个地面像素点用于拟合地面方程;
S502、计算所述n个地面像素点的三维坐标点:
对于采样的像素点(uk,vk),k∈[1,n],n为采样的像素点总个数,计算其对应的三维坐标点(Xk,Yk,Zk),计算公式为:
其中,d(uk,vk)表示视差图中,(uk,vk)点的视差值,K为相机参数矩阵;
S503、根据计算得到的n个地面像素点三维坐标点(Xk,Yk,Zk)拟合地平面方程,具体为:
令地平面方程为:
AX+BY+CZ+D=0 (4)
其中,A,B,C,D为待求解的系数,代入已经求出的地面点坐标(Xk,Yk,Zk),k∈[1,n],构建n个方程组成的方程组,通过方程组求解,求出A,B,C,D;
S504、根据相机安装高度H,计算真实的地平面方程:
由于d(uk,vk)是相对尺度下的视差,这导致步骤S503求出的地平面方程,尺度不确定,因此需要进一步通过相机安装高度H计算真实的地平面方程,
AX+BY+CZ+D′=0 (5)
其中,
S505、计算路面坡度:根据步骤S504得出的真实的地平面方程,进而可以求出地平面在各个方向的坡度值。
本发明另一目的是提供一种基于视觉的道路坡度计算装置,该计算装置包括:
图像获取单元,用于获取相机拍摄的图像;
图像校正单元,用于对获取的图像通过校正得到校正后图像;
深度图获取单元,用于利用离线训练好的深度学习模型对校正后图像进行深度预测,获得深度图,并转化为视差图;
检测单元,用于对视差图按列处理,确定所有的地面像素点,所有的地面像素点的图像坐标位置,构成道路区域检测结果;
计算单元,用于根据地面像素点在视差图中的视差值以及相机距离地面的安装高度,拟合地平面方程,计算得出路面坡度;
输出单元,用于将道路区域检测结果标记到图像中,并将计算的路面坡度值输出。
进一步地,所述检测单元具体包括:
第一处理子单元,用于读取视差图中任意一个未被处理过的列,对该读取列视差值进行求导,得到对应的导数值,将导数值按列存储,得到导数值的存储列,并计算存储列中从最大行rm行到rm-r1行的所有导数值的均值t1,确定t1为基准值,其中r1为第一阈值,即预先设定的用于计算t1的行数阈值;
第一遍历子单元,用于初始化不满足条件行的计数为0,并在上述存储列中,从最大行rm行开始,向上一行rm-1行进行遍历,一直遍历至最小行,所述最小行为存储列中最上方的行,读取当前遍历行r的导数值val;
第一判断子单元,用于将val与t1根据第一种情况及第二种情况进行比较:
第一种情况:当abs(t1-val)<t1×t2时,其中t2为第二阈值,abs表示计算绝对值,将不满足条件行的计数设置为0,然后继续遍历,更新当前遍历行r为r的上一行,重新进行判断满足第一种情况还是第二种情况,执行相应的操作;
第二种情况:当abs(t1-val)≥t1×t2时,其中t2为第二阈值,abs表示计算绝对值,将不满足条件行的计数在原有计数数值基础上增加1,并读取不满足条件行的计数数值N,判断N是否满足N≥t3,其中t3为第三阈值,当N≥t3时,将(r+t3-1)行确定为当前读取列中地面与障碍物交界位置出现的行,结束对当前存储列的行遍历;当不满足N≥t3时,则继续遍历,更新当前遍历行r为r的上一行,重新进行判断满足第一种情况还是第二种情况,执行相应的操作;
第一重复指示子单元,用于指示所述第一处理子单元、第一遍历子单元和第一判断子单元重复进行动作,直到完成视差图中所有列的处理,得到各个列的地面与障碍物交界位置出现的行;
第一确定子单元,用于将视差图的每一列,得到的地面与障碍物交界位置出现的行至最大行中的像素点确定为地面像素点,这些地面像素点的图像坐标位置,构成道路区域检测结果;
进一步地,所述计算单元具体包括:
像素点采样子单元,用于对标记为道路区域的地面像素点,进行等间隔采样,选取n个地面像素点用于拟合地面方程;
第一计算子单元,用于计算所述n个地面像素点的三维坐标点:
对于采样的像素点(uk,vk),k∈[1,n],n为采样的像素点总个数,计算其对应的三维坐标点(Xk,Yk,Zk),计算公式为:
其中,d(uk,vk)表示视差图中,(uk,vk)点的视差值,K为相机参数矩阵;
第二计算子单元,用于根据计算得到的n个地面像素点三维坐标点(Xk,Yk,Zk)拟合地平面方程,具体为:
令地平面方程为:
AX+BY+CZ+D=0 (4)
其中,A,B,C,D为待求解的系数,代入已经求出的地面点坐标(Xk,Yk,Zk),k∈[1,n],构建n个方程组成的方程组,通过方程组求解,求出A,B,C,D;
第三计算子单元,用于根据相机安装高度H,计算真实的地平面方程:
AX+BY+CZ+D′=0 (5)
其中,
第四计算子单元,用于计算路面坡度:根据得出的真实的地平面方程,进而可以求出地平面在各个方向的坡度值。
本发明的有益效果在于:本发明的道路坡度计算方法提出了一种基于深度学习预测的深度图,进行道路坡度检测的方法,可以同时获得道路区域及道路坡度,和现有技术相比,本发明利用单帧图像即可完成对道路的坡度估计,对设备要求更低,检测效果更鲁棒,并且无需提取路面车道线信息,对无车道线路面也适用,适用性更广。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1为本发明的计算方法流程示意图;
图2为外参校正前后的相机拍摄视角对比示意图;
图3为相机拍摄图像及其对应的视差图;
图4为视差图的扫描示意图;
图5为视差图扫描后得到各个列的地面与障碍物交界位置出现的行的示意图;
图6为道路区域检测结果示意图;
图7为本发明的基于视觉的道路坡度计算装置的结构框图。
图8为检测单元的结构框图;
图9为计算单元的结构框图;
具体实施方式
下面结合附图及具体实施例进一步说明本发明的详细内容及其具体实施方式。
实施例1
参照图1,一种基于视觉的道路坡度计算方法,具体包括以下步骤:
S1、获取相机拍摄的图像(如图3(a)所示);本实施例中的相机可安装于汽车前方挡风玻璃处,也可以安装于车身其他位置;
S2、图像校正:对获取的图像通过校正得到校正后图像;
校正方法具体包括:
将原始输入图像利用相机的内参数(通过离线内参标定,事先标定好的,现有技术)校正得到无畸变图像,利用离线外参标定方法(现有技术),事先标定出相机安装角度,包括相机的安装俯角、滚动角和偏航角,利用所述安装角度,将经内参校正后的无畸变图像,进一步校正为无安装角度的校正后图像(如图2所示,图2给出了外参校正前后相机拍摄视角的对比,其中图2(a)为相机实际安装的角度示意图;图2(b)为经过图像外参校正后图像对应的虚拟相机的安装角度示意图,可见校正后图像即使得校正后的相机成像平面,垂直于车身所在的水平面;相机光轴平行于车身长度方向)。
具体实现过程为:
设原始输入图像为I1,利用内参校正得到无畸变图像为I2,利用外参去除安装角度后的图像(校正后图像)为I,由I1得到I2的过程为,对I2中的任意一坐标点(u2,v2),计算其在I1中的对应位置(u1,v1),然后将I1中的点(u1,v1)的像素值赋值给I2中的点(u2,v2)。
由I2得到I的过程为,对I中的任意一坐标点(u,v),计算其在I2中的对应位置(u2,v2),然后将I2中的点(u2,v2)的像素值赋值给I中的点(u,v)。这样,就由原始图像I1得到了经过内参和外参校正后的图像I,本实施例的后续计算处理都在图像I上进行。
具体转换公式描述如下:
由(u2,v2)到(u1,v1)的计算公式为:
(u1,v1)=g(u2,v2) (1)
其中,g为描述相机成像模型的函数,由内参标定方法确定,为现有技术。
由(u,v)到(u2,v2)的计算公式为:
其中,R为由相机安装的俯角、滚动角,和偏航角构成的旋转矩阵,由离线外参标定方法确定,离线外参标定方法为现有技术。K2和K分别为图像I2和图像I对应的虚拟相机的内参矩阵,这些矩阵,都为已知矩阵。根据公式(1)和(2)可以完成上述图像标定过程。也可以不生成图像I2,利用公式(1)和(2)的对应关系,直接由原始输入图像为I1生成校正图像I。
S3、参照图3,获取深度图:利用离线训练好的深度学习模型对校正后图像进行深度预测,获得深度图,并转化为视差图(现有技术。参考文献“Godard,Clément,Mac AodhaO,Firman M,et al.Digging Into Self-Supervised Monocular Depth Estimation[J].2018.”);转化后的视差图如图3(b)所示;
S4、道路区域检测:对视差图按列处理,确定所有的地面像素点,地面像素点的图像坐标位置,构成道路区域检测结果;具体包括以下步骤:
S401、对视差图按列进行读取,确定当前读取列中地面与障碍物交界位置出现的行,具体方法为:
参照图4(图4(a)为用多个像素点表示的视差图(只是作为对视差图扫描方法的示意,不等同于图3中的实际视差图),其中每个小方块代表1个像素点,按照列读取方向对视差图进行读取,图4(b)为导数曲线的导数值按列存储后的存储列示意图)。
读取视差图中任意一个未被处理过的列,对该读取列视差值进行求导,得到对应的导数值,将导数值按列存储,得到导数值的存储列,并计算存储列中从最大行rm行到rm-r1行的所有导数值的均值t1,确定t1为基准值,其中r1为第一阈值,即预先设定的用于计算t1的行数阈值;由于导数值的存储列和当前读取列对应,所以导数值存储列的行数,和视差图的行数相等,所述最大行rm行为当前导数值的存储列中位于最下方的行;
然后,初始化不满足条件行的计数为0,并在上述存储列中,从最大行rm行开始,向上一行rm-1行进行遍历,一直遍历至最小行,所述最小行为存储列中最上方的行,读取当前遍历行r的导数值val,将val与基准值t1根据第一种情况及第二种情况进行比较:
第一种情况:当abs(t1-val)<t1×t2时,其中t2为第二阈值,abs表示计算绝对值,将不满足条件行的计数设置为0,然后继续遍历,更新当前遍历行r为r的上一行,重新进行判断满足第一种情况还是第二种情况,执行相应的操作;
第二种情况:当abs(t1-val)≥t1×t2时,其中t2为第二阈值,abs表示计算绝对值,将不满足条件行的计数在原有计数数值基础上增加1,并读取不满足条件行的计数数值N,判断N是否满足N≥t3,其中t3为第三阈值,当N≥t3时,将(r+t3-1)行确定为当前读取列中地面与障碍物交界位置出现的行,结束对当前存储列的行遍历;当不满足N≥t3时,则继续遍历,更新当前遍历行r为r的上一行,重新进行判断满足第一种情况还是第二种情况,执行相应的操作;
本实施例中,设定r1=3,t2=0.3,t3=5。
S402、重复步骤S401,直到完成视差图中所有列的处理,得到各个列的地面与障碍物交界位置出现的行(最终得到的行如图5所示,图中的曲线即为地面与障碍物交界位置出现的行);
S403、对于视差图的每一列,上述扫描过程中得到的地面与障碍物交界位置出现的行至最大行中的像素点确定为地面像素点,这些地面像素点的图像坐标位置,构成道路区域检测结果(最终的道路区域检测结果如图6所示,图中下方白色区域即为检测到的道路区域)。
S5、路面坡度计算:根据地面像素点在视差图中的相对视差值以及相机距离地面的安装高度,拟合地平面方程,计算得出路面坡度;具体包括以下步骤:
S501、对标记为道路区域的地面像素点,进行等间隔采样,选取n个地面像素点用于拟合地面方程;
S502、计算所述n个地面像素点的三维坐标点:
对于采样的像素点(uk,vk),k∈[1,n],n为采样的像素点总个数,计算其对应的三维坐标点(Xk,Yk,Zk),计算公式为:
其中,d(uk,vk)表示视差图中,(uk,vk)点的视差值,K为相机参数矩阵;
S503、根据计算得到的n个地面像素点三维坐标点(Xk,Yk,Zk)拟合地平面方程,具体为:
令地平面方程为:
AX+BY+CZ+D=0 (4)
其中,A,B,C,D为待求解的系数,代入已经求出的地面点坐标(Xk,Yk,Zk),k∈[1,n],构建n个方程组成的方程组,通过方程组求解,求出A,B,C,D;
S504、根据相机安装高度H,计算真实的地平面方程:
由于d(uk,vk)是相对尺度下的视差,这导致步骤S503求出的地平面方程,尺度不确定,因此需要进一步通过相机安装高度H计算真实的地平面方程,
AX+BY+CZ+D′=0 (5)
其中,
S505、计算路面坡度:根据步骤S504得出的真实的地平面方程,进而可以求出地平面在各个方向的坡度值。
例如可以计算纵向坡度值(纵向坡度为地面与汽车长度方向所成的夹角),建立校正后的相机坐标系YOZ平面与地平面交线的方程(7):
求出该交线的倾斜角
S6、输出道路区域及路面坡度:将道路区域检测结果标记到图像中,并将计算的路面坡度值输出。
参照图7,本发明另一目的是提供一种基于视觉的道路坡度计算装置,该计算装置包括:
图像获取单元100,用于获取相机拍摄的图像;
图像校正单元200,用于对获取的图像通过校正得到校正后图像;
深度图获取单元300,用于利用离线训练好的深度学习模型对校正后图像进行深度预测,获得深度图,并转化为视差图;
检测单元400,用于对视差图按列处理,确定所有的地面像素点,所有的地面像素点的图像坐标位置,构成道路区域检测结果;
计算单元500,用于根据地面像素点在视差图中的视差值以及相机距离地面的安装高度,拟合地平面方程,计算得出路面坡度;
输出单元600,用于将道路区域检测结果标记到图像中,并将计算的路面坡度值输出。
参照图8,所述检测单元400具体包括:
第一处理子单元410,用于读取视差图中任意一个未被处理过的列,对该读取列视差值进行求导,得到对应的导数值,将导数值按列存储,得到导数值的存储列,并计算存储列中从最大行rm行到rm-r1行的所有导数值的均值t1,确定t1为基准值,其中r1为第一阈值,即预先设定的用于计算t1的行数阈值;
第一遍历子单元420,用于初始化不满足条件行的计数为0,并在上述存储列中,从最大行rm行开始,向上一行rm-1行进行遍历,一直遍历至最小行,所述最小行为存储列中最上方的行,读取当前遍历行r的导数值val;
第一判断子单元430,用于将val与t1根据第一种情况及第二种情况进行比较:
第一种情况:当abs(t1-val)<t1×t2时,其中t2为第二阈值,abs表示计算绝对值,将不满足条件行的计数设置为0,然后继续遍历,更新当前遍历行r为r的上一行,重新进行判断满足第一种情况还是第二种情况,执行相应的操作;
第二种情况:当abs(t1-val)≥t1×t2时,其中t2为第二阈值,abs表示计算绝对值,将不满足条件行的计数在原有计数数值基础上增加1,并读取不满足条件行的计数数值N,判断N是否满足N≥t3,其中t3为第三阈值,当N≥t3时,将(r+t3-1)行确定为当前读取列中地面与障碍物交界位置出现的行,结束对当前存储列的行遍历;当不满足N≥t3时,则继续遍历,更新当前遍历行r为r的上一行,重新进行判断满足第一种情况还是第二种情况,执行相应的操作;
第一重复指示子单元440,用于指示所述第一处理子单元、第一遍历子单元和第一判断子单元重复进行动作,直到完成视差图中所有列的处理,得到各个列的地面与障碍物交界位置出现的行;
第一确定子单元450,用于将视差图的每一列得到的地面与障碍物交界位置出现的行至最大行中的像素点确定为地面像素点,这些地面像素点的图像坐标位置,构成道路区域检测结果。
参照图9,所述计算单元500具体包括:
像素点采样子单元510,用于对标记为道路区域的地面像素点,进行等间隔采样,选取n个地面像素点用于拟合地面方程;
第一计算子单元520,用于计算所述n个地面像素点的三维坐标点:
对于采样的像素点(uk,vk),k∈[1,n],n为采样的像素点总个数,计算其对应的三维坐标点(Xk,Yk,Zk),计算公式为:
其中,d(uk,vk)表示视差图中,(uk,vk)点的视差值,K为相机参数矩阵;
第二计算子单元530,用于根据计算得到的n个地面像素点三维坐标点(Xk,Yk,Zk)拟合地平面方程,具体为:
令地平面方程为:
AX+BY+CZ+D=0 (4)
其中,A,B,C,D为待求解的系数,代入已经求出的地面点坐标(Xk,Yk,Zk),k∈[1,n],构建n个方程组成的方程组,通过方程组求解,求出A,B,C,D;
第三计算子单元540,用于根据相机安装高度H,计算真实的地平面方程:
AX+BY+CZ+D′=0 (5)
其中,
第四计算子单元550,用于计算路面坡度:根据得出的真实的地平面方程,进而可以求出地平面在各个方向的坡度值。
可见,通过本发明的计算方法及装置可以同时获得道路区域及道路坡度,和现有技术相比,本专利方法利用单帧图像即可完成对道路的坡度估计,对设备要求更低,检测效果更鲁棒,并且无需提取路面车道线信息,对无车道线路面也适用,适用性更广。
以上所述仅为本发明的优选实例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡对本发明所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种基于视觉的道路坡度计算方法,其特征在于,具体包括以下步骤:
S1、获取相机拍摄的图像;
S2、图像校正:对获取的图像通过校正得到校正后图像;
S3、获取深度图:利用离线训练好的深度学习模型对校正后图像进行深度预测,获得深度图,并转化为视差图;
S4、道路区域检测:对视差图按列处理,确定所有的地面像素点,所有的地面像素点的图像坐标位置,构成道路区域检测结果;
S5、路面坡度计算:根据地面像素点在视差图中的视差值以及相机距离地面的安装高度,拟合地平面方程,计算得出路面坡度;
S6、输出道路区域及路面坡度:将道路区域检测结果标记到图像中,并将计算的路面坡度值输出;
所述步骤S5的路面坡度计算具体包括以下步骤:
S501、对标记为道路区域的地面像素点,进行等间隔采样,选取n个地面像素点用于拟合地面方程;
S502、计算所述n个地面像素点的三维坐标点:
对于采样的像素点(uk,vk),k∈[1,n],n为采样的像素点总个数,计算其对应的三维坐标点(Xk,Yk,Zk),计算公式为:
其中,d(uk,vk)表示视差图中,(uk,vk)点的视差值,K为相机参数矩阵;
S503、根据计算得到的n个地面像素点三维坐标点(Xk,Yk,Zk)拟合地平面方程,具体为:
令地平面方程为:
AX+BY+CZ+D=0 (4)
其中,A,B,C,D为待求解的系数,代入已经求出的地面点坐标(Xk,Yk,Zk),k∈[1,n],构建n个方程组成的方程组,通过方程组求解,求出A,B,C,D;
S504、根据相机安装高度H,计算真实的地平面方程:
由于d(uk,vk)是相对尺度下的视差,这导致步骤S503求出的地平面方程,尺度不确定,因此需要进一步通过相机安装高度H计算真实的地平面方程,
AX+BY+CZ+D′=0 (5)
其中,
S505、计算路面坡度:根据步骤S504得出的真实的地平面方程,进而可以求出地平面在各个方向的坡度值。
2.如权利要求1所述的一种基于视觉的道路坡度计算方法,其特征在于,所述步骤S2的校正方法具体包括:
将原始输入图像利用相机的内参数校正得到无畸变图像,利用离线外参标定方法,事先标定出相机安装角度,包括相机的安装俯角、滚动角和偏航角,利用所述安装角度,将经内参校正后的无畸变图像,进一步校正为无安装角度的校正后图像。
3.如权利要求1所述的一种基于视觉的道路坡度计算方法,其特征在于,所述步骤S4的道路区域检测具体包括以下步骤:
S401、读取视差图中任意一个未被处理过的列,对该读取列视差值进行求导,得到对应的导数值,将导数值按列存储,得到导数值的存储列,并计算存储列中从最大行rm行到rm-r1行的所有导数值的均值t1,确定t1为基准值,其中r1为第一阈值,即预先设定的用于计算t1的行数阈值;由于导数值的存储列和当前读取列对应,所以导数值存储列的行数,和视差图的行数相等,所述最大行rm行为当前导数值的存储列中位于最下方的行;
然后,初始化不满足条件行的计数为0,并在上述存储列中,从最大行rm行开始,向上一行rm-1行进行遍历,一直遍历至最小行,所述最小行为存储列中最上方的行,读取当前遍历行r的导数值val,将val与基准值t1根据第一种情况及第二种情况进行比较:
第一种情况:当abs(t1-val)<t1×t2时,其中t2为第二阈值,abs表示计算绝对值,将不满足条件行的计数设置为0,然后继续遍历,更新当前遍历行r为r的上一行,重新进行判断满足第一种情况还是第二种情况,执行相应的操作;
第二种情况:当abs(t1-val)≥t1×t2时,其中t2为第二阈值,abs表示计算绝对值,将不满足条件行的计数在原有计数数值基础上增加1,并读取不满足条件行的计数数值N,判断N是否满足N≥t3,其中t3为第三阈值,当N≥t3时,将(r+t3-1)行确定为当前读取列中地面与障碍物交界位置出现的行,结束对当前存储列的行遍历;当不满足N≥t3时,则继续遍历,更新当前遍历行r为r的上一行,重新进行判断满足第一种情况还是第二种情况,执行相应的操作;
S402、重复步骤S401,直到完成视差图中所有列的处理,得到各个列的地面与障碍物交界位置出现的行;
S403、对于视差图的每一列,上述处理过程中得到的地面与障碍物交界位置出现的行至最大行中的像素点确定为地面像素点,这些地面像素点的图像坐标位置,构成道路区域检测结果。
4.一种基于视觉的道路坡度计算装置,其特征在于,该计算装置包括:
图像获取单元,用于获取相机拍摄的图像;
图像校正单元,用于对获取的图像通过校正得到校正后图像;
深度图获取单元,用于利用离线训练好的深度学习模型对校正后图像进行深度预测,获得深度图,并转化为视差图;
检测单元,用于对视差图按列处理,确定所有的地面像素点,所有的地面像素点的图像坐标位置,构成道路区域检测结果;
计算单元,用于根据地面像素点在视差图中的视差值以及相机距离地面的安装高度,拟合地平面方程,计算得出路面坡度;
输出单元,用于将道路区域检测结果标记到图像中,并将计算的路面坡度值输出;
所述计算单元具体包括:
像素点采样子单元,用于对标记为道路区域的地面像素点,进行等间隔采样,选取n个地面像素点用于拟合地面方程;
第一计算子单元,用于计算所述n个地面像素点的三维坐标点:
对于采样的像素点(uk,vk),k∈[1,n],n为采样的像素点总个数,计算其对应的三维坐标点(Xk,Yk,Zk),计算公式为:
其中,d(uk,vk)表示视差图中,(uk,vk)点的视差值,K为相机参数矩阵;
第二计算子单元,用于根据计算得到的n个地面像素点三维坐标点(Xk,Yk,Zk)拟合地平面方程,具体为:
令地平面方程为:
AX+BY+CZ+D=0 (4)
其中,A,B,C,D为待求解的系数,代入已经求出的地面点坐标(Xk,Yk,Zk),k∈[1,n],构建n个方程组成的方程组,通过方程组求解,求出A,B,C,D;
第三计算子单元,用于根据相机安装高度H,计算真实的地平面方程:
AX+BY+CZ+D′=0 (5)
其中,
第四计算子单元,用于计算路面坡度:根据得出的真实的地平面方程,进而可以求出地平面在各个方向的坡度值。
5.如权利要求4所述的一种基于视觉的道路坡度计算装置,其特征在于,所述检测单元具体包括:
第一处理子单元,用于读取视差图中任意一个未被处理过的列,对该读取列视差值进行求导,得到对应的导数值,将导数值按列存储,得到导数值的存储列,并计算存储列中从最大行rm行到rm-r1行的所有导数值的均值t1,确定t1为基准值,其中r1为第一阈值,即预先设定的用于计算t1的行数阈值;
第一遍历子单元,用于初始化不满足条件行的计数为0,并在上述存储列中,从最大行rm行开始,向上一行rm-1行进行遍历,一直遍历至最小行,所述最小行为存储列中最上方的行,读取当前遍历行r的导数值val;
第一判断子单元,用于将val与t1根据第一种情况及第二种情况进行比较:
第一种情况:当abs(t1-val)<t1×t2时,其中t2为第二阈值,abs表示计算绝对值,将不满足条件行的计数设置为0,然后继续遍历,更新当前遍历行r为r的上一行,重新进行判断满足第一种情况还是第二种情况,执行相应的操作;
第二种情况:当abs(t1-val)≥t1×t2时,其中t2为第二阈值,abs表示计算绝对值,将不满足条件行的计数在原有计数数值基础上增加1,并读取不满足条件行的计数数值N,判断N是否满足N≥t3,其中t3为第三阈值,当N≥t3时,将(r+t3-1)行确定为当前读取列中地面与障碍物交界位置出现的行,结束对当前存储列的行遍历;当不满足N≥t3时,则继续遍历,更新当前遍历行r为r的上一行,重新进行判断满足第一种情况还是第二种情况,执行相应的操作;
第一重复指示子单元,用于指示所述第一处理子单元、第一遍历子单元和第一判断子单元重复进行动作,直到完成视差图中所有列的处理,得到各个列的地面与障碍物交界位置出现的行;
第一确定子单元,用于将视差图的每一列,得到的地面与障碍物交界位置出现的行至最大行中的像素点确定为地面像素点,这些地面像素点的图像坐标位置,构成道路区域检测结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010884115.7A CN112184792B (zh) | 2020-08-28 | 2020-08-28 | 一种基于视觉的道路坡度计算方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010884115.7A CN112184792B (zh) | 2020-08-28 | 2020-08-28 | 一种基于视觉的道路坡度计算方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112184792A CN112184792A (zh) | 2021-01-05 |
CN112184792B true CN112184792B (zh) | 2023-05-26 |
Family
ID=73923983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010884115.7A Active CN112184792B (zh) | 2020-08-28 | 2020-08-28 | 一种基于视觉的道路坡度计算方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112184792B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112862890B (zh) * | 2021-02-07 | 2023-07-04 | 黑芝麻智能科技(重庆)有限公司 | 道路坡度预测方法、装置和存储介质 |
CN113516712B (zh) * | 2021-04-27 | 2024-06-21 | 北京车和家信息技术有限公司 | 目标位置确定方法和装置 |
CN113034586B (zh) * | 2021-04-27 | 2022-09-23 | 北京邮电大学 | 道路倾角检测方法和检测系统 |
CN113902047B (zh) * | 2021-12-10 | 2022-03-04 | 腾讯科技(深圳)有限公司 | 图像元素匹配方法、装置、设备以及存储介质 |
CN116625317B (zh) * | 2023-07-26 | 2023-10-03 | 天津达一众诚科技有限公司 | 一种基于图像处理的陡坡表面坡度检测方法及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104050654A (zh) * | 2013-03-11 | 2014-09-17 | 株式会社理光 | 道路边缘检测方法和装置 |
AU2017100399A4 (en) * | 2016-04-08 | 2017-05-11 | Sivalogeswaran Ratnasingam | Traffic Aware Lane Determination for Human Driver and Autonomous Vehicle Driving System |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2848935B1 (fr) * | 2002-12-20 | 2005-04-29 | Valeo Vision | Procede de detection de virages sur une route et systeme de mise en oeuvre |
CN106525057A (zh) * | 2016-10-26 | 2017-03-22 | 陈曦 | 高精度道路地图的生成系统 |
JP6901386B2 (ja) * | 2017-12-08 | 2021-07-14 | 株式会社東芝 | 勾配推定装置、勾配推定方法、プログラムおよび制御システム |
CN108280401B (zh) * | 2017-12-27 | 2020-04-07 | 达闼科技(北京)有限公司 | 一种路面检测方法、装置、云端服务器及计算机程序产品 |
CN109629379B (zh) * | 2018-11-27 | 2021-08-03 | 上海炬宏信息技术有限公司 | 一种基于手机传感器数据的路面检测方法 |
CN109900254B (zh) * | 2019-03-28 | 2021-06-08 | 合肥工业大学 | 一种单目视觉的路面坡度计算方法及其计算装置 |
CN110555407B (zh) * | 2019-09-02 | 2022-03-08 | 东风汽车有限公司 | 路面车辆空间识别方法及电子设备 |
-
2020
- 2020-08-28 CN CN202010884115.7A patent/CN112184792B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104050654A (zh) * | 2013-03-11 | 2014-09-17 | 株式会社理光 | 道路边缘检测方法和装置 |
AU2017100399A4 (en) * | 2016-04-08 | 2017-05-11 | Sivalogeswaran Ratnasingam | Traffic Aware Lane Determination for Human Driver and Autonomous Vehicle Driving System |
Also Published As
Publication number | Publication date |
---|---|
CN112184792A (zh) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112184792B (zh) | 一种基于视觉的道路坡度计算方法及装置 | |
CN110569704B (zh) | 一种基于立体视觉的多策略自适应车道线检测方法 | |
CN108885791B (zh) | 地面检测方法、相关装置及计算机可读存储介质 | |
CN104318561B (zh) | 基于双目立体视觉与光流融合的车辆运动信息检测方法 | |
CN110264525B (zh) | 一种基于车道线与目标车辆的相机标定方法 | |
CN109752701A (zh) | 一种基于激光点云的道路边沿检测方法 | |
CN112037159B (zh) | 一种跨相机道路空间融合及车辆目标检测跟踪方法及系统 | |
KR102249769B1 (ko) | 2차원 영상의 픽셀별 3차원 좌표값 추정 방법 및 이를 이용한 자율주행정보 추정 방법 | |
CN112801074B (zh) | 一种基于交通摄像头的深度图估计方法 | |
CN112489106A (zh) | 基于视频的车辆尺寸测量方法、装置、终端及存储介质 | |
CN111862234A (zh) | 双目相机自标定方法及系统 | |
CN113205604A (zh) | 一种基于摄像机和激光雷达的可行区域检测方法 | |
JP5310027B2 (ja) | 車線認識装置、及び車線認識方法 | |
CN111178193A (zh) | 一种车道线的检测方法、检测装置及计算机可读存储介质 | |
CN112116644B (zh) | 一种基于视觉的障碍物检测方法和装置、障碍物距离计算方法和装置 | |
CN114550042A (zh) | 一种道路消失点提取方法、车载传感器标定方法及装置 | |
CN111998862A (zh) | 一种基于bnn的稠密双目slam方法 | |
CN112529903A (zh) | 一种楼梯高度宽度视觉检测方法、装置及机器狗 | |
CN111047636B (zh) | 基于主动红外双目视觉的避障系统和避障方法 | |
CN111476798A (zh) | 一种基于轮廓约束的车辆空间形态识别方法及系统 | |
CN107248171B (zh) | 一种基于三角剖分的单目视觉里程计尺度恢复方法 | |
CN112016568A (zh) | 一种目标对象的图像特征点的跟踪方法及装置 | |
CN113450335B (zh) | 一种路沿检测方法、路沿检测装置及路面施工车辆 | |
CN111709998A (zh) | 一种tof相机深度数据测量误差校正的elm空间配准模型方法 | |
CN112258582B (zh) | 一种基于道路场景识别的相机姿态标定方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |