那个,“中国教育考试网”验证码识别
这是2020年的一个机器视觉的练手项目,网上的入门例子敲一遍的感悟总是不够深刻,于是就搞了这个,准确率还可以,入坑爬坑反复了几次。
02:03
0 / 0
继续观看
那个,“中国教育考试网”验证码识别
(此视频暂无音轨,抽时间再配音)
笔记整理如下:
人工智能相关:
深度学习 计算机视觉 准备工作
1.了解人工智能,机器学习,深度学习的区别
2.Numpy,Pandas,Matplotlib的使用
3.了解Keras,TensorFlow,Pytorch的优势与区别
4.CNN,RNN,CTC Loss的了解
具体项目(验证码识别,用于考位监控,自动报名等)分析过程:
1.确定目标,这个项目是用来干嘛的,是否可行
2.分析目标,验证码的长度与组合形式,若字母组合,数字组合,字母数字组合等
3.获取训练的数据集,1.网上搜索下载 2.开源库自动生成 3.目标网站下载并识别,这个过程比较有故事。
4.数据处理,图片的灰度化处理,二值化处理,灰度变换处理,训练集,验证集,测试集的分隔
5.ORC模型的搭建,用到CNN,RNN,CTC Loss等
6.模型的训练与保存,通过观察过程日志数据,调整超参,防止过拟合,保存最优模型。
7.已保存模型的加载与使用。
爬虫相关
1.了解JavaScript,CSS,Chrome开发者工具的基本使用,了解Http响应码,Json数据格式,Xpath,CSS选择器等
2.熟悉Reques库,Pyppeteer,Selenium,Scrapy等框架之一
3.分析目标网站结构,反爬虫机制,登录机制,数据返回方式(Ajax,Html)
4.通过cookie登录或用户名密码自动登录(如需登录)
5.通过节点选择器获取数据,判断数据的多种状态,清洗转换储存数据
6.添加异常捕获,保证程序的健壮性,稳定性。
7.爬取API的话,了解下抓包工具 charles
服务后后端
1.熟悉Linux基本操作
2.数据库的使用与选择,Oracle,Mysql,SqlServer,SQLite等之一
3.Nginx,Apache等Web服务器
4.安装开发语言库,如Python,PHP等
5.Redis,MemCache等缓存系统的使用
6.高并发的话,使用多台服务器做负载均衡,涉及到请求分配机制,数据同步,数据冗余
7.使用CDN是一个不错的选择,除了多台服务器外,数据缓存,数据库索引,代码优化(时间复杂度和空间复杂度)等。