一种基于改进YOLOv5n模型的验证码目标检测方法技术

技术编号:38347661 阅读:7 留言:0更新日期:2023-08-02 09:27
本发明专利技术公开了一种基于改进YOLOv5n模型的验证码目标检测方法,包括:S1、获取预设数量的验证码图片并将各验证码图片中的汉字和图标打上标签,形成数据集;S2、建立改进YOLOv5n模型,包括依次连接的第一卷积单元、第二卷积单元、第一C3模块、第三卷积单元、第二C3模块、第四卷积单元、第三C3模块、SPPF模块、第五卷积单元、第四C3模块和第一卷积层;S3、采用数据集对改进YOLOv5n模型进行训练,更新模型权重文件,获得训练好的改进YOLOv5n模型。该方法大幅缩减了模型大小,减少了参数量和计算量,加快了检测速度,同时又不损失精度。同时又不损失精度。同时又不损失精度。

【技术实现步骤摘要】
一种基于改进YOLOv5n模型的验证码目标检测方法


[0001]本专利技术属于目标检测
,具体涉及一种基于改进YOLOv5n模型的验证码目标检测方法。

技术介绍

[0002]当前众多网站在进行访问、查询过程中通常使用验证码方式进行合规验证。汉字或图标点选验证码是最为常见的验证码形式之一,根据验证码标题中提示的汉字或图标的顺序点击待点击验证码背景图中对应的目标位置,完成验证码验证过程。
[0003]如果能够对验证码进行自动识别,便可以辅助用户快速通过验证码的验证环节,从而推动相关工作流程进一步自动化。然而,若直接把现有的目标检测方法应用到点选验证码的场景中,会存在识别速度慢、识别准确率低等问题,且在目标检测领域的深度学习模型,通常是针对大型检测任务设计的,而针对本申请涉及的目标检测任务(检测点选验证码中的汉字和图标),许多模型在设计上就显得有较大冗余,占用较多计算资源、检测速度慢。

技术实现思路

[0004]本专利技术的目的在于针对上述问题,提出一种基于改进YOLOv5n模型的验证码目标检测方法,能够在检测精度不降低的基础上大幅提高检测速度。
[0005]为实现上述目的,本专利技术所采取的技术方案为:
[0006]本专利技术提出的一种基于改进YOLOv5n模型的验证码目标检测方法,包括如下步骤:
[0007]S1、获取预设数量的验证码图片并将各验证码图片中的汉字和图标打上标签,形成数据集;
[0008]S2、建立改进YOLOv5n模型,改进YOLOv5n模型包括依次连接的第一卷积单元、第二卷积单元、第一C3模块、第三卷积单元、第二C3模块、第四卷积单元、第三C3模块、SPPF模块、第五卷积单元、第四C3模块和第一卷积层,各卷积单元包括依次连接的第二卷积层、BN层和SiLU层,第一C3模块、第二C3模块、第三C3模块均包括第六卷积单元、以及依次连接的第七卷积单元、第一瓶颈层、第一Concat函数和第八卷积单元,第六卷积单元与第七卷积单元共输入端,第六卷积单元的输出端与第一Concat函数连接,第四C3模块包括第九卷积单元、第二瓶颈层、第十卷积单元、第二Concat函数和第十一卷积单元,第九卷积单元、第二瓶颈层、第十卷积单元依次连接,第十一卷积单元与第九卷积单元共输入端,第十一卷积单元和第二瓶颈层的输出端均通过第二Concat函数与第十卷积单元的输入端连接;
[0009]S3、采用数据集对改进YOLOv5n模型进行训练,更新模型权重文件,获得训练好的改进YOLOv5n模型。
[0010]优选地,SPPF模块为空间金字塔池化模块,包括第十二卷积单元、第三Concat函数、第十三卷积单元、第一最大池化层、第二最大池化层和第三最大池化层,第十二卷积单元、第一最大池化层、第二最大池化层和第三最大池化层依次连接,各最大池化层和第十二卷积单元的输出端还通过第三Concat函数与第十三卷积单元的输入端连接。
[0011]优选地,BN层为批标准化层,SiLU层为非线性激活函数。
[0012]优选地,第一瓶颈层包括依次连接的第十四卷积单元和第十五卷积单元,并将第十四卷积单元的输入特征和第十五卷积单元的输出特征进行相加操作后输出至对应的第一Concat函数,第二瓶颈层包括依次连接的第十六卷积单元和第十七卷积单元。
[0013]优选地,改进YOLOv5n模型的输入特征图尺寸为320*320*3,第二卷积单元的输出特征图尺寸为80*80*32,第三卷积单元的输出特征图尺寸为40*40*64,第四卷积单元的输出特征图尺寸为20*20*128,第三C3模块、SPPF模块、第五卷积单元和第四C3模块的输出特征图均与第四卷积单元的输出特征图尺寸相同。
[0014]优选地,采用数据集对改进YOLOv5n模型进行训练前,还对数据集中的验证码图片进行数据增强处理,数据增强处理包括Mosaic数据增强和MixUp数据增强。
[0015]与现有技术相比,本专利技术的有益效果为:
[0016]本专利技术对于点选验证码中的汉字和图标检测场景,针对性改进了YOLOv5n的网络结构,大幅缩减了模型大小,减少了参数量和计算量,加快了检测速度,同时又不损失精度。
附图说明
[0017]图1为本专利技术基于改进YOLOv5n模型的验证码目标检测方法的流程图;
[0018]图2为本专利技术改进YOLOv5n模型的结构示意图;
[0019]图3为本专利技术点选验证码汉字目标检测示例图;
[0020]图4为本专利技术点选验证码图标目标检测示例图。
具体实施方式
[0021]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0022]需要说明的是,当组件被称为与另一个组件“连接”时,它可以直接与另一个组件连接或者也可以存在居中的组件。除非另有定义,本文所使用的所有的技术和科学术语均属于本申请的
的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是在于限制本申请。
[0023]如图1

