yolo3 检测出图像中的不规则汉字

2019-10-28 17:17:22 浏览数 (1)

1. 准备环境 (1)windows7 python环境,安装anaconda3,我装的是python3.6版本 (2)安装tensorflow(cpu版)、keras,直接用pip install 命令下载,或conda install命令 (3)下载keras-yolo、下载VOC2007数据集;保留VOC2007中的每一个文件夹,但是要将文件夹中的所有小文件都删除 可以直接下载源码,里面已经配置好了VOC2007数据集。

完整代码获取方式:

关注微信公众号 datayx 然后回复 目标检测 即可获取。

2. 准备数据

1、准备了151张含有汉字的图像,将这些图像放在keras-yolo3-masterVOCdevkitVOC2007JPEGImages

2、用LabelImgv1.3.3标记这些图像,标记命名为"chinese",自动生成.xml文件,将这些.xml文件放在keras-yolo3-masterVOCdevkitVOC2007Annotations

3、生成ImageSetsMain下的4个文件。运行VOCdevkitVOC2007下的test.py,会自动建好这四个文件。

4、生成keras-yolo3-master下的test.txt、train.txt、val.txt,运行keras-yolo3-mastervoc_annotation.py,会自动生成2007_test.txt、2007_train.txt、2007_val.txt三个文件,接下来需要我们手动去掉每一个文件名的前缀"2007_" test.py中的内容可参考: https://blog.csdn.net/Patrick_Lxc/article/details/80615433

3. 开始训练

1、修改参数配置文件yolo3.cfg,打开yolo3.cfg,搜索"yolo"关键词,能搜到三处包含"yolo"的地方,修改filters、classes、random classes = 1 # 因为我只检测汉字一类,所以是1 filters = 3 * (5 classe) = 3 * (5 1) = 18 random = 0

2、修改keras-yolo3-mastermodel_data下coco_classes.txt和voc_classes.txt,里面写的是要识别的类型,我写的是chinese。

3、运行keras-yolo3-mastertrain.py进行训练, 几个重要的参数如下: batch_size = 10 val_split = 0.1 epochs = 100

我使用CPU进行训练,程序跑了一天一夜【哭】,最后的loss在45.5左右,可以看keras-yolo3-master训练日志.txt

4. 进行预测 运行keras-yolo3-masteryolo.py,识别的结果会存储到keras-yolo3-masterVOCdevkitVOC2007SegmentationClass中,部分结果如下:

via https://blog.csdn.net/u010429424/article/details/83238988

0 人点赞