CN109947886B - 图像处理方法、装置、电子设备及存储介质 - Google Patents
图像处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN109947886B CN109947886B CN201910209109.9A CN201910209109A CN109947886B CN 109947886 B CN109947886 B CN 109947886B CN 201910209109 A CN201910209109 A CN 201910209109A CN 109947886 B CN109947886 B CN 109947886B
- Authority
- CN
- China
- Prior art keywords
- image frame
- image
- frames
- frame
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 39
- 238000012545 processing Methods 0.000 title claims description 45
- 238000000034 method Methods 0.000 claims abstract description 87
- 238000005457 optimization Methods 0.000 claims description 19
- 230000015654 memory Effects 0.000 claims description 18
- 238000000605 extraction Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 description 60
- 230000006870 function Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 12
- 230000008859 change Effects 0.000 description 11
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- 238000001514 detection method Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 239000000284 extract Substances 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 5
- 230000004927 fusion Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000007499 fusion processing Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开了一种图像处理方法、装置、电子设备及存储介质,属于计算机技术领域。所述方法包括:获取多个图像帧;对于任一图像帧,获取任一图像帧对应的多项位置差异信息,多项位置差异信息用于表示任一图像帧与任一图像帧的前一个关键帧的匹配特征点的位置差异;当多项位置差异信息中任一项满足场景创建的准确性要求时,将任一图像帧获取为关键帧;基于获取到的多个关键帧,创建目标虚拟场景。本发明通过在获取关键帧时,考虑到了多项位置差异信息,在任一项满足场景创建的准确性要求时即将该任一图像帧获取为关键帧,以获取到足够的关键帧,避免出现定位失败导致创建的虚拟场景不准确的问题,上述图像处理方法得到的虚拟场景的准确性好。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种图像处理方法、装置、电子设备及存储介质。
背景技术
随着计算机技术的发展,实时定位与地图创建(Simultaneous Localization AndMapping,SLAM)技术在无人驾驶、机器人、虚拟现实或增强现实等领域应用广泛。该SLAM技术可以应用于自动驾驶领域,可以对车辆上拍摄的多个图像帧进行处理,去创建场景。
目前,图像处理方法通常采用一种间接的SLAM技术,基于ORB(Oriented FAST andRotated BRIEF)特征的实时定位与地图创建(Oriented FAST and Rotated BRIEF-Simultaneous Localization And Mapping,ORB-SLAM)技术,在这种技术中,对于多个图像帧,可以通过算法,根据每个图像帧相对于该图像帧之前的前一个关键帧匹配的特征点的某一种信息,从多个图像帧中选择多个关键帧,根据该多个关键帧,创建多个图像帧对应的虚拟场景。
上述图像处理方法中,获取关键帧所采用的算法比较粗糙,经常出现选取的关键帧不够多,而使得对采集图像帧的设备或一些路标点的定位失败,创建的虚拟场景的准确性差。
发明内容
本发明实施例提供了一种图像处理方法、装置、电子设备及存储介质,可以解决相关技术中虚拟场景的准确性差的问题。所述技术方案如下:
一方面,提供了一种图像处理方法,所述方法包括:
获取多个图像帧;
对于任一图像帧,获取所述任一图像帧对应的多项位置差异信息,所述多项位置差异信息用于表示所述任一图像帧与所述任一图像帧的前一个关键帧的匹配特征点的位置差异;
当所述多项位置差异信息中任一项满足场景创建的准确性要求时,将所述任一图像帧获取为关键帧;
基于获取到的多个关键帧,创建目标虚拟场景,所述目标虚拟场景用于表示所述多个图像帧所对应的场景。
在一种可能实现方式中,所述方法还包括:
对于任一图像帧的任一特征点,根据所述任一特征点在所述第二历史图像帧中的匹配特征点的深度,获取所述匹配特征点在第二历史图像帧的相机坐标系中的空间位置,所述第二历史图像帧为特征点与所述任一特征点匹配的多个图像帧中第一个图像帧;
根据所述匹配特征点在第二历史图像帧的相机坐标系中的空间位置、所述第二历史图像帧的相机位姿,以及所述任一图像帧相对于所述第二历史图像帧的相对相机位姿,获取所述任一特征点相对于所述任一图像帧的相机位置的预测相对方向;
获取所述任一特征点相对于所述任一图像帧的相机位置的相对方向;
将所述预测相对方向和所述相对方向分别在与所述相对方向垂直的平面内的投影位置之间的差距作为所述任一特征点的误差。
一方面,提供了一种图像处理装置,所述装置包括:
图像获取模块,用于获取多个图像帧;
信息获取模块,用于对于任一图像帧,获取所述任一图像帧对应的多项位置差异信息,所述多项位置差异信息用于表示所述任一图像帧与所述任一图像帧的前一个关键帧的匹配特征点的位置差异;
所述图像获取模块,还用于当所述多项位置差异信息中任一项满足场景创建的准确性要求时,将所述任一图像帧获取为关键帧;
场景创建模块,用于基于获取到的多个关键帧,创建目标虚拟场景,所述目标虚拟场景用于表示所述多个图像帧所对应的场景。
一方面,提供了一种电子设备,所述电子设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条指令,所述指令由所述一个或多个处理器加载并执行以实现所述图像处理方法所执行的操作。
一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现所述图像处理方法所执行的操作。
本发明实施例中在多个图像帧中获取关键帧时,在判断是否将任一图像帧获取为关键帧时,考虑到了该任一图像帧与该任一图像帧之前的前一个关键帧匹配的特征点的多项位置差异信息,在任一项满足场景创建的准确性要求时即将该任一图像帧获取为关键帧,以获取到足够的关键帧,可以避免出现对采集图像帧的设备或路标点定位失败导致创建的虚拟场景不准确的问题,因而,本发明实施例提供的图像处理方法得到的目标虚拟场景的准确性好。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种图像处理方法的实施环境;
图2是本发明实施例提供的一种图像处理方法的流程图;
图3为本发明实施例提供的一种图像帧的示意图;
图4是本发明实施例提供的一种图像帧的特征提取示意图;
图5是本发明实施例提供的一种特征匹配过程的示意图;
图6是本发明实施例提供的一种车辆的运动轨迹以及稀疏点云地图的示意图;
图7是本发明实施例提供的一种图像处理流程的示意图;
图8是本发明实施例提供的一种图像处理方法的应用场景的示意图;
图9是本发明实施例提供的一种图像处理装置的结构示意图;
图10是本发明实施例提供的一种终端的结构示意图;
图11是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的一种图像处理方法的实施环境,该图像处理方法可以包括两种实施环境,在一种可能实现方式中,参见图1,该实施环境可以包括电子设备101和电子设备102。其中,该电子设备101和电子设备102可以通过数据线或无线网络连接,以进行数据交互。该电子设备101具有图像采集功能,用于采集图像帧,该电子设备102具有图像处理功能,用于对电子设备101采集到的图像帧进行处理,以创建图像帧对应的目标虚拟场景。
该目标虚拟场景可以包括一种或多种数据,该目标虚拟场景可以由相关技术人员根据需求进行设置,本发明实施例对该目标虚拟场景具体哪种或哪几种数据不作限定。在一个可能实施例中,该电子设备102可以基于采集到的图像帧,创建该图像帧所对应的目标虚拟地图。在另一个可能实施例中,该电子设备102也可以基于采集到的图像帧对电子设备101进行定位,得到该电子设备101的目标运动轨迹。在再一个可能实施例中,该电子设备102可以既创建目标虚拟地图,又获取目标运动轨迹。
在一个具体的实施例中,也可以将该电子设备101安装于定位目标上,例如,想要对车辆进行定位时,可以将该电子设备101安装于车辆之上,这样该电子设备101的位置即为该定位目标的位置,因而,电子设备102可以通过对电子设备101进行定位,以实现对定位目标的定位。例如,在自动驾驶领域,可以由安装于车辆上的电子设备101采集图像帧,并将采集到的图像帧发送至电子设备102,由电子设备102对采集到的图像帧进行处理,创建该车辆行驶过的地方周围的虚拟地图,或对该车辆进行定位,也可以既定位又创建周围的虚拟地图。
在另一种可能实现方式中,参见图1,该实施环境可以包括电子设备102,也即是,上述电子设备101和电子设备102为同一个电子设备。该电子设备102具有图像采集功能和图像处理功能。该电子设备102可以采集图像帧,并对图像帧进行处理,对自身进行定位,或创建周围的虚拟地图,或既获取虚拟场景又对自身进行定位。例如,在一个具体示例中,该电子设备102可以为机器人,该机器人可以在移动时采集图像帧,并对采集到的图像帧进行处理,创建周围的虚拟地图,或对自身进行定位,也可以既定位又创建周围的虚拟地图。
需要说明的是,该电子设备可以为终端,也可以为服务器,本发明实施例对此不作限定。
图2是本发明实施例提供的一种图像处理方法的流程图,该方法应用于电子设备,该电子设备可以为上述图1所示的电子设备102,参见图2,该方法可以包括以下步骤:
201、电子设备获取多个图像帧。
在本发明实施例中,电子设备可以具有图像处理功能,该电子设备可以对电子设备所采集的多个图像帧进行处理,创建该多个图像帧对应的目标虚拟场景。具体地,该电子设备可以对采集该多个图像帧的设备进行定位,得到该设备的目标运动轨迹,或者,可以创建该多个图像帧对应的目标虚拟地图,又或者,也可以既创建目标虚拟地图,又获取目标运动轨迹,该目标虚拟场景可以由相关技术人员根据需求进行设置,本发明实施例对此不作限定。
在一种可能实现方式中,该多个图像帧可以由采集该多个图像帧的设备发送至该电子设备。也即是,可以由图像采集设备采集多个图像帧,并将采集到的多个图像帧发送至该电子设备,当然,该图像采集设备也可以拍摄视频,并将拍摄得到的视频发送至该电子设备,从而该电子设备可以对接收到的视频进行处理,得到多个图像帧。具体地,该电子设备可以对视频进行截帧处理,截取多个图像帧,也可以直接提取该视频中包括的多个图像帧,本发明实施例对此不作限定。
在另一种可能实现方式中,该电子设备可以具有图像采集功能,该电子设备可以采集多个图像帧,或者拍摄视频,从而对拍摄的视频进行处理,得到多个图像帧。
在上述两种实现方式中,该多个图像帧可以为实时采集到的图像帧,也可以为提前采集并保存的图像帧,也可以对实时拍摄的视频处理得到,也可以对提前录制好的视频处理得到,本发明实施例对此不作限定。当然,该多个图像帧也可以通过其他方式获取得到,例如,可以从图像数据库中获取得到,本发明实施例对该多个图像帧的获取方式不作限定。
在一个具体示例中,该图像处理方法可以应用于自动驾驶领域,以该多个图像帧由图像采集设备实时采集并发送至该电子设备为例,该图像采集设备和电子设备均可以被安装于车辆上,也可以该图像采集设备被安装于车辆上,电子设备为车辆之外的任一设备,该设备可以与车载设备进行通信,以实现对车辆驾驶的控制。例如,图像采集设备每采集到一个图像帧,可以将该图像帧发送至电子设备,由该电子设备对该图像帧进行处理,并基于该图像帧,对车辆进行定位或者对行驶路径周围的虚拟地图进行创建,或者两个步骤均进行,从而后续可以基于虚拟地图和定位进行路径规划等。
202、电子设备对该多个图像帧进行特征提取,得到每个图像帧的特征点。
电子设备在获取到多个图像帧后,可以对该多个图像帧进行处理。对于每个图像帧,该电子设备可以对该每个图像帧进行特征提取,得到该每个图像帧的特征点,从而后续电子设备可以基于特征点,分析各个特征点的空间位置,分析周围场景的路标点分布,或者分析采集该图像帧的设备的位置。
在一种可能实现方式中,电子设备可以提取每个图像帧的ORB(Oriented FASTand Rotated BRIEF)特征,该ORB特征可以由关键点和描述子两部分组成,ORB特征的关键点为“Oriented FAST”,Oriented FAST是一种改进的FAST角点,描述子采用了“RotatedBRIEF”,Rotated BRIEF是一种改进的BRIEF描述子。ORB是一种包含方向与旋转信息的高效视觉特征描述子。该ORB特征具有尺度不变性、旋转不变性等,在平移、旋转和缩放的变换下均具有良好的表现,且提取与匹配速度很快,因而,可以有效提高对图像帧进行处理的速度、准确性和效率,从而得到的目标虚拟场景的准确性提高,效率也很高。
具体地,该步骤202可以通过下述步骤一和步骤二实现:
步骤一、电子设备提取每个图像帧的角点。
该角点是指局部像素值变化明显的地方。对于任一图像帧的任一像素点,当该任一像素点与该像素点周围的目标区域内的像素点的像素值差值大于阈值时,电子设备将该任一像素点作为原始角点。电子设备可以获取每个原始角点的哈里斯(Harris)响应值,将该Harris响应值最大的前目标数量的原始角点作为该任一图像帧的角点。电子设备在初步提取到角点后,可以根据比例因子和金字塔的层数,建立图像金字塔,对每一层金字塔上缩放后的图像进行角点检测,得到该每个图像帧的角点,每一层金字塔上缩放后的图像的尺度不同。得到角点后,电子设备可以获取每个角点的方向信息。具体地,该方向信息的获取过程可以为通过矩法实现,对于任一角点,电子设备可以将该角点作为起点,将以该每个角点为几何中心的图像块的质心作为终点的向量作为该角点的方向信息。
其中,该目标区域可以由相关技术人员预先设置,例如,该目标区域可以为该像素点为中心、半径为预设半径的圆,本发明实施例对此不作限定。上述仅为一种示例性说明,该角点提取的过程可以通过任一种角点检测算法实现,本发明实施例对此不作限定。
步骤二、电子设备对提取到的角点的目标图像区域进行描述。
对于任一角点,电子设备可以获取该角点在该角点对应尺度的图像上的目标图像区域,从该目标图像区域中选取像素点对,将选取的点对根据该角点的方向信息进行旋转得到旋转后的像素点对,根据该像素点对中两个像素点的像素值大小关系,获取得到该角点的描述信息。
例如,如图3所示,电子设备获取到一个图3所示的图像帧后,可以对该图像帧进行特征提取,得到图4所示的特征点,如图4所示,每一个圆代表一个特征点,圆心为特征点在图像帧中的位置,圆的大小代表该特征点的尺度,圆中的线段用于表示特征的方向信息。
上述步骤一和步骤二为提取ORB特征的过程,仅为该步骤202的一种示例性说明,在一种可能实现方式中,该电子设备也可以获取该图像帧的其它特征,本发明实施例对此不作限定。
在一种可能实现方式中,采集该多个图像帧的相机的类型不同时,该电子设备对该多个图像帧进行的处理过程可以不同。例如,相机的类型可以包括单目相机、双目相机、RGBD(Red Green Blue Depth)相机等,当然,该相机的类型还可以包括其他类型,本发明实施例在此不一一列举。在该步骤202之后,当采集该多个图像帧的相机为双目相机时,电子设备还可以通过单独的线程,对该双目相机中第一相机和第二相机分别采集到的两个图像帧的特征点进行匹配。这样通过双目相机中的两个相机得到的图像帧可以获取到特征点的深度,从而可以基于该深度,确定特征点的空间位置。
上述步骤202中进行特征提取的步骤可以通过第一线程实现,该双目匹配的过程可以基于第二线程实现,该第一线程和第二线程不同。这样通过不同的线程进行不同的步骤,电子设备可以并行执行不同的步骤,从而加快图像处理速度,提高图像处理效率。
例如,双目相机可以为标定好内参数的相机,该双目相机可以包括第一相机和第二相机,以第一相机为左相机,第二相机为右相机为例,上述双目匹配的过程可以为:获取该第一相机所采集的第一图像帧的特征点在该第二相机所采集的第二图像帧中的基线,沿着基线依次匹配该基线上的特征点,得到每个匹配的特征点的深度。
203、电子设备对每个图像帧的特征点与该每个图像帧的前一个图像帧的特征点进行匹配。
在本发明实施例中,该多个图像帧可以为连续的多帧图像帧,相机的位姿发生了变化,拍摄到的图像帧中的内容则发生了变化,因而,不同图像帧的特征点的位置则可能发生了变化。在电子设备在获取到每个图像帧的特征点后,通过对相邻图像帧的特征点进行匹配,可以根据特征点的位置变化,确定相机位姿的变化情况,这样可以实现对采集该多个图像帧的设备的定位功能。另外,通过对相邻的图像帧的特征点进行匹配,也可以根据特征点在不同图像帧中的位置,确定该特征点的空间位置。
其中,该相机位姿用于表示采集图像帧的相机的位置和姿态,在一种可能实现方式中,该相机位姿可以采用六维的向量表示,该相机位姿可以通过平移矩阵和旋转矩阵表示,该平移矩阵用于表示原始坐标系下的相机位置,该旋转矩阵用于表示相机当前姿态在相机坐标系下的旋转角。
在一种可能实现方式中,该电子设备对相邻图像帧的特征点进行匹配的过程时,可以先根据历史图像帧预测当前图像帧的相机位姿,从而使用预测的相机位姿指导该当前图像帧与当前图像帧的前一个图像帧的特征点进行匹配,可以加快特征匹配的速度。具体地,该匹配过程可以通过下述步骤一和步骤二实现:
步骤一、对于每个图像帧,电子设备根据该每个图像帧之前的第一历史图像帧的相机位姿,预测该每个图像帧的相机位姿。
步骤二、电子设备根据该每个图像帧的相机位姿,对每个图像帧的特征点与该每个图像帧的前一个图像帧的特征点进行匹配,得到该每个图像帧的特征点的空间位置。
在该步骤一和步骤二中,第一历史图像帧可以为该每个图像帧之前的一个或多个图像帧。在一个可能实施例中,在该步骤二之后,电子设备可以根据匹配结果,再重复执行上述步骤一和二,电子设备可以根据步骤二得到的特征点的空间位置,对相机位姿进行优化,再基于优化的相机位姿重新指导匹配过程,从而得到准确的相机位姿和特征点的空间位置,直至满足一定条件。相关技术中,通常是直接根据该每个图像帧的前一个图像帧和后一个图像帧,来猜测该每个图像帧的相机位姿,准确性差。而本发明实施例中,通过预测相机位姿,从而根据相机位姿指导特征匹配过程,可以提高匹配速度,从而提高整个图像处理流程的效率。
在一种可能实现方式中,该步骤一可以通过卡尔曼滤波器实现。具体地,电子设备可以通过卡尔曼滤波器对该每个图像帧之前的第一历史图像帧的相机位姿进行处理,得到该每个图像帧的相机位姿。电子设备可以基于该每个图像帧的相机位姿、前一个图像帧的相机位姿以及该前一个图像帧的特征点的空间位置,预测该每个图像帧的特征点的空间位置,从而基于该预测的空间位置与该每个图像帧的特征点进行匹配,该匹配过程可以为确定特征点之间的相似度,从而确定是否匹配,本发明实施例在此不多做赘述。
例如,该特征匹配的过程可以如图5所示,对于任一图像帧(当前图像帧),电子设备可以通过卡尔曼滤波器对该当前图像帧之前的第一历史图像帧进行处理,得到预测值和预测协方差,电子设备通过该预测值指导特征匹配,再基于匹配结果优化当前图像帧的相机姿态(相机位姿),从而可以基于该优化后的相机位姿更新卡尔曼滤波器的参数值和预测协方差,重复执行该多个步骤,直至预测协方差最小或预测协方差收敛,该过程仅为一个示例性说明,本发明实施例对该特征匹配过程不作限定。
在一个具体的实施例中,上述步骤202和步骤203中,电子设备可以采用不同的线程分别对图像帧进行特征提取和对图像帧提取到的特征点进行匹配。也即是,电子设备可以采用不同的线程分别执行上述步骤202和步骤203,这样可以在对多个图像帧进行处理的过程中,该步骤202和步骤203可以实现并行执行,以节省图像处理时间,提高图像处理速度和效率。
例如,该电子设备可以基于第一线程,执行上述步骤202,基于第三线程,执行该步骤203,该第一线程和第三线程不同。在上述步骤203中的一种可能实现方式中,双目匹配的步骤可以基于单独的线程(比如第二线程)实现,需要说明的是,第一线程、第二线程以及第三线程均不相同,也即是,上述步骤202、步骤203以及双目匹配的步骤均可以采用不同的线程实现,这样该三个步骤均可以实现并行执行。
相关技术中,该三个步骤通常是采用同一个线程实现,该三个步骤顺序执行所需花费的时间很长,直接拖慢了整个图像处理流程,经过测试,本发明实施例中通过将该三个步骤独立,可以使得图像处理流程的整体速度提高一倍以上。
将该三个步骤独立也便于扩展其他步骤,当该图像处理方法应用于不同的场景时,该图像处理方法中可能还包括其他步骤,该其他步骤也可以与该三个步骤并行处理。例如,该图像处理方法可以应用于虚拟现实(Virtual Reality,VR)领域和增强现实(Augmented Reality,AR)领域中,可以与惯性测量单元(Inertial Measurement Unit,IMU)实现不同的功能,比如可以通过该图像处理方法实时定位相机位姿,根据实时定位的相机位姿进行图像的三维重建,为游戏电影行业快速建模,也可为消费者和三维(3Dimensions,3D)打印提供低成本的三维模型等,上述仅为一种可能应用场景示例,并不对该图像处理方法的应用场景造成限定。在该应用场景中,IMU的积分获取步骤即可以与上述三个步骤并行执行,从而提高整个处理流程的速度。
需要说明的是,上述步骤202至步骤203为对电子设备对应的多个图像帧进行处理,得到每个图像帧的相机位姿以及特征点的空间位置的过程,上述每个图像帧的相机位姿为通过历史图像帧的相机位姿预测得到的,可能不太准确,在上述步骤203之后,电子设备还可以对预测得到的每个图像帧的相机位姿进行优化,得到更准确的相机位姿。
具体地,该优化过程可以为:电子设备获取该每个图像帧的所有特征点的误差之和,每个特征点的误差用于指示该每个特征点的空间位置与基于第二历史图像帧预测得到的空间位置之间的差距,该每个特征点的空间位置基于该每个特征点的深度确定。电子设备基于该每个图像帧的所有特征点的误差之和,对该每个图像帧的相机位姿进行调整,直至该误差之和满足目标条件时停止调整,得到优化后的该每个图像帧的相机位姿。
其中,该第二历史图像帧可以为该每个图像帧之前的图像帧,在一种可能实现方式中,该第二历史图像帧可以为特征点与该任一特征点匹配的多个图像帧中第一个图像帧。也即是,电子设备在对多个图像帧进行处理后,对某个图像帧进行处理时,获取该某个图像帧中的某个特征点的误差时,可以将电子设备第一次提取到该特征点的图像帧作为该第二历史图像帧。
具体地,电子设备可以先获取每个图像帧的每个特征点的误差,然后求和得到该每个图像帧的所有特征点的误差之和。以该误差之和作为优化目标,对图像帧的相机位姿进行优化。该误差之和满足目标条件可以由相关技术人员根据需求进行设置,例如,可以为误差之和达到最小值,或者误差之和收敛等,本发明实施例对此不作限定。
对于每个图像帧的每个特征点的误差,电子设备可以通过下述步骤一至步骤四来获取该误差:
步骤一、对于任一图像帧的任一特征点,电子设备根据该任一特征点在该第二历史图像帧中的匹配特征点的深度,获取该匹配特征点在第二历史图像帧的相机坐标系中的空间位置。
在该步骤一中,可以用特征点的深度来表示该特征点的空间位置,对于任一特征点,电子设备可以根据相机参数和该任一特征点在第二历史图像帧中的匹配特征点的深度,获取该匹配特征点在第二历史图像帧的相机坐标系中的空间位置。从而在后续可以根据两个图像帧的相对关系,来预测该任一特征点在当前图像帧(也即是该任一图像帧)中的空间位置。
例如,假设该任一图像帧为图像帧j,特征点r为该图像帧j中的一个特征点,该特征点r对应的第二历史图像帧为图像帧i,该特征点r在第二历史图像帧中的匹配特征点为特征点q。对于匹配特征点q,我们可以根据相机模型的相机内参矩阵,将其归一化处理为对于针孔相机模型,K为相机内参矩阵,假设该匹配特征点q的深度为d,d大于或等于0,则该匹配特征点q的空间位置可以为
相关技术中,优化过程通常采用重投影误差作为优化目标函数,重投影误差主要适用于针孔照相机模型,通常特征点的空间位置需要使用三个参数来表示,也即是,使用三维坐标(X、Y和Z坐标)来表示空间位置,而本发明实施例中使用深度来表示空间位置,可以减少内存消耗,提高了优化速度,也可以适用于多种相机,提高该优化过程的适应性。
步骤二、电子设备根据该匹配特征点在第二历史图像帧的相机坐标系中的空间位置、该第二历史图像帧的相机位姿,以及该任一图像帧相对于该第二历史图像帧的相对相机位姿,获取该任一特征点相对于该任一图像帧的相机位置的预测相对方向。
在对比预测量和真实量时,可以使用该特征点相对于相机位置的相对方向来衡量该特征点的空间位置的误差。在该步骤二中,电子设备可以根据该任一图像帧和第二历史图像帧的相对关系,将那个上述匹配特征点从第二历史图像帧转换至该任一图像帧中,得到该任一特征点在该任一图像帧中的预测量。
具体地,电子设备可以根据该匹配特征点在第二历史图像帧的相机坐标系中的空间位置、该第二历史图像帧的相机位姿以及该任一图像帧相对于该第二历史图像帧的相对相机位姿,获取该任一特征点在该任一图像帧的相机坐标系中的预测空间位置。电子设备可以基于该任一特征点在该任一图像帧的相机坐标系中的预测空间位置,获取该任一特征点相对于该任一图像帧的相机位置的预测相对方向。
例如,假设该任一图像帧为图像帧j,特征点r为该图像帧j中的一个特征点,该特征点r对应的第二历史图像帧为图像帧i,该特征点r在第二历史图像帧中的匹配特征点为特征点q。图像帧j的相机位姿为Pj,图像帧i相对于图像帧j的相对相机位姿为Pi,上述步骤一中,已经得到该匹配特征点q的空间位置可以为那么该匹配特征点q在图像帧j相机坐标系下的坐标为该坐标也即是,该特征点r在图像帧j的相机坐标系下的预测空间位置。电子设备可以根据特征点r在该任一图像帧j的相机坐标系下的坐标,确定该特征点r相对于相机位置的预测相对方向,具体地,可以将该坐标为进行归一化处理,得到归一化后的方向p。其中,该相机位置即为该任一图像帧j的相机坐标系的原点位置。该方向p即为该任一图像帧j的相机中心到该特征点r的射线方向,也即是该特征点r相对于该任一图像帧的相机位置的预测相对方向。
步骤三、电子设备获取该任一特征点相对于该任一图像帧的相机位置的相对方向。
通过上述步骤一和步骤二,电子设备通过该任一特征点的匹配特征点的空间位置以及两个图像帧的相对关系,得到该任一特征点在该任一图像帧中的预测相对方向,则电子设备还可以获取该任一特征点在该任一图像帧中的真实相对方向,从而可以对比当前确定的该特征点的空间位置是否准确,与两个图像帧之间的相机位姿变化情况是否相符。
经过上述特征匹配过程,电子设备对该任一图像帧进行匹配后,即可得到该任一特征点的空间位置,该电子设备可以根据该任一特征点的空间位置,获取该任一特征点相对与该任一图像帧的相机位置的相对方向。
例如,假设该任一图像帧为图像帧j,特征点r为该图像帧j中的一个特征点,该特征点r对应的第二历史图像帧为图像帧i,该特征点r在第二历史图像帧中的匹配特征点为特征点q。对特征点r的坐标进行归一化处理,可以得到该特征点r相对于该任一图像帧j的相机中心的相对方向
需要说明的是,上述步骤一和步骤二为获取预测相对方向的过程,该步骤三为获取相对方向的过程,该两个过程可以同时进行,也可以先获取预测相对方向,再获取相对方向,也可以先获取相对方向,再获取预测相对方向,也即是,将步骤一和步骤二综合起来作为一个综合步骤,电子设备可以同时执行该综合步骤和步骤三,也可以先执行该综合步骤,再执行步骤三,也可以先执行步骤三,再执行综合步骤,本发明实施例对上述综合步骤和步骤三的执行时序不作限定。
步骤四、电子设备将该预测相对方向和该相对方向分别在与该相对方向垂直的平面内的投影位置之间的差距作为该任一特征点的误差。
电子设备在获取到该预测相对方向和相对方向后,既可以根据预测量和真实量,来对比得到该任一特征点的误差。具体地,在获取误差时,可以将该两个方向投影至同一个平面中,以获取两个投影位置之间的差距作为误差。在一种可能实现方式中,该投影平面可以为与相对方向垂直的平面,该平面可以为一个球面的切面,因而,可以称该误差为球面误差。
上述步骤一至步骤四中提供了一种特征点的误差的获取方式,使用深度来表示空间位置,可以减少内存消耗,提高了优化速度,也可以适用于多种相机,提高该优化过程的适应性。当然,该特征点的误差也可以采用重投影误差或其他误差,本发明实施例对此不作限定。
204、对于任一图像帧,电子设备获取该任一图像帧对应的多项位置差异信息,该多项位置差异信息用于表示该任一图像帧与该任一图像帧的前一个关键帧的匹配特征点的位置差异。
通过上述步骤一至步骤三,电子设备获取多个图像帧,并对该多个图像帧进行处理,可以得到每个图像帧的图像数据,例如,该图像数据可以为特征点的空间位置以及图像帧的相机位姿等数据,从而后续想要创建目标虚拟场景时,即可参考这些图像数据,得到该多个图像帧对应的目标虚拟场景。
电子设备可以从该多个图像帧中获取多个关键帧,该关键帧在该多个图像帧中比较具有代表性和关键性,电子设备可以从该多个图像帧中提取关键帧,获取到足够多的图像数据,以进行进一步处理,创建目标虚拟场景。
对于该多个图像帧,该电子设备可以将第一个图像帧作为关键帧,对于后面的任一图像帧(当前图像帧),电子设备可以获取当前图像帧与前一个关键帧的匹配特征点的多项位置差异信息,从而确定是否将该图像帧作为关键帧。
其中,该任一图像帧与该任一图像帧的前一个关键帧匹配的特征点的位置差异信息可以包括多种,也即是,该获取关键图像帧时可以考虑多种影响因素。下面提供了三种位置差异信息,该步骤204中的多项位置差异信息可以包括该三种位置差异信息至少两项。下面对该三种位置差异信息进行说明。
位置差异信息一:该任一图像帧和该前一个关键帧的匹配特征点的第一数量。
对于相邻的两个关键帧,需要该两个关键帧的匹配特征点较多,这样前后两个关键帧相机位置没有发生太大的变化,这样通过对该两个关键帧进行处理时,匹配特征点的位置差异小,可以精确地获知该相机位置的变化情况,以及该两个关键帧中相同的路标点的变化情况。反之,如果获取到的两个相邻关键帧的匹配特征点数量较少,匹配特征点的位置差异大,通过该两个关键帧则可能会定位失败,无法获知相机位置的变化情况,也即无法获取到准确性高的目标虚拟场景。因而,在判断是否要获取任一图像帧为关键帧时,可以考虑该位置差异信息一,在后续可以判断该位置差异信息一是否满足场景创建的准确性要求。
则该步骤204中,对于任一图像帧,电子设备可以获取该任一图像帧和该前一个关键帧的匹配特征点的第一数量,将该第一数量作为衡量场景创建的准确性的一项指标。
位置差异信息二:该任一图像帧和该前一个关键帧的匹配特征点的第一数量与第二数量的比值,该第二数量为该前一个关键帧的特征点的数量。
该位置差异信息还可以为匹配特征点的相对衰减率,该相对衰减率即为该任一图像帧和前一个关键帧的匹配特征点的第一数量与前一个关键帧的特征点的第二数量的比值。该比值较小时,匹配特征点的位置差异小,说明该两个图像帧相机位姿的变化不是很大,匹配特征点的空间位置并没有发生太大变化,反之,该比值较大时,匹配特征点的位置差异大,说明两个图像帧相机位姿变化很大,匹配特征点的空间位置发生了较大变化。
与上述位置差异信息一同理地,如果两个相邻的关键帧的该比值过大,则两个相邻的关键帧的匹配特征点的位置差异则可能会较大,通过该两个关键帧则可能会定位失败,无法获知相机位置的变化情况,也即无法获取到准确性高的目标虚拟场景。因而,在判断是否要获取任一图像帧为关键帧时,可以考虑该位置差异信息二,在后续可以判断该位置差异信息二是否满足场景创建的准确性要求。则该步骤204中,对于任一图像帧,电子设备可以获取该任一图像帧和该前一个关键帧的匹配特征点的第一数量与第二数量的比值,该第二数量为该前一个关键帧的特征点的数量。
位置差异信息三:该任一图像帧的分数,该分数基于该任一图像帧和该前一个关键帧的基线长度,以及该任一图像帧和该前一个关键帧的匹配特征点各自在两个图像帧中的分辨率确定。
对于任一图像帧,电子设备可以获取该任一图像帧的分数,来表征该任一图像帧是否适合作为关键帧,该分数越大,匹配特征点的可能位置差异越小,该任一图像帧则越适合作为关键帧。则该步骤204中,对于任一图像帧,电子设备可以获取该任一图像帧的分数。
考虑该图像帧的分数,也即是考虑图像帧与前一个关键帧的基线长度以及匹配特征点的分辨率的比例。可以理解地,该基线长度越大,该两个图像帧中相机位姿可能变化越大,匹配特征点的位置差异可能越大。该匹配特征点的分辨率越小,则该匹配特征点的代表性和使用该匹配特征点确定位置差异的意义越小。
在一种可能实现方式中,该每个图像帧的分数的确定过程可以为:对于任一图像帧与该前一个关键帧的至少一个匹配特征点中任一匹配特征点,电子设备获取该任一匹配特征点对应的该基线长度的正态分布值。电子设备获取各自在该两个图像帧中的分辨率中的最小值与该正态分布值的乘积。电子设备对该至少一个匹配特征点的该乘积进行加权求和,得到该任一图像帧的分数。
具体地,该基线长度和分辨率可以为计算得到的数值,也可以用其他参数来表征。在一个可能实施例中,该任一匹配特征点对应的该基线长度通过该任一匹配特征点在该任一图像帧中的投影位置与该任一匹配特征点的第一连线方向与第二连线方向所形成的夹角表征,该第二连线方向为该任一匹配特征点在该前一个关键帧中的投影位置与该任一匹配特征点的连线方向;该任一匹配特征点的分辨率通过该任一匹配特征点与该任一图像帧的相机位置之间的距离或与该前一个关键帧的相机位置之间的距离表征。
例如,该确定过程可以应用公式实现,该公式如下:
其中,f(Ci)是当前图像帧的分数,p是当前图像帧与前一个关键帧的匹配特征点p的空间位置,∠Ci-1pCi是该匹配特征点p与当前图像帧和前一个关键帧之间的夹角,该夹角大于或等于0,用于表征基线长度,d(p,Ci-1)是该匹配特征点p与前一个关键帧的相机位置Ci-1之间的距离,d(p,Ci)是该匹配特征点p与当前图像帧的相机位置Ci之间的距离,该距离大于或等于0,用于表征分辨率。g(x)是正态分布函数,e是自然常数,x是自变量,在上述f(Ci)的计算公式中,自变量x为∠Ci-1pCi。μ为自变量的均值,σ是标准差。∑是求和函数。
上述对三种位置差异信息进行了说明,电子设备可以获取该三种位置差异信息中至少两项作为多项位置差异信息,从而判断是否满足场景创建的准确性要求。需要说明的是,上述仅提供了三种位置差异信息,该多项位置差异信息还可以包括其他位置差异信息,上述关键帧的分数也可以通过其他方式确定,例如,该多项位置差异信息还可以包括该任一图像帧和前一个关键帧匹配的特征点各自在两个图像帧中得到的深度,本发明实施例对此不作限定。
205、当该多项位置差异信息中任一项满足场景创建的准确性要求时,电子设备将该任一图像帧获取为关键帧。
电子设备在获取到多项位置差异信息后,可以判断该多项位置差异信息中每一项是否满足场景创建的准确性要求,当任一项满足时,电子设备可以将该任一图像帧获取为关键帧。
在一种可能实现方式中,步骤204中可以考虑上述三种位置差异信息,也即是,该多项位置差异信息可以包括上述三项,相应地,该步骤205中,对于任一图像帧,电子设备可以判断上述三项,当任一项满足场景创建的准确性要求时,电子设备则可以将该任一图像帧获取为关键帧。当然,步骤204也可以考虑上述三种位置差异信息中的任两项,相应地,该步骤205中,在对任一图像帧进行判断时,也可以判断该两项是否满足场景创建的准确性要求,当任一项满足场景创建的准确性要求时,电子设备可以将该任一图像帧获取为关键帧。本发明实施例对具体采用哪几种位置差异信息不作限定,对该场景创建的准确性要求也不作限定。
在一个具体的实施例中,上述三种位置差异信息中每种位置差异信息可以对应有相应的场景创建的准确性要求,下面针对每种位置差异信息对应的场景创建的准确性要求进行说明。
对于位置差异信息一,可以为该任一图像帧和前一个关键帧的匹配特征点的第一数量设置一个数量阈值,该位置差异信息一满足场景创建的准确性要求可以为:该任一图像帧和前一个关键帧的匹配特征点的第一数量小于数量阈值。也即是,该步骤205可以为:当任一图像帧和前一个关键帧的匹配特征点的第一数量小于数量阈值时,电子设备将该任一图像帧获取为关键帧。该数量阈值可以由相关技术人员根据需求进行设置,本发明实施例对此不作限定。当第一数量已经小于数量阈值了,则说明需要添加关键帧了,否则再继续判断下一个图像帧,下一个图像帧与前一个关键帧的匹配特征点的第一数量会更小,匹配特征点的位置差异变大,可能会造成定位失败,目标失踪。
对于位置差异信息二,可以为该比值设置一个比值阈值,该位置差异信息二满足场景创建的准确性要求可以为:该任一图像帧和前一个关键帧的匹配特征点的第一数量与第二数量的比值大于比值阈值。也即是,该步骤205可以为:当获取该任一图像帧和该前一个关键帧的匹配特征点的第一数量与第二数量的比值大于比值阈值时,电子设备将该任一图像帧获取为关键帧。其中,该比值阈值可以由相关技术人员根据需求进行设置,本发明实施例对此不作限定。当前图像帧与前一个关键帧得到的该比值大于比值阈值,则说明需要添加关键帧了,否则再继续判断下一个图像帧,下一个图像帧对应的相对衰减率(比值)则会更大,匹配特征点的位置差异则会更大,可能会造成定位失败,目标失踪。
对于位置差异信息三,可以为该图像帧的分数设置有分数阈值,该位置差异信息三满足场景创建的准确性要求可以为:该任一图像帧的分数大于分数阈值。也即是,该步骤205可以为:当该任一图像帧的分数大于分数阈值时,电子设备将该任一图像帧获取为关键帧。其中,该分数阈值可以由相关技术人员根据需求进行设置,本发明实施例对此不作限定。
需要说明的是,上述对三种位置差异信息中每种位置差异信息满足场景创建的准确性要求进行了说明,如果步骤204中电子设备获取了其他位置差异信息,该步骤205中也可以包括该其他位置差异信息对应的场景创建的准确性要求的设定,本发明实施例对此不作限定。
206、对于获取到的多个关键帧中任一关键帧,电子设备基于该任一关键帧的特征点,以及包括该任一关键帧的特征点的其它关键帧,创建该任一关键帧对应的第一局部虚拟场景。
电子设备获取到多个关键帧后,则可以将该多个关键帧的图像数据作为创建目标虚拟场景的数据依据。电子设备可以先创建局部虚拟场景,再综合多个局部虚拟场景,得到整体的目标虚拟场景。该步骤206可以在每次获取到一个关键帧时执行,以创建本次获取的关键帧对应的第一局部虚拟场景,该步骤206也可以在获取到所有关键帧后执行,本发明实施例对此不作限定。
电子设备可以创建每个关键帧对应的第一局部虚拟场景时,对于任一个关键帧,该关键帧的特征点将作为创建第一局部虚拟场景的依据,包括这些特征点的其它关键帧可以作为与该关键帧有关联的关键帧,该其它关键帧中包括这些特征点,则可以说明该关键帧和该其它关键帧的相机位姿相差不大,可以认为该其它关键帧中的路标点即位于该关键帧中的路标点的附近。因而,可以利用该关键帧和该其它关键帧,来创建该关键帧对应的第一局部虚拟场景。
具体地,该第一局部虚拟场景可以包括第一局部虚拟地图和第一局部运动轨迹中至少一项。电子设备可以基于该任一关键帧和该其它关键帧的特征点的空间位置,获取第一局部虚拟地图中各个路标点的空间位置,得到该任一关键帧对应的第一局部虚拟地图。该第一局部虚拟场景中各个路标点的空间位置与特征点的空间位置对应。电子设备可以基于该任一关键帧以及该其它关键帧的相机位姿,获取采集该多个图像帧的设备的第一局部运动轨迹。该步骤206中具体获取哪种第一局部虚拟场景可以根据需求设置,本发明实施例对此不作限定。
207、电子设备对该任一关键帧和该其它关键帧的第一局部虚拟场景进行优化,得到该任一关键帧对应的第二局部虚拟场景。
电子设备在得到第一局部虚拟场景后,还可以对其进行优化,以得到更准确地第二局部虚拟场景。同理地,该第二局部虚拟场景可以包括第二局部虚拟地图和第二局部运动轨迹中至少一项。电子设备可以对第一局部虚拟地图和第一局部运动轨迹中至少一项进行优化,得到该任一关键帧对应的第二局部虚拟地图和第二局部运动轨迹中至少一项。
其中,在对该第一局部虚拟场景进行优化时,可以采用与上述步骤203中对单个图像帧进行优化同理的方式进行优化,不同的是,上述步骤203中为对单个图像帧进行优化,因而对当前图像帧的相机位姿进行优化即可。而该步骤207中,优化目标包括多个关键帧,也即是该任一关键帧和该其它关键帧,因而可以优化该任一关键帧和该其它关键帧的特征点的空间位置和相机位姿,从而提高第一局部虚拟场景的准确性。
具体地,该优化过程可以为:电子设备获取该任一关键帧和该其它关键帧的所有特征点的误差之和,每个特征点的误差用于指示该每个特征点的空间位置与基于第二历史图像帧预测得到的空间位置之间的差距,该基于第二历史图像帧预测得到的空间位置基于该每个特征点的匹配特征点的深度确定。电子设备基于该任一关键帧和该其它关键帧的所有特征点的误差之和,对该任一关键帧和该其它关键帧的相机位姿和所有特征点的深度进行调整,直至该误差之和满足目标条件时停止调整,得到该任一关键帧对应的第二局部虚拟场景。
其中,在获取任一特征点的误差的过程与步骤203中步骤一至步骤四所示的误差获取过程同理,本发明实施例在此不多做赘述。该步骤206和步骤207为获取局部信息的过程,该过程可以通过一个单独的线程实现,例如,可以基于第四线程,执行该步骤206和步骤207。
在一种可能实现方式中,该步骤207之后,电子设备还可以进行重定位检测,以检测该采集该多个图像帧的设备是否回到了历史经过的位置,该重定位检测也称为闭环检测。当根据多个连续的关键帧确定采集该多个图像帧的设备的位置与历史图像帧中该设备的位置之间的距离小于距离阈值时,电子设备可以将该多个连续的关键帧的特征点与该历史图像帧的特征点进行融合。具体地,该融合过程可以为:电子设备对该多个连续的关键帧和历史图像帧的匹配特征点的空间位置进行平均计算,得到该匹配特征点融合后的空间位置。在一个可能实施例中,电子设备可以基于第五线程,执行该重定位检测和融合的步骤,该第五线程与上述的四个线程也可以为不同的线程,也即是该重定位检测和融合过程可以通过单独的线程实现。
在一个可能实施例中,该重定位检测的过程还可以通过视觉词汇树实现,其中,该视觉词汇树可以基于上述步骤202中特征提取步骤和双目匹配步骤中得到的图像数据建立,在一种可能实现方式中,上述步骤203中的特征匹配中还可以基于该视觉词汇树实现,这样可以进一步加快特征匹配速度。
在一种可能实现方式中,进行了上述重定位融合后,上述多个连续的关键帧和历史图像帧的匹配特征点的空间位置进行了调整,那么根据调整后的匹配特征点确定多个关键帧的相机位姿则可能与前后图像帧的相对关系不符合,因而可以相应地对该多个关键帧的相机位姿进行修正,以使得目前获取到的多个关键帧的相机位姿更准确。
208、电子设备基于该多个关键帧对应的第二局部虚拟场景,创建该多个关键帧对应的初始虚拟场景。
电子设备在得到了准确的第二局部虚拟场景后,可以综合多个关键帧对应的第二局部虚拟场景,创建该多个关键帧对应的初始虚拟场景,该初始虚拟场景为步骤201中获取到的多个图像帧对应的全局虚拟场景。同理地,初始虚拟场景可以包括初始虚拟地图和初始运动轨迹中至少一项。
具体地,上述多个关键帧对应的多个第二局部虚拟场景所包含的数据基础可能包括同一特征点的空间位置或同一关键帧的相机位姿,且不同的第二局部虚拟场景中它们可能相同,也可能不同,因而,在创建初始虚拟场景时,还可以对上述第二局部虚拟场景进行综合处理。该过程还可以采用平均处理,也可以通过其他方式处理,本发明实施例对此不作限定。
209、电子设备对该多个关键帧的初始虚拟场景进行优化,得到目标虚拟场景。
同理地,在得到初始虚拟场景后,电子设备还需要综合所有图像数据进行整体优化,从而得到完整的、准确的目标虚拟场景。该目标虚拟场景可以包括目标虚拟地图和目标初始运动轨迹中至少一项。
该步骤209与上述步骤207以及步骤203中的优化过程同理,不同的是,该步骤209为对全部关键帧对应的初始虚拟场景进行优化,而上述步骤207中对部分关键帧对应的局部虚拟场景进行优化,步骤203中对单个图像帧对应的图像数据进行优化,且该步骤209和步骤207中对特征点的空间位置和相机位姿均调整,而步骤203中对单个图像帧的相机位姿进行优化。
具体地,该优化过程可以为:电子设备获取该多个关键帧的所有特征点的误差之和。电子设备基于该多个关键帧的所有特征点的误差之和,对该多个关键帧的相机位姿和所有特征点的深度进行调整,直至该误差之和满足目标条件时停止调整,得到该多个图像帧对应的目标虚拟场景。
其中,在获取任一特征点的误差的过程与步骤203中步骤一至步骤四所示的误差获取过程同理,本发明实施例在此不多做赘述。
该步骤208和步骤209为获取目标虚拟场景的过程,在一种可能实现方式中,该过程可以通过单独的线程实现,例如,该步骤208和步骤209可以基于第六线程实现,该第六线程与上述五个线程不是相同的线程。
需要说明的是,上述步骤206至步骤209为基于获取到的多个关键帧,创建目标虚拟场景的过程,在该过程中,电子设备可以执行下述步骤一和步骤二中至少一项:
步骤一、电子设备基于获取到的多个关键帧的特征点的空间位置,获取目标虚拟场景中各个路标点的空间位置,得到目标虚拟地图。
步骤二、电子设备基于获取到的多个关键帧的相机位姿,获取采集该多个图像帧的设备的目标运动轨迹。具体地,电子设备可以基于获取到的多个关键帧的相机位姿,获取采集该多个图像帧的设备在采集每个关键帧的时刻的位置,从而基于该多个关键帧,则可以获取该设备的目标运动轨迹。
例如,电子设备获取到多个图像帧,对该多个图像帧进行处理,提取了多个关键帧,基于多个关键帧创建目标虚拟场景。以该图像处理方法应用于自动驾驶领域为例,该多个图像帧可以由安装于车辆上的图像采集设备采集得到,该图像采集设备将采集到的多个图像帧发送至具有图像处理功能的电子设备,该电子设备可以对该多个图像帧进行上述处理过程,以创建目标虚拟地图,也可以对该车辆进行定位,得到目标运动轨迹,还可以既创建目标虚拟地图,也获取目标运动轨迹。以既获取车辆的目标运动轨迹,又创建该车辆行驶路径周围的目标虚拟地图为例,如图6所示,该步骤208中可以得到车辆的运动轨迹以及稀疏点云地图,图6中示出了四个具体的运动轨迹和稀疏点云地图。当然,该步骤208也可以仅输出车辆的运动轨迹,也可以仅输出该稀疏点云地图。其中,该车辆的运动轨迹即为目标运动轨迹,该稀疏点云地图即为目标虚拟地图。该运动轨迹和稀疏点云地图即为目标虚拟场景。
下面通过一个具体示例对该图像处理方法的具体流程进行说明,如图7所示,该电子设备可以通过六个单独的线程实现上述图像处理方法,当获取到新的一帧图像(图像帧)时,电子设备可以通过线程一,对该图像帧进行特征点提取,也即是上述步骤201和步骤202,如果相机为双目相机,电子设备可以通过线程二进行双目匹配,对应于上述步骤201中的双目匹配过程。
在进行了上述特征提取和双目匹配的过程之后,电子设备可以执行姿态初始估计步骤,也即是,预测相机位姿,然后基于预测的相机位姿的指导,进行特征点匹配,对应于步骤203,匹配后,电子设备可以进行单帧姿态优化,也即是对单个图像帧的相机位姿进行优化,并基于优化后的数据,确定该图像帧是否作为关键帧,该过程即为关键帧选择过程,对应于步骤204和步骤205。该姿态初始估计、基于指导的特征点匹配、单帧姿态优化和关键帧选择过程可以基于线程三实现。
电子设备可以基于线程四,进行局部场景创建,并对创建的局部场景进行优化,需要说明的是,局部场景相对于实时地图创建与定位系统中常用的滑动窗来说,可以自适应地调整局部问题大小,兼顾效率与准确性。
在该局部场景优化步骤之后,电子设备可以基于视觉词汇树进行重定位检测和重定位融合步骤,也即是上述步骤207所示内容,该重定位检测和融合过程可以基于线程五实现,电子设备可以基于线程六,再对所有的关键帧进行优化,也即是,对全局场景优化,得到最终的目标虚拟场景。
上述图像处理方法中,在特征匹配之前对相机位姿的估计过程,关键帧选取算法准确性更好,均可以增加该图像处理方法的稳健性。模块设计更细致,将特征提取和双目匹配的过程独立,通过单独的线程实现,提高了该图像处理的速度和效率,可以有效提高该图像处理的实时性,且便于扩展其他传感器,图像处理方法的应用性更好。
如图8所示,该图像处理方法可以由前端传感器采集视频或连续图像,并发送至后端,后端可以对视频或连续图像进行上述图像处理流程,得到相机位姿(运动轨迹)和地图中至少一项,可以用于前端浏览器显示,或用于后端自动驾驶控制,或用于游戏电影行业饿的虚拟场景创建等,本发明实施例对该图像处理方法的应用场景不作限定。
上述步骤209中得到的目标虚拟场景为以目标坐标系下的数据,该目标坐标系为以第一个图像帧中该采集图像帧的设备的位置为原点位置的坐标系,如果需要获取世界坐标系下的目标虚拟场景,或者需要获取某个特定坐标系下的目标虚拟场景,则可以基于该世界坐标系或特定坐标系与该目标坐标系的关系,对上述目标虚拟场景进行转换。该转换过程可以由相关技术人员根据需求进行设置,本发明实施例对此不作限定。
本发明实施例中在多个图像帧中获取关键帧时,在判断是否将任一图像帧获取为关键帧时,考虑到了该任一图像帧与该任一图像帧之前的前一个关键帧匹配的特征点的多项位置差异信息,在任一项满足场景创建的准确性要求时即将该任一图像帧获取为关键帧,以获取到足够的关键帧,可以避免出现对采集图像帧的设备或路标点定位失败导致创建的虚拟场景不准确的问题,因而,本发明实施例提供的图像处理方法得到的目标虚拟场景的准确性好。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
图9是本发明实施例提供的一种图像处理装置的结构示意图,参见图9,该装置包括:
图像获取模块901,用于获取多个图像帧;
信息获取模块902,用于对于任一图像帧,获取该任一图像帧对应的多项位置差异信息,该多项位置差异信息用于表示该任一图像帧与该任一图像帧的前一个关键帧的匹配特征点的位置差异;
该图像获取模块901,还用于当该多项位置差异信息中任一项满足场景创建的准确性要求时,将该任一图像帧获取为关键帧;
场景创建模块903,用于基于获取到的多个关键帧,创建目标虚拟场景,该目标虚拟场景用于表示该多个图像帧所对应的场景。
在一种可能实现方式中,该信息获取模块902用于执行下述至少两项:
对于任一图像帧,获取该任一图像帧和该前一个关键帧的匹配特征点的第一数量;
对于任一图像帧,获取该任一图像帧和该前一个关键帧的匹配特征点的第一数量与第二数量的比值,该第二数量为该前一个关键帧的特征点的数量;
对于任一图像帧,获取该任一图像帧的分数,该分数基于该任一图像帧和该前一个关键帧的基线长度,以及该任一图像帧和该前一个关键帧的匹配特征点各自在两个图像帧中的分辨率确定。
在一种可能实现方式中,该装置还包括确定模块,该确定模块用于:对于该任一图像帧与该前一个关键帧的至少一个匹配特征点中任一匹配特征点,获取该任一匹配特征点对应的该基线长度的正态分布值;获取各自在该两个图像帧中的分辨率中的最小值与该正态分布值的乘积;对该至少一个匹配特征点的该乘积进行加权求和,得到该任一图像帧的分数。
在一种可能实现方式中,该图像获取模块901,还用于执行下述任一项:
当该任一图像帧和前一个关键帧匹配的特征点的第一数量小于数量阈值时,将该任一图像帧获取为关键帧;
当获取该任一图像帧和该前一个关键帧的匹配特征点的第一数量与第二数量的比值大于比值阈值时,将该任一图像帧获取为关键帧;
当该任一图像帧的分数大于分数阈值时,将该任一图像帧获取为关键帧。
在一种可能实现方式中,该装置还包括:
特征提取模块,用于对该多个图像帧进行特征提取,得到每个图像帧的特征点;
特征匹配模块,用于对每个图像帧的特征点与该每个图像帧的前一个图像帧的特征点进行匹配。
在一种可能实现方式中,该特征提取模块和该特征匹配模块还用于采用不同的线程分别对图像帧进行特征提取和对图像帧提取到的特征点进行匹配。
在一种可能实现方式中,该装置还包括双目匹配模块,该双目匹配模块用于当采集该多个图像帧的相机为双目相机时,通过单独的线程,对该双目相机中第一相机和第二相机分别采集到的两个图像帧的特征点进行匹配。
在一种可能实现方式中,该特征匹配模块用于:对于每个图像帧,根据该每个图像帧之前的第一历史图像帧的相机位姿,预测该每个图像帧的相机位姿;根据该每个图像帧的相机位姿,对每个图像帧的特征点与该每个图像帧的前一个图像帧的特征点进行匹配,得到该每个图像帧的特征点的空间位置。
在一种可能实现方式中,该装置还包括优化模块,该优化模块用于:获取该每个图像帧的所有特征点的误差之和,每个特征点的误差用于指示该每个特征点的空间位置与基于第二历史图像帧预测得到的空间位置之间的差距,该基于第二历史图像帧预测得到的空间位置基于该每个特征点的匹配特征点的深度确定;基于该每个图像帧的所有特征点的误差之和,对该每个图像帧的相机位姿进行调整,直至该误差之和满足目标条件时停止调整,得到优化后的该每个图像帧的相机位姿。
在一种可能实现方式中,该场景创建模块903用于:对于获取到的多个关键帧中任一关键帧,基于该任一关键帧的特征点,以及包括该任一关键帧的特征点的其它关键帧,创建该任一关键帧对应的第一局部虚拟场景;对该任一关键帧和该其它关键帧的第一局部虚拟场景进行优化,得到该任一关键帧对应的第二局部虚拟场景;基于该多个关键帧对应的第二局部虚拟场景,创建该多个关键帧对应的初始虚拟场景;对该多个关键帧的初始虚拟场景进行优化,得到该多个图像帧对应的目标虚拟场景。
在一种可能实现方式中,该场景创建模块903用于:获取该任一关键帧和该其它关键帧的所有特征点的误差之和,每个特征点的误差用于指示该每个特征点的空间位置与基于第二历史图像帧预测得到的空间位置之间的差距,该基于第二历史图像帧预测得到的空间位置基于该每个特征点的匹配特征点的深度确定;基于该任一关键帧和该其它关键帧的所有特征点的误差之和,对该任一关键帧和该其它关键帧的相机位姿和所有特征点的深度进行调整,直至该误差之和满足目标条件时停止调整,得到该任一关键帧对应的第二局部虚拟场景;
该场景创建模块903用于:获取该多个关键帧的所有特征点的误差之和;基于该多个关键帧的所有特征点的误差之和,对该多个关键帧的相机位姿和所有特征点的深度进行调整,直至该误差之和满足目标条件时停止调整,得到该多个图像帧对应的目标虚拟场景。
在一种可能实现方式中,该场景创建模块903用于:对于任一图像帧的任一特征点,根据该任一特征点在该第二历史图像帧中的匹配特征点的深度,获取该匹配特征点在第二历史图像帧的相机坐标系中的空间位置,该第二历史图像帧为特征点与该任一特征点匹配的多个图像帧中第一个图像帧;根据该匹配特征点在第二历史图像帧的相机坐标系中的空间位置、该第二历史图像帧的相机位姿,以及该任一图像帧相对于该第二历史图像帧的相对相机位姿,获取该任一特征点相对于该任一图像帧的相机位置的预测相对方向;获取该任一特征点相对于该任一图像帧的相机位置的相对方向;将该预测相对方向和该相对方向分别在与该相对方向垂直的平面内的投影位置之间的差距作为该任一特征点的误差。
在一种可能实现方式中,该场景创建模块903用于执行下述至少一项:
基于获取到的多个关键帧的特征点的空间位置,获取目标虚拟场景中各个路标点的空间位置,得到目标虚拟地图;
基于获取到的多个关键帧的相机位姿,获取采集该多个图像帧的设备的目标运动轨迹。
本发明实施例提供的装置,在多个图像帧中获取关键帧时,在判断是否将任一图像帧获取为关键帧时,考虑到了该任一图像帧与该任一图像帧之前的前一个关键帧匹配的特征点的多项位置差异信息,在任一项满足场景创建的准确性要求时即将该任一图像帧获取为关键帧,以获取到足够的关键帧,可以避免出现对采集图像帧的设备或路标点定位失败导致创建的虚拟场景不准确的问题,因而,本发明实施例提供的图像处理方法得到的目标虚拟场景的准确性好。
需要说明的是:上述实施例提供的图像处理装置在对图像进行处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将电子设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的图像处理装置与图像处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述电子设备可以被提供为下述图10所示的终端,也可以被提供为下述图11所示的服务器,本发明实施例对此不作限定。
图10是本发明实施例提供的一种终端的结构示意图。该终端1000可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1000还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1000包括有:处理器1001和存储器1002。
处理器1001可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1001可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1001也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1001可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1001还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1002可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1002还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1002中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1001所执行以实现本发明中方法实施例提供的图像处理方法。
在一些实施例中,终端1000还可选包括有:外围设备接口1003和至少一个外围设备。处理器1001、存储器1002和外围设备接口1003之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1003相连。具体地,外围设备包括:射频电路1004、触摸显示屏1005、摄像头1006、音频电路1007、定位组件1008和电源1009中的至少一种。
外围设备接口1003可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1001和存储器1002。在一些实施例中,处理器1001、存储器1002和外围设备接口1003被集成在同一芯片或电路板上;在一些其他实施例中,处理器1001、存储器1002和外围设备接口1003中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1004用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1004通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1004将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1004包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1004可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1004还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本发明对此不加以限定。
显示屏1005用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1005是触摸显示屏时,显示屏1005还具有采集在显示屏1005的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1001进行处理。此时,显示屏1005还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1005可以为一个,设置终端1000的前面板;在另一些实施例中,显示屏1005可以为至少两个,分别设置在终端1000的不同表面或呈折叠设计;在再一些实施例中,显示屏1005可以是柔性显示屏,设置在终端1000的弯曲表面上或折叠面上。甚至,显示屏1005还可以设置成非矩形的不规则图形,也即异形屏。显示屏1005可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1006用于采集图像或视频。可选地,摄像头组件1006包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1006还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1007可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1001进行处理,或者输入至射频电路1004以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1000的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1001或射频电路1004的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1007还可以包括耳机插孔。
定位组件1008用于定位终端1000的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。
电源1009用于为终端1000中的各个组件进行供电。电源1009可以是交流电、直流电、一次性电池或可充电电池。当电源1009包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1000还包括有一个或多个传感器1010。该一个或多个传感器1010包括但不限于:加速度传感器1011、陀螺仪传感器1012、压力传感器1013、光学传感器1015以及接近传感器1016。
加速度传感器1011可以检测以终端1000建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1011可以用于检测重力加速度在三个坐标轴上的分量。处理器1001可以根据加速度传感器1011采集的重力加速度信号,控制触摸显示屏1005以横向视图或纵向视图进行用户界面的显示。加速度传感器1011还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1012可以检测终端1000的机体方向及转动角度,陀螺仪传感器1012可以与加速度传感器1011协同采集用户对终端1000的3D动作。处理器1001根据陀螺仪传感器1012采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1013可以设置在终端1000的侧边框和/或触摸显示屏1005的下层。当压力传感器1013设置在终端1000的侧边框时,可以检测用户对终端1000的握持信号,由处理器1001根据压力传感器1013采集的握持信号进行左右手识别或快捷操作。当压力传感器1013设置在触摸显示屏1005的下层时,由处理器1001根据用户对触摸显示屏1005的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
光学传感器1015用于采集环境光强度。在一个实施例中,处理器1001可以根据光学传感器1015采集的环境光强度,控制触摸显示屏1005的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1005的显示亮度;当环境光强度较低时,调低触摸显示屏1005的显示亮度。在另一个实施例中,处理器1001还可以根据光学传感器1015采集的环境光强度,动态调整摄像头组件1006的拍摄参数。
接近传感器1016,也称距离传感器,通常设置在终端1000的前面板。接近传感器1016用于采集用户与终端1000的正面之间的距离。在一个实施例中,当接近传感器1016检测到用户与终端1000的正面之间的距离逐渐变小时,由处理器1001控制触摸显示屏1005从亮屏状态切换为息屏状态;当接近传感器1016检测到用户与终端1000的正面之间的距离逐渐变大时,由处理器1001控制触摸显示屏1005从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图10中示出的结构并不构成对终端1000的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图11是本发明实施例提供的一种服务器的结构示意图,该服务器1100可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(central processing units,CPU)1101和一个或多个的存储器1102,其中,该存储器1102中存储有至少一条指令,该至少一条指令由该处理器1101加载并执行以实现上述各个方法实施例提供的图像处理方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由处理器执行以完成上述实施例中的图像处理方法。例如,该计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。上述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (20)
1.一种图像处理方法,其特征在于,所述方法包括:
获取多个图像帧;
对于任一图像帧与所述任一图像帧的前一个关键帧的至少一个匹配特征点中任一匹配特征点,获取所述任一匹配特征点对应的基线长度的正态分布值;获取所述任一图像帧和所述前一个关键帧的匹配特征点各自在所述两个图像帧中的分辨率中的最小值与所述正态分布值的乘积;对所述至少一个匹配特征点的所述乘积进行加权求和,获取所述任一图像帧的分数;
当所述任一图像帧的分数大于分数阈值时,将所述任一图像帧获取为关键帧;
基于获取到的多个关键帧,创建目标虚拟场景,所述目标虚拟场景用于表示所述多个图像帧所对应的场景。
2.根据权利要求1所述的方法,其特征在于,所述获取多个图像帧之后,所述方法还包括:
对所述多个图像帧进行特征提取,得到每个图像帧的特征点;
对每个图像帧的特征点与所述每个图像帧的前一个图像帧的特征点进行匹配。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
采用不同的线程分别对图像帧进行特征提取和对图像帧提取到的特征点进行匹配。
4.根据权利要求3所述的方法,其特征在于,所述对所述多个图像帧进行特征提取,得到每个图像帧的特征点之后,所述方法还包括:
当采集所述多个图像帧的相机为双目相机时,通过单独的线程,对所述双目相机中第一相机和第二相机分别采集到的两个图像帧的特征点进行匹配。
5.根据权利要求2所述的方法,其特征在于,所述对每个图像帧的特征点与所述每个图像帧的前一个图像帧的特征点进行匹配,包括:
对于每个图像帧,根据所述每个图像帧之前的第一历史图像帧的相机位姿,预测所述每个图像帧的相机位姿;
根据所述每个图像帧的相机位姿,对每个图像帧的特征点与所述每个图像帧的前一个图像帧的特征点进行匹配,得到所述每个图像帧的特征点的空间位置。
6.根据权利要求5所述的方法,其特征在于,所述根据所述每个图像帧的相机位姿,对每个图像帧的特征点与所述每个图像帧的前一个图像帧的特征点进行匹配,得到所述每个图像帧的特征点的空间位置之后,所述方法还包括:
获取所述每个图像帧的所有特征点的误差之和,每个特征点的误差用于指示所述每个特征点的空间位置与基于第二历史图像帧预测得到的空间位置之间的差距,所述基于第二历史图像帧预测得到的空间位置基于所述每个特征点的匹配特征点的深度确定;
基于所述每个图像帧的所有特征点的误差之和,对所述每个图像帧的相机位姿进行调整,直至所述误差之和满足目标条件时停止调整,得到优化后的所述每个图像帧的相机位姿。
7.根据权利要求1所述的方法,其特征在于,所述基于获取到的多个关键帧,创建目标虚拟场景,包括:
对于获取到的多个关键帧中任一关键帧,基于所述任一关键帧的特征点,以及包括所述任一关键帧的特征点的其它关键帧,创建所述任一关键帧对应的第一局部虚拟场景;
对所述任一关键帧和所述其它关键帧的第一局部虚拟场景进行优化,得到所述任一关键帧对应的第二局部虚拟场景;
基于所述多个关键帧对应的第二局部虚拟场景,创建所述多个关键帧对应的初始虚拟场景;
对所述多个关键帧的初始虚拟场景进行优化,得到所述多个图像帧对应的目标虚拟场景。
8.根据权利要求7所述的方法,其特征在于,所述对所述任一关键帧和所述其它关键帧的第一局部虚拟场景进行优化,得到所述任一关键帧对应的第二局部虚拟场景,包括:
获取所述任一关键帧和所述其它关键帧的所有特征点的误差之和,每个特征点的误差用于指示所述每个特征点的空间位置与基于第二历史图像帧预测得到的空间位置之间的差距,所述基于第二历史图像帧预测得到的空间位置基于所述每个特征点的匹配特征点的深度确定;
基于所述任一关键帧和所述其它关键帧的所有特征点的误差之和,对所述任一关键帧和所述其它关键帧的相机位姿和所有特征点的深度进行调整,直至所述误差之和满足目标条件时停止调整,得到所述任一关键帧对应的第二局部虚拟场景;
所述对所述多个关键帧的初始虚拟场景进行优化,得到所述多个图像帧对应的目标虚拟场景,包括:
获取所述多个关键帧的所有特征点的误差之和;
基于所述多个关键帧的所有特征点的误差之和,对所述多个关键帧的相机位姿和所有特征点的深度进行调整,直至所述误差之和满足目标条件时停止调整,得到所述多个图像帧对应的目标虚拟场景。
9.根据权利要求1所述的方法,其特征在于,所述基于获取到的多个关键帧,创建目标虚拟场景,包括下述至少一项:
基于获取到的多个关键帧的特征点的空间位置,获取目标虚拟场景中各个路标点的空间位置,得到目标虚拟地图;
基于获取到的多个关键帧的相机位姿,获取采集所述多个图像帧的设备的目标运动轨迹。
10.一种图像处理装置,其特征在于,所述装置包括:
图像获取模块,用于获取多个图像帧;
信息获取模块,用于对于任一图像帧与所述任一图像帧的前一个关键帧的至少一个匹配特征点中任一匹配特征点,获取所述任一匹配特征点对应的基线长度的正态分布值;获取所述任一图像帧和所述前一个关键帧的匹配特征点各自在所述两个图像帧中的分辨率中的最小值与所述正态分布值的乘积;对所述至少一个匹配特征点的所述乘积进行加权求和,获取所述任一图像帧的分数;
所述图像获取模块,还用于当所述任一图像帧的分数大于分数阈值时,将所述任一图像帧获取为关键帧;
场景创建模块,用于基于获取到的多个关键帧,创建目标虚拟场景,所述目标虚拟场景用于表示所述多个图像帧所对应的场景。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
特征提取模块,用于对所述多个图像帧进行特征提取,得到每个图像帧的特征点;
特征匹配模块,用于对每个图像帧的特征点与所述每个图像帧的前一个图像帧的特征点进行匹配。
12.根据权利要求11所述的装置,其特征在于,所述特征提取模块和所述特征匹配模块还用于采用不同的线程分别对图像帧进行特征提取和对图像帧提取到的特征点进行匹配。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括双目匹配模块,所述双目匹配模块用于:
当采集所述多个图像帧的相机为双目相机时,通过单独的线程,对所述双目相机中第一相机和第二相机分别采集到的两个图像帧的特征点进行匹配。
14.根据权利要求11所述的装置,其特征在于,所述特征匹配模块用于:
对于每个图像帧,根据所述每个图像帧之前的第一历史图像帧的相机位姿,预测所述每个图像帧的相机位姿;
根据所述每个图像帧的相机位姿,对每个图像帧的特征点与所述每个图像帧的前一个图像帧的特征点进行匹配,得到所述每个图像帧的特征点的空间位置。
15.根据权利要求14所述的装置,其特征在于,所述装置还包括优化模块,所述优化模块用于:
获取所述每个图像帧的所有特征点的误差之和,每个特征点的误差用于指示所述每个特征点的空间位置与基于第二历史图像帧预测得到的空间位置之间的差距,所述基于第二历史图像帧预测得到的空间位置基于所述每个特征点的匹配特征点的深度确定;
基于所述每个图像帧的所有特征点的误差之和,对所述每个图像帧的相机位姿进行调整,直至所述误差之和满足目标条件时停止调整,得到优化后的所述每个图像帧的相机位姿。
16.根据权利要求10所述的装置,其特征在于,所述场景创建模块用于:
对于获取到的多个关键帧中任一关键帧,基于所述任一关键帧的特征点,以及包括所述任一关键帧的特征点的其它关键帧,创建所述任一关键帧对应的第一局部虚拟场景;
对所述任一关键帧和所述其它关键帧的第一局部虚拟场景进行优化,得到所述任一关键帧对应的第二局部虚拟场景;
基于所述多个关键帧对应的第二局部虚拟场景,创建所述多个关键帧对应的初始虚拟场景;
对所述多个关键帧的初始虚拟场景进行优化,得到所述多个图像帧对应的目标虚拟场景。
17.根据权利要求16所述的装置,其特征在于,所述场景创建模块用于:
获取所述任一关键帧和所述其它关键帧的所有特征点的误差之和,每个特征点的误差用于指示所述每个特征点的空间位置与基于第二历史图像帧预测得到的空间位置之间的差距,所述基于第二历史图像帧预测得到的空间位置基于所述每个特征点的匹配特征点的深度确定;
基于所述任一关键帧和所述其它关键帧的所有特征点的误差之和,对所述任一关键帧和所述其它关键帧的相机位姿和所有特征点的深度进行调整,直至所述误差之和满足目标条件时停止调整,得到所述任一关键帧对应的第二局部虚拟场景;
所述对所述多个关键帧的初始虚拟场景进行优化,得到所述多个图像帧对应的目标虚拟场景,包括:
获取所述多个关键帧的所有特征点的误差之和;
基于所述多个关键帧的所有特征点的误差之和,对所述多个关键帧的相机位姿和所有特征点的深度进行调整,直至所述误差之和满足目标条件时停止调整,得到所述多个图像帧对应的目标虚拟场景。
18.根据权利要求10所述的装置,其特征在于,所述场景创建模块用于执行下述至少一项:
基于获取到的多个关键帧的特征点的空间位置,获取目标虚拟场景中各个路标点的空间位置,得到目标虚拟地图;
基于获取到的多个关键帧的相机位姿,获取采集所述多个图像帧的设备的目标运动轨迹。
19.一种电子设备,其特征在于,所述电子设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条指令,所述指令由所述一个或多个处理器加载并执行以实现如权利要求1至权利要求9任一项所述的图像处理方法所执行的操作。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1至权利要求9任一项所述的图像处理方法所执行的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910209109.9A CN109947886B (zh) | 2019-03-19 | 2019-03-19 | 图像处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910209109.9A CN109947886B (zh) | 2019-03-19 | 2019-03-19 | 图像处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109947886A CN109947886A (zh) | 2019-06-28 |
CN109947886B true CN109947886B (zh) | 2023-01-10 |
Family
ID=67010251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910209109.9A Active CN109947886B (zh) | 2019-03-19 | 2019-03-19 | 图像处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109947886B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110561416B (zh) * | 2019-08-01 | 2021-03-02 | 深圳市银星智能科技股份有限公司 | 一种激光雷达重定位方法及机器人 |
CN110648397B (zh) * | 2019-09-18 | 2023-05-16 | Oppo广东移动通信有限公司 | 场景地图生成方法、装置、存储介质及电子设备 |
CN111104927B (zh) * | 2019-12-31 | 2024-03-22 | 维沃移动通信有限公司 | 一种目标人物的信息获取方法及电子设备 |
CN111325842B (zh) * | 2020-03-04 | 2023-07-28 | Oppo广东移动通信有限公司 | 地图构建方法、重定位方法及装置、存储介质和电子设备 |
CN113436309A (zh) * | 2020-03-23 | 2021-09-24 | 南京科沃斯机器人技术有限公司 | 一种场景重建方法、系统、装置及扫地机器人 |
CN112771577A (zh) * | 2020-05-28 | 2021-05-07 | 深圳市大疆创新科技有限公司 | 相机参数确定方法、装置和可读存储介质 |
CN111739127B (zh) * | 2020-06-09 | 2024-08-02 | 广联达科技股份有限公司 | 一种机械联动过程中关联运动的模拟方法和模拟装置 |
CN111723820A (zh) * | 2020-06-10 | 2020-09-29 | 中天智导科技有限公司 | 一种图像处理方法及装置 |
CN111491180B (zh) * | 2020-06-24 | 2021-07-09 | 腾讯科技(深圳)有限公司 | 关键帧的确定方法和装置 |
CN112132940A (zh) * | 2020-09-16 | 2020-12-25 | 北京市商汤科技开发有限公司 | 显示方法、装置,显示设备及存储介质 |
CN112288816B (zh) * | 2020-11-16 | 2024-05-17 | Oppo广东移动通信有限公司 | 位姿优化方法、位姿优化装置、存储介质与电子设备 |
CN112492230B (zh) * | 2020-11-26 | 2023-03-24 | 北京字跳网络技术有限公司 | 视频处理方法、装置、可读介质及电子设备 |
CN112446845B (zh) * | 2020-11-27 | 2024-12-10 | 鹏城实验室 | 地图构建方法、装置、slam系统以及存储介质 |
CN113190120B (zh) * | 2021-05-11 | 2022-06-24 | 浙江商汤科技开发有限公司 | 位姿获取方法、装置、电子设备及存储介质 |
CN114494954B (zh) * | 2022-01-18 | 2025-05-06 | 北京达佳互联信息技术有限公司 | 视频识别方法、装置、电子设备和存储介质 |
CN114639034A (zh) * | 2022-01-28 | 2022-06-17 | 深圳市大富网络技术有限公司 | 一种基于关键帧的视频生成方法、系统、装置及存储介质 |
CN115930989A (zh) * | 2022-12-08 | 2023-04-07 | 北京集度科技有限公司 | 视觉里程计、车辆及定位方法 |
CN116258769B (zh) * | 2023-05-06 | 2023-07-25 | 亿咖通(湖北)技术有限公司 | 一种定位校验方法、装置、电子设备和存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102867288A (zh) * | 2011-07-07 | 2013-01-09 | 三星电子株式会社 | 深度图像转换设备和方法 |
CN105940674A (zh) * | 2014-12-31 | 2016-09-14 | 深圳市大疆创新科技有限公司 | 用于调整具有微镜头阵列的成像系统的基线的系统和方法 |
CN106062849A (zh) * | 2014-02-24 | 2016-10-26 | 日产自动车株式会社 | 自己位置计算装置及自己位置计算方法 |
CN107004275A (zh) * | 2014-11-21 | 2017-08-01 | Metaio有限公司 | 用于确定实物的至少一部分的处于绝对空间比例的3d重构件的空间坐标的方法和系统 |
CN107084710A (zh) * | 2014-05-05 | 2017-08-22 | 赫克斯冈技术中心 | 相机模块和测量子系统 |
CN107301402A (zh) * | 2017-06-30 | 2017-10-27 | 锐捷网络股份有限公司 | 一种现实场景关键帧的确定方法、装置、介质及设备 |
CN107369183A (zh) * | 2017-07-17 | 2017-11-21 | 广东工业大学 | 面向mar的基于图优化slam的跟踪注册方法及系统 |
CN107527366A (zh) * | 2017-08-23 | 2017-12-29 | 上海视智电子科技有限公司 | 一种面向深度相机的相机跟踪方法 |
CN108615247A (zh) * | 2018-04-27 | 2018-10-02 | 深圳市腾讯计算机系统有限公司 | 相机姿态追踪过程的重定位方法、装置、设备及存储介质 |
CN108648270A (zh) * | 2018-05-12 | 2018-10-12 | 西北工业大学 | 基于eg-slam的无人机实时三维场景重建方法 |
CN108780577A (zh) * | 2017-11-30 | 2018-11-09 | 深圳市大疆创新科技有限公司 | 图像处理方法和设备 |
CN108898630A (zh) * | 2018-06-27 | 2018-11-27 | 清华-伯克利深圳学院筹备办公室 | 一种三维重建方法、装置、设备和存储介质 |
CN109211277A (zh) * | 2018-10-31 | 2019-01-15 | 北京旷视科技有限公司 | 视觉惯性里程计的状态确定方法、装置和电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090010507A1 (en) * | 2007-07-02 | 2009-01-08 | Zheng Jason Geng | System and method for generating a 3d model of anatomical structure using a plurality of 2d images |
-
2019
- 2019-03-19 CN CN201910209109.9A patent/CN109947886B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102867288A (zh) * | 2011-07-07 | 2013-01-09 | 三星电子株式会社 | 深度图像转换设备和方法 |
CN106062849A (zh) * | 2014-02-24 | 2016-10-26 | 日产自动车株式会社 | 自己位置计算装置及自己位置计算方法 |
CN107084710A (zh) * | 2014-05-05 | 2017-08-22 | 赫克斯冈技术中心 | 相机模块和测量子系统 |
CN107004275A (zh) * | 2014-11-21 | 2017-08-01 | Metaio有限公司 | 用于确定实物的至少一部分的处于绝对空间比例的3d重构件的空间坐标的方法和系统 |
CN105940674A (zh) * | 2014-12-31 | 2016-09-14 | 深圳市大疆创新科技有限公司 | 用于调整具有微镜头阵列的成像系统的基线的系统和方法 |
CN107301402A (zh) * | 2017-06-30 | 2017-10-27 | 锐捷网络股份有限公司 | 一种现实场景关键帧的确定方法、装置、介质及设备 |
CN107369183A (zh) * | 2017-07-17 | 2017-11-21 | 广东工业大学 | 面向mar的基于图优化slam的跟踪注册方法及系统 |
CN107527366A (zh) * | 2017-08-23 | 2017-12-29 | 上海视智电子科技有限公司 | 一种面向深度相机的相机跟踪方法 |
CN108780577A (zh) * | 2017-11-30 | 2018-11-09 | 深圳市大疆创新科技有限公司 | 图像处理方法和设备 |
CN108615247A (zh) * | 2018-04-27 | 2018-10-02 | 深圳市腾讯计算机系统有限公司 | 相机姿态追踪过程的重定位方法、装置、设备及存储介质 |
CN108648270A (zh) * | 2018-05-12 | 2018-10-12 | 西北工业大学 | 基于eg-slam的无人机实时三维场景重建方法 |
CN108898630A (zh) * | 2018-06-27 | 2018-11-27 | 清华-伯克利深圳学院筹备办公室 | 一种三维重建方法、装置、设备和存储介质 |
CN109211277A (zh) * | 2018-10-31 | 2019-01-15 | 北京旷视科技有限公司 | 视觉惯性里程计的状态确定方法、装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109947886A (zh) | 2019-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109947886B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
US11205282B2 (en) | Relocalization method and apparatus in camera pose tracking process and storage medium | |
US11158083B2 (en) | Position and attitude determining method and apparatus, smart device, and storage medium | |
EP3813014B1 (en) | Camera localization method, terminal and storage medium | |
CN108615248B (zh) | 相机姿态追踪过程的重定位方法、装置、设备及存储介质 | |
WO2019205851A1 (zh) | 位姿确定方法、装置、智能设备及存储介质 | |
CN110807361B (zh) | 人体识别方法、装置、计算机设备及存储介质 | |
CN110647865A (zh) | 人脸姿态的识别方法、装置、设备及存储介质 | |
CN112749613B (zh) | 视频数据处理方法、装置、计算机设备及存储介质 | |
EP4026092B1 (en) | Scene lock mode for capturing camera images | |
WO2020224479A1 (zh) | 目标的位置获取方法、装置、计算机设备及存储介质 | |
CN110544272A (zh) | 脸部跟踪方法、装置、计算机设备及存储介质 | |
CN110570460B (zh) | 目标跟踪方法、装置、计算机设备及计算机可读存储介质 | |
CN111179628B (zh) | 自动驾驶车辆的定位方法、装置、电子设备及存储介质 | |
CN111928861B (zh) | 地图构建方法及装置 | |
CN113378705A (zh) | 车道线检测方法、装置、设备及存储介质 | |
CN112990424A (zh) | 神经网络模型训练的方法和装置 | |
CN113822791A (zh) | 图像配准方法、配准网络训练方法、装置、设备及介质 | |
CN113298040A (zh) | 关键点检测方法、装置、电子设备及计算机可读存储介质 | |
CN113689484B (zh) | 深度信息的确定方法、装置、终端及存储介质 | |
CN111982293B (zh) | 体温测量方法、装置、电子设备及存储介质 | |
CN113033590B (zh) | 图像特征匹配方法、装置、图像处理设备及存储介质 | |
CN118135255A (zh) | 图像匹配模型的训练方法、图像匹配的方法及计算机设备 | |
HK40018673A (zh) | 相機姿態追踪過程的重定位方法、裝置及存儲介質 | |
HK40018673B (zh) | 相機姿態追踪過程的重定位方法、裝置及存儲介質 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |