CN114998412B - 基于深度网络和双目视觉的阴影区域视差计算方法和系统 - Google Patents
基于深度网络和双目视觉的阴影区域视差计算方法和系统 Download PDFInfo
- Publication number
- CN114998412B CN114998412B CN202210914862.XA CN202210914862A CN114998412B CN 114998412 B CN114998412 B CN 114998412B CN 202210914862 A CN202210914862 A CN 202210914862A CN 114998412 B CN114998412 B CN 114998412B
- Authority
- CN
- China
- Prior art keywords
- parallax
- value
- shadow
- image
- original
- 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 21
- 238000000034 method Methods 0.000 claims abstract description 50
- 230000011218 segmentation Effects 0.000 claims abstract description 36
- 238000004422 calculation algorithm Methods 0.000 claims description 12
- 239000000284 extract Substances 0.000 claims description 7
- 238000005070 sampling Methods 0.000 claims description 7
- 238000012216 screening Methods 0.000 claims description 3
- 238000000926 separation method Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 239000011159 matrix material Substances 0.000 description 7
- 238000004590 computer program Methods 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 238000003384 imaging method Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 3
- 230000009897 systematic effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000004931 aggregating effect Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000010339 dilation Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009466 transformation Effects 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/751—Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
-
- 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/20084—Artificial neural networks [ANN]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于深度网络和双目视觉的阴影区域视差计算方法和系统,所述方法包括:获取目标区域内的原始图像,提取所述原始图像中的阴影区域,并计算所述阴影区域内的初始视差图;通过预先创建的网络分割模型,标记所述阴影区域的阴影边界,并提取所述初始视差图中所述阴影边界的原视差值;基于模板匹配方法计算所述阴影边界的新视差值,并计算所述阴影边界上每个像素点所述新视差值与所述原视差值的差值;若所述差值大于预设阈值,则剔除该差值对应的原视差值,以得到具有空白的更新视差图;将所述原始图像中非阴影区域的视差值以插值形式填充至所述更新视差图的空白处,以得到阴影区域的新视差图。解决了现有技术中阴影区域视差值准确性较差的技术问题。
Description
技术领域
本发明涉及辅助驾驶技术领域,具体涉及一种基于深度网络和双目视觉的阴影区域视差计算方法和系统。
背景技术
近年来,自动驾驶和辅助驾驶得到了广泛的使用,通过双目立体匹配获得视差图,从而获取物体的三维信息是自动驾驶领域的核心算法之一。阴影是路面图像常见的情景,建筑物、树木、车辆、行人等均会在路面上形成阴影,但是阴影部分的特征提取和识别较为困难。
现有技术中,采用传统立体匹配获得阴影区域的新视差图。但是,实际使用场景中,对于左图中某个阴影区域,在右图中可能有若干区域与之相似,这使得传统立体匹配得到的视差值存在较大误差,继而使得阴影区域的三维信息不能准确获得,转换到世界坐标系后阴影部分的高度明显大于路面其他部分,这将对自动驾驶系统对路面场景的判断和操作产生较大的干扰。
发明内容
为此,本发明实施例提供一种基于深度网络和双目视觉的阴影区域视差计算方法和系统,以期至少部分解决现有技术中阴影区域视差值准确性较差的技术问题。
为了实现上述目的,本发明实施例提供如下技术方案:
一种基于深度网络和双目视觉的阴影区域视差计算方法,所述方法包括:
获取目标区域内的原始图像,提取所述原始图像中的阴影区域,并计算所述阴影区域内的初始视差图;
通过预先创建的网络分割模型,标记所述阴影区域的阴影边界,并提取所述初始视差图中所述阴影边界的原视差值;
基于模板匹配方法计算所述阴影边界的新视差值,并计算所述阴影边界上每个像素点所述新视差值与所述原视差值的差值;
若所述差值大于预设阈值,则剔除该差值对应的原视差值,以得到具有空白的更新视差图;
将所述原始图像中非阴影区域的视差值以插值形式填充至所述更新视差图的空白处,以得到阴影区域的新视差图。
进一步地,网络分割模型为U-Net分割模型,所述U-Net分割模型的网络结构包括编码器、下采样模块、解码器和上采样模块;
其中,所述下采样模块包括两个3×3卷积层和一个2×2的maxpooling层;所述上采样模块包括一个上采样卷积层、特征拼接层和两个3×3的卷积层。
进一步地,基于模板匹配方法计算所述阴影边界的新视差值,具体包括:
在所述原始图像的左图中获取所述阴影边界中每个像素点的模板图,在所述原始图像的右图获取与所述模板图对应的源图像;
采用SSIM算法对每一组模板图和源图像进行整像素模板匹配;
对整像素模板匹配得到的视差结果进行亚像素模板匹配,以得到所述阴影边界的新视差值。
进一步地,若所述差值大于预设阈值,则剔除该差值对应的原视差值,具体包括:
以世界坐标系中,目标区域与相机的实际距离为边界;
若阴影边界距离相机大于所述实际距离,且所述差值小于第一预设阈值,则保留所述差值对应像素点的原视差值,否则剔除所述差值对应像素点的原视差值;
若阴影边界距离相机大于所述实际距离,且所述差值小于第二预设阈值,则保留所述差值对应像素点的原视差值,否则剔除所述差值对应像素点的原视差值;
其中,所述第一预设阈值小于所述第二预设阈值。
进一步地,所述第一预设阈值为0.2,所述第二预设阈值为0.5。
进一步地,将所述原始图像中非阴影区域的视差值以插值形式填充至所述更新视差图的空白处,以得到阴影区域的新视差图,具体包括:
利用OCR-Net网络将路面分割出来,以得到路面分隔结果;
将所去除的部分各个方向均膨胀两个像素单位,以得到更新视差图;
获取所述更新视差图中视差值为零的位置和端点处的非零值,用非零值线性插值填充视差值为零的位置,以得到阴影区域的新视差图。
本发明还提供一种基于深度网络和双目视觉的阴影区域视差计算系统,所述系统包括:
初始视差获取单元,用于获取目标区域内的原始图像,提取所述原始图像中的阴影区域,并计算所述阴影区域内的初始视差图;
边界视差提取单元,用于通过预先创建的网络分割模型,标记所述阴影区域的阴影边界,并提取所述初始视差图中所述阴影边界的原视差值;
视差差值计算单元,用于基于模板匹配方法计算所述阴影边界的新视差值,并计算所述阴影边界上每个像素点所述新视差值与所述原视差值的差值;
视差筛选单元,用于在所述差值大于预设阈值时,剔除该差值对应的原视差值,以得到具有空白的更新视差图;
结果输出单元,用于将所述原始图像中非阴影区域的视差值以插值形式填充至所述更新视差图的空白处,以得到阴影区域的新视差图。
本发明还提供一种智能终端,所述智能终端包括:数据采集装置、处理器和存储器;
所述数据采集装置用于采集数据;所述存储器用于存储一个或多个程序指令;所述处理器,用于执行一个或多个程序指令,用以执行如上所述的方法。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于执行如上所述的方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上所述的方法。
本发明所提供的基于深度网络和双目视觉的阴影区域视差计算方法,通过获取目标区域内的原始图像,提取所述原始图像中的阴影区域,并计算所述阴影区域内的初始视差图;通过预先创建的网络分割模型,标记所述阴影区域的阴影边界,并提取所述初始视差图中所述阴影边界的原视差值;基于模板匹配方法计算所述阴影边界的新视差值,并计算所述阴影边界上每个像素点所述新视差值与所述原视差值的差值;若所述差值大于预设阈值,则剔除该差值对应的原视差值,以得到具有空白的更新视差图;将所述原始图像中非阴影区域的视差值以插值形式填充至所述更新视差图的空白处,以得到阴影区域的新视差图。
这样,在对阴影边界处进行二次视差计算时,可以使用更大的滑动窗口重新计算阴影部分视差,并在剔除错误的视差之后,再用周围路面的视差进行插值填充,以便降低传统立体匹配得到的视差值的误差,继而使得阴影区域的三维信息得以准确获得,后续使用时,转换到世界坐标系后阴影部分的高度不会明显大于路面其他部分,为自动驾驶系统对路面场景的判断和操作提供较为准确的数据支持,解决了现有技术中阴影区域视差值准确性较差的技术问题。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。
图1为本发明所提供的基于深度网络和双目视觉的阴影区域视差计算方法一种具体实施方式的流程图;
图2为图1所示方法中MBConv网络结构的示意图;
图3为图1所示方法中U-Net网络结构的示意图;
图4为U-Net的分割效果图;
图5为数据标注效果图;
图6为基于模板匹配方法计算阴影边界的新视差值的流程图;
图7为SSD拟合曲线图;
图8为阴影区域的新视差效果图;
图9为视差剔除流程图;
图10为视差剔除效果图;
图11为视差插值流程图;
图12为OCR-Net网络结构图;
图13为OCR-Net分割效果图;
图14为一个使用场景下的分割效果图;
图15为本发明所提供的基于深度网络和双目视觉的阴影区域视差计算系统一种具体实施方式的结构框图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决阴影区域视差准确性较差的技术问题,本发明提出了一种基于深度网络和双目视觉的阴影区域视差计算方法和系统,通过对阴影部分视差的二次计算,以便剔除初始视差图中错误的视差之后,再用周围路面的视差进行插值填充,从而纠正阴影部分错误的视差,以提高阴影区域视差准确性,使其投影到世界坐标系后阴影部分的高度得以明显下降,从而为自动驾驶提供准确的数据支持。
首先对本发明所涉及的相关技术术语进行解释。
立体匹配:通过找出每对图像间的对应关系,根据三角测量原理,得到视差图。
视差图:同一个场景在左右两个相机下成像的像素的位置偏差所构成的图像。比如,场景中的X点在左相机是x坐标,在右相机成像则是(x+d)坐标,那么d就是视差图中X坐标点的值。视差图上每一点的视差记为disp。
模板图:以阴影边界中每个像素点为中心,半径为r生成一个(2r+1)×(2r+1)大小的模板图;
源图像:在对应右图的同一行,向左扩充50个像素单位得到与所述模板图对应的(2r+1+50)×(2r+1)大小的源图像;
模板匹配:模板图是一副已知的小图,源图像是包含模板图的大图,模板匹配就是通过一定的算法在源图像中找到模板图像并确定其坐标位置。
SSIM算法:结构相似性算法,用于衡量两幅图片相似度,也被用于图片质量评价(如压缩后图像与原图的相似度),SSIM计算组成包括三部分:亮度对比、对比度对比和结构对比。
双目校正:根据相机标定后获得的单目内参数据(焦距、成像原点、畸变系数)和双目相对位置关系(旋转矩阵和平移向量),分别对左右视图进行消除畸变和行对准,使得左右视图的成像原点坐标一致、两相机光轴平行、左右成像平面共面、对极线行对齐。
像素坐标系:以图像左上角为原点建立以像素为单位的u-v直角坐标系,像素的横坐标u与纵坐标v分别是其图像数组中所在的列数与行数。
世界坐标系:物体在真实世界中的坐标。
SSD抛物线拟合:采用平方差和SSD作为相似度值,抛物线作为插值函数,逐像素插值。
请参考图1,图1为本发明所提供的基于深度网络和双目视觉的阴影区域视差计算方法一种具体实施方式的流程图。
在一种具体实施方式中,本发明所提供的基于深度网络和双目视觉的阴影区域视差计算方法包括以下步骤:
S101:获取目标区域内的原始图像,提取所述原始图像中的阴影区域,并计算所述阴影区域内的初始视差图;应当理解的是,该处的初始视差图即为通过传统立体匹配算法得到的视差图,该部分采用的滑动窗口通常为5×5大小。
S102:通过预先创建的网络分割模型,标记所述阴影区域的阴影边界,并提取所述初始视差图中所述阴影边界的原视差值;在具体场景中,通过U-Net(backbone为EfficientNet)网络分割得到阴影边界。
S103:基于模板匹配方法计算所述阴影边界的新视差值,并计算所述阴影边界上每个像素点所述新视差值与所述原视差值的差值;该步骤中模板匹配方法采用的是11×11大小的滑动窗口,从而通过增加滑动窗口的规格,重新计算阴影边界处视差,在后续步骤中通过找到并修正阴影部分错误的视差值,降低阴影对自动驾驶的干扰,使得自动驾驶系统对路面场景的判断和操作更精确。
S104:若所述差值大于预设阈值,则剔除该差值对应的原视差值,以得到具有空白的更新视差图;也就是说,计算阴影边界处新视差与原视差的差值,按阈值剔除原视差中错误的视差。
S105:将所述原始图像中非阴影区域的视差值以插值形式填充至所述更新视差图的空白处,以得到阴影区域的新视差图;例如,用OCR-Net网络得到路面的分割结果图,用路面非阴影部分的视差值插值填充空白处。
在一些实施例中,步骤S102中所使用的网络分割模型为U-Net分割模型,所述U-Net分割模型的网络结构包括编码器、下采样模块、解码器和上采样模块;其中,所述下采样模块包括两个3×3卷积层和一个2×2的maxpooling层;所述上采样模块包括一个上采样卷积层、特征拼接层和两个3×3的卷积层。
具体地,深度学习网络模型主要包括backbone和U-Net两部分,其中backbone采用的是EfficientNet模型。EfficientNet实现了影响网络性能的深度、宽度、分辨率三个因素的综合考虑,内部采用MBConv块堆叠而成,网络结构如图2所示,resolution表示输入stagei的图片分辨率,channels表示通过stagei后特征矩阵的通道数,layers表示stage i中重复操作Fi的次数。
MBConv结构主要由一个1×1的普通卷积(起升维作用,包含BatchNorm和Swish激活函数),一个k×k的Depthwise Conv卷积(包含BatchNorm和Swish激活函数),一个SE模块,一个1×1的普通卷积(起降维作用,包含BN)和一个Dropout层组成,Short cut仅当输入MBConv结构的特征矩阵与输出的特征矩阵shape相同时才存在。SE模块由一个全局平均池化,两个全连接层组成,第一个全连接层的节点个数是输入该MBConv特征矩阵channels的1/4,且使用Swish激活函数。第二个全连接层的节点个数等于Depthwise Conv层输出的特征矩阵channels,且使用Sigmoid激活函数。EfficientNetb1~b7均是在EfficientNetb0的基础上对网络宽度、深度以及dropout乘以某个倍率因子,本发明采用的是EfficientNetb6模型。
U-Net是一个典型的分割模型,网络结构如图3所示。左边为特征提取网络(编码器),下采样模块由两个3×3卷积层和一个2×2的maxpooling层组成;右边为特征融合网络(解码器),使用拼接作为特征图的融合方式,上采样模块由一个上采样卷积层,特征拼接和两个3×3的卷积层组成。U-Net为本实施例优选的分割模型,其余两个模型也可以视情况选择。
在一个具体使用场景中,U-Net的分割效果如图4中(a)-(c)所示,其中,图4中(a)为原图,经U-Net得到的分割结果如图4中(b)所示,由于传统立体匹配采用的滑动窗口为5×5大小,因此以每个阴影边界点为中心的9×9大小窗口内的视差都有误差,所以需要对阴影分割结果用9×9的卷积核进行膨胀,膨胀结果如图4中(c)所示。
在利用上述U-Net分割模型分割得到阴影边界时,需先进行数据标注,具体地,由于相机采集的1280×720图像的阴影很难标注,并且我们更关注路面可行驶区域内的阴影,故根据相机参数将可行驶区域裁剪下来,这里裁剪大小为768×288。考虑到路面阴影的情况较为复杂,斑驳的树阴非常常见,且阴影区域内可能包含车辆、行人、路标等其他物体,因此这里只对阴影边界进行标注,如图5中(a)-(b)所示,其中,图5中(a)为原图,图5中(b)为标注后的标签图。
在上述S103中,所述原始图像包括双目相机的左目图像和右目图像,所述左目图像为所述原始图像的左图,所述右目图像为所述原始图像的右图,如图6所示,基于模板匹配方法计算所述阴影边界的新视差值,具体包括以下步骤:
S601:在所述原始图像的左图中获取所述阴影边界中每个像素点的模板图,在所述原始图像的右图获取与所述模板图对应的源图像;
S602:采用SSIM算法对每一组模板图和源图像进行整像素模板匹配;
S603:对整像素模板匹配得到的视差结果进行亚像素模板匹配,以得到所述阴影边界的新视差值。
在一个具体使用场景中,基于模板匹配方法计算所述阴影边界的新视差值,也就是对阴影边界用模板匹配方法重新计算视差值的具体过程包括得到模板图和源图像、整像素模板匹配和亚像素模板匹配。
具体地,得到模板图和源图像时,对第一步得到的阴影边界以更大的滑动窗口进行模板匹配计算新的视差。首先根据纹理信息对路面图片做预处理,用灰度共生矩阵GLCM提取图片的对比度信息(反应图像的清晰度和纹理的沟纹深浅,纹理越清晰、反差越大,对比度就越大)。统计对比度图中像素不为0的个数,如果大于(h×w)/2,表示图片的纹理信息较强,则滑动窗口大小为11×11;否则为15×15,其中h,w表示路面图像的高和宽。
找左图中的模板图以及对应右图中的源图像,进行模板匹配。左图中以每个阴影边界点为中心,半径为r生成一个(2r+1)×(2r+1)的模板图。由于我们得到的左、右图是已经经过双目校正的图片,因此源图像在右图像素平面的v坐标与模板图在左图的v坐标相同。为了减少计算量,在右图同样的位置向左扩充50个像素单位得到源图像,应当理解的是,文中左图是指双目相机中的左目相机采集到的原始图像,右目是指双目相机中的右目相机采集到的原始图像。
在进行整像素模板匹配时,本发明采用SSIM算法对每一组模板图和源图像进行模板匹配。设阴影边界点在左图像素平面中的坐标为(x,y),则模板图在左图中的位置为(x-r-1:x+r;y-r-1:y+ r),源图像在右图中的位置为(x-r-1-50:x+r;y-r-1:y+r)。对于SSIM算法来说,输出值越大代表这两个图像相似度越高,设最大值对应的区域在源图像中的位置为s,则匹配到的区域在右图中的位置为(x-r-1-50+s:x+r-50+s;y-r-1:y+r)。用模板图在左图中u坐标的起始值减去匹配到的区域在右图中u坐标的起始值,从而得到该点处的视差disp0 =x-r-1-(x-r-1-50+s)= 50-s。
由于整像素视差的精度不够,因此需要进一步处理得到亚像素估计。在进行亚像素模板匹配时,首先用SSD抛物线拟合估计亚像素位移,如图7和图8中(a)-(c)所示,其中,图7为SSD拟合曲线图,图8中(a)为左图,图8中(b)为右图,图8中(c)为阴影区域的新视差图。相似度值计算为,其中表示模板图像在源图像中逐像素平移得到的各区域的特征值,g为模板图的特征值,,S(0)表示由SSIM算法匹配到的区域的位置。
SSD拟合有一个众所周知的系统误差,称为像素锁定效应——向整数像素位置倾斜。亚像素估计误差的变化为一个像素周期的三角函数,为了减小系统误差,用0.5像素平移模板图像得到另一个亚像素估计,与的误差幅度几乎相同,相位相反。通过逐像素计算来获得亚像素,对和取均值可得到亚像素偏移量d。阴影边界点的亚像素视差disp = disp0+d。
进一步地,在步骤S104中,如图9所示,若所述差值大于预设阈值,则剔除该差值对应的原视差值,具体包括以下步骤:
S1001:以世界坐标系中,目标区域与相机的实际距离为边界;
S1002:若阴影边界距离相机大于所述实际距离,且所述差值小于第一预设阈值,则保留所述差值对应像素点的原视差值,否则剔除所述差值对应像素点的原视差值;
S1003:若阴影边界距离相机大于所述实际距离,且所述差值小于第二预设阈值,则保留所述差值对应像素点的原视差值,否则剔除所述差值对应像素点的原视差值;
其中,所述第一预设阈值小于所述第二预设阈值,具体地,所述第一预设阈值为0.2,所述第二预设阈值为0.5。
在一个使用场景中,计算新视差值与原视差值的差值,按阈值剔除原视差中错误的视差时,对于第二步得到的阴影边界视差,计算与原视差的差值diff。考虑到距离越近的点视差越大,越远的点视差越小,故以世界坐标系中Wz=20m的位置为边界(Wz表示世界坐标系中物体到相机的实际距离),若阴影距离相机大于20m,且diff小于0.2,则保留此处视差,否则舍弃;若小于20m,且diff小于0.5,则保留此处视差,否则舍弃。由以下公式将Wz转换到图片的像素坐标系中,在图像中表示为:如果u坐标小于460,则以0.2为阈值,否则以0.5为阈值。
其中,c_high为相机的安装高度,f为相机焦距,Imgy为像素平面的u坐标。
该使用场景中,如图10中(a)-(c)所示,其中,图10中(a)为左图,图10中(b)为原视差图,图10中(c)为按阈值剔除错误视差后的视差图。
进一步地,在上述步骤S105中,将所述原始图像中非阴影区域的视差值以插值形式填充至所述更新视差图的空白处,以得到阴影区域的新视差图,如图11所示,具体包括以下步骤:
S1201:利用OCR-Net网络将路面分割出来,以得到路面分割结果;
S1202:将所去除的部分各个方向均膨胀两个像素单位,以得到更新视差图;
S1203:获取所述更新视差图中视差值为零的位置和端点处的非零值,用非零值线性插值填充视差值为零的位置,以得到阴影区域的新视差图。
在一个具体使用场景中,首先,利用OCR-Net将路面分割出来,其中,OCR-Net网络结构如图12所示,包括Backbone和OCR模块两部分;Backbone采用的是ResNet或者HRNet。OCR模块主要包括以下几个部分:目标区域软划分(softobjectregions)、目标区域表示(objectregionrepresentation)以及对象上下文表示(object-contextualrepresentations)。
目标区域软划分:将backbone得到的特征图划分为一组软对象区域{M1,M2,…,Mk},其中每个Mk对应一个类别k,即从深层网络中进行语义分割得到粗分割结果(通道数为类别数的特征图,每层表示该像素属于该类的概率)。
对象上下文表示:每个像素与每个对象区域之间的关系为:
对象上下文表示为:
OCR-Net对路面的分割结果以及对应的视差图如图13中(a)-(d)所示,其中,图13中(a)为原图,图13中(b)为分割得到的路面,图13中(c)为分割得到路面的视差,图13中(d)为剔除错误视差后的路面视差图。
对已剔除的阴影部分用路面非阴影部分插值填充时,对上述步骤所得到的视差图,结合OCR-Net路面分割结果,为了防止阴影部分视差没有被完全去除,我们将所去除的部分各个方向均膨胀两个像素单位。默认同一距离的路面非阴影部分视差值相差不大,因此对得到的新视差图,找到其视差值为零的地方和左右两端非零值,用非零值线性插值填充视差值为零的地方。为了更清楚的看到效果,将路面用以下公式投影到世界坐标系中:
其中,Imgx和Imgy分别为像素坐标系的u、v坐标;和分别为光心在像素坐标系上的u、v坐标。Wx、Wz为世界坐标系中物体的坐标,分别代表物体到相机的水平距离和物体到相机的实际距离,Wy为世界坐标系中物体的高度。
由于路面会有或多或少的坑坑洼洼,因此车辆行驶时,相机会有一定的俯仰角,而不再是与地面平行,此时上述方法计算得到的Wy不能代表真实世界中物体的高度。为此,选取车辆可行驶区域[-0.5,0.5]×[6,16]米范围内路面上所有的点,由这些点拟合得到路面,再根据世界坐标系中路面的坐标求出其真实高度H。分割结果如图14中(a)-(e)。其中,图14中(a)为裁剪的可行驶区域,图14中(b)为OCR-Net对可行驶区域的路面分割结果,图14中(c)为路面用原视差投影到世界坐标系的位置和高度,图14中(d)为去掉阴影部分错误视差后的投影,图14中(e)为用周围路面插值填充空白视差后的投影。
综上所述,本发明所提供的方法中,以更大的滑动窗口对阴影边界用模板匹配方法重新计算视差。具体地,以左图中阴影边界为中心,半径为r生成一个(2r+1)×(2r+1)的模板图,因为左、右图是已经经过双目校正的图片,因此模板匹配时只需要在右图中同一行去匹配,这样可以极大的降低计算量并且减小误差。再结合实际经验,由于我们截取的是距离相机27m以内的路面图像,其视差范围不会超过50,因此进一步缩小模板匹配的搜索范围,在右图同样的位置向左扩充50个像素单位得到源图像,大小为(2r+1+50)×(2r+1)。对于SSIM算法计算得到的视差,存在精度不足问题,最大值可能存在于SSIM输出的最大值与次大值之间,因此需要进行亚像素估计,提升视差精度。用SSD抛物线拟合估计亚像素位移,为了减少系统误差,再用0.5像素平移模板图像得到另一个亚像素估计,两者取均值得到亚像素偏移量d。
更进一步的,选取可行驶区域拟合路面,并计算路面的高度;由于车辆在行驶的过程中可能会存在颠簸,因此由所算得的高度和实际高度有偏差,再结合OCR-Net的路面分割结果,选取[-0.5, 0.5]m×[6, 16]m的可行驶路面区域,将其每一点通投影到世界坐标系中。设路面的方程为,已知x(Wx), y(Wy), z(Wz),求解系数A,B,C,即求解:
在上述具体实施方式中,本发明所提供的基于深度网络和双目视觉的阴影区域视差计算方法,通过获取目标区域内的原始图像,提取所述原始图像中的阴影区域,并计算所述阴影区域内的初始视差图;通过预先创建的网络分割模型,标记所述阴影区域的阴影边界,并提取所述初始视差图中所述阴影边界的原视差值;基于模板匹配方法计算所述阴影边界的新视差值,并计算所述阴影边界上每个像素点所述新视差值与所述原视差值的差值;若所述差值大于预设阈值,则剔除该差值对应的原视差值,以得到具有空白的更新视差图;将所述原始图像中非阴影区域的视差值以插值形式填充至所述更新视差图的空白处,以得到阴影区域的新视差图。
这样,在对阴影边界处进行二次视差计算时,可以使用更大的滑动窗口重新计算阴影部分视差,并在剔除错误的视差之后,再用周围路面的视差进行插值填充,以便降低传统立体匹配得到的视差值的误差,继而使得阴影区域的三维信息得以准确获得,后续使用时,转换到世界坐标系后阴影部分的高度不会明显大于路面其他部分,为自动驾驶系统对路面场景的判断和操作提供较为准确的数据支持,解决了现有技术中阴影区域视差值准确性较差的技术问题。
除了上述方法,本发明还提供一种基于深度网络和双目视觉的阴影区域视差计算系统,如图15所示,所述系统包括:
初始视差获取单元100,用于获取目标区域内的原始图像,提取所述原始图像中的阴影区域,并计算所述阴影区域内的初始视差图;
边界视差提取单元200,用于通过预先创建的网络分割模型,标记所述阴影区域的阴影边界,并提取所述初始视差图中所述阴影边界的原视差值;
视差差值计算单元300,用于基于模板匹配方法计算所述阴影边界的新视差值,并计算所述阴影边界上每个像素点所述新视差值与所述原视差值的差值;
视差筛选单元400,用于在所述差值大于预设阈值时,剔除该差值对应的原视差值,以得到具有空白的更新视差图;
结果输出单元500,用于将所述原始图像中非阴影区域的视差值以插值形式填充至所述更新视差图的空白处,以得到阴影区域的新视差图。
在上述具体实施方式中,本发明所提供的基于深度网络和双目视觉的阴影区域视差计算系统,通过获取目标区域内的原始图像,提取所述原始图像中的阴影区域,并计算所述阴影区域内的初始视差图;通过预先创建的网络分割模型,标记所述阴影区域的阴影边界,并提取所述初始视差图中所述阴影边界的原视差值;基于模板匹配方法计算所述阴影边界的新视差值,并计算所述阴影边界上每个像素点所述新视差值与所述原视差值的差值;若所述差值大于预设阈值,则剔除该差值对应的原视差值,以得到具有空白的更新视差图;将所述原始图像中非阴影区域的视差值以插值形式填充至所述更新视差图的空白处,以得到阴影区域的新视差图。
这样,在对阴影边界处进行二次视差计算时,可以使用更大的滑动窗口重新计算阴影部分视差,并在剔除错误的视差之后,再用周围路面的视差进行插值填充,以便降低传统立体匹配得到的视差值的误差,继而使得阴影区域的三维信息得以准确获得,后续使用时,转换到世界坐标系后阴影部分的高度不会明显大于路面其他部分,为自动驾驶系统对路面场景的判断和操作提供较为准确的数据支持,解决了现有技术中阴影区域视差值准确性较差的技术问题。
本发明还提供一种智能终端,所述智能终端包括:数据采集装置、处理器和存储器;
所述数据采集装置用于采集数据;所述存储器用于存储一个或多个程序指令;所述处理器,用于执行一个或多个程序指令,用以执行如上所述的方法。
与上述实施例相对应的,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中包含一个或多个程序指令。其中,所述一个或多个程序指令用于被一种双目相机深度标定系统执行如上所述的方法。
与上述实施例相对应的,本发明实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上所述的方法。
在本发明实施例中,处理器可以是一种集成电路芯片,具有信号的处理能力。处理器可以是通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific工ntegrated Circuit,简称ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。处理器读取存储介质中的信息,结合其硬件完成上述方法的步骤。
存储介质可以是存储器,例如可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。
其中,非易失性存储器可以是只读存储器(Read-Only Memory,简称ROM)、可编程只读存储器(Programmable ROM,简称PROM)、可擦除可编程只读存储器(Erasable PROM,简称EPROM)、电可擦除可编程只读存储器(Electrically EPROM,简称EEPROM)或闪存。
易失性存储器可以是随机存取存储器(Random Access Memory,简称RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,简称SRAM)、动态随机存取存储器(Dynamic RAM,简称DRAM)、同步动态随机存取存储器(Synchronous DRAM,简称SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,简称DDRSDRAM)、增强型同步动态随机存取存储器(EnhancedSDRAM,简称ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,简称SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,简称DRRAM)。
本发明实施例描述的存储介质旨在包括但不限于这些和任意其它适合类型的存储器。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件与软件组合来实现。当应用软件时,可以将相应功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机可读存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (9)
1.一种基于深度网络和双目视觉的阴影区域视差计算方法,其特征在于,所述方法包括:
获取目标区域内的原始图像,提取所述原始图像中的阴影区域,并计算所述阴影区域内的初始视差图;
通过预先创建的网络分割模型,标记所述阴影区域的阴影边界,并提取所述初始视差图中所述阴影边界的原视差值;
基于模板匹配方法计算所述阴影边界的新视差值,并计算所述阴影边界上每个像素点所述新视差值与所述原视差值的差值;
若所述差值大于预设阈值,则剔除该差值对应的原视差值,以得到具有空白的更新视差图;
将所述原始图像中非阴影区域的视差值以插值形式填充至所述更新视差图的空白处,以得到阴影区域的新视差图。
2.根据权利要求1所述的阴影区域视差计算方法,其特征在于,网络分割模型为U-Net分割模型,所述U-Net分割模型的网络结构包括编码器、下采样模块、解码器和上采样模块;
其中,所述下采样模块包括两个3×3卷积层和一个2×2的maxpooling层;所述上采样模块包括一个上采样卷积层、特征拼接层和两个3×3的卷积层。
3.根据权利要求1所述的阴影区域视差计算方法,其特征在于,所述原始图像包括双目相机的左目图像和右目图像,所述左目图像为所述原始图像的左图,所述右目图像为所述原始图像的右图,基于模板匹配方法计算所述阴影边界的新视差值,具体包括:
在所述原始图像的左图中获取所述阴影边界中每个像素点的模板图,在所述原始图像的右图获取与所述模板图对应的源图像;
采用SSIM算法对每一组模板图和源图像进行整像素模板匹配;
对整像素模板匹配得到的视差结果进行亚像素模板匹配,以得到所述阴影边界的新视差值。
4.根据权利要求1所述的阴影区域视差计算方法,其特征在于,若所述差值大于预设阈值,则剔除该差值对应的原视差值,具体包括:
以世界坐标系中,目标区域与相机的实际距离为边界;
若阴影边界距离相机大于所述实际距离,且所述差值小于第一预设阈值,则保留所述差值对应像素点的原视差值,否则剔除所述差值对应像素点的原视差值;
若阴影边界距离相机小于所述实际距离,且所述差值小于第二预设阈值,则保留所述差值对应像素点的原视差值,否则剔除所述差值对应像素点的原视差值;
其中,所述第一预设阈值小于所述第二预设阈值。
5.根据权利要求4所述的阴影区域视差计算方法,其特征在于,所述第一预设阈值为0.2,所述第二预设阈值为0.5。
6.根据权利要求1所述的阴影区域视差计算方法,其特征在于,将所述原始图像中非阴影区域的视差值以插值形式填充至所述更新视差图的空白处,以得到阴影区域的新视差图,具体包括:
利用OCR-Net网络将路面分割出来,以得到路面分隔结果;
将所去除的部分各个方向均膨胀两个像素单位,以得到更新视差图;
获取所述更新视差图中视差值为零的位置和端点处的非零值,用非零值线性插值填充视差值为零的位置,以得到阴影区域的新视差图。
7.一种基于深度网络和双目视觉的阴影区域视差计算系统,其特征在于,所述系统包括:
初始视差获取单元,用于获取目标区域内的原始图像,提取所述原始图像中的阴影区域,并计算所述阴影区域内的初始视差图;
边界视差提取单元,用于通过预先创建的网络分割模型,标记所述阴影区域的阴影边界,并提取所述初始视差图中所述阴影边界的原视差值;
视差差值计算单元,用于基于模板匹配方法计算所述阴影边界的新视差值,并计算所述阴影边界上每个像素点所述新视差值与所述原视差值的差值;
视差筛选单元,用于在所述差值大于预设阈值时,剔除该差值对应的原视差值,以得到具有空白的更新视差图;
结果输出单元,用于将所述原始图像中非阴影区域的视差值以插值形式填充至所述更新视差图的空白处,以得到阴影区域的新视差图。
8.一种智能终端,其特征在于,所述智能终端包括:数据采集装置、处理器和存储器;
所述数据采集装置用于采集数据;所述存储器用于存储一个或多个程序指令;所述处理器,用于执行一个或多个程序指令,用以执行如权利要求1-6任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于执行如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210914862.XA CN114998412B (zh) | 2022-08-01 | 2022-08-01 | 基于深度网络和双目视觉的阴影区域视差计算方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210914862.XA CN114998412B (zh) | 2022-08-01 | 2022-08-01 | 基于深度网络和双目视觉的阴影区域视差计算方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114998412A CN114998412A (zh) | 2022-09-02 |
CN114998412B true CN114998412B (zh) | 2022-11-18 |
Family
ID=83021599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210914862.XA Active CN114998412B (zh) | 2022-08-01 | 2022-08-01 | 基于深度网络和双目视觉的阴影区域视差计算方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114998412B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116342417B (zh) * | 2023-03-22 | 2023-10-03 | 广州市城市规划勘测设计研究院 | 一种航空遥感影像的辐射校正方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107347151B (zh) * | 2016-05-04 | 2018-12-18 | 南昌黑鲨科技有限公司 | 双目摄像头遮挡检测方法及装置 |
US10574947B2 (en) * | 2016-07-15 | 2020-02-25 | Qualcomm Incorporated | Object reconstruction in disparity maps using displaced shadow outlines |
KR102488813B1 (ko) * | 2019-12-13 | 2023-01-16 | 재단법인대구경북과학기술원 | 엣지 이미지를 이용한 시차맵 생성 방법 및 장치 |
CN114359143A (zh) * | 2021-12-01 | 2022-04-15 | 武汉华中天经通视科技有限公司 | 一种遥感影像道路提取方法 |
-
2022
- 2022-08-01 CN CN202210914862.XA patent/CN114998412B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN114998412A (zh) | 2022-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109461181B (zh) | 基于散斑结构光的深度图像获取方法及系统 | |
US10462445B2 (en) | Systems and methods for estimating and refining depth maps | |
WO2018127007A1 (zh) | 深度图获取方法及系统 | |
CN111833393A (zh) | 一种基于边缘信息的双目立体匹配方法 | |
CN110569704A (zh) | 一种基于立体视觉的多策略自适应车道线检测方法 | |
CN111340922B (zh) | 定位与地图构建的方法和电子设备 | |
CN107588721A (zh) | 一种基于双目视觉的零件多尺寸的测量方法及系统 | |
US9025862B2 (en) | Range image pixel matching method | |
CN105374019A (zh) | 一种多深度图融合方法及装置 | |
CN110738731A (zh) | 一种用于双目视觉的3d重建方法和系统 | |
Buades et al. | Reliable multiscale and multiwindow stereo matching | |
CN113965742B (zh) | 基于多传感融合的稠密视差图提取方法、系统和智能终端 | |
CN114998412B (zh) | 基于深度网络和双目视觉的阴影区域视差计算方法和系统 | |
CN113140002B (zh) | 基于双目立体相机的道路状况检测方法、系统和智能终端 | |
CN115018934B (zh) | 结合十字骨架窗口和图像金字塔的立体图像深度检测方法 | |
CN115082450A (zh) | 基于深度学习网络的路面裂缝检测方法和系统 | |
CN115330935A (zh) | 一种基于深度学习的三维重建方法及系统 | |
CN114742875A (zh) | 基于多尺度特征提取和自适应聚合的双目立体匹配方法 | |
CN113240631A (zh) | 基于rgb-d融合信息的路面检测方法、系统和智能终端 | |
CN114187208B (zh) | 基于融合代价和自适应惩罚项系数的半全局立体匹配方法 | |
CN114677659A (zh) | 用于路面平坦度检测的模型构建方法、系统和智能终端 | |
CN113034666B (zh) | 一种基于金字塔视差优化代价计算的立体匹配方法 | |
CN117152330B (zh) | 一种基于深度学习的点云3d模型贴图方法和装置 | |
CN116379936A (zh) | 一种基于双目相机的智能识别距离测算方法及装置 | |
CN115578435A (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 |