CN108898669A - 数据处理方法、装置、介质和计算设备 - Google Patents
数据处理方法、装置、介质和计算设备 Download PDFInfo
- Publication number
- CN108898669A CN108898669A CN201810787039.0A CN201810787039A CN108898669A CN 108898669 A CN108898669 A CN 108898669A CN 201810787039 A CN201810787039 A CN 201810787039A CN 108898669 A CN108898669 A CN 108898669A
- Authority
- CN
- China
- Prior art keywords
- map
- image
- depth
- block
- neural network
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 18
- 238000013528 artificial neural network Methods 0.000 claims abstract description 50
- 238000012545 processing Methods 0.000 claims abstract description 25
- 238000000034 method Methods 0.000 claims description 46
- 238000003475 lamination Methods 0.000 claims description 23
- 230000006870 function Effects 0.000 claims description 22
- 230000015654 memory Effects 0.000 claims description 11
- 238000013527 convolutional neural network Methods 0.000 claims description 9
- 238000009499 grossing Methods 0.000 claims description 8
- 230000001537 neural effect Effects 0.000 claims description 8
- 235000013399 edible fruits Nutrition 0.000 claims 1
- 238000004364 calculation method Methods 0.000 abstract description 5
- 238000005457 optimization Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 8
- 238000012549 training Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 210000004218 nerve net Anatomy 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Remote Sensing (AREA)
- Computer Graphics (AREA)
- Image Analysis (AREA)
Abstract
本发明的实施方式提供了一种数据处理方法,包括:通过摄像装置获取图像;将所述图像输入到训练好的神经网络中,得到所述图像对应的深度图,所述深度图包括所述图像中多个像素点对应的真实尺度的深度值;基于所述图像以及所述深度图构建三维地图,并确定所述摄像装置在所述地图中的位置。本发明通过神经网络得到图像的多个像素点的真实尺度的深度值,从而可以基于该真实尺度的深度值构建三维地图,使得在构建三维地图过程中不必再对各像素点的深度值进行估算,从而显著地减少了计算量,并且提高了准确度。此外,本发明的实施方式还提供了一种数据处理装置、一种计算设备以及一种介质。
Description
技术领域
本发明的实施方式涉及计算机技术领域,更具体地,本发明的实施方式涉及一种数据处理方法、装置、介质和计算设备。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
随着科学技术的快速发展,同步定位与地图创建(Simultaneous Localizationand Mapping,简称SLAM)技术越来越多地应用于机器人定位、自主导航、AR交互、无人驾驶等诸多领域。目前,视觉SLAM可以分为单目SLAM、多目SLAM以及RGBD等,其中,单目SLAM对硬件设备要求较低,应用更加广泛。然而,由于单目相机无法估计尺度信息,且机器视觉算法在低纹理区域立体匹配精度低、鲁棒性差,导致单目SLAM很难满足实际应用的需求。
发明内容
可见,出于单目相机无法估计真实尺度信息的原因,现有技术在构建三维地图的过程中需要通过算法对各像素点的深度值进行估算(例如,通过三角测量的方法估算深度值),计算量大,并且深度估算在低纹理区域立体匹配精度低,鲁棒性差,准确率低。
为此,非常需要一种优化的处理方法,该方法能够在构建三维地图过程中不必再对各像素点的深度值进行估算,从而减少计算量,并且提高准确度。
在本上下文中,本发明的实施方式期望提供一种数据处理方法、装置、介质和计算设备。
在本发明实施方式的第一方面中,提供了一种数据处理方法,包括:通过摄像装置获取图像,将所述图像输入到训练好的神经网络中,得到所述图像对应的深度图,所述深度图包括所述图像中多个像素点对应的真实尺度的深度值,以及基于所述图像以及所述深度图构建三维地图,并确定所述摄像装置在所述地图中的位置。
在本发明的一个实施例中,上述方法还包括:对所述深度图进行高斯平滑滤波处理和/或梯度平滑滤波处理。
在本发明的一个实施例中,上述通过摄像装置获取图像包括:通过单目相机获取图像。
在本发明的一个实施例中,上述训练好的神经网络包括通过梯度平滑损失函数和L2损失函数优化得到的神经网络。
在本发明的一个实施例中,上述神经网络包括卷积神经网络,所述卷积神经网络包括ResNet50网络结构以及至少一个反卷积层。
在本发明的一个实施例中,上述ResNet50网络结构包括第一卷积块、第二卷积块、第三卷积块以及第四卷积块,每个卷积块中包括至少一个卷积层,其中,所述第二卷积块、第三卷积块以及第四卷积块中的至少一个卷积层为空洞卷积层。
在本发明的一个实施例中,上述至少一个反卷积层中的第一反卷积层与所述第四卷积块相连,其中,所述神经网络的输出结果包括:所述第一反卷积层的输出结果与所述第三卷积块的输出结果进行跳连接操作之后,经过至少一个特定卷积层得到的输出结果。
在本发明的一个实施例中,上述训练好的神经网络包括通过训练样本集得到的神经网络,所述样本集包括多张图像以及所述多张图像对应的真实深度值。
在本发明的一个实施例中,上述样本集包括通过深度相机获取的多张图像以及所述多张图像对应的真实深度值。
在本发明的一个实施例中,上述样本集包括通过单目相机获取的多张图像,以及通过深度传感器获得的所述多张图像对应的真实深度值。
在本发明的一个实施例中,上述基于所述图像以及所述深度图构建三维地图,并确定所述摄像装置在所述地图中的位置,包括:基于多张图像以及所述多张图像对应的深度图计算得到对应的位姿信息以及三维点云信息,对所述位姿信息以及三维点云信息进行优化,以及基于优化后的位姿信息以及三维点云信息构建三维地图,并确定所述摄像装置的位姿。
在本发明实施方式的第二方面中,提供了一种数据处理装置,包括图像获取模块、神经网络计算模块以及地图构建模块。其中,图像获取模块通过摄像装置获取图像。神经网络计算模块将所述图像输入到训练好的神经网络中,得到所述图像对应的深度图,所述深度图包括所述图像中多个像素点对应的真实尺度的深度值。地图构建模块基于所述图像以及所述深度图构建三维地图,并确定所述摄像装置在所述地图中的位置。
在本发明的一个实施例中,上述装置还包括:滤波处理模块,对所述深度图进行高斯平滑滤波处理和/或梯度平滑滤波处理。
在本发明的一个实施例中,上述摄像装置包括单目相机。
在本发明的一个实施例中,上述训练好的神经网络包括通过梯度平滑损失函数和L2损失函数优化得到的神经网络。
在本发明的一个实施例中,上述神经网络包括卷积神经网络,所述卷积神经网络包括ResNet50网络结构以及至少一个反卷积层。
在本发明的一个实施例中,上述ResNet50网络结构包括第一卷积块、第二卷积块、第三卷积块以及第四卷积块,每个卷积块中包括至少一个卷积层,其中,所述第二卷积块、第三卷积块以及第四卷积块中的至少一个卷积层为空洞卷积层。
在本发明的一个实施例中,上述至少一个反卷积层中的第一反卷积层与所述第四卷积块相连,其中,所述神经网络的输出结果包括:所述第一反卷积层的输出结果与所述第三卷积块的输出结果进行跳连接操作之后,经过至少一个特定卷积层得到的输出结果。
在本发明的一个实施例中,上述训练好的神经网络包括通过训练样本集得到的神经网络,所述样本集包括多张图像以及所述多张图像对应的真实深度值。
在本发明的一个实施例中,上述样本集包括通过深度相机获取的多张图像以及所述多张图像对应的真实深度值。
在本发明的一个实施例中,上述样本集包括通过单目相机获取的多张图像,以及通过深度传感器获得的所述多张图像对应的真实深度值。
在本发明的一个实施例中,上述基于所述图像以及所述深度图构建三维地图,并确定所述摄像装置在所述地图中的位置,包括:基于多张图像以及所述多张图像对应的深度图计算得到对应的位姿信息以及三维点云信息,对所述位姿信息以及三维点云信息进行优化,以及基于优化后的位姿信息以及三维点云信息构建三维地图,并确定所述摄像装置的位姿。
在本发明实施方式的第三方面中,提供了一种计算设备,包括:一个或多个存储器,存储有可执行指令,以及一个或多个处理器,执行所述可执行指令,以实现如上述的任一方法。
在本发明实施方式的第四方面中,提供了一种计算机可读存储介质,其上存储有可执行指令,所述指令被处理单元执行时使所述处理单元执行如上所述的任一方法。
根据本发明实施方式的数据处理方法和装置,可以通过神经网络得到图像的多个像素点的真实尺度的深度值,从而无需在构建三维地图过程中通过三角测量算法再对各像素点的深度值进行估算,从而显著地减少了计算量,并且提高了准确度,为用户带来了更好的体验。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示意性地示出了根据本发明实施例的应用场景;
图2示意性地示出了根据本发明实施方式的数据处理方法的流程图;
图3示意性地示出了根据本发明另一实施方式的数据处理方法的流程图;
图4示意性地示出了根据本发明实施例的可读存储介质的示意图;
图5示意性地示出了根据本发明实施方式的数据处理装置的框图;
图6示意性地示出了根据本发明实施例的适于实现数据处理方法的计算设备。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本发明可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种数据处理的方法、装置、介质和计算设备。
在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
本发明人发现,为了减少单目SLAM在构建三维地图过程中对各像素点的深度值的估算过程,提高准确度,可以将获取到的不具有深度信息的图像输入至训练好的神经网络,从而可以得到该图像中多个像素点对应的真实尺度的深度值,基于该真实尺度的深度值构建三维地图可以省略在构建三维地图过程中通过三角测量算法对深度信息的估算过程,从而显著地减少了计算量,并且提高了准确度,为用户带来了更好的体验。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
首先参考图1,图1示意性地示出了根据本发明实施例的应用场景。
如图1所示,该应用场景100包括电子设备110,电子设备110可以是具有摄像装置的各种电子设备,电子设备110能够获取周围环境的图像。
根据本发明实施例,电子设备110可以在运动过程中通过摄像装置获取周围环境的图像,从而可以根据获取的图像感知周围环境的特征,构建三维地图,并且定位自身的位置和姿态,从而可以实现电子设备110的自主运动。
如图1所示,电子设备110例如可以是智能机器人,需要注意的是,图1所示仅为可以应用本发明实施例的应用场景的示例,以帮助本领域技术人员理解本发明的技术内容,但并不意味着本发明实施例不可以用于其他设备、系统、环境或场景。例如,电子设备110还可以是无人机、无人汽车、或者AR设备等等。
示例性方法
下面结合图1的应用场景,参考图2~图3来描述根据本发明示例性实施方式的数据处理方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
图2示意性地示出了根据本发明实施方式的数据处理方法的流程图。
如图2所示,该方法包括操作S201~S204。
在操作S201,通过摄像装置获取图像。
在操作S202,将获取到的图像输入到训练好的神经网络中,得到该图像对应的深度图。其中,深度图包括图像中多个像素点对应的真实尺度的深度值。
在操作S203,基于获取到的图像以及得到的深度图构建三维地图,并确定摄像装置在地图中的位置。
根据本发明实施例,可以通过单目相机获取图像。可以理解,单目相机由于硬件要求较低,应用较为广泛,例如,手机等电子设备大多配置有单目相机。因此,通过单目相机获取图像较为简便,普及度高。但是,单目相机只能获取空间相对位置信息,而无法得到真实深度信息,因此无法测量真实世界的距离,也无法使得机器人、AR设备等感知真实世界的空间几何关系,不便于构建三维地图。
在本发明实施例中,可以将不具有真实深度信息的图像输入至训练好的神经网络中,通过神经网络得到该图像对应的深度图,以得到真实世界的空间尺度信息,从而可以简便三维地图的构建过程。
根据本发明实施例,为得到真实世界的尺度信息,可以将神经网络设计为有监督网络,训练该神经网络时可以输入RGB图像及其对应的真值深度图,神经网络回归拟合真值深度图,以学习真实世界的空间几何距离信息。
例如,本发明实施例可以通过训练多张图像以及多张图像对应的真实深度值得到训练好的神经网络。例如,可以通过深度相机获取多张图像以及多张图像对应的真实深度值,或者,也可以通过单目相机获取多张图像,并且通过深度传感器获得该些张图像对应的真实深度值,然后将该些图像及其对应的真实深度值作为样本集输入至神经网络中,以对神经网络进行训练,使得训练好的神经网络可以用来获得不具有深度信息的图像的深度值。可以理解,上述举例中获得图像及其深度值的方法仅为帮助理解,本发明对此不做限定,本领域技术人员可以根据实际情况确定获取图像及其深度值的方法。例如,可以通过相机和雷达获取图像及其深度值,也可以通过相机和测量获取图像及其深度值等。
在本发明实施例中,可以通过梯度平滑损失函数和L2损失函数优化得到神经网络。例如,可以将梯度平滑损失函数和L2损失函数的加权平均作为神经网络的优化目标函数。例如,目标函数可以表示为:
Ltotal=wL2 L2+wLgrad Lgrad
其中,wL2,wLgrad为加权参数。例如,wL2可以设置为0.8,wLgrad可以设置为0.2。本发明实施例引入梯度平滑损失函数可以提高预测结果的平滑一致性。例如,墙面的梯度小,采用平滑损失函数训练的结果会变得更平整。
根据本发明实施例,神经网络可以是卷积神经网络,该卷积神经网络例如可以包括ResNet50网络结构以及至少一个反卷积层。
其中,ResNet50网络结构包括第一卷积块、第二卷积块、第三卷积块以及第四卷积块,每个卷积块中包括至少一个卷积层,其中,第二卷积块、第三卷积块以及第四卷积块中的至少一个卷积层为空洞卷积层。
其中,至少一个反卷积层中的第一反卷积层与ResNet50网络结构的第四卷积块相连。神经网络的输出结果包括:第一反卷积层的输出结果与ResNet50网络结构的第三卷积块的输出结果进行跳连接操作之后,经过至少一个特定卷积层得到的输出结果。其中,特定卷积层例如可以是3×3卷积层。
本发明实施例可以使用ResNet50作为基础模型,为提高精度,可以在ResNetBlock 3-ResNet Block 5(其中,ResNet Block 3可以是第二卷积块、ResNet Block 4可以是第三卷积块、ResNetBlock 5可以是第四卷积块)中增加Dilate空洞卷积,或者将ResNetBlock 3-ResNet Block 5中相应的卷积层替换为Dilate空洞卷积,用于提高卷积核的感受野。
为了提高模型精度,本发明实施例还可以在ResNet Block 5后接两层反卷积层。具体地,第一反卷积层与ResNet Block 4进行concat操作,然后进行3×3的卷积操作,之后第二反卷积层与ResNet Block 3进行concat操作。
根据本发明实施例,电子设备会在移动中获得多张图像以构建三维地图,本发明实施例可以在电子设备每获得一帧图像后,就将该图像输入至神经网络中以得到相应的深度图,然后可以将该帧图像及其对应的深度图输入至SLAM系统中以构建三维地图。
根据本发明实施例,基于图像以及深度图构建三维地图,并确定摄像装置在地图中的位置,可以包括:基于多张图像以及多张图像对应的深度图计算得到对应的位姿信息以及三维点云信息,对位姿信息以及三维点云信息进行优化;基于优化后的位姿信息以及三维点云信息构建三维地图,并确定摄像装置的位姿。
可以理解,传统的单目SLAM仅使用单目相机进行导航定位,无真实尺度信息,低纹理区域匹配误差大,有效特征少,因此传统单目SLAM系统易发散,跟踪容易丢失。为解决该问题,我们将通过神经网络预测的深度图与对应的单目RGB图像同时输入至SLAM系统中。
在SLAM系统构建三维地图过程中,将神经网络预测得到的深度图作为深度初值,通过相机位姿投影至三维世界坐标系,以得到特征点对应的初始三维坐标(真实尺度),并且可以使用g2o和局部地图等方法优化创建的初始三维点云。优化后的三维点云可用于新的图像帧的位姿解算过程,以此循环创建点云、计算相机位姿和优化局部地图,完成导航定位过程。
本发明实施例提供的数据处理方法可以实时处理图像,例如,当前时刻采集到图像后输入神经网络中得到预测的深度图,得到预测的深度图后,与RGB彩色图像同时输入至SLAM系统,然后逐帧进行上述过程。
在本发明实施例中,当计算得到相机初始位姿后,邻近几帧的位姿与对应的三维点云可以一起送入优化器中用于进一步优化提高位姿精度,该过程会同时优化这些邻近帧的位姿。
可以理解,由于现有技术的单目SLAM没有深度图,所以需要通过连续多帧匹配等过程估计深度图,例如,通过连续多帧的关系进行三角测量估计深度图,该过程不能估计真实尺度、需要多帧进行联合慢慢优化,稳定性极差。而本发明可直接使用神经网络估计的深度图,直接省略该连续多帧初始化过程,实现系统快速初始化,且精度高、稳定性好。神经网络预测的深度图带有真实尺度,也可以去掉尺度的估计过程,减少了计算量,并且提高了准确度。另外,本发明将神经网络预测得到的深度图作为SLAM系统的输入,用于计算初始相机位姿,增加初始位姿的计算速度以及在低纹理区域的鲁棒性,初始化过程和跟踪过程稳定性大幅提高。
图3示意性地示出了根据本发明另一实施方式的数据处理方法的流程图。
如图3所示,该方法包括操作S201~S203以及操作S301。其中,操作S201~S203与上述参考图2描述的方法相同或类似,在此不再赘述。
在操作S301,对深度图进行高斯平滑滤波处理和/或梯度平滑滤波处理。
根据本发明实施例,考虑到神经网络的泛化能力,可以对神经网络输出的深度图进行预处理。例如,首先将深度图像经过高斯平滑滤波去除噪声和平滑深度信息,然后计算深度图的梯度,并使用梯度平滑算法滤波,以提高深度的精度。
可以理解,本发明可以通过高斯平滑滤波处理深度图,也可以通过梯度平滑滤波处理深度图,还可以通过高斯平滑滤波以及梯度平滑滤波处理深度图。但是本发明对此不做限制,本领域技术人员可以根据实际情况确定相应的深度图的优化方法。
示例性介质
本发明示例性实施方式提供了一种计算机可读存储介质,存储有计算机可执行指令,上述指令在被处理单元执行时用于实现上述方法实施例中任一项所述的数据处理方法。
在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算设备上运行时,所述程序代码用于使所述计算设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的用于图表的数据处理方法中的步骤,例如,所述计算设备可以执行如图2中所示的操作S201:通过摄像装置获取图像;操作S202:将获取到的图像输入到训练好的神经网络中,得到该图像对应的深度图,其中,深度图包括图像中多个像素点对应的真实尺度的深度值;操作S203:基于获取到的图像以及得到的深度图构建三维地图,并确定摄像装置在地图中的位置。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
如图4所示,描述了根据本发明的实施方式的数据处理的程序产品40,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆,RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言——诸如Java,C++等,还包括常规的过程式程序设计语言——诸如“C”,语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)一连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
示例性装置
在介绍了本发明示例性实施方式的介质之后,接下来,参考图5对本发明示例性实施方式的数据处理装置进行介绍。
图5示意性地示出了根据本发明实施方式的数据处理装置500的框图。
如图5所示,数据处理装置500包括图像获取模块510、神经网络计算模块520以及地图构建模块530。
图像获取模块510通过摄像装置获取图像。
神经网络计算模块520将获取的图像输入到训练好的神经网络中,得到图像对应的深度图,深度图包括图像中多个像素点对应的真实尺度的深度值。
地图构建模块530基于图像以及深度图构建三维地图,并确定摄像装置在地图中的位置。
根据本发明实施例,数据处理装置500还可以包括滤波处理模块(图中未示),对深度图进行高斯平滑滤波处理和/或梯度平滑滤波处理。
根据本发明实施例,摄像装置可以是单目相机。
根据本发明实施例,训练好的神经网络可以包括通过梯度平滑损失函数和L2损失函数优化得到的神经网络。
根据本发明实施例,神经网络可以包括卷积神经网络,卷积神经网络包括ResNet50网络结构以及至少一个反卷积层。
根据本发明实施例,ResNet50网络结构可以包括第一卷积块、第二卷积块、第三卷积块以及第四卷积块,每个卷积块中包括至少一个卷积层,其中,第二卷积块、第三卷积块以及第四卷积块中的至少一个卷积层为空洞卷积层。
根据本发明实施例,至少一个反卷积层中的第一反卷积层可以与第四卷积块相连,其中,神经网络的输出结果包括:第一反卷积层的输出结果与第三卷积块的输出结果进行跳连接操作之后,经过至少一个特定卷积层得到的输出结果。
根据本发明实施例,训练好的神经网络包括通过训练样本集得到的神经网络,样本集包括多张图像以及多张图像对应的真实深度值。
根据本发明实施例,样本集可以包括通过深度相机获取的多张图像以及多张图像对应的真实深度值。
根据本发明实施例,样本集还可以包括通过单目相机获取的多张图像,以及通过深度传感器获得的多张图像对应的真实深度值。
根据本发明实施例,基于所述图像以及深度图构建三维地图,并确定摄像装置在所述地图中的位置,可以包括:基于多张图像以及多张图像对应的深度图计算得到对应的位姿信息以及三维点云信息;对位姿信息以及三维点云信息进行优化;基于优化后的位姿信息以及三维点云信息构建三维地图,并确定摄像装置的位姿。
根据本发明实施例,数据处理装置500例如可以执行上文参考图2或者图3描述的方法,在此不再赘述。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,图像获取模块510、神经网络计算模块520以及地图构建模块530中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,图像获取模块510、神经网络计算模块520以及地图构建模块530中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,图像获取模块510、神经网络计算模块520以及地图构建模块530中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
示例性计算设备
在介绍了本发明示例性实施方式的方法、介质和装置之后,接下来,参考图6对本发明示例性实施方式的一种计算设备,其用于实现本发明的数据处理方法。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本发明的计算设备可以至少包括至少一个处理单元、以及至少一个存储单元。其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的信息呈现方法中的步骤。例如,所述处理单元可以执行如图2中所示的操作S201:通过摄像装置获取图像;操作S202:将获取到的图像输入到训练好的神经网络中,得到该图像对应的深度图,其中,深度图包括图像中多个像素点对应的真实尺度的深度值;操作S203:基于获取到的图像以及得到的深度图构建三维地图,并确定摄像装置在地图中的位置。
下面参照图6来描述根据本发明的这种实施方式的计算设备60。如图6所示的计算设备60仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,计算设备60以通用计算设备的形式表现。计算设备60的组件可以包括但不限于:上述至少一个处理单元601、上述至少一个存储单元602、连接不同系统组件(包括存储单元602和处理单元601)的总线603。
总线603表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、图形加速端口、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储单元602可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)6021和/或高速缓存存储器6022,还可以进一步包括只读存储器(ROM)6023。
存储单元602还可以包括具有一组(至少一个)程序模块6024的程序/实用工具6025,这样的程序模块6024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算设备60也可以与一个或多个外部设备604(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与计算设备60交互的设备通信,和/或与使得计算设备60能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/0)接口605进行。并且,计算设备60还可以通过网络适配器606与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器606通过总线603与计算设备60的其它模块通信。应当明白,尽管图中未示出,可以结合计算设备60使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了数据处理装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (10)
1.一种数据处理方法,包括:
通过摄像装置获取图像;
将所述图像输入到训练好的神经网络中,得到所述图像对应的深度图,所述深度图包括所述图像中多个像素点对应的真实尺度的深度值;
基于所述图像以及所述深度图构建三维地图,并确定所述摄像装置在所述地图中的位置。
2.根据权利要求1所述的方法,还包括:
对所述深度图进行高斯平滑滤波处理和/或梯度平滑滤波处理。
3.根据权利要求1所述的方法,其中,所述通过摄像装置获取图像包括:通过单目相机获取图像。
4.根据权利要求1所述的方法,其中,所述训练好的神经网络包括通过梯度平滑损失函数和L2损失函数优化得到的神经网络。
5.根据权利要求1所述的方法,其中,所述神经网络包括卷积神经网络,所述卷积神经网络包括ResNet50网络结构以及至少一个反卷积层。
6.根据权利要求5所述的方法,其中,所述ResNet50网络结构包括第一卷积块、第二卷积块、第三卷积块以及第四卷积块,每个卷积块中包括至少一个卷积层,其中,所述第二卷积块、第三卷积块以及第四卷积块中的至少一个卷积层为空洞卷积层。
7.根据权利要求6所述的方法,其中,所述至少一个反卷积层中的第一反卷积层与所述第四卷积块相连,其中,所述神经网络的输出结果包括:所述第一反卷积层的输出结果与所述第三卷积块的输出结果进行跳连接操作之后,经过至少一个特定卷积层得到的输出结果。
8.一种数据处理装置,包括:
图像获取模块,通过摄像装置获取图像;
神经网络计算模块,将所述图像输入到训练好的神经网络中,得到所述图像对应的深度图,所述深度图包括所述图像中多个像素点对应的真实尺度的深度值;
地图构建模块,基于所述图像以及所述深度图构建三维地图,并确定所述摄像装置在所述地图中的位置。
9.一种计算设备,包括:
一个或多个存储器,存储有可执行指令;以及
一个或多个处理器,执行所述可执行指令,以实现根据权利要求1~7中任一项所述的方法。
10.一种介质,其上存储有可执行指令,所述指令在被处理器执行时实现根据权利要求1~7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810787039.0A CN108898669A (zh) | 2018-07-17 | 2018-07-17 | 数据处理方法、装置、介质和计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810787039.0A CN108898669A (zh) | 2018-07-17 | 2018-07-17 | 数据处理方法、装置、介质和计算设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108898669A true CN108898669A (zh) | 2018-11-27 |
Family
ID=64350954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810787039.0A Pending CN108898669A (zh) | 2018-07-17 | 2018-07-17 | 数据处理方法、装置、介质和计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108898669A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109754362A (zh) * | 2018-12-24 | 2019-05-14 | 哈尔滨工程大学 | 一种用可旋转的边界框标注海参目标检测结果的方法 |
CN109978936A (zh) * | 2019-03-28 | 2019-07-05 | 腾讯科技(深圳)有限公司 | 视差图获取方法、装置、存储介质及设备 |
CN110160532A (zh) * | 2019-06-28 | 2019-08-23 | 联想(北京)有限公司 | 定位方法及装置、以及终端设备 |
CN111738964A (zh) * | 2020-08-17 | 2020-10-02 | 成都中轨轨道设备有限公司 | 一种基于建模的图像数据增强的方法 |
CN112749594A (zh) * | 2019-10-31 | 2021-05-04 | 浙江商汤科技开发有限公司 | 信息补全方法、车道线识别方法、智能行驶方法及相关产品 |
CN114532924A (zh) * | 2022-02-25 | 2022-05-27 | 深圳市商汤科技有限公司 | 区域清洁的方法、装置、电子设备和存储介质 |
CN114902238A (zh) * | 2019-12-27 | 2022-08-12 | 谷歌有限责任公司 | 用于深度估计的系统和方法 |
CN115797817A (zh) * | 2023-02-07 | 2023-03-14 | 科大讯飞股份有限公司 | 一种障碍物识别方法、障碍物显示方法、相关设备和系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103247075A (zh) * | 2013-05-13 | 2013-08-14 | 北京工业大学 | 基于变分机制的室内环境三维重建方法 |
CN106570507A (zh) * | 2016-10-26 | 2017-04-19 | 北京航空航天大学 | 单目视频场景三维结构的多视角一致的平面检测解析方法 |
CN106595659A (zh) * | 2016-11-03 | 2017-04-26 | 南京航空航天大学 | 城市复杂环境下多无人机视觉slam的地图融合方法 |
CN106683182A (zh) * | 2017-01-12 | 2017-05-17 | 南京大学 | 一种权衡立体匹配和视觉外形的三维重建方法 |
CN106920279A (zh) * | 2017-03-07 | 2017-07-04 | 百度在线网络技术(北京)有限公司 | 三维地图构建方法和装置 |
CN107204010A (zh) * | 2017-04-28 | 2017-09-26 | 中国科学院计算技术研究所 | 一种单目图像深度估计方法与系统 |
CN107767413A (zh) * | 2017-09-20 | 2018-03-06 | 华南理工大学 | 一种基于卷积神经网络的图像深度估计方法 |
-
2018
- 2018-07-17 CN CN201810787039.0A patent/CN108898669A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103247075A (zh) * | 2013-05-13 | 2013-08-14 | 北京工业大学 | 基于变分机制的室内环境三维重建方法 |
CN106570507A (zh) * | 2016-10-26 | 2017-04-19 | 北京航空航天大学 | 单目视频场景三维结构的多视角一致的平面检测解析方法 |
CN106595659A (zh) * | 2016-11-03 | 2017-04-26 | 南京航空航天大学 | 城市复杂环境下多无人机视觉slam的地图融合方法 |
CN106683182A (zh) * | 2017-01-12 | 2017-05-17 | 南京大学 | 一种权衡立体匹配和视觉外形的三维重建方法 |
CN106920279A (zh) * | 2017-03-07 | 2017-07-04 | 百度在线网络技术(北京)有限公司 | 三维地图构建方法和装置 |
CN107204010A (zh) * | 2017-04-28 | 2017-09-26 | 中国科学院计算技术研究所 | 一种单目图像深度估计方法与系统 |
CN107767413A (zh) * | 2017-09-20 | 2018-03-06 | 华南理工大学 | 一种基于卷积神经网络的图像深度估计方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109754362A (zh) * | 2018-12-24 | 2019-05-14 | 哈尔滨工程大学 | 一种用可旋转的边界框标注海参目标检测结果的方法 |
CN109978936A (zh) * | 2019-03-28 | 2019-07-05 | 腾讯科技(深圳)有限公司 | 视差图获取方法、装置、存储介质及设备 |
CN109978936B (zh) * | 2019-03-28 | 2022-12-30 | 腾讯科技(深圳)有限公司 | 视差图获取方法、装置、存储介质及设备 |
CN110160532A (zh) * | 2019-06-28 | 2019-08-23 | 联想(北京)有限公司 | 定位方法及装置、以及终端设备 |
CN112749594A (zh) * | 2019-10-31 | 2021-05-04 | 浙江商汤科技开发有限公司 | 信息补全方法、车道线识别方法、智能行驶方法及相关产品 |
CN112749594B (zh) * | 2019-10-31 | 2022-04-22 | 浙江商汤科技开发有限公司 | 信息补全方法、车道线识别方法、智能行驶方法及相关产品 |
CN114902238A (zh) * | 2019-12-27 | 2022-08-12 | 谷歌有限责任公司 | 用于深度估计的系统和方法 |
CN111738964A (zh) * | 2020-08-17 | 2020-10-02 | 成都中轨轨道设备有限公司 | 一种基于建模的图像数据增强的方法 |
CN114532924A (zh) * | 2022-02-25 | 2022-05-27 | 深圳市商汤科技有限公司 | 区域清洁的方法、装置、电子设备和存储介质 |
CN115797817A (zh) * | 2023-02-07 | 2023-03-14 | 科大讯飞股份有限公司 | 一种障碍物识别方法、障碍物显示方法、相关设备和系统 |
CN115797817B (zh) * | 2023-02-07 | 2023-05-30 | 科大讯飞股份有限公司 | 一种障碍物识别方法、障碍物显示方法、相关设备和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108898669A (zh) | 数据处理方法、装置、介质和计算设备 | |
JP6745328B2 (ja) | 点群データを復旧するための方法及び装置 | |
JP7560021B2 (ja) | 深層学習システム | |
US20220148251A1 (en) | Path planning using sparse volumetric data | |
CN111079619B (zh) | 用于检测图像中的目标对象的方法和装置 | |
CN107888828A (zh) | 空间定位方法及装置、电子设备、以及存储介质 | |
CN109683699A (zh) | 基于深度学习实现增强现实的方法、装置及移动终端 | |
CN114758337B (zh) | 一种语义实例重建方法、装置、设备及介质 | |
US11908081B2 (en) | Method and system for automatic characterization of a three-dimensional (3D) point cloud | |
CN110838122B (zh) | 点云的分割方法、装置及计算机存储介质 | |
KR20220081261A (ko) | 객체 포즈 추정 방법 및 장치 | |
CN113378605B (zh) | 多源信息融合方法及装置、电子设备和存储介质 | |
US11948310B2 (en) | Systems and methods for jointly training a machine-learning-based monocular optical flow, depth, and scene flow estimator | |
US20210327102A1 (en) | Cross-device supervisory computer vision system | |
KR20200143228A (ko) | 3차원 가상 공간 모델을 이용한 사용자 포즈 추정 방법 및 장치 | |
CN115371699A (zh) | 视觉惯性里程计方法、装置及电子设备 | |
CN113822919A (zh) | 基于语义信息约束的水下图像相对深度估计方法 | |
CN115661336A (zh) | 一种三维重建方法及相关装置 | |
CN116486038A (zh) | 一种三维构建网络训练方法、三维模型生成方法以及装置 | |
CN117746133B (zh) | 目标检测方法、模型训练方法、装置、设备及存储介质 | |
CN116824284A (zh) | 一种图像处理方法以及相关设备 | |
CN116883961A (zh) | 一种目标感知方法以及装置 | |
KR20230006628A (ko) | 이미지 처리 방법과 장치, 전자 기기, 저장 매체 및 컴퓨터 프로그램 | |
CN114494574A (zh) | 一种多损失函数约束的深度学习单目三维重建方法及系统 | |
CN113781653A (zh) | 对象模型生成方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20190626 Address after: 311200 Room 102, 6 Blocks, C District, Qianjiang Century Park, Xiaoshan District, Hangzhou City, Zhejiang Province Applicant after: Hangzhou Yixian Advanced Technology Co.,Ltd. Address before: 310052 Building No. 599, Changhe Street Network Business Road, Binjiang District, Hangzhou City, Zhejiang Province, 4, 7 stories Applicant before: NETEASE (HANGZHOU) NETWORK Co.,Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181127 |