一种确定训练样本的方法与流程

文档序号:14121511阅读:601来源:国知局
一种确定训练样本的方法与流程

本申请涉及模型训练技术领域,尤其涉及一种确定训练样本的方法。



背景技术:

随着互联网的蓬勃发展,机器学习(machinelearning,ml)技术作为一种新的技术,越来越受到人们的重视。在视频监控、智能交通、无人车驾驶等领域广泛应用的场景语义理解技术正是基于机器学习理论,利用大量的人工标注的图像样本进行训练,从而学习得到一个满足任务需求的场景理解模型来实现的。机器学习技术通过对具体场景的图像进行分析,该分析结果能够为后续的具体应用过程提供帮助。在实际应用中,对图像的分析过程可以通过所建立的数学模型来实现,比如,可以通过所建立的数学模型,对无人驾驶车所采集的图像进行分析,从而根据分析结果确定出安全行驶的路径。

通常为了提高数学模型所获得的分析结果的准确性,在数学模型的建立过程中,需要大量的训练样本对该数学模型进行训练,这些训练样本通过对图像中的标注对象(例如,人、车、交通标注牌、建筑物、树、天空等)进行人工标注而获得。在人工标注过程中,标注者需要逐一找出待标注图像中的标注对象,并对各个标注对象进行标注,然后根据标注后的图像得到训练样本。

然而,这种通过人工标注来获得训练样本的方式通常效率较低,当所需要的训练样本数量较多时,该方式并不适用。



技术实现要素:

本申请实施例提供一种确定训练样本的方法,用于解决现有技术中的问题。

本申请实施例提供了一种确定训练样本的方法,该方法包括:

确定待标注的目标图像;

通过超像素分割算法将所述目标图像分割为多个超像素区块;

基于所划分的各所述超像素区块对所述目标图像中的标注对象进行标注,并根据标注后的目标图像确定训练样本。

优选的,基于所划分的各所述超像素区块对所述目标图像中的标注对象进行标注,具体包括:

确定初始标注框;

根据所述初始标注框所串连的超像素区块,确定用于对所述标注对象进行标注的目标标注框,以实现对所述目标图像中的标注对象进行标注。

优选的,根据所述初始标注框所串连的超像素区块,确定用于对所述标注对象进行标注的目标标注框,具体包括:

根据所述初始标注框所串连的超像素区块,将所串连的超像素区块的外侧边缘连接并作为所述目标标注框。

优选的,根据所述初始标注框所串连的超像素区块,确定用于对所述标注对象进行标注的目标标注框,具体包括:

根据所述初始标注框所串连的超像素区块,将所串连的超像素区块的内侧边缘连接并作为所述目标标注框。

优选的,基于所划分的各所述超像素区块对所述目标图像中的标注对象进行标注,具体包括:

将被鼠标点击和/或被触控的超像素区块作为所述目标图像中的标注对象进行标注。

优选的,所述通过超像素分割算法将所述目标图像分割为多个超像素区块,具体包括:

从所述目标图像的各像素中确定出k个目标像素,将所述目标像素在颜色空间中的值作为初始聚类中心,所述k为大于或等于2的正整数;

将所述目标图像的各像素分别作为当前像素,确定所述当前像素在颜色空间中的值与邻近的各所述初始聚类中心的距离,将所述当前像素分配到距离最小的初始聚类中心所对应的初始超像素区块;

确定各所述初始超像素区块的聚类中心;

将各所述聚类中心作为新初始聚类中心,根据各所述新初始聚类中心将所述目标图像中的各像素重新进行分配并生成对应的新初始超像素区块,直至第一代价函数的值收敛,所述第一代价函数用于度量所述超像素分割算法的完成情况;

将所述第一代价函数的值收敛时所生成的各初始超像素区块作为所需要的超像素区块,以实现对目标图像的分割。

优选的,从所述目标图像的各像素中确定出k个像素,具体包括:

将所述目标图像划分为k个网格;

将各所述网格中心位置的像素确定为对应的目标像素,或分别在各所述网格中随机抽取像素作为对应的目标像素。

优选的,通过如下方法确定当前像素与初始聚类中心是否邻近:

当所述当前像素与所述初始聚类中心之间间隔的像素的数量小于预设阈值时,确定所述当前像素与所述初始聚类中心邻近。

