CN113870350A - 图像样本标注方法、装置、终端设备和图像标注*** - Google Patents
图像样本标注方法、装置、终端设备和图像标注*** Download PDFInfo
- Publication number
- CN113870350A CN113870350A CN202111135440.4A CN202111135440A CN113870350A CN 113870350 A CN113870350 A CN 113870350A CN 202111135440 A CN202111135440 A CN 202111135440A CN 113870350 A CN113870350 A CN 113870350A
- Authority
- CN
- China
- Prior art keywords
- image
- camera
- coordinate
- key point
- dimensional coordinate
- 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
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000002372 labelling Methods 0.000 claims abstract description 41
- 239000011159 matrix material Substances 0.000 claims description 42
- 238000013519 translation Methods 0.000 claims description 30
- 230000007704 transition Effects 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 238000012549 training Methods 0.000 description 6
- 238000012795 verification Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 101100458634 Caenorhabditis elegans mtx-2 gene Proteins 0.000 description 2
- 101150100035 MTX1 gene Proteins 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
本申请公开了一种图像样本标注方法、装置、终端设备和图像标注***。该方法基于第一摄像头和第二摄像头之间的位姿关系、目标对象的第n个关键点在第一图像中的第一像素坐标和所述第n个关键点在第二图像中的第二像素坐标计算所述第n个关键点在第一摄像头坐标系下的第一个三维坐标,所述第一图像和所述第二图像分别由所述第一摄像头和所述第二摄像头在同一时刻获取,1≤n≤N,N为待标注关键点的总数;利用所述第一个三维坐标对所述第一图像中的第n个关键点进行标注。本申请可以获得目标对象被遮挡部位绝对深度,解决深度相机无法获得目标对象被遮挡部位绝对深度的问题。
Description
技术领域
本发明涉及图像处理技术领域,尤其涉及一种图像样本标注方法、装置、终端设备和图像标注***。
背景技术
目前,大多数基于人工智能算法的图像识别模型,需要利用大量带有标注的图像数据集来训练,才能获得一个性能较为稳定的图像识别模型。现有公开的图像数据集对图像识别模型的训练有很大的帮助,但是,对于一些特定模型的训练,利用现有公开的图像数据集可能难以使得特定模型达到预定要求,此时,则需要专门人员自行采图像数据集并对其中的图像样本进行标注,现有的深度相机虽然可检测到拍摄空间内目标对象的深度,但是,在目标对象的自由度较大的情况下,目标对象可能受到自身的被遮挡,导致深度相机无法获取到被遮挡部位的绝对深度。
发明内容
鉴于上述问题,本申请提出图像样本标注方法、装置、终端设备和图像标注***。
本申请实施例提出一种图像样本标注方法,包括:
基于第一摄像头和第二摄像头之间的位姿关系、目标对象的第n个关键点在第一图像中的第一像素坐标和所述第n个关键点在第二图像中的第二像素坐标计算所述第n个关键点在第一摄像头坐标系下的第一个三维坐标,所述第一图像和所述第二图像分别由所述第一摄像头和所述第二摄像头在同一时刻获取,1≤n≤N,N为待标注关键点的总数;
利用所述第一个三维坐标对所述第一图像中的第n个关键点进行标注。
本申请实施例所述的图像样本标注方法,在所述同一时刻利用至少三个摄像头获取至少三张包括所述目标对象的图像的情况下,在所述基于第一摄像头和第二摄像头之间的位姿关系、目标对象的第n个关键点在第一图像中的第一像素坐标和所述第n个关键点在第二图像中的第二像素坐标计算所述第n个关键点在第一摄像头坐标系下的第一个三维坐标之前,还包括:
从多张包括所述目标对象的图像中选择被遮挡的待标注关键点最少的两张图像作为所述第一图像和所述第二图像;
分别确定所述第n个关键点在所述第一图像中的第一像素坐标和在所述第二图像中的第二像素坐标。
本申请实施例所述的图像样本标注方法,在所述利用所述第一个三维坐标对所述第一图像中的第n个关键点进行标注之前,还包括:
基于所述第一摄像头和第i摄像头之间的位姿关系计算所述第一个三维坐标在第i摄像头坐标系下对应的第一三维坐标,3≤i≤I,I为摄像头总数;
确定所述第一三维坐标在第i图像中对应的像素坐标,并在利用第一标记对所述第i图像中对应的像素坐标进行标记后显示带有第一标记的第i图像;
若各个图像的第一标记均对应所述第n个关键点,则执行所述利用所述第一个三维坐标对所述第一图像中的第n个关键点进行标注;
若存在至少一张图像的第一标记偏离所述第n个关键点,则更新所述第一像素坐标和/或所述第二像素坐标,并重新执行所述基于第一摄像头和第二摄像头之间的位姿关系、目标对象的第n个关键点在第一图像中的第一像素坐标和所述第n个关键点在第二图像中的第二像素坐标计算所述第n个关键点在第一摄像头坐标系下的第一个三维坐标。
本申请实施例所述的图像样本标注方法,还包括:
基于所述第一摄像头和第二摄像头之间的位姿关系计算所述第一个三维坐标在第二摄像头坐标系下的第二个三维坐标;
利用所述第二个三维坐标对所述第二图像中的第n个关键点进行标注。
本申请实施例所述的图像样本标注方法,在所述利用所述第二个三维坐标对所述第二图像中的第n个关键点进行标注之前,还包括:
基于所述第二摄像头和第i摄像头之间的位姿关系计算所述第二个三维坐标在第i摄像头坐标系下对应的第二三维坐标,3≤i≤I,I为摄像头总数;
确定所述第二三维坐标在第i图像中对应的像素坐标,并在利用第二标记对所述第i图像中对应的像素坐标进行标记后显示带有第二标记的第i图像;
若各个图像的第二标记均对应所述第n个关键点,则执行所述利用所述第二个三维坐标对所述第二图像中的第n个关键点进行标注;
若存在至少一张图像的第二标记偏离所述第n个关键点,则更新所述第一像素坐标和/或所述第二像素坐标,并重新执行所述基于第一摄像头和第二摄像头之间的位姿关系、目标对象的第n个关键点在第一图像中的第一像素坐标和所述第n个关键点在第二图像中的第二像素坐标计算所述第n个关键点在第一摄像头坐标系下的第一个三维坐标。
本申请实施例所述的图像样本标注方法,所述基于第一摄像头和第二摄像头之间的位姿关系、目标对象的第n个关键点在第一图像中的第一像素坐标和所述第n个关键点在第二图像中的第二像素坐标计算所述第n个关键点在第一摄像头坐标系下的第一个三维坐标,包括:
利用第一像素坐标和所述第一摄像头的内参矩阵确定第一过渡坐标;
利用第二像素坐标和所述第二摄像头的内参矩阵确定第二过渡坐标;
利用所述第一摄像头和第二摄像头之间的位姿关系、所述第一过渡坐标和所述第二过渡坐标计算所述第n个关键点对应的四维坐标;
利用所述四维坐标中前三个维度的坐标值分别除以第四个维度的坐标值以获得所述第一个三维坐标。
本申请实施例所述的图像样本标注方法,还包括:预先确定任意两个摄像头之间的位姿关系,所述位姿关系包括旋转矩阵和平移向量。
本申请实施例所述的图像样本标注方法,所述预先确定任意两个摄像头之间的位姿关系,包括:
确定各个摄像头的内参矩阵和畸变系数;
利用各个摄像头的内参矩阵和畸变系数确定各个摄像头的基本旋转向量和基本平移向量;
利用任意两个摄像头的基本旋转向量和基本平移向量计算所述任意两个摄像头之间的旋转矩阵和平移向量。
本申请实施例还提出一种图像样本标注装置,包括:
计算模块,用于基于第一摄像头和第二摄像头之间的位姿关系、目标对象的第n个关键点在第一图像中的第一像素坐标和所述第n个关键点在第二图像中的第二像素坐标计算所述第n个关键点在第一摄像头坐标系下的第一个三维坐标,所述第一图像和所述第二图像分别由所述第一摄像头和所述第二摄像头在同一时刻获取,1≤n≤N,N为待标注关键点的总数;
标注模块,用于利用所述第一个三维坐标对所述第一图像中的预定位置进行标注。
本申请实施例还提出一种终端设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行本申请实施例所述的图像样本标注方法。
本申请实施例还提出一种图像标注***,包括多个摄像头和本申请实施例所述的终端设备。
本申请实施例还提出一种可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行本申请实施例所述的图像样本标注方法。
本申请公开的图像样本标注方法,利用两个单目摄像头在同一时刻获取的包括目标对象的两张图像以及两个单目摄像头之间的位姿关系,可以确定两张图像中目标对象的任一位置的三维坐标,以通过该三维坐标为对应位置添加三维标注,进而解决深度相机无法获得目标对象被遮挡部位绝对深度的问题。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
图1示出了本申请实施例提出的一种摄像头位姿关系确定步骤的流程示意图;
图2示出了本申请实施例中提出的一种aruco码的示意图;
图3示出了本申请实施例提出的一种图像样本标注方法的流程示意图;
图4示出了本申请实施例提出的一种图像样本标注方法中第一个三维坐标确定过程的流程示意图;
图5示出了本申请实施例提出的一种包括手部的第一图像和第二图像的示意图;
图6示出了本申请实施例提出的一种各个坐标系之间关系的示意图;
图7示出了本申请实施例提出的一种图像样本标注方法中验证第一图像标注准确性的流程示意图;
图8示出了本申请实施例提出的另一种图像样本标注方法的流程示意图;
图9示出了本申请实施例提出的一种图像样本标注方法中验证第二图像标注准确性的流程示意图;
图10示出了本申请实施例提出的一种图像样本标注装置的结构示意图;
图11示出了本申请实施例提出的一种终端设备的结构示意图;
图12示出了本申请实施例提出的一种图像标注***的结构示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
本申请公开的图像样本标注方法,利用两个单目摄像头在同一时刻获取的包括目标对象的两张图像以及两个单目摄像头之间的位姿关系,可以确定两张图像中目标对象的任一位置的三维坐标,以通过该三维坐标为对应位置添加三维标注,以克服深度相机无法获得目标对象被遮挡部位绝对深度的问题。
进一步的,本申请为了保证所添加的三维标注的准确性,本申请还可以利用至少三个单目摄像头在同一时刻获取的包括目标对象的至少三张图像以及各个单目摄像头之间的位姿关系,在确定任意两张图像中目标对象的任一位置的三维坐标后,可以通过两张图像中的一张图像对应的三维坐标以及该图像对应的单目摄像头和其他各个单目摄像头之间的位姿关系确定该三维坐标在其他各个图像中对应的位置以确定该三维坐标的准确性,并且还可以通过两张图像中的另一张图像对应的三维坐标以及该图像对应的单目摄像头和其他各个单目摄像头之间的位姿关系确定该三维坐标在其他各个图像中对应的位置以确定该三维坐标的准确性。
需要说明的是,各个单目摄像头之间的位姿关系包括旋转矩阵和平移向量,即一个单目摄像头通过两个单目摄像头之间的旋转矩阵和平移向量可以从当前位置移动到另一个单目摄像头所在的位置,并且姿态与另一个单目摄像头相同。各个单目摄像头之间的位姿关系也是预先获取的,例如,请参见图1,可以预先通过以下位姿关系确定步骤确定各个单目摄像头之间的位姿关系S10~S30:
S10:确定各个摄像头的内参矩阵和畸变系数。
可以利用棋盘格标定法确定各个摄像头的内参矩阵和畸变系数。示范性的,准备棋盘格标定板,为减小各个摄像头的位姿关系误差,需要选择精度较高且表面平整的棋盘格作为标定板;利用位姿关系固定的两个摄像头对角度和位置不断变化的棋盘格标定板进行拍照以获得多张图片(可以为25-30张图片),利用多张图片根据张正友标定法计算出相机内参矩阵和畸变系数。
S20:利用各个摄像头的内参矩阵和畸变系数确定各个摄像头的基本旋转向量和基本平移向量。
示范性的,可以利用aruco码计算每一个摄像头的基本旋转向量和基本平移向量,计算步骤如下:
预先生成如图2所示的aruco码,aruco码的规格可以为6*6,一个黑色方块或白色方块就叫做一个比特,aruco码周围用了一圈黑色框围着,一个6*6的码标套上一个宽度为1的框,除了6*6外,也可以选择4*4,5*5,7*7规格。aruco码的边长为14cm(也可选择其他尺寸),将其打印后,粘贴到平面上。
示范性的,在确定第一摄像头的基本旋转向量和基本平移向量时,需要aruco码能完整的同时出现在两个摄像头的视野中,例如,同时出现在第一摄像头和第二摄像头的视野中。
检测第一摄像头拍摄的aruco码的四个角点corners1和id1,检测第二摄像头拍摄的aruco码的四个角点corners2和id2,角点表示aruco码最***的四个点,id表示码在字典中的编号,这一步可利用aruco.detectMarkers函数实现。
进一步的,利用以下公式计算第一摄像头的基本旋转向量r1和基本平移向量t1:
r1,t1,_=aruco.estimatePoseSingleMarkers(corners1,0.14,mtx1,dist1)
其中,aruco.estimatePoseSingleMarkers是opencv种用于计算摄像头外参的函数,0.14表示aruco码的边长(14cm=0.14m),mtx1表示第一摄像头的内参矩阵,dist1表示第一摄像头的畸变系数。
将第一摄像头的基本旋转向量r1通过罗德里格斯公式转换为基本旋转矩阵R1。
进一步的,利用以下公式计算第二摄像头的基本旋转向量r2和基本平移向量t2:
r2,t2,_=aruco.estimatePoseSingleMarkers(corners1,0.14,mtx2,dist2)
其中,mtx2表示第二摄像头的内参矩阵,dist2表示第二摄像头的畸变系数。
需要说明的是,上述函数aruco.estimatePoseSingleMarkers()中的0.14与aruco码的边长有关,若aruco码选择其他尺寸,ruco码的边长改变时,上述函数中的0.14相应的被替换为当前ruco码的边长对应的值。
将第二摄像头的基本旋转向量r2通过罗德里格斯公式转换为旋转矩阵R2。
S30:利用任意两个摄像头的基本旋转向量和基本平移向量计算所述任意两个摄像头之间的旋转矩阵和平移向量。
可以理解,以aruco码的中心作为世界坐标系原点,摄像头坐标(xc,yc,zc)到世界坐标(xw,yw,zw)的关系如下:
由于,在步骤S20已经获得R1,R2,t1和t2,则可以计算出第二摄像头到第一摄像头的旋转矩阵为R1R2 -1,第二摄像头到第一摄像头的和平移向量为t1-R1R2 -1t2。第一摄像头到第二摄像头的旋转矩阵和平移向量的计算方法同理。
需要说明的是,本申请中的目标对象可以是人脸、手部和身体等,在目标对象是人脸时,得到的图像样本可以用于训练人脸识别模型,在目标对象是手部时,得到的图像样本可以用于训练手部位姿识别模型,在目标对象是身体时,得到的图像样本可以用于训练身***姿识别模型。下面本申请实施例中以目标对象是手部为例进行进一步说明。
本申请的一个实施例,请参见图3,提出一种图像样本标注方法,包括以下步骤S100和S200:
S100:基于第一摄像头和第二摄像头之间的位姿关系、目标对象的第n个关键点在第一图像中的第一像素坐标和所述第n个关键点在第二图像中的第二像素坐标计算所述第n个关键点在第一摄像头坐标系下的第一个三维坐标。
其中,第一图像和第二图像可以是第一摄像头和第二摄像头实时获取的,实时获取第一摄像头和第二摄像头获得的图像以对其进行标注,也可以是预先由第一摄像头和第二摄像头获取后存储在预定位置,在进行图像标注时,从预定位置获取第一图像和第二图像对其进行标注。
可以理解,所述第一图像和所述第二图像分别由所述第一摄像头和所述第二摄像头在同一时刻获取,均包括目标对象,在目标对象是手部时,可以对手部的5个、21个或26个关键点依次进行标注,因此,1≤n≤N,N为待标注关键点的总数。示范性的,可参见图2,给出一种包括21个关键点的手部示意图,其中,21个关键点分别对应手部的21个关节。
需要说明的是,可以根据待训练模型的需求,为N设置不同的值。
示范性的,请参见图4,上述步骤S100包括以下步骤S110~S140:
S110:利用第一像素坐标和所述第一摄像头的内参矩阵确定第一过渡坐标。
请参见图5,左侧为第一摄像头拍摄的带有手部的第一图像,右侧为第二摄像头拍摄的带有手部的第二图像,图5中三角形表示待标注的关键点,第一图像和第二图像中的三角形为对应实际手部的同一位置的像素点,如食指根关节位置。由于三角形所在位置为手动获取,因此已知第一图像中三角形所在位置的第一像素坐标为(u1,v1),第二图像中三角形所在位置的第二像素坐标为(u2,v2)。可以理解,在图6中,第一像素坐标(u1,v1)和第二像素坐标(u2,v2)是在对应的像平面上的坐标。
在已知第一像素坐标(u1,v1)的情况下,可以利用第一摄像头的内参矩阵中的焦距(fx1和fy1)以及第一摄像头的光学中心(x01,y01)求出第一像素坐标对应的第一过渡坐标(x1,y1),公式如下:
x1=(u1-x01)/fx1。
y1=(v1-y01)/fy1。
S120:利用第二像素坐标和所述第二摄像头的内参矩阵确定第二过渡坐标。
在已知第二像素坐标(u2,v2)的情况下,可以利用第二摄像头的内参矩阵中的焦距(fx2和fy2)以及第二摄像头的光学中心(x02,y02)求出第二像素坐标对应的第二过渡坐标(x2,y2),公式如下:
x2=(u2-x02)/fx2。
y2=(v2-y02)/fy2。
S130:利用所述第一摄像头和第二摄像头之间的位姿关系、所述第一过渡坐标和所述第二过渡坐标计算所述第n个关键点对应的四维坐标。
示范性的,可以利用opencv的函数cv2.triangulatePoints(T1,T2,point1,point2,Points_4d),求得第n个关键点对应的四维坐标Points_4d。其中,point1=(x1,y1),point2=(x2,y2),R12为第一摄像头相对于第二摄像头的旋转矩阵,T12为第一摄像头相对于第二摄像头的平移向量。
S140:利用所述四维坐标中前三个维度的坐标值分别除以第四个维度的坐标值以获得所述第一个三维坐标。
其中,四维坐标Points_4d是齐次坐标,共四个维度,需要将前三个维度的坐标值除以第四个维度的坐标值,最终得到第n个关键点在第一摄像头坐标系下的第一个三维坐标(xc1,yc1,zc1)。
S200:利用所述第一个三维坐标对所述第一图像中的第n个关键点进行标注。
可以利用所述第一个三维坐标作为第一图像中的第n个关键点的三维标注。在需要对第一图像中的第n个关键点进行二维标注的情况下,可以将第一像素坐标作为第n个关键点的二维标注。
需要说明的是,上述步骤S100和S200需要执行N次,才能实现对N各关键点进行标注。示范性的,可以先执行N次步骤S100,再执行N次步骤S200;还可以先执行一次步骤S100,再执行一次步骤S200,然后,重新执行一次步骤S100和S200,如此循环N次,以实现对N各关键点进行标注。
本实施例所利用的第一摄像头和第二摄像头均为单目摄像头,利用二维图像获得各个关键点的绝对深度,解决现有利用深度相机无法获取到被遮挡部位的绝对深度的问题。
进一步的,为了验证第一图像所添加的三维标注的准确性,可以在同一时刻利用至少三个摄像头获取至少三张包括目标对象的图像,其中两张图像用于确定各个关键点的三维坐标,其余的图像用于验证各个关键点的三维坐标的准确性。
示范性的,在所述同一时刻利用至少三个摄像头获取至少三张包括所述目标对象的图像的情况下,由于标注后的图像要作为训练模型的训练样本,因此,可以从多张包括所述目标对象的图像中选择被遮挡的待标注关键点最少的两张图像作为所述第一图像和所述第二图像,以保证各个训练样本中关键点具有更高的清晰度。
进一步的,分别确定所述第n个关键点在所述第一图像中的第一像素坐标和在所述第二图像中的第二像素坐标,其中,第一图像中的第一像素坐标和在所述第二图像中的第二像素坐标依次有人工标定。
进一步的,请参见图7,可以利用以下验证方法S191~S194,验证第一图像中的第一像素坐标对应的三维坐标的准确性。
S191:基于所述第一摄像头和第i摄像头之间的位姿关系计算所述第一个三维坐标在第i摄像头坐标系下对应的第一三维坐标,3≤i≤I,I为摄像头总数。
示范性的,可以利用以下公式确定第一个三维坐标在第i摄像头坐标系下对应的第一三维坐标:
其中,(xc1,yc1,zc1)为第一摄像头坐标系下的第一个三维坐标,(xci,yci,zci)为第一个三维坐标在第i摄像头坐标系下对应的第一三维坐标,R1i为第一摄像头坐标系到第i摄像头坐标系的旋转矩阵,T1i为第一摄像头坐标系到第i摄像头坐标系的平移向量。
S192:确定所述第一三维坐标在第i图像中对应的像素坐标,并在利用第一标记对所述第i图像中对应的像素坐标进行标记后显示带有第一标记的第i图像。
根据摄像头坐标系和图像像素坐标系之间的转换关系,可以确定(xci,yci,zci)在第i个图像像素坐标系下的像素坐标,利用第一标记对所述第i图像中对应的像素坐标进行标记后显示带有第一标记的第i图像,以便于判断第i图像的第一标记是否对应所述第n个关键点。
S193:判断各个图像的第一标记是否全部对应所述第n个关键点。
若各个图像的第一标记均对应所述第n个关键点,说明第一个三维坐标对所述第一图像中的第n个关键点的标记准确,则执行上述步骤S200,若存在至少一张图像的第一标记偏离所述第n个关键点,说明第一个三维坐标对所述第一图像中的第n个关键点的标记存在误差,则执行步骤S194:更新所述第一像素坐标和/或所述第二像素坐标,然后重新执行步骤S100。
进一步的,为保证标注的准确性,请参见图8,在步骤S200后还包括S300和S400,通过对第二图像进行标注,将标注后的第二图像作为一个训练样本。
S300:基于所述第一摄像头和第二摄像头之间的位姿关系计算所述第一个三维坐标在第二摄像头坐标系下的第二个三维坐标。
例如,可以利用以下公式确定第一个三维坐标在第二摄像头坐标系下对应的第二三维坐标:
其中,(xc1,yc1,zc1)为第一摄像头坐标系下的第一个三维坐标,(xc2,yc2,zc2)为第一个三维坐标在第二摄像头坐标系下对应的第二个三维坐标,R12为第一摄像头坐标系到第二摄像头坐标系的旋转矩阵,T12为第一摄像头坐标系到第二摄像头坐标系的平移向量。
S400:利用所述第二个三维坐标对所述第二图像中的第n个关键点进行标注。
可以利用所述第二个三维坐标作为第二图像中的第n个关键点的三维标注。在需要对第二图像中的第n个关键点进行二维标注的情况下,可以将第二像素坐标作为第n个关键点的二维标注。
进一步的,请参见图9,还可以在S400之前利用以下验证方法S391~S393,对第二个三维坐标的准确性进行验证。
S391:基于所述第二摄像头和第i摄像头之间的位姿关系计算所述第二个三维坐标在第i摄像头坐标系下对应的第二三维坐标,3≤i≤I,I为摄像头总数。
示范性的,可以利用以下公式确定第二个三维坐标在第i摄像头坐标系下对应的第二三维坐标:
其中,(xc2,yc2,zc2)为第二摄像头坐标系下的第二个三维坐标,(xci,yci,zci)为第二个三维坐标在第i摄像头坐标系下对应的第二三维坐标,R2i为第二摄像头坐标系到第i摄像头坐标系的旋转矩阵,T2i为第二摄像头坐标系到第i摄像头坐标系的平移向量。
S392:确定所述第二三维坐标在第i图像中对应的像素坐标,并在利用第二标记对所述第i图像中对应的像素坐标进行标记后显示带有第二标记的第i图像。
S393:判断各个图像的第二标记是否全部对应所述第n个关键点。
若各个图像的第二标记均对应所述第n个关键点,说明第二个三维坐标对所述第二图像中的第n个关键点的标记准确,则执行上述步骤S400,若存在至少一张图像的第二标记偏离所述第n个关键点,说明第二个三维坐标对所述第二图像中的第n个关键点的标记存在误差,则执行步骤S194:更新所述第一像素坐标和/或所述第二像素坐标,然后重新执行步骤S100。
本申请的另一个实施例,请参见图10,提出一种图像样本标注装置10包括:计算模块11和标注模块12。
计算模块11,用于基于第一摄像头和第二摄像头之间的位姿关系、目标对象的第n个关键点在第一图像中的第一像素坐标和所述第n个关键点在第二图像中的第二像素坐标计算所述第n个关键点在第一摄像头坐标系下的第一个三维坐标,所述第一图像和所述第二图像分别由所述第一摄像头和所述第二摄像头在同一时刻获取,1≤n≤N,N为待标注关键点的总数;标注模块12,用于利用所述第一个三维坐标对所述第一图像中的预定位置进行标注。
进一步的,在所述同一时刻利用至少三个摄像头获取至少三张包括所述目标对象的图像的情况下,在所述基于第一摄像头和第二摄像头之间的位姿关系、目标对象的第n个关键点在第一图像中的第一像素坐标和所述第n个关键点在第二图像中的第二像素坐标计算所述第n个关键点在第一摄像头坐标系下的第一个三维坐标之前,还包括:从多张包括所述目标对象的图像中选择被遮挡的待标注关键点最少的两张图像作为所述第一图像和所述第二图像;分别确定所述第n个关键点在所述第一图像中的第一像素坐标和在所述第二图像中的第二像素坐标。
进一步的,在所述利用所述第一个三维坐标对所述第一图像中的第n个关键点进行标注之前,还包括:基于所述第一摄像头和第i摄像头之间的位姿关系计算所述第一个三维坐标在第i摄像头坐标系下对应的第一三维坐标,3≤i≤I,I为摄像头总数;确定所述第一三维坐标在第i图像中对应的像素坐标,并在利用第一标记对所述第i图像中对应的像素坐标进行标记后显示带有第一标记的第i图像;若各个图像的第一标记均对应所述第n个关键点,则执行所述利用所述第一个三维坐标对所述第一图像中的第n个关键点进行标注;若存在至少一张图像的第一标记偏离所述第n个关键点,则更新所述第一像素坐标和/或所述第二像素坐标,并重新执行所述基于第一摄像头和第二摄像头之间的位姿关系、目标对象的第n个关键点在第一图像中的第一像素坐标和所述第n个关键点在第二图像中的第二像素坐标计算所述第n个关键点在第一摄像头坐标系下的第一个三维坐标。
进一步的,计算模块11,还用于基于所述第一摄像头和第二摄像头之间的位姿关系计算所述第一个三维坐标在第二摄像头坐标系下的第二个三维坐标;标注模块12,还用于利用所述第二个三维坐标对所述第二图像中的第n个关键点进行标注。
进一步的,在所述利用所述第二个三维坐标对所述第二图像中的第n个关键点进行标注之前,还包括:基于所述第二摄像头和第i摄像头之间的位姿关系计算所述第二个三维坐标在第i摄像头坐标系下对应的第二三维坐标,3≤i≤I,I为摄像头总数;确定所述第二三维坐标在第i图像中对应的像素坐标,并在利用第二标记对所述第i图像中对应的像素坐标进行标记后显示带有第二标记的第i图像;若各个图像的第二标记均对应所述第n个关键点,则执行所述利用所述第二个三维坐标对所述第二图像中的第n个关键点进行标注;若存在至少一张图像的第二标记偏离所述第n个关键点,则更新所述第一像素坐标和/或所述第二像素坐标,并重新执行所述基于第一摄像头和第二摄像头之间的位姿关系、目标对象的第n个关键点在第一图像中的第一像素坐标和所述第n个关键点在第二图像中的第二像素坐标计算所述第n个关键点在第一摄像头坐标系下的第一个三维坐标。
进一步的,所述基于第一摄像头和第二摄像头之间的位姿关系、目标对象的第n个关键点在第一图像中的第一像素坐标和所述第n个关键点在第二图像中的第二像素坐标计算所述第n个关键点在第一摄像头坐标系下的第一个三维坐标,包括:利用第一像素坐标和所述第一摄像头的内参矩阵确定第一过渡坐标;利用第二像素坐标和所述第二摄像头的内参矩阵确定第二过渡坐标;利用所述第一摄像头和第二摄像头之间的位姿关系、所述第一过渡坐标和所述第二过渡坐标计算所述第n个关键点对应的四维坐标;利用所述四维坐标中前三个维度的坐标值分别除以第四个维度的坐标值以获得所述第一个三维坐标。
进一步的,还包括:预先确定任意两个摄像头之间的位姿关系,所述位姿关系包括旋转矩阵和平移向量。
示范性的,所述预先确定任意两个摄像头之间的位姿关系,包括:确定各个摄像头的内参矩阵和畸变系数;利用各个摄像头的内参矩阵和畸变系数确定各个摄像头的基本旋转向量和基本平移向量;利用任意两个摄像头的基本旋转向量和基本平移向量计算所述任意两个摄像头之间的旋转矩阵和平移向量。
本实施例公开的图像样本标注装置10通过计算模块11和标注模块12的配合使用,用于执行上述实施例所述的图像样本标注方法,上述实施例所涉及的实施方案以及有益效果在本实施例中同样适用,在此不再赘述。
本申请的再一个实施例,请参见图11,提出一种终端设备100,包括存储器110和处理器120,所述存储器110存储有计算机程序,所述计算机程序在所述处理器120上运行时执行本申请实施例所述的图像样本标注方法。
请参见图12,本申请实施例还涉及一种图像标注***,包括多个摄像头和本申请实施例所述的终端设备。本申请无需借助深度相机即可获得任一像素点的3D坐标,并且,可以通过移动各个摄像头的位置和方向灵活的采集不同背景下的手势图像。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的可读存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
Claims (12)
1.一种图像样本标注方法,其特征在于,包括:
基于第一摄像头和第二摄像头之间的位姿关系、目标对象的第n个关键点在第一图像中的第一像素坐标和所述第n个关键点在第二图像中的第二像素坐标计算所述第n个关键点在第一摄像头坐标系下的第一个三维坐标,所述第一图像和所述第二图像分别由所述第一摄像头和所述第二摄像头在同一时刻获取,1≤n≤N,N为待标注关键点的总数;
利用所述第一个三维坐标对所述第一图像中的第n个关键点进行标注。
2.根据权利要求1所述的图像样本标注方法,其特征在于,在所述同一时刻利用至少三个摄像头获取至少三张包括所述目标对象的图像的情况下,在所述基于第一摄像头和第二摄像头之间的位姿关系、目标对象的第n个关键点在第一图像中的第一像素坐标和所述第n个关键点在第二图像中的第二像素坐标计算所述第n个关键点在第一摄像头坐标系下的第一个三维坐标之前,还包括:
从多张包括所述目标对象的图像中选择被遮挡的待标注关键点最少的两张图像作为所述第一图像和所述第二图像;
分别确定所述第n个关键点在所述第一图像中的第一像素坐标和在所述第二图像中的第二像素坐标。
3.根据权利要求2所述的图像样本标注方法,其特征在于,在所述利用所述第一个三维坐标对所述第一图像中的第n个关键点进行标注之前,还包括:
基于所述第一摄像头和第i摄像头之间的位姿关系计算所述第一个三维坐标在第i摄像头坐标系下对应的第一三维坐标,3≤i≤I,I为摄像头总数;
确定所述第一三维坐标在第i图像中对应的像素坐标,并在利用第一标记对所述第i图像中对应的像素坐标进行标记后显示带有第一标记的第i图像;
若各个图像的第一标记均对应所述第n个关键点,则执行所述利用所述第一个三维坐标对所述第一图像中的第n个关键点进行标注;
若存在至少一张图像的第一标记偏离所述第n个关键点,则更新所述第一像素坐标和/或所述第二像素坐标,并重新执行所述基于第一摄像头和第二摄像头之间的位姿关系、目标对象的第n个关键点在第一图像中的第一像素坐标和所述第n个关键点在第二图像中的第二像素坐标计算所述第n个关键点在第一摄像头坐标系下的第一个三维坐标。
4.根据权利要求2所述的图像样本标注方法,其特征在于,还包括:
基于所述第一摄像头和第二摄像头之间的位姿关系计算所述第一个三维坐标在第二摄像头坐标系下的第二个三维坐标;
利用所述第二个三维坐标对所述第二图像中的第n个关键点进行标注。
5.根据权利要求4所述的图像样本标注方法,其特征在于,在所述利用所述第二个三维坐标对所述第二图像中的第n个关键点进行标注之前,还包括:
基于所述第二摄像头和第i摄像头之间的位姿关系计算所述第二个三维坐标在第i摄像头坐标系下对应的第二三维坐标,3≤i≤I,I为摄像头总数;
确定所述第二三维坐标在第i图像中对应的像素坐标,并在利用第二标记对所述第i图像中对应的像素坐标进行标记后显示带有第二标记的第i图像;
若各个图像的第二标记均对应所述第n个关键点,则执行所述利用所述第二个三维坐标对所述第二图像中的第n个关键点进行标注;
若存在至少一张图像的第二标记偏离所述第n个关键点,则更新所述第一像素坐标和/或所述第二像素坐标,并重新执行所述基于第一摄像头和第二摄像头之间的位姿关系、目标对象的第n个关键点在第一图像中的第一像素坐标和所述第n个关键点在第二图像中的第二像素坐标计算所述第n个关键点在第一摄像头坐标系下的第一个三维坐标。
6.根据权利要求1所述的图像样本标注方法,其特征在于,所述基于第一摄像头和第二摄像头之间的位姿关系、目标对象的第n个关键点在第一图像中的第一像素坐标和所述第n个关键点在第二图像中的第二像素坐标计算所述第n个关键点在第一摄像头坐标系下的第一个三维坐标,包括:
利用第一像素坐标和所述第一摄像头的内参矩阵确定第一过渡坐标;
利用第二像素坐标和所述第二摄像头的内参矩阵确定第二过渡坐标;
利用所述第一摄像头和第二摄像头之间的位姿关系、所述第一过渡坐标和所述第二过渡坐标计算所述第n个关键点对应的四维坐标;
利用所述四维坐标中前三个维度的坐标值分别除以第四个维度的坐标值以获得所述第一个三维坐标。
7.根据权利要求1至6任一项所述的图像样本标注方法,其特征在于,还包括:预先确定任意两个摄像头之间的位姿关系,所述位姿关系包括旋转矩阵和平移向量。
8.根据权利要求7所述的图像样本标注方法,其特征在于,所述预先确定任意两个摄像头之间的位姿关系,包括:
确定各个摄像头的内参矩阵和畸变系数;
利用各个摄像头的内参矩阵和畸变系数确定各个摄像头的基本旋转向量和基本平移向量;
利用任意两个摄像头的基本旋转向量和基本平移向量计算所述任意两个摄像头之间的旋转矩阵和平移向量。
9.一种图像样本标注装置,其特征在于,包括:
计算模块,用于基于第一摄像头和第二摄像头之间的位姿关系、目标对象的第n个关键点在第一图像中的第一像素坐标和所述第n个关键点在第二图像中的第二像素坐标计算所述第n个关键点在第一摄像头坐标系下的第一个三维坐标,所述第一图像和所述第二图像分别由所述第一摄像头和所述第二摄像头在同一时刻获取,1≤n≤N,N为待标注关键点的总数;
标注模块,用于利用所述第一个三维坐标对所述第一图像中的预定位置进行标注。
10.一种终端设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行权利要求1至8任一项所述的图像样本标注方法。
11.一种图像标注***,其特征在于,包括多个摄像头和权利要求10所述的终端设备。
12.一种可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序在处理器上运行时执行权利要求1至8任一项所述的图像样本标注方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111135440.4A CN113870350A (zh) | 2021-09-27 | 2021-09-27 | 图像样本标注方法、装置、终端设备和图像标注*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111135440.4A CN113870350A (zh) | 2021-09-27 | 2021-09-27 | 图像样本标注方法、装置、终端设备和图像标注*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113870350A true CN113870350A (zh) | 2021-12-31 |
Family
ID=78991157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111135440.4A Pending CN113870350A (zh) | 2021-09-27 | 2021-09-27 | 图像样本标注方法、装置、终端设备和图像标注*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113870350A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115620094A (zh) * | 2022-12-19 | 2023-01-17 | 南昌虚拟现实研究院股份有限公司 | 关键点的标注方法、装置、电子设备及存储介质 |
CN116958931A (zh) * | 2023-07-20 | 2023-10-27 | 山东产研鲲云人工智能研究院有限公司 | 用于仓储中车辆碰撞预警的方法及计算设备 |
CN116958931B (zh) * | 2023-07-20 | 2024-07-30 | 山东产研鲲云人工智能研究院有限公司 | 用于仓储中车辆碰撞预警的方法及计算设备 |
-
2021
- 2021-09-27 CN CN202111135440.4A patent/CN113870350A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115620094A (zh) * | 2022-12-19 | 2023-01-17 | 南昌虚拟现实研究院股份有限公司 | 关键点的标注方法、装置、电子设备及存储介质 |
CN116958931A (zh) * | 2023-07-20 | 2023-10-27 | 山东产研鲲云人工智能研究院有限公司 | 用于仓储中车辆碰撞预警的方法及计算设备 |
CN116958931B (zh) * | 2023-07-20 | 2024-07-30 | 山东产研鲲云人工智能研究院有限公司 | 用于仓储中车辆碰撞预警的方法及计算设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107292949B (zh) | 场景的三维重建方法、装置及终端设备 | |
CN109410316B (zh) | 物体的三维重建的方法、跟踪方法、相关装置及存储介质 | |
CN112686950B (zh) | 位姿估计方法、装置、终端设备及计算机可读存储介质 | |
US10679362B1 (en) | Multi-camera homogeneous object trajectory alignment | |
CN113516719B (zh) | 一种基于多单应性矩阵的相机标定方法、***及存储介质 | |
CN111179347B (zh) | 基于区域性特征的定位方法、定位设备及存储介质 | |
CN115018920A (zh) | 一种相机阵列标定方法、装置、电子设备及存储介质 | |
CN113902856B (zh) | 一种语义标注的方法、装置、电子设备及存储介质 | |
CN110599588A (zh) | 三维流场内粒子重构方法及装置、电子设备及存储介质 | |
CN113870350A (zh) | 图像样本标注方法、装置、终端设备和图像标注*** | |
CN111160233B (zh) | 基于三维成像辅助的人脸活体检测方法、介质及*** | |
CN112907657A (zh) | 一种机器人重定位方法、装置、设备及存储介质 | |
CN112258647A (zh) | 地图重建方法及装置、计算机可读介质和电子设备 | |
CN115880448B (zh) | 基于双目成像的三维测量方法及装置 | |
CN111833441A (zh) | 一种基于多相机***的人脸三维重建方法和装置 | |
CN109389645B (zh) | 相机自校准方法、***、相机、机器人及云端服务器 | |
Brunken et al. | Deep learning self-calibration from planes | |
CN113920196A (zh) | 视觉定位方法、装置及计算机设备 | |
CN112802112B (zh) | 视觉定位方法、装置、服务器及存储介质 | |
CN111223139B (zh) | 目标定位方法及终端设备 | |
WO2015086076A1 (en) | Method for determining a similarity value between a first image and a second image | |
CN114897990A (zh) | 一种基于神经网络的相机畸变标定方法、***和存储介质 | |
CN110619677A (zh) | 三维流场内粒子重构方法及装置、电子设备及存储介质 | |
WO2021035703A1 (zh) | 跟踪方法和可移动平台 | |
CN116481515B (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 |