note 文字识别one_人工智能:深度学习实战之文字点选验证码识别(一)
本文所述代码:https://github.com/15950552800/Text_select_captcha训练集:bilbil登录验证码,约3000张左右准备工作1、去github上下载源码2、安装python环境3、下载模型文件然后放入指定位置模型结构yolov3 + CRNN + CNN简介YOLO 为一种新的目标检测方法,该方法的特点是实现快速检测的同时还达到较高的准确率。作者将目标
本文所述代码:
https://github.com/15950552800/Text_select_captcha
训练集:bilbil登录验证码,约3000张左右
准备工作
1、去github上下载源码
2、安装python环境
3、下载模型文件然后放入指定位置
模型结构
yolov3 + CRNN + CNN
简介
YOLO 为一种新的目标检测方法,该方法的特点是实现快速检测的同时还达到较高的准确率。作者将目标检测任务看作目标区域预测和类别预测的回归问题。该方法采用单个神经网络直接预测物品边界和类别概率,实现端到端的物品检测。同时,该方法检测速非常快,基础版可以达到45帧/s的实时检测;FastYOLO可以达到155帧/s。与当前最好系统相比,YOLO目标区域定位误差更大,但是背景预测的假阳性优于当前最好的方法。
CRNN 全称为 Convolutional Recurrent Neural Network,主要用于端到端地对不定长的文本序列进行识别,不用先对单个文字进行切割,而是将文本识别转化为时序依赖的序列学习问题,就是基于图像的序列识别。
CNN 卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(deep learning)的代表算法之一。卷积神经网络具有表征学习(representation learning)能力,能够按其阶层结构对输入信息进行平移不变分类(shift-invariant classification),因此也被称为“平移不变人工神经网络(Shift-Invariant Artificial Neural Networks, SIANN)”。
识别逻辑
1、利用yolo框选出给出的文字和图中出现的文字,作为题目
2、利用crnn识别给定的文字,作为答题范围
3、根据答题范围,利用cnn预测图片中出现的文字是什么字。、
如何使用
运行 mode_one.py
传入一张验证码图片,会返回文字所在位置和内容。
识别结果
[ { "crop": [ 231, 173, 297, 248 ], "classes": "target", "content": "拌" }, { "crop": [ 0, 344, 114, 385 ], "classes": "title", "content": "凉拌牛肚" }, { "crop": [ 58, 189, 125, 265 ], "classes": "target", "content": "牛" }, { "crop": [ 231, 271, 297, 343 ], "classes": "target", "content": "肚" }, { "crop": [ 201, 79, 265, 152 ], "classes": "target", "content": "凉" }]
运行 bilbil.py
效果演示
更多推荐
所有评论(0)