本发明涉及图像处理技术领域,尤其是涉及一种图像标注方法、装置、系统及主机。
背景技术:
目前,深度学习算法已经被广泛应用于工业零部件的缺陷检测中,诸如用于检测金属零件的划痕等缺陷。一般来说,往往需要训练一个神经网络以检测零部件缺陷。在神经网络的训练过程中,标注有缺陷的零部件图像作为训练数据,其数量和标注质量直接影响神经网络的检测效果。
现阶段图像的标注方式主要依赖人工,即需要人工对每一张待标注的零部件图像进行标注,该依赖人工的单张图像的标注方式消耗了较大的标注成本,降低了数据的标注效率;并且每张图像标注数据的质量难以确保统一,从而进一步地对检测效果产生了负面影响。
技术实现要素:
有鉴于此,本发明的目的在于提供一种图像标注方法、装置、系统及主机,能够有效提高标注效率,降低标注成本,对标注结果的质量能够较好地统一,从而有助于提升零件的缺陷检测效果。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种图像标注方法,所述方法由主机执行,所述主机与第一相机相连,所述方法包括:通过所述第一相机获取目标对象的不同角度的多张待标注的二维图像;根据所述目标对象的三维模型和所述第一相机之间的位姿变换关系,计算所述目标对象的三维模型对应于各个所述二维图像的位姿参数;其中,所述三维模型为所述目标对象建模时的模型或者为基于所述目标对象的三维点云数据构建的模型;获取所述三维模型的缺陷标注信息;根据所述三维模型对应于各个所述二维图像的位姿参数,将所述三维模型的缺陷标注信息投影至所述二维图像上,得到所述二维图像的标注结果。
进一步,所述根据所述目标对象的三维模型和所述第一相机之间的位姿变换关系,计算所述目标对象的三维模型对应于各个所述二维图像的位姿参数的步骤,包括:根据所述目标对象的三维模型和所述第一相机之间的位姿变换关系、所述第一相机与所述二维图像之间的投影透射关系,确定所述三维模型对应于各个所述二维图像的位姿参数。
进一步,所述第一相机设置于机械臂的末端;所述主机还连接有第二相机,所述第二相机用于获取所述目标对象的三维点云数据,且所述第二相机为深度相机;所述目标对象的三维模型和所述第一相机之间的位姿变换关系为预先通过以下方式确定的:采用棋盘格标定法获取棋盘格角点分别在第一相机坐标系、世界坐标系和第二相机坐标系下的位姿参数;基于机械臂坐标系与世界坐标系之间预设的第一位姿变换关系以及所述棋盘格角点在所述第一相机坐标系和所述世界坐标系下的位姿参数,标定所述第一相机坐标系和所述机械臂坐标系之间的第二位姿变换关系;根据所述棋盘格角点在所述第一相机坐标系、所述第二相机坐标系下的位姿参数,标定所述第一相机坐标系和所述第二相机坐标系之间的第三位姿变换关系;根据所述棋盘格角点在所述第二相机坐标系、所述世界坐标系下的位姿参数,标定所述第二相机坐标系和所述世界坐标系之间的第四位姿变换关系;基于所述第一位姿变换关系、所述第二位姿变换关系、所述第三位姿变换关系和所述第四位姿变换关系中的至少一种,确定所述目标对象的三维模型和所述第一相机之间的位姿变换关系。
进一步,如果所述三维模型为所述目标对象建模时的模型,所述三维模型和所述第一相机之间的位姿变换关系为基于所述三维模型在世界坐标系下的位姿参数、所述第一位姿变换关系和所述第二位姿变换关系确定的,或者为基于所述三维模型在世界坐标系下的位姿参数、所述第三位姿变换关系和所述第四位姿变换关系确定的。
进一步,如果所述三维模型为基于所述目标对象的三维点云数据构建的模型,所述三维模型和所述第一相机之间的位姿变换关系为基于所述三维模型在第二相机坐标系下的位姿参数和所述第三位姿变换关系确定的;如果所述三维模型为所述目标对象建模时的模型,所述方法还包括:将所述三维模型的点云数据与所述目标对象的三维点云数据进行配准,得到所述三维模型在第二相机坐标系下的位姿参数;所述三维模型和所述第一相机之间的位姿变换关系为基于所述三维模型在第二相机坐标系下的位姿参数和所述第三位姿变换关系确定的。
进一步,所述缺陷标注信息包括缺陷位置和缺陷种类;所述将所述三维模型的缺陷标注信息投影至所述二维图像上,得到所述二维图像的标注结果的步骤,包括:将所述三维模型的缺陷位置投影至所述二维图像上;根据所述缺陷位置在所述二维图像上的投影位置确定缺陷边界框;将所述缺陷边界框和所述缺陷种类标注于所述二维图像上,得到所述二维图像的标注结果。
进一步,所述获取所述三维模型的缺陷标注信息的步骤,包括:根据用户在所述三维模型中选取的三角面片和对所述三角面片添加的标注信息生成所述三维模型的缺陷标注信息。
第二方面,本发明实施例还提供一种图像标注装置,所述装置应用于主机,所述主机与第一相机相连,所述装置包括:图像获取模块,用于通过所述第一相机获取目标对象的不同角度的多张待标注的二维图像;位姿参数计算模块,用于根据所述目标对象的三维模型和所述第一相机之间的位姿变换关系,计算所述目标对象的三维模型对应于各个所述二维图像的位姿参数;其中,所述三维模型为所述目标对象建模时的模型或者为基于所述目标对象的三维点云数据构建的模型;缺陷标注信息获取模块,用于获取所述三维模型的缺陷标注信息;图像标注模块,用于根据所述三维模型对应于各个所述二维图像的位姿参数,将所述三维模型的缺陷标注信息投影至所述二维图像上,得到所述二维图像的标注结果。
第三方面,本发明实施例提供了一种主机,所述主机包括:图像采集装置、处理器和存储装置;所述图像采集装置,用于采集二维图像;所述存储装置上存储有计算机程序,所述计算机程序在被所述处理器运行时执行如第一方面任一项所述的方法。
第四方面,本发明实施例提供了一种图像标注系统,所述系统包括如第三方面所述的主机,还包括与所述主机相连的第一相机。
进一步,所述第一相机设置于机械臂的末端;所述主机还连接有第二相机,且所述第二相机为深度相机。
第五方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面任一项所述的方法的步骤。
本发明实施例提供了一种图像标注方法、装置、系统及主机,首先通过第一相机获取目标对象的不同角度的多张待标注的二维图像;然后根据目标对象的三维模型和第一相机之间的位姿变换关系,计算目标对象的三维模型对应于各个二维图像的位姿参数,并基于此将获取到的三维模型的缺陷标注信息投影至二维图像上,得到二维图像的标注结果。与现有技术中依赖人工的标注方式相比,本实施例提供的上述方式只需要获取到三维模型的缺陷标注信息,即可按照三维模型对应于各个二维图像的位姿参数将该缺陷标注信息映射到大量待标注的二维图像上,有效地提高了标注效率,降低了标注成本;而且,基于三维模型的缺陷标注信息的质量,对标注结果的质量能够较好地统一,从而有助于提升零件的缺陷检测效果。
本发明的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例所提供的一种电子设备的结构示意图;
图2示出了本发明实施例所提供的一种图像标注方法的应用场景示意图;
图3示出了本发明实施例所提供的一种图像标注方法流程图;
图4示出了本发明实施例所提供的一种位姿变换关系的标定过程示意图;
图5示出了本发明实施例所提供的一种图像标注装置的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
考虑到现有依赖人工的图像的标注方式中,存在标注成本高、标注效率低,以及每张图像标注数据的质量不统一的问题,导致零件的缺陷检测效果不好。基于此,为改善以上问题至少之一,本发明实施例提供了一种图像标注方法、装置、系统及主机,能够有效提高标注效率,降低标注成本,对标注结果的质量能够较好地统一,从而有助于提升零件的缺陷检测效果。该技术可以应用于电子、化工、航空航天等各个行业中,实现零部件的缺陷检测功能。为便于理解,以下对本发明实施例进行详细介绍。
实施例一:
首先,参照图1来描述用于实现本发明实施例的图像标注方法及装置的示例电子设备100。
如图1所示的一种电子设备的结构示意图,电子设备100包括一个或多个处理器102、一个或多个存储装置104、输入装置106、输出装置108以及图像采集装置110,这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备可以具有图1示出的部分组件,也可以具有图1未示出的其他组件和结构。
所述处理器102可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制所述电子设备100中的其它组件以执行期望的功能。
所述存储装置104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现下文所述的本发明实施例中(由处理器实现)的客户端功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。
所述输出装置108可以向外部(例如,用户)输出各种信息(例如,图像或声音),并且可以包括显示器、扬声器等中的一个或多个。
所述图像采集装置110可以拍摄用户期望的图像(例如照片、视频等),并且将所拍摄的图像存储在所述存储装置104中以供其它组件使用。
示例性地,用于实现根据本发明实施例的一种图像标注方法及装置的示例电子设备可以被实现为诸如平板电脑、计算机和服务器等智能终端上。
实施例二:
首先,为便于理解,本实施例提供了一种图像标注系统,示例性说明了一种图像标注方法的实际应用场景。参照图2,图像标注系统包括主机以及与主机相连的二维图像采集设备和三维数据采集设备;为便于描述,也可以将二维图像采集设备称为第一相机,将三维数据采集设备称为第二相机。在实际应用中,第一相机可以为单目相机、双目相机或者深度相机;为了在图像采集过程中提升第一相机的灵活性,可以将第一相机搭载于机械臂法兰末端。综合考虑成本、操控复杂度,第一相机可以为单目相机。第二相机一般为深度相机。在本实施例中,第一相机主要用于采集目标对象(如工业零部件)不同角度的二维图像并将该二维图像发送给主机;第二相机主要用于采集目标对象的三维点云数据并将该三维点云数据发送给主机;主机用于基于三维点云数据重建三维模型,获取人工对三维模型的缺陷标注信息以及基于该缺陷标注信息对二维图像进行缺陷投影输出。上述主机诸如为计算机或服务器等设备。
当第一相机也采用深度相机时,第一相机和第二相机可以相同。但是,考虑到在实际应用中对二维图像和三维点云数据的拍摄距离、扫描精度等要求不同,通常将第一相机和第二相机设置为不同的深度相机。
参照图3所示的一种图像标注方法的流程图,该方法可以应用于工业中多种用于零部件缺陷检测的设备,诸如上述的图像标注系统。结合上述图像标注系统,该图像标注方法可以由主机执行,主机与第一相机相连,参照图3,该方法具体包括如下步骤s304至步骤s308:
步骤s302,通过第一相机获取目标对象的不同角度的多张待标注的二维图像。其中,该目标对象诸如为工业零部件。
一般情况下,通过机械臂控制第一相机移动以采集目标对象的不同角度的多张待标注的二维图像;此外,在采集二维图像时,还可以同时记录第一相机的位姿参数,该位姿参数可以包括第一相机的内参数和外参数;其中,内参数诸如相机的焦距、畸变系数等参数,外参数指第一相机在三维空间中的位置和朝向,用于描述在静态场景下第一相机的运动,或者在第一相机固定时目标对象的刚性运动。
步骤s304,根据目标对象的三维模型和第一相机之间的位姿变换关系,计算目标对象的三维模型对应于各个二维图像的位姿参数;其中,三维模型为目标对象建模时的模型或者为基于目标对象的三维点云数据构建的模型。
步骤s306,获取三维模型的缺陷标注信息。在实际应用中,该缺陷标注信息是由用户人工标注的,通常可以根据用户在三维模型中选取的三角面片和对三角面片添加的标注信息生成三维模型的缺陷标注信息。
步骤s308,根据三维模型对应于各个二维图像的位姿参数,将三维模型的缺陷标注信息投影至二维图像上,得到二维图像的标注结果。
在本实施例中,缺陷标注信息包括缺陷位置和缺陷种类;其中,缺陷位置为缺陷在三维模型上的位置,缺陷种类诸如为金属零件的刮伤、划痕的缺陷以及塑料成品的黑点、缺料和缩水的缺陷等。在标注结果的一种获取方式中,可以首先将三维模型的缺陷位置投影至二维图像上;然后根据缺陷位置在二维图像上的投影位置确定缺陷边界框;最后将缺陷边界框和缺陷种类标注于二维图像上,得到二维图像的标注结果。
本发明实施例提供的图像标注方法,首先通过第一相机获取目标对象的不同角度的多张待标注的二维图像;然后根据目标对象的三维模型和第一相机之间的位姿变换关系,计算目标对象的三维模型对应于各个二维图像的位姿参数,并基于此将获取到的三维模型的缺陷标注信息投影至二维图像上,得到二维图像的标注结果。与现有技术中依赖人工的标注方式相比,本实施例提供的上述方式只需要获取到三维模型的缺陷标注信息,即可按照三维模型对应于各个二维图像的位姿参数将该缺陷标注信息映射到大量待标注的二维图像上,有效地提高了标注效率,降低了标注成本;而且,基于三维模型的缺陷标注信息的质量,对标注结果的质量能够较好地统一,从而有助于提升零件的缺陷检测效果。
在实现上述图像标注方法的另一种场景中,主机还可以连接有第二相机,第二相机用于获取目标对象的三维点云数据,且第二相机一般为深度相机。通过深度相机采集目标对象的rgb图像,根据rgb图像中各像素点在像素坐标系下的坐标和深度相机的内参数可以获取rgb图像中各像素点在第二相机坐标系(也可称为深度相机坐标系)下的坐标,第二相机坐标系下的各像素点也就是目标对象的三维点云数据。
在一种实施例中,目标对象的三维点云数据可以用于构建三维模型,由此三维模型的构建方式可参照如下所示:先对三维点云数据进行拼接和降噪处理,然后对处理后的三维点云数据进行渲染,得到目标对象的三维模型。该三维模型是一种三维网格模型,能够构建出目标对象完整的表面轮廓,由此,用户可以根据目标对象表面缺陷的实际位置,在三维网格模型上选取对应位置的三角面片进行标注,以得到缺陷种类和缺陷在三维模型上的三维坐标区域(即缺陷位置)。
可以理解是的,当三维模型为基于目标对象的三维点云数据构建的模型时,上述构建三维模型的步骤是在上述计算目标对象的三维模型对应于各个二维图像的位姿参数的步骤之前执行的。
当然,三维模型还可以为目标对象建模时的模型,比如为通过目标对象的设计图纸直接获取的模型。
无论三维模型为目标对象建模时的模型或者为基于目标对象的三维点云数据构建的模型,对于实际应用中预先搭建好的固定的图像标注系统(如图2所示),上述步骤s304中三维模型和第一相机之间的位姿变换关系通常都是预先确定的,且可以在图像标注方法中直接应用上述预先确定的位姿变换关系。为了便于理解,本实施例提供一种三维模型和第一相机之间的位姿变换关系的确定方式,参照如下步骤(一)至步骤(五):
步骤(一)、采用棋盘格标定法获取棋盘格角点分别在第一相机坐标系、机器人世界坐标系(以下简称为世界坐标系)和第二相机坐标系下的位姿参数。参照图4,基于棋盘格角点分别在各个坐标系下的位姿参数,三维模型和第一相机之间的位姿变换关系的确定过程可以主要分为两个分支进行,第一个分支为标定机械臂坐标系与第一相机坐标系,参照如下步骤(二)。
步骤(二):基于机械臂坐标系与世界坐标系之间预设的第一位姿变换关系以及棋盘格角点在第一相机坐标系和世界坐标系下的位姿参数,标定第一相机坐标系和机械臂坐标系之间的第二位姿变换关系。在具体实现时,可首先采用现有技术中的常规标定方式,诸如采用张氏标定法实现对第一相机的内参数的标定。其次基于完成内参数标定的第一相机,通过多次移动机械臂以采集多组棋盘格角点在第一相机坐标系、世界坐标系下的位姿参数。然后通过机械臂直接读取机械臂坐标系与世界坐标系之间预设的第一位姿变换关系,以及将该第一位姿变换关系以及多组棋盘格角点分别在第一相机坐标系、世界坐标系下的位姿参数作为约束,通过求解最优化方程标定第一相机坐标系和机械臂坐标系之间的第二位姿变换关系。
确定三维模型和第一相机之间的位姿变换关系的第二个分支为标定第二相机坐标系与世界坐标系。该标定过程可以通过如下步骤(三)所示的方式一或者步骤(四)所示的方式二实现。
方式一:步骤(三)、根据棋盘格角点在第一相机坐标系、第二相机坐标系下的位姿参数,标定第一相机坐标系和第二相机坐标系之间的第三位姿变换关系。具体的,可以将棋盘格角点在第一相机坐标系和第二相机坐标系下的位姿参数作为约束求解第一相机坐标系和第二相机坐标系之间的第三位姿变换关系。可以理解的是,在确定了上述第一位姿变换关系、第二位姿变换关系和第三位姿变换关系的情况下,还可以由此标定第二相机坐标系与世界坐标系之间的变换关系,并将其作为第四位姿变换关系。参照该方式中确定第四位姿变换关系的方式,可以理解的是,当确定了任意三种位姿变化关系时,均可基于该三种位姿变化关系确定第四种位姿变化关系。
方式二:步骤(四)、根据棋盘格角点在第二相机坐标系、世界坐标系下的位姿参数,标定第二相机坐标系和世界坐标系之间的第四位姿变换关系。
当然,以上坐标系之间的多种位姿变换关系仅为示例性描述,不应当被视为限制。而且,基于上述坐标系之间的四种位姿变换关系,还可以进一步确定坐标系之间的其它位姿变换关系,比如:可以根据第三位姿变换关系和第四位姿变换关系确定第一相机坐标系和世界坐标系之间的第五位姿变换关系。
步骤(五)、基于第一位姿变换关系、第二位姿变换关系、第三位姿变换关系和第四位姿变换关系中的至少一种,确定目标对象的三维模型和第一相机之间的位姿变换关系。由于坐标系之间的位姿变换关系有多种,由此可以通过多种方式确定三维模型和第一相机之间的位姿变换关系,且确定的三维模型和第一相机之间的位姿变换关系也有多种,从而使得用户能够在更多的应用场景中根据实际需求灵活地选择位姿变换关系。
在本实施例中,如果三维模型为基于目标对象的三维点云数据构建的模型,由于构建三维模型的三维点云数据是第二相机直接采集的,由此三维模型和第一相机之间的位姿变换关系可以为基于三维模型在第二相机坐标系下的位姿参数和第三位姿变换关系确定的。
如果三维模型为目标对象建模时的模型,由于通常是在世界坐标系下建立目标对象的三维模型,且世界坐标系与多个坐标系之间均具有位姿变换关系,由此三维模型和第一相机之间的位姿变换关系的确定方式可以有多种,比如如下三种示例:
示例一:三维模型和第一相机之间的位姿变换关系为基于三维模型在世界坐标系下的位姿参数、第一位姿变换关系和第二位姿变换关系确定的。在实际应用中,可以先根据第一位姿变换关系将三维模型在世界坐标系下的位姿参数转换为在机械臂坐标系下的位姿参数,然后再根据第二位姿变换关系将三维模型在机械臂坐标系下的位姿参数转换为第一相机坐标系下的位姿参数;从而实现三维模型和第一相机之间的位姿变换。
示例二:三维模型和第一相机之间的位姿变换关系为基于三维模型在世界坐标系下的位姿参数、第三位姿变换关系和第四位姿变换关系确定的。在实际应用中,可以先根据第四位姿变换关系将三维模型在世界坐标系下的位姿参数转换为在第二相机坐标系下的位姿参数,然后再根据第三位姿变换关系将三维模型在第二相机坐标系下的位姿参数转换为第一相机坐标系下的位姿参数;从而实现三维模型和第一相机之间的位姿变换。
考虑到由第二相机获取三维点云数据以及目标对象建模时的三维模型均与目标对象相关且维度相同(均为三维),基于此,本实施例还可以提供如下内容:将三维模型的点云数据与目标对象的三维点云数据进行配准,得到三维模型在第二相机坐标系下的位姿参数。上述配准可以理解为,将三维模型的点云数据转换到三维点云数据所属的坐标系中,由于三维点云数据是由第二相机直接采集的,由此配准后能得到三维模型在第二相机坐标系下的位姿参数。
基于配准后三维模型的位姿参数,可以提供如下示例三:三维模型和第一相机之间的位姿变换关系为基于三维模型在第二相机坐标系下的位姿参数和第三位姿变换关系确定的。在实际应用中,根据第三位姿变换关系直接将三维模型在第二相机坐标系下的位姿参数转换为在第一相机坐标系下的位姿参数;从而实现三维模型和第一相机之间的位姿变换。
在根据上述方式确定了目标对象的三维模型和第一相机之间的位姿变换关系后,可以参照如下实施例计算目标对象的三维模型对应于各个二维图像的位姿参数:根据目标对象的三维模型和第一相机之间的位姿变换关系、第一相机与二维图像之间的投影透射关系,确定三维模型对应于各个二维图像的位姿参数。
上述三维模型对应于各个二维图像的位姿参数在具体确定时,可以参照如下步骤:步骤a,根据目标对象的三维模型和第一相机之间的位姿变换关系,将三维模型在第二相机坐标系或世界坐标系下的位姿参数转换为在第一相机坐标系下的第一位姿参数;步骤b,根据第一相机与二维图像之间的投影透射关系,生成二维图形上各像素点的真实位姿参数在第一相机坐标系下的第二位姿参数,并获取第二位姿参数与第一位姿参数之间的匹配结果;步骤c,根据匹配结果确定三维模型对应于各个二维图像的位姿参数。
或者在另一种实现方式中,上述步骤b还可以替换为如下步骤b'以得到匹配结果。步骤b',根据第一相机与二维图像之间的投影透射关系,生成第一位姿参数对应于二维图像的第三位姿参数,并获取第三位姿参数与二维图像上各像素点的真实位姿参数之间的匹配结果。
在上述确定三维模型对应于各个二维图像的位姿参数的实施例中,位姿参数可以理解为像素点的横纵坐标。
此外,考虑到重建的三维模型、上述多种位姿变换关系以及人工在三维模型上标注的缺陷位置等均有可能存在一定误差,导致投影后标注结果中的缺陷边界框存在一定的偏差,而该偏差可以直接通过观察二维图像上的标定结果与二维图像上真实的缺陷的位置偏差进行判定。在此情况下,对于存在误差的标定结果,可以生成提醒信息,以提醒用户调整三维模型上标定的缺陷位置;然后基于调整后的缺陷标注信息重新进行投影,得到二维图像的新的标注结果。可以理解的是,调整后的缺陷标注信息是直接作用于所有的二维图像的,因此,随着调整后的缺陷标注信息质量的提升,全部二维图像所对应的新的标注结果是从整体上实现了质量的提升的,保证了标定质量的统一性。
综上,上述实施例提供的图像标注方式只需要获取到三维模型的缺陷标注信息,即可按照三维模型对应于各个二维图像的位姿参数将该缺陷标注信息映射到大量待标注的二维图像上,有效地提高了标注效率,降低了标注成本;而且,基于三维模型的缺陷标注信息的质量,对标注结果的质量能够较好地统一,从而有助于提升零件的缺陷检测效果。
实施例三:
参见图5所示的一种图像标注装置的结构框图,该装置应用于主机,主机与第一相机相连,装置包括:
图像获取模块502,应用通过第一相机获取目标对象的不同角度的多张待标注的二维图像。
位姿参数计算模块504,用于根据目标对象的三维模型和第一相机之间的位姿变换关系,计算目标对象的三维模型对应于各个二维图像的位姿参数;其中,三维模型为目标对象建模时的模型或者为基于目标对象的三维点云数据构建的模型。
缺陷标注信息获取模块506,用于获取三维模型的缺陷标注信息。
图像标注模块508,用于根据三维模型对应于各个二维图像的位姿参数,将三维模型的缺陷标注信息投影至二维图像上,得到二维图像的标注结果。
本发明实施例提供的上述图像标注装置,首先通过第一相机获取目标对象的不同角度的多张待标注的二维图像;然后根据目标对象的三维模型和第一相机之间的位姿变换关系,计算目标对象的三维模型对应于各个二维图像的位姿参数,并基于此将获取到的三维模型的缺陷标注信息投影至二维图像上,得到二维图像的标注结果。与现有技术中依赖人工的标注方式相比,本实施例提供的上述方式只需要获取到三维模型的缺陷标注信息,即可按照三维模型对应于各个二维图像的位姿参数将该缺陷标注信息映射到大量待标注的二维图像上,有效地提高了标注效率,降低了标注成本;而且,基于三维模型的缺陷标注信息的质量,对标注结果的质量能够较好地统一,从而有助于提升零件的缺陷检测效果。
在一些实施方式中,上述位姿参数计算模块504进一步用于:根据目标对象的三维模型和第一相机之间的位姿变换关系、第一相机与二维图像之间的投影透射关系,确定三维模型对应于各个二维图像的位姿参数。
在一些实施方式中,上述主机还连接有第二相机,第二相机用于获取目标对象的三维点云数据,且该第二相机为深度相机;上述图像标注装置还包括位姿变换关系确定模块(图中未示出),该位姿变换关系确定模块用于:采用棋盘格标定法获取棋盘格角点分别在第一相机坐标系、世界坐标系和第二相机坐标系下的位姿参数;基于机械臂坐标系与世界坐标系之间预设的第一位姿变换关系以及棋盘格角点在第一相机坐标系和世界坐标系下的位姿参数,标定第一相机坐标系和机械臂坐标系之间的第二位姿变换关系;根据棋盘格角点在第一相机坐标系、第二相机坐标系下的位姿参数,标定第一相机坐标系和第二相机坐标系之间的第三位姿变换关系;根据棋盘格角点在第二相机坐标系、世界坐标系下的位姿参数,标定第二相机坐标系和世界坐标系之间的第四位姿变换关系;基于第一位姿变换关系、第二位姿变换关系、第三位姿变换关系和第四位姿变换关系中的至少一种,确定目标对象的三维模型和第一相机之间的位姿变换关系。
在一些实施方式中,如果三维模型为目标对象建模时的模型,三维模型和第一相机之间的位姿变换关系为基于三维模型在世界坐标系下的位姿参数、第一位姿变换关系和第二位姿变换关系确定的,或者为基于三维模型在世界坐标系下的位姿参数、第三位姿变换关系和第四位姿变换关系确定的。
在一些实施方式中,如果三维模型为基于目标对象的三维点云数据构建的模型,三维模型和第一相机之间的位姿变换关系为基于三维模型在第二相机坐标系下的位姿参数和第三位姿变换关系确定的;如果三维模型为目标对象建模时的模型,上述图像标注装置还包括配准模块(图中未示出)该配准模块用于:将三维模型的点云数据与目标对象的三维点云数据进行配准,得到三维模型在第二相机坐标系下的位姿参数;三维模型和第一相机之间的位姿变换关系为基于三维模型在第二相机坐标系下的位姿参数和第三位姿变换关系确定的。
在一些实施方式中,上述缺陷标注信息包括缺陷位置和缺陷种类;上述图像标注模块508进一步用于:将三维模型的缺陷位置投影至二维图像上;根据缺陷位置在二维图像上的投影位置确定缺陷边界框;将缺陷边界框和缺陷种类标注于二维图像上,得到二维图像的标注结果。
在一些实施方式中,上述缺陷标注信息获取模块506进一步用于:根据用户在三维模型中选取的三角面片和对三角面片添加的标注信息生成三维模型的缺陷标注信息。
本实施例所提供的装置,其实现原理及产生的技术效果和前述实施例二相同,为简要描述,本实施例部分未提及之处,可参考前述实施例二中相应内容。
实施例四:
基于前述实施例,本实施例给出了一种主机,该主机包括:图像采集装置、处理器和存储装置;图像采集装置,用于采集二维图像;存储装置上存储有计算机程序,计算机程序在被处理器运行时执行如实施例二所提供的图像标注方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
进一步,本实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理设备运行时执行上述实施例二提供的图像标注方法的步骤。
本发明实施例所提供的一种图像标注方法、装置、系统及主机的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的图像标注方法,具体实现可参见方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。