优选的,确定各所述初始超像素区块的聚类中心,具体包括:

将各所述初始超像素区块分别作为当前初始超像素区块,将所述当前初始超像素区块中各像素分别在颜色空间中对应的值的平均值确定为所述当前初始超像素区块对应的聚类中心。

优选的,根据标注后的目标图像确定训练样本,具体包括:

调节标注后的目标图像的颜色、亮度和/或对比度,并将调节之后的目标图像作为训练样本。

本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:

采用本申请实施例所提供的确定训练样本的方法,由于通过超像素分割算法将待标注的目标图像分割为多个超像素区块,使得在后续的对目标图像中的标注对象进行标注的过程中,能够基于这些超像素区块,更加高效地进行标注,并根据标注后的目标图像得到训练样本,从而克服了现有技术中人工标注效率较低的问题,导致获得训练样本效率低的问题;此外,在基于超像素区块对目标图像进行标注,由于这些超像素区块经过超像素分割算法划分而得到,相对于现有技术中的人工标注,对标注对象的边缘能够更加准确地区分,因此能够提高对标注对象进行标注的准确性,进而提高数学模型的训练效果。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请实施例1提供的一种确定训练样本的方法的具体实现流程示意图;

图2为本申请实施例1提供的通过超像素分割算法对目标图像进行分割,得到多个超像素区块的具体实现流程示意图;

图3为本申请实施例1提供的判断当前像素与初始聚类中心是否邻近的示意图;

图4为本申请实施例1提供的通过鼠标点击的方式,改变感兴趣区块的背景颜色进行标注的示意图;

图5为本申请实施例1提供的通过触控的方式,对多个超像素区块进行标注的示意图;

图6为本申请实施例1提供的通过触控的方式,对多个超像素区块进行标注的流程图;

图7-1为本申请实施例1提供的通过标注框对感兴趣区块进行标注的示意图;

图7-2为本申请实施例1提供的通过对初始标注框向外调整,确定目标标注框的示意图;

图7-3为本申请实施例1提供的通过对初始标注框向内调整,确定目标标注框的示意图;

图8为本申请实施例2提供的一种确定训练样本的装置的具体结构示意图;

图9为本申请实施例2提供的实际应用中的一种分割单元的具体结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

以下结合附图,详细说明本申请各实施例提供的技术方案。

实施例1

如上所述,为了提高数学模型所获得的分析结果的准确性,在数学模型的建立过程中,需要用大量的训练样本对该数学模型进行训练,这些训练样本通过对图像中的标注对象(例如,人、车、交通标注牌、建筑物、树、天空等)进行人工标注而获得。在人工标注过程中,标注者需要逐一找出待标注图像中的标注对象,并对各个标注对象进行标注,然后根据标注后的图像得到训练样本。

然而,这种通过人工标注来获得训练样本的方式通常效率较低,当所需要的训练样本数量较多时,该方式并不适用;此外,在实际应用中,通过人工标注的方式获得训练样本,由于人类自身的局限性,并不能准确地确定标注对象的边缘,从而使得对标注对象的标注效果较差,影响数学模型的训练。

基于此,本申请实施例1提供了一种确定训练样本的方法,能够用于解决现有技术中的问题。该方法的具体流程示意图如图1所示,包括下述步骤:

步骤s11:确定待标注的目标图像。

通常,对目标图像进行标注,可以有多种标注方式,比如,可以是通过标注框对目标图像中的各个标注对象进行标注,也可以是在各标注对象中增加背景颜色,用以将标注对象与该标注对象之外的部分进行区分,也可以是将目标图像中标注对象之外的部分打马赛克,也可以是通过其它方式对目标图像进行标注。这里的标注对象是指目标图像中需要标注出的部分,通常根据需要可以是人、车、交通标注牌、建筑物、树和/或天空等。

在实际应用中,根据应用场景的不同,确定目标图像的方式可以有多种,例如,可以是从数据库中获取该目标图像,也可以是将图像采集设备采集的图像确定为目标图像,也可以是将通过网络接收的图像确定为目标图像,当然,也可以是通过其他方式确定目标图像。

步骤s12:通过超像素分割算法将所述目标图像分割为多个超像素区块。

