一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

图像标注方法、装置、电子设备及存储介质与流程

2022-06-25 02:25:28 来源:中国专利 TAG:


1.本技术涉及图像处理领域,尤其涉及一种图像标注方法、装置、电子设备及存储介质。


背景技术:

2.关键点标注是指利用图像处理和机器学习方法,将图像中的活动节点标注为关键点,常见的活动节点包括人体的关节、手部的骨节。由于关键点信息对描述人体姿态、预测人体行为至关重要,被广泛应用于各种场景,例如,人体的关键点用于动作识别,手部的关键点用于人机交互。相关技术中,通过人工估计关键点的深度信息,关键点信息精确度不高。


技术实现要素:

3.有鉴于此,本技术实施例提供一种图像标注方法、装置、电子设备及存储介质,以至少解决相关技术关键点信息精确度不高的问题。
4.本技术实施例的技术方案是这样实现的:
5.本技术实施例提供了一种图像标注方法,所述方法包括:
6.确定n个第一图像的标注信息;所述n个第一图像表征从m个第二图像中确定出的n个图像;所述m个第二图像表征从m个设定视角拍摄得到的图像;所述标注信息表征第一关键点在对应的图像中的二维坐标;
7.基于确定出的标注信息,根据所述n个第一图像中的任两个第一图像对应的第一矩阵,确定第一关键点在第一坐标系对应的三维坐标;所述第一坐标系表征所述对应的两个第一图像中的任一第一图像对应的相机坐标系;所述第一矩阵基于对应的两个第一坐标系的转换矩阵确定;其中,
8.m,n均为大于或等于2的整数,且m大于或等于n。
9.其中,上述方案中,在所述确定第一关键点在第一坐标系对应的三维坐标之后,所述方法还包括:
10.基于所述第一关键点在第一坐标系的三维坐标,根据第二矩阵,确定所述第一关键点在第二坐标系对应的三维坐标;所述第二坐标系表征任一第二图像对应的相机坐标系;所述第二矩阵基于对应的第一坐标系的转换矩阵和对应的第二坐标系的转换矩阵确定。
11.上述方案中,n大于或等于3,所述基于确定出的标注信息,根据所述n个第一图像中的任两个第一图像对应的第一矩阵,确定第一关键点在第一坐标系对应的三维坐标,包括:
12.基于n个第一图像的标注信息,根据所述n个第一图像中的任两个第一图像对应的第一矩阵,确定所述第一关键点在所述n个第一图像中的每个第一图像对应的相机坐标系的三维坐标;
13.基于所述第一关键点在每个第一图像对应的相机坐标系的三维坐标,根据第二矩阵,确定所述第一关键点在第三坐标系对应的三维坐标;所述第三坐标系表征设定的第一图像对应的相机坐标系;所述第二矩阵基于对应的第一坐标系的转换矩阵和对应的第三坐标系的转换矩阵确定;
14.基于确定出的所述第一关键点在第三坐标系的p个三维坐标,确定所述第一关键点在第一坐标系的三维坐标;其中,p为大于或等于2的整数。
15.上述方案中,所述基于确定出的所述第一关键点在第三坐标系的p个三维坐标,确定所述第一关键点在第一坐标系的三维坐标,包括:
16.基于对应的两个第一图像的标注信息和图像中心点坐标,确定在第三坐标系的每个三维坐标对应的权重参数;
17.根据所述p个三维坐标中的每个三维坐标和对应的权重参数,确定所述第一关键点在第三坐标系的三维坐标;
18.基于所述第一关键点在第三坐标系的三维坐标,根据第三矩阵,确定所述第一关键点在第一坐标系对应的三维坐标;所述第三矩阵基于对应的第一坐标系的转换矩阵和对应的第三坐标系的转换矩阵确定。
19.上述方案中,所述方法还包括:
20.基于在对应的相机坐标系的三维坐标,确定所述第一关键点在对应的第二图像中的二维坐标。
21.上述方案中,在所述确定n个第一图像的标注信息之前,所述方法还包括:
22.通过相机系统对包含第一关键点的第一对象进行拍摄,得到m个第二图像;其中,所述相机系统包括m个相机,每个相机从对应的设定视角进行拍摄。
23.上述方案中,所述第一对象表征为非刚体对象。
24.本技术实施例还提供了一种图像标注装置,包括:
25.第一处理单元,用于确定n个第一图像的标注信息;所述n个第一图像表征从m个第二图像中确定出的n个图像;所述m个第二图像表征从m个设定视角拍摄得到的图像;所述标注信息表征第一关键点在对应的图像中的二维坐标;
26.第二处理单元,用于基于确定出的标注信息,根据所述n个第一图像中的任两个第一图像对应的第一矩阵,确定第一关键点在第一坐标系对应的三维坐标;所述第一坐标系表征所述对应的两个第一图像中的任一第一图像对应的相机坐标系;所述第一矩阵基于对应的两个第一坐标系的转换矩阵确定;其中,m,n均为大于或等于2的整数,且m大于或等于n。
27.本技术实施例还提供了一种电子设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
28.其中,所述处理器用于运行所述计算机程序时,执行上述图像标注方法的步骤。
29.本技术实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述图像标注方法的步骤。
30.在本技术实施例中,确定n个第一图像的标注信息,基于确定出的标注信息,根据n个第一图像中的任两个第一图像对应的第一矩阵,确定第一关键点在第一坐标系对应的三维坐标。其中,n个第一图像表征从m个设定视角拍摄得到的第二图像中确定出的n个图像,
标注信息表征第一关键点在对应的图像中的二维坐标,第一坐标系表征对应的两个第一图像中的任一第一图像对应的相机坐标系,第一矩阵基于对应的两个第一坐标系的转换矩阵确定,m,n均为大于或等于2的整数,且m大于或等于n。上述方案中,根据任两个第一图像中第一关键点的二维坐标和对应的第一矩阵,确定第一关键点在这两个第一图像中的任一第一图像对应的相机坐标系中的三维坐标,这样,能够更为准确地估计关键点的深度信息的准确度,从而提高了关键点信息的精确度。
附图说明
31.图1为本技术实施例提供的相机系统的实物示意图;
32.图2为本技术实施例提供的相机系统的示意图;
33.图3为本技术实施例提供的硬件调试标定阶段的实现流程示意图;
34.图4为本技术实施例提供的标定示意图;
35.图5为本技术实施例提供的图像标注方法的实现流程示意图;
36.图6为本技术实施例提供的图像关键点标注的示意图;
37.图7为本技术实施例提供的三维坐标测量结果的示意图;
38.图8为本技术实施例提供的二维信息效果的示意图;
39.图9为本技术应用实施例提供的图像标注方法的实现流程示意图;
40.图10为本技术实施例提供的图像标注装置的结构示意图;
41.图11为本技术实施例提供的电子设备的结构示意图。
具体实施方式
42.关键点标注是指利用图像处理和机器学习方法,将图像中的活动节点标注为关键点,常见的活动节点包括人体的关节、手部的骨节,根据关键点的空间要求,分为2d关键点、3d关键点。由于关键点信息对描述人体姿态、预测人体行为至关重要,被广泛应用于各种场景,例如,人体的关键点用于动作识别,手部的关键点用于人机交互。
43.目前,由于障碍物遮挡、多视角等原因,图像标注的难度很高。其中,因为非刚体对象的多自由度和多视角差异,导致非刚体对象在2d图片中的形态很多,所以对非刚体对象的关键点标注的难度更高。人体、人手的标注就是典型的非刚体对象,当视角变化或者骨节点旋转时,容易出现自遮挡的现象,这对非刚体对象的标注带来了很大的困难。目前,对人手的标注,是在2d图像中标记出骨节点的位置。缺失了关键点的深度信息,需要人为估计出点的位置,存在估计误差,导致在3d空间中的重构的对象结构发生畸变。在出现自遮挡的情况下,估计误差非常大,通过人工估计关键点的深度信息,关键点信息精确度不高。
44.基于此,在本技术的各种实施例中,确定n个第一图像的标注信息,基于确定出的标注信息,根据n个第一图像中的任两个第一图像对应的第一矩阵,确定第一关键点在第一坐标系对应的三维坐标。其中,n个第一图像表征从m个设定视角拍摄得到的第二图像中确定出的n个图像,标注信息表征第一关键点在对应的图像中的二维坐标,第一坐标系表征对应的两个第一图像中的任一第一图像对应的相机坐标系,第一矩阵基于对应的两个第一坐标系的转换矩阵确定,m,n均为大于或等于2的整数,且m大于或等于n。上述方案中,根据任两个第一图像中第一关键点的二维坐标和对应的第一矩阵,确定第一关键点在这两个第一
图像中的任一第一图像对应的相机坐标系中的三维坐标,这样,能够更为准确地估计关键点的深度信息的准确度,从而提高了关键点信息的精确度。
45.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
46.图1为本技术实施例提供的相机系统的实物示意图。其中,相机系统中设置有至少两个相机,在同一时刻,每个相机可以从对应的设定视角对同一对象进行拍摄。并且,相机系统可以是一个手持的装置。这样,相机系统拍摄的图像的背景环境是可变的,通过移动可以使采集数据的背景实时变化,提高了基于深度学习方法的泛化性。
47.在实际应用中,相机的数量可以为偶数个,沿相机系统的中轴线对称。
48.结合图1示出的六臂相机系统的实物示意图和图2示出的示意图为例,被采集对象,也就是图2中的空间p点,同时落入6个相机(图1中的11至16)的图像中,6个相机分别从对应的设定视角对被采集对象进行拍摄,空间p点分别落在6个图像上的p1、p2、p3、p4、p5、p6点,o1、o2、o3、o4、o5、o6分别是6个相机的光心。
49.相机系统的使用过程包括两个阶段:硬件调试标定阶段、数据采集标注阶段。
50.如图3所示的硬件调试标定阶段的实现流程示意图,硬件调试标定阶段具体包括调试六臂相机的结构、相机系统标定。对硬件调试、标定是离线完成的,当目标对象的采集条件不变时,可在后续的采集、标注过程中重复使用标定结果。
51.调试六臂相机的结构,根据目标对象的大小,选择合适的距离,并调试6个相机的角度,使目标对象旋转运动时能始终保持在6个图像的中心位置,得到合适的角度后固定角度。当目标对象改变、采集距离改变,则重新调试相机的角度。
52.相机系统标定,单个相机的标定过程与张正友标定过程一致,对各个相机分别进行的标定,可得到6个相机的内参矩阵k1,k2,k3,k4,k5,k6。
53.为了标定六臂相机系统,确定6个相机之间的关系,需要得到在同一时刻目标对象在6个相机下的图像。在标定阶段,目标对象是棋盘格。根据应用场景将6个相机调试到合适的角度,使得在6个视角的中心都能观察到目标对象;然后通过张正友标定法得到在同一时刻6个视角的图像分别对应的相机坐标系相对与同一目标对象的转换矩阵,得到每个相机坐标系与目标对象的空间坐标系的转换矩阵,如图4所示出标定示意图中的相机外参矩阵t1、t2、t3、t4、t5、t6。因为每个相机与同一个对象关联,基于对应的两个图像对应的相机外参矩阵,可得到6个相机坐标系两两之间的转换关系的矩阵,包括但不限于图4示出的t13、t35、t24、t46。
54.下面将通过实施例并结合附图具体地对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
55.图5为本技术实施例提供的图像标注方法的实现流程示意图,本技术实施例提供了一种图像标注方法,应用于电子设备,其中,电子设备包括但不限于服务器、终端等电子设备。包括:
56.步骤501:确定n个第一图像的标注信息。
57.其中,所述n个第一图像表征从m个第二图像中确定出的n个图像;所述m个第二图
像表征从m个设定视角拍摄得到的图像;所述标注信息表征第一关键点在对应的图像中的二维坐标;m,n均为大于或等于2的整数,且m大于或等于n。
58.在从m个设定视角拍摄第一对象(即,拍摄对象)得到的第二图像中,选择n个图像,并对这n个图像进行标注,得到m个带有标注信息的第一图像,换句话说,确定m个设定视角拍摄的第二图像中的部分或全部图像的标注信息,这些进行了标注的第二图像是第一图像,第一图像表征从第二图像中选择出的、将要或已经经过关键点标注的图像。这里,标注信息表征第一关键点在图像中对应像素的二维坐标,第一关键点表征第一对象的任一关键点。
59.第一图像的标注信息的表征方式,可以是在第一图像上标记第一关键点,可以是第一图像携带有可用于确定第一关键点的信息,如第一关键点的坐标信息,还可以是二者的结合。在实际应用中,当第一对象为手部时,第一关键点表征常规的21个关键点中的一个关键点,对两个第一图像进行关键点标注,得到第一关键点在这两个图像的一对二维坐标,也就是说,对21个关键点进行关键点标注,能够得到21对二维坐标。
60.m个第二图像中的第一对象处于相同状态,可以认为在拍摄到每个第二图像时,对应的第一对象在真实三维空间坐标系中对应完全相同的三维坐标,m个第二图像表征从m个设定视角下,拍摄处于特定状态的第一对象得到的图像,也就是说,这m个第二图像能够反映处于特定状态的第一对象的m个视角的特征。在实际应用中,m个第二图像可以是在同一时刻拍摄得到的,可以是在第一对象静止的情况下,在不同时刻拍摄得到的。这里不限定得到m个第二图像的方式。
61.以图6示出的图像关键点标注的示意图为例进行说明,从6个第二图像中选择2个图像进行关键点标注,这里,选择进行关键点标注的图像时,可以选择在m个第二图像中选择可视效果好、便于标注的图像作为关键点标注的第一图像。在选择两个图像后,完成关键点的标注。
62.步骤502:基于确定出的标注信息,根据所述n个第一图像中的任两个第一图像对应的第一矩阵,确定第一关键点在第一坐标系对应的三维坐标。
63.其中,所述第一坐标系表征所述对应的两个第一图像中的任一第一图像对应的相机坐标系;所述第一矩阵基于对应的两个第一坐标系的转换矩阵确定。
64.基于第一关键点在n个第一图像中任两个第一图像中的二维坐标,和这两个第一图像中的任一第一图像对应的相机坐标系确定的第一矩阵,确定第一关键点在这两个第一图像中的任一第一图像对应的相机坐标系中的三维坐标,这样,能够更为准确地估计关键点的深度信息的准确度,从而提高了关键点信息的精确度。
65.这里,以图4为例进行说明,选取了图4中的中间两个视图对应的图像为第一图像,基于这两个第一图像分别对应的转换矩阵t3、t4,确定第一矩阵t34。其中,第一矩阵用于在这两个第一图像对应的相机坐标系之间转换坐标信息。转换矩阵,又称为外参矩阵、变换矩阵,包括旋转矩阵r和平移向量t。
66.在基于中间两个视图对应的第一图像计算p点时,由于在标注中存在标注误差,在关键点标注中存在标定误差,投影点不可能完全交于p点,这样,基于两个第一图像分别对应的第一关键点x1、x2,按照对极几何中的定义,设x1、x2为两个第一关键点归一化坐标,这样,能够基于式(1)计算两个第一关键点的深度s1、s2:
67.s2x2=s1rx1 t
ꢀꢀꢀ
(1)
68.其中,r、t基于标定得到。
69.将式(1)乘以基于式(2)得到s1的值:
[0070][0071]
将s1带入式(1),得到s2的值。
[0072]
基于求得的两个第一关键点的深度s1、s2,得到p点在任一第一图像对应的相机坐标系的三维坐标。
[0073]
这里,图7示出了三维坐标测量结果的示意图。图中包括21个关键点的三维坐标。
[0074]
其中,在一实施例中,在所述确定第一关键点在第一坐标系对应的三维坐标之后,所述方法还包括:
[0075]
基于所述第一关键点在第一坐标系的三维坐标,根据第二矩阵,确定所述第一关键点在第二坐标系对应的三维坐标;所述第二坐标系表征任一第二图像对应的相机坐标系;所述第二矩阵基于对应的第一坐标系的转换矩阵和对应的第二坐标系的转换矩阵确定。
[0076]
这里,基于第一关键点在第一坐标系的三维坐标,根据第一坐标系的转换矩阵和第二坐标系的转换矩阵确定出的第二矩阵,确定第一关键点在第二坐标系对应的三维坐标。其中,第二坐标系表征除用于进行坐标转换的第一坐标系以外的任一第二图像对应的相机坐标系。
[0077]
根据转换矩阵得到其他相机坐标系下的三维坐标,实际上是将图7所示出的三维坐标转换为不同相机坐标系下的表示。假设第一关键点在o1坐标系下的三维坐标为在o3坐标系下的三维坐标为和满足式(3)的关系:
[0078][0079]
其中,t
13
表征o1坐标系和o3坐标系的转换关系的矩阵。
[0080]
如此,可将第一对象的第一关键点的三维坐标转换到其他相机坐标系下。这样,通过将三维坐标的坐标系转换,无须对每个特定的图像进行标注,便可得到对应的三维坐标,也就是说,简化了关键点标注的操作,提升了关键点标注效率。
[0081]
前文提及,在标注中存在标注误差,在关键点标注中存在标定误差,确定出的三维坐标存在偏差。具体地,如果将三维坐标投影到第三个第一图像(即,没有用于确定三维坐标的第一图像),会发现标注点与投影点并不重合,存在几个像素的误差。因此,在一实施例中,n大于或等于3,所述基于确定出的标注信息,根据所述n个第一图像中的任两个第一图像对应的第一矩阵,确定第一关键点在第一坐标系对应的三维坐标,包括:
[0082]
基于n个第一图像的标注信息,根据所述n个第一图像中的任两个第一图像对应的第一矩阵,确定所述第一关键点在所述n个第一图像中的每个第一图像对应的相机坐标系的三维坐标;
[0083]
基于所述第一关键点在每个第一图像对应的相机坐标系的三维坐标,根据第二矩阵,确定所述第一关键点在第三坐标系对应的三维坐标;所述第三坐标系表征设定的第一图像对应的相机坐标系;所述第二矩阵基于对应的第一坐标系的转换矩阵和对应的第三坐
标系的转换矩阵确定;
[0084]
基于确定出的所述第一关键点在第三坐标系的p个三维坐标,确定所述第一关键点在第一坐标系的三维坐标;其中,p为大于或等于2的整数。
[0085]
这里,设定n为大于或等于3的整数,也就是说,基于至少三个第一图像中任两个第一图像中第一关键点的二维坐标,和基于这两个第一图像对应的转换矩阵确定的第一矩阵,确定第一关键点在这两个第一图像中的任一第一图像对应的相机坐标系中的三维坐标。
[0086]
这里,对至少三个第一图像进行至少两次的选取组合。例如,设定n为3,对o1坐标系、o2坐标系、o3坐标系分别对应的图像a、图像b和图像c进行标注,选取图像a和图像b为一组,选取图像a和图像c为另一组,这样可以得到3个对应的相机坐标系的三维坐标。
[0087]
基于第一关键点在每个第一图像对应的相机坐标系的三维坐标,也就是在第一关键点在n个相机坐标系的三维坐标,基于第一坐标系的转换矩阵和第三坐标系的转换矩阵确定的第二矩阵,将n个相机坐标系的三维坐标转换为第三坐标系对应的三维坐标,这样,得到第一关键点在第三坐标系的n个三维坐标p
ij
。其中,第三坐标系表征在设定的第一图像对应的相机坐标系。
[0088]
基于第一关键点在第三坐标系的n个三维坐标中的p个三维坐标p
ij
,确定第一关键点在第三坐标系的三维坐标pi,并根据第一关键点在第三坐标系的三维坐标pi可以确定第一关键点在任一第一图像对应的相机坐标系的三维坐标。其中,p为大于或等于2的整数,且p小于或等于n,换句话说,可以基于第三坐标系的部分或全部的三维坐标p
ij
计算三维坐标pi。
[0089]
这样,在描述第一关键点在相机坐标系的位置信息时,基于p个三维坐标p
ij
确定出的三维坐标pi的精确度更高,也就是说,提高了描述第一关键点的三维坐标的精确度。
[0090]
在一实施例中,所述基于确定出的所述第一关键点在第三坐标系的p个三维坐标,确定所述第一关键点在第一坐标系的三维坐标,包括:
[0091]
基于对应的两个第一图像的标注信息和图像中心点坐标,确定在第三坐标系的每个三维坐标对应的权重参数;
[0092]
根据所述p个三维坐标中的每个三维坐标和对应的权重参数,确定所述第一关键点在第三坐标系的三维坐标;
[0093]
基于所述第一关键点在第三坐标系的三维坐标,根据第三矩阵,确定所述第一关键点在第一坐标系对应的三维坐标;所述第三矩阵基于对应的第一坐标系的转换矩阵和对应的第三坐标系的转换矩阵确定。
[0094]
这里,在基于p个三维坐标p
ij
确定融合后的三维坐标pi的过程中,根据式(4)至式(6)确定对应的两个第一图像的标注信息的均值:
[0095][0096][0097]
[0098]
其中,表征第i个第一关键点在第一个第一图像的二维坐标,表征第i个第一关键点在第二个第一图像的二维坐标,表征第i个第一关键点在第三个第一图像的二维坐标。
[0099]
基于式(4)至式(6)的结果,和图像中心点坐标ptc,根据式(7)确定每个三维坐标对应的权重参数:
[0100][0101]
其中,ptc是图像的中心点坐标,是第i个第一关键点的第j个三维坐标的权重。
[0102]
基于式(7)的结果,根据对三维坐标进行加权,根据式(8)确定融合后的三维坐标:
[0103][0104]
其中,是第i个第一关键点的第j个三维坐标,pi是第i个第一关键点的融合后的三维坐标。
[0105]
基于第一关键点在第三坐标系的三维坐标pi,根据第一坐标系和第三坐标系对应的第三转换矩阵,确定第一关键点在第一坐标系的三维坐标。
[0106]
考虑到图像成像原理,在三维空间坐标系中越靠近光心的像素的误差越小,相反,越远离光心的像素误差越大。利用像素与图像中心的距离确定对应的三维坐标的权重,从而提高了描述第一关键点的三维坐标的精确度。
[0107]
在一实施例中,所述方法还包括:
[0108]
基于在对应的相机坐标系的三维坐标,确定所述第一关键点在对应的第二图像中的二维坐标。
[0109]
相机坐标系与第二图像存在对应关系,根据第一关键点在每个相机坐标系下的三维坐标,基于标定时得到的内参矩阵,根据式(9)确定每个相机坐标系的三维坐标在对应的第二图像中的二维坐标:
[0110][0111]
其中,p
ij
是第i个第一关键点在第j个第二图像对应的相机坐标系中的三维坐标,kj是标定时得到的内参矩阵,是第i个第一关键点在第j个第二图像上的二维坐标。
[0112]
其他点以此类推,基于在相机坐标系的三维坐标,可得到每个关键点在对应的第二图像的二维坐标,如图8示出的二维信息效果示意图。也就是说,基于对至少两个第一图像的标注信息,能够确定出第一关键点在除标注的第一图像以外的第二图像的二维信息,这样,无须对这些第二图像进行标注,即可获得对应的标注信息,提高了关键点信息的精确度。
[0113]
前文提及,为使m个第二图像中的每个第二图像的第一对象处于相同状态,m个第二图像可以是同时拍摄得到的。因此,在一实施例中,在所述确定n个第一图像的标注信息之前,所述方法还包括:
[0114]
通过相机系统对包含第一关键点的第一对象进行拍摄,得到m个第二图像;其中,所述相机系统包括m个相机,每个相机从对应的设定视角进行拍摄。
[0115]
这里,电子设备通过包括m个相机的相机系统拍摄第一对象,每个相机能够从对应的设定视角进行拍摄,得到对应的第二图像。这样,得到的m个第二图像是同时拍摄得到的,也就是说,m个第二图像中的第一对象处于相同的状态,可以认为m个第二图像是处于设定状态的第一对象的m视图。这样,电子设备能够得到多视角拍摄的图像,从而获取拍摄对象在各视角的信息。
[0116]
前文提及,因为非刚体对象的多自由度和多视角差异,导致非刚体对象在2d图片中的形态很多,所以对非刚体对象的关键点标注的难度更高。在一实施例中,所述第一对象表征为非刚体对象。
[0117]
这里,确定非刚体对象的第一关键点在至少两个第一图像中的二维坐标,根据任两个第一图像中第一关键点的二维坐标和对应的第一矩阵,确定第一关键点在任一第一图像对应的相机坐标系中的三维坐标,这样,在出现自遮挡的现象时,也能够准确地估计非刚体对象的关键点的深度信息的准确度,从而提高了非刚体对象的关键点信息的精确度。
[0118]
结合应用实施例对本技术再作进一步详细的描述。
[0119]
图9示出了本技术一种应用实施例提供的图像标注方法示意图,应用图1示出的六臂相机系统进行图像采集,在本应用实施例中,图像标注方法包括硬件调试标定阶段和数据采集标注阶段。
[0120]
硬件调试标定阶段与图3示出的过程相同,在此不再赘述。
[0121]
数据采集标注阶段,在六个图像中挑选三个视角拍摄得到的图像,通常是可视效果好、便于标注的图像,确定关键点的标注信息(关键点的二维坐标);然后,根据这三个图像计算出关键点在相机坐标系中的三维坐标,此时得到了三个图像对应的相机坐标系中的关键点的三维坐标,对这些在对应的相机坐标系中的关键点的三维坐标进行刚体转换,转换到同一个相机坐标系下,基于转换后的三维坐标加权融合。
[0122]
接着,通过相机坐标系的转换矩阵,就得到在其他4个视图对应的相机坐标系中的关键点的三维坐标;最后,根据这4个视图对应的相机坐标系中的关键点的三维坐标,通过对应的内参矩阵,得到对应的二维坐标。至此,通过关键点在2个图像的二维坐标的标注信息,就得到了关键点在6个图像对应的坐标系的三维坐标,和在4个图像的二维坐标。这样,一方面,能够更为准确地估计关键点的深度信息的准确度,从而提高了关键点信息的精确度;另一方面,无须对所有图像进行标注,极大地提升了图像标注效率。
[0123]
为实现本技术实施例的方法,本技术实施例还提供了一种图像标注装置,如图10所示,该装置包括:
[0124]
第一处理单元1001,用于确定n个第一图像的标注信息;所述n个第一图像表征从m个第二图像中确定出的n个图像;所述m个第二图像表征从m个设定视角拍摄得到的图像;所述标注信息表征第一关键点在对应的图像中的二维坐标;
[0125]
第二处理单元1002,用于基于确定出的标注信息,根据所述n个第一图像中的任两个第一图像对应的第一矩阵,确定第一关键点在第一坐标系对应的三维坐标;所述第一坐标系表征所述对应的两个第一图像中的任一第一图像对应的相机坐标系;所述第一矩阵基于对应的两个第一坐标系的转换矩阵确定;其中,
[0126]
m,n均为大于或等于2的整数,且m大于或等于n。
[0127]
其中,在一个实施例中,所述装置还包括:
[0128]
第三处理单元,用于基于所述第一关键点在第一坐标系的三维坐标,根据第二矩阵,确定所述第一关键点在第二坐标系对应的三维坐标;所述第二坐标系表征任一第二图像对应的相机坐标系;所述第二矩阵基于对应的第一坐标系的转换矩阵和对应的第二坐标系的转换矩阵确定。
[0129]
在一个实施例中,n大于或等于3,所述第二处理单元1002,用于:
[0130]
基于n个第一图像的标注信息,根据所述n个第一图像中的任两个第一图像对应的第一矩阵,确定所述第一关键点在所述n个第一图像中的每个第一图像对应的相机坐标系的三维坐标;
[0131]
基于所述第一关键点在每个第一图像对应的相机坐标系的三维坐标,根据第二矩阵,确定所述第一关键点在第三坐标系对应的三维坐标;所述第三坐标系表征设定的第一图像对应的相机坐标系;所述第二矩阵基于对应的第一坐标系的转换矩阵和对应的第三坐标系的转换矩阵确定;
[0132]
基于确定出的所述第一关键点在第三坐标系的p个三维坐标,确定所述第一关键点在第一坐标系的三维坐标;其中,p为大于或等于2的整数。
[0133]
在一个实施例中,所述第二处理单元1002,还用于:
[0134]
基于对应的两个第一图像的标注信息和图像中心点坐标,确定在第三坐标系的每个三维坐标对应的权重参数;
[0135]
根据所述p个三维坐标中的每个三维坐标和对应的权重参数,确定所述第一关键点在第三坐标系的三维坐标;
[0136]
基于所述第一关键点在第三坐标系的三维坐标,根据第三矩阵,确定所述第一关键点在第一坐标系对应的三维坐标;所述第三矩阵基于对应的第一坐标系的转换矩阵和对应的第三坐标系的转换矩阵确定。
[0137]
在一个实施例中,所述装置还包括:
[0138]
第四处理单元,用于基于在对应的相机坐标系的三维坐标,确定所述第一关键点在对应的第二图像中的二维坐标。
[0139]
在一个实施例中,所述装置还包括:
[0140]
拍摄单元,用于通过相机系统对包含第一关键点的第一对象进行拍摄,得到m个第二图像;其中,所述相机系统包括m个相机,每个相机从对应的设定视角进行拍摄。
[0141]
在一个实施例中,所述第一对象表征为非刚体对象。
[0142]
实际应用时,所述第一处理单元1001、所述第二处理单元1002、所述第三处理单元、所述第四处理单元、所述拍摄单元可由基于图像标注装置中的处理器,比如中央处理器(cpu,central processing unit)、数字信号处理器(dsp,digital signal processor)、微控制单元(mcu,microcontroller unit)或可编程门阵列(fpga,field-programmable gate array)等实现。
[0143]
需要说明的是:上述实施例提供的图像标注装置在进行图像标注时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部
分处理。另外,上述实施例提供的图像标注装置与图像标注方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0144]
基于上述程序模块的硬件实现,且为了实现本技术实施例图像标注方法,本技术实施例还提供了一种电子设备。图11为本技术实施例电子设备的硬件组成结构示意图,如图11所示,电子设备包括:
[0145]
通信接口1,能够与其它设备比如网络设备等进行信息交互;
[0146]
处理器2,与通信接口1连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的方法。而所述计算机程序存储在存储器3上。
[0147]
当然,实际应用时,电子设备中的各个组件通过总线系统4耦合在一起。可理解,总线系统4用于实现这些组件之间的连接通信。总线系统4除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图11中将各种总线都标为总线系统4。
[0148]
本技术实施例中的存储器3用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。
[0149]
可以理解,存储器3可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,read only memory)、可编程只读存储器(prom,programmable read-only memory)、可擦除可编程只读存储器(eprom,erasable programmable read-only memory)、电可擦除可编程只读存储器(eeprom,electrically erasable programmable read-only memory)、磁性随机存取存储器(fram,ferromagnetic random access memory)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(cd-rom,compact disc read-only memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,random access memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,static random access memory)、同步静态随机存取存储器(ssram,synchronous static random access memory)、动态随机存取存储器(dram,dynamic random access memory)、同步动态随机存取存储器(sdram,synchronous dynamic random access memory)、双倍数据速率同步动态随机存取存储器(ddrsdram,double data rate synchronous dynamic random access memory)、增强型同步动态随机存取存储器(esdram,enhanced synchronous dynamic random access memory)、同步连接动态随机存取存储器(sldram,synclink dynamic random access memory)、直接内存总线随机存取存储器(drram,direct rambus random access memory)。本技术实施例描述的存储器2旨在包括但不限于这些和任意其它适合类型的存储器。
[0150]
上述本技术实施例揭示的方法可以应用于处理器2中,或者由处理器2实现。处理器2可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器2中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器2可以是通用处理器、dsp,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器2可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执
行完成。软件模块可以位于存储介质中,该存储介质位于存储器3,处理器2读取存储器3中的程序,结合其硬件完成前述方法的步骤。
[0151]
处理器2执行所述程序时实现本技术实施例的各个方法中的相应流程,为了简洁,在此不再赘述。
[0152]
在示例性实施例中,本技术实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器3,上述计算机程序可由处理器2执行,以完成前述方法所述步骤。计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、flash memory、磁表面存储器、光盘、或cd-rom等存储器。
[0153]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置、电子设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0154]
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
[0155]
另外,在本技术各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0156]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0157]
或者,本技术上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0158]
需要说明的是,本技术实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。除非另有说明和限定,术语“连接”应做广义理解,例如,可以是电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
[0159]
另外,在本技术实例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解“第一\第二\第三”区分的对象在适当情况下可以互换,以使这里描述的本技术的实施例可以除了在这里图示或描述的那些以外的顺序实施。
[0160]
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关
系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一个”表示多个中的任意一个或多个中的至少两个的任意组合,例如,包括a、b、c中的至少一个,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
[0161]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
[0162]
在具体实施方式中所描述的各个实施例中的各个具体技术特征,在不矛盾的情况下,可以进行各种组合,例如通过不同的具体技术特征的组合可以形成不同的实施方式,为了避免不必要的重复,本技术中各个具体技术特征的各种可能的组合方式不再另行说明。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献