yolo3 + python 找出图像中的汉字
源码下载地址
https://github.com/lijialinneu/keras-yolo3-master/
1. 准备环境
(1)windows7 + python环境,安装anaconda3,我装的是python3.6版本
(2)安装tensorflow(cpu版)、keras,直接用pip install 命令下载,或conda install命令
(3)下载keras-yolo、下载VOC2007数据集;保留VOC2007中的每一个文件夹,但是要将文件夹中的所有小文件都删除
2. 准备数据
1、准备了151张含有汉字的图像,将这些图像放在keras-yolo3-master\VOCdevkit\VOC2007\JPEGImages
2、用LabelImgv1.3.3标记这些图像,标记命名为"chinese",自动生成.xml文件,将这些.xml文件放在keras-yolo3-master\VOCdevkit\VOC2007\Annotations
3、生成ImageSets\Main\下的4个文件。运行VOCdevkit\VOC2007\下的test.py,会自动建好这四个文件。
4、生成keras-yolo3-master\下的test.txt、train.txt、val.txt,运行keras-yolo3-master\voc_annotation.py,会自动生成2007_test.txt、2007_train.txt、2007_val.txt三个文件,接下来需要我们手动去掉每一个文件名的前缀"2007_"
3. 开始训练
1、修改参数配置文件yolo3.cfg,打开yolo3.cfg,搜索"yolo"关键词,能搜到三处包含"yolo"的地方,修改filters、classes、random
2、修改keras-yolo3-master\model_data下coco_classes.txt和voc_classes.txt,里面写的是要识别的类型,我写的是chinese。
3、运行keras-yolo3-master\train.py进行训练, 几个重要的参数如下:
我使用CPU进行训练,程序跑了一天一夜【哭】,最后的loss在45.5左右,可以看keras-yolo3-master\训练日志.txt
4. 进行预测
运行keras-yolo3-master\yolo.py,识别的结果会存储到keras-yolo3-master\VOCdevkit\VOC2007\SegmentationClass中,部分结果如下:
5. 结果总结
因为训练的次数不多、数据量也很少,虽然识别的准确率不高,但是可以找出一些汉字来了。
源码下载地址
https://github.com/lijialinneu/keras-yolo3-master/