数字式仪表上面又很多乱七八糟的数字和字母,但是我们只想要得到数字式仪表的读数怎么弄,第一步先训练一个yolov3的模型,只框选想要的数字部分,然后自己训练一个CRNN模型去读数就可以了
训练yolov3的网络步骤在这里,链接
训练crnn网络的地址在这里
https://github.com/Holmeyoung/crnn-pytorch
值得注意的事情是,crnn训练的时候,由于我们做的是数字式仪表的读数,所以aphabet为0123456789. 把crnn中lstm中的nclass的数值设置为12=11+1.,具体可以去查看demo.py里面去查看源码,训练起来不难的
另外这份crnn的dataloader类要自己改写一下,crnn的数据处理部分比如转lmdb之类的代码还是蛮好用的。
如果不懂怎么训练CRNN,可以先下载一个ICDAR2013的数据集,然后按着这个github地址去训练一遍,然后把网络输出改成自己的
效果图如图
数字式仪表的识别yolov3+crnn
于 2021-06-09 11:34:31 首次发布