note 文字识别one_人工智能:深度学习实战之文字点选验证码识别(一)

本文所述代码:

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

传入一张验证码图片,会返回文字所在位置和内容。

note 文字识别one_人工智能:深度学习实战之文字点选验证码识别(一)_第1张图片

识别结果

[    {        "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

note 文字识别one_人工智能:深度学习实战之文字点选验证码识别(一)_第2张图片

效果演示

你可能感兴趣的:(note,文字识别one)