CN112149458A - 障碍物检测方法、智能驾驶控制方法、装置、介质及设备 - Google Patents

障碍物检测方法、智能驾驶控制方法、装置、介质及设备 Download PDF

Info

Publication number
CN112149458A
CN112149458A CN201910566416.2A CN201910566416A CN112149458A CN 112149458 A CN112149458 A CN 112149458A CN 201910566416 A CN201910566416 A CN 201910566416A CN 112149458 A CN112149458 A CN 112149458A
Authority
CN
China
Prior art keywords
image
obstacle
parallax
map
disparity map
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.)
Pending
Application number
CN201910566416.2A
Other languages
English (en)
Inventor
姚兴华
周星宇
刘润涛
曾星宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sensetime Group Ltd
Original Assignee
Sensetime Group Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sensetime Group Ltd filed Critical Sensetime Group Ltd
Priority to CN201910566416.2A priority Critical patent/CN112149458A/zh
Priority to KR1020217007268A priority patent/KR20210043628A/ko
Priority to SG11202013264YA priority patent/SG11202013264YA/en
Priority to JP2021513777A priority patent/JP2021536071A/ja
Priority to PCT/CN2019/120833 priority patent/WO2020258703A1/zh
Publication of CN112149458A publication Critical patent/CN112149458A/zh
Priority to US17/137,542 priority patent/US20210117704A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20228Disparity calculation for image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • G06T2207/30261Obstacle

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

本公开的实施方式公开了一种障碍物检测方法和装置、电子设备、计算机可读存储介质以及计算机程序,其中的障碍物检测方法包括:获取环境图像的第一视差图,所述环境图像为表征智能设备在移动过程中所处的空间环境信息的图像;在所述第一视差图中,确定出多个障碍物像素区域;对所述多个障碍物像素区域进行聚类处理,以获得至少一个类簇;根据属于同一个类簇的障碍物像素区域,确定障碍物检测结果。

Description

障碍物检测方法、智能驾驶控制方法、装置、介质及设备
技术领域
本公开涉及计算机视觉技术,尤其是涉及一种障碍物检测方法、障碍物检测装置、智能驾驶控制方法、智能驾驶控制装置、电子设备、计算机可读存储介质以及计算机程序。
背景技术
在计算机视觉技术领域中,感知技术通常用于感知外界的障碍物。即感知技术包括障碍物检测。
感知技术的感知结果,通常会被提供给决策层,使决策层基于感知结果进行决策。例如,在智能驾驶系统中,感知层将其感知到的车辆所在道路信息以及车辆周边的障碍物信息等,提供给决策层,使决策层执行行驶决策,以避开障碍物,保障车辆的安全行驶。在相关技术中,一般是预先定义好障碍物的类型,例如行人,车辆,非机动车等具有固有的形状、纹理、颜色的障碍物,然后利用相关检测算法对预先定义好类型的障碍物进行检测。
发明内容
本公开实施方式提供一种障碍物检测以及智能驾驶控制的技术方案。
根据本公开实施方式其中一方面,提供一种障碍物检测方法,包括:获取环境图像的第一视差图,所述环境图像为表征智能设备在移动过程中所处的空间环境信息的图像;在所述环境图像的第一视差图中确定出多个障碍物像素区域;对所述多个障碍物像素区域进行聚类处理,获得至少一个类簇;根据属于同一个类簇的障碍物像素区域,确定障碍物检测结果。
在本公开一实施方式中,所述环境图像包括单目图像;在获得所述单目图像的第一视差图之后,还包括:将所述单目图像进行镜像处理后,得到第一镜像图,并获取所述第一镜像图的视差图;根据所述第一镜像图的视差图,对所述单目图像的第一视差图进行视差调整,获得经视差调整后的第一视差图;所述在所述环境图像的第一视差图中确定出多个障碍物像素区域,包括:在所述经视差调整后的第一视差图中确定出多个障碍物像素区域。
在本公开再一实施方式中,所述根据所述第一镜像图的视差图,对所述单目图像的第一视差图进行视差调整,获得经视差调整后的第一视差图,包括:将所述第一镜像图的视差图进行镜像处理后,得到第二镜像图;根据所述第一视差图的权重分布图、以及所述第二镜像图的权重分布图,对所述第一视差图进行视差调整,获得经视差调整后的第一视差图;其中,所述第一视差图的权重分布图包括表示所述第一视差图中多个视差值各自对应的权重值;所述第二镜像图的权重分布图包括所述第二镜像图中多个视差值各自对应的权重。
在本公开再一实施方式中,所述权重分布图包括:第一权重分布图,和/或,第二权重分布图;所述第一权重分布图是针对多个环境图像统一设置的权重分布图;所述第二权重分布图是针对不同环境图像分别设置的权重分布图。
在本公开再一实施方式中,所述第一权重分布图包括至少两个左右分列的区域,不同区域具有不同的权重值。
在本公开再一实施方式中,在所述单目图像为待处理左目图像的情况下:对于所述第一视差图的第一权重分布图中的任意两个区域而言,位于右侧的区域的权重值不小于位于左侧的区域的权重值;对于所述第二镜像图的第一权重分布图中的任意两个区域而言,位于右侧的区域的权重值不小于位于左侧的区域的权重值。
在本公开再一实施方式中,对于所述第一视差图的第一权重分布图中的至少一区域而言,该区域中左侧部分的权重值不大于该区域中的右侧部分的权重值;对于所述第二镜像图的第一权重分布图中的至少一区域而言,该区域中左侧部分的权重值不大于该区域中右侧部分的权重值。
在本公开再一实施方式中,在所述单目图像为待处理右目图像的情况下:对于所述第一视差图的第一权重分布图中的任意两个区域而言,位于左侧的区域的权重值不小于位于右侧的区域的权重值;对于所述第二镜像图的第一权重分布图中的任意两个区域而言,位于左侧的区域的权重值不小于位于右侧的区域的权重值。
在本公开再一实施方式中,对于所述第一视差图的第一权重分布图中的至少一区域而言,该区域中右侧部分的权重值不大于该区域中左侧部分的权重值;对于所述第二镜像图的第一权重分布图中的至少一区域而言,该区域中右侧部分的权重值不大于该区域中左侧部分的权重值。
在本公开再一实施方式中,所述第一视差图的第二权重分布图的设置方式包括:对所述第一视差图进行镜像处理,形成镜像视差图;根据所述第一视差图的镜像视差图中的视差值,设置所述第一视差图的第二权重分布图中的权重值。
在本公开再一实施方式中,所述根据所述第一视差图的镜像视差图中的视差值,设置所述第一视差图的第二权重分布图中的权重值,包括:对于所述镜像视差图中的任一位置处的像素点而言,在该位置处的像素点的视差值满足第一预定条件的情况下,将所述第一视差图的第二权重分布图中在该位置处的像素点的权重值设置为第一值。
在本公开再一实施方式中,在该像素点的视差值不满足所述第一预定条件的情况下,所述方法还包括:将所述第一视差图的第二权重分布图中在该位置处的像素点的权重值设置为第二值;其中,所述第一值大于所述第二值。
在本公开再一实施方式中,所述第一预定条件包括:该位置处的像素点的视差值大于该位置处的像素点的第一参考值;
其中,该位置处的像素点的第一参考值是根据所述第一视差图中该位置处的像素点的视差值以及大于零的常数值,设置的。
在本公开再一实施方式中,所述第二镜像图的第二权重分布图的设置方式包括:根据所述第一视差图中的视差值,设置所述第二镜像图的第二权重分布图中的权重值。
在本公开再一实施方式中,所述根据所述第一视差图中的视差值,设置所述第二镜像图的第二权重分布图中的权重值,包括:对于所述第二镜像图中的任一位置处的像素点而言,在所述第一视差图中该位置处的像素点的视差值满足第二预定条件,则将所述第二镜像图的第二权重分布图中该位置处的像素点的权重值设置为第三值。
在本公开再一实施方式中,在所述第一视差图中该位置处的像素点的视差值不满足第二预定条件的情况下,所述方法还包括:将所述第二镜像图的第二权重分布图中该位置处的像素点的权重值设置为第四值;其中,所述第三值大于第四值。
在本公开再一实施方式中,所述第二预定条件包括:所述第一视差图中该位置处的像素点的视差值大于该位置处的像素点的第二参考值;其中,该位置处的像素点的第二参考值是根据所述第一视差图的镜像视差图中在该位置处的像素点的视差值以及大于零的常数值,设置的。
在本公开再一实施方式中,所述根据所述第一视差图的权重分布图、以及所述第二镜像图的权重分布图,对所述第一视差图进行视差调整,获得经视差调整后的第一视差图,包括:根据所述第一视差图的第一权重分布图和第二权重分布图,调整所述第一视差图中的视差值;根据所述第二镜像图的第一权重分布图和第二权重分布图,调整所述第二镜像图中的视差值;将视差调整后的第一视差图和视差值调整后的第二镜像图进行合并后,最终获得经视差调整后的第一视差图。
在本公开一实施方式中,所述环境图像包括单目图像;所述获取单目图像的第一视差图包括:利用卷积神经网络对所述单目图像进行视差分析处理,基于所述卷积神经网络的输出,获得所述单目图像的第一视差图;其中,所述卷积神经网络是利用双目图像样本,训练获得的。
在本公开再一实施方式中,所述卷积神经网络的训练过程,包括:将双目图像样本中的其中一目图像样本输入至待训练的卷积神经网络中,经由所述卷积神经网络进行视差分析处理,基于所述卷积神经网络的输出,获得左目图像样本的视差图和右目图像样本的视差图;根据所述左目图像样本以及右目图像样本的视差图重建右目图像;根据所述右目图像样本以及左目图像样本的视差图重建左目图像;根据重建的左目图像和左目图像样本之间的差异、以及重建的右目图像和右目图像样本之间的差异,调整所述卷积神经网络的网络参数。
在本公开再一实施方式中,所述在所述环境图像的第一视差图中确定出多个障碍物像素区域,包括:对所述环境图像的第一视差图进行边缘检测,获得障碍物边缘信息;确定所述环境图像的第一视差图中的障碍物区域;根据所述障碍物边缘信息,在所述第一视差图的障碍物区域中,确定多个障碍物像素柱状区域。
在本公开再一实施方式中,所述确定所述环境图像的第一视差图中的障碍物区域,包括:对所述第一视差图中每行像素点的视差值进行统计处理,得到对每行像素点的视差值的统计信息;基于对每行像素点的视差值的统计信息,确定统计视差图;对所述统计视差图进行第一直线拟合处理,根据所述第一直线拟合处理的结果确定地面区域和非地面区域;根据所述非地面区域,确定障碍物区域。
在本公开再一实施方式中,所述非地面区域包括:高于地面的第一区域;或者,所述非地面区域包括:高于地面的第一区域和低于地面的第二区域。
在本公开再一实施方式中,所述根据所述非地面区域,确定障碍物区域,包括:对所述统计视差图进行第二直线拟合处理,根据所述第二直线拟合处理的结果,确定所述第一区域中的高于地面的高度小于第一预定高度值的第一目标区域,所述第一目标区域为障碍物区域;在所述非地面区域存在低于地面的第二区域的情况下,确定所述第二区域中低于地面的高度大于第二预定高度值的第二目标区域,所述第二目标区域为障碍物区域。
在本公开再一实施方式中,所述根据所述障碍物边缘信息,在所述第一视差图的障碍物区域中,确定多个障碍物像素柱状区域,包括:将所述第一视差图中的非障碍物区域的像素点的视差值以及所述障碍物边缘信息处的像素点的视差值设置为预定值;以所述第一视差图的列方向的N个像素点作为遍历单位,从所述第一视差图的设定行起遍历每行上N个像素点的视差值,确定像素点的视差值存在所述预定值和非预定值之间的跳变的目标行;N为正整数;以列方向上的N个像素点作为柱宽度、以确定出的目标行作为所述障碍物像素柱状区域在行方向上的边界,确定所述障碍物区域中的障碍物像素柱状区域。
在本公开再一实施方式中,所述障碍物像素区域包括障碍物像素柱状区域;所述对所述多个障碍物像素区域进行聚类处理,包括:确定所述多个障碍物像素柱状区域的空间位置信息;根据所述多个障碍物像素柱状区域的空间位置信息,对所述多个障碍物像素柱状区域进行聚类处理。
在本公开再一实施方式中,所述确定所述多个障碍物像素柱状区域的空间位置信息,包括:针对任一障碍物像素柱状区域而言,根据该障碍物像素柱状区域所包含的像素,确定该障碍物像素柱状区域的属性信息,并根据该障碍物像素柱状区域的属性信息,确定该障碍物像素柱状区域的空间位置信息。
在本公开再一实施方式中,所述障碍物像素柱状区域的属性信息包括:像素柱状区域底部信息、像素柱状区域顶部信息、像素柱状区域视差值、以及像素柱状区域列信息中的至少一个。
在本公开再一实施方式中,所述障碍物像素柱状区域的空间位置信息包括:障碍物像素柱状区域在水平方向坐标轴上的坐标、障碍物像素柱状区域在深度方向坐标轴上的坐标。
在本公开再一实施方式中,所述障碍物像素柱状区域的空间位置信息还包括:障碍物像素柱状区域在竖直方向坐标轴上的最高点坐标、以及障碍物像素柱状区域在竖直方向坐标轴上的最低点坐标;最高点坐标和最低点坐标用于确定障碍物高度。
在本公开再一实施方式中,所述障碍物像素区域包括;障碍物像素柱状区域;所述根据属于同一个类簇的障碍物像素区域,确定障碍物检测结果,包括:根据属于同一个类簇的障碍物像素柱状区域的空间位置信息,确定所述环境图像中的障碍物检测框;和/或,根据属于同一个类簇的障碍物像素柱状区域的空间位置信息,确定障碍物的空间位置信息。
在本公开再一实施方式中,所述根据属于同一个类簇的障碍物像素柱状区域的空间位置信息,确定障碍物的空间位置信息,包括:根据属于同一个类簇的多个障碍物像素柱状区域的空间位置信息,确定所述多个障碍物像素柱状区域与生成所述环境图像的摄像装置之间的距离;根据距离所述摄像装置最近的障碍物像素柱状区域的空间位置信息,确定障碍物的空间位置信息。
根据本公开实施方式的其中再一方面,提供一种智能驾驶控制方法,该方法包括:通过智能驾驶设备上设置的图像采集装置获取所述智能设备在移动过程中的环境图像;采用上述任一实施例的障碍物检测方法,对获取的环境图像进行障碍物检测,确定障碍物检测结果;根据所述障碍物检测结果生成并输出控制指令。
根据本公开实施方式其中再一方面,提供一种障碍物检测装置,包括:获取模块,用于获取环境图像的第一视差图,所述环境图像为表征智能设备在移动过程中所处的空间环境信息的图像;第一确定模块,用于在所述环境图像的第一视差图中确定出多个障碍物像素区域;聚类模块,用于对所述多个障碍物像素区域进行聚类处理,获得至少一个类簇;第二确定模块,用于根据属于同一个类簇的障碍物像素区域,确定障碍物检测结果。
在本公开一实施方式中,所述获取模块还包括:第二子模块,用于将所述单目图像进行镜像处理后,得到第一镜像图,并获取所述第一镜像图的视差图;第三子模块,用于根据所述第一镜像图的视差图,对所述单目图像的第一视差图进行视差调整,获得经视差调整后的第一视差图;所述第一确定模块进一步用于:在所述经视差调整后的第一视差图中确定出多个障碍物像素区域。
在本公开再一实施方式中,所述第三子模块,包括:第一单元,用于将所述第一镜像图的视差图进行镜像处理后,得到第二镜像图;第二单元,用于根据所述第一视差图的权重分布图、以及所述第二镜像图的权重分布图,对所述第一视差图进行视差调整,获得经视差调整后的第一视差图;其中,所述第一视差图的权重分布图包括表示所述第一视差图中多个视差值各自对应的权重值;所述第二镜像图的权重分布图包括所述第二镜像图中多个视差值各自对应的权重。
在本公开再一实施方式中,所述权重分布图包括:第一权重分布图,和/或,第二权重分布图;所述第一权重分布图是针对多个环境图像统一设置的权重分布图;所述第二权重分布图是针对不同环境图像分别设置的权重分布图。
在本公开再一实施方式中,所述第一权重分布图包括至少两个左右分列的区域,不同区域具有不同的权重值。
在本公开再一实施方式中,在所述单目图像为待处理左目图像的情况下:对于所述第一视差图的第一权重分布图中的任意两个区域而言,位于右侧的区域的权重值不小于位于左侧的区域的权重值;对于所述第二镜像图的第一权重分布图中的任意两个区域而言,位于右侧的区域的权重值不小于位于左侧的区域的权重值。
在本公开再一实施方式中,对于所述第一视差图的第一权重分布图中的至少一区域而言,该区域中左侧部分的权重值不大于该区域中的右侧部分的权重值;对于所述第二镜像图的第一权重分布图中的至少一区域而言,该区域中左侧部分的权重值不大于该区域中右侧部分的权重值。
在本公开再一实施方式中,在所述单目图像为待处理右目图像的情况下:对于所述第一视差图的第一权重分布图中的任意两个区域而言,位于左侧的区域的权重值不小于位于右侧的区域的权重值;对于所述第二镜像图的第一权重分布图中的任意两个区域而言,位于左侧的区域的权重值不小于位于右侧的区域的权重值。
在本公开再一实施方式中,对于所述第一视差图的第一权重分布图中的至少一区域而言,该区域中右侧部分的权重值不大于该区域中左侧部分的权重值;对于所述第二镜像图的第一权重分布图中的至少一区域而言,该区域中右侧部分的权重值不大于该区域中左侧部分的权重值。
在本公开再一实施方式中,所述第三子模块,还包括:用于设置第一视差图的第二权重分布图的第三单元;所述第三单元对所述第一视差图进行镜像处理,形成镜像视差图;并根据所述第一视差图的镜像视差图中的视差值,设置所述第一视差图的第二权重分布图中的权重值。
在本公开再一实施方式中,所述第三单元进一步用于,对于所述镜像视差图中的任一位置处的像素点而言,在该位置处的像素点的视差值满足第一预定条件的情况下,将所述第一视差图的第二权重分布图中在该位置处的像素点的权重值设置为第一值。
在本公开再一实施方式中,所述第三单元还进一步用于,在该像素点的视差值不满足所述第一预定条件的情况下,将所述第一视差图的第二权重分布图中在该位置处的像素点的权重值设置为第二值;其中,所述第一值大于所述第二值。
在本公开再一实施方式中,所述第一预定条件包括:该位置处的像素点的视差值大于该位置处的像素点的第一参考值;其中,该位置处的像素点的第一参考值是根据所述第一视差图中该位置处的像素点的视差值以及大于零的常数值,设置的。
在本公开再一实施方式中,所述第三子模块还包括:用于设置第二镜像图的第二权重分布图的第四单元;所述第四单元根据第一视差图中的视差值,设置所述第二镜像图的第二权重分布图中的权重值。
在本公开再一实施方式中,所述第四单元进一步用于:对于所述第二镜像图中的任一位置处的像素点而言,在所述第一视差图中该位置处的像素点的视差值满足第二预定条件,则将所述第二镜像图的第二权重分布图中该位置处的像素点的权重值设置为第三值。
在本公开再一实施方式中,所述第四单元进一步用于,在所述第一视差图中该位置处的像素点的视差值不满足第二预定条件的情况下,将所述第二镜像图的第二权重分布图中该位置处的像素点的权重值设置为第四值;其中,所述第三值大于第四值。
在本公开再一实施方式中,所述第二预定条件包括:所述第一视差图中该位置处的像素点的视差值大于该位置处的像素点的第二参考值;其中,该位置处的像素点的第二参考值是根据所述第一视差图的镜像视差图中在该位置处的像素点的视差值以及大于零的常数值,设置的。
在本公开再一实施方式中,所述第二单元进一步用于:根据所述第一视差图的第一权重分布图和第二权重分布图,调整所述第一视差图中的视差值;根据所述第二镜像图的第一权重分布图和第二权重分布图,调整所述第二镜像图中的视差值;将视差调整后的第一视差图和视差值调整后的第二镜像图进行合并后,最终获得经视差调整后的第一视差图。
在本公开一实施方式中,所述环境图像包括单目图像;所述获取模块包括:第一子模块,用于利用卷积神经网络对所述单目图像进行视差分析处理,基于所述卷积神经网络的输出,获得所述单目图像的第一视差图;其中,所述卷积神经网络是利用双目图像样本,训练获得的。
在本公开再一实施方式中,所述装置还包括:用于训练卷积神经网络的训练模块,所述训练模块进一步用于:将双目图像样本中的其中一目图像样本输入至待训练的卷积神经网络中,经由所述卷积神经网络进行视差分析处理,基于所述卷积神经网络的输出,获得左目图像样本的视差图和右目图像样本的视差图;根据所述左目图像样本以及右目图像样本的视差图重建右目图像;根据所述右目图像样本以及左目图像样本的视差图重建左目图像;根据重建的左目图像和左目图像样本之间的差异、以及重建的右目图像和右目图像样本之间的差异,调整所述卷积神经网络的网络参数。
在本公开再一实施方式中,所述第一确定模块,包括:第四子模块,用于对所述环境图像的第一视差图进行边缘检测,获得障碍物边缘信息;第五子模块,用于确定所述环境图像的第一视差图中的障碍物区域;第六子模块,用于根据所述障碍物边缘信息,在所述第一视差图的障碍物区域中,确定多个障碍物像素柱状区域。
在本公开再一实施方式中,所述第五子模块,包括:第五单元,用于对所述第一视差图中每行像素点的视差值进行统计处理,得到对每行像素点的视差值的统计信息;第六单元,用于基于对每行像素点的视差值的统计信息,确定统计视差图;第七单元,用于对所述统计视差图进行第一直线拟合处理,根据所述第一直线拟合处理的结果确定地面区域和非地面区域;第八单元,用于根据所述非地面区域,确定障碍物区域。
在本公开再一实施方式中,所述非地面区域包括:高于地面的第一区域;或者,所述非地面区域包括:高于地面的第一区域和低于地面的第二区域。
在本公开再一实施方式中,所述第八单元进一步用于对所述统计视差图进行第二直线拟合处理,根据所述第二直线拟合处理的结果,确定所述第一区域中的高于地面的高度小于第一预定高度值的第一目标区域,所述第一目标区域为障碍物区域;在所述非地面区域存在低于地面的第二区域的情况下,确定所述第二区域中低于地面的高度大于第二预定高度值的第二目标区域,所述第二目标区域为障碍物区域。
在本公开再一实施方式中,所述第六子模块进一步用于:将所述第一视差图中的非障碍物区域的像素点的视差值以及所述障碍物边缘信息处的像素点的视差值设置为预定值;以所述第一视差图的列方向的N个像素点作为遍历单位,从所述第一视差图的设定行起遍历每行上N个像素点的视差值,确定像素点的视差值存在所述预定值和非预定值之间的跳变的目标行;N为正整数;以列方向上的N个像素点作为柱宽度、以确定出的目标行作为所述障碍物像素柱状区域在行方向上的边界,确定所述障碍物区域中的障碍物像素柱状区域。
在本公开再一实施方式中,所述障碍物像素区域包括障碍物像素柱状区域;所述聚类模块,包括:第七子模块,用于确定所述多个障碍物像素柱状区域的空间位置信息;第八子模块,用于根据所述多个障碍物像素柱状区域的空间位置信息,对所述多个障碍物像素柱状区域进行聚类处理。
在本公开再一实施方式中,所述第八子模块进一步用于:针对任一障碍物像素柱状区域而言,根据该障碍物像素柱状区域所包含的像素,确定该障碍物像素柱状区域的属性信息,并根据该障碍物像素柱状区域的属性信息,确定该障碍物像素柱状区域的空间位置信息。
在本公开再一实施方式中,所述障碍物像素柱状区域的属性信息包括:像素柱状区域底部信息、像素柱状区域顶部信息、像素柱状区域视差值、以及像素柱状区域列信息中的至少一个。
在本公开再一实施方式中,所述障碍物像素柱状区域的空间位置信息包括:障碍物像素柱状区域在水平方向坐标轴上的坐标、障碍物像素柱状区域在深度方向坐标轴上的坐标。
在本公开再一实施方式中,所述障碍物像素柱状区域的空间位置信息还包括:障碍物像素柱状区域在竖直方向坐标轴上的最高点坐标、以及障碍物像素柱状区域在竖直方向坐标轴上的最低点坐标;最高点坐标和最低点坐标用于确定障碍物高度。
在本公开再一实施方式中,所述障碍物像素区域包括;障碍物像素柱状区域;所述第二确定模块包括:
第九子模块,用于根据属于同一个类簇的障碍物像素柱状区域的空间位置信息,确定所述环境图像中的障碍物检测框;和/或,第十子模块,用于根据属于同一个类簇的障碍物像素柱状区域的空间位置信息,确定障碍物的空间位置信息。
在本公开再一实施方式中,所述第十子模块进一步用于:根据属于同一个类簇的多个障碍物像素柱状区域的空间位置信息,确定所述多个障碍物像素柱状区域与生成所述环境图像的摄像装置之间的距离;根据距离所述摄像装置最近的障碍物像素柱状区域的空间位置信息,确定障碍物的空间位置信息。
根据本公开实施方式其中再一方面,提供一种智能驾驶控制装置,该装置包括:获取模块,用于通过智能驾驶设备上设置的图像采集装置获取所述智能设备在移动过程中的环境图像;采用上述障碍物检测装置,对所述环境图像进行障碍物检测,确定障碍物检测结果;控制模块,用于根据所述障碍物检测结果生成并输出控制指令。
根据本公开实施方式再一方面,提供一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现本公开任一方法实施方式。
根据本公开实施方式再一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现本公开任一方法实施方式。
根据本公开实施方式的再一个方面,提供一种计算机程序,包括计算机指令,当所述计算机指令在设备的处理器中运行时,实现本公开任一方法实施方式。
基于本公开提供的障碍物检测方法和装置、智能驾驶控制方法和装置、电子设备、计算机可读存储介质以及计算机程序,本公开可以从环境图像的第一视差图中确定出多个障碍物像素区域,并通过对多个障碍物像素区域进行聚类处理来获得障碍物检测结果。本公开所采用的检测方式,无需对要检测的障碍物进行预定义,没有利用障碍物的纹理、颜色、形状、类别等预定义的信息,便可以直接基于对障碍物区域进行聚类的方式来检测出障碍物,并且,检测出的障碍物并不局限于某些预先定义好的障碍物,可以实现对周围空间环境中可能对智能设备的移动过程造成阻碍的各式各样的障碍物(本公开中可以成为泛类型障碍物)进行检测,从而实现了泛类型的障碍物检测。
相比相关技术中针对预定义类型的障碍物进行检测的方式,本公开提供的技术方案是更为通用的障碍物检测方案,能够适用在泛类型的障碍物的检测中,有利于应对现实环境中的类型多样化的障碍物检测。并且,对于智能驾驶设备来说,通过本公开提供的技术方案,能够实现对驾驶过程中可能出现的多样化随机性的障碍物的检测,进而基于检测结果来输出驾驶过程的控制指令,从而有利于提高车辆智能行驶的安全性。
下面通过附图和实施方式,对本公开的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本公开的实施方式,并且连同描述一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1为本公开的障碍物检测方法一个实施方式的流程图;
图2为本公开的环境图像一个实施方式的示意图;
图3为图2的第一视差图一个实施方式的示意图;
图4为本公开的第一视差图一个实施方式的示意图;
图5为本公开的卷积神经网络一个实施方式的示意图;
图6为本公开的第一视差图的第一权重分布图一个实施方式的示意图;
图7为本公开的第一视差图的第一权重分布图另一个实施方式的示意图;
图8为本公开的第一视差图的第二权重分布图一个实施方式的示意图;
图9为本公开的第二镜像图一个实施方式的示意图;
图10为图9所示的第二镜像图的第二权重分布图一个实施方式的示意图;
图11为本公开的对单目图像的视差图进行优化调整一个实施方式示意图;
图12为本公开的环境图像的第一视差图中的障碍物边缘信息的一个实施方式示意图;
图13为本公开的统计视差图一个实施方式示意图;
图14为本公开的形成统计视差图的一个实施方式示意图;
图15为本公开的直线拟合一个实施方式示意图;
图16为本公开的地面区域和非地面区域的示意图;
图17为本公开建立的坐标系一个实施方式示意图;
图18为本公开中的高于地面的第一区域包含的两个区域的示意图;
图19为本公开的形成障碍物像素柱状区域一个实施方式示意图;
图20为本公开的对障碍物像素柱状区域进行聚类的一个实施方式示意图;
图21为本公开的形成障碍物检测框一个实施方式示意图;
图22为本公开的卷积神经网络训练方法一个实施方式的流程图;
图23为本公开的智能驾驶控制方法一个实施方式的流程图;
图24为本公开的障碍物检测装置一个实施方式的结构示意图;
图25为本公开的智能驾驶控制装置一个实施方式的流程图;
图26为实现本公开实施方式的一示例性设备的框图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。对于相关领域普通技术人员已知的技术、方法以及设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。应当注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于终端设备、计算机系统及服务器等电子设备,其可与众多其它通用或者专用的计算系统环境或者配置一起操作。适于与终端设备、计算机系统以及服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子,包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境等。
终端设备、计算机系统以及服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑以及数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
示例性实施例
图1为本公开的障碍物检测方法一个实施例的流程图。如图1所示,该实施例方法包括步骤:S100、S110、S120以及S130。下面对各步骤进行详细描述。
S100、获取环境图像的第一视差图。其中,环境图像为表征智能设备在移动过程中所处的空间环境信息的图像。
示例性的,智能设备例如为智能驾驶设备(如自动驾驶汽车)、智能飞行设备(如无人机)、智能机器人等。环境图像例如为表征智能驾驶设备或智能机器人在移动过程中所处的道路空间环境信息的图像,或者,智能飞行设备在飞行过程中所处的空间环境信息的图像。当然,本公开中智能设备和环境图像并不局限于以上示例,本公开对此不作限定。
本公开中对环境图像中的障碍物进行检测,其中,智能设备所处的周围空间环境中可能对移动过程造成阻碍的任何物体均可能落入障碍物检测范围,被视为障碍物检测对象。例如,在智能驾驶设备在行驶过程中,路面上可能会出现石块,动物,掉落的货物等物体,这些物体没有具体的形状,纹理,颜色,类别,彼此之间差异很大,均可以被视为障碍物。本公开中,对以上这种在移动过程可能造成阻碍的任何物体称为泛类型障碍物。
在一个可选示例中,本公开的第一视差图用于描述环境图像的视差。视差可以认为指,从相距一定距离的两个点位置处,观察同一个目标对象时,所产生的目标对象位置差异。环境图像的一个例子如图2所示。图2所示的环境图像的第一视差图的一个例子如图3所示。可选的,本公开中的环境图像的第一视差图还可以表示为如图4所示的形式。图4中的各个数字(如0、1、2、3、4和5等)分别表示:环境图像中的(x,y)位置处的像素的视差。需要特别说明的是,图4并没有示出一个完整的视差图。
在一个可选示例中,本公开中的环境图像可以为单目图像,也可以为待处理双目图像。单目图像通常是利用单目摄像装置进行拍摄,所获得的图像。待处理双目图像通常是利用双目摄像装置进行拍摄,所获得的图像。可选的,本公开中的单目图像和待处理双目图像均可以为照片或者图片等,也可以为视频中的视频帧。
在环境图像为单目图像的情况下,本公开可以在不需要设置双目摄像装置的情况下,实现障碍物检测,从而有利于降低障碍物检测成本。
在一个可选的实施方式中,在环境图像为单目图像的情况下,本公开可以利用预先成功训练的卷积神经网络,来获得单目图像的第一视差图。例如,将单目图像,输入至卷积神经网络中,经由该卷积神经网络对单目图像进行视差分析处理,该卷积神经网络输出视差分析处理结果,从而本公开可以基于视差分析处理结果,获得单目图像的第一视差图。通过利用卷积神经网络来获得单目图像的第一视差图,可以在不需要使用两个图像进行逐像素视差计算,且不需要进行摄像装置标定的情况下,获得第一视差图。有利于提高获得第一视差图的便捷性和实时性。
在一个可选示例中,本公开中的卷积神经网络通常包括但不限于:多个卷积层(Conv)以及多个反卷积层(Deconv)。本公开的卷积神经网络可以被划分为两部分,即编码部分和解码部分。输入至卷积神经网络中的单目图像(如图2所示的单目图像),由编码部分对其进行编码处理(即特征提取处理),编码部分的编码处理结果被提供给解码部分,由解码部分对编码处理结果进行解码处理,并输出解码处理结果。本公开可以根据卷积神经网络输出的解码处理结果,获得单目图像的第一视差图(如图3所示的第一视差图)。
可选的,卷积神经网络中的编码部分包括但不限于:多个卷积层,且多个卷积层串联。卷积神经网络中的解码部分包括但不限于:多个卷积层和多个反卷积层,多个卷积层和多个反卷积层相互间隔设置,且串联连接。
本公开中的卷积神经网络的一个可选例子,如图5所示。图5中,左侧第1个长方形表示输入卷积神经网络中的单目图像,右侧第1个长方形表示卷积神经网络输出的视差图。左侧第2个长方形至第15个长方形中的每一个长方形均表示卷积层,左侧第16个长方形至右侧第2个长方形中的所有长方形表示相互间隔设置的反卷积层和卷积层,如左侧第16个长方形表示反卷积层,左侧第17个长方形表示卷积层,左侧第18个长方形表示反卷积层,左侧第19个长方形表示卷积层,以此类推,直到右侧第2个长方形,且右侧第2个长方形表示反卷积层。
在一个可选示例中,本公开的卷积神经网络可通过跳连接(Skip Connect)的方式,使卷积神经网络中的低层信息和高层信息融合。例如,将编码部分中的至少一卷积层的输出通过跳连接的方式提供给解码部分中的至少一反卷积层。可选的,卷积神经网络中的所有卷积层的输入通常包括:上一层(如卷积层或者反卷积层)的输出,卷积神经网络中的至少一反卷积层(如部分反卷积层或者所有反卷积层)的输入包括:上一卷积层的输出的上采样(Upsample)结果和与该反卷积层跳连接的编码部分的卷积层的输出。例如,由图5右侧的卷积层的下方引出的实线箭头所指向的内容表示上一卷积层的输出,图5中的虚线箭头表示提供给反卷积层的上采样结果,由图5左侧的卷积层的上方引出的实线箭头表示与反卷积层跳连接的卷积层的输出。本公开不限制跳连接的数量以及卷积神经网络的网络结构。本公开通过将卷积神经网络中的低层信息和高层信息进行融合,有利于提高卷积神经网络生成的视差图的准确性。
可选的,本公开的卷积神经网络的是利用双目图像样本训练获得的。该卷积神经网络的训练过程可以参见下述实施方式中的描述。在此不再详细说明。
在一个可选的实施方式中,本公开还可以对利用卷积神经网络获得的待处理图像的第一视差图进行优化调整,以便于获得更为准确的第一视差图。可选的,在环境图像为单目图像的情况下,本公开可以利用单目图像的镜像图的视差图,对单目图像的视差图进行优化调整,从而本公开可以在经视差调整后的第一视差图中确定出多个障碍物像素区域。为便于描述,下述将单目图像的镜像图称为第一镜像图,将第一镜像图的视差图称为第二视差图。
示例性的,可以将环境图像中的单目图像进行镜像处理后,得到第一镜像图,并获取第一镜像图的视差图,进而根据第一镜像图的视差图,对单目图像的第一视差图进行视差调整,获得经视差调整后的第一视差图。后续,便可以在经视差调整后的第一视差图中确定出多个障碍物像素区域。
对第一视差图进行优化调整的一个具体例子如下:
步骤A、获取单目图像的第一镜像图的第二视差图,并获取第二视差图的镜像图。
可选的,本公开中的单目图像的第一镜像图可以是对单目图像进行水平方向上的镜像处理(如左镜像处理或者右镜像处理),所形成的镜像图。
可选的,本公开中的第二视差图的镜像图可以是,对第二视差图进行水平方向上的镜像处理(如左镜像处理或者右镜像处理)后,形成的镜像图。第二视差图的镜像图仍然是视差图。
可选的,本公开可以先对单目图像进行左镜像处理或者右镜像处理(由于左镜像处理结果与右镜像处理结果相同,因此,本公开对单目图像进行左镜像处理或者右镜像处理均可),获得单目图像的第一镜像图(左镜像图或右镜像图),然后,再获取单目图像的第一镜像图的视差图,从而获得第二视差图;最后,再对该第二视差图进行左镜像处理或者右镜像处理(由于第二视差图的左镜像处理结果与右镜像处理结果相同,因此,本公开对第二视差图进行左镜像处理或者右镜像处理均可),从而获得第二视差图的镜像图(左镜像图或右镜像图)。第二视差图的镜像图仍然为视差图。为了方便描述,下述将第二视差图的镜像图称为第二镜像图。
由上述描述可知,本公开在对单目图像进行镜像处理时,可以不考虑单目图像是被作为左目图像进行镜像处理,还是被作为右目图像进行镜像处理。也就是说,无论单目图像被作为左目图像,还是被作为右目图像,本公开均可以对单目图像进行左镜像处理或者右镜像处理,从而获得第一镜像图。同样的,本公开在对第二视差图进行镜像处理时,也可以不考虑是应该对第二视差图进行左镜像处理,还是应该对第二视差图进行右镜像处理。
需要说明的是,在训练用于生成单目图像的视差图的卷积神经网络的过程,如果以双目图像样本中的左目图像样本作为输入,提供给卷积神经网络,进行训练,则成功训练后的卷积神经网络在测试以及实际应用中,会将输入的单目图像作为左目图像,也就是说,本公开的单目图像被作为待处理左目图像。如果以双目图像样本中的右目图像样本作为输入,提供给卷积神经网络,进行训练,则成功训练后的卷积神经网络在测试以及实际应用中,会将输入的单目图像作为右目图像,也就是说,本公开的单目图像被作为待处理右目图像。
可选的,本公开同样可以利用上述卷积神经网络,来获得第二视差图。例如,将单目图像的镜像图,输入至卷积神经网络中,经由该卷积神经网络对单目图像的镜像图进行视差分析处理,卷积神经网络输出视差分析处理结果,从而本公开可以根据输出的视差分析处理结果,获得第二视差图。
步骤B、获取单目图像的第一视差图的权重分布图以及第二镜像图的权重分布图。
在一个可选示例中,第一视差图的权重分布图用于描述第一视差图中的多个视差值(如所有视差值)各自对应的权重值。第一视差图的权重分布图可以包括但不限于:第一视差图的第一权重分布图以及第一视差图的第二权重分布图。
可选的,上述第一视差图的第一权重分布图是针对多个不同的单目图像的视差图统一设置的权重分布图,即第一视差图的第一权重分布图可以面向多个不同的单目图像的视差图,也就是说,不同单目图像的视差图使用同一个第一权重分布图,因此,本公开可以将第一视差图的第一权重分布图称为第一视差图的全局权重分布图。第一视差图的全局权重分布图用于描述第一视差图中的多个视差值(如所有视差值)各自对应的全局权重值。
可选的,上述第一视差图的第二权重分布图是针对单个单目图像的视差图而设置的权重分布图,即第一视差图的第二权重分布图是面向单个单目图像的视差图,也就是说,不同单目图像的视差图使用不同的第二权重分布图,因此,本公开可以将第一视差图的第二权重分布图称为第一视差图的局部权重分布图。第一视差图的局部权重分布图用于描述第一视差图中的多个视差值(如所有视差值)各自对应的局部权重值。
在一个可选示例中,第二镜像图的权重分布图用于描述第二镜像图中的多个视差值各自对应的权重值。第二镜像图的权重分布图可以包括但不限于:第二镜像图的第一权重分布图以及第二镜像图的第二权重分布图。
可选的,上述第二镜像图的第一权重分布图是针对多个不同的单目图像的镜像图的视差图的镜像图统一设置的权重分布图,即第二镜像图的第一权重分布图面向多个不同的单目图像的镜像图的视差图的镜像图,也就是说,不同单目图像的镜像图的视差图的镜像图使用同一个第一权重分布图,因此,本公开可以将第二镜像图的第一权重分布图称为第二镜像图的全局权重分布图。第二镜像图的全局权重分布图用于描述第二镜像图中的多个视差值(如所有视差值)各自对应的全局权重值。
可选的,上述第二镜像图的第二权重分布图是针对单个单目图像的镜像图的视差图的镜像图而设置的权重分布图,即第二镜像图的第二权重分布图是面向单个单目图像的镜像图的视差图的镜像图的,也就是说,不同单目图像的镜像图的视差图的镜像图使用不同的第二权重分布图,因此,本公开可以将第二镜像图的第二权重分布图称为第二镜像图的局部权重分布图。第二镜像图的局部权重分布图用于描述第二镜像图中的多个视差值(如所有视差值)各自对应的局部权重值。
在一个可选示例中,第一视差图的第一权重分布图包括:至少两个左右分列的区域,不同区域具有不同的权重值。可选的,位于左侧的区域的权重值与位于右侧的区域的权重值的大小关系,通常与单目图像被作为待处理左目图像,还是被作为待处理右目图像,相关。
例如,在单目图像被作为待处理左目图像的情况下,对于第一视差图的第一权重分布图中的任意两个区域而言,位于右侧的区域的权重值不小于位于左侧的区域的权重值。图6为图3所示的视差图的第一权重分布图,该第一权重分布图被划分为五个区域,即图6中的区域1、区域2、区域3、区域4和区域5。区域5的权重值不小于区域4的权重值,区域4的权重值不小于区域3的权重值,区域3的权重值不小于区域2的权重值,区域2的权重值不小于区域1的权重值。另外,第一视差图的第一权重分布图中的任一区域内可以具有相同的权重值,也可以具有不同的权重值。在第一视差图的第一权重分布图中的一个区域内具有不同的权重值的情况下,该区域内左侧部分的权重值通常小于或等于该区域内右侧部分的权重值。可选的,图6中的区域1的权重值可以为0,即在第一视差图中,区域1对应视差是完全不可信的;区域2的权重值可以从左侧到右侧,由0逐渐增大到0.5;区域3的权重值为0.5;区域4的权重值可以从左侧到右侧,由0.5逐渐增大到1;区域5的权重值为1,即在第一视差图中,区域5对应视差是完全可信的。
再例如,在单目图像被作为待处理右目图像的情况下,对于第一视差图的第一权重分布图中的任意两个区域而言,位于左侧的区域的权重值不小于位于右侧的区域的权重值。图7示出了被作为待处理右目图像的视差图的第一权重分布图,该第一权重分布图被划分为五个区域,即图7中的区域1、区域2、区域3、区域4和区域5。区域1的权重值不小于区域2的权重值,区域2的权重值不小于区域3的权重值,区域3的权重值不小于区域4的权重值,区域4的权重值不小于区域5的权重值。另外,第一视差图的第一权重分布图中的任一区域内可以具有相同的权重值,也可以具有不同的权重值。在第一视差图的第一权重分布图中的一个区域内具有不同的权重值的情况下,该区域内的右侧部分的权重值通常不大于该区域内的左侧部分的权重值。可选的,图7中的区域5的权重值可以为0,即在第一视差图中,区域5对应视差是完全不可信的;区域4内的权重值可以从右侧到左侧,由0逐渐增大到0.5;区域3的权重值为0.5;区域2内的权重值可以从右侧到左侧,由0.5逐渐增大到1;区域1的权重值为1,即在第一视差图中,区域1对应视差是完全可信的。
可选的,第二镜像图的第一权重分布图包括至少两个左右分列的区域,不同区域具有不同的权重值。可选的,位于左侧的区域的权重值与位于右侧的区域的权重值的大小关系,通常与单目图像被作为待处理左目图像,还是被作为待处理右目图像,相关。
例如,在单目图像被作为待处理左目图像的情况下,对于第二镜像图的第一权重分布图中的任意两个区域而言,位于右侧的区域的权重值不小于位于左侧的区域的权重值。另外,第二镜像图的第一权重分布图中的任一区域内可以具有相同的权重值,也可以具有不同的权重值。在第二镜像图的第一权重分布图中的一个区域内具有不同的权重值的情况下,该区域内的左侧部分的权重值通常不大于该区域内的右侧部分的权重值。
再例如,在单目图像被作为待处理右目图像的情况下,对于第二镜像图的第一权重分布图中的任意两个区域而言,位于左侧的区域的权重值不小于位于右侧的区域的权重值。另外,第二镜像图的第一权重分布图中的任一区域内可以具有相同的权重值,也可以具有不同的权重值。在第二镜像图的第一权重分布图中的一个区域内具有不同的权重值的情况下,该区域内的右侧部分的权重值通常不大于该区域内的左侧部分的权重值。
可选的,第一视差图的第二权重分布图的设置方式可以包括下述步骤:
首先,对第一视差图进行左/右镜像处理,形成镜像视差图。
其次,根据镜像视差图中的视差值,设置第一视差图的第二权重分布图中的权重值。
可选的,对于镜像视差图中的任一位置处的像素点而言,在该位置处的像素点的视差值满足第一预定条件的情况下,将第一视差图的第二权重分布图中在该位置处的像素点的权重值设置为第一值,在该像素点的视差值不满足第一预定条件的情况下,将第一视差图的第二权重分布图中在该位置处的像素点的权重值设置为第二值。例如,对于镜像视差图中的任一位置处的像素点而言,如果该位置处的像素点的视差值大于该位置处的像素点对应的第一参考值,则将第一视差图的第二权重分布图中的该位置处的像素点的权重值设置为第一值,否则,被设置为第二值。本公开中的第一值大于第二值。例如,第一值为1,第二值为0。
可选的,第一视差图的第二权重分布图的一个例子如图8所示。图8中的白色区域的权重值均为1,表示该位置处的视差值完全可信。图8中的黑色区域的权重值为0,表示该位置处的视差值完全不可信。
可选的,本公开中的任一位置处的像素点对应的第一参考值可以是根据第一视差图中在该位置处的像素点的视差值以及大于零的常数值设置的。例如,将第一视差图中在该位置处的像素点的视差值与大于零的常数值的乘积,作为镜像视差图中的该位置处的像素点对应的第一参考值。
可选的,第一视差图的第二权重分布图可以使用下述公式(1)表示:
Figure BDA0002109700990000131
在上述公式(1)中,Ll表示第一视差图的第二权重分布图;
Figure BDA0002109700990000132
表示镜像视差图的相应位置处的像素点的视差值;dl表示第一视差图中的相应位置处的像素点的视差值;thresh1表示大于零的常数值,thresh1的取值范围可以为1.1-1.5,如thresh1=1.2或者thresh2=1.25等。
在一个可选示例中,第二镜像图的第二权重分布图的设置方式可以为:根据第一视差图中的视差值,设置第二镜像图的第二权重分布图中的权重值。可选的,对于第二镜像图中的任一位置处的像素点而言,在第一视差图中该位置处的像素点的视差值满足第二预定条件,则将第二镜像图的第二权重分布图中该位置处的像素点的权重值设置为第三值。在第一视差图中该位置处的像素点的视差值不满足第二预定条件的情况下,将第二镜像图的第二权重分布图中该位置处的像素点的权重值设置为第四值;其中,第三值大于第四值。例如,对于第一视差图中的任一位置处的像素点而言,如果第一视差图中的该位置处的像素点的视差值大于该位置处的像素点对应的第二参考值,则将第二镜像图的第二权重分布图中的该位置处的像素点的权重值设置为第三值,否则,设置为第四值。可选的,本公开中的第三值大于第四值。例如,第三值为1,第四值为0。
可选的,本公开中的像素点对应的第二参考值可以是根据镜像视差图中的相应位置处的像素点的视差值以及大于零的常数值设置的。例如,先对第一视差图进行左/右镜像处理,形成镜像视差图,即镜像视差图,然后,将镜像视差图中的相应位置处的像素点的视差值与大于零的常数值的乘积,作为第一视差图中的相应位置处的像素点对应的第二参考值。
可选的,基于图2的环境图像,所形成的第二镜像图的一个例子如图9所示。图9所示的第二镜像图的第二权重分布图的一个例子如图10所示。图10中的白色区域的权重值均为1,表示该位置处的视差值完全可信。图10中的黑色区域的权重值为0,表示该位置处的视差值完全不可信。
可选的,第二镜像图的第二权重分布图可以使用下述公式(2)表示:
Figure BDA0002109700990000141
在上述公式(2)中,Ll′表示第二镜像图的第二权重分布图;
Figure BDA0002109700990000142
表示镜像视差图的相应位置处的像素点的视差值;dl表示第一视差图中的相应位置处的像素点的视差值;thresh2表示大于零的常数值,thresh2的取值范围可以为1.1-1.5,如thresh2=1.2或者thresh2=1.25等。
步骤C、根据单目图像的第一视差图的权重分布图、以及第二镜像图的权重分布图,对单目图像的第一视差图进行优化调整,优化调整后的视差图即为最终获得的单目图像的第一视差图。
在一个可选示例中,本公开可以利用第一视差图的第一权重分布图和第二权重分布图对第一视差图中的多个视差值进行调整,获得调整后的第一视差图;利用第二镜像图的第一权重分布图和第二权重分布图,对第二镜像图中的多个视差值进行调整,获得调整后的第二镜像图;之后,对调整后的第一视差图和调整后的第二镜像图进行合并处理,从而获得优化调整后的单目图像的第一视差图。
可选的,获得优化调整后的单目图像的第一视差图的一个例子如下:
首先,对第一视差图的第一权重分布图和第一视差图的第二权重分布图进行合并处理,获得第三权重分布图。第三权重分布图可以采用下述公式(3)表示:
Wl=Ml+Ll·0.5 公式(3)
在公式(3)中,Wl表示第三权重分布图;Ml表示第一视差图的第一权重分布图;Ll表示第一视差图的第二权重分布图;其中的0.5也可以变换为其他常数值。
其次,对第二镜像图的第一权重分布图和第二镜像图的第二权重分布图进行合并处理,获得第四权重分布图。第四权重分布图可以采用下述公式(4)表示:
Wl'=Ml'+Ll'·0.5 公式(4)
在公式(4)中,Wl'表示第四权重分布图,Ml'表示第二镜像图的第一权重分布图;Ll'表示第二镜像图的第二权重分布图;其中的0.5也可以变换为其他常数值。
再次,根据第三权重分布图调整第一视差图中的多个视差值,获得调整后的第一视差图。例如,针对第一视差图中的任一位置处的像素点的视差值而言,将该位置处的像素点的视差值替换为:该位置处的像素点的视差值与第三权重分布图中的相应位置处的像素点的权重值的乘积。在对第一视差图中的所有像素点均进行了上述替换处理后,获得调整后的第一视差图。
以及,根据第四权重分布图调整第二镜像图中的多个视差值,获得调整后的第二镜像图。例如,针对第二镜像图中的任一位置处的像素点的视差值而言,将该位置处的像素点的视差值替换为:该位置处的像素点的视差值与第四权重分布图中的相应位置处的像素点的权重值的乘积。在对第二镜像图中的所有像素点均进行了上述替换处理后,获得调整后的第二镜像图。
最后,合并调整后的第一视差图和调整后的第二镜像图,最终获得单目图像的第一视差图。最终获得的单目图像的第一视差图可以采用下述公式(5)表示:
Figure BDA0002109700990000151
在公式(5)中,dfinal表示最终获得的单目图像的第一视差图(如图11中的右侧第1幅图所示);Wl表示第三权重分布图(如图11中的左上第1幅图所示);Wl'表示第四权重分布图(如图11中的左下第1幅图所示);dl表示第一视差图(如图11中的左上第2幅图所示);
Figure BDA0002109700990000152
表示第二镜像图(如图11中的左下第2幅图所示)。
需要说明的是,本公开不限制对第一权重分布图和第二权重分布图进行合并处理的两个步骤的执行顺序,例如,两个合并处理的步骤可以同时执行,也可以先后执行。另外,本公开也不限制对第一视差图中的视差值进行调整和对第二镜像图中的视差值进行调整的先后执行顺序,例如,两个调整的步骤可以同时进行,也可以先后执行。
在单目图像被作为待处理左目图像的情况下,通常会存在左侧视差缺失以及物体的左侧边缘被遮挡等现象,这些现象会导致的单目图像的第一视差图中的相应区域的视差值不准确。同样的,在单目图像被作为待处理右目图像的情况下,通常会存在右侧视差缺失以及物体的右侧边缘被遮挡等现象,这些现象会导致的单目图像的第一视差图中的相应区域的视差值不准确。本公开通过对单目图像进行镜像处理,并对该第一镜像图的视差图(即第二视差图)进行镜像处理,进而利用镜像处理后的视差图(即第二镜像图)来优化调整单目图像的第一视差图,有利于减弱单目图像的第一视差图中的相应区域的视差值不准确的现象,从而有利于提高障碍物检测的精度。
在一个可选示例中,在环境图像为待处理双目图像的应用场景中,本公开获得待处理双目图像的第一视差图的方式包括但不限于:利用立体匹配的方式获得待处理双目图像的第一视差图。例如,利用BM(Block Matching,块匹配)算法、SGBM(Semi-Global BlockMatching,半全局块匹配)算法、或者GC(Graph Cuts,图割)算法等立体匹配算法获得待处理双目图像的第一视差图。再例如,利用用于获取双目图像的视差图的卷积神经网络,对待处理双目图像进行视差处理,从而获得待处理双目图像的第一视差图。
S110、在环境图像的第一视差图中,确定出多个障碍物像素区域。
示例性的,障碍物像素区域可以为第一视差图中包含位置连续的至少两个像素的像素区域。一种实施方式中,障碍物像素区域可以为障碍物像素柱状区域,例如,本公开中的障碍物像素柱状区域为一条状区域,该条状区域的宽度为至少一列像素,该条状区域的高度为至少两行像素。由于该条状区域可以被作为障碍物的基本单位,因此,本公开将该条状区域称为障碍物像素柱状区域。
在一个可选示例中,本公开可以先对上述步骤获得的环境图像的第一视差图进行边缘检测,获得障碍物边缘信息;然后,再确定环境图像的第一视差图中的障碍物区域;最后,根据障碍物边缘信息,在障碍物区域中,确定多个障碍物像素柱状区域。本公开通过划分出障碍物区域,有利于避免在关注价值低的区域内形成障碍物像素柱状区域的现象,有利于提高形成障碍物像素柱状区域的便捷性。
实际空间中的不同障碍物,由于与摄像装置的距离不同,会造成视差不同,从而会形成障碍物存在视差边缘。本公开通过检测出障碍物边缘信息,可以对视差图中的障碍物进行分隔,从而本公开可以通过搜索障碍物边缘信息,方便的形成障碍物像素柱状区域,有利于提高形成障碍物像素柱状区域的便捷性。
在一个可选示例中,本公开获得环境图像的第一视差图中的障碍物边缘信息的方式包括但不限于:利用用于边缘提取的卷积神经网络,来获得环境图像的第一视差图中的障碍物边缘信息;以及利用边缘检测算法,来获得环境图像的第一视差图中的障碍物边缘信息。
可选的,本公开利用边缘检测算法,来获得环境图像的第一视差图中的障碍物边缘信息的一个实施方式如图12所示。
图12中,步骤1、对环境图像的第一视差图进行直方图均衡化处理。其中的环境图像的第一视差图如图12的左上角的图像,该第一视差图可以利用上述步骤100而最终获得的图2所示的环境图像的第一视差图。直方图均衡化处理的结果如图12的左上第2幅图所示。
步骤2、对直方图均衡化处理的结果进行均值滤波处理。滤波处理后的结果如图12的左上第3幅图所示。
上述步骤1和步骤2是对环境图像的第一视差图的预处理。步骤1和步骤2仅为对环境图像的第一视差图进行预处理的一个例子。本公开并不限制预处理的具体实现方式。
步骤3、采用边缘检测算法,对滤波处理后的结果进行边缘检测处理,获得边缘信息。本步骤获得的边缘信息如图12的左上第4幅图所示。本公开中的边缘检测算法包括但不限于:Canny边缘检测算法、Sobel边缘检测算法或者Laplacian边缘检测算法等。
步骤4、对获得的边缘信息进行形态学膨胀运算。膨胀运算的结果如图12的左上第5幅图所示。本步骤属于对边缘检测算法的检测结果的一种后处理方式。本公开并不限制后处理的具体实现方式。
步骤5、对膨胀运算的结果进行反向操作,获得环境图像的第一视差图的边缘掩膜(Mask)。环境图像的第一视差图的边缘掩膜如图12的左下角图所示。
步骤6、将环境图像的第一视差图的边缘掩膜与环境图像的第一视差图进行与运算,获得环境图像的第一视差图中的障碍物边缘信息。图12右侧图示出了环境图像的第一视差图中的障碍物边缘信息,例如,环境图像的第一视差图中的障碍物边缘位置处的视差值被设置为0。障碍物边缘信息在图12中,呈现为黑色边缘线。
在一个可选示例中,本公开确定环境图像的第一视差图中的障碍物区域的一个例子包括如下步骤:
步骤a、对第一视差图中每行像素点的视差值进行统计处理,得到对每行像素点的视差值的统计信息,基于对每行像素点的视差值的统计信息,确定统计视差图。
可选的,本公开可以对环境图像的第一视差图进行横向统计(行方向统计),从而获得V视差图,该V视差图可以被作为统计视差图。也就是说,针对环境图像的第一视差图的每一行,对该行中的各个视差值的个数进行统计,并将统计的结果设置在V视差图的相应列上。V视差图的宽度与视差值的取值范围相关,例如,视差值的取值范围为0-254,则V视差图的宽度为255。V视差图的高度与环境图像的第一视差图的高度相同,即两者所包含的行数相同。
可选的,对于图4所示的环境图像的第一视差图而言,本公开形成的统计视差图如图13所示。图13中,最上面一行表示视差值0至5;第2行第1列的数值为1,表示图4的第1行中的视差值为0的数量为1;第2行第2列的数值为6,表示图4的第1行中的视差值为1的数量为6;第5行第6列的数值为5,表示图4的第5行中的视差值为5的数量为5。在此不再对图13中的其他数值逐一进行说明。
可选的,对于图14中的左侧图所示的环境图像的第一视差图而言,对环境图像的第一视差图进行处理,所获得的V视差图如图14中的右侧图所示。
步骤b、对统计视差图(本公开中也称为V视差图)进行第一直线拟合处理,并根据第一直线拟合处理的结果确定地面区域和非地面区域。
首先,本公开可以对V视差图进行预处理。对V视差图的预处理可以包括但不限于:去除噪声等。例如,对V视差图进行阈值滤波(threshold),以滤除V视差图中的噪声。在V视差图如图15中的左侧第1幅图所示的情况下,滤除噪声的V视差图如图15中的左侧第2幅图所示。
其次,本公开针对去除噪声后的V视差图进行第一直线拟合(fitline),从而获得第一直线方程v=Ad+B。其中的v表示V视差图中的行坐标,d表示视差值。
例如,图13中的斜线表示拟合出的第一直线方程。再例如,图15中的右侧第1幅图中的白斜线表示拟合出的第一直线方程。第一直线拟合方式包括但不限于:RANSAC直线拟合方式。
可选的,上述拟合获得的第一直线方程可以表示出地面区域的视差值与V视差图的行坐标的关系。也就是说,针对V视差图中的任一行而言,在v确定的情况下,地面区域的视差值d应为确定值。地面区域的视差值可以表示为下述公式(6)的形式:
Figure BDA0002109700990000171
在公式(6)中,droad表示地面区域的视差;A和B为已知值,如通过第一直线拟合获得的数值。
再次,本公开可以利用公式(6)对环境图像的第一视差图进行分割,从而获得地面区域Iroad和非地面区域Inotroad
可选的,本公开可以利用下述公式(7)来确定地面区域和非地面区域:
Figure BDA0002109700990000172
在上述公式(7)中,I(*)表示像素集合,如果环境图像的第一视差图中的一个像素的视差值满足|d-droad|≤thresh3,则该像素属于地面区域Iroad;如果环境图像的第一视差图中的一个像素的视差值满足|d-droad|>thresh3,则该像素属于非地面区域;thresh3表示一阈值,为已知值。阈值的大小可以根据实际情况设置。
可选的,地面区域Iroad可以如图16中的右上图所示。非地面区域Inotroad可以如图16中的右下图所示。
本公开通过设置阈值,有利于去除环境图像的第一视差图中的噪声对区域判断的影响,从而有利于更加准确的确定出地面区域和非地面区域。
最后,根据非地面区域,确定障碍物区域。
可选的,本公开中的非地面区域Inotroad可以包括:高于地面的第一区域Ihigh以及低于地面的第二区域Ilow中的至少一个。本公开可以将非地面区域Inotroad中的高于地面,且高于地面的高度小于预定高度值的区域,作为障碍物区域。由于低于地面的区域Ilow可能是坑、沟渠或山谷等区域,因此,本公开可以将非地面区域Inotroad中的低于地面,且低于地面的高度小于预定高度值的区域,作为障碍物区域。
本公开中的高于地面的第一区域Ihigh以及低于地面的第二区域Ilow可以通过下述公式(8)表示:
Figure BDA0002109700990000181
在上述公式(8)中,Inotroad(*)表示像素集合,如果环境图像的第一视差图中的一个像素的视差值满足d-droad>thresh4,则该像素属于高于地面的第一区域Ihigh;如果环境图像的第一视差图中的一个像素的视差值满足droad-d>thresh4,则该像素属于低于地面的第二区域Ilow;thresh4表示一阈值,为已知值。阈值的大小可以根据实际情况设置。
可选的,在高于地面的第一区域Ihigh中,往往包括不需要关注的障碍物,例如,红绿灯以及过街天桥等目标对象,由于其不会影响车辆的驾驶,因此,对于车辆而言,这些目标对象属于不需要关注的障碍物。这些不需要关注的障碍物往往处于较高的位置,对车辆的行驶、行人的行走等不会产生影响。本公开可以从高于地面的第一区域Ihigh中,去除属于较高位置的区域,例如,去除高于地面的高度大于等于第一预定高度值的区域,从而形成障碍物区域Iobstacle
可选的,本公开可以通过根据V视差图进行第二直线拟合处理,并根据第二直线拟合处理的结果,确定出非地面区域中的需要去除的属于较高位置的区域(即高于地面的高度大于等于第一预定高度值的区域),从而获得非地面区域中的障碍物区域Iobstacle。第二直线拟合方式包括但不限于:RANSAC直线拟合方式。
可选的,在非地面区域存在低于地面的第二区域的情况下,确定第二区域中低于地面的高度大于第二预定高度值的第二目标区域,第二目标区域为障碍物区域。
本公开针对V视差图进行第二直线拟合,从而获得的第二直线方程可以表示为v=Cd+D。其中的v表示V视差图中的行坐标,d表示视差值。通过推导计算可知,其中的C和D可以表示为:
Figure BDA0002109700990000191
因此,本公开的第二直线方程可以表示为:
Figure BDA0002109700990000192
其中的H为已知的常数值,H可以根据实际需要设置。例如,在车辆的智能控制技术中,H可以设置为2.5米。
可选的,图18中的中间图像中包含有上下两条白斜线,上面的白斜线表示拟合出的第二直线方程。
可选的,上述拟合获得的第二直线方程可以表示出障碍物区域的视差值与V视差图的行坐标的关系。也就是说,针对V视差图中的任一行而言,在v确定的情况下,障碍物区域的视差值d应为确定值。
可选的,本公开可以将高于地面的第一区域Ihigh划分为如下述公式(9)表示的形式:
Figure BDA0002109700990000193
在上述公式(9)中,Ihigh(*)表示像素集合,如果环境图像的第一视差图中的一个像素的视差值d满足d<dH,则该像素属于高于地面,但低于地面之上H高度的区域I<H,本公开可以将I<H作为障碍物区域Iobstacl;如果环境图像的第一视差图中的一个像素的视差值d满足d>dH,则该像素属于高于地面,且高于地面之上H高度的区域I>H;dH表示地面之上H高度的像素点的视差值;I>H可以如图18中的右上图所示。I<H可以如图18中的右下图所示。
在上述公式(9)中:
Figure BDA0002109700990000201
在一个可选示例中,本公开在障碍物区域Iobstacle,根据障碍物边缘信息确定像素柱状区域的方式可以为:首先,将第一视差图中的非障碍物区域的像素点的视差值以及障碍物边缘信息处的像素点的视差值设置为预定值。其次,以第一视差图的列方向的N个像素点作为遍历单位,从第一视差图的设定行起遍历每行上N个像素点的视差值,确定像素点的视差值存在预定值和非预定值之间的跳变的目标行;最后,以列方向上的N个像素点作为柱宽度、以确定出的目标行作为障碍物像素柱状区域在行方向上的边界,确定障碍物区域中的障碍物像素柱状区域。
例如,本公开在障碍物区域Iobstacle,根据障碍物边缘信息确定像素柱状区域的方式可以为:首先,根据检测到的障碍物边缘信息,将视差图中的障碍物边缘位置处的视差值均设置为预定值(如0),并将视差图中的除障碍物区域之外的区域中的视差值也设置为预定值(如0);然后,根据预定柱宽度(至少一列像素宽度,如6列像素宽度等),从视差图的最底部向上搜索,在搜索到预定柱宽度中的任一列像素的视差值由预定值跳变为非预定值时,确定该位置(视差图的行)为该像素柱状区域的底部,开始形成像素柱状区域,即开始向上延伸该像素柱状区域,例如,继续向上搜索视差图中由非预定值到预定值的跳变,在搜索到预定柱宽度中的任一列像素的视差值由非预定值跳变到预定值时,停止该像素柱状区域的向上延伸,确定该位置(视差图的行)为像素柱状区域的顶部,从而形成一障碍物像素柱状区域。
需要特别说明的是,本公开可以从视差图的左下角开始障碍物像素柱状区域的确定过程,直到视差图的右下角,例如,从视差图最左侧的6列开始执行上述障碍物像素柱状区域的确定过程,然后,从视差图的最左侧的第7-12列开始再次执行上述障碍物像素柱状区域的确定过程,直到视差图的最右侧列。本公开也可以从视差图的右下角开始障碍物像素柱状区域的确定过程,直到视差图的左下角。另外,从视差图的最下端的中间位置向两侧扩展,以形成障碍物像素柱状区域也可以完全可行的。
在一个可选示例中,本公开在障碍物区域Iobstacle,根据障碍物边缘信息形成像素柱状区域的方式可以为:首先,根据检测到的障碍物边缘信息,将视差图中的障碍物边缘位置处的视差值均设置为预定值(如0),并将视差图中的除障碍物区域之外的区域中的视差值也设置为预定值(如0);然后,根据预定柱宽度(至少一列像素宽度,如6列像素宽度等),从视差图的最顶部向下搜索,在搜索到预定柱宽度中的任一列像素的视差值由预定值跳变为非预定值时,确定该位置(视差图的行)为该像素柱状区域的顶部,开始形成像素柱状区域,即开始向下延伸该像素柱状区域,例如,继续向上搜索视差图中由非预定值到预定值的跳变,在搜索到预定柱宽度中的任一列像素的视差值由非预定值跳变到预定值时,停止该像素柱状区域的向下延伸,确定该位置(视差图的行)为像素柱状区域的底部,从而形成一障碍物像素柱状区域。
需要特别说明的是,本公开可以从视差图的左上角开始障碍物像素柱状区域的确定过程,直到视差图的右上角,例如,从视差图最左侧顶部的6列开始执行上述障碍物像素柱状区域的确定过程,然后,从视差图的最左侧顶部的第7-12列开始再次执行上述障碍物像素柱状区域的确定过程,直到视差图的最右侧列。本公开也可以从视差图的右上角开始障碍物像素柱状区域的确定过程,直到视差图的左上角。另外,从视差图的最上端的中间位置向两侧扩展,以形成障碍物像素柱状区域也可以完全可行的。
由上述描述可知,本公开中的障碍物像素柱状区域为一条状区域,该条状区域的宽度为至少一列像素,该条状区域的高度为至少两行像素。由于该条状区域被作为障碍物的基本单位,因此,本公开将该条状区域称为障碍物像素柱状区域。
可选的,本公开针对图2所示的环境图像,所形成的障碍物像素柱状区域的一个例子如图19右图所示。图19右图中的每一个障碍物像素柱状区域的宽度均为6列像素宽度。障碍物像素柱状区域的宽度可以根据实际需求设置。将障碍物像素柱状区域的宽度设置的越大,所形成的障碍物像素柱状区域越粗糙,而形成障碍物像素柱状区域的耗时也会越短。
在一个可选示例中,在形成了障碍物像素柱状区域后,应确定障碍物像素柱状区域的属性信息,障碍物像素柱状区域的属性信息包括但不限于:障碍物像素柱状区域的空间位置信息、障碍物像素柱状区域的底部信息bottom、障碍物像素柱状区域的视差值disp、障碍物像素柱状区域的顶部信息top以及障碍物像素柱状区域的列信息col。
可选的,障碍物像素柱状区域的空间位置信息可以包括:障碍物像素柱状区域在水平方向坐标轴(X坐标轴)上的坐标、障碍物像素柱状区域在深度方向坐标轴(Z坐标轴)上的坐标、障碍物像素柱状区域在竖直方向坐标轴(Y坐标轴)上的最高点坐标和障碍物像素柱状区域在竖直方向坐标轴(Y坐标轴)上的最低点坐标。也就是说,障碍物像素柱状区域的空间位置信息包括:障碍物像素柱状区域的X坐标、Z坐标、最大Y坐标和最小Y坐标。的X坐标轴、Y坐标轴和Z坐标轴的一个例子如图17所示。
可选的,障碍物像素柱状区域的底部信息可以为障碍物像素柱状区域最下端的行号。在预定值为0的情况下,障碍物像素柱状区域的视差值可以为:视差值由零跳变为非零时,该非零位置处的像素的视差值;障碍物像素柱状区域的顶部信息可以为视差值由非零跳变为零时,零位置处的像素的行号。障碍物像素柱状区域的列信息可以为该装置像素所包含的所有列中的任一列的列号,例如,位于像素柱状区域中间位置处的一列的列号。
可选的,针对每一个障碍物像素柱状区域,本公开均利用下述公式(10)计算障碍物像素柱状区域的空间位置信息,即障碍物像素柱状区域的X坐标、Z坐标、最大Y坐标和最小Y坐标:
Figure BDA0002109700990000211
在上述公式(10)中,b表示双目摄像装置的间距;f表示摄像装置的焦距;Disp表示障碍物像素柱状区域的视差值;Col表示障碍物像素柱状区域的列信息;cx表示摄像装置主点的X坐标值。
可选的,障碍物像素柱状区域中的每一个像素的Y坐标可以使用下述公式(11)表示:
Figure BDA0002109700990000212
在上述公式(11)中,Yi表示障碍物像素柱状区域中的第i个像素的Y坐标;rowi表示障碍物像素柱状区域中的第i个像素的行号;cy表示摄像装置主点的Y坐标值;Z表示障碍物像素柱状区域的Z坐标;f表示摄像装置的焦距。
在获得了一个障碍物像素柱状区域内的所有像素的Y坐标之后,即可获得其中的最大Y坐标和最小Y坐标。最大Y坐标和最小Y坐标可以表示为下述公式(12)所示:
Ymin=min(Yi)
Ymax=max(Yi) 公式(12)
在上述公式(12)中,Ymin表示障碍物像素柱状区域的最小Y坐标;Ymax表示障碍物像素柱状区域的最大Y坐标;min(Yi)表示计算所有Yi中的最小值;max(Yi)表示计算所有Yi中的最大值。
S120、对多个障碍物像素区域进行聚类处理,获得至少一个类簇。
在一个可选示例中,本公开可以对多个障碍物像素柱状区域进行聚类处理,获得至少一个类簇。本公开可以根据障碍物像素柱状区域的空间位置信息,对所有障碍物像素柱状区域进行聚类处理,一个类簇对应一个障碍物实例。本公开可以采用相应的聚类算法对各障碍物像素柱状区域进行聚类处理。
可选的,在对多个像素柱状区域进行聚类处理之前,可以先对障碍物像素柱状区域的X坐标和Z坐标进行归一化处理(即归一化处理)。
例如,本公开可以采用min-max归一化处理方式,对障碍物像素柱状区域的X坐标和Z坐标进行映射,使将障碍物像素柱状区域的X坐标和Z坐标被映射到[0-1]取值范围内。该归一化处理方式的一个例子,如下述公式(13)所示:
Figure BDA0002109700990000221
在上述公式(13)中,X*表示归一化处理后的X坐标;Z*表示归一化处理后的Z坐标;X表示障碍物像素柱状区域的X坐标;Z表示障碍物像素柱状区域的Z坐标;Xmin表示所有障碍物像素柱状区域的X坐标中的最小值;Xmax表示所有障碍物像素柱状区域的X坐标中的最大值;Zmin表示所有障碍物像素柱状区域的Z坐标中的最小值;Zmax表示所有障碍物像素柱状区域的Z坐标中的最大值。
再例如,本公开也可以采用Z-score归一化处理方式,对障碍物像素柱状区域的X坐标和Z坐标进行归一化处理。该归一化处理方式的一个例子,如下述公式(14)所示:
Figure BDA0002109700990000231
在上述公式(14)中,X*表示归一化处理后的X坐标;Z*表示归一化处理后的Z坐标;X表示障碍物像素柱状区域的X坐标;Z表示障碍物像素柱状区域的Z坐标;μX表示针对所有障碍物像素柱状区域的X坐标计算出的均值;σX表示针对所有障碍物像素柱状区域的X坐标计算出的标准差;μZ表示针对所有障碍物像素柱状区域的Z坐标计算出的均值;σZ示针对所有障碍物像素柱状区域的Z坐标计算出的标准差。本公开处理后的所有障碍物像素柱状区域的X*和Z*均符合标准正态分布,即均值为0,标准差为1。
可选的,本公开可以采用密度聚类(DBSCAN)算法,根据归一化处理后的所有障碍物像素柱状区域的空间位置信息,对障碍物像素柱状区域进行聚类处理,从而形成至少一个类簇,每一个类簇即为一个障碍物示例。本公开不对聚类算法进行限制。聚类结果的一个例子,如图20中的右图所示。
S130、根据属于同一个类簇的障碍物像素区域,确定障碍物检测结果。
示例性的,障碍物检测结果例如可以但不限于包括障碍物检测框、障碍物的空间位置信息中的至少一种。
在一个可选示例中,本公开可以根据属于同一个类簇的像素柱状区域的空间位置信息,确定出环境图像中的障碍物检测框(Bounding-Box)。例如,对于一个类簇而言,本公开可以计算该类簇中的所有障碍物像素柱状区域在环境图像中的最大列坐标umax以及最小列坐标umin,并计算该类簇中的所有障碍物像素柱状区域的最大的bottom(即vmax)以及最小的top(即vmin)(注:假定图像坐标系的原点位于图像的左上角)。本公开所获得的障碍物检测框在环境图像中的坐标可以表示为(umin,vmin,umax,vmax)。
可选的,本公开确定出的障碍物检测框的一个例子如图21右图所示。图21右图中的多个矩形框均为本公开获得的障碍物检测框。
本公开通过对多个障碍物像素柱状区域进行聚类处理来获得障碍物,无需对要检测的障碍物进行预定义,没有利用障碍物的纹理、颜色、形状、类别等预定义的信息,便可以直接基于对障碍物区域进行聚类的方式来检测出障碍物,并且,检测出的障碍物并不局限于某些预先定义好的障碍物,可以实现对周围空间环境中可能对智能设备的移动过程造成阻碍的各式各样的障碍物进行检测,从而实现了泛类型的障碍物检测。
在一个可选示例中,本公开也可以根据属于同一个类簇的多个障碍物像素柱状区域的空间位置信息,确定障碍物的空间位置信息。障碍物的空间位置信息可以包括但不限于:障碍物在水平方向坐标轴(X坐标轴)上的坐标、障碍物在深度方向坐标轴(Z坐标轴)上的坐标以及障碍物在竖直方向上的高度(即障碍物的高度)等。
可选的,本公开可以先根据属于同一个类簇的多个障碍物像素柱状区域的空间位置信息,确定一该类簇中的多个障碍物像素柱状区域与生成环境图像的摄像装置之间的距离,然后,根据距离最近的障碍物像素柱状区域的空间位置信息,确定障碍物的空间位置信息。
可选的,本公开可以采用下述公式(15)来计算一个类簇中的多个障碍物像素柱状区域与摄像装置之间的距离,并选取出最小距离:
Figure BDA0002109700990000241
在上述公式(15)中,dmin表示最小距离;Xi表示一个类簇中的第i个障碍物像素柱状区域的X坐标;Zi表示一个类簇中的第i个障碍物像素柱状区域的Z坐标。
在确定出最小距离后,可以将具有该最小距离的障碍物像素柱状区域的X坐标和Z坐标作为该障碍物的空间位置信息,如下述公式(16)所示:
OX=Xclose
OZ=Zclose 公式(16)
在上述公式(16)中,OX表示障碍物在水平方向坐标轴上的坐标,即障碍物的X坐标;OZ表示障碍物在深度方向坐标轴(X坐标轴)上的坐标,即障碍物的Z坐标;Xclose表示上述计算出具有最小距离的障碍物像素柱状区域的X坐标;Zclose表示上述计算出具有最小距离的障碍物像素柱状区域的Z坐标。
可选的,本公开可以采用下述公式(17)来计算障碍物的高度:
OH=Ymax-Ymin 公式(17)
在上述公式(17)中,OH表示障碍物的高度;Ymax表示一类簇中的所有障碍物像素柱状区域的最大Y坐标;Ymin表示一类簇中的所有障碍物像素柱状区域的最小Y坐标。
本公开训练卷积神经网络的一个实施方式的流程,如图22所示。
S2200、将双目图像样本中的其中一目(如左/右目)图像样本输入至待训练的卷积神经网络中。
可选的,本公开输入卷积神经网络中的图像样本可以始终为双目图像样本的左目图像样本,也可以始终为双目图像样本的右目图像样本。在输入卷积神经网络中的图像样本始终为双目图像样本的左目图像样本的情况下,成功训练后的卷积神经网络,在测试或者实际应用场景中,会将输入的环境图像作为待处理左目图像。在输入卷积神经网络中的图像样本始终为双目图像样本的右目图像样本的情况下,成功训练后的卷积神经网络,在测试或者实际应用场景中,会将输入的环境图像作为待处理右目图像。
S2210、经由卷积神经网络进行视差分析处理,基于该卷积神经网络的输出,获得左目图像样本的视差图和右目图像样本的视差图。
S2220、根据左目图像样本以及右目图像样本的视差图重建右目图像。
可选的,本公开重建右目图像的方式包括但不限于:对左目图像样本以及右目图像样本的视差图进行重投影计算,从而获得重建的右目图像。
S2230、根据右目图像样本以及左目图像样本的视差图重建左目图像。
可选的,本公开重建左目图像的方式包括但不限于:对右目图像样本以及左目图像样本的视差图进行重投影计算,从而获得重建的左目图像。
S2240、根据重建的左目图像和左目图像样本之间的差异、以及重建的右目图像和右目图像样本之间的差异,调整卷积神经网络的网络参数。
可选的,本公开在确定差异时,所采用的损失函数包括但不限于:L1损失函数、smooth损失函数以及lr-Consistency损失函数等。另外,本公开在将计算出的损失反向传播,以调整卷积神经网络的网络参数(如卷积核的权值)时,可以基于卷积神经网络的链式求导所计算出的梯度,来反向传播损失,从而有利于提高卷积神经网络的训练效率。
在一个可选示例中,在针对卷积神经网络的训练达到预定迭代条件时,本次训练过程结束。本公开中的预定迭代条件可以包括:基于卷积神经网络输出的视差图而重建的左目图像与左目图像样本之间的差异、以及基于卷积神经网络输出的视差图而重建的右目图像和右目图像样本之间的差异,满足预定差异要求。在该差异满足要求的情况下,本次对卷积神经网络成功训练完成。本公开中的预定迭代条件也可以包括:对卷积神经网络进行训练,所使用的双目图像样本的数量达到预定数量要求等。在使用的双目图像样本的数量达到预定数量要求,然而,基于卷积神经网络输出的视差图而重建的左目图像与左目图像样本之间的差异、以及基于卷积神经网络输出的视差图而重建的右目图像和右目图像样本之间的差异,并未满足预定差异要求情况下,本次对卷积神经网络并未训练成功。
图23为本公开的智能驾驶控制方法的一个实施例的流程图。本公开的智能驾驶控制方法可以适用但不限于:自动驾驶(如完全无人辅助的自动驾驶)环境或辅助驾驶环境中。
S2300、通过智能驾驶设备上设置的图像采集装置获取智能设备在移动过程中的环境图像。该图像采集装置包括但不限于:基于RGB的摄像装置等。
S2310、对获取的环境图像进行障碍物检测,确定障碍物检测结果。本步骤的具体实现过程可参见上述方法实施方式中针对图1的描述,在此不再详细说明。
S2320、根据障碍物检测结果生成并输出控制指令。
可选的,本公开生成的控制指令包括但不限于:速度保持控制指令、速度调整控制指令(如减速行驶指令、加速行驶指令等)、方向保持控制指令、方向调整控制指令(如左转向指令、右转向指令、向左侧车道并线指令、或者向右侧车道并线指令等)、鸣笛指令、预警提示控制指令或者驾驶模式切换控制指令(如切换为自动巡航驾驶模式等)。
需要特别说明的是,本公开的障碍物检测技术除了可以适用于智能驾驶控制领域之外,还可以应用在其他领域中;例如,可以实现工业制造中的障碍物检测、超市等室内领域的障碍物检测、安防领域中的障碍物检测等等,本公开不限制障碍物检测技术的适用场景。
图24为本公开的障碍物检测装置的一个实施例的结构示意图。图24中的装置包括:获取模块2400、第一确定模块2410、聚类模块2420以及第二确定模块2430。可选的,还可以包括:训练模块2440。
获取模块2400用于获取环境图像的第一视差图。环境图像为表征智能设备在移动过程中所处的空间环境信息的图像。可选的,环境图像包括单目图像。获取模块2400可以包括:第一子模块、第二子模块和第三子模块。第一子模块,用于利用卷积神经网络对单目图像进行视差分析处理,基于卷积神经网络的输出,获得单目图像的第一视差图;其中的卷积神经网络是利用双目图像样本,训练获得的。第二子模块用于将单目图像进行镜像处理后,得到第一镜像图,并获取第一镜像图的视差图。第三子模块用于根据第一镜像图的视差图,对单目图像的第一视差图进行视差调整,获得经视差调整后的第一视差图。其中的第三子模块可以包括:第一单元和第二单元。其中的第一单元用于将第一镜像图的视差图进行镜像处理后,得到第二镜像图。第二单元用于根据第一视差图的权重分布图、以及第二镜像图的权重分布图,对第一视差图进行视差调整,获得经视差调整后的第一视差图。其中,第一视差图的权重分布图包括表示第一视差图中多个视差值各自对应的权重值;第二镜像图的权重分布图包括第二镜像图中多个视差值各自对应的权重。
可选的,本公开中的权重分布图包括:第一权重分布图以及第二权重分布图中的至少一个。第一权重分布图是针对多个环境图像统一设置的权重分布图;第二权重分布图是针对不同环境图像分别设置的权重分布图。第一权重分布图包括至少两个左右分列的区域,不同区域具有不同的权重值。
可选的,在单目图像为待处理左目图像的情况下:对于第一视差图的第一权重分布图中的任意两个区域而言,位于右侧的区域的权重值不小于位于左侧的区域的权重值;对于第二镜像图的第一权重分布图中的任意两个区域而言,位于右侧的区域的权重值不小于位于左侧的区域的权重值。对于第一视差图的第一权重分布图中的至少一区域而言,该区域中左侧部分的权重值不大于该区域中的右侧部分的权重值;对于第二镜像图的第一权重分布图中的至少一区域而言,该区域中左侧部分的权重值不大于该区域中右侧部分的权重值。
可选的,在单目图像为待处理右目图像的情况下,对于第一视差图的第一权重分布图中的任意两个区域而言,位于左侧的区域的权重值不小于位于右侧的区域的权重值;对于第二镜像图的第一权重分布图中的任意两个区域而言,位于左侧的区域的权重值不小于位于右侧的区域的权重值。
可选的,对于第一视差图的第一权重分布图中的至少一区域而言,该区域中右侧部分的权重值不大于该区域中左侧部分的权重值;对于第二镜像图的第一权重分布图中的至少一区域而言,该区域中右侧部分的权重值不大于该区域中左侧部分的权重值。
可选的,第三子模块还可以包括:第三单元,用于设置第一视差图的第二权重分布图。具体的,第三单元对第一视差图进行镜像处理,形成镜像视差图;并根据第一视差图的镜像视差图中的视差值,设置第一视差图的第二权重分布图中的权重值。例如,对于镜像视差图中的任一位置处的像素点而言,在该位置处的像素点的视差值满足第一预定条件的情况下,第三单元将第一视差图的第二权重分布图中在该位置处的像素点的权重值设置为第一值。在该像素点的视差值不满足第一预定条件的情况下,第三单元可以将第一视差图的第二权重分布图中在该位置处的像素点的权重值设置为第二值;其中,第一值大于第二值。其中的第一预定条件可以包括:该位置处的像素点的视差值大于该位置处的像素点的第一参考值。该位置处的像素点的第一参考值是根据第一视差图中该位置处的像素点的视差值以及大于零的常数值,设置的。
可选的,第三子模块还可以包括:第四单元。第四单元用于设置第二镜像图的第二权重分布图的第四单元。例如,第四单元根据第一视差图中的视差值,设置第二镜像图的第二权重分布图中的权重值。更具体的,对于第二镜像图中的任一位置处的像素点而言,在所述第一视差图中该位置处的像素点的视差值满足第二预定条件,则第四单元将第二镜像图的第二权重分布图中该位置处的像素点的权重值设置为第三值。在第一视差图中该位置处的像素点的视差值不满足第二预定条件的情况下,第四单元将第二镜像图的第二权重分布图中该位置处的像素点的权重值设置为第四值;其中,第三值大于第四值。其中的第二预定条件包括:第一视差图中该位置处的像素点的视差值大于该位置处的像素点的第二参考值;其中,该位置处的像素点的第二参考值是根据第一视差图的镜像视差图中在该位置处的像素点的视差值以及大于零的常数值,设置的。
可选的,第二单元可以根据第一视差图的第一权重分布图和第二权重分布图,调整第一视差图中的视差值;并根据第二镜像图的第一权重分布图和第二权重分布图,调整第二镜像图中的视差值;第二单元将视差调整后的第一视差图和视差值调整后的第二镜像图进行合并后,最终获得经视差调整后的第一视差图。
获取模块2400所包括的各部分具体执行的操作可以参见上述方法实施例中针对S100的描述,在此不再详细说明。
第一确定模块2410用于在环境图像的第一视差图中确定出多个障碍物像素区域。第一确定模块2410可以包括:第四子模块、第五子模块和第六子模块。第四子模块用于对环境图像的第一视差图进行边缘检测,获得障碍物边缘信息。第五子模块用于确定环境图像的第一视差图中的障碍物区域;第六子模块用于根据障碍物边缘信息,在第一视差图的障碍物区域中,确定多个障碍物像素柱状区域。其中的第五子模块可以包括:第五单元、第六单元、第七单元以及第八单元。第五单元用于对第一视差图中每行像素点的视差值进行统计处理,得到对每行像素点的视差值的统计信息。第六单元用于基于对每行像素点的视差值的统计信息,确定统计视差图;第七单元用于对统计视差图进行第一直线拟合处理,根据第一直线拟合处理的结果确定地面区域和非地面区域;第八单元用于根据非地面区域,确定障碍物区域。其中,非地面区域包括:高于地面的第一区域。非地面区域包括:高于地面的第一区域和低于地面的第二区域。第八单元可以对统计视差图进行第二直线拟合处理,根据第二直线拟合处理的结果,确定第一区域中的高于地面的高度小于第一预定高度值的第一目标区域,第一目标区域为障碍物区域;在非地面区域存在低于地面的第二区域的情况下,第八单元确定第二区域中低于地面的高度大于第二预定高度值的第二目标区域,第二目标区域为障碍物区域。
可选的,第六子模块可以将第一视差图中的非障碍物区域的像素点的视差值以及障碍物边缘信息处的像素点的视差值设置为预定值;第六子模块以第一视差图的列方向的N个像素点作为遍历单位,从第一视差图的设定行起遍历每行上N个像素点的视差值,确定像素点的视差值存在所述预定值和非预定值之间的跳变的目标行;第六子模块用于以列方向上的N个像素点作为柱宽度、以确定出的目标行作为障碍物像素柱状区域在行方向上的边界,确定障碍物区域中的障碍物像素柱状区域。
第一确定模块2410所包括的各部分具体执行的操作可以参见上述方法实施例中针对S110的描述,在此不再详细说明。
聚类模块2420用于对多个障碍物像素区域进行聚类处理,获得至少一个类簇。例如,聚类模块2420可以对多个障碍物像素柱状区域进行聚类处理。聚类模块2420可以包括第七子模块和第八子模块。第七子模块用于确定多个障碍物像素柱状区域的空间位置信息。第八子模块用于根据多个障碍物像素柱状区域的空间位置信息,对多个障碍物像素柱状区域进行聚类处理。例如,针对任一障碍物像素柱状区域而言,第八子模块根据该障碍物像素柱状区域所包含的像素,确定该障碍物像素柱状区域的属性信息,并根据该障碍物像素柱状区域的属性信息,确定该障碍物像素柱状区域的空间位置信息。其中的障碍物像素柱状区域的属性信息可以包括:像素柱状区域底部信息、像素柱状区域顶部信息、像素柱状区域视差值、以及像素柱状区域列信息中的至少一个。其中的障碍物像素柱状区域的空间位置信息可以包括:障碍物像素柱状区域在水平方向坐标轴上的坐标、障碍物像素柱状区域在深度方向坐标轴上的坐标。障碍物像素柱状区域的空间位置信息还可以包括:障碍物像素柱状区域在竖直方向坐标轴上的最高点坐标、以及障碍物像素柱状区域在竖直方向坐标轴上的最低点坐标;其中的最高点坐标和最低点坐标用于确定障碍物高度。聚类模块2420所包括的各部分具体执行的操作可以参见上述方法实施例中针对S120的描述,在此不再详细说明。
第二确定模块2430用于根据属于同一个类簇的障碍物像素区域,确定障碍物检测结果。第二确定模块可以包括:第九子模块和第十子模块中的至少一个。第九子模块用于根据属于同一个类簇的障碍物像素柱状区域的空间位置信息,确定环境图像中的障碍物检测框。第十子模块用于根据属于同一个类簇的障碍物像素柱状区域的空间位置信息,确定障碍物的空间位置信息。例如,第十子模块可以根据属于同一个类簇的多个障碍物像素柱状区域的空间位置信息,确定多个障碍物像素柱状区域与生成环境图像的摄像装置之间的距离;并根据距离摄像装置最近的障碍物像素柱状区域的空间位置信息,确定障碍物的空间位置信息。第二确定模块2430所包括的各部分具体执行的操作可以参见上述方法实施例中针对S130的描述,在此不再详细说明。
训练模块2440用于训练卷积神经网络的训练模块。例如,训练模块2440将双目图像样本中的其中一目图像样本输入至待训练的卷积神经网络中,经由卷积神经网络进行视差分析处理,基于卷积神经网络的输出,获得左目图像样本的视差图和右目图像样本的视差图;训练模块2440根据左目图像样本以及右目图像样本的视差图重建右目图像;训练模块2440根据右目图像样本以及左目图像样本的视差图重建左目图像;训练模块2440根据重建的左目图像和左目图像样本之间的差异、以及重建的右目图像和右目图像样本之间的差异,调整所述卷积神经网络的网络参数。训练模块2440执行的具体操作可以参见上述针对图22的描述,在此不再详细说明。
图25为本公开的智能驾驶控制装置的一个实施例的结构示意图。图25中的装置包括:获取模块2500、障碍物检测装置2510以及控制模块2520。
获取模块2500用于通过智能驾驶设备上设置的图像采集装置获取所述智能设备在移动过程中的环境图像。障碍物检测装置2510用于对环境图像进行障碍物检测,确定障碍物检测结果。控制模块2520用于根据障碍物检测结果生成并输出车辆的控制指令。
示例性设备
图26示出了适于实现本公开的示例性设备2600,设备2600可以是汽车中配置的控制系统/电子系统、移动终端(例如,智能移动电话等)、个人计算机(PC,例如,台式计算机或者笔记型计算机等)、平板电脑以及服务器等。图26中,设备2600包括一个或者多个处理器、通信部等,所述一个或者多个处理器可以为:一个或者多个中央处理单元(CPU)2601,和/或,一个或者多个利用神经网络进行视觉跟踪的图像处理器(GPU)2613等,处理器可以根据存储在只读存储器(ROM)2602中的可执行指令或者从存储部分2608加载到随机访问存储器(RAM)2603中的可执行指令而执行各种适当的动作和处理。通信部2612可以包括但不限于网卡,所述网卡可以包括但不限于IB(Infiniband)网卡。处理器可与只读存储器2602和/或随机访问存储器2603中通信以执行可执行指令,通过总线2604与通信部2612相连、并经通信部2612与其他目标设备通信,从而完成本公开中的相应步骤。
上述各指令所执行的操作可以参见上述方法实施例中的相关描述,在此不再详细说明。此外,在RAM2603中,还可以存储有装置操作所需的各种程序以及数据。CPU2601、ROM2602以及RAM2603通过总线2604彼此相连。
在有RAM2603的情况下,ROM2602为可选模块。RAM2603存储可执行指令,或在运行时向ROM2602中写入可执行指令,可执行指令使中央处理单元2601执行上述物体分割方法所包括的步骤。输入/输出(I/O)接口2605也连接至总线2604。通信部2612可以集成设置,也可以设置为具有多个子模块(例如,多个IB网卡),并分别与总线连接。
以下部件连接至I/O接口2605:包括键盘、鼠标等的输入部分2606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分2607;包括硬盘等的存储部分2608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分2609。通信部分2609经由诸如因特网的网络执行通信处理。驱动器2610也根据需要连接至I/O接口2605。可拆卸介质2611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器2610上,以便于从其上读出的计算机程序根据需要被安装在存储部分2608中。
需要特别说明的是,如图26所示的架构仅为一种可选实现方式,在具体实践过程中,可根据实际需要对上述图26的部件数量和类型进行选择、删减、增加或替换;在不同功能部件设置上,也可采用分离设置或集成设置等实现方式,例如,GPU2613和CPU2601可分离设置,再如理,可将GPU2613集成在CPU2601上,通信部可分离设置,也可集成设置在CPU2601或GPU2613上等。这些可替换的实施方式均落入本公开的保护范围。
特别地,根据本公开的实施方式,下文参考流程图描述的过程可以被实现为计算机软件程序,例如,本公开实施方式包括一种计算机程序产品,其包含有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的步骤的程序代码,程序代码可包括对应执行本公开提供的方法中的步骤对应的指令。
在这样的实施方式中,该计算机程序可以通过通信部分2609从网络上被下载及安装,和/或从可拆卸介质2611被安装。在该计算机程序被中央处理单元(CPU)2601执行时,执行本公开中记载的实现上述相应步骤的指令。
在一个或多个可选实施方式中,本公开实施例还提供了一种计算机程序程序产品,用于存储计算机可读指令,所述指令被执行时使得计算机执行上述任意实施例中所述的障碍物检测方法或者智能驾驶控制方法。
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选例子中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选例子中,所述计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
在一个或多个可选实施方式中,本公开实施例还提供了另一种视觉跟踪方法和神经网络的训练方法及其对应的装置和电子设备、计算机存储介质、计算机程序以及计算机程序产品,其中的方法包括:第一装置向第二装置发送障碍物检测指示或者智能驾驶控制指示,该指示使得第二装置执行上述任一可能的实施例中的障碍物检测方法或者智能驾驶控制方法;第一装置接收第二装置发送的障碍物检测结果或者智能驾驶控制结果。
在一些实施例中,该视障碍物检测指示或者智能驾驶控制指示可以具体为调用指令,第一装置可以通过调用的方式指示第二装置执行障碍物检测操作或者智能驾驶控制操作,相应地,响应于接收到调用指令,第二装置可以执行上述障碍物检测方法或者智能驾驶控制方法中的任意实施例中的步骤和/或流程。
应理解,本公开实施例中的“第一”、“第二”等术语仅仅是为了区分,而不应理解成对本公开实施例的限定。还应理解,在本公开中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。还应理解,对于本公开中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
可能以许多方式来实现本公开的方法和装置、电子设备以及计算机可读存储介质。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置、电子设备以及计算机可读存储介质。用于方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施方式中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。本公开的描述,是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言,是显然的。选择和描述实施方式是为了更好说明本公开的原理以及实际应用,并且使本领域的普通技术人员能够理解本公开实施例可以从而设计适于特定用途的带有各种修改的各种实施方式。

