具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,均属于本申请保护的范围。
本申请的图像处理方法应用于机器人,所述机器人可以为地面滑行或行走的机器人,当然也可以为飞行的无人机,在此不做限定。
请参阅图1,图1是本申请图像处理方法一实施例的流程示意图。本实施例的图像处理方法包括如下步骤:
S101:获取机器人在预设轨迹按照设定条件拍摄的目标环境的图像。
在通过机器人对需要进行三维重建的预设区域进行拍摄图像时,一般需要预先设定机器人的运行轨迹,使机器人在预设运行轨迹按照设定条件拍摄预设区域的图像。其中设定条件包括预设拍摄频率和特定拍摄位置。
在本实施例中,机器人的运行轨迹为机器人的行进轨迹,在特定实施例中,如机器人为空中飞行的无人机时,该运行轨迹即为该无人机的飞行轨迹。优选地,为了使机器人在飞行中更加平稳,获取到品质更高的图像,在一个优选的实施方式中,机器人的飞行高度恒定,预设运行轨迹为直线,且直线与直线之间的拐角为直角,机器人沿预设运行轨迹匀速直线运动。
在其他实施例中,如果实际需要,机器人的预设运行轨迹也可以由曲线或折线构成,或该预设运行轨迹中的夹角也可不是直角,机器人的运动方式也可以为变速运动,只需能够根据机器人的运动方式以及预设运行轨迹得出机器人在预设运行轨迹运动时的位置,且通过该运行轨迹获取的图像能够用于预设区域三维重建即可,在此不做限定。
在本实施例中,为了获取拍摄区域更准确的图像,并且简化图像匹配难度,机器人在一些特定拍摄位置拍摄预设区域的图像。在本实施方式中,特定拍摄位置包括机器人沿上述预设运行轨迹运行时的拐弯点。当机器人达到拐弯点时,在拐弯之前,先对预设区域的图像进行拍摄,然后沿预设运行轨迹进行如90度转弯后,再以该拐弯点为起点按照预设拍摄频率继续拍摄预设区域的图像。
在其他实施例中,根据实际需要,也可以预设运行轨迹中除拐弯点以外的位置为特定拍摄位置,在此不做限定。
需要说明的是,为了保证拍摄效果,机器人在拍摄时保持机身水平。在一个优选的实施方式中,机器人在整个运行拍摄过程中,均保持机身水平。
例如,在一个具体的实施场景中,预设区域为地平面、预设运行轨迹由直线和直角构成,机器人在地平面上以预定的高度沿预设运行轨迹匀速直线运动拍摄地平面的图像,并获取每张图像的图像信息。当机器人为地面滑行或行走的机器人时,所述高度为零或大于零,高度为零即为机器人在地平线上运动,高度大于零为机器人在高于地平面的坡度或楼梯上运动。当机器人为无人机时,所述高度大于零,即为机器人在高于地平面的上空区域运动。为便于图像匹配,在机器人遇到直角时,机器人先在直角处拍摄预设区域的图像,然后机器人原地保持机身水平转动90度,使机器人位于与该直角相连的下一段轨迹上,并且在机器人转动90度后,再次拍摄预设区域的图像,之后沿该下一段轨迹继续运动。
在另一个实施方式中,根据实际需要,如果机器人的拍摄频率不固定,为了能够实现更加精确的三维重建,则需要机器人在相邻时段拍摄的图像对应的拍摄区域重叠率比在其他不相邻时段拍摄的图像的拍摄区域重叠率需要高出一定的阈值,即相邻时段拍摄的图像对应的拍摄区域至少部分相同,在此不做限定。
S102:基于每一幅图像的初始位姿估计,将每两幅包括相同区域的图像组合成对应的图像对。
其中,初始位姿估计包括该图像的三维坐标和三维空间角度,即机器人拍摄该图像时机器人所处的三维坐标和三维空间角度。
在本实施例中,可通过机器人拍摄该图像时自身的定位信息、机器人的运动方式以及预设的运行轨迹得出的机器人运动数据模型,并计算得到机器人的所在位置信息,从而进一步得到机器人拍摄该图像时机器人的三维坐标和三维空间角度,即该图像的初始位姿估计。
具体地,可通过对机器人的拍摄定位信息,和计算出的机器人所在的位置信息进行加权平均得到上述机器人的三维坐标,权重可通过数据的不确定性来确定,或者从预先设置的机器人拍摄定位信息与计算出的机器人所在的位置信息的多个权重比例中,选取三维坐标相对最准确的一个权重来作为本次计算三维坐标的权重。
在其他实施例中,图像的三维坐标也可以通过其他方式获取,如卡尔曼滤波或其他滤波方法来确定。在此不做限定。
在本实施例中,机器人的三维空间角度信息可通过机器人拍摄图像时自身的惯性测量单元(Inertial measurement unit,IMU)信息和机器人的预设运动姿态信息确定。优选的,为了简化计算量,机器人在沿预设运行轨迹运动时,机器人保持水平姿态运动。
在获取图像的初始位姿估计后,可根据该初始位姿估计信息获取该图像的对应的拍摄区域,进而判断任意两幅图像的拍摄区域是否重合,若重合,理论上可以将该两幅图像组成对应的图像对。然而,由于根据初始位姿估计获取的图像对应拍摄区域可能并不精准,需要进一步通过判断两幅图像是否存在相同区域特征来判断这两幅图像是否能组成图像对。若上述两幅图像中存在相同区域特征,则将该两幅图像确定为一组图像对。
具体地,机器人提取图像对的两幅图像中的某幅图像的一个区域特征,并根据两幅图像的初始位姿估计判断该区域特征在另一幅图像中的位置,为了减小可能存在的误差,机器人在该位置的设定区域内查找另一幅图像中是否存在相同的区域特征,在一个优选的实施方式中,该设定区域是以上述位置为中心的一个区域。若该设定区域内存在相同的区域特征,则将这两幅图像可以确定为一组图像对。
若在另一幅图像的设定区域未匹配到相同的区域特征,则对该另一幅图像进行转动,获取该图像转动后的初始位姿估计,并根据转动后的初始位姿估计重新判断图像中的区域特征在另一幅图像中的位置,进一步在另一幅图像中的上述位置的设定区域内查找是否存在相同的区域特征,若存在,即可以将该两幅图像组成图像对。其中,转动的角度和方向可根据机器人运行轨迹和运动姿态预先设置,如每次转动30度、45度以及90度,转动方向为顺时针或逆时针转动等。
若该两幅图像在设定区域仍未检测到相同的区域特征,则使用传统的全局搜索匹配方法将其中一幅图像与机器人拍摄的所有图像进行匹配,获取与该图像存在相同区域特征的图像,并将这两幅图像组成图像对。
通过上述先通过判断相同区域的图像是否包含相同区域特征的方式来判断两幅图像是否能组成图像对,相对于传统的直接通过全局搜索方式,不仅可以快速排除不可能存在匹配的图像对,减少误匹配发生的概率,而且能使系统的图像匹配的复杂度从O(n*n)降为O(n),有效减少图像匹配的工作量,提高三维重建效率。
在本实施例中,相机的内参为相机的焦距、分辨率、径向、相机畸变系数等可以用于三维重建的数据,在此不作限定。
在本实施例中,可以采用特征点提取和描述算法(Oriented FAST and RotatedBRIEF,ORB)来提取特征,通过该ORB方法可加快特征提取的速度,而不会降低拍摄图像的区域特征精度,为后续处理造成影响。
在其他实施例中,也可根据机器人的运动模型以及运动姿态采取其他的特征提取算法提取每一幅图像的预设区域特征,如其他基于模板、边缘、灰度以及空间的算法,在此不做赘述。
在上述实施例中,提取的每一幅图像的特征可以是图像的灰度、角、边缘、区域、脊等可以用于计算机识别和分类的预设区域特征,在此不做赘述。
S103:根据图像对构建图像种子,每一图像种子包括若干图像对,图像种子中的每一图像对的任意图像与图像种子中其他图像对的图像重叠或者存在至少一相同的区域特征。
具体地,基于所述机器人拍摄的图像的初始位姿估计,判断是否存在部分图像对与其他任意图像对均没有相同的区域特征;若存在部分图像对与其他任意图像对均没有相同的区域特征,删除该部分图像对;从剩余的图像对中获取任意两图像之间存在相同的区域特征的图像,并将这些具有相同的区域特征的图像放入同一个图像种子中。
在删除与其他图像对均没有相同区域特征的部分图像对后,从剩下的图像对中构建图像图像种子。
在本实施方式中,可根据剩余的图像对生成无向图G=(V,E)的方式来构建图像种子。具体地,在无向图G=(V,E)中,每一个顶点代表一幅图像,两个顶点之间的连线代表两幅图像之间包括相同区域特征,即构成图像对。对应地,在根据剩余的图像对生成无向图后,获取该无向图中的最大全连接子图,即包含图像数量最多的全连接子图,将该全连接子图对应的图像集合确定为一个图像种子R1,如图2所示,在图2中将两幅具有相同区域特征的图像通过连线连接,可以看出图像201、202、203、204均与其他任一图像存在相同的区域特征,即图2中任意两幅图像构成的图像对与其他任意两幅图像构成的图像对均存在相同的区域特征,因此,将图像201、202、203、204放入一个图像种子301中。
在获取图像种子301后,除去无向图中图像种子301包含的图像,从无向图剩余的图像中继续查询包含图像数量最多的全连接子图,将该全连接子图对应的图像集合确定为新的图像种子。继续重复上述步骤,依以类推,可得到图3所示的图像种子301、302、303、304。在本实施例中,可提前设定所述图像种子的数量小于一预设值,其中,预设值可以依照实际情况设定为3或4以及其他数量,在此不作限定。当然,也可以不设定预设值,直至在无向图中搜索不到新的图像种子为止。
S104:对所述图像种子进行位姿优化。
在一个优选的实施方式中,为了提高位姿优化效率,对多个图像种子并行进行位姿优化。
在一个具体实施方式中,在获取到多个图像种子后,以图3中的4个图像种子为例来说明,首先将获取的4个图像种子并行通过光束法平差(Bundle Adjustment,BA)处理,通过光束法平差获取每个图像种子中的每幅图像的预估位姿后,进一步地通过光束法平差进行迭代处理,获取该图像的位姿估计。其中,图像的预估位姿为图像的初始位姿估计得到的反向投影误差加正则项,该图像的位姿估计为图像优化后的拍摄位置和三维空间角度。
因该初始位姿估计是通过机器人的辅助信息,如GPS、轨迹设计以及IMU数据等得到,比较接近机器人的实际拍摄位置,因此,根据初始位姿估计得到图像预估位姿更准确,在进行迭代处理获取图像的位姿估计时,以预估位姿为起点进行迭代处理会大大降低收敛次数,减少计算时间。
S105:根据所述进行位姿优化后的图像种子构建图像子集,所述图像子集包括若干图像种子,相邻的图像种子之间存在至少一相同的区域特征。
S106:以图像子集中的图像种子为基础,对图像子集进行位姿优化。
在一个具体实施方式中,在对上述实施方式的4个图像种子301、302、303、304进行光束法平差处理,获取到每个图像种子的图像的位姿估计后,将该4个图像种子构成图像子集305,并将每一个图像种子作为一个整体,根据图像种子中的图像的位姿估计获取图像种子之间的相对位置关系,将图像种子301、302、303、304之间的相对位置关系记为图像种子之间的边约束。以图像种子301、302、303、304之间的边约束为初始位姿,根据该初始位姿对机器人拍摄的所有图像的位姿估计进行全局光束法平差处理得到图像种子中的图像的精确拍摄位置,其中,该精确拍摄位置包括机器人拍摄图像时的相机的三维坐标和三维空间角度。
在本实施例中,获取图像种子301、302、303、304之间的相对位置关系的方法为:判断一个图像种子中的任一图像与另一个图像种子的图像是否存在包括相同的区域特征,若包括,可根据该包括相同区域特征的图像的位姿估计得出这图像的对应拍摄位置和拍摄区域,进而获取包括相同区域特征的图像的相对位置关系。该相对位置关系即为这两个图像种子之间的相对位置关系。
在上述实施例中,本申请通过光束法平差获得每一幅图像的精确拍摄位置,在其他实施例中,也可以采用其他能够从这些多视角信息中提取出图像的精确拍摄位置的算法,在此不作限定。
有益效果:区别于相关技术的情况,本申请在机器人按照预设拍摄频率拍摄图像时,获取每张图像的初始位姿估计,并根据该初始位姿估计将包括相同区域的两幅图像组合成一个图像对,降低图像匹配复杂度,基于该图像对构建图像种子,对图像种子进行位姿优化,以优化后的图像种子为基础构建图像子集,在以每个图像子集中的图像种子为基础对图像子集进行位姿优化,能够进一步地有效降低图像匹配的计算复杂度,缩减了计算时间,并提高图像处理的精准度。
基于同一发明构思,本申请还提供了一种图像处理系统,本实施方式的图像处理系统实现上述任一实施方式的图像处理方法,请参阅图4,图4是本申请图像处理系统一实施例结构示意图。本实施例的图像处理系统包括以下器件:
通信电路41,处理器42和存储器43。其中,通信电路41用于获取及传输指令。存储器43用于存储图像、图像的图像信息、预设拍摄频率、特定拍摄位置、初始位姿估计、机器人的拍照参数、图像对、相同区域特征、图像子集、图像种子、图像的拍摄位置、处理器42执行的计算机程序以及在执行该计算机程序时所产生的中间数据。处理器42、通信电路41以及存储器43依次耦合连接。处理器42用于执行计算机程序,且处理器42在执行计算机程序时实现以下图像处理方法:
在处理器42通过机器人对需要进行三维重建的预设区域进行拍摄图像时,一般需要通过通信电路41预先设定机器人的运动轨迹,使机器人在预设运行轨迹按照设定条件拍摄预设区域的图像。其中设定条件包括预设拍摄频率和特定拍摄位置。
在本实施例中,机器人的运行轨迹为机器人的行进轨迹,在特定实施例中,如机器人为空中飞行的无人机时,该运行轨迹即为该无人机的飞行轨迹。优选地,为了使机器人在飞行中更加平稳,获取到品质更高的图像,在一个优选的实施方式中,机器人的飞行高度恒定,预设运行轨迹为直线,且直线与直线之间的拐角为直角,机器人沿预设运行轨迹匀速直线运动。
在其他实施例中,如果实际需要,机器人的预设运行轨迹也可以由曲线或折线构成,或该预设运行轨迹中的夹角也可不是直角,机器人的运动方式也可以为变速运动,只需处理器42能够根据机器人的运动方式以及预设运行轨迹得出机器人在预设运行轨迹运动时的位置,且通过该运行轨迹获取的图像能够用于预设区域三维重建即可,在此不做限定。
在本实施例中,为了获取拍摄区域更准确的图像,并且简化图像匹配难度,处理器42还需要控制机器人在一些特定拍摄位置拍摄预设区域的图像。在本实施方式中,特定拍摄位置包括机器人沿上述预设运行轨迹运行时的拐弯点,当机器人达到拐弯点时,在拐弯之前,处理器42通过机器人先拍摄预设区域的图像,然后沿预设运行轨迹进行如90度转弯后,再以该拐弯点为起点按照预设拍摄频率继续拍摄预设区域的图像。
在其他实施例中,根据实际需要,也可以预设运行轨迹中除拐弯点以外的位置为特定拍摄位置,在此不做限定。
需要说明的是,为了保证拍摄效果,处理器42通过机器人在拍摄预设区域的图像时需要保持机身水平。在一个优选的实施方式中,机器人在整个运行拍摄过程中,均保持机身水平。
例如,在一个具体的实施场景中,预设区域为地平面、预设运行轨迹由直线和直角构成,机器人在地平面上以预定的高度沿预设运行轨迹匀速直线运动拍摄地平面的图像,且处理器42通过机器人获取每张图像的图像信息。当机器人为地面滑行或行走的机器人时,所述高度为零或大于零,高度为零即为机器人在地平线上运动,高度大于零为机器人在高于地平面的坡度或楼梯上运动。当机器人为无人机时,所述高度大于零,即为机器人在高于地平面的上空区域运动。为便于图像匹配,在机器人遇到直角时,处理器42控制机器人先在直角处拍摄预设区域的图像,然后控制机器人原地保持机身水平转动90度,使机器人位于与该直角相连的下一段轨迹上,并且在机器人转动90度后,再次拍摄预设区域的图像,之后沿该下一段轨迹继续运动。
在另一个实施方式中,根据实际需要,如果机器人的拍摄频率不固定,为了能够实现更加精确的三维重建,则需要该机器人在相邻时段拍摄的图像对应的拍摄区域重叠率比在其他不相邻时段拍摄的图像的拍摄区域重叠率需要高出一定的阈值,即相邻时段拍摄的图像对应的拍摄区域至少部分相同,在此不做限定。
其中,初始位姿估计包括该图像的三维坐标和三维空间角度,处理器42将拍摄该图像时机器人所处的三维坐标和三维空间角度设为该图像的三维坐标和三维空间角度。
在本实施例中,处理器42可通过机器人拍摄该图像时自身的定位信息、机器人的运动方式以及预设的运行轨迹得出的机器人运动数据模型,并计算得到机器人的所在位置信息,从而进一步得到机器人拍摄该图像时机器人的三维坐标和三维空间角度,即该图像的初始位姿估计。
具体地,处理器42可通过对机器人的拍摄定位信息,和计算出的机器人所在的位置信息进行加权平均得到上述机器人的三维坐标,权重可通过数据的不确定性来确定,或者从预先设置的机器人拍摄定位信息与计算出的机器人所在的位置信息的多个权重比例中,选取三维坐标相对最准确的一个权重来作为本次计算三维坐标的权重。
在其他实施例中,图像的三维坐标也可以通过其他方式获取,如卡尔曼滤波或其他滤波方法来确定。在此不做限定。
在本实施例中,机器人的三维空间角度信息可通过机器人拍摄图像时自身的惯性测量单元(Inertial measurement unit,IMU)信息和机器人的预设运动姿态信息确定。优选的,为了简化计算量,机器人在沿预设运行轨迹运动时,机器人保持拍摄高度固定的方式运动。
处理器42在获取图像的初始位姿估计后,可根据该初始位姿估计信息获取该图像的对应的拍摄区域,进而判断任意两幅图像的拍摄区域是否重合,若重合,理论上可以将该两幅图像组成对应的图像对。然而,由于处理器42根据初始位姿估计获取的图像对应拍摄区域可能并不精准,需要进一步通过判断组成图像对的两幅图像是否能组成图像对。若上述两幅图像中存在相同区域特征,则将该两幅图像确定为一组图像对。
具体地,处理器42提取图像对的两幅图像中的某幅图像的一个区域特征,并根据两幅图像的初始位姿估计判断该区域特征在另一幅图像中的位置,,为了减小可能存在的误差,机器人在该位置的设定区域内查找另一幅图像中是否存在相同的区域特征,在一个优选的实施方式中,该设定区域是以上述位置为中心的一个区域。若该设定区域内存在相同的区域特征,则处理器42确定这两幅图像包括相同区域,将这两幅图像组成一组图像对。
若在另一幅图像的设定区域未匹配到相同的区域特征,则处理器42对该另一幅图像进行转动,获取该图像转动后的初始位姿估计,并根据转动后的初始位姿估计重新判断图像中的区域特征在另一幅图像中的位置,进一步在另一幅图像中的上述位置的设定区域内查找是否存在相同的区域特征,若存在,即可以将该两幅图像组成图像对。其中,转动的角度和方向可根据机器人运行轨迹和运动姿态预先设置,如每次转动30度、45度以及90度,转动方向为顺时针或逆时针转动等。
若该两幅图像在设定区域仍未检测到相同的区域特征,则处理器42使用传统的全局搜索匹配方法将其中一幅图像与机器人拍摄的所有图像进行匹配,获取与该图像存在相同区域特征的图像,并将这两幅图像组成图像对。
通过上述先通过判断相同区域的图像是否包含相同区域特征的方式来判断两幅图像是否能组成图像对,相对于传统的直接通过全局搜索方式,不仅可以快速排除不可能存在匹配的图像对,减少误匹配发生的概率,而且能使系统的图像匹配的复杂度从O(n*n)降为O(n)。能够有效减少图像匹配的工作量,提高三维重建效率。
在本实施例中,相机的内参为相机的焦距、分辨率、径向、相机畸变系数等可以用于三维重建的数据,在此不作限定。
在本实施例中,处理器42可以采用特征点提取和描述算法(Oriented FAST andRotated BRIEF,ORB)来提取提取特征。通过该ORB方法可加快特征提取的速度,并且不会造成降低拍摄图像的区域特征精度的效果,进而对后期处理不会有影响。
在其他实施例中,处理器42也可根据机器人的运动模型以及运动姿态采取其他的特征提取算法提取每一幅图像的预设区域特征,如其他基于模板、边缘、灰度以及空间的算法,在此不做赘述。
在上述实施例中,提取的每一幅图像的特征可以是图像的灰度、角、边缘、区域、脊等可以用于计算机识别和分类的预设区域特征,在此不做赘述。
具体地,处理器42基于所述机器人拍摄的图像的初始位姿估计,判断是否存在部分图像对与其他任意图像对均没有相同的区域特征;若存在部分图像对与其他任意图像对均没有相同的区域特征,删除该部分图像对;从剩余的图像对中获取任意两图像之间存在相同的区域特征的图像,并将这些具有相同的区域特征的图像放入同一个图像种子中。
处理器42在删除与其他图像对均没有相同区域特征的部分图像对后,从剩下的图像对中构建图像种子。
在本实施方式中,处理器42可根据剩余的图像对生成无向图G=(V,E)的方式来构建图像种子。具体的,在无向图G=(V,E)中,每一个顶点代表一幅图像,两个顶点之间的连线代表两幅图像之间包括相同区域特征,即构成图像对。对应地,在根据剩余的图像对生成无向图后,获取该无向图中的最大全连接子图,即包含图像数量最多的全连接子图,将该全连接子图对应的图像集合确定为一个图像种子R1,如图2所示,在图2中将两幅具有相同区域特征的图像通过连线连接,可以看出图像201、202、203、204均与其他任一图像存在相同的区域特征,即图2中任意两幅图像构成的图像对与其他任意两幅图像构成的图像对均存在相同的区域特征,因此,将图像201、202、203、204放入一个图像种子301中。
在获取图像种子301后,除去无向图中图像种子301包含的图像,处理器42在无向图剩余的图像中继续查询包含图像数量最多的全连接子图,将该全连接子图对应的图像集合确定为另一个图像种子。继续重复上述步骤,依以类推,可得到图3所示的图像种子301、302、303、304。在本实施例中,可提前设定所述图像种子的数量小于一预设值,其中,预设值可以为3或4以及其他数量,在此不作限定。当然,也可以不设定预设值,直至在无向图中搜索不到新的图像种子为止。
在一个优选的实施方式中,为了提高位姿优化效率,处理器42对多个图像种子并行进行位姿优化。
在一个具体实施方式中,处理器42在获取到多个图像种子后,以图像种子个数为4来说明,处理器42首先将获取的4个图像种子并行通过光束法平差处理,通过光束法平差获取每个图像种子中的每副图像的预估位姿后,进一步地通过光束法平差进行迭代处理,获取该图像的位姿估计。其中,图像的预估位姿为图像的初始位姿估计得到的反向投影误差加正则项,该图像的位姿估计为图像优化后的拍摄位置和三维空间角度。
因该初始位姿估计是通过机器人的辅助信息,如GPS、轨迹设计以及IMU数据等得到,比较接近机器人的实际拍摄位置,因此,根据初始位姿估计得到图像预估位姿更准确,在进行迭代处理获取图像的位姿估计时,以预估位姿为起点进行迭代处理会大大降低收敛次数,减少计算时间。
在一个具体实施方式中,处理器42在对上述实施方式的4个图像种子301、302、303、304进行光束法平差处理,获取到每个图像种子的图像的位姿估计后,将该4个图像种子构成图像子集,并将每一个图像种子作为一个整体,根据图像种子中的图像的位姿估计获取图像种子之间的相对位置关系,将图像种子之间的相对位置关系记为图像种子之间的边约束。以图像种子之间的边约束为初始位姿,根据该初始位姿对机器人拍摄的所有图像的位姿估计进行全局光束法平差处理得到图像种子中的图像的精确拍摄位置,其中,该精确拍摄位置包括机器人拍摄图像时的相机的三维坐标和三维空间角度。
在本实施例中,处理器42获取图像种子之间的相对位置关系的方法为:判断一个图像种子中的任一图像与另一个图像种子的图像是否存在包括相同的区域特征,若包括,可根据该包括相同区域特征的图像的位姿估计得出这图像的对应拍摄位置和拍摄区域,进而获取包括相同区域特征的图像的相对位置关系。该相对位置关系即为这两个图像种子之间的相对位置关系。
在上述实施例中,本申请通过光束法平差获得每一幅图像的精确拍摄位置,在其他实施例中,也可以采用其他能够从这些多视角信息中提取出图像的精确拍摄位置的算法,在此不作限定。
有益效果:区别于相关技术的情况,本申请在机器人按照预设拍摄频率拍摄图像时,获取每张图像的初始位姿估计,并根据该初始位姿估计将包括相同区域的两幅图像组合成一个图像对,降低图像匹配复杂度,基于该图像对构建图像种子,对图像种子进行位姿优化,以优化后的图像种子为基础构建图像子集,在以每个图像子集中的图像种子为基础对图像子集进行位姿优化,能够进一步地有效降低图像匹配的计算复杂度,缩减了计算时间,并提高图像处理的精准度。
基于相同的发明构思,本申请还提供了一种具有存储功能的装置,请参阅图5,图5是本申请提供的具有存储功能的装置一实施例的结构示意图。具有存储功能的装置50中存储有程序数据51,程序数据51可以为程序或指令,该程序数据用于实现上述任一图像处理方法。在一个实施例中,具有存储功能的装置可以是终端中的存储芯片、硬盘或者是移动硬盘或者优盘、光盘等其他可读写存储的工具,还可以是服务器等等。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,处理器或存储器的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个处理器与存储器实现的功能可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或连接可以是通过一些接口,装置或单元的间接耦合或连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。