一种图像标注方法、装置和计算机可读存储介质与流程

文档序号:18269499发布日期:2019-07-27 09:31阅读:171来源:国知局
一种图像标注方法、装置和计算机可读存储介质与流程

本发明涉及图像处理技术领域,特别是涉及一种图像标注方法、装置和计算机可读存储介质。



背景技术:

在日常应用中,拍摄一个物品的图像时,得到的图像中除了包含该物品外,往往还包括该物品的背景板图像。为了和背景板图像进行区分,可以将物品所在区域的图像称作前景图。

现有技术中,采用人工标注的方式,标记一张图像的前景区域,以及该前景区域中物品的顶点坐标。人工标注需要耗费大量的人力资源,并且标注效率较低。尤其是图像数据较多的情况下,也容易出现漏标的情况。

可见,如何提升图像标注的效率,是本领域技术人员亟待解决的问题。



技术实现要素:

本发明实施例的目的是提供一种图像标注方法、装置和计算机可读存储介质,可以提升图像标注的效率。

为解决上述技术问题,本发明实施例提供一种图像标注方法,包括:

获取标注有顶点坐标和前景标注图的样本图像;

建立具有多路输出的初始网络模型;其中,所述多路输出包括前景图输出和顶点坐标输出;

依据所述样本图像以及每路输出所对应的损失函数,对所述初始网络模型的初始参数进行梯度下降处理,直至达到预设迭代次数,则输出训练好的网络模型;

利用训练好的网络模型对获取的待标注图像进行处理,得到所述待标注图像的前景图和顶点坐标。

可选的,所述利用训练好的网络模型对获取的待标注图像进行处理,得到所述待标注图像的前景图和顶点坐标包括:

根据所述样本图像的尺寸规格以及所述待标注图像的尺寸规格,确定出所述待标注图像的缩放系数;

按照所述缩放系数,将所述待标注图像转换为标准图像;

将所述标准图像输入所述网络模型,以得到所述标准图像的前景图和顶点坐标。

可选的,在将所述标准图像输入所述网络模型,以得到所述标准图像的前景图和顶点坐标之后还包括:

按照所述缩放系数,将所述前景图转换为与所述待标注图像尺寸规格相匹配的目标前景图像,将所述顶点坐标转换为与所述待标注图像尺寸规格相匹配的目标顶点坐标。

可选的,在所述利用训练好的网络模型对获取的待标注图像进行处理,得到所述待标注图像的前景图和顶点坐标之后还包括:

根据预设像素值,将所述前景图转化为二值图;

依据所述二值图,确定出所述前景图中与各顶点坐标距离最近的目标像素点;

计算各顶点坐标与其相应的目标像素点的欧式距离;

判断各所述欧式距离是否均小于预设阈值;

若否,则输出预测结果错误的提示信息。

可选的,还包括:

获取包含有卡片图像的初始正样本图像和不包含卡片图像的负样本图像;

利用所述网络模型对所述初始正样本图像进行处理,得到标注有顶点坐标和前景图的正样本图像;

建立具有卡片识别结果输出、前景图输出和顶点坐标输出的多任务网络模型;

依据所述正样本图像和所述负样本图像以及每路输出所对应的损失函数,对所述多任务网络模型的初始参数进行梯度下降处理,直至达到预设迭代次数,则输出训练好的多任务网络模型;

利用训练好的多任务网络模型对获取的目标图像进行处理,得到所述目标图像的处理结果。

本发明实施例还提供了一种图像标注装置,包括获取单元、建立单元、训练单元和处理单元;

所述获取单元,用于获取标注有顶点坐标和前景标注图的样本图像;

所述建立单元,用于建立具有多路输出的初始网络模型;其中,所述多路输出包括前景图输出和顶点坐标输出;

所述训练单元,用于依据所述样本图像以及每路输出所对应的损失函数,对所述初始网络模型的初始参数进行梯度下降处理,直至达到预设迭代次数,则输出训练好的网络模型;

所述处理单元,用于利用训练好的网络模型对获取的待标注图像进行处理,得到所述待标注图像的前景图和顶点坐标。

可选的,所述处理单元包括确定子单元、缩放子单元和得到子单元;

所述确定子单元,用于根据所述样本图像的尺寸规格以及所述待标注图像的尺寸规格,确定出所述待标注图像的缩放系数;

所述缩放子单元,用于按照所述缩放系数,将所述待标注图像转换为标准图像;

所述得到子单元,用于将所述标准图像输入所述网络模型,以得到所述标准图像的前景图和顶点坐标。