Claims (10)

1.一种障碍物检测方法,其特征在于,包括:
获取环境图像的第一视差图,所述环境图像为表征智能设备在移动过程中所处的空间环境信息的图像;
在所述环境图像的第一视差图中确定出多个障碍物像素区域;
对所述多个障碍物像素区域进行聚类处理,获得至少一个类簇;
根据属于同一个类簇的障碍物像素区域,确定障碍物检测结果。
2.根据权利要求1所述的方法,其特征在于,所述环境图像包括单目图像;
在获得环境图像的第一视差图之后,还包括:
将所述单目图像进行镜像处理后,得到第一镜像图,并获取所述第一镜像图的视差图;
根据所述第一镜像图的视差图,对所述单目图像的第一视差图进行视差调整,获得经视差调整后的第一视差图;
所述在所述环境图像的第一视差图中确定出多个障碍物像素区域,包括:
在所述经视差调整后的第一视差图中确定出多个障碍物像素区域。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一镜像图的视差图,对所述单目图像的第一视差图进行视差调整,获得经视差调整后的第一视差图,包括:
将所述第一镜像图的视差图进行镜像处理后,得到第二镜像图;
根据所述第一视差图的权重分布图、以及所述第二镜像图的权重分布图,对所述第一视差图进行视差调整,获得经视差调整后的第一视差图;
其中,所述第一视差图的权重分布图包括表示所述第一视差图中多个视差值各自对应的权重值;所述第二镜像图的权重分布图包括所述第二镜像图中多个视差值各自对应的权重。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述在所述环境图像的第一视差图中确定出多个障碍物像素区域,包括:
对所述环境图像的第一视差图进行边缘检测,获得障碍物边缘信息;
确定所述环境图像的第一视差图中的障碍物区域;
根据所述障碍物边缘信息,在所述第一视差图的障碍物区域中,确定多个障碍物像素柱状区域。
5.一种智能驾驶控制方法,其特征在于,包括:
通过智能驾驶设备上设置的图像采集装置获取所述智能设备在移动过程中的环境图像;
采用如权利要求1-4中任一项所述的方法,对获取的环境图像进行障碍物检测,确定障碍物检测结果;
根据所述障碍物检测结果生成并输出控制指令。
6.一种障碍物检测装置,其特征在于,包括:
获取模块,用于获取环境图像的第一视差图,所述环境图像为表征智能设备在移动过程中所处的空间环境信息的图像;
第一确定模块,用于在所述环境图像的第一视差图中确定出多个障碍物像素区域;
聚类模块,用于对所述多个障碍物像素区域进行聚类处理,获得至少一个类簇;
第二确定模块,用于根据属于同一个类簇的障碍物像素区域,确定障碍物检测结果。
7.一种智能驾驶控制装置,其特征在于,包括:
获取模块,用于通过智能驾驶设备上设置的图像采集装置获取所述智能设备在移动过程中的环境图像;
采用如权利要求6所述的装置,对所述环境图像进行障碍物检测,确定障碍物检测结果;
控制模块,用于根据所述障碍物检测结果生成并输出控制指令。
8.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现上述权利要求1-5中任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,该计算机程序被处理器执行时,实现上述权利要求1-5中任一项所述的方法。
10.一种计算机程序,其特征在于,包括计算机指令,当所述计算机指令在设备的处理器中运行时,实现上述权利要求1-5中任一项所述的方法。
CN201910566416.2A 2019-06-27 2019-06-27 障碍物检测方法、智能驾驶控制方法、装置、介质及设备 Pending CN112149458A (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201910566416.2A CN112149458A (zh) 2019-06-27 2019-06-27 障碍物检测方法、智能驾驶控制方法、装置、介质及设备
KR1020217007268A KR20210043628A (ko) 2019-06-27 2019-11-26 장애물 감지 방법, 지능형 주행 제어 방법, 장치, 매체, 및 기기
SG11202013264YA SG11202013264YA (en) 2019-06-27 2019-11-26 Obstacle detection method, intelligent driving control method, apparatus, medium, and device
JP2021513777A JP2021536071A (ja) 2019-06-27 2019-11-26 障害物検出方法、知的運転制御方法、装置、媒体、及び機器
PCT/CN2019/120833 WO2020258703A1 (zh) 2019-06-27 2019-11-26 障碍物检测方法、智能驾驶控制方法、装置、介质及设备
US17/137,542 US20210117704A1 (en) 2019-06-27 2020-12-30 Obstacle detection method, intelligent driving control method, electronic device, and non-transitory computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910566416.2A CN112149458A (zh) 2019-06-27 2019-06-27 障碍物检测方法、智能驾驶控制方法、装置、介质及设备

Publications (1)

Publication Number Publication Date
CN112149458A true CN112149458A (zh) 2020-12-29

Family

ID=73868506

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910566416.2A Pending CN112149458A (zh) 2019-06-27 2019-06-27 障碍物检测方法、智能驾驶控制方法、装置、介质及设备

Country Status (6)

Country Link
US (1) US20210117704A1 (zh)
JP (1) JP2021536071A (zh)
KR (1) KR20210043628A (zh)
CN (1) CN112149458A (zh)
SG (1) SG11202013264YA (zh)
WO (1) WO2020258703A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112631312A (zh) * 2021-03-08 2021-04-09 北京三快在线科技有限公司 一种无人设备的控制方法、装置、存储介质及电子设备
CN112733653A (zh) * 2020-12-30 2021-04-30 智车优行科技(北京)有限公司 目标检测方法和装置、计算机可读存储介质、电子设备

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102125538B1 (ko) * 2019-12-13 2020-06-22 주식회사 토르 드라이브 자율 주행을 위한 효율적인 맵 매칭 방법 및 그 장치
CN113269838B (zh) * 2021-05-20 2023-04-07 西安交通大学 一种基于fira平台的障碍物视觉检测方法
CN113747058B (zh) * 2021-07-27 2023-06-23 荣耀终端有限公司 基于多摄像头的图像内容屏蔽方法和装置
CN113792583A (zh) * 2021-08-03 2021-12-14 北京中科慧眼科技有限公司 基于可行驶区域的障碍物检测方法、系统和智能终端
KR102623109B1 (ko) * 2021-09-10 2024-01-10 중앙대학교 산학협력단 합성곱 신경망 모델을 이용한 3차원 의료 영상 분석 시스템 및 방법
CN114119700B (zh) * 2021-11-26 2024-03-29 山东科技大学 一种基于u-v视差图的障碍物测距方法
CN115474032B (zh) * 2022-09-14 2023-10-03 深圳市火乐科技发展有限公司 投影交互方法、投影设备和存储介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101701818A (zh) * 2009-11-05 2010-05-05 上海交通大学 远距离障碍的检测方法
KR100962329B1 (ko) * 2009-02-05 2010-06-10 연세대학교 산학협력단 스테레오 카메라 영상으로부터의 지면 추출 방법과 장치 및이와 같은 방법을 구현하는 프로그램이 기록된 기록매체
CN105095905A (zh) * 2014-04-18 2015-11-25 株式会社理光 目标识别方法和目标识别装置
CN105741312A (zh) * 2014-12-09 2016-07-06 株式会社理光 目标对象跟踪方法和设备
CN106708084A (zh) * 2016-11-24 2017-05-24 中国科学院自动化研究所 复杂环境下无人机自动障碍物检测和避障方法
CN107636679A (zh) * 2016-12-30 2018-01-26 深圳前海达闼云端智能科技有限公司 一种障碍物检测方法及装置
US20180101177A1 (en) * 2016-10-11 2018-04-12 Mobileye Vision Technologies Ltd. Navigating a vehicle based on a detected barrier
CN108961327A (zh) * 2018-05-22 2018-12-07 深圳市商汤科技有限公司 一种单目深度估计方法及其装置、设备和存储介质
CN109087346A (zh) * 2018-09-21 2018-12-25 北京地平线机器人技术研发有限公司 单目深度模型的训练方法、训练装置和电子设备
CN109190704A (zh) * 2018-09-06 2019-01-11 中国科学院深圳先进技术研究院 障碍物检测的方法及机器人
WO2019080557A1 (zh) * 2017-10-26 2019-05-02 海信集团有限公司 一种障碍物检测方法及装置
CN109890575A (zh) * 2016-08-25 2019-06-14 Lg电子株式会社 移动机器人及其控制方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103955943A (zh) * 2014-05-21 2014-07-30 西安电子科技大学 基于融合变化检测算子与尺度驱动的无监督变化检测方法
CN104573646B (zh) * 2014-12-29 2017-12-12 长安大学 基于激光雷达和双目相机的车前行人检测方法及系统
CN106971348B (zh) * 2016-01-14 2021-04-30 阿里巴巴集团控股有限公司 一种基于时间序列的数据预测方法和装置
CN105866790B (zh) * 2016-04-07 2018-08-10 重庆大学 一种考虑激光发射强度的激光雷达障碍物识别方法及系统
CN106157307B (zh) * 2016-06-27 2018-09-11 浙江工商大学 一种基于多尺度cnn和连续crf的单目图像深度估计方法
CN108197698B (zh) * 2017-12-13 2022-10-14 中国科学院自动化研究所 基于多模态融合的多脑区协同自主决策方法
CN108725440B (zh) * 2018-04-20 2020-11-27 深圳市商汤科技有限公司 前向碰撞控制方法和装置、电子设备、程序和介质
CN109508673A (zh) * 2018-11-13 2019-03-22 大连理工大学 一种基于棒状像素的交通场景障碍检测与识别方法

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100962329B1 (ko) * 2009-02-05 2010-06-10 연세대학교 산학협력단 스테레오 카메라 영상으로부터의 지면 추출 방법과 장치 및이와 같은 방법을 구현하는 프로그램이 기록된 기록매체
CN101701818A (zh) * 2009-11-05 2010-05-05 上海交通大学 远距离障碍的检测方法
CN105095905A (zh) * 2014-04-18 2015-11-25 株式会社理光 目标识别方法和目标识别装置
CN105741312A (zh) * 2014-12-09 2016-07-06 株式会社理光 目标对象跟踪方法和设备
CN109890575A (zh) * 2016-08-25 2019-06-14 Lg电子株式会社 移动机器人及其控制方法
US20180101177A1 (en) * 2016-10-11 2018-04-12 Mobileye Vision Technologies Ltd. Navigating a vehicle based on a detected barrier
CN109804223A (zh) * 2016-10-11 2019-05-24 御眼视觉技术有限公司 基于检测到的障碍物导航车辆
CN106708084A (zh) * 2016-11-24 2017-05-24 中国科学院自动化研究所 复杂环境下无人机自动障碍物检测和避障方法
CN107636679A (zh) * 2016-12-30 2018-01-26 深圳前海达闼云端智能科技有限公司 一种障碍物检测方法及装置
WO2019080557A1 (zh) * 2017-10-26 2019-05-02 海信集团有限公司 一种障碍物检测方法及装置
CN108961327A (zh) * 2018-05-22 2018-12-07 深圳市商汤科技有限公司 一种单目深度估计方法及其装置、设备和存储介质
CN109190704A (zh) * 2018-09-06 2019-01-11 中国科学院深圳先进技术研究院 障碍物检测的方法及机器人
CN109087346A (zh) * 2018-09-21 2018-12-25 北京地平线机器人技术研发有限公司 单目深度模型的训练方法、训练装置和电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112733653A (zh) * 2020-12-30 2021-04-30 智车优行科技(北京)有限公司 目标检测方法和装置、计算机可读存储介质、电子设备
CN112631312A (zh) * 2021-03-08 2021-04-09 北京三快在线科技有限公司 一种无人设备的控制方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
KR20210043628A (ko) 2021-04-21
US20210117704A1 (en) 2021-04-22
SG11202013264YA (en) 2021-01-28
WO2020258703A1 (zh) 2020-12-30
JP2021536071A (ja) 2021-12-23

Similar Documents

Publication Publication Date Title
CN112149458A (zh) 障碍物检测方法、智能驾驶控制方法、装置、介质及设备
CN109635685B (zh) 目标对象3d检测方法、装置、介质及设备
US20240161622A1 (en) Vehicle environment modeling with a camera
CN110826357B (zh) 对象三维检测及智能驾驶控制的方法、装置、介质及设备
US9245200B2 (en) Method for detecting a straight line in a digital image
Srinivasa Vision-based vehicle detection and tracking method for forward collision warning in automobiles
US20150269740A1 (en) Image Processor Configured for Efficient Estimation and Elimination of Foreground Information in Images
US20210122367A1 (en) Methods, devices, media, and apparatuses of detecting moving object, and of intelligent driving control
CN105825173A (zh) 通用道路和车道检测系统与方法
JP2013109760A (ja) 対象検知方法及び対象検知システム
JP2012118698A (ja) 画像処理装置
US10789495B2 (en) System and method for 1D root association providing sparsity guarantee in image data
CN112017239B (zh) 确定目标对象朝向方法、智能驾驶控制方法和装置及设备
Jia et al. Real-time obstacle detection with motion features using monocular vision
Lim et al. River flow lane detection and Kalman filtering‐based B‐spline lane tracking
US8395824B2 (en) Method for determining ground line
CN108460348A (zh) 基于三维模型的道路目标检测方法
He et al. A novel way to organize 3D LiDAR point cloud as 2D depth map height map and surface normal map
Agrawal et al. Off-road lane detection using superpixel clustering and ransac curve fitting
JP4658714B2 (ja) 画像中の線を検出する方法、装置、プログラム、および記憶媒体
Hiçdurmaz et al. Real-time obstacle avoidance based on floor detection for mobile robots
CN117372988B (zh) 道路边界检测方法、装置、电子设备及存储介质
Arróspide et al. Real-time vehicle detection and tracking based on perspective and non-perspective space cooperation
CN117557616B (zh) 一种单目相机俯仰角确定和深度估计方法、装置及设备
Ahlberg Optical Detection and Altitude Estimation of Power Lines Relative to a UAV

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