更新流程↓
Task01:赛题理解
Task02:数据读取与数据扩增
Task03:字符识别模型
Task04:模型训练与验证
Task05:模型集成
好孩子看不见
比赛链接
文章目录
0. BaseLine思路
将被识别图片剪裁转化为多个规范的单字符进行识别后拼接。本次赛事使用SVHN数据集对卷积神经网络(CNN)模型进行训练。
具体包含以下步骤:
- 创建虚拟环境
- 赛题数据读取(封装为Pytorch的Dataset和DataLoder)
- 构建CNN模型(使用Pytorch搭建)
- 模型训练与验证
- 模型结果预测
0.1. 创建虚拟环境
0.1.1. Anaconda3安装
具体操作可以上B站观看教程,在此不再赘述。
0.1.2. 使用Anaconda3创建虚拟环境
0. 以下所有操作基于Windows 10系统下完成,本次构建环境所用到的是python3.7 + torch1.3.1gpu 版本。
1. 在安装好Anaconda3之后,我们在开始菜单栏找到并运行Anaconda Navigator。
2. 点击Anaconda Navigator左侧的 环境(Environments) 窗口,显示出的列表中存在一个base(root)环境。我们点击下方的 +号(Create) ,在弹出的窗口中,Packages选项勾选Python并选择版本,Name栏输入所要被创建的环境名字,在本次赛事中环境命名为:py37_torch131 。点击Create既可开始创建,等待些许时间就可在环境“base”下面看见新创建的“py37_torch131”。
3. 鼠标选中“py37_torch131”,点击名字右侧的开始按钮,选择open terminal,既可激活环境并弹出CMD命令提示符。
4. 输入conda install pytorch=1.3.1 torchvision cudatoolkit=10.0
来安装pytorch1.3.1。(注:若因为下载速度缓慢而失败,可以选择使用清华镜像源)
5. 输入pip install jupyter tqdm opencv-python matplotlib pandas
一键安装所需其它依赖库。
6. 输入jupyter notebook
来启动JupyterNotebook进行代码编译。
至此,虚拟环境已经创建完毕,可以进行代码编写。
1. 赛题理解
1.1. 赛题数据
进入赛事界面的赛事与数据,从文件中下载数据并解压。其中,训练集数据train包括3W张照片,验证集数据val包括1W张照片,测试集test包括4W张照片。
1.2. 数据标签
训练集和验证集的标签使用 .JSON格式。对于数据集中每张图片将给出对应的编码标签,和具体的字符框的位置,可用于模型训练:
top | height | left | width | label |
---|---|---|---|---|
左上角坐标X | 字符高度 | 左上角最表Y | 字符宽度 | 字符编码 |
因为数据集中图片是含有多个字符的,所以提供的数据会包含多个字符的边框信息
例如: