CN112907557A - 道路检测方法、装置、计算设备及存储介质 - Google Patents
道路检测方法、装置、计算设备及存储介质 Download PDFInfo
- Publication number
- CN112907557A CN112907557A CN202110276849.1A CN202110276849A CN112907557A CN 112907557 A CN112907557 A CN 112907557A CN 202110276849 A CN202110276849 A CN 202110276849A CN 112907557 A CN112907557 A CN 112907557A
- Authority
- CN
- China
- Prior art keywords
- image
- optical flow
- feature map
- flow data
- layer
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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/60—Analysis of geometric attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- 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
- G06T7/85—Stereo camera calibration
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Geometry (AREA)
- Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
公开了一种道路检测方法,包括:获取针对待检测道路的图像对,所述图像对包括在不同拍摄位置获取的第一图像和第二图像;确定所述图像对的光流数据;根据所述图像对的光流数据,确定第一图像和第二图像之间的像素点匹配关系;根据第一图像和第二图像之间的像素点匹配关系,确定待检测道路的破损情况。该道路检测方法可以在地图、自动驾驶或智慧交通等领域中被使用来确定道路的破损情况。
Description
技术领域
本公开涉及图像处理领域,更具体地涉及一种基于光流的道路检测方法和装置、计算设备及计算机可读存储介质。
背景技术
在智能道路巡检,尤其是道路破损检测的过程中,激光雷达虽然有更加高精度的检测能力,但是由于它价格昂贵、体积庞大,严重阻碍了其普及和发展。
随着计算机视觉技术,尤其是图像处理技术的发展,出现了基于目标物图像的采集(例如利用双目相机)和识别(例如利用神经网络)的智能道路巡检方法。然而,这种基于图像处理的道路巡检方法,对道路本身的损伤或破损检测却表现不佳,因为该检测方法往往需要采用双目相机采集图像。而在传统双目相机检测方案中,由于对光照和纹理不丰富的区域敏感,容易造成误检测,检测精度较低,而且双目相机检测算法复杂且严重依赖外参标定,检测成本较高。
发明内容
针对上述缺陷中至少一个,本公开提供了一种道路检测方法和装置、计算设备及计算机可读存储介质,其主要基于计算机视觉中光流估计技术且不依赖于双目相机,以期缓解、减轻或甚至消除上述问题中的一些或全部以及其它可能的问题。
根据本公开的一个方面,提出了一种道路检测方法,包括:获取针对待检测道路的图像对,所述图像对包括在不同拍摄位置获取的第一图像和第二图像;确定所述图像对的光流数据;根据所述图像对的光流数据,确定第一图像和第二图像之间的像素点匹配关系;根据第一图像和第二图像之间的像素点匹配关系,确定待检测道路的破损情况。
在一些实施例中,所述第一图像和第二图像分别是由第一相机和第二相机同步获取的。
在一些实施例中,所述根据第一图像和第二图像之间的像素点匹配关系,确定待检测道路的破损情况,包括:根据第一图像和第二图像之间的像素点匹配关系,确定第一图像对应的实际场景的点云的空间坐标;根据所述实际场景的点云的空间坐标拟合待检测道路的曲面方程;根据所述待检测道路的曲面方程和所述实际场景的点云的空间坐标,确定待检测道路的破损情况。
在一些实施例中,所述待检测道路的破损情况,包括下述中至少一个:坑洼和裂缝。
在一些实施例中,所述根据所述待检测道路的曲面方程和所述实际场景的点云的空间坐标,确定待检测道路的破损情况,包括:根据所述待检测道路的曲面方程和所述实际场景的点云的空间坐标,确定待检测道路的坑洼的数量、位置、面积、深度中至少一个;根据所述待检测道路的曲面方程和所述实际场景的点云的空间坐标,确定待检测道路的裂缝的数量、位置、宽度、长度、取向中至少一个。
在一些实施例中,根据所述图像对的光流数据,确定第一图像和第二图像之间的像素点匹配关系,包括:根据所述图像对的光流数据,确定第一图像和第二图像中像素点对应关系;根据第一图像和第二图像中像素点对应关系,计算相对应的像素点之间的匹配度;从第一图像和第二图像中像素点对应关系中剔除低于匹配度阈值的像素点,以得到第一图像和第二图像之间的像素点匹配关系。
在一些实施例中,所述确定所述图像对的光流数据包括:根据所述图像对构建包括n层特征图的特征金字塔,n>=2,其中特征金字塔的第1层特征图是从所述图像对提取的,第k层特征图是从第k-1层特征图提取的,k为大于1且小于等于n的正整数,以及根据特征金字塔,生成所述图像对的光流数据。
在一些实施例中,所述根据特征金字塔,生成所述图像对的光流数据包括:根据特征金字塔的第n层特征图和预设的初始光流数据,生成第n层特征图的光流数据;通过下述步骤,按照自下而上的位置顺序依次计算特征金字塔的第i层特征图的光流数据,i为大于等于1且小于n-1的正整数:根据第i+1层特征图的光流数据以及第i层特征图,生成第i层特征图的光流数据;以及基于特征金字塔第1层特征图的光流数据,生成所述图像对的光流数据。
在一些实施例中,特征金字塔的每层特征图包括分别对应于第一图像和第二图像的第一特征图和第二特征图,并且其中,所述根据第i+1层特征图的光流数据以及第i层特征图,生成第i层特征图的光流数据, 包括:根据第i+1层特征图的光流数据,对第i层特征图中的第二特征图进行视图变换以得到经变换的第二特征图,其中所述视图变换包括对第i+1层特征图的光流数据进行上采样,以及利用经上采样的第i+1层特征图的光流数据对第i层特征图的第二特征图进行第一变换;确定第i层特征图的第一特征图和经变换的第二特征图的相似度;基于第i层特征图的第一特征图、第i层特征图的第一特征图和经变换的第二特征图的相似度以及第i+1层特征图的光流数据,生成第i层特征图的光流数据。
在一些实施例中,所述基于特征金字塔第1层特征图的光流数据,生成所述图像对的光流数据,包括:扩充第1层特征图的光流数据对应的光流图的感受野,以生成所述图像对的光流数据,所述光流图的感受野表示光流图中的像素点在所述图像对中的第一图像上映射的区域大小。
在一些实施例中,所述视图变换进一步包括:对经第一变换的第二特征图进行掩模操作,其中所述掩模操作用于估计经第一变换的第二特征图中像素点的遮挡情况。
在一些实施例中,所述确定第i层特征图的第一特征图和经变换的第二特征图的相似度,包括:增大所述经变换的第二特征图的长和宽,得到增大的第二特征图;以所述第i层特征图的第一特征图为卷积核,对增大的第二特征图进行卷积操作,以得到第i层特征图的第一特征图和经变换的第二特征图的相似度。
在一些实施例中,所述确定所述图像对的光流数据包括利用光流估计模型确定所述图像对的光流数据,其中所述光流估计模型通过下述步骤训练得到:获取多个用于训练的样本图像对;将所述多个样本图像对输入到光流估计模型,以生成每一个样本图像对的光流数据;利用每一个样本图像对的光流数据计算该样本图像对的一致性损失,其中所述样本图像对的一致性损失包括该样本图像对之间的光度一致性损失和结构一致性损失的加权和;调节光流估计模型的参数,使得所述多个样本图像对的一致性损失之和收敛。
在一些实施例中,所述一致性损失进一步包括样本图像对的平滑度损失。
在一些实施例中,所述特征提取器和所述光流估计器中每一个包括一个或多个卷积神经网络。
在一些实施例中,所述光流估计模型包括下述中至少一个:PWCnet、Flownet、Fownet2。
根据本公开的另一方面,提出一种道路检测装置,包括:获取模块,其配置成获取针对待检测道路的图像对,所述图像对包括在不同拍摄位置获取的第一图像和第二图像;第一确定模块,其配置成确定所述图像对的光流数据;第二确定模块,其配置成根据所述图像对的光流数据,确定第一图像和第二图像之间的像素点匹配关系;第三确定模块,其配置成根据第一图像和第二图像之间的像素点匹配关系,确定待检测道路的破损情况。
根据本公开的另一个方面,提出一种计算设备,包括:存储器和处理器,其中所述存储器中存储有计算机程序,所述计算机程序在被所述处理器执行时促使所述处理器执行根据本公开一些实施例的道路检测方法的步骤。
根据本公开的另一方面,提出一种计算机可读存储介质,其上存储计算机可读指令,所述计算机可读指令在被执行时实现根据本公开一些实施例的道路检测方法。
根据本公开的另一方面,提出一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行根据本公开一些实施例的道路检测方法中至少一个步骤的程序代码。
在根据本公开一些实施例的基于光流技术的道路检测方法和装置中,一方面,由于在图像采集时并不严格限于使用双目相机,避免了双目相机所造成的容易误检测问题,从而提升了检测精度;另一方面,通过利用光流数据确定像素匹配关系,避免了双目相机算法的使用,从而显著简化了计算过程,降低了计算复杂度和检测成本。
附图说明
根据以下详细描述和附图,将容易理解本公开的各个不同的方面、特征和优点,在附图中:
图1示意性示出根据本公开一些实施例的道路检测方法的示例实施环境;
图2示意性示出根据本公开一些实施例的道路检测方法在图1的示例实施环境中实现的示例交互流程图;
图3示意性示出根据本公开一些实施例的道路检测方法的流程图;
图4A示出根据本发明一些实施例的光流估计模型的结构框图;
图4B示出了图4A所示的根据本发明一些实施例的光流估计模型中特征提取器的原理图;
图4C示出了图4A所示的根据本发明一些实施例的光流估计模型中光流估计器的运行流程图;
图4D示意性示出根据本公开一些实施例的光流估计模型的光流估计器的结构和运行原理图;
图4E示意性示出根据本公开一些实施例的光流估计模型的光流估计器中的特征变换组件的原理示意图;
图5A示出了根据本公开一些实施例的光流估计模型的训练流程图;
图5B示出不同位置获取的第一图像和第二图像示例;
图5C示出了根据本公开一些实施例的光流估计模型预测示例光流图;
图6示意性示出根据本公开一些实施例的道路检测方法的流程图;
图7A示出了根据本公开一些实施例的道路检测方法的流程图
图7B示出了三角化原理示意图;
图7C示出了根据本公开一些实施例的道路检测方法的可视化结果示意图;
图8示意性示出了根据本公开一些实施例的道路检测装置的示例框图;
图9示意性示出了根据本公开一些实施例的计算设备的示例框图。
应当指出,上述附图仅仅是示意性的和说明性的,且并不一定按照比例绘制。
具体实施方式
下面将参照附图更详细地描述本公开的若干个实施例以便使得本领域技术人员能够实现本公开。本公开可以体现为许多不同的形式和目的并且不应局限于本文所阐述的实施例。提供这些实施例以使得本公开全面且完整,并充分地向本领域技术人员传达本公开的范围。所述实施例并不限定本公开。
将理解的是,尽管术语第一、第二、第三等在本文中可以用来描述各种元件、部件和/或部分,但是这些元件、部件和/或部分不应当由这些术语限制。这些术语仅用来将一个元件、部件或部分与另一个元件、部件或部分相区分。因此,下面讨论的第一元件、部件或部分可以被称为第二元件、部件或部分而不偏离本公开的教导。
本文中使用的术语仅出于描述特定实施例的目的并且不意图限制本公开。如本文中使用的,单数形式“一个”、“一”和“该”意图也包括复数形式,除非上下文清楚地另有指示。将进一步理解的是,术语“包括”和/或“包含”当在本说明书中使用时指定所述及特征、整体、步骤、操作、元件和/或部件的存在,但不排除一个或多个其他特征、整体、步骤、操作、元件、部件和/或其群组的存在或添加一个或多个其他特征、整体、步骤、操作、元件、部件和/或其群组。如本文中使用的,术语“和/或”包括相关联的列出项目中的一个或多个的任意和全部组合。
除非另有定义,本文中使用的所有术语(包括技术术语和科学术语)具有与本公开所属领域的普通技术人员所通常理解的相同含义。将进一步理解的是,诸如那些在通常使用的字典中定义的之类的术语应当被解释为具有与其在相关领域和/或本说明书上下文中的含义相一致的含义,并且将不在理想化或过于正式的意义上进行解释,除非本文中明确地如此定义。
人工智能(Artificial Intelligence, AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换言之,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习等技术。
计算机视觉技术(Computer Vision, CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能***。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
在详细介绍本公开的实施例之前,为了清楚起见,首先对一些相关的概念进行解释:
1、光流和光流估计:
光流是空间运动物体在观察成像平面上的像素运动的瞬时速度,在时间间隔很小(比如视频的连续前后两帧之间)时,也等同于目标像素点的位移。在计算机视觉领域,光流可以用于表示视频图像中各个像素点随时间的运动情况。
光流估计一般地是指基于两幅具有时间相关性的图像,例如视频图像中的相邻两帧图像,利用光流估计算法或模型(例如神经网络模型PWCNet、FlowNet、FlowNet2等)确定(获取时刻)在前图像中的像素点在另一(获取时刻)在后图像中的位置,计算像素点在两个图像获取时刻之间的时间间隔中发生的运动位移(即在后图像相对于在前图像的位置偏移)。在本公开的一些实施例中,光流估计可以扩展为:基于任意一对针对同一目标的图像(包括第一图像和第二图像,二者不必具有时间相关性),利用光流估计算法或模型确定其中第一图像的像素点在第二图像中的位置,计算第一图像中的像素点相对于第二图像的位置偏移。
3、图像对的光流数据。
通过光流估计确定的图像对中第一图像的像素点相对于第二图像的位置偏移可以称为第一图像的该像素点相对于第二图像的光流。例如,第一图像中的像素点相对于第二图像的光流可以由(u,v)表示,其中u为该像素点在x方向上相对于第二图像的位置偏移,v为该像素点在y方向上相对于第二图像的位置偏移。
图像对中第一图像的一个或多个像素点相对于第二图像的光流的集合构成第一图像相对于第二图像的光流数据;同样图像对中第二图像的一个或多个像素点相对于第一图像的光流的集合构成第二图像相对于第一图像的光流数据。因此,图像对的光流数据可以定义为上述两种光流数据中的一种,即第一图像相对于第二图像的光流数据,或者第二图像相对于第一图像光流数据。
第一图像相对于第二图像(或第二图像相对于第一图像)的光流数据可以包括稠密光流数据和稀疏光流数据。如果第一图像相对于第二图像的光流数据中包括的像素点光流的数目与第一图像中的总像素点的数目相同,可以将其称为稠密光流数据;如果第一图像相对于第二图像的光流数据中包括的像素点光流的数目少于第一图像中的像素点的数目,可以将其称为稀疏光流数据。通过计算图像中的每个像素点的光流数据可以获得该图像的稠密光流数据。
在相关技术的道路检测方法中,通常利用双目相机捕获道路图像,随后通过对双目成像进行视觉特征匹配,这严重依赖双目相机的外参标定;然而在道路检测过程中,双目相机安装在车上很容易受车辆颠簸和外界温度的影响导致标定外参发生改变,造成检测精度受到严重影响,甚至无法完成检测;另一方面基于双目相机的算法计算量都较大,很难做到车端实时。
针对相关技术的上述问题,本公开的发明人提出了利用不同拍摄位置的相机(不限于双目相机,例如两个单目相机同步拍摄或一个单目相机连续拍摄)获取待检测道路的一对图像;并创新性提出了利用光流法(利用光流估计模型确定不限于时间相关性的两个图像的光流数据)来确定这对道路图像之间的视觉特征匹配,即两个图像中对应于实际场景中同一三维空间位置的像素点的匹配;以及利用两个图像被拍摄时各自相机的相对拍摄位置和取向以及图像间的视觉特征匹配来识别待检测道路及其破损情况(例如通过三角法确定图像中像素点的深度并估计道路三维点云,并基于点云确定道路曲面及其中的破损区域)。
另外,本公开还提供了一种针对任意图像对(图像对中的两个图像不必具有时间相关性)的基于深度学习神经网络的自监督光流估计模型,其训练过程只需输入无标签训练样本(即图像对,而无需相应的光流真值),通过基于一致性损失的自监督信号来实现模型训练(优化模型参数)。这样,避免了传统有监督光流估计模型中训练所必需的难以获得的光流真值。
图1示意性示出了根据本公开一些实施例的道路检测方法的示例实施环境100。如图1所示,实施环境100可以包括终端设备110,还可以包括服务器120以及用于连接终端设备110和服务器120的网络130。在一些实施例中,终端设备110可以用于实现根据本公开的道路检测方法。例如该终端设备110可以部署有用于执行本公开提供的各种方法的相应程序或指令。可选地,服务器120和终端设备110也可以相互配合以实现根据本公开的各种方法。
终端设备110可以是任何类型的移动计算设备,包括移动计算机(例如,Microsoft® Surface®设备、个人数字助理(PDA)、膝上型计算机、笔记本计算机、诸如Apple iPadTM的平板计算机、上网本等)、移动电话(例如,蜂窝电话、诸如Microsoft Windows®电话的智能手机、Apple iPhone、实现了Google® AndroidTM操作***的电话、Palm®设备,Blackberry®设备等)、可穿戴式计算设备(例如智能手表、头戴式设备,包括智能眼镜,如Google® GlassTM,等)或其他类型的移动设备(如图1所示的车载智能(导航、自动驾驶等)***)。在一些实施例中,终端设备110也可以是固定式计算设备,例如台式计算机、游戏机、智能电视等。
服务器120可以是单个服务器或服务器集群,或者可以是能够提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器或云服务器集群。应理解,本文所提及的服务器典型地为具有大量存储器和处理器资源的服务器计算机,但是其他实施例也是可能的。可选地,服务器120也可以是普通的台式计算机,其包括主机、显示器等。
网络130的示例包括局域网(LAN)、广域网(WAN)、个域网(PAN)、和/或诸如因特网之类的通信网络的组合。服务器120以及终端设备110可以包括能够通过网络130进行通信的至少一个通信接口(未示出)。这样的通信接口可以是下列各项中的一个或多个:任何类型的网络接口(例如,网络接口卡(NIC))、有线或无线(诸如IEEE 802.11无线LAN(WLAN))无线接口、全球微波接入互操作(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、BluetoothTM接口、近场通信(NFC)接口等。
如图1所示,终端设备110可以包括显示屏以及终端用户可以经由显示屏与终端应用进行交互。终端设备110可以例如经由网络130与服务器120,例如向其发送数据或从其接收数据。终端应用或游戏可以为本地应用程序、网页(Web)应用程序或者作为轻量化应用的小程序(LiteApp,例如手机小程序、微信小程序)。在终端应用为需要安装的本地应用程序的情况下,可以将终端应用安装在终端设备110中。在终端应用为Web应用程序的情况下,可以通过浏览器访问终端应用或游戏。在终端应用为小程序的情况下,可以通过搜索终端应用的相关信息(如终端应用的名称等)、扫描终端应用的图形码(如条形码、二维码等)等方式来在终端设备110上直接打开终端应用,而无需安装终端应用。
图2示出了根据本公开一些实施例的道路检测方法在图1所示的示例实施环境100中实现的示例交互流程图。下面参考图2所示的示例交互流程图简要描述根据本公开一些实施例的道路检测方法在实施环境100中的工作原理。
如图2所示,首先,服务器120可以被配置成:从终端设备110获取针对待检测道路的图像对,所述图像对包括在不同拍摄位置获取的第一图像和第二图像。例如终端设备110可以通过内置的图像采集装置(例如相机或摄像头等)获取待检测道路的图像。其次,服务器120可以被配置成:将所述图像对输入到光流估计模型,以生成所述图像对的光流数据。再次,服务器120可以被配置成:根据所述图像对的光流数据,确定第一图像和第二图像之间的像素点匹配关系。最后,服务器120可以被配置成:根据第一图像和第二图像之间的像素点匹配关系,确定待检测道路的破损情况,以及向终端设备110发送待检测道路的破损情况以供终端设备110的用户得知该情况。
图1和图2的实施环境和交互流程图仅仅是示意性的,根据本公开的道路检测方法并不限于所示出的示例实施环境和交互流程。应理解,虽然在本文中,服务器120与终端设备110被示出和描述为分离的结构,但它们可以是同一计算设备的不同组成部分。
可选地,根据本公一些实施例的道路检测方法的所有步骤也可以仅在终端设备110处实现,即终端设备110可以配置成:获取针对待检测道路的图像对,所述图像对包括在不同拍摄位置获取的第一图像和第二图像;将所述图像对输入到光流估计模型,以生成所述图像对的光流数据;根据所述图像对的光流数据,确定第一图像和第二图像之间的像素点匹配关系;根据第一图像和第二图像之间的像素点匹配关系,确定待检测道路的破损情况。
图3示意性示出了根据本公开一些实施例的道路检测方法流程图。
在一些实施例中,根据本公开的道路检测方法可以在例如图1和图2所示的终端设备110(例如,车载智能导航***或自动驾驶***)上执行。在另一些实施例中,根据本公开的道路检测方法也可以由图1和图2所示的终端设备110和服务器120相组合地执行。
如图3所示,根据本公开一些实施例的道路检测方法可以包括步骤S310-S330。
在步骤S310处,获取针对待检测道路的图像对,其中所述图像对包括在不同拍摄位置获取的第一图像和第二图像。
根据上文所述的本公开的构思,为了避免单双目相机进行道路识别的繁琐计算和低精度,可以采用双单目相机来获取同一段待检测道路的两个图像,随后结合光流法和几何光学方法(例如三角法)识别道路的破损。
在根据本公开的一些实施例中,步骤310中,可以采用处于不同位置的两个不同的单目相机,如第一相机和第二相机,同步拍摄的第一图像和第二图像。例如,第一相机和第二相机可以固定安装在车辆上不同位置(或者二者可以被可移动地安装,只要保证拍摄时处于不同位置),例如横向或纵向(左右或上下)并排设置,从而保证两个图像有一定差别,从而有利于后续的光流估计和道路识别(尤其是三角法计算像素点深度)。所谓“同步”拍摄是指两个相机同时或几乎同时(即二者拍摄时刻间隔非常小,例如小于一定阈值,如10毫秒或更小)获取第一图像和第二图像,以保证两个图像内容基本一致,或者差别不会太大,否则(由于车辆行驶造成拍摄内容变化)可能导致无法找到匹配像素点的情况。
可选地,第一相机和第二相机也可以是同一个单目相机,且第一图像和第二图像是该相机连续拍摄的两帧图像,其拍摄时间间隔较小以保证图像内容基本一致。在一些实施例中,第一相机和第二相机也可以是双目相机,本公开并不限定相机类型,只要可以得到相同待检测目标道路的两个图像即可。
在一些实施例中,针对待检测道路的第一图像和第二图像中不仅包括待检测道路本身,还可以包括道路上行驶的各自交通工具(汽车、自行车等)、行人,以及道路周围的环境,例如建筑物、植物、天空、立交桥等,如图5B所示。
在步骤S320处,确定所述图像对的光流数据。
根据本公开的构思,可以借用光流法来获得图像对中第一图像和第二图像之间的像素点匹配关系。在一些实施例中,关于图像对的的光流数据,可以采用已经训练好的基于神经网络的光流估计模型直接获得。这样的光流估计模型例如可以包括PWCNet、FlowNet、FlowNet2等。
在一些实施例中,也可以利用道路相关光流训练样本对光流估计模型进行训练,即优化模型的参数,以提升模型预测的准确性。例如,可以将基于神经网络的光流估计模型表示为Mof,其中的模型参数为θ(例如可以为多个参数构成的参数向量),则将光流估计模型对输入的图像对(包括第一图像I1和第二图像I2)进行处理,得到的该图像对的光流数据可以表示为Mof(θ,I1,I2)。该光流预测数据Mof(θ,I1,I2)可以表示I1相对于I2的光流数据,或者I2相对于I1的光流数据。
假设,对于图像I1中的像素点A(x1,y1),光流估计模型通过(例如一个或多个卷积神经网络)处理在图像I2中找到与像素点A对应或匹配的像素点B(x2,y2),由此可以计算得到像素点A相对于图像I2的位置偏移或位移(u,v)=(x2,y2)-(x1,y1),其中u为x方向的位移,v为y方向的位移。确定的像素B越准确,得到的位移则越准确,则生成的光流预测数据的准确性越高。这里的像素点A与B的“对应或匹配”可以是指这两个像素点对应的实际场景中的空间位置一致或相同,即A点和B点分别是实际场景中同一位置(空间三维坐标点)在这两个图像中的投影点。需要说明,光流数据中反映的像素点匹配关系不一定是完美的、精确的匹配,因为光流数据时通过模型预测和估计得到的,并不一定是光流真值。
关于光流估计模型,尤其是传统有监督的模型的训练,为了提高模型预测结果的准确性,需要构建数据量庞大的有标签的训练样本数据库,其中包含图像对以及(作为标签的)相应的光流真实数据。然而,在实际应用中,很难获得图片的光流真实数据,即图像对的标注难以完成。
在一些实施例中,鉴于上述情况,除了上文所述的光流估计模型之外,发明人提出了一种自监督光流估计模型,以用于步骤320中的图像对光流数据的估计。根据本发明一些实施例的自监督光流估计模型是基于深度学习神经网络的自监督光流估计模型,其训练过程只需输入无标签训练样本(即图像对,而无需相应的光流真值),通过基于一致性损失的自监督信号来实现模型训练(优化模型参数)。这样,避免了传统有监督光流估计模型中训练所必需的难以获得的光流真值。关于这种自监督光流估计模型的具体结构和原理,请参见图4A-4D及其相应的描述
在步骤S330处,根据图像对的光流数据,确定第一图像和第二图像之间的像素点匹配关系。
由上文所述可知,在确定了图像对的光流数据之后,可以得到图像对中第一图像中像素相对于第二图像的光流,即位移,从而可以建立第一图像与第二图像之间的像素匹配关系以用于后续的道路识别。
例如,对于图像对,包括图像I1和I2,通过光流估计模型得到的光流数据,可知图像I1中的像素点A(x1,y1)相对于图像I2的光流(即位移)为(u,v),则可以得到与图像I1中的像素点A对应或匹配的图像I2中的像素点B的坐标为(x2,y2)=(x1,y1)+(u,v)。
在一些实施例中,由于光流估计模型训练过程中存在误差以及其他因素(例如图像中道路被临时遮挡),步骤S320得到的光流数据有可能存在估计不准确的像素点光流,进而存在不准确的像素点匹配或对应,因此,在根据光流数据得到第一像素点匹配关系之后,可以增加一个附加步骤,剔除其中可能的误匹配像素点,从而得到最终的像素点匹配关系。关于误匹配剔除的具体过程,请参见图6及其相关描述。
在步骤S340处,根据第一图像和第二图像之间的像素点匹配关系,确定待检测道路的破损情况。
在获得图像对中的像素点匹配关系之后,就可以基于像素点匹配关系和预先标定的第一相机和第二相机的内参,利用三角化方法计算第一图像中像素点对应的实际场景中三维空间点(用三维坐标表示)的深度(即该空间点到第一相机光心之间的距离)。三角化方法原理是:在不同的位置观测同一个三维点P(x, y, z),已知在不同位置处观察到的三维点的二维投影点X1(x1, y1), X2(x2, y2),利用三角关系,可以恢复出三维点的深度信息。
在获得关于待检测道路实际场景中各个三维空间点的深度之后,可以根据深度信息,利用几何学方法计算得到第一图像或第二图像各像素点对应的实际场景中各个位置或空间点的三维坐标,即关于待检测道路及其周围环境的多个点构成的点云的坐标。随后,利用点云坐标根据曲面拟合算法,可以拟合出待检测道路的曲面方程。最后,通过寻找点云中处于道路曲面下方的点来确定道路破损情况。
例如在某一区域集中出现位于曲面下方的多个点(在一个小区域出现超过阈值数量的点位于曲面下方),则该区域可能是破损区域,尤其是坑洼区域。在本公开一些实施例中,道路的破损情况可以包括坑洼和裂缝中至少一个。其中坑洼表现为由于道路破损造成的相对于道路曲面的凹陷,而裂缝表现为道路由于老化或质量问题出现的直线或曲线形缝隙。坑洼情况可以用如下参数来描述:中心点位置、面积、深度(最深处)等;裂缝情况可以用如下参数来刻画:裂缝长度、深度、宽度、取向等。上面这些破损情况的各个参数都可以通过点云坐标和曲面方程利用几何学方法获得。
根据本公开一些实施例的道路检测方法通过利用相机(不限于双目相机)采集同一待检测道路的两个图像(即图像对),并利用了光流法确定这两个图像之间的像素匹配关系,进而基于像素匹配关系识别出待检测道路的破损情况。因此,在根据本公开一些实施例的基于光流技术的道路检测方法中,一方面,由于在图像采集时并不严格限于使用双目相机,提升了检测精度;另一方面,通过利用光流数据确定像素匹配关系,避免了基于双目相机算法的缺陷,从而显著简化了计算过程,降低了检测和相机维护成本。此外,根据本公开的实施例的道路检测方法可适用于在地图、自动驾驶或智慧交通等领域中确定道路的破损情况。
图4A示出根据本发明一些实施例的光流估计模型的结构框图。
如上文所述,在图3所示的根据本发明一些实施例的道路检测方法中,步骤S320中的光流估计模型可以采用已经训练好的相关技术的模型,因而可以直接通过向模型中输入待检测道路的图像对得到所需的光流数据。除此之外,根据本公开的道路检测方法步骤320也可以包括:利用如图4A所示的根据本公开一些实施例的光流估计模型来获得图像对的光流数据。
如图4A所示,根据本公开一些实施例的光流估计模型400可以包括特征提取器410和光流估计器420。在一些实施例中,特征提取器410和光流估计器420中任一个可以由一个或多个卷积神经网络构成。如图4A所示,所获取的图像对,即第一图像I1和第二图像I2,在光流估计模型中依次经过特征提取器410(提取特征)和光流估计器420(估计光流)的处理,即可得到该图像对的光流数据F。
更具体地,图3所示的步骤S320-确定所述图像对的光流数据可以包括:根据所述图像对构建包括n层特征图的特征金字塔,n>=2,其中特征金字塔的第1层特征图是从所述图像对提取的,第k层特征图是从第k-1层特征图提取的,k为大于1且小于等于n的正整数;以及根据特征金字塔,生成所述图像对的光流数据。如图4B和4C所示,上述两个步骤可以分别由特征提取器410和光流估计器420来完成。
特征金子塔包括基于原始图像逐步提取的多层特征图,而且其分辨率和尺度随着的层数增加而不断较小,其中深层特征图尽管分辨率低,但感受野较大,适合检测复杂目标;而浅层特征图分辨率高,但感受野较小,细节信息不足,适合检测小目标。因此,由于根据本公开的光流数据确定方法基于特征金字塔进行,因而可以融合多层(包括深层和浅层)特征图的信息。这样,对于原始图像中存在的不同尺寸和复杂度的目标,可以利用浅层的特征图将简单的目标的区分开来,同时利用深层的特征图将复杂的目标区分开来。因此,根据本公开一些实施例的基于特征金字塔的光流估计方法能够更精确地反映原始图像中的各种类型(简单或复杂)目标物的信息,从而所得的光流数据具有更高精度。
图4B示出了图4A所示的根据本发明一些实施例的光流估计模型中特征提取器的原理图。
如图4B所示,特征提取器410可以被配置成根据所获取的图像对,即第一图像I1和第二图像I2,进行逐层提取特征(例如对第一图图像和第二图像分别进行逐层特征提取),以构建包括由n层特征图的特征金字塔,其中n>=2。其中n可以看作超参数,根据具体应用场景等情况预先确定。在一些实施例中,其中每层特征图包括分别对应于第一图像和第二图像的第一特征图和第二特征图。因而,特征金子塔的每层特征图可以是由第一特征图和第二特征图构成的特征图对。
所谓“逐层特征提取”是指:首先从原始图像I1和I2分别提取特征,得到第一层特征图(或特征图对),即图4B中特征金字塔中最左边的标记为“一”的两个特征图(上下两个标记为“一”的特征图分别表示I1和I2的第一层特征图);随后,从第一层特征图对中的两个特征图分别提取特征,得到第二层特征图对,即图4B中特征金字塔中最左边的标记为“二”的两个特征图(上下两个标记为“二”的特征图分别表示I1和I2的第一层特征图);以此类推,直到得到第n层为止,图4B中n=6。这样,通过特征提取器410的逐层提取特征,就得到了图像对(即第一图像I1和第二图像I2)的n层特征,即n层特征图对,例如图4B所示的6层特征图对,即标记为“一”至“六”的特征图对分别表示特征金字塔的第一至第六层特征图对。如图4B所示,在6层特征金字塔中,上方的金字塔为第一图像I1的特征金字塔,下方为第二图像I2的特征金字塔。
在一些实施例中,特征提取器410可以包括分别用于特征金字塔中各层特征图提取操作的多层卷积神经网络,每层卷积神经网络经过不同的卷积网络处理得到的特征图具有不同的尺寸,其中特征图的尺寸表示该特征图中包括的像素点(其对应于原始图像的一个或多个像素点)的数目。一般地,通过卷积方式进行特征提取之后,特征图的尺寸逐渐减小,即如图4B所示第一层到第六层特征图逐渐减小,而通道数逐渐增大(图4B中未示出通道大小)。在一些实施例中,特征金字塔中每一层的通道数可以分别取16、32、64、96、128、196。在一些实施例中,在利用卷积操作进行特征提取过程中,第一图像I1和第二图像I2可以共享权重(即经过相同的多层卷积操作),以使得特征提取之后每层特征图中两个特征图差别不会过大,以利于后续光流估计操作。
图4C示出了图4A所示的根据本发明一些实施例的光流估计模型中光流估计器的运行流程图。
如图4C所示,光流估计器420可以配置成根据特征金字塔,生成所述图像对的光流数据。在一些实施例中,所述根据特征金字塔,生成所述图像对的光流数据包括:
根据特征金字塔的第n层特征图和预设的初始光流数据,生成第n层特征图的光流数据;
通过下述步骤,按照自下而上的位置顺序依次计算特征金字塔的第i层特征图的光流数据,i为大于等于1且小于等于n-1的整数:根据第i+1层特征图的光流数据以及第i层特征图,生成第i层特征图的光流数据;以及
基于特征金字塔第1层特征图的光流数据,生成所述图像对的光流数据。
上述步骤可以利用光流估计器420通过如图4C所示的步骤S401-S404完成。在上述基于特征金字塔循环计算各层特征图的光流数据的过程中,除了第n层(即最底层)之外,每一层的光流数据都是依据本层特征图而对先前得到上一层特征图的光流数据的微调结果,这样的循环操作可以充分利用每层特征图的信息,以逐步提升光流数据的精度,从而能更有效的得出高精度的光流信息。
如图4C所示,在一些实施例中,光流估计器420可以被进一步配置成执行如下步骤:
S401,根据第n层特征图和预设的初始光流数据,生成第n层特征图的光流数据,同时设置计数器k=n-1;
S402,判断循环结束条件,k是否大于零,如果是,则转到步骤S403继续当前层(即第k层)光流估计,否则转到步骤S404,结束循环;
S403,根据第k+1层特征图的光流数据以及第k层特征图,生成第k层特征图的光流数据,且令k=k-1;
S404,基于第1层特征图的光流数据,生成图像对的光流数据。
根据图4C所示,根据本公开一些实施例的光流估计模型400中,光流估计器420针对来自特征提取器410的n层特征金字塔自下而上地针对每一层特征图或特征图对计算相应的光流数据(其可以称为该层特征图的光流数据),直至得到第一层特征图或特征图对的相应光流数据(即第一层特征图的光流数据)为止;最后可以将第一层光流数据作为原始输入的图像对(即第一图像I1和第二图像I2)的最终的光流数据。在上述循环计算光流数据的过程中,除了第n层(即最底层)之外,每一层的光流数据都是依据本层特征图而对先前得到上一层特征图的光流数据的微调结果,这样的操作能更有效的检测出高精度的光流信息。
在一些实施例中,图4C所述的步骤S404-根据第k+1层特征图的光流数据以及第k层特征图,生成第k层特征图的光流数据, 包括:根据第k+1层特征图的光流数据,对第k层特征图中的第二特征图进行视图变换以得到经变换的第二特征图,其中所述视图变换包括对第k+1层特征图的光流数据进行上采样,以及利用经上采样的第k+1层特征图的光流数据对第k层特征图的第二特征图进行第一变换;确定第k层特征图的第一特征图和经变换的第二特征图的相似度;基于第k层特征图的第一特征图、第k层特征图的第一特征图和经变换的第二特征图的相似度以及第k+1层特征图的光流数据,生成第k层特征图的光流数据。上述步骤可以利用图4D所示的光流估计器420的各个组件实现。
在上述实施例中,每层特征图的光流数据是通过特征变换、相似度确定、光流估计等三个步骤完成的。特征变换步骤中,将第二特征图依照先前计算的前一层光流数据实现的,这样可以减小第二特征图与第一特征图的差别,补偿几何失真或变形,进而减小后续相似度计算的成本;相似度确定步骤可以得到第一特征图和第二特征之间的相似度,以用于后续的光流估计,这样使得最终本层特征图的光流数据融合了第一和第二特征图各对应像素之间的相似性权重,使得计算结果更精确。光流估计步骤融合了三个输入量,即当前层的第一特征图、相似度、前一层特征图的光流数据,通过多层卷积操作,最终得到当前层特征图的光流数据。因而,光流估计操作中既体现了先前的成果(前一层光流数据)又融合了更丰富的特征信息(相似度权重和当前层特征图),进一步提升了光流估计结果的精确度。
图4D示意性示出根据本公开一些实施例的光流估计模型400的光流估计器420的结构和运行原理图。图4C所示的光流估计器420的运行流程可以通过图4D所示的各个组件实现。
如图4D所示,光流估计器420可以包括特征变换组件421、相似度计算组件422、光流估计组件423。可选地,光流估计器可以进一步包括感受野扩展组件424。为说明的目的,图4D仅示出了图4B所示的特征金字塔中一层特征图对在光流估计器420中的处理过程。
下面结合图4D,详细介绍根据本发明一些实施例的光流估计模型中400的光流估计器420对特征金字塔中每一层特征图的具体处理、以及图像对光流数据的最终生成过程。
首先,如图4D所示,将第二图像I2的当前层(即第i层(i=n-1,…,1)),特征图以及先前估计的上一层(即第i+1层)特征图的光流数据输入特征变换组件421。特征变换组件421被配置成:根据第i+1层特征图的光流数据,对第二图像I2的第i层特征图(即第i层特征图的第二特征图)进行视图变换以得到经变换的第二特征图,其中该视图变换包括对第i+1层光流数据进行上采样以及利用经上采样的第i+1层特征图的光流数据对第层特征图的第二特征图进行第一变换。可选地,该视图变换进一步包括:对经第一变换的第二特征图进行掩模操作,其中所述掩模操作用于估计经第一变换的第二特征图中像素点的遮挡情况。该步骤可以利用特征变换组件421完成,参见下面结合图4E的描述中
如上文所述,一般地,如图4B所示,由于逐层特征提取操作的缘故,特征金字塔中,第i+1层特征图尺寸小于第i层特征图尺寸,因而基于第i+1层特征图得到的第i+1层光流数据的尺寸也要小于第i层特征图尺寸。因此为了尺度一致性以便实现特征变换操作,可以先通过上采样处理来使得第i+1层光流数据的尺寸等于第i层特征图尺寸。
在一些实施例中,可以根据下述公式(1),依照第i+1层光流数据的指导对第i层特征图中的第二特征图(对应于第二图像I2)做视图变换操作:
其中x是第i层特征图中第二特征图的像素点,(x)为第二特征图在像素点x处的特征向量,(x)为变换后的第二特征图在像素点x处的特征向量,()(x)表示第i+1层特征图的光流数据中像素点x处的光流,up是指对第i+1层特征图的光流数据进行上采样(例如插值)操作。
在一些实施例中,可以通过插值算法来实现公式(1)所示的视图图变换操作。插值算法可以包括例如双线性插值或其他插值算法。
需要注意,在图4D中,当i=n时,由于特征金字塔不存在第n+1层特征图,这时需要设定一个光流数据初始值作为第n+1层特征图的光流数据,即预设的初始光流数据,例如可以将初始光流数据设置为零,即公式(1)中的()(x)=0,up()(x)=0,以利于后续的计算。
图4E示出特征变换组件421的原理示意图。
如图4E所示,特征变换组件421可以进一步被配置成:对经第一变换的第二特征图进行掩模操作,以得到所述经变换的第二特征图,其中所述掩模操作用于估计经第一变换的第二特征图中像素点的遮挡情况。
如图4E所示,掩模操作通过调整掩模矩阵Φ和参数θ、μ对特征图的各个特征元素进行不同程度的遮挡。使得遮挡后的特征图中每个特征元素的值与该特征元素遮挡前的值的比例在0-1之间。假设经过视图变换后的第二特征图大小w*h,通道为c,则掩模矩阵Φ大小与第二特征图相同,也为w*h,其中每个元素的值在0到1之间,代表特征图中相应的像素点是被遮挡的概率。
在一些实施例中,掩模矩阵Φ和参数θ、μ由掩模生成网络根据输入的特征图实时生成,掩模生成网络的参数在光流估计模型训练时一并训练获得。可选地,掩模生成网络可以是卷积神经网络、全连接网络等。根据本公开的掩模网络结构可以估计图像中由于动态物体运动造成遮挡的像素,解决了误匹配像素影响光流估计模型的损失函数正常收敛的问题。
其次,如图4D所示,将特征变换组件421的输出结果,即第i层特征图的经变换的第二特征图,以及第i层特征图的第一特征图输入到相似度计算组件422中进行处理。相似度计算组件422被配置成确定第i层特征图的第一特征图和经变换的第二特征图的相似度,其可选地可以简称为第i层特征图的相似度。
在一些实施例中,可以根据下述公式(2)对第i层特征图中第一特征图(对应于第一图像I1)和变换后的第二特征图(对应于第二图像I2)进行卷积操作,计算二者的相似度:
其中x1和x2是分别为第一特征图和变换后的第二特征图的像素点,为第i层特征图的相似度,N为向量的长度,T为向量的转置操作,分别为第i层特征图的第一特征图中像素点x1的特征向量和变换后的第二特征图中像素点x2的特征向量。
在一些实施例中,相似度计算组件422被进一步配置成增大经变换的第二特征图的长和宽,得到增大的第二特征图;以第一特征图为卷积核,对增大的第二特征图进行体卷积操作,以得到第i层特征图的相似度。可选地,为了获得足够多的第i层特征中第一特征图和变换后的第二特征图的不同特征组合之间的相似度,可以增大变换后的第二特征图尺寸,然后在第一特征图上进行滑窗形式的(例如公式(2)那样的)相似度体卷积操作(即以第一特征图为卷积核,对增大的第二特征图进行体卷积操作),每一次滑窗体卷积操作得到的结果可以作为一个特征通道层,这样就可以得到包括多个通道的相似度。例如变化后的第二特征图长和宽可以各增加8个像素点,然后以第一特征图在增大后的第二特征图上如按照公式(2)做滑窗形式的体卷积操作,这样可以进行81次这样的操作,获得81个相似度,即共有81个通道,即操作后的卷积总大小为81*w*h,其中w和h分别为第一特征图的宽和高。
再次,如图4D所示,经过相似度估计,可以将相似度计算组件422的结果以及上一层(第i+1层)特征图的光流数据输入到光流估计组件423进行处理以得到本层(第i层)特征图的光流数据。光流估计组件423被配置成基于第i层特征图中的第一特征图、第i层特征图的相似度以及第i+1层特征图的光流数据,生成第i层特征图的光流数据。
在一些实施例中,光流估计组件423可以包括一个或多个卷积神经网络,例如DenseNet。具体地,光流估计组件423可以通过下述方式生成当前层(第i层)光流数据:首先将本层(第i层)特征图的第一特征图、本层特征图的相似度与经上采样的上一层(第i+1层)特征图的光流数据合并到一起(即叠加在一起,作为一个整体);随后,对合并后的特征,经过多层卷积操作(例如4层DenseNet卷积),最后得到本层(第i层)特征图的光流数据。
最后,如图4D所示,对于经过光流估计组件423得到的当前层(第i层)光流数据,可以根据i的值分别进行不同的处理。如图4D所示,当i不等于1时,说明光流估计器420处理的当前层并非特征金字塔的最后一层,因此,所得的当前第i层光流数据需要被重新输入到特征变换器421中以参与下一层光流数据的估计过程中。如此循环,直至最终得到特征金字塔第一层(要处理的最后一层)特征图的光流数据为止。换言之,当i=1时,说明光流估计器420处理的当前层为特征金字塔顶层(要处理的最后一层),即第一层,因此,最后得到的当前层(即第1层)光流数据就可以认为是最终的原始图像对(I1和I2)的光流数据。
在一些实施例中,可选地,如图4D所示,当i=1时,即当前层为第一层时,所得到的第1层光流数据可以被输入到可选的感受野扩展组件424中以便得到最终的图像对光流数据。感受野扩展组件可以配置成扩充第1层特征图的光流数据对应的光流图的感受野,以生成所述图像对的光流数据。光流图的感受野可以表示光流图中的像素点在所述图像对中的第一图像上映射的区域大小。
一般地,感受野就是卷积神经网络的每一层输出的特征图上的像素点在原始图像上映射的区域大小。所谓“映射”是指原始图像通过卷积操作进行特征提取得到的特征图中的像素点与原始图像中某个区域的对应关系。例如,原始图像经过一层或多层卷积操作,所提取的特征图中的一个像素点对应于(即提取自)原始图中4个像素,则该特征图的像素点在原始图像上映射4个像素构成的区域,该区域大小为该特征图的感受野。
在一些实施例中,通过上述特征金字塔分层估计光流的方法得到第1层特征图的光流数据也可以看做是基于原始图像提取的特征,因而该光流数据对应的光流图的感受野就是该光流图中像素在原始图像对中第一图像上映射的区域大小。为了扩充感受野,在本发明一些实施例中,在光流估计器420中增加了感受野扩展组件424,其用于为特征金字塔自下而上的最后一层特征图的光流数据(即第1层特征图的光流数据)添加感受野扩充操作,以对光流数据进行细化处理,增加更多细节信息,从而使得光流数据。在一些实施例中,感受野扩展组件424可以由多层卷积神经网络组成,每一层可以采用空洞卷积操作,且每层的空洞卷积的空洞系数可以相同或不同。空洞卷积操作可以在提取特征的同时保证分辨率不变,即在不损失分辨率的情况下增大感受野,从而避免细节信息随着分辨率的减小或特征图尺寸的减小而丢失。例如,感受野组件424可以包括7层用于空洞卷积操作的卷积神经网络,各层空洞系数自上而下分别是1,2,4,8,16,1和1。
应当注意,经过上述光流估计模型得到的光流数据对应的光流图的尺寸与第一图像是不一致的,因此在使用时,需要该光流数据进行上采样,以使得经上采样后的光流数据对应的光流图的尺寸与所述图像对的第一图像的尺寸一致。
图5A示出了图4A-4D所示光流估计模型的训练流程图。
如图5A所示,光流估计模型400可以通过下述步骤S510-S540训练得到。
在步骤S510处,获取多个用于训练的样本图像对。
如上所述,光流估计模型400为自监督的基于深度学习的光流估计模型,因此其训练样本可以为大量无标签数据,即只需要图像对,而无需相应的光流真值作为样本数据。在一些实施例中,针对道路检测问题,样本图像对应当采用道路相关图像以便使训练后的模型更适合用于道路相关图像的光流估计和预测。
S520,将所述多个样本图像对输入到光流估计模型,以生成每一个样本图像对的光流数据。
在样本图像对训练过程中,参照图4A-4C所示的光流模型400原理和运行流程,原始样本图像对经过多个基于(卷积)神经网络子模型(例如特征提取器410、光流估计器420(及其相应的各个组件))的处理,得到各自的光流数据结果;随后根据结果,更新参数;然后再次输入样本重复先前过程,直到模型达到训练要求为止。其中需要利用自监督信号(即损失函数)监督训练过程和参数调节。
S530,利用每一个样本图像对的光流数据计算各个样本图像对的一致性损失,其中所述一致性损失包括所述图像对之间的光度一致性损失和结构一致性损失中至少一个。
在一些实施例中,利用同一个物体投影到不同图像上的像素点的光度或亮度(例如灰度)是一致的假设(或者光流法假设:两个图像中对应像素点的光度是不变的),可以单独将第一图像和第二图像的光度一致性损失作为第一监督信号。此外,在一些实施例中,由于输入样本图像对是由不同配置拍摄的相同场景的图像,因此,第一图像和第二图像在一定程度上是相似的,于是可以将图像的(例如在结构、亮度、对比度方面)相似性损失作为第二监督信号。可选地,也可以将将第一监督信号和第二监督信号结合起来,得到总监督信号。
在一些实施例中,第一监督信号可以表示为图像对之间的光度一致性损失;第二监督信号可以表示为图像对之间的结构一致性损失。于是总监督信号可以表示为图像对的一致性损失,其包括光度一致性和结构一致性中至少一个。因而,光流估计模型训练过程中的损失函数可以根据图像对的光度一致性损失和结构一致性损失中至少一个来确定。
光度一致性可以通过原始图像对(第一图像I1和第二图像I2)中第一图像像素点的真实像素值与基于光流数据计算得到的第二图像中对应像素点的像素值之间的差异来刻画。具体的,对于单个像素点,可以按照以下公式(3)来计算光度一致性损失:
|I1(x1,y1)-I2(x2,y2)| (3)
其中,I1(x1,y1)表示像素点(x1,y1)在图像I1中的像素值,可以为灰度值或者彩色值;I2(x2,y2)表示图像I2中位于通过相应光流数据计算得到的点(x2,y2)处的像素值。在光流数据准确的情况下,像素点(x1,y1)与(x2,y2)的像素值应当接近。
因此,第一图像I1和第二图像I2的光度一致性损失可以通过对所有对应像素点的光度一致性求和得到。
结构一致性可以利用SSIM(structural similarity index,结构相似性指标)来刻画。SSIM是一种衡量两幅图像相似程度的指标,其计算方式如下公式(4)所示:
其中x表示第一图像,y表示第二图像,μx是x的平均值,μy是y的平均值,σ2 x是x的方差,σ2 y是y的方差,σxy是x和y的协方差;c1=(k1L)2,c2=(k2L)2是用来维持稳定的常数,L是像素值的动态范围,k1=0.01,k2=0.03。
SSIM值越大表示两幅图像的结构相似性越高。SSIM的范围为-1到1。当两张图像一模一样时,SSIM的值等于1。SSIM从图像组成的角度将结构信息定义为独立于亮度、对比度的,反映场景中物体结构的属性,并将失真建模为亮度、对比度和结构三个不同因素的组合。用均值作为亮度的估计,标准差作为对比度的估计,协方差作为结构相似程度的度量。
因此,第一图像和第二图像的结构一致性损失可以通过利用第一图像I1像素点的真实像素值与基于光流数据计算得到的第二图像I2中对应像素点的像素值,基于公式(4)得到,例如一致性损失可以为1-SSIM(x,y)。
S540,调节光流估计模型的参数,使得所述多个样本图像对的一致性损失之和收敛。
在确定了每个样本图像对的监督信号,即图像对的一致性损失,之后,可以将所述多个样本图像对的一致性加在一起得到总体的一致性损失,从而可以通过总体一致性损失构造损失函数,以便调节或优化模型参数,直至模型达到训练要求为止。具体地可以根据如下公式(5)和(6)确定损失函数:
换言之,根据公式(6)单个图像对一致性损失可以是光度一致性损失和结构一致性损失的加权和,损失函数为所有图像对的一致性损失之和(即总体一致性损失),这样可以根据损失函数的值进行梯度回传以更新光流估计模型的参数,直到模型达到训练要求,例如总体损失小于预定损失阈值或者总体损失收敛。
可选地,由于亮度损失在低纹理区或重复特征区域不是特别有效,因此可以结合平滑度先验条件对估计的深度图进行调整,使用边缘平滑度损失,确保图像边缘的平滑度。因此,如公式(7)和(8)所示,损失函数中可以加入平滑度损失。
需要说明,图4A-4D所示的光流估计模型400的构件(例如特征提取器410、光流估计器420)以及光流估计器420所包括的各个组件(例如特征变换组件421、相似度计算组件422、光流估计组件423、感受野扩展组件424)中的每一个都可以包括一层或多层神经网络,这些神经网络可以在光流估计模型400的训练过程中一起得到训练,其中的各个参数也可以在训练过程中进行整体更新,以实现光流估计模型400的训练要求。
图5B示出不同位置获取的示例道路的第一图像和第二图像,图5C示出了利用根据本公开一些实施例的经训练的光流估计模型预测的图5B所示的图像对的光流图。
如图5B所示,左边的第一图像和右边的第二图像分别是由左右并排放置的相机同步拍摄的道路相关图像。图5C所示的光流图的像素点与图5B所示的第一图像的像素点对应。光流图一般是彩色图像,例如,可以用像素点的颜色和亮度表示该像素点的光流,利用颜色代表位移方向,亮度代表位移大小。从图5B和5C的比较容易看到,图5C的光流图轮廓与图5B所示的原始图像大致吻合。
图6示意性示出图3所示的步骤S330的示例过程。
如上文所述,根据光流数据,可以直接得到第一图像和第二图像中像素点之间的对应或匹配情况,其可以作为后续进行道路检测的基础。但是,由于光流数据通常是由光流估计模型预测得到,其中由于光流估计模型训练过程中存在误差以及其他因素(例如图像中道路被临时遮挡)的影响,所得光流数据有可能存在估计不准确的像素点光流,因而由此得到的像素点对应或匹配并非完全精确。因此,可以在根据光流数据得到像素点对应或匹配之后,可以增加一个误匹配剔除步骤,从而得到更加完善的像素点对应或匹配关系。
如图6所示,图3所示的步骤S330-根据图像对的光流数据,确定第一图像和第二图像之间的像素点匹配关系可以包括:
S610,根据图像对的光流数据,确定第一图像和第二图像中像素点对应关系;
S620,根据第一图像和第二图像中像素点对应关系,计算相对应的像素点之间的匹配度;
S630,从第一图像和第二图像中像素点对应关系中剔除低于匹配度阈值的像素点,以得到第一图像和第二图像之间的像素点匹配关系。
在一些实施例中,为了清楚起见,如步骤S610所示,可以将根据光流数据得到的第一图像和第二图像中像素点之间的对应或匹配情况称为像素点“对应关系”;并且,如步骤S630所示,在S610所得到的像素点对应关系的基础上,将经过误匹配剔除操作获得的第一图像和第二图像像素点之间的新的对应或匹配情况称为像素点“匹配关系”。
在一些实施例中,可以通过对极几何原理来确定第一图像和第二图像中像素点的匹配度。例如不同拍摄位置获取的第一图像和第二图像中像素点的坐标应当满足下述对极约束公式(9):
其中p1和p2分别为第一图像和第二图像的对应像素点在各自图像平面上的归一化三维坐标,F为基础矩阵(其可以根据像素点对应关系和拍摄第一图像和第二图像的相机的内参矩阵通过数学方法得到,其中相机内参矩阵可以预先标定)。
因此,根据对极几何原理,第一图像和第二图像中像素点的匹配度可以根据公式(3)确定。例如,对于由光流数据得到的两个对应像素点P1和P2,其归一化坐标分别为p1=(x1,y1,1)和p2=(x2,y2,1),则二者的匹配度为的值。
进一步地,如步骤S630所示,为了考量匹配度是否符合要求,可以预先设定匹配度阈值,随后可以通过将匹配度与匹配度阈值进行比较来确定相应的像素点对应关系是否满足匹配要求,即小于阈值的像素,满足匹配要求,保留相应像素点;否则不满足匹配要求,则剔除相应像素点。经过这样的剔除操作,可以得到第一图像和第二图像之间的像素点最终的匹配关系,以用于后续操作。
图7A示出了图3所示的步骤S340的示例流程。
如图7A所示,图3所示的步骤S340-根据第一图像和第二图像之间的像素点匹配关系,确定待检测道路的破损情况,可以包括步骤S710-730。
在S710处,第一图像和第二图像之间的像素点匹配关系,确定第一图像对应的实际场景的点云的空间坐标。
第一图像对应的实际场景的点云是指第一图像中多个像素点分别对应的实际场景空间点的集合。点云可以包括第一图像中部分或所有像素点对应的实际场景空间点。在获得图像对中的像素点匹配关系之后,就可以基于像素点匹配关系和预先标定的第一相机和第二相机的内参,利用三角化方法计算第一图像中像素点对应的实际场景中各个位置(即点云)的深度。
图7B示出了三角化原理示意图。如图7B所示,三角化方法原理是:在不同的位置O1、O2观测同一个三维点P(x, y, z)(或拍摄P点),已知在不同位置处观察到的三维点P的二维投影点(或拍照得到的第一图像的相平面(左)上的对应像素点和第二图像的像平面(右)上的对应像素点)P1, P2(即这两个像素点是相互匹配的),利用三角关系,可以恢复出三维点P的深度信息(即O1P和O2P的大小)。
具体地,如图7B所示,假设O1和O2分别为第一图像和第二图像的拍摄位置或相机光心,左边的平行四边形为第一图像所在的像平面,右边的平行四边形为第二图像所在的像平面。根据对极几何原理,设x1, x2分别为左边的第一图像的像素点P1和右边的第二图像的像素点P2的三维归一化坐标,则它们满足:
s1x1 Tx1 - s2x1 TRx2 = x1 T t (10)
s1(Rx2)Tx1 - s2(Rx2)TRx2 = (Rx2)T t (11)
其中,R, t为第一图像与第二图像相应的相机坐标系相对变换系数,s1和s2分别为P点相对于第一图像像素点P1和第二图像像素点P2的深度。
由于根据对极几何原理,如图6相关描述可知,可以根据像素点对应关系和相机的内参矩阵通过数学方法得到基础矩阵F,而R和t可以通过基础矩阵F进行分解得到,因而可以根据由公式(10)和公式(11)可以联立得到一个一元二次线性方程组,利用Cramer‘s法则进行求解s1。
在一些实施例中,基于对极几何原理,也可以通过下述公式(12)求解深度s1和s2:
s1x1^x1 = 0 = s2 x1^ R x2 + x1^ t (12)
其中x1^表示x1的反对称矩阵。
在一些实施例中,如图7B所示,由于噪声的存在,O1P1和O2P2的连线可能并不相交于P点,即由对极几何原理得到的各个公式(10)-(12)并不能精确地成立,因此,可以利用最小二乘法求深度s1的近似解。可选地,也可以采用其他方法计算像素点深度信息。
在确定深度之后,可以根据点云的深度以及第一图像中各个像素点的平面二维坐标,利用几何学方法可以得到实际场景中点云的三维坐标。
在S720处,根据所述实际场景的点云的空间坐标拟合待检测道路的曲面方程。
在获得关于待检测道路实际场景中三维空间点云的坐标之后,利用点云坐标根据曲面拟合算法,可以拟合出待检测道路的曲面方程。
例如,可以首先假设道路曲面的方程为:
随后,根据点云中部分或全部(点的个数大于6)点坐标利用最小二乘拟合出曲面方程(13)中的各个参数a1,…,a6,从而可以得到待检测道路的曲面方程。
可选地,也可以采用其他拟合算法来拟合待检测道路所满足的二次曲面。
在S730处,根据所述待检测道路的曲面方程和所述实际场景的点云的坐标,确定待检测道路的破损情况。
在获得了待检测道路曲面方程之后,显然可以根据实际场景某个点坐标来确定与曲面方程,得到该点相对于曲面方程的位置。因此,可以根据点的位置确定道路是否存在破损。例如,经过将点的坐标代入曲面方程计算得到,在某一区域集中出现位于曲面下方的多个点,例如点数量超过预定的数量阈值且这些点到曲面的距离都超过预定的距离阈值,则该区域可能是破损区域,尤其是坑洼区域。
在本公开一些实施例中,道路的破损情况可以包括坑洼和裂缝中至少一个。其中坑洼表现为由于道路破损造成的相对于道路曲面的凹陷,而裂缝表现为道路由于老化或质量问题出现的直线或曲线形缝隙。坑洼情况可以用如下参数来描述:坑洼数量、中心点位置、面积、深度(最深处)等;裂缝情况可以用如下参数来刻画:裂缝数量、裂缝长度、深度、宽度、取向等。显然,上面这些参数(包括坑洼和裂缝情况)都可以通过点云坐标和曲面方程利用几何学方法获得。
图7C示出了利用根据本公开一些实施例的道路检测方法的可视化结果示意图。如图7C所示,通过本公开的基于待检测道路图像的光流法处理检测道路图像中坑洼的具***置(图7C中方框所示)。经过实验和统计,根据本公开一些实施例的道路检测方法的效果较好,其坑洼检测的召回率大于90%,精确率或精度大于70%,远高于业界平均水平。
图8示意性示出了根据本公开一些实施例的道路检测装置800的示例框图。道路检测装置800可以包括获取模块810、第一确定模块820、第二确定模块830和第三确定模块840。
获取模块810可以配置成获取针对待检测道路的图像对,所述图像对包括在不同拍摄位置获取的第一图像和第二图像。第一确定模块820可以配置成将所述图像对输入到光流估计模型,以生成所述图像对的光流数据。第二确定模块830可以配置成根据所述图像对的光流数据,确定第一图像和第二图像之间的像素点匹配关系。第三确定模块840可以配置成根据第一图像和第二图像之间的像素点匹配关系,确定待检测道路的破损情况。
因此,在根据本公开一些实施例的基于光流技术的道路检测装置中,一方面,由于在图像采集时并不严格限于使用双目相机,提升了检测精度;另一方面,通过利用光流数据确定像素匹配关系,避免了基于双目相机算法的缺陷,从而显著简化了计算过程,降低了检测和相机维护成本。
应注意,上述各种模块可以以软件或硬件或两者的组合来实现。多个不同模块可以在同一软件或硬件结构中实现,或者一个模块可以由多个不同的软件或硬件结构实现。
图9示意性示出了根据本公开一些实施例的计算设备900的示例框图。计算设备900可以代表用以实现本文描述的各种装置或模块和/或执行本文描述的各种方法的设备。计算设备900可以是例如服务器、台式计算机、膝上型计算机、平板、智能电话、智能手表、可穿戴设备或任何其它合适的计算设备或计算***,其可以包括从具有大量存储和处理资源的全资源设备到具有有限存储和/或处理资源的低资源设备的各种级别的设备。在一些实施例中,上面关于图8描述的道路检测装置800可以分别在一个或多个计算设备900中实现。
如图9所示,示例计算设备900包括彼此通信耦合的处理***901、一个或多个计算机可读介质902以及一个或多个I/O接口903。尽管未示出,但是计算设备900还可以包括将各种组件彼此耦合的***总线或其他数据和命令传送***。***总线可以包括不同总线结构的任何一个或组合,所述总线结构可以是诸如存储器总线或存储器控制器、***总线、通用串行总线和/或利用各种总线架构中的任何一种的处理器或局部总线。或者,还可以包括诸如控制和数据线。
处理***901代表使用硬件执行一个或多个操作的功能。因此,处理***901被图示为包括可被配置为处理器、功能块等的硬件元件904。这可以包括在硬件中实现作为专用集成电路或使用一个或多个半导体形成的其它逻辑器件。硬件元件904不受其形成的材料或其中采用的处理机构的限制。例如,处理器可以由(多个)半导体和/或晶体管(例如,电子集成电路(IC))组成。在这样的上下文中,处理器可执行指令可以是电子可执行指令。
计算机可读介质902被图示为包括存储器/存储装置905。存储器/存储装置905表示与一个或多个计算机可读介质相关联的存储器/存储装置。存储器/存储装置905可以包括易失性介质(诸如随机存取存储器(RAM))和/或非易失性介质(诸如只读存储器(ROM)、闪存、光盘、磁盘等)。存储器/存储装置905可以包括固定介质(例如,RAM、ROM、固定硬盘驱动器等)以及可移动介质(例如,闪存、可移动硬盘驱动器、光盘等)。示例性地,存储器/存储装置905可以用于存储上文实施例中提及的第一类别用户的第一音频、请求的排队列表等。计算机可读介质902可以以下面进一步描述的各种其他方式进行配置。
一个或多个I/O(输入/输出)接口903代表允许用户向计算设备900键入命令和信息并且还允许使用各种输入/输出设备将信息显示给用户和/或发送给其他组件或设备的功能。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、麦克风(例如,用于语音输入)、扫描仪、触摸功能(例如,被配置为检测物理触摸的容性或其他传感器)、相机(例如,可以采用可见或不可见的波长(诸如红外频率)将不涉及触摸的运动检测为手势)、网卡、接收机等等。输出设备的示例包括显示设备(例如,监视器或投影仪)、扬声器、打印机、触觉响应设备、网卡、发射机等。示例性地,在上文描述的实施例中,第一类别用户以及第二类别用户可以通过其各自的终端设备上的输入接口来进行输入以发起请求以及录入音频和/或视频等,并且可以通过输出接口来查看各种通知以及观看视频或聆听音频等。
计算设备900还包括道路检测策略906。道路检测策略906可以作为计算程序指令存储在存储器/存储装置905中,也可以是硬件或固件。道路检测策略906可以连同处理***901等一起实现关于图8描述的道路检测装置800的各个模块的全部功能。
本文可以在软件、硬件、元件或程序模块的一般上下文中描述各种技术。一般地,这些模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元素、组件、数据结构等。本文所使用的术语“模块”、“功能”等一般表示软件、固件、硬件或其组合。本文描述的技术的特征是与平台无关的,意味着这些技术可以在具有各种处理器的各种计算平台上实现。
所描述的模块和技术的实现可以存储在某种形式的计算机可读介质上或者跨某种形式的计算机可读介质传输。计算机可读介质可以包括可由计算设备900访问的各种介质。作为示例而非限制,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。
与单纯的信号传输、载波或信号本身相反,“计算机可读存储介质”是指能够持久存储信息的介质和/或设备,和/或有形的存储装置。因此,计算机可读存储介质是指非信号承载介质。计算机可读存储介质包括诸如易失性和非易失性、可移动和不可移动介质和/或以适用于存储信息(诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或其他数据)的方法或技术实现的存储设备之类的硬件。计算机可读存储介质的示例可以包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字通用盘(DVD)或其他光学存储装置、硬盘、盒式磁带、磁带,磁盘存储装置或其他磁存储设备,或其他存储设备、有形介质或适于存储期望信息并可以由计算机访问的制品。
“计算机可读信号介质”是指被配置为诸如经由网络将指令发送到计算设备900的硬件的信号承载介质。信号介质典型地可以将计算机可读指令、数据结构、程序模块或其他数据体现在诸如载波、数据信号或其它传输机制的调制数据信号中。信号介质还包括任何信息传递介质。作为示例而非限制,信号介质包括诸如有线网络或直接连线的有线介质以及诸如声、RF、红外和其它无线介质的无线介质。
如前所述,硬件元件904和计算机可读介质902代表以硬件形式实现的指令、模块、可编程器件逻辑和/或固定器件逻辑,其在一些实施例中可以用于实现本文描述的技术的至少一些方面。硬件元件可以包括集成电路或片上***、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)以及硅中的其它实现或其他硬件设备的组件。在这种上下文中,硬件元件可以作为执行由硬件元件所体现的指令、模块和/或逻辑所定义的程序任务的处理设备,以及用于存储用于执行的指令的硬件设备,例如,先前描述的计算机可读存储介质。
前述的组合也可以用于实现本文所述的各种技术和模块。因此,可以将软件、硬件或程序模块和其它程序模块实现为在某种形式的计算机可读存储介质上和/或由一个或多个硬件元件904体现的一个或多个指令和/或逻辑。计算设备900可以被配置为实现与软件和/或硬件模块相对应的特定指令和/或功能。因此,例如通过使用处理***的计算机可读存储介质和/或硬件元件904,可以至少部分地以硬件来实现将模块实现为可由计算设备900作为软件执行的模块。指令和/或功能可以由例如一个或多个计算设备900和/或处理***901执行/可操作以实现本文所述的技术、模块和示例。
本文描述的技术可以由计算设备900的这些各种配置来支持,并且不限于本文所描述的技术的具体示例。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机程序。例如,本公开的实施例提供一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行本公开的方法实施例中的至少一个步骤的程序代码。
在本公开的一些实施例中,提供了一种或多种计算机可读存储介质,其上存储有计算机可读指令,该计算机可读指令在被执行时实现根据本公开一些实施例的道路检测方法。根据本公开一些实施例所述的道路检测方法的各个步骤可以通过程序设计被转化为计算机可读指令,从而存储在计算机可读存储介质中。当这样的计算机可读存储介质被计算设备或计算机读取或访问时,其中的计算机可读指令被计算设备或计算机上的处理器执行以实现根据本公开一些实施例所述的道路检测方法。
在本说明书的描述中,术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点被包含于本公开的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序(包括根据所涉及的功能按基本同时的方式或按相反的顺序)来执行功能,这应被本公开的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。例如,如果用硬件来实现,则可用本领域公知的下列技术中的任一项或它们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路、具有合适的组合逻辑门电路的专用集成电路、可编程门阵列(Programmable Gate Array)、现场可编程门阵列(Field Programmable Gate Array)等。
本技术领域的普通技术人员可以理解上述实施例方法的全部或部分步骤可以通过程序指令相关的硬件完成,所述程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括执行方法实施例的步骤之一或其组合。
此外,在本公开各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
Claims (15)
1.一种道路检测方法,包括:
获取针对待检测道路的图像对,所述图像对包括在不同拍摄位置获取的第一图像和第二图像;
确定所述图像对的光流数据;
根据所述图像对的光流数据,确定第一图像和第二图像之间的像素点匹配关系;
根据第一图像和第二图像之间的像素点匹配关系,确定待检测道路的破损情况。
2.根据权利要求1所述的方法,其中,所述根据第一图像和第二图像之间的像素点匹配关系,确定待检测道路的破损情况,包括:
根据第一图像和第二图像之间的像素点匹配关系,确定第一图像对应的实际场景的点云的空间坐标;
根据所述实际场景的点云的空间坐标拟合待检测道路的曲面方程;
根据所述待检测道路的曲面方程和所述实际场景的点云的空间坐标,确定待检测道路的破损情况。
3.根据权利要求2所述的方法,其中,所述根据所述待检测道路的曲面方程和所述实际场景的点云的空间坐标,确定待检测道路的破损情况,包括:
根据所述待检测道路的曲面方程和所述实际场景的点云的空间坐标,确定待检测道路的坑洼的数量、位置、面积、深度中至少一个;
根据所述待检测道路的曲面方程和所述实际场景的点云的空间坐标,确定待检测道路的裂缝的数量、位置、宽度、长度、取向中至少一个。
4.根据权利要求1所述的方法,其中根据所述图像对的光流数据,确定第一图像和第二图像之间的像素点匹配关系,包括:
根据所述图像对的光流数据,确定第一图像和第二图像中像素点对应关系;
根据第一图像和第二图像中像素点对应关系,计算相对应的像素点之间的匹配度;
从第一图像和第二图像中像素点对应关系中剔除低于匹配度阈值的像素点,以得到第一图像和第二图像之间的像素点匹配关系。
5. 根据权利要求1所述的方法,其中所述确定所述图像对的光流数据包括:
根据所述图像对构建包括n层特征图的特征金字塔,n>=2,其中特征金字塔的第1层特征图是从所述图像对提取的,第k层特征图是从第k-1层特征图提取的,k为大于1且小于等于n的正整数,以及
根据特征金字塔,生成所述图像对的光流数据。
6.根据权利要求5所述的方法,其中所述根据特征金字塔,生成所述图像对的光流数据包括:
根据特征金字塔的第n层特征图和预设的初始光流数据,生成第n层特征图的光流数据;
通过下述步骤,按照自下而上的位置顺序依次计算特征金字塔的第i层特征图的光流数据,i为大于等于1且小于等于n-1的正整数:根据第i+1层特征图的光流数据以及第i层特征图,生成第i层特征图的光流数据;以及
基于特征金字塔第1层特征图的光流数据,生成所述图像对的光流数据。
7.根据权利要求6所述的方法,其中,特征金字塔的每层特征图包括分别对应于第一图像和第二图像的第一特征图和第二特征图,并且
其中,所述根据第i+1层特征图的光流数据以及第i层特征图,生成第i层特征图的光流数据, 包括:
根据第i+1层特征图的光流数据,对第i层特征图中的第二特征图进行视图变换以得到经变换的第二特征图,其中所述视图变换包括对第i+1层特征图的光流数据进行上采样,以及利用经上采样的第i+1层特征图的光流数据对第i层特征图的第二特征图进行第一变换;
确定第i层特征图的第一特征图和经变换的第二特征图的相似度;
基于第i层特征图的第一特征图、第i层特征图的第一特征图和经变换的第二特征图的相似度以及第i+1层特征图的光流数据,生成第i层特征图的光流数据。
8.根据权利要求7所述的方法,其中所述基于特征金字塔第1层特征图的光流数据,生成所述图像对的光流数据,包括:
扩充第1层特征图的光流数据对应的光流图的感受野,以生成所述图像对的光流数据,所述光流图的感受野表示光流图中的像素点在所述图像对中的第一图像上映射的区域大小。
9.根据权利要求7所述的方法,其中所述视图变换进一步包括:
对经第一变换的第二特征图进行掩模操作,其中所述掩模操作用于估计经第一变换的第二特征图中像素点的遮挡情况。
10.根据权利要求7所述的方法,其中,所述确定第i层特征图的第一特征图和经变换的第二特征图的相似度,包括:
增大所述经变换的第二特征图的长和宽,得到增大的第二特征图;
以所述第i层特征图的第一特征图为卷积核,对增大的第二特征图进行卷积操作,以得到第i层特征图的第一特征图和经变换的第二特征图的相似度。
11.根据权利要求5-10中任一项所述的方法,其中所述确定所述图像对的光流数据包括利用光流估计模型确定所述图像对的光流数据,
其中所述光流估计模型通过下述步骤训练得到:
获取多个用于训练的样本图像对;
将所述多个样本图像对输入到光流估计模型,以生成每一个样本图像对的光流数据;
利用每一个样本图像对的光流数据计算该样本图像对的一致性损失,其中所述样本图像对的一致性损失包括该样本图像对之间的光度一致性损失和结构一致性损失的加权和;
调节光流估计模型的参数,使得所述多个样本图像对的一致性损失之和收敛。
12.根据权利要求11所述的方法,其中所述一致性损失进一步包括样本图像对的平滑度损失。
13.一种道路检测装置,包括:
获取模块,其配置成获取针对待检测道路的图像对,所述图像对包括在不同拍摄位置获取的第一图像和第二图像;
第一确定模块,其配置成确定所述图像对的光流数据;
第二确定模块,其配置成根据所述图像对的光流数据,确定第一图像和第二图像之间的像素点匹配关系;
第三确定模块,其配置成根据第一图像和第二图像之间的像素点匹配关系,确定待检测道路的破损情况。
14.一种计算设备,包括:
存储器和处理器,
其中所述存储器中存储有计算机程序,所述计算机程序在被所述处理器执行时促使所述处理器执行权利要求1-12中任一项所述的方法的步骤。
15.一种计算机可读存储介质,其上存储计算机可读指令,所述计算机可读指令在被执行时实现权利要求1-12中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110276849.1A CN112907557A (zh) | 2021-03-15 | 2021-03-15 | 道路检测方法、装置、计算设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110276849.1A CN112907557A (zh) | 2021-03-15 | 2021-03-15 | 道路检测方法、装置、计算设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112907557A true CN112907557A (zh) | 2021-06-04 |
Family
ID=76105057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110276849.1A Pending CN112907557A (zh) | 2021-03-15 | 2021-03-15 | 道路检测方法、装置、计算设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112907557A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113902047A (zh) * | 2021-12-10 | 2022-01-07 | 腾讯科技(深圳)有限公司 | 图像元素匹配方法、装置、设备以及存储介质 |
CN114758076A (zh) * | 2022-04-22 | 2022-07-15 | 北京百度网讯科技有限公司 | 一种用于建立三维模型的深度学习模型的训练方法及装置 |
CN116228834A (zh) * | 2022-12-20 | 2023-06-06 | 阿波罗智联(北京)科技有限公司 | 图像深度获取方法、装置、电子设备及存储介质 |
CN116665112A (zh) * | 2023-04-28 | 2023-08-29 | 深圳云天励飞技术股份有限公司 | 一种隧道巡检方法、装置、电子设备及存储介质 |
-
2021
- 2021-03-15 CN CN202110276849.1A patent/CN112907557A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113902047A (zh) * | 2021-12-10 | 2022-01-07 | 腾讯科技(深圳)有限公司 | 图像元素匹配方法、装置、设备以及存储介质 |
CN114758076A (zh) * | 2022-04-22 | 2022-07-15 | 北京百度网讯科技有限公司 | 一种用于建立三维模型的深度学习模型的训练方法及装置 |
CN116228834A (zh) * | 2022-12-20 | 2023-06-06 | 阿波罗智联(北京)科技有限公司 | 图像深度获取方法、装置、电子设备及存储介质 |
CN116228834B (zh) * | 2022-12-20 | 2023-11-03 | 阿波罗智联(北京)科技有限公司 | 图像深度获取方法、装置、电子设备及存储介质 |
CN116665112A (zh) * | 2023-04-28 | 2023-08-29 | 深圳云天励飞技术股份有限公司 | 一种隧道巡检方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112435325B (zh) | 基于vi-slam和深度估计网络的无人机场景稠密重建方法 | |
CN108961327B (zh) | 一种单目深度估计方法及其装置、设备和存储介质 | |
CN112907557A (zh) | 道路检测方法、装置、计算设备及存储介质 | |
CN113140011B (zh) | 一种红外热成像单目视觉测距方法及相关组件 | |
CN113393522B (zh) | 一种基于单目rgb相机回归深度信息的6d位姿估计方法 | |
CN110689562A (zh) | 一种基于生成对抗网络的轨迹回环检测优化方法 | |
CN110688905B (zh) | 一种基于关键帧的三维物体检测与跟踪方法 | |
US11915439B2 (en) | Method and apparatus of training depth estimation network, and method and apparatus of estimating depth of image | |
CN110910437B (zh) | 一种复杂室内场景的深度预测方法 | |
CN112258565B (zh) | 图像处理方法以及装置 | |
Zhang et al. | A new high resolution depth map estimation system using stereo vision and kinect depth sensing | |
CN114429555A (zh) | 由粗到细的图像稠密匹配方法、***、设备及存储介质 | |
CN113711276A (zh) | 尺度感知单目定位和地图构建 | |
CN113686314B (zh) | 船载摄像头的单目水面目标分割及单目测距方法 | |
WO2023083256A1 (zh) | 位姿显示方法、装置及***、服务器以及存储介质 | |
CN111998862A (zh) | 一种基于bnn的稠密双目slam方法 | |
CN114519772A (zh) | 一种基于稀疏点云和代价聚合的三维重建方法及*** | |
CN114217665A (zh) | 一种相机和激光雷达时间同步方法、装置及存储介质 | |
WO2023140990A1 (en) | Visual inertial odometry with machine learning depth | |
CN114170290A (zh) | 图像的处理方法及相关设备 | |
CN115482257A (zh) | 一种融合深度学习特征光流与双目视觉的运动估计方法 | |
CN112069997B (zh) | 一种基于DenseHR-Net的无人机自主着陆目标提取方法及装置 | |
CN114140659A (zh) | 一种基于无人机视角下人体检测的社交距离监控方法 | |
CN115272450A (zh) | 一种基于全景分割的目标定位方法 | |
Zhang et al. | An algorithm for motion estimation based on the interframe difference detection function model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40045984 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |