完整代码获取方式:
关注微信公众号 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