可选的,还包括转换单元;

所述转换单元,用于在将所述标准图像输入所述网络模型,以得到所述标准图像的前景图和顶点坐标之后,按照所述缩放系数,将所述前景图转换为与所述待标注图像尺寸规格相匹配的目标前景图像,将所述顶点坐标转换为与所述待标注图像尺寸规格相匹配的目标顶点坐标。

可选的,在所述利用训练好的网络模型对获取的待标注图像进行处理,得到所述待标注图像的前景图和顶点坐标之后还包括转化单元、确定单元、计算单元、判断单元和输出单元;

所述转化单元,用于根据预设像素值,将所述前景图转化为二值图;

所述确定单元,用于依据所述二值图,确定出所述前景图中与各顶点坐标距离最近的目标像素点;

所述计算单元,用于计算各顶点坐标与其相应的目标像素点的欧式距离;

所述判断单元,用于判断各所述欧式距离是否均小于预设阈值;若否,则触发所述输出单元;

所述输出单元,用于输出预测结果错误的提示信息。

可选的,还包括标注单元、多任务网络模型建立单元、多任务网络模型训练单元、多任务网络模型处理单元;

所述获取单元还用于获取包含有卡片图像的初始正样本图像和不包含卡片图像的负样本图像;

所述标注单元,用于利用所述网络模型对所述初始正样本图像进行处理,得到标注有顶点坐标和前景图的正样本图像;

所述多任务网络模型建立单元,用于建立具有卡片识别结果输出、前景图输出和顶点坐标输出的多任务网络模型;

所述多任务网络模型训练单元,用于依据所述正样本图像和所述负样本图像以及每路输出所对应的损失函数,对所述多任务网络模型的初始参数进行梯度下降处理,直至达到预设迭代次数,则输出训练好的多任务网络模型;

所述多任务网络模型处理单元,用于利用训练好的多任务网络模型对获取的目标图像进行处理,得到所述目标图像的处理结果。

本发明实施例还提供了一种图像标注装置,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序以实现如上述图像标注方法的步骤。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述图像标注方法的步骤。

由上述技术方案可以看出,获取标注有顶点坐标和前景标注图的样本图像;建立具有多路输出的初始网络模型;其中,多路输出包括前景图输出和顶点坐标输出;依据样本图像以及每路输出所对应的损失函数,对初始网络模型的初始参数进行梯度下降处理,直至达到预设迭代次数,则输出训练好的网络模型。该网络模型包括有前景图输出和顶点坐标输出这两个分支结构,各分支共享了一部分参数,降低了参数的数量,提高了训练和推理的速度。当需要对图像进行标注时,可以利用训练好的网络模型对获取的待标注图像进行处理,便可以得到待标注图像的前景图和顶点坐标。实现了图像的自动化标注,极大的提升了图像标注的效率。

附图说明

为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种图像标注方法的流程图;

图2为本发明实施例提供的一种多任务网络模型建立方法的流程图;

图3为本发明实施例提供的一种图像标注装置的结构示意图;

图4为本发明实施例提供的一种图像标注装置的硬件结构示意图。

具体实施方式

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

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

接下来,详细介绍本发明实施例所提供的一种图像标注方法。图1为本发明实施例提供的一种图像标注方法的流程图,该方法包括:

s101:获取标注有顶点坐标和前景标注图的样本图像。

样本图像指的是包含有规则形状的目标物品的图像。例如,身份证图像、银行卡图像等卡片图像。以身份证图像为例,在该图像中除了身份证所在区域的前景图外,还包括有背景板图像。

以样本图像中目标物品为身份证为例,样本图像的顶点坐标可以是身份证的四个顶角。

在本发明实施例中,为了实现对图像的自动化标注,可以建立一个具有图像标注功能的网络模型。对于网络模型的训练,在具体实现中,可以选取200组样本图像,每组样本图像有其对应的人工打标数据。其中,打标数据包括每组样本图像的前景标注图和顶点坐标。

s102:建立具有多路输出的初始网络模型。

在构建网络模型时,根据其所需实现的功能,需要建立两个分支,一个用于输出前景图的分支以及一个用于输出顶点坐标的分支。

在本发明是实施例中,可以使用tensorflow框架搭建模型,模型输入大小可以设置为32x192x320x3,4个数值依次代表batchsize,图片高度,图片宽度,图片通道数。输入数据经过多次卷积和降采样后输出32x12x20x128大小的特征,根据模型所需实现的功能,模型设置有两个分支:a分支和b分支。

