专利名称:图像处理方法、装置、计算设备及介质
专利类型:实用新型专利
专利申请号:CN202110005182.1
专利申请(专利权)人:北京沃东天骏信息技术有限公司,北京京东世纪贸易有限公司
权利人地址:北京市大兴区北京经济技术开发区科创十一街18号院2号楼4层A402室100176
专利发明(设计)人:周芳汝,车广富,郭景昊,安山
专利摘要:本公开提供了一种图像处理方法,包括:获取待处理图像,待处理图像包含目标部位的图像信息集合,其中,目标部位的图像信息集合包含至少一个目标部位的图像信息;利用神经网络模型,从待处理图像中确定热图集合和部分关联域图集合,其中,热图集合中热图个数为多个,部分关联域图集合中部分关联域图个数为至少一个;根据热图集合,确定多个关键点;根据部分关联域图集合,对多个关键点进行分组;以及基于分组后的关键点,确定至少一个目标部位的位姿信息。本公开还提供了一种图像处理装置、计算设备和介质。
主权利要求:
1.一种图像处理方法,包括:
获取待处理图像,所述待处理图像包含目标部位的图像信息集合,其中,所述目标部位的图像信息集合包含至少一个目标部位的图像信息;
利用神经网络模型,从所述待处理图像中确定热图集合和部分关联域图集合,其中,所述热图集合中热图个数为多个,所述部分关联域图集合中部分关联域图个数为至少一个;
根据所述热图集合,确定多个关键点;
根据所述部分关联域图集合,对所述多个关键点进行分组;以及基于分组后的关键点,确定所述至少一个目标部位的位姿信息;
其中,所述根据所述部分关联域图集合,对所述多个关键点进行分组,包括:针对每个部分关联域图中的每个连接线,确定所述部分关联域图中每个关键点到所述连接线的距离;
确定距离所述连接线最近的两个关键点之间具有连接关系;
根据所述连接关系,将所述多个关键点分成至少一个关键点组,所述至少一个关键点组与所述至少一个目标部位一一对应。
2.根据权利要求1所述的方法,其中,所述神经网络模型包括快速语义分割网络和目标卷积层;
所述利用神经网络模型,从所述待处理图像中确定热图集合和部分关联域图集合,包括:将所述待处理图像输入快速语义分割网络,以得到网络输出结果;以及将所述网络输出结果输入所述目标卷积层,以确定所述热图集合和所述部分关联域图集合。
3.根据权利要求1所述的方法,其中,所述热图集合中的每个热图包括至少一个热点区域;
所述根据所述热图集合,确定多个关键点,包括:针对所述热图集合中的每个热图,确定所述热图中至少一个热点区域的几何中心,作为该热图中的关键点。
4.根据权利要求1所述的方法,其中,所述位姿信息包括:所述至少一个目标部位中每个目标部位的关键点的三维坐标和欧拉角;
所述基于分组后的关键点,确定所述至少一个目标部位的位姿信息,包括:获取标准三维模型和与所述待处理图像对应的相机参数;以及针对所述多个关键点组中每个关键点组,根据所述标准三维模型、所述相机参数和所述关键点组中每个关键点的二维坐标,确定所述每个关键点的三维坐标和欧拉角。
5.根据权利要求1所述的方法,其中,所述获取待处理图像包括:获取原始图像;以及
对所述原始图像执行归一化操作,以得到所述待处理图像。
6.一种图像处理装置,包括:
获取模块,用于获取待处理图像,所述待处理图像包含至少一个目标部位的图像信息;
处理模块,用于利用神经网络模型,从所述待处理图像中确定热图集合和部分关联域图集合,其中,所述热图集合中热图个数为多个,所述部分关联域图集合中部分关联域图个数为至少一个;
关键点确定模块,用于根据所述热图集合,确定多个关键点;
分组模块,用于根据所述部分关联域图集合,对所述多个关键点进行分组;以及位姿确定模块,用于基于分组后的关键点,确定所述至少一个目标部位的位姿信息;
所述根据所述部分关联域图集合,对所述多个关键点进行分组,包括:针对每个部分关联域图中的每个连接线,确定所述部分关联域图中每个关键点到所述连接线的距离;
确定距离所述连接线最近的两个关键点之间具有连接关系;
根据所述连接关系,将所述多个关键点分成至少一个关键点组,所述至少一个关键点组与所述至少一个目标部位一一对应。
7.一种计算设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至5中任一项的方法。
8.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1至5中任一项的方法。 说明书 : 图像处理方法、装置、计算设备及介质技术领域[0001] 本公开涉及计算机视觉技术领域,更具体地,涉及一种图像处理方法、装置、计算设备及介质。背景技术[0002] 对人体关节点定位可精准定位人体的头顶、五官、颈部、四肢等主要关节部位。人体关节点的位姿信息是实现线上换装、线上试妆、模拟试鞋等功能的核心数据之一。相关技术采用SSD‑6D算法对物体的位姿进行估计,该算法需要预先提供物体精确的CAD模型及大小,然后预测图片中物体的位姿信息。[0003] 在实现本公开构思的过程中,发明人发现相关技术无法对未见过的人体部位进行位姿评估,因此无法用于线上换装、线上试妆、模拟试鞋等场景。发明内容[0004] 有鉴于此,本公开提供了一种图像处理方法、装置、计算设备及介质。[0005] 本公开的一个方面提供了一种图像处理方法,包括:获取待处理图像,所述待处理图像包含目标部位的图像信息集合,其中,所述目标部位的图像信息集合包含至少一个目标部位的图像信息;利用神经网络模型,从所述待处理图像中确定热图集合和部分关联域图集合,其中,所述热图集合中热图个数为多个,所述部分关联域图集合中部分关联域图个数为至少一个;根据所述热图集合,确定多个关键点;根据所述部分关联域图集合,对所述多个关键点进行分组;以及基于分组后的关键点,确定所述至少一个目标部位的位姿信息。[0006] 根据本公开的实施例,所述神经网络模型包括快速语义分割网络和目标卷积层;所述利用神经网络模型,从所述待处理图像中确定热图集合和部分关联域图集合,包括:将所述待处理图像输入快速语义分割网络,以得到网络输出结果;以及将所述网络输出结果输入所述目标卷积层,以确定所述热图集合和所述部分关联域图集合。[0007] 根据本公开的实施例,所述热图集合中的每个热图包括至少一个热点区域;所述根据所述热图集合,确定多个关键点,包括:针对所述热图集合中的每个热图,确定所述热图中至少一个热点区域的几何中心,作为该热图中的关键点。[0008] 根据本公开的实施例,所述根据所述个部分关联域图集合,对所述多个关键点进行分组,包括:根据所述部分关联域图集合,确定所述多个关键点彼此之间的连接关系;以及根据所述连接关系,将所述多个关键点分成至少一个关键点组,所述至少一个关键点组与所述至少一个目标部位一一对应。[0009] 根据本公开的实施例,所述部分关联域图集合中的每个部分关联域图包括至少一个连接线;所述根据所述部分关联域图集合,确定所述多个关键点彼此之间的连接关系,包括:针对每个部分关联域图中的每个连接线,确定所述部分关联域图中每个关键点到所述连接线的距离;以及确定距离所述连接线最近的两个关键点之间具有连接关系。[0010] 根据本公开的实施例,所述位姿信息包括:所述至少一个目标部位中每个目标部位的关键点的三维坐标和欧拉角;所述基于分组后的关键点,确定所述至少一个目标部位的位姿信息,包括:获取标准三维模型和与所述待处理图像对应的相机参数;以及针对所述多个关键点组中每个关键点组,根据所述标准三维模型、所述相机参数和所述关键点组中每个关键点的二维坐标,确定所述每个关键点的三维坐标和欧拉角。根据本公开的实施例,所述获取待处理图像包括:获取原始图像;以及对所述原始图像执行归一化操作,以得到所述待处理图像。[0011] 本公开的另一个方面提供了一种图像处理装置,包括获取模块,用于获取待处理图像,所述待处理图像包含至少一个目标部位的图像信息;处理模块,用于利用神经网络模型,从所述待处理图像中确定热图集合和部分关联域图集合,其中,所述热图集合中热图个数为多个,所述部分关联域图集合中部分关联域图个数为至少一个;关键点确定模块,用于根据所述热图集合,确定多个关键点;分组模块,用于根据所述部分关联域图集合,对所述多个关键点进行分组;以及位姿确定模块,用于基于分组后的关键点,确定所述至少一个目标部位的位姿信息。[0012] 本公开的另一个方面提供了一种计算设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的方法。[0013] 本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。[0014] 本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。[0015] 根据本公开的实施例的图像处理方法可以用于根据人体目标部位的图像,确定目标部位的位姿信息(即关节点的三维坐标和欧拉角)。后续基于该位姿信息可以实现线上换装、线上试妆、模拟试鞋等功能。附图说明[0016] 通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:[0017] 图1示意性示出了根据本公开实施例的可以应用图像处理方法的示例性应用场景;[0018] 图2示意性示出了根据本公开的实施例的图像处理方法的流程图;[0019] 图3A示意性示出了根据本公开的实施例的关节点的标注方式示意图;[0020] 图3B示意性示出了根据本公开的实施例的CNN模型对图像进行处理的方法示意图;[0021] 图3C示意性示出了根据本公开的实施例的关节点分组的方法示意图;[0022] 图3D示意性示出了根据本公开的实施例的关节点识别结果的示意图;[0023] 图3E示意性示出了根据本公开的实施例的三维坐标轴的设置方式示意图;[0024] 图4示意性示出了根据本公开的实施例的图像处理装置的框图;以及[0025] 图5示意性示出了根据本公开实施例的图像处理方法的计算机系统的方框图。具体实施方式[0026] 以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。[0027] 在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。[0028] 在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。[0029] 在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。[0030] 本公开的实施例提供了一种图像处理方法以及能够应用该方法的装置。该方法包括获取待处理图像,待处理图像包含目标部位的图像信息集合,其中,目标部位的图像信息集合包含至少一个目标部位的图像信息;利用神经网络模型,从待处理图像中确定热图集合和部分关联域图集合,其中,热图集合中热图个数为多个,部分关联域图集合中部分关联域图个数为至少一个;根据热图集合,确定多个关键点;根据部分关联域图集合,对多个关键点进行分组;以及基于分组后的关键点,确定至少一个目标部位的位姿信息。[0031] 图1示意性示出了根据本公开实施例的可以应用图像处理方法的示例性应用场景100。需要注意的是,图1所示仅为可以应用本公开实施例的应用场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。[0032] 如图1所示,根据该实施例的应用场景100可以包括终端设备101、服务器102和网络103。网络103用以在终端设备101和服务器102之间提供通信链路的介质。网络103可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。[0033] 用户可以使用终端设备101通过网络103与服务器102交互,以接收或发送消息等。终端设备101上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。[0034] 终端设备101可以是具有图像采集装置(例如摄像头)并且支持拍照或录像的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。[0035] 服务器102可以对用户利用终端设备101所浏览的网站提供支持的后台管理服务器。后台管理服务器可以对接收到的包含身体部位(例如脚部)的图像进行处理,确定图像所包含的身体部位的位姿信息。利用该位姿信息,能够生成该身体部位和服饰的合成图像,并将合成图像反馈给终端设备,用于实现线上换装、线上试妆、模拟试鞋等功能。[0036] 需要说明的是,本公开实施例所提供的图像处理方法一般可以由服务器102执行。相应地,本公开实施例所提供的图像处理装置一般可以设置于服务器102中。本公开实施例所提供的图像处理方法也可以由不同于服务器102且能够与终端设备101和/或服务器102通信的服务器或服务器集群执行。相应地,本公开实施例所提供的图像处理装置也可以设置于不同于服务器102且能够与终端设备101和/或服务器102通信的服务器或服务器集群中。[0037] 应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。[0038] 图2示意性示出了根据本公开的实施例的图像处理方法的流程图。[0039] 如图2所示,该方法包括在操作S210,获取待处理图像。[0040] 其中,待处理图像包含目标部位的图像信息集合,其中,所述目标部位的图像信息集合包含至少一个目标部位的图像信息。示例性地,本实施例中,待处理图像包含a个目标部位的图像信息,其中,a为正整数。[0041] 根据本公开的实施例,用户可以利用终端设备拍摄包含目标部位的图像,即原始图像,然后通过终端设备将原始图像发送至服务器,服务器获取该原始图像,对原始图像执行归一化操作,将原始图像归一化到固定尺寸,以得到待处理图像。示例性地,本实施例中,目标部位例如可以为脚部。[0042] 根据本公开的实施例,待处理图像可以为单目RGB图像。单目RGB图像为针对一个场景在一个角度拍摄的一张图像,图像格式为RGB。[0043] 然后,在操作S220,利用神经网络模型,从待处理图像中确定热图集合和部分关联域图集合。[0044] 其中,热图集合中热图个数为多个,所述部分关联域图集合中部分关联域图个数为至少一个。示例性地,本实施例中,热图集合中热图个数为b个,部分关联域图集合中部分关联域图个数为c个,其中,b为大于1的正整数,c为正整数。[0045] 根据本公开的实施例,神经网络模型可以包括快速语义分割网络(fastscnn)和目标卷积层。操作S220例如可以包括,将待处理图像输入快速语义分割网络,以得到网络输出结果,然后将网络输出结果输入目标卷积层,以确定b个热图(heatmap)和c个部分关联域图(pafmap),即得到热图集合和部分关联域图集合。[0046] 在操作S230,根据热图集合,确定多个关键点。[0047] 根据本公开的实施例,关键点可以用于表示关节的位置。示例性地,本实施例中,关键点例如可以为目标部位的关节点。[0048] 根据本公开的实施例,关键点的数量可以根据待处理图像中目标部位的数量来确定。示例性地,本实施例中,关键点的数量与目标部位的数量相同。例如,若待处理图像包含a个目标部位,则相应地每个热点图中具有a个关键点,b个热图中共有a*b个关键点。[0049] 根据本公开的实施例,每个热图包括至少一个热点区域,每个热点区域对应一个关键点。可以针对所述b个热图中的每个热图,确定所述热图中至少一个热点区域的几何中心,作为该热图中的所述关键点。[0050] 在操作S240,根据部分关联域图集合,对多个关键点进行分组。[0051] 根据本公开的实施例,可以根据部分关联域图集合中的c个部分关联域图,确定多个关键点彼此之间的连接关系;以及根据连接关系,将多个关键点分成a个关键点组,a个关键点组与a个目标部位一一对应。[0052] 根据本公开的实施例,每个部分关联域图包括至少一个连接线。可以针对每个部分关联域图中的每个连接线,确定部分关联域图中每个关键点到该连接线的距离,确定距离该连接线最近的两个关键点之间具有连接关系。然后,将具有连接关系的关键点分到同一组中。[0053] 在操作S250,基于分组后的关键点,确定至少一个目标部位的位姿信息。[0054] 根据本公开的实施例,至少一个目标部位中每个目标部位的关键点的三维坐标和欧拉角。[0055] 根据本公开的实施例,操作S250例如可以包括获取标准三维模型和与待处理图像对应的相机参数,然后利用PNP(Perspective‑n‑Point,n点透视图)算法,确定每组关键点组总每个关键点的三维坐标和欧拉角。其中PNP算法的输入为标准三维模型、相机参数和关键点组中每个关键点的二维坐标,算法的输出为每个关键点的三维坐标和欧拉角。[0056] 示例性地,本实施例中,三维坐标包括x轴坐标、y轴坐标和z轴坐标,欧拉角包括俯仰角(Pitch)、偏航角(Yaw)和翻滚角(Roll),其中,沿x轴旋转的角度为俯仰角,沿y轴旋转的角度为偏航角,沿z轴旋转的角度为翻滚角。[0057] 根据本公开的实施例,标准三维模型用于向PNP算法提供目标部件的参考特征。示例性地,本实施例中,标准三维模型例如可以为人体脚部的平均三维模型。[0058] 根据本公开的实施例,相机参数为拍摄待处理图像的相机所采用的参数,例如可以包括水平方向的焦距和垂直方向的焦距。[0059] 根据本公开的实施例的图像处理方法可以用于根据人体目标部位的图像,确定目标部位的位姿信息(即关节点的三维坐标和欧拉角)。后续基于该位姿信息可以实现线上换装、线上试妆、模拟试鞋等功能。[0060] 下面参考图3A~图3D,结合具体实施例对图2所示的方法做进一步说明。本领域技术人员可以理解,以下示例实施例仅用于理解本公开,本公开并不局限于此。[0061] 本实施例中,目标部位为人体的脚部。待处理图像为人体脚部的单目RGB图像。[0062] 本实施例中,使用CNN(卷积神经网络)模型来定位人脚的8个2D关节点(即关键点)和分割人腿图像。该CNN模型的backbone(主干)网络为fastscnn,在fastscnn的FFM(FeatureFusionModule,特征融合模块)之后添加三个分支,分别用于预测热图heatmap、部分关联域图pafmap以及人腿的分割图legseg。[0063] 示例性地,heatmap的大小被配置为8*64*64(8个64*64像素的图像),用于表示腿部8个关节点的热图,每个热图显示2个单热点,单热点是关节点为中心的高斯核。pafmap的大小被配置为14*64*64(14个64*64像素的图像),用于表示8个关节点之间7条连接线的位置,每条连接线对应于2个pafmap,该2个pafmap的像素值分别表示连接线在x、y方向的投影。legseg的大小被配置为1*64*64(1个64*64像素的图像),用于表示腿部的分割mask(掩膜)。[0064] 下面结合图3A对本实施例中关节点的标注方式做一下说明。图3A示意性示出了根据本公开的实施例的关节点的标注方式示意图,如图3A所示,针对一个人体脚部定义有8个关节点,其中,序号1表示脚尖的位置的关节点,序号7表示脚面上的中心位置的关节点,序号3、4、5、6分别为脚两侧的四个关节点,序号0、2为脚跟处的两个关节点。[0065] 需要说明的是,在使用模型进行正式的图像处理前需要先对模型进行训练。训练的操作例如可以包括:收集多张包含人脚的图像,作为样本图像。然后对样本图像中的关节点和关节点之间的连接线进行标注,[0066] 接下来,图3B示意性示出了根据本公开的实施例的CNN模型对图像进行处理的方法示意图。如图3B所示,其中,conv表示卷积操作,upsample表示上采样操作,copy表示复制操作,FeatureFusionModule表示特征融合模块。将包含人脚的图像输入经训练的CNN模型,该输入图像经过fastscnn网络以后,对输入图像进行卷积,得到第一输出,然后将第一输入再进行卷积和上采样操作,得到第二输出,接着通过特征融合模块将第一输出和第二输出融合,得到融合后的特征,然后对该特征进行两次卷积,以将该特征分成3个分支,分别预测heatmap、pafmap和legseg。[0067] 根据模型输出的8张热图heatmap={heatmap_0,...heatmap_7},其中,任意一张热图heatmap_i预测了关节点i的位置。由于一张图片中可能存在多只人脚,因此将关节点分组,以对应不同的人脚。[0068] 为了将属于同一只人脚的关节点分组,可以根据pafmap来得到关节点之间的连接关系。图3C示意性示出了根据本公开的实施例的关节点分组的方法示意图。如图3C所示,heatmap_1中显示了点p1和p2的位置,heatmap_3中显示了点p3和p4的位置。pafmap_0和pafmap_1分别显示了两条连接线x方向值和y方向值。通过寻找距离每个连接线最近的两个点,可以确定这两条连接线分别为p1与p3之间的连接线以及p2与p4之间的连接线,即可以确定p1与p3具有连接关系,p2与p4具有连接关系,并且p1与p3属于同一只脚,p2与p4属于同一只脚。[0069] 通过类似地方法,可以根据其他连接线,确定其他关节点的连接关系,将具有连接关系的关节点分到同一组,即将属于同一只脚的所有点分到同一组。如图3D所示,经过分组以后,将所有点分成两组,每组包含一只脚的关键点。[0070] 关节点分组以后,每组关节点包含8个元素,每个元素表示一个关节点的二维坐标。图3D示意性示出了根据本公开的实施例的关节点识别结果的示意图。如图3D所示,右脚的关节点包括关节点0、1、2、3、4、5、6和7,左脚的关节点包括关节点0’、1’、2’、3’、4’、5’、6’和7’。利用PNP算法,根据预先设计的人脚的平均3维模型、相机参数以及一组关节点来评估人脚的欧拉角以及每个关节点的3维坐标。从而可以得到每个关节点的6维度参数(6DOF),即三维坐标(x,y,z)和欧拉角(包括俯仰角、偏航角和翻滚角)。示例性地,本实施例中,6维度参数所基于的三维坐标轴例如图3E所示。[0071] 根据本公开的实施例,可以利用人脚的位姿信息和鞋子的3维模型,生成与人脚位姿信息具有同样位姿的鞋子的图像,然后将该鞋子图像渲染到人脚图像上,从而实现在线试鞋的功能。[0072] 图4示意性示出了根据本公开的实施例的图像处理装置的框图。[0073] 如图4所示,图像处理装置400包括获取模块410、处理模块420、关键点确定模块430、分组模块440和位姿确定模块450。[0074] 获取模块410,可以用于获取待处理图像,所述待处理图像包含至少一个目标部位的图像信息。[0075] 处理模块420,可以用于利用神经网络模型,从所述待处理图像中确定热图集合和部分关联域图集合,其中,所述热图集合中热图个数为多个,所述部分关联域图集合中部分关联域图个数为至少一个。[0076] 关键点确定模块430,用于根据所述热图集合,确定多个关键点。[0077] 分组模块440,用于根据所述部分关联域图集合,对所述多个关键点进行分组。[0078] 位姿确定模块450,用于基于分组后的关键点,确定所述至少一个目标部位的位姿信息。[0079] 根据本公开的实施例的图像处理方法可以用于根据人体目标部位的图像,确定目标部位的位姿信息(即关节点的三维坐标和欧拉角)。后续基于该位姿信息可以实现线上换装、线上试妆、模拟试鞋等功能。[0080] 根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。[0081] 例如,获取模块410、处理模块420、关键点确定模块430、分组模块440和位姿确定模块450中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,获取模块410、处理模块420、关键点确定模块430、分组模块440和位姿确定模块450中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,获取模块410、处理模块420、关键点确定模块430、分组模块440和位姿确定模块450中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。[0082] 图5示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统的方框图。图5示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。[0083] 如图5所示,根据本公开实施例的计算机系统500包括处理器501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。处理器501例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器501还可以包括用于缓存用途的板载存储器。处理器501可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。[0084] 在RAM503中,存储有系统500操作所需的各种程序和数据。处理器501、ROM502以及RAM503通过总线504彼此相连。处理器501通过执行ROM502和/或RAM503中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM502和RAM503以外的一个或多个存储器中。处理器501也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。[0085] 根据本公开的实施例,系统500还可以包括输入/输出(I/O)接口505,输入/输出(I/O)接口505也连接至总线504。系统500还可以包括连接至I/O接口505的以下部件中的一项或多项:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。[0086] 根据本公开的实施例,根据本公开实*施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被处理器501执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。[0087] 本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。[0088] 根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD‑ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM502和/或RAM503和/或ROM502和RAM503以外的一个或多个存储器。[0089] 附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。[0090] 本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。[0091] 以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
专利地区:北京
专利申请日期:2021-01-04
专利公开日期:2024-06-18
专利公告号:CN113763467B