训练一个文字点选验证码识别模型

原理简介

如下图,将点选验证码作为输入,使用yolo框架进行字符检测,并分为两类,一个是带语序的白色背景的文字,一个是图片中没有语序的文字;再将文字裁切送入一个特征提取模型,提取出图片的特征(本项目中是64维度的特征向量);再进行余弦相似度计算,匹配两种文字,输出带语序的文字检测框。
在这里插入图片描述

项目代码

https://aistudio.baidu.com/aistudio/projectdetail/6329495
整个训练流程和代码,以及部署demo,都在aistudio平台上开源,感兴趣的朋友可以去实践一下。

训练细节

详细的训练过程都在上面的链接中了,这里简单介绍一些细节:

YOLO目标检测

这部分比较简单,直接用框架改为自己的数据集就能训练了。

特征提取模型

特征提取模型的训练如下图,将裁切后的图片组合为3样本对,分别是anchor和positive的正样本对,anchor和negative的负样本对,训练时缩小正样本对之间的距离,扩大负样本对之间的距离。此外还在分类学习中用insightface loss来缩小类内距离,扩大类间距离,这里每一个汉字就是一个分类。
在这里插入图片描述

识别效果

在14张测试图片上实测识别准确率为100%
在这里插入图片描述

项目部署

部署采用的是onnx,在链接项目的最后一部分有代码和介绍,欢迎交流

猜你喜欢

转载自blog.csdn.net/kalahali/article/details/131529828