a分支:经过全局均值池化后得到32x128大小的特征,接一个128x8的全连层得到1x8的特征,这8个值对应身份证4个角的顶点坐标即xy坐标。

b分支:接多个上采样和卷积层,最后得到32x192x320x1大小的特征,与输入图像的高宽相同,输出前景图。

初始网络模型的网络层类型、通道数量、核尺寸/步长、输出大小等信息可以按照表1所示的数据设置。

表1s103:依据样本图像以及每路输出所对应的损失函数,对初始网络模型的初始参数进行梯度下降处理,直至达到预设迭代次数,则输出训练好的网络模型。

每路输出有其对应的损失函数。前景图输出的损失函数la如下所示:

其中,(xi,yi)表示样本图像四个角的顶点坐标的实际值;(x'i,y'i)表示样本图像四个角的顶点坐标的预测值。

顶点坐标输出的损失函数lb如下所示:

其中,b表示样本图像的前景图的实际值;b′表示样本图像的前景图的预测值;|b|表示b所含像素的个数。

在具体实现中,可以令|b|=192*320,即样本图像的高度为192,宽度为320。

在训练网络模型时,可以将两个损失函数之和作为最终的损失函数,即l=la+lb。

利用样本图像对网络模型的训练过程可以参见现有技术中利用样本训练模型的过程,在此不再详细赘述。

在本发明实施例中,可以用tensorflow自动计算梯度,用梯度下降法和adam优化器训练模型,使用学习率0.001迭代20000次,然后使用学习率0.0001迭代5000次,完成训练后保存训练好的模型结构和模型参数。

s104:利用训练好的网络模型对获取的待标注图像进行处理,以输出待标注图像的前景图和顶点坐标。

待标注图像指的是需要获取其前景图和顶点坐标的图像。

考虑到在构建初始网络模型时,对模型输入大小进行了设定,待标注图像的尺寸与网络模型设定的尺寸可能会出现不一致的情况,因此,在将待标注图像输入网络模型之前,可以根据样本图像的尺寸规格以及待标注图像的尺寸规格,确定出待标注图像的缩放系数;按照缩放系数,将待标注图像转换为标准图像;将标准图像输入网络模型,以得到标准图像的前景图和顶点坐标。

以网络模型的输入大小为(192,320)为例,给出一张任意大小的待标注图像i,设该图的高宽为(h,w),需要缩放系数s,将图片的高宽处理成(192,320),这里分两张情况,如果则s=192*w/h,缩放s后得到高度为192的图片,然后用黑色向右边填补图片,使其宽度达到320。

如果则s=320*h/w,缩放s后得到宽度为320的图片,然后用黑色向下填补图片,使其高度达到192。

相应的,针对于待标注图像的缩放处理,为了获得与待标注图像尺寸相匹配的前景图,在将标准图像输入网络模型,以得到标准图像的前景图和顶点坐标之后,可以按照缩放系数,将前景图转换为与待标注图像尺寸规格相匹配的目标前景图像,将顶点坐标转换为与待标注图像尺寸规格相匹配的目标顶点坐标。

结合上述介绍中,缩放系数s为例,在得到顶点坐标之后,需要除以s得到在原图即待标注图像的坐标:前景图m也需要缩放1/s,然后从(0,0)点裁切成原图大小。

由上述技术方案可以看出,获取标注有顶点坐标和前景标注图的样本图像;建立具有多路输出的初始网络模型;其中,多路输出包括前景图输出和顶点坐标输出;依据样本图像以及每路输出所对应的损失函数,对初始网络模型的初始参数进行梯度下降处理,直至达到预设迭代次数,则输出训练好的网络模型。该网络模型包括有前景图输出和顶点坐标输出这两个分支结构,各分支共享了一部分参数,降低了参数的数量,提高了训练和推理的速度。当需要对图像进行标注时,可以利用训练好的网络模型对获取的待标注图像进行处理,便可以得到待标注图像的前景图和顶点坐标。实现了图像的自动化标注,极大的提升了图像标注的效率。

在本发明实施例中,可以利用网络模型预测出的顶点坐标和前景图的距离关系,验证预测结果的正确性。具体的,在利用训练好的网络模型对获取的待标注图像进行处理,以输出待标注图像的前景图和顶点坐标之后,可以根据预设像素值,将该前景图转化为二值图。依据二值图,确定出前景图中与各顶点坐标距离最近的目标像素点;计算各顶点坐标与其相应的目标像素点的欧式距离;判断各欧式距离是否均小于预设阈值。

前景图像素点的取值为0至1的连续值,在具体实现中,可以将预设像素值设置为0.8,从而将前景图转化为二值图。

在得到二值图之后,可以调用opencv的distancetransform函数,计算每一个值为0的像素到离它最近的值为1的像素的欧式距离,设结果为d,d的高宽与mb一致,d(x,y)表示在二值图中离(x,y)点最近的值为1的点与(x,y)的距离。

值为0的像素点代表背景,值为1的像素代表身份证所在区域,0和1的交界处代表了身份证的边缘。计算值为0的像素到离它最近的值为1的像素的距离,就是计算每个背景点到身份证边缘的距离。在为每一个值为0的像素计算这个距离后,就能通过索引的方式得到预测的顶点到身份证边缘的距离。

其中,预设阈值的取值可以根据实际需求进行设置,例如,可以将预设阈值设置为5。对于预测的待标注图像的每个顶点p(i)=(xi,yi),i=1,2,3,4,如果d(xi,yi)<5,i=1,2,3,4,即每个顶点到前景图的距离小于5,则认为预测结果是正确的。同理,当存在欧式距离大于或等于预设阈值的顶点坐标时,则认为预测结果不正确,此时可以输出预测结果错误的提示信息。

通过依据网络模型预测出的顶点坐标和前景图的距离关系,自动判断预测结果的正确性,对于预测结果正确的待标注图像不需要再进行人工标注,大大提升了标注的效率。对于预测结果错误的待标注图像,通过输出提示信息的方式,可以及时提醒用户进行人工标注。

结合上述介绍可知,训练好的网络模型可以对包含有卡片图像的待标注图像进行自动化标注。在此基础上,可以通过增加样本图像的类型以及改变网络模型的分支结构,构建出既可以识别图像是否包含有卡片图像,又可以对包含有卡片图像的图像输出其前景图以及顶点坐标的多任务网络模型。接下来,将对多任务网络模型的建立过程展开介绍,如图2所示为多任务网络模型的建立方法的流程图,该建立过程包括:

s201:获取包含有卡片图像的初始正样本图像和不包含卡片图像的负样本图像。

在具体实现中,可以选取100000组图片数据作为初始样本。图片数据是高宽为192x320个像素大小的图片,分为20000正样本和80000负样本,正样本是指包含有卡片图像且卡片的四个角可见,并且卡片短边大于96个像素的图片,负样本是指不包含卡片图像的图片。

s202:利用网络模型对初始正样本图像进行处理,得到标注有顶点坐标和前景图的正样本图像。

利用图1所示的训练好的网络模型,可以对初始正样本图像进行标注,得到每个初始正样本图像的顶点坐标和前景图。可以将每个初始正样本图像及其对应的前景图和顶点坐标作为正样本图像。

s203:建立具有卡片识别结果输出、前景图输出和顶点坐标输出的多任务网络模型。

多任务网络模型的构建过程和s102初始网络模型的搭建过程类似,相比于s102中的初始网络模型,本次构建的多任务网络模型包括三个分支,一个用于输出卡片识别结果的分支、一个用于输出顶点坐标的分支以及一个用于输出前景图的分支。

a分支:经过全局均值池化后得到32x128大小的特征,后接一个128x2的全连层得到32x2的特征,后接softmax做一个二分类。

b分支:经过与a分支同样的均值池化后,接一个128x8的全连层得到32x8的特征,这8个值对应身份证4个角的xy坐标。

c分支:接多个上采样和卷积层,最后得到32x192x320x1大小的特征,与输入图像的高宽相同,输出前景图。

初始网络模型的网络层类型、通道数量、核尺寸/步长、输出大小等信息可以按照表2所示的数据设置。

表2s204:依据正样本图像和负样本图像以及每路输出所对应的损失函数,对多任务网络模型的初始参数进行梯度下降处理,直至达到预设迭代次数,则输出训练好的多任务网络模型。

每路输出有其对应的损失函数。

卡片识别结果损失函数la=-y*log(p)-(1-y)*log(1-p);

其中,y表示样本实际的类别,正样本为1,负样本为0,p是预测为正样本的概率。

结合s103的介绍可知,顶点坐标输出的损失函数前景图输出的损失函数

在训练网络模型时,可以将三个损失函数之和作为最终的损失函数,即l=la+lb+lc。

利用样本图像对网络模型的训练过程可以参见现有技术中利用样本训练模型的过程,在此不再详细赘述。

s205:利用训练好的多任务网络模型对获取的目标图像进行处理,得到目标图像的处理结果。

通过多任务网络模型对目标图像进行处理的过程,可以参见s104的介绍,在此不再赘述。

利用训练好的多任务网络模型对获取的目标图像进行处理时,当目标图像为卡片图像时,可以输出包含卡片图像的识别结果以及该目标图像的前景图和顶点坐标。当目标图像不是卡片图像时,可以输出不包含卡片图像的识别结果。

通过对三个训练任务同时进行训练,各个任务的训练有相互促进的作用,提升了多任务网络模型的准确率。

图3为本发明实施例提供的一种图像标注装置的结构示意图,包括获取单元31、建立单元32、训练单元33和处理单元34;

获取单元31,用于获取标注有顶点坐标和前景标注图的样本图像;

建立单元32,用于建立具有多路输出的初始网络模型;其中,多路输出包括前景图输出和顶点坐标输出;

训练单元33,用于依据样本图像以及每路输出所对应的损失函数,对初始网络模型的初始参数进行梯度下降处理,直至达到预设迭代次数,则输出训练好的网络模型;

处理单元34,用于利用训练好的网络模型对获取的待标注图像进行处理,以输出待标注图像的前景图和顶点坐标。

可选的,处理单元包括确定子单元、缩放子单元和得到子单元;

确定子单元,用于根据样本图像的尺寸规格以及待标注图像的尺寸规格,确定出待标注图像的缩放系数;

缩放子单元,用于按照缩放系数,将待标注图像转换为标准图像;

得到子单元,用于将标准图像输入网络模型,以得到标准图像的前景图和顶点坐标。

可选的,还包括转换单元;

转换单元,用于在将标准图像输入网络模型,以得到标准图像的前景图和顶点坐标之后,按照缩放系数,将前景图转换为与待标注图像尺寸规格相匹配的目标前景图像,将顶点坐标转换为与待标注图像尺寸规格相匹配的目标顶点坐标。

可选的,在利用训练好的网络模型对获取的待标注图像进行处理,以输出待标注图像的前景图和顶点坐标之后还包括转化单元、确定单元、计算单元、判断单元和输出单元;

转化单元,用于根据预设像素值,将前景图转化为二值图;

确定单元,用于依据二值图,确定出所述前景图中与各顶点坐标距离最近的目标像素点;

计算单元,用于计算各顶点坐标与其相应的目标像素点的欧式距离;

判断单元,用于判断各欧式距离是否均小于预设阈值;若否,则触发输出单元;

输出单元,用于输出预测结果错误的提示信息。

可选的,还包括标注单元、多任务网络模型建立单元、多任务网络模型训练单元、多任务网络模型处理单元;

获取单元还用于获取包含有卡片图像的初始正样本图像和不包含卡片图像的负样本图像;

标注单元,用于利用网络模型对初始正样本图像进行处理,得到标注有顶点坐标和前景图的正样本图像;

多任务网络模型建立单元,用于建立具有卡片识别结果输出、前景图输出和顶点坐标输出的多任务网络模型;

多任务网络模型训练单元,用于依据正样本图像和负样本图像以及每路输出所对应的损失函数,对多任务网络模型的初始参数进行梯度下降处理,直至达到预设迭代次数,则输出训练好的多任务网络模型;

多任务网络模型处理单元,用于利用训练好的多任务网络模型对获取的目标图像进行处理,得到目标图像的处理结果。

图3所对应实施例中特征的说明可以参见图1和图2所对应实施例的相关说明,这里不再一一赘述。

由上述技术方案可以看出,获取标注有顶点坐标和前景标注图的样本图像;建立具有多路输出的初始网络模型;其中,多路输出包括前景图输出和顶点坐标输出;依据样本图像以及每路输出所对应的损失函数,对初始网络模型的初始参数进行梯度下降处理,直至达到预设迭代次数,则输出训练好的网络模型。该网络模型包括有前景图输出和顶点坐标输出这两个分支结构,各分支共享了一部分参数,降低了参数的数量,提高了训练和推理的速度。当需要对图像进行标注时,可以利用训练好的网络模型对获取的待标注图像进行处理,便可以得到待标注图像的前景图和顶点坐标。实现了图像的自动化标注,极大的提升了图像标注的效率。

图4为本发明实施例提供的一种图像标注装置40的硬件结构示意图,包括:

存储器41,用于存储计算机程序;

处理器42,用于执行计算机程序以实现如上述图像标注方法的步骤。

本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述图像标注方法的步骤。

以上对本发明实施例所提供的一种图像标注方法、装置和计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

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