欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 一种利用改进验证码收集带标签的数据集的方法独创技术19861字

一种利用改进验证码收集带标签的数据集的方法

2021-03-12 07:50:33

一种利用改进验证码收集带标签的数据集的方法

  技术领域

  本发明涉及计算机技术领域,具体涉及一种利用改进验证码收集带标签的数据集的方法。

  背景技术

  验证码(CAPTCHA)技术广泛应用于互联网领域,是用于判断用户是否为人类的自动化公共图灵测试,从而保护网站被人利用程序大量提交信息而导致服务器宕机;在有监督的深度学习工作中,大量的数据集以及对应的标注对训练得到的模型极其重要,然而数据集的标注工作只能由人来一一手动完成,耗时耗力成本极高,从而导致目前数据集远远无法满足神经网络训练的需求。

  本申请发明人在实施本发明的过程中,发现现有技术的方法,至少存在如下技术问题:

  传统的验证码以数字、字母或者汉字组成,通过扭曲变形,加入干扰线条等方式防止程序识别,不过随着机器视觉研究的发展,光学字符识别(Optical CharacterRecognition,OCR)已经可以以较高的准确率识别验证图片上的内容,使这类传统验证码形如虚设;目前新颖的验证码有分类验证码与滑动验证码,分类验证码展示给用户数张图片,部分图片拥有着相同的物体,如红绿灯、轿车、斑马线等,剩下的没有,用户需要选择有相同物体的图片方可通过测试,但这些图片的数量过少;滑动验证码要求用户将一块只能平移的拼图滑动至背景图像上和拼图形状一致的凹槽内,但目前基于计算机视觉的物体检测技术已经相对成熟,这些物体通常是目前已有数据集中存在的物体,计算机可以轻松地定位这些物体的位置,使验证码的效果失灵。

  目前常用的开源图片数据集有ImageNet、CIFAR、Pascal VOC和COCO,这些数据集在其已收录的物体类别上有着大量充足的图片,这些物体是日常生活中常见的,所以对于日常生活中不常见的物体如绝缘子、口罩等,或者是物体的特征如破损、污秽等,这些数据集几乎不能对研究提供帮助,收集新数据集以及对新数据集进行标注是一件费时费力的工作。

  由此可知,现有技术中的方法存在数据集生成效率低的技术问题。

  发明内容

  本发明提出一种利用改进验证码收集带标签的数据集的方法,用于解决或者至少部分解决现有技术中的方法存在的现有技术中的方法存在的数据集生成效率低的技术问题。通过一种以数据集标注作为验证码的验证形式的方法,不仅可以起到传统验证码的保护作用,还可以大大提高有标记数据集的数量。

  为了解决上述技术问题,本发明提供了一种利用改进验证码收集带标签的数据集的方法,包括:

  S1:手动收集目前开源的数据集未收录对象的图片作为第一基础数据集D1、未标注的图片作为未标注数据集DU,其中,未标注数据集包含基础数据集中的对象;

  S2:对收集的基础数据集中的图片进行标注,得到第二基础数据集D2;

  S3:将第一基础数据集图片和第二基础数据集标签进行合并,得到第三基础数据集Dp;

  S4:对第三基础数据集进行数据增强处理,得到增强后的数据集D;

  S5:从增强后的数据集D中随机选出预设数量的带有标签的图片作为验证图片,从未标注数据集DU中随机选出相同数量的图片作为待标注图片;

  S6:输入验证图片的矩形标签,通过判断矩形标签的左上角的坐标、左下角的坐标以及和右下角的坐标是否在可接受范围,判定验证是否通过,将验证码作为是否验证通过的标识,当验证码的值为1时,表示验证通过,当验证码的值为0时,表示验证未通过;

  S7:当验证码的值为0时,则返回步骤S5重新选择验证图片和待标注图片,当验证码的值为1时,则基于带有标签的图片的标签、由用户所标记的DU上的矩形标签的左上角的坐标、左下角的坐标以及右下角的坐标对待标注图片进行标注,直到未标注数据集DU的所有图片被标注。

  在一种实施方式中,S2中的标注方式为:

  D2=((a,b),(a+w,b),(a,b+l),(a+w,b+))

  其中(a,b)为第二基础数据集D2的矩形标签的左下角的坐标,w为第二基础数据集D2的矩形标签的宽,l为第二基础数据集D2的矩形标签的长,(a+w,b)、(a,b+l)和(a+w,b+l)分别表示第二基础数据集D2的矩形标签右下角的坐标、左上角的坐标和右上角的坐标。

  在一种实施方式中,S4具体包括:

  S4.1:对第三基础数据集进行位移处理,得到位移处理后的数据集;

  S4.2:对第三基础数据集进行旋转处理,得到旋转处理后的数据集;

  S4.3:对第三基础数据集进行亮度处理,得到亮度处理后的数据集;

  S4.4:对第三基础数据集进行缩放处理,得到缩放处理后的数据集;

  S4.5:将位移处理后的数据集、旋转处理后的数据集、亮度处理后的数据集以及缩放处理后的数据集合并为增强后的数据集D。

  在一种实施方式中,S4.1中的位移处理方式为:

  DS=[((1+α)a,(1+α)b),(α(a+w),(1+α)b),((1+α)a,α(b+l)),(α(a+w),α(b+l))]

  其中,DS为位移处理后的数据集,(a,b),(a+w,b),(a,b+l),(a+w,b+l)表示第三基础数据集Dp的矩形标签的坐标,a为第三基础数据集Dp的矩形标签左下角点的横坐标,b为第三基础数据集Dp的矩形标签左下角点的纵坐标,w为第三基础数据集Dp的矩形标签的宽度,l为第三基础数据集Dp的矩形标签的长度,α为常数且0<α<1,表示为平移的程度,α越小,平移程度越大。

  在一种实施方式中,S4.2中的旋转处理方式为:

  DF=[(2a+w-DPx),(2b+l-DPy)]

  其中,DF为旋转处理后的数据集,(DPx,DPy)为第三基础数据集上任意一点的坐标,a为第三基础数据集Dp的矩形标签左下角点的横坐标,b为第三基础数据集Dp的矩形标签左下角点的纵坐标,w为第三基础数据集Dp的矩形标签的宽度,l为第三基础数据集Dp的矩形标签的长度。

  在一种实施方式中,S4.3中的亮度处理方式为:

  DR,G,B=((1+β)R,(1+β)G,(1+β)B)

  其中,DR,G,B为亮度处理后的数据集,R、G、B分别为基础数据集图片的红、绿、蓝三种颜色通道的值,β为常数,其中-1<β<1且β≠0,当β<0时,β越小图像越灰暗,当β>0时,β越大图像越鲜艳。

  在一种实施方式中,S4.4中的缩放处理方式为:

  

  其中,Dz为缩放处理后的数据集,Ri、Gi、Bi为数据集图像中第i个像素的RGB值,i=1,2,...MN-1。

  在一种实施方式中,S6具体包括:

  由用户所标记的DU上的矩形标签的左上角(x1,y1)、左下角(x2,y2)和右下角(x3,y3)点的坐标,判断是否通过验证码测试,判断方式如下:

  

  其中R′为验证码,R′=1时则通过验证码测试,R′=0时则未通过验证码测试,(a,b)、(a+w,b)、(a,b+l)和(a+w,b+l)分别表示第三基础数据集Dp的矩形标签左下角的坐标,右下角的坐标、左上角的坐标和右上角的坐标,w为第三基础数据集Dp的矩形标签的宽,l为第三基础数据集Dp的矩形标签的长,γ为常数,表示输入标签的误差,γ越大,所能接受的误差越大。

  本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:

  本发明提供了一种利用改进验证码收集带标签的数据集的方法,首先收集目前开源的数据集未收录对象的图片作为第一基础数据集D1、未标注的图片作为未标注数据集,并对第一基础数据集进行标注和增强处理,合并出一个多特征的数据集,并提出一种基于上述增强后的数据集中利用矩形标注这些对象或者特征标签的新型验证码的方法,通过判定用户输入的矩形标签是否在可接受范围内,若正确,则保存验证图片和用户输入的标签作为数据集的一部分,反之验证失败,则重新测试直到成功。本发明所收集的数据集效率极高,成本低,数据集质量高,解决了现有技术中的方法存在的数据集生成效率低的技术问题,并且采用的由用户标记出的矩形标签是否在一定可接受误差内满足设置好的矩形标签来判断是否通过测试的方法,可以解决目前验证码被机器视觉破解而导致失效的问题。

  附图说明

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

  图1是本发明提供的利用改进验证码收集带标签的数据集的方法的具体流程图;

  图2是本发明实施例中部分带标签的基础数据集图片D1示意图。

  图3是本发明实施例中经位移处理后的部分带标签的图片示意图。

  图4是本发明实施例中经旋转处理后的部分带标签的图片示意图。

  图5是本发明实施例中经亮度处理后的部分带标签的图片示意图。

  图6是本发明实施例中经缩放处理后的部分带标签的图片示意图。

  具体实施方式

  本发明是要解决目前验证码被机器视觉破解而导致失效以及目前有标注数据集生成效率低导致类别不充分的问题,提出了一种基于验证码的辅助新数据集标注的方法。

  本发明的主要构思如下:

  提供一种利用改进验证码收集带标签的数据集的方法,首先收集并标注大量的现有开源数据集未收录的对象或者是一些物体的不常见多样化的特征,并对这些图像进行位移、旋转、亮度和缩放的图像增强处理以及合并出一个多特征的数据集,其次提出一种基于上述数据集中利用矩形标注这些对象或者特征标签的新型验证码的方法,该方法判定用户输入的标签是否在可接受范围内,若正确,则保存图像和用户输入的标签作为数据集的一部分,反之验证失败,则重新测试直到成功。本发明所收集的数据集效率极高,成本低,数据集质量高。

  为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

  本发明实施例提供了一种利用改进验证码收集带标签的数据集的方法,该方法包括:

  S1:手动收集目前开源的数据集未收录对象的图片作为第一基础数据集D1、未标注的图片作为未标注数据集DU,其中,未标注数据集包含基础数据集中的对象;

  S2:对收集的基础数据集中的图片进行标注,得到第二基础数据集D2;

  S3:将第一基础数据集图片和第二基础数据集标签进行合并,得到第三基础数据集Dp;

  S4:对第三基础数据集进行数据增强处理,得到增强后的数据集D;

  S5:从增强后的数据集D中随机选出预设数量的带有标签的图片作为验证图片,从未标注数据集DU中随机选出相同数量的图片作为待标注图片;

  S6:输入验证图片的矩形标签,通过判断验证图片的矩形标签的左上角的坐标、左下角的坐标以及和右下角的坐标是否在可接受范围,判定验证是否通过,将验证码作为是否验证通过的标识,当验证码的值为1时,表示验证通过,当验证码的值为0时,表示验证未通过;

  S7:当验证码的值为0时,则返回步骤S5重新选择验证图片和待标注图片,当验证码的值为1时,则基于带有标签的图片的标签、由用户所标记的DU上的矩形标签的左上角的坐标、左下角的坐标以及右下角的坐标对待标注图片进行标注,直到未标注数据集DU的所有图片被标注。

  具体来说,S1中第一基础数据集、未标注数据集都是手动收集的,第一基础数据集中的对象包含已经标注的和未标注的图片,且未标注数据集中得包含D1中的对象是指,如果收集并标注标签了数张绝缘子图像作为D1,那么Du就包含其他绝缘子的图片,该绝缘子图片是没有标签的,这样做的目的是让大量使用验证码的用户来辅助给Du打上标签。

  S4中的数据增强处理包括位移、旋转等,对第三基础数据集进行数据增强处理,可以增强数据集的鲁棒性以及降低后续训练过拟合的几率。

  S5中随机选出的带有标签的图片的数量可以根据实际情况进行设置,例如1、2、3等等。随机选出的待标注图片的数量与带有标签的图片的数量相同。并且,增强后的数据集D带有标签的图片与未标注数据集DU中未标注的图片具有对应关系,数据集D有一张某种类型的标注图片,则未标注数据集则对应有一张该种类型的未标注图片。

  请参见图1,为利用改进验证码收集带标签的数据集的方法的具体流程图。请参见图2,为第一基础数据集中部分带有标签的图片,这些图片的大小为M×N像素。

  在一种实施方式中,S2中的标注方式为:

  D2=((a,b),(a+w,b),(a,b+l),(a+w,b+l))

  其中(a,b)为第二基础数据集D2的矩形标签的左下角的坐标,w为第二基础数据集D2的矩形标签的宽,l为第二基础数据集D2的矩形标签的长,(a+w,b)、(a,b+l)和(a+w,b+l)分别表示第二基础数据集D2的矩形标签右下角的坐标、左上角的坐标和右上角的坐标。

  在一种实施方式中,S4具体包括:

  S4.1:对第三基础数据集进行位移处理,得到位移处理后的数据集;

  S4.2:对第三基础数据集进行旋转处理,得到旋转处理后的数据集;

  S4.3:对第三基础数据集进行亮度处理,得到亮度处理后的数据集;

  S4.4:对第三基础数据集进行缩放处理,得到缩放处理后的数据集;

  S4.5:将位移处理后的数据集、旋转处理后的数据集、亮度处理后的数据集以及缩放处理后的数据集合并为增强后的数据集D。

  在一种实施方式中,S4.1中的位移处理方式为:

  DS=[((1+α)a,(1+α)b),(α(a+w),(1+α)b),((1+α)a,α(b+l)),(α(a+w),α(b+l))]

  其中,Ds为位移处理后的数据集,(a,b),(a+w,b),(a,b+l),(a+w,b+l)表示第三基础数据集Dp,a为第三基础数据集Dp的矩形标签左下角点的横坐标,b为第三基础数据集Dp的矩形标签左下角点的纵坐标,w为第三基础数据集Dp的矩形标签的宽度,l为第三基础数据集Dp的矩形标签的长度,α为常数且0<α<1,表示为平移的程度,α越小,平移程度越大。

  具体来说,图像平移后会导致图像另一侧的缺失,因此复制图像最靠缺失侧的像素直到铺满缺失的部分,处理方式为:

  Ri1=Ri2=...=RiM

  其中Ri1为图片最靠近平移侧的像素点,且1≤i≤N。

  如图3所示,为本实施例方式中经位移处理后的部分带标签的图片。

  在一种实施方式中,S4.2中的旋转处理方式为:

  DF=[(2a+w-DPx),(2b+l-DPy)]

  其中,DF为旋转处理后的数据集,(DPx,DPy)为第三基础数据集上任意一点的坐标。

  具体来说,以非中心点为基准点的旋转会导致图像的缺失,处理方式同位移处理中处理缺失图像的方法。a为第三基础数据集Dp的矩形标签左下角点的横坐标,b为第三基础数据集Dp的矩形标签左下角点的纵坐标,w为第三基础数据集Dp的矩形标签的宽度,l为第三基础数据集Dp的矩形标签的长度。

  如图4所示,为本实施例方式中旋转处理后的部分带标签的图片。

  在一种实施方式中,S4.3中的亮度处理方式为:

  DR,G,B=((1+β)R,(1+β)G,(1+β)B)

  其中,DR,G,B为亮度处理后的数据集,R、G、B分别为基础数据集图片的红、绿、蓝三种颜色通道的值,β为常数,其中-1<β<1且β≠0,当β<0时,β越小图像越灰暗,当β>0时,β越大图像越鲜艳。

  如图5所示,为本实施例方式中亮度处理后的部分带标签的图片。

  在一种实施方式中,S4.4中的缩放处理方式为:

  

  其中,Dz为缩放处理后的数据集,Ri、Gi、Bi为数据集图像中第i个像素的RGB值,i=1,2,...MN-1。

  如图6所示,为本发明经缩放处理后的部分带标签的图片。

  在一种实施方式中,S6具体包括:

  由用户所标记的DU上的矩形标签的左上角(x1,y1)、左下角(x2,y2)和右下角(x3,y3)点的坐标,判断是否通过验证码测试,判断方式如下:

  

  其中R′为验证码,R′=1时则通过验证码测试,R′=0时则未通过验证码测试,(a,b)、(a+w,b)、(a,b+l)和(a+w,b+l)分别表示第三基础数据集Dp的矩形标签左下角的坐标,右下角的坐标、左上角的坐标和右上角的坐标,w为第三基础数据集Dp的矩形标签的宽,l为第三基础数据集Dp的矩形标签的长,γ为常数,表示输入标签的误差,γ越大,所能接受的误差越大。

  具体来说,一般取γ=0.2。若S6中R′=0,则需要重新执行S5和S6;若R′=1,则返回被选择的待标注图片的大小M×N、被检测物体或者特征的名称、左上角(x1,y1)、左下角(x2,y2)、右下角(x3,y3)和右上角(x3,y1),将这些数据记录为Dxml。当数据集DU的所有图片全部被标记上了Dxml,则该数据集收集并标注完毕,记为Dnew。

  本发明具有降低验证码被破解几率并更加容易区分人类和机器的优点,在此基础上提供了一种低成本高效率的数据集标注收集的方法,具体表现如下:

  1)本发明提出了一种通过由用户标记出的矩形标签是否在一定可接受误差内满足设置好的矩形标签来判断是否通过测试的方法,解决了目前验证码被机器视觉破解而导致失效的问题。

  2)本发明提出了一种利用改进验证码收集带标签的数据集的方式来由大量用户标记数据集特征的方法,增加了大量带有标签的图片,解决了目前有标注数据集类别不充分的问题。

  本发明中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

《一种利用改进验证码收集带标签的数据集的方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)