记录
介绍
首先,这里使用的caffe是修改过的caffe,具体修改方法参加我上一篇博文。
这里示例是识别图片中的3个字符(0-9 a-Z),使用的网络是mnist的修改版。
数据长这样
使用我这个修改版caffe进行多label训练的时候需要在数据层加一个参数label_dim,这个参数的值为你的label的数量,示例可以看下面的网络文件
数据
用于训练的数据是自己用python代码生成的,代码如下:
只要稍微修改下代码就可以生成测试集和训练集,我生成了5万张数据集和1万张测试集。然后是生成清单文件,代码如下:
生成清单文件
同样,稍微修改下代码就可以生成训练集和测试集的清单文件。
网络配置文件
solver文件
训练
直接控制台输入
python调用
使用python调用训练好的模型
总结
总的来说识别结果不算太理想,但是已经证明了caffe多label是可行的。在训练阶段的Accuracy能达到0.7左右,不过最后代码中识别率不怎么高,理论上不应该的,
可能是python中图片预处理有问题,我懒得检测了。如果你有空把网络调一调识别率应该还不错,这个项目可以用来做验证码识别,调调参数,只要你数据好,我觉得能搞定目前90%的图片验证码。