4所示,一种基于改进YOLOv5n模型的验证码目标检测方法,包括如下步骤:
[0024]S1、获取预设数量的验证码图片并将各验证码图片中的汉字和图标打上标签,形成数据集。爬取足量网易易盾和极验的点选验证码图片,对其中的汉字和图标打上标签,制作数据集。验证码图片的尺寸为320*160或300*200。需要说明的是,验证码图片的尺寸还可根据实际需求调整。
[0025]S2、建立改进YOLOv5n模型,改进YOLOv5n模型包括依次连接的第一卷积单元、第二卷积单元、第一C3模块、第三卷积单元、第二C3模块、第四卷积单元、第三C3模块、SPPF模块、第五卷积单元、第四C3模块和第一卷积层,各卷积单元包括依次连接的第二卷积层、BN层和SiLU层,第一C3模块、第二C3模块、第三C3模块均包括第六卷积单元、以及依次连接的第七卷积单元、第一瓶颈层、第一Concat函数和第八卷积单元,第六卷积单元与第七卷积单元共
输入端,第六卷积单元的输出端与第一Concat函数连接,第四C3模块包括第九卷积单元、第二瓶颈层、第十卷积单元、第二Concat函数和第十一卷积单元,第九卷积单元、第二瓶颈层、第十卷积单元依次连接,第十一卷积单元与第九卷积单元共输入端,第十一卷积单元和第二瓶颈层的输出端均通过第二Concat函数与第十卷积单元的输入端连接。
[0026]其中,YOLOv5n模型为YOLOv5的最小最快模型,通过对YOLOv5n模型进行改进,在Backbone部分去掉一个卷积单元和一个C3模块,Head部分在SPPF模块之后不再做上采样和特征图融合,直接接入一个卷积单元和一个C3模块,只保留一个本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于改进YOLOv5n模型的验证码目标检测方法,其特征在于:所述基于改进YOLOv5n模型的验证码目标检测方法包括如下步骤:S1、获取预设数量的验证码图片并将各验证码图片中的汉字和图标打上标签,形成数据集;S2、建立改进YOLOv5n模型,所述改进YOLOv5n模型包括依次连接的第一卷积单元、第二卷积单元、第一C3模块、第三卷积单元、第二C3模块、第四卷积单元、第三C3模块、SPPF模块、第五卷积单元、第四C3模块和第一卷积层,各所述卷积单元包括依次连接的第二卷积层、BN层和SiLU层,所述第一C3模块、第二C3模块、第三C3模块均包括第六卷积单元、以及依次连接的第七卷积单元、第一瓶颈层、第一Concat函数和第八卷积单元,所述第六卷积单元与第七卷积单元共输入端,所述第六卷积单元的输出端与所述第一Concat函数连接,所述第四C3模块包括第九卷积单元、第二瓶颈层、第十卷积单元、第二Concat函数和第十一卷积单元,所述第九卷积单元、第二瓶颈层、第十卷积单元依次连接,所述第十一卷积单元与第九卷积单元共输入端,所述第十一卷积单元和第二瓶颈层的输出端均通过第二Concat函数与所述第十卷积单元的输入端连接;S3、采用数据集对改进YOLOv5n模型进行训练,更新模型权重文件,获得训练好的改进YOLOv5n模型。2.如权利要求1所述的基于改进YOLOv5n模型的验证码目标检测方法,其特征在于:所述SPPF模块为空间金字塔池化模块,包括第十二卷积单元、第三Concat函数、第十三卷积单元、第一最大池化层、第...

【专利技术属性】
技术研发人员:池凯凯金鑫豪黄亮张书彬魏欣晨
申请(专利权)人:浙江工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1