本文共 2196 字,大约阅读时间需要 7 分钟。
目录
第六章 object_detection开源框架模型评估
本章主要为对object_detection开源框架预训练模型、基于预训练模型训练自己的模型进行精度、速度等各方面的评估。
6.1 预训练模型评估
6.1.1 预训练模型精度对比
这些预训练模型都是基于coco数据集训练出来的,从下图中(官方提供)可以看出faster_rcnn_nas的评估精度(COCO mAp)最高,但是它的物体识别速度最慢。从这些模型中挑选了4个不同种类且精度相对较好的模型(红色标出)进行实际的图片预测,将在下一小节展示结果。
6.1.2 预训练模型的图片测试
当前目录/home/users/py3_project/models/research/object_detection下(tensorflow-cpu方式运行):
下载2.1节中的4个预训练模型并解压,预训练模型下载地址
- 图片测试 修改test.py文件:将test.py第15-17行两个路径:PATH_TO_CKPT指向预训练模型的frozen_inference_graph.pb,PATH_TO_LABELS指向data/mscoco_label_map.pbtxt,NUM_CLASS修改为90: 使用 VNC-Viewer 客户端
执行
# python3 test.py test_images/01.jpg
-
ssd_mobilenet_v1_coco
(1)检测用时: 3.433s (2)检测效果: -
faster_rcnn_resnet101_coco
(1)检测用时: 9.713s (2) 检测效果: -
rfcn_resnet101_coco
(1)检测用时: 7.190s (2) 检测效果:
4. mask_rcnn_inception_v2_coco
(1)检测用时:
5.225s
(2)检测效果:
这些预训练模型的检测基于tensorflow-cpu运行,后面训练自己的模型时将加入tensorflow分布式配置的运行方式。
检测速度:ssd检测速度最快,比其他模型快1-2倍。
检测效果:ssd检测效果偏差,其他的几个模型检测效果差不多。
6.2 训练自己的模型进行评估
多个模型的训练均使用VOCtrainval_06-Nov-2007数据集,训练集2501个,测试集2510个。下载地址:
3个模型(ssd、faster-rcnn、rfcn)的训练及测试操作参照第四、五章。
6.2.1 各模型评估精度(eval.py)
- ssd_mobilenet_v1_coco 其中mAp@IoU=0.5的mAp值为0.410,比官网提供的0.21高很多。其中IoU为预测框与真实框交并比的阈值,一般设为0.5。area中不同设置为大、中、小物体。 2.faster_rcnn_resnet101_coco 其中mAp@IoU=0.5的mAp值为0.805,比官网提供的0.32高很多。 3.rfcn_resnet101_coco 其中mAp@IoU=0.5的mAp值为0.721,比官网提供的0.30高很多。
6.2.2 各模型训练速度对比
(1) tensorflow-cpu配置下的每步训练速度(train.py)
- ssd_mobilenet_v1_coco
- faster_rcnn_resnet101_coco
- rfcn_resnet101_coco (2)tensorflow-gpu配置下的每步训练速度(train.py)
-
ssd_mobilenet_v1_coco
查看GPU使用情况: -
faster_rcnn_resnet101_coco
-
rfcn_resnet101_coco
- ssd_mobilenet_v1_coco 查看GPU使用情况:
-
faster_rcnn_resnet101_coco
-
rfcn_resnet101_coco
6.2.3 各模型图片测试
总共批量测试了4张图片的测试速度,并贴出一张图片的测试效果。
(1) tensorflow-cpu配置下的图片测试
- ssd_mobilenet_v1_coco 速度:1.267s、0.074s、0.066s、0.048s
- faster_rcnn_resnet101_coco (1) 图片测试 速度:5.749s、1.514s、1.272s、1.411s
- rfcn_resnet101_coco (1) 图片测试 速度:5.632s、0.782s、0.500s、0.694s (2)tensorflow-gpu配置下的图片测试(只能单机模式,且暂不支持VNC显示)
- ssd_mobilenet_v1_coco 速度:1.429s、0.136s、0.046s、0.042s
- faster_rcnn_resnet101_coco 速度:2.919s、0.211s、0.358s、0.178s
- rfcn_resnet101_coco 速度:2.989s、0.463s、0.264s、0.170s
6.3 小结
在训练速度、测试速度上,gpu服务器远领先于cpu的运行方式。并且发现gpu分布式模式下的每台服务器平均训练速度略低于gpu单机训练速度的,可能原因是数据集数量较大,部分时间花费在了数据及参数的传输上面。
转载地址:http://xnxin.baihongyu.com/