> 文档中心 > YOLOv5 + VGG16 + FastAPI实现验证码检测识别(汉字点选型和数字运算类)

YOLOv5 + VGG16 + FastAPI实现验证码检测识别(汉字点选型和数字运算类)


技术与实现

  • 通过目标检测直接进行检测与识别(通常分类类别量小如数字验证码,数字运算类验证码)
  • 通过目标检测加分类任务(分类类别居多,如汉字点选类)
    目标检测
    基于YOLOv5 目标检测框架,通过图像打标训练模型

识别任务实现方法

数字运算类: 直接通过YOLOv5目标打标分类实现识别任务
点选汉字型: 先基于目标检测,将检测物沿检测框切割,将检测物用分类任务实现

汉字分类任务: 使用VGG16提取全连接层第一层特征用做监督分类任务

开发成FastAPI接口

汉字点选型

基于上面任务算法实现开发成fastapi 接口形式调用,检测返回数据格式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OzBCGxhl-1648001957881)(README.assets/1647933733053.png)]

{  "code": 200,  "result": {    "肋": {      "name": "肋",      "location": [ 211, 38, 243, 69      ],      "detect_score": 68.14    },    "扑": {      "name": "扑",      "location": [ 98, 122, 128, 155      ],      "detect_score": 69.9    },    "乳": {      "name": "乳",      "location": [ 96, 48, 126, 79      ],      "detect_score": 70.92    },    "脱": {      "name": "脱",      "location": [ 179, 121, 212, 154      ],      "detect_score": 75.24    }  },  "message": "success"}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q1tBJNAs-1648001957882)(README.assets/%E4%BC%81%E4%B8%9A%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_16479327275327-1647933831809.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hjhOABp3-1648001957883)(README.assets/%E4%BC%81%E4%B8%9A%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_16479328059279.png)]

数字运算型
{  "code": 200,  "result": [    {      "class": "3",      "location": [ 39, 1, 53, 20      ],      "score": 82.12    },    {      "class": "8",      "location": [ 1, 1, 15, 20      ],      "score": 91.63    },    {      "class": "a",      "location": [ 20, 1, 34, 20      ],      "score": 91.67    }  ],  "message": "success"}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P3JfhfFP-1648001957883)(README.assets/1647934471440.png)]
有需求可以私聊我