超像素(superpixel)是把待处理的图像分割成多个小的区块,并将这些小的区块作为一个像素进行图像处理,其中每一个小的区块可以称之为超像素区块。通过这种方式来处理图像,能够减少处理的数据量,提高图像处理的效率。

超像素分割算法,能够用于将待处理的目标图像分割为多个超像素区块。在实际应用中,对于不同的处理思路有多种不同的超像素分割算法,例如,这些算法中有基于图的超像素分割算法、基于梯度上升的超像素分割算法、slic(simplelineariterativeclustering)超像素分割算法等。

在这里,通过超像素分割算法将目标图像分割为多个超像素区块,可以采用上述任意一种超像素分割算法,在这之中,一种优选的方案通过超像素分割算法将目标图像分割为多个超像素区块,如图2所示,包括步骤121至步骤125。

步骤s121:从所述目标图像的各像素中确定出k个目标像素,将所述目标像素在颜色空间中的值作为初始聚类中心,所述k为大于或等于2的正整数。

这里的k是通过超像素分割算法,将目标图像分割成的超像素区块的数量,例如,k为100时,通过超像素分割算法将目标图像分割为100个超像素区块。

在实际应用中,当k过大,所分割的超像素区块数量过多,需要较长时间进行分割;当k过小时,所分割的超像素区块数量过少,使得分割的效果较差。因此,通常需要进行多次尝试,确定一个适当大小的k,使得分割的超像素区块的时间和效果取得平衡。

从所述目标图像的各像素中确定出k个目标像素的方式可以有多种,例如,可以从目标图像的各个像素中,任意抽取k各像素作为目标像素,这种方式可能会导致目标像素在图像中的位置过于集中,导致分割时间较长;在实际应用中的另一种优选的方式是,先将所述目标图像划分为k个网格,然后,在各个网格中分别挑选出一个像素作为目标像素。其中,将目标图像划分为k个网格时,可以将目标图像进行平均划分,使得各个网格中包含的像素数量相同;网格划分完之后,在各个网格中分别挑选出一个像素作为目标像素时,可以将各所述网格中心位置的像素确定为对应的目标像素,或者分别在各所述网格中随机抽取像素作为对应的目标像素。

此外需要说明的是,目标像素在颜色空间中的值,所说的颜色空间可以是如下的任意一种颜色空间:rgb颜色空间、lab颜色空间、yuv颜色空间、hsi颜色空间、hsv颜色空间。目标像素在颜色空间中的值,可以是目标像素对应的rgb颜色空间中的值(该目标像素的rgb值),也可以是目标像素对应的lab颜色空间中的值(该目标像素的lab值),也可以是其它颜色空间中的值。

例如,某个目标像素在rgb颜色空间的值为(211、175、104)。

步骤s122:将所述目标图像的各像素分别作为当前像素,通过所述当前像素在颜色空间中的值,确定所述当前像素与邻近的各所述初始聚类中心的距离,将所述当前像素分配到距离最小的初始聚类中心所对应的初始超像素区块。

通过所述当前像素在颜色空间中的值,确定所述当前像素与邻近的各所述初始聚类中心的距离,这里的距离可以是欧氏距离,也可以是曼哈顿距离或者其它距离;例如,当前像素在rgb颜色空间中的值为(117、106、279),初始聚类中心对应的rgb颜色空间中的值为(145、179、132),则可以确定当前像素与初始聚类中心的欧氏距离(也可以是曼哈顿距离或其它距离)。

在确定当前像素与邻近的各初始聚类中心的距离之后,可以根据这些距离的大小,将该当前像素分配到,距离最小的初始聚类中心所对应的初始超像素区块,该初始超像素区块与该初始聚类中心具有一一对应关系,通常可以是通过该初始聚类中心所生成。

需要说明的是,在确定当前像素与邻近的各初始聚类中心的距离之前,通常需要先确定与当前像素邻近的初始聚类中心,可以通过下述方法,确定当前像素与初始聚类中心是否邻近:

判断当前像素与初始聚类中心之间间隔的像素的数量是否小于预设阈值,当所述当前像素与所述初始聚类中心之间间隔的像素的数量小于预设阈值时,确定所述当前像素与所述初始聚类中心邻近,当所述当前像素与所述初始聚类中心之间间隔的像素的数量打于预设阈值时,确定所述当前像素与所述初始聚类中心不邻近。

如图3所示,在图3中,p为当前像素,q1至q4均为初始聚类中心,p与q1之间间隔的像素的数量,可以通过p与q1之间横向间隔的像素数量,以及纵向间隔的像素数量来确定,p与q1之间横向间隔的像素数量为2,纵向间隔的像素数量为1,可以将3(由1+2得到)作为p与q1之间间隔的像素的数量,也可以将5^0.5(1的平方与2的平方之和,求开方等到)作为p与q1之间间隔的像素的数量;同理,分别可以确定p与q1、q2、q3之间间隔的像素的数量。

在实际应用中,预设阈值可以根据实际需要进行设定,该预设阈值对最终所得到的超像素区块有较大影响,可以进行多次尝试确定较佳的预设阈值,也可以通过模拟计算来确定该预设阈值。

例如,通常可以通过下述公式来确定预设阈值:

在公式中,n为目标图像中像素的总数;k为步骤s121中提到的k,指初始聚类中心的数量,w为预设阈值。通过这种方式所确定的预设阈值,在实际应用中,通常能够取得较好的效果。

步骤s123:确定各所述初始超像素区块的聚类中心。

在将目标图像中的各个像素分配至对应的初始超像素区块之后,需要重新确定各初始超像素区块的聚类中心。

确定各初始超像素区块的聚类中心的方式可以有多种,这里可以列举两种常用的方式:

方式一:可以将各所述初始超像素区块分别作为当前初始超像素区块,将所述当前初始超像素区块中各像素分别在颜色空间中对应的值的平均值,确定为所述当前初始超像素区块对应的聚类中心。

方式二:可以将各所述初始超像素区块分别作为当前初始超像素区块,将所述当前初始超像素区块中的各像素分别作为当前像素,确定在所述当前初始超像素区块中,所述当前像素之外的像素在颜色空间中的值与所述当前像素在颜色空间中的值的差值;

根据各所述差值确定在当前初始超像素区块中,所述当前像素对应的第二代价函数值,所述第二代价函数值反应所述当前像素,与所述当前初始超像素区块中所述当前像素之外的像素之间的距离。

在这里的每一个簇中,所述第二代价函数值反应所述当前商品价格与所述当前簇中所述当前商品价格之外的其他商品价格之间的距离。

在实际应用中,当前初始超像素区块中当前像素对应的第二代价函数值可以根据如下的第二代价函数确定:

其中,ei为当前初始超像素区块中第i个像素(这里为,当前像素)对应的第二代价函数值的第二代价函数值,︱pij︱为第j个像素在颜色空间中的值与第i个像素在颜色空间中的值的差值的绝对值,n为当前初始超像素区块中的像素的总数量。

当然,如果颜色空间中的值有多维,可以通过该公式分别确定各个维度的ei,然后对各个维度的ei求平方和来作为第二代价函数的值。

步骤s124:将各所述聚类中心作为新初始聚类中心,根据各所述新初始聚类中心将所述目标图像中的各像素重新进行分配并生成对应的新初始超像素区块,直至第一代价函数的值收敛。

在这里,所述第一代价函数用于度量所述超像素分割算法的完成情况。

在实际应用中,通常所采用的第一代价函数的形式可以为梯度下降法、固定增量算法或最小平方差准则函数等。为了便于运算,可以采用如下所述的第一代价函数:

其中,d表示第一代价函数值,k表示新初始超像素区块的数量,n为第m个新初始超像素区块中像素数量,bm为第m个新初始超像素区块中生成的聚类中心,pmi为第m个新初始超像素区块中的第i个像素在颜色空间的值。

第一代价函数收敛,说明该超像素分割算法已经完成,也就是说对目标图像中的各像素的分配已经趋于稳定。在实际的超像素分割运算的过程中,通常同时需要对目标图像中大量的像素运算,用以将这些像素分成多个区块,当第一代价函数收敛时,说明区块的划分已经完成,各个区块中所包含的像素在继续进行超像素分割运算时,已经基本不变。

步骤s125:将所述第一代价函数的值收敛时所生成的各初始超像素区块作为所需要的超像素区块,以实现对目标图像的分割。

第一代价函数收敛时,说明超像素分割运算最后所生成的各初始超像素区块中所包含的像素已经基本不变。此时,将各初始超像素区块,作为最终得到的超像素区块,完成对目标图像的分割。

步骤s13:基于所划分的各所述超像素区块对所述目标图像中的标注对象进行标注。

在将目标图像分割为多个超像素区块之后,可以根据所分割的这些超像素区块,对目标图像中感兴趣的区块(也即,标注对象)进行标注。

在实际应用中,可以有多种方式对目标图像中感兴趣的区块进行标注,下面可以列举几种常用的方式:

方式一:将被鼠标点击和/或被触控的超像素区块,作为所述目标图像中的标注对象进行标注。

如图4所示,图中的六边形均为将目标图像分割后,得到的超像素区块,其中“a”区块为感兴趣的区块,需要将“a”标注出来,此时,可以通过鼠标点击或者触控(在触摸屏上触摸)该“a”区块,从而对“a”区块进行选定,并作为目标图像中的标注对象进行标注;当然,如果有多个感兴趣的区块,可以逐一通过鼠标点击或者触控这些区块,从而完成对这些区块的标注。

此外,对“a”区块进行选定之后,可以改变“a”区块的背景颜色(如图4所示),也可以改变“a”区块之外的其他区块的背景颜色,或对这些区块打马赛克等处理,这样可以将“a”区块进行突出显示,将其标注出来。

需要说明的是,这种通过鼠标点击和/或触控感兴趣的区块,对感兴趣区块进行标注的方式,在实际应用中方便用户进行操作。特别是,当感兴趣的区块所包含的超像素区块的数量较少时,这种方式可以便于用户快速的完成对感兴趣区块的标注。当然,这种方式在将感兴趣的区块进行标注之后,还可以通过鼠标再次点击,或者再次触控触控该区域,从而取消对该区块的标注。

为了便于理解,可以对该方式作进一步说明。如图5所示,以触控点击感兴趣的区块(d1、d2和d3),从而改变d1、d2和d3的背景颜色,对这些区块进行标注为例,如图6所示,标注步骤如下:

步骤s131:对触摸屏上展示的各超像素区块的触控状态进行监控。

该触摸屏可以是手机、平板电脑等移动终端上的触摸屏,对这些触摸屏上各个区块的触控状态进行监控。用户可以通过触摸该触摸屏上对应的区块,对该区块进行触控。

步骤s132:当监控到d1、d2和d3被触控时,改变被触控区块的背景颜色,用以对该区块进行标注。

触控d1、d2和d3的方式可以是,分别点击触控d1、d2和d3,也可以是连续在d1、d2、d3上滑动,来触控d1、d2和d3,也可以是通过其它的触控方式来触控d1、d2和d3。

方式二:通过构建标注框,对感兴趣的区块进行标注。

在实际应用中,可以基于对目标图像分割得到的超像素区块,构建一个标注框,然后,将标注框中的区块(“a”区块)作为感兴趣的区块,如图7-1所示,五边形为所构建的标注框。

需要说明的是,通常可以根据用户的输入操作,构建对应的标注框,例如,根据用户通过拖动鼠标所划过的封闭路径,构建对应的标注框,或者用户在触摸屏上滑动一个封闭区域,来构建标注框。

当然在构建标注框之后,还可以对该标注框(这里称之为,初始标注框)进行调整,最终确定所需要的目标标注框,通过该目标标注框对目标图像中感兴趣的区块进行标注。

对初始标注框进行调整的方式有多种,例如,可以调用放大镜工具,对初始标注框的边界进行放大,从而准确地确定感兴趣的区块的边界,进一步调节初始标注框来得到目标标注框,这种方式能够准确地确定目标标注框,在严格要求准确性的场景下较为适用;

此外,在确定初始标注框之后,还可以根据所述初始标注框所串连的超像素区块,确定用于对所述目标图像进行标注的目标标注框。

在实际应用中,根据用户的输入操作所构建的初始标注框,通常会串连多个超像素区块,可以根据该初始标注框所串连的超像素区块,将所串连的超像素区块的外侧边缘连接并作为目标标注框,也即,将初始标注框扩展至所串连的这些超像素区块的外侧边缘,形成目标标注框;也可以,将所串连的超像素区块的内侧边缘连接并作为目标标注框,也即,将初始标注框收缩至所串连的这些超像素区块的内侧边缘,形成目标标注框。

如图7-2所示,在图7-2中“a1”至“a7”为感兴趣区块,“b”为不感兴趣的区块,需要对“a1”至“a7”的区块进行标注,其中,圆形的标注框为所确定的初始标注框。此时,相对于该初始标注框,目标图像中存在三种超像素区块,分别为:a7,该超像素区块完全被初始标注框覆盖,即初始标注框与a7的交集为a7;“a1”至“a6”,这些超像素区块部分被初始标注框覆盖,它们与初始标注框的交集不为空集,并集为所需要的全部感兴趣区块;b,这些超像素区块与初始标注框交集为空集,为不感兴趣的区块。

为了得到最终的目标标注框,从而确定全部的感兴趣区块(a1”至“a7”),可以将圆形的初始标注框所串联的超像素区块的外侧边缘连接,并作为目标标注框,在图7-2中,目标标注框围成的区块为“a”区块,该“a”区块由区块“a1”至“a7”构成。

如图7-3所示,在图7-3中“c1”至“c7”为感兴趣区块,“b”为不感兴趣的区块,需要对“c1”至“c7”的区块进行标注,其中,圆形的标注框为所确定的初始标注框。此时,也可以采用另外一种策略,将圆形的初始标注框所串联的超像素区块的内侧边缘连接,并作为目标标注框,在图7-3中,目标标注框围成的区块为“c”区块,该“c”区块由区块“c1”至“c7”构成。

当然,如果初始标注框所包含的区块只是在包含某一个超像素区块内,此时,该初始标注框并没有串连多个超像素区块,可以直接将包含该初始标注框的超像素区块作为感兴趣的区块,将该初始标注框的边界调整至该超像素区块的边界,也即,将该超像素区块的边界作为目标标注框。

在实际应用中,还可以通过将构建标注框和鼠标点击(触控)的标注方式相结合,例如,可以将感兴趣的区块中的一部分通过构建标注框来进行标注,将另一部分(该部分可能并不易于构建标注框)通过鼠标点击(或触控)的方式进行标注,通过这两种标注方式相结合,对于感兴趣区块较为复杂的场景,通常能够更加高效的进行标注。

步骤s14:根据标注后的目标图像确定训练样本。

这里所说的训练样本作为数学模型训练过程中的测试集、训练集或验证集中的训练样本,用于对数学模型进行训练。

在对目标图像进行标注之后,可以根据该标注后的目标图像确定训练样本。通常,根据该标注后的目标图像确定训练样本的方式可以有多种,例如,可以将标注后的目标图像作归一化处理(包括,压缩、添加文字等),或调节该标注后的目标图像的亮度、颜色、对比度等,将这些处理之后的已标注的目标图像作为训练样本。通过这些处理之后所得到的训练样本,在数学模型的训练中通常能够取得较好的训练效果;当然,也可以将标注后的目标图像直接作为训练样本,这种方式较为简便,当目标图片的亮度、色度以及对比度较好时,能够提高获得训练样本的效率。

采用实施例1提供的确定训练样本的方法,在确定待标注的目标图像之后,通过超像素分割算法将该目标图像分割为多个超像素区块,并基于所划分后的各个超像素区块对目标图像进行标注,从而得到训练样本。该方法可以通过超像素分割算法,自动地将该目标图像分割为多个超像素区块,使得在后续的对目标图像标注的过程中,能够基于这些超像素区块,更加高效地进行标注,从而克服了现有技术中的问题;此外,在基于超像素区块对目标图像进行标注,由于这些超像素区块经过超像素分割算法划分而得到,相对于现有技术中人工标注的方式,对标注对象的边缘能够更加准确地区分,因此能够提高标注的准确性,进而提高数学模型的训练效果。

比如,以图4为例,需要在该图中标注出感兴趣的区块a(将标注对象作为感兴趣区块),现有技术通过人工进行标注,效率较低;本申请实施例1的该方法,将该目标图像分割为多个超像素区块,基于这些超像素区块,能够高效地对目标图像中的区块a进行标注;并且,人工确定感兴趣区块的边界较为困难,并且准确性不高,基于超像素分割算法分割得到的超像素区块,相对于人工的方式,能够更加准确地对区块a的边界进行区分,因此能够提高标注的准确性。

实施例2

基于与实施例1相同的发明构思,本申请实施例2提供了一种确定训练样本的装置,能够用于解决现有技术中的问题。如图8所示,该装置80包括:目标图像确定单元801、分割单元802、标注单元803以及训练样本确定单元804,其中:

目标图像确定单元801,用于确定待标注的目标图像;

分割单元802,用于通过超像素分割算法将所述目标图像分割为多个超像素区块;

标注单元803,基于所划分的各所述超像素区块对所述目标图像中的标注对象进行标注;

训练样本确定单元804,根据标注后的目标图像确定训练样本

采用实施例2所提供的该装置80,该装置80可以通过超像素分割算法,将该目标图像分割为多个超像素区块,使得在后续的对目标图像标注的过程中,能够基于这些超像素区块,更加高效地进行标注,从而克服了现有技术中的问题;此外,在基于超像素区块对目标图像进行标注,由于这些超像素区块经过超像素分割算法划分而得到,相对于现有技术中人工标注的方式,对标注对象的边缘能够更加准确地区分,因此能够提高标注的准确性,进而提高数学模型的训练效果。当然,在是实际应用中,该装置80还可以通过结合具体的硬件装置,取得其它的实施效果。例如,在无人驾驶车的无人驾驶系统中增加该装置,能够将无人驾驶车采集图像作为目标图像,从而对目标图像标注后生成训练样本,并通过训练样本进一步优化无人驾驶系统中的各个数学模型,这样可以不断提高无人驾驶车的性能,并且,该无人驾驶车由于增加了该装置,还能够提高该无人驾驶车的商业价值。

图像确定单元801,可以用于确定待标注的目标图像。

对目标图像进行标注,可以有多种标注方式,比如,可以是通过标注框对目标图像中的各个标注对象进行标注,也可以是在各标注对象中增加背景颜色,用以将标注对象与该标注对象之外的部分进行区分,也可以是将目标图像中标注对象之外的部分打马赛克,也可以是通过其它方式对目标图像进行标注。这里的标注对象是指目标图像中需要标注出的部分,通常根据需要可以是人、车、交通标注牌、建筑物、树和/或天空等。

在实际应用中,根据应用场景的不同,确定单元801确定目标图像的方式可以有多种,例如,可以是从数据库中获取该目标图像,也可以是将图像采集设备采集的图像确定为目标图像,也可以是将通过网络接收的图像确定为目标图像,当然,也可以是通过其他方式确定目标图像。

与实施例1中的步骤s13相近,标注单元803在基于所划分的各所述超像素区块,对所述目标图像中的标注对象进行标注时,也可以有多种方式,例如,可以基于对各个超像素区块的点击或触控来标注,也可以通过构建标注框的方式进行标注,也可以将这两种标注方式相结合,也可以通过其它方式进行标注。因此,该标注单元803可以包括多个不同的子单元。

例如,该标注单元803可以为第一标注子单元8031;

该第一标注子单元8031,用于确定初始标注框,并根据所述初始标注框所串连的超像素区块,确定用于对所述标注对象进行标注的目标标注框,以实现对所述目标图像中的标注对象进行标注。

这种方式通过先确定一个初始标注框,然后根据所述初始标注框所串连的超像素区块,对该初始标注框进行调整,最终确定目标标注框。

在实际应用中,根据所述初始标注框所串连的超像素区块,对该初始标注框进行调整,也可以有多种方式。

例如,可以调用放大镜工具,对初始标注框的边界进行放大,从而准确地确定感兴趣的区块的边界,进一步调节初始标注框来得到目标标注框,这种方式能够准确地确定目标标注框,在严格要求准确性的场景下较为适用;

也可以根据该初始标注框所串连的超像素区块,将所串连的超像素区块的外侧边缘连接并作为目标标注框,也即,将初始标注框扩展至所串连的这些超像素区块的外侧边缘,形成目标标注框;

也可以,将所串连的超像素区块的内侧边缘连接并作为目标标注框,也即,将初始标注框收缩至所串连的这些超像素区块的内侧边缘,形成目标标注框。

当然,标注单元803还可以为第二标注子单元8032;

该第二标注子单元8032,用于将被鼠标点击和/或被触控的超像素区块作为所述目标图像中的标注对象进行标注。

这种通过鼠标点击或触控超像素区块,从而对超像素区块进行标注的方式,标语用户进行标注,并且当需要标注的超像素区块较少时,通常效率较高。

标注单元803在对目标图像的标注对象进行标注之后,可以将标注后的图像直接作为数学模型的训练样本,这种方式较为简便,当目标图片的亮度、色度以及对比度较好时,能够提高获得训练样本的效率;

也可以对该标注后的图像做进一步处理之后,作为训练样本,其中,这里所说的训练样本与步骤s14相同,这里就不再赘述。对该标注后的图像做进一步处理,可以是将标注后的目标图像作归一化处理(包括,压缩、添加文字等),或调节该标注后的目标图像的亮度、颜色、对比度等,将这些处理之后的已标注的目标图像作为训练样本。因此,在标注单元803会后,该装置80可以包括训练样本确定单元804;训练样本确定单元804,可以用于调节标注后的目标图像的颜色、亮度和/或对比度,并将调节之后的目标图像作为训练样本。通过这些处理之后所得到的训练样本,在数学模型的训练中通常能够取得较好的训练效果。

如图9所示,在实际应用中,分割单元802可以具体包括:第一分割子单元8021、第二分割子单元8022、第三分割子单元8023、第四分割子单元8024以及第五分割子单元8025,其中:

第一分割子单元8021,从所述目标图像的各像素中确定出k个目标像素,将所述目标像素在颜色空间中的值作为初始聚类中心,所述k为大于或等于2的正整数;

第二分割子单元8022,将所述目标图像的各像素分别作为当前像素,确定所述当前像素在颜色空间中的值与邻近的各所述初始聚类中心的距离,将所述当前像素分配到距离最小的初始聚类中心所对应的初始超像素区块;

第三分割子单元8023,确定各所述初始超像素区块的聚类中心;

第四分割子单元8024,将各所述聚类中心作为新初始聚类中心,根据各所述新初始聚类中心将所述目标图像中的各像素重新进行分配并生成对应的新初始超像素区块,直至第一代价函数的值收敛,所述第一代价函数用于度量所述超像素分割算法的完成情况;

第五分割子单元8025,将所述第一代价函数的值收敛时所生成的各初始超像素区块作为所需要的超像素区块,以实现对目标图像的分割。

通过第一分割子单元8021~第五分割子单元8025,能够将目标图像分割为多个(k个,k为大于或等于2的正整数)超像素区块,从而使得,基于这些超像素区块进行标注时,提高效率。

在第一分割子单元8021中,从目标图像的各像素中确定出k个目标像素的方式可以有多种,例如,可以从目标图像的各个像素中,任意抽取k各像素作为目标像素,这种方式可能会导致目标像素在图像中的位置过于集中,导致分割时间较长;在实际应用中的另一种优选的方式是,先将所述目标图像划分为k个网格,然后,在各个网格中分别挑选出一个像素作为目标像素。其中,将目标图像划分为k个网格时,可以将目标图像进行平均划分,使得各个网格中包含的像素数量相同;网格划分完之后,在各个网格中分别挑选出一个像素作为目标像素时,可以将各所述网格中心位置的像素确定为对应的目标像素,或者分别在各所述网格中随机抽取像素作为对应的目标像素。

在第二分割子单元8022中,确定当前像素与初始聚类中心是否邻近的方法,可以与步骤s122中对应的方法的相同,该方法为,当所述当前像素与所述初始聚类中心之间间隔的像素的数量小于预设阈值时,确定所述当前像素与所述初始聚类中心邻近。

与步骤s123相同,第三分割子单元8023通过多种方式确定各初始超像素区块的聚类中心,因此,该第三分割子单元8023可以为第三分割子模块80231;该第三分割子模块80231,用于将各所述初始超像素区块分别作为当前初始超像素区块,将所述当前初始超像素区块中各像素分别在颜色空间中对应的值的平均值确定为所述当前初始超像素区块对应的聚类中心。

这里所说的颜色空间具体为如下颜色空间中的任意一种:rgb颜色空间、lab颜色空间、yuv颜色空间、hsi颜色空间、hsv颜色空间

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1