Mask RCNN开发说明书

本文介绍了使用Mask RCNN进行街景图像的目标检测和分割任务,涉及模型测试、GPU利用、结果保存、评估指标计算、线上任务测试、训练过程以及数据集制作。通过调整配置实现GPU加速,并对大规模街景数据集进行mask图像的生成与训练,探讨了针对仅有bbox标注的数据集应用Mask RCNN的策略。
摘要由CSDN通过智能技术生成

https://github.com/matterport/Mask_RCNN

测试

1. 利用samples/demo.py进行测试, 加载训练好的模型mask_rcnn_coco.h5, 然后预测图像的输出. 模型输出格式为:

使用的是results[0], results[0]是一个dict, content如下:
key为rois, value为numpy array. 表示图像目标的位置, 二维矩阵[[], [], …], 每一个[]表示一个目标的bbox info, 具体为: ymin, xmin, ymax, xmax.
key为class_ids, value为numpy array, 一维向量, []. 每一个元素表示目标的class id. id从0开始, 0表示背景.
key为scores, value为numpy array, 一维向量, []. 每一个元素表示目标的置信度. scores和class_id是一一对应的.
key为masks, value为numpy array, 三维矩阵, [[[]], [[]], [[]], …]. 每一个二维矩阵[[]]表示一个目标的mask matrix.

2. 使用GPU

修改./samples/demo.py中InferenceConfig class的参数即可, 另外需要保证Batch size = GPU_COUNT * IMAGES_PER_GPU, 否则会报错! 是同时输入两个图像, 如在results = model.detect([image], verbose=1)时, len([image]) == Batch size = GPU_COUNT * IMAGES_PER_GPU, 其中image是numpy array数组.

3. 将模型输出结果保存至txt files, 然后计算mAP, Recall, IoU等值. 比较结果.

现在先进行两个子实验: 车辆检测和行人检测. <class_name> confidence

  1. 车辆检测, 车辆使用vehicle.
  2. 行人检测, 行人使用person.
    python main.py --ground_truth /home/ly/git/darknet/results/vehicle/ground_truth --predicted /home/ly/git/Mask_RCNN/samples/results/txt/vehicle --images /mnt/dataresource/53万张街景标框数据_12万/data/day/cloudy/city
    python main.py --ground_truth /home/ly/git/darknet/results/person/ground_truth --predicted /home/ly/git/Mask_RCNN/samples/results/txt/person --images /mnt/dataresource/53万张街景标框数据_12万/data/day/cloudy/city
    另外, 这个项目在保存IoU的结果时, 是这样保存的: 每个图像仅保存一个目标的IoU值, 在图像中将pred和GT的bbox画出来, 然后显示IoU. 因为, 数据集一共有多少个object, 那么就保存多少的图像.

4. 对一个正在执行的线上图像的目标标注任务进行测试, 2D街景数据标注.

代码见./samples/demo_2D_street_view.py

  1. 有Ground Truth的测试. 保存图像标注结果, 计算目标检测评价指标!
    利用./samples/scripts/extract_json_to_txt.py提取JSON文件中的<class_name> , 存放在txt文件中.
    由于2D街景图像标注的标注文件有些不一样, 所以需要修改python文件. 标注文件为:
    一行代表一张图像的标注文件, 是一个{}, 里面有markResult, 是bbox信息. title是图像文件. 标注的信息是:
    5个坐标点, 5个(x, y)坐标.
    将图像检测结果以及txt文件存放在./samples/results/2D_street_view_data_annotated下.
    <1> 车辆检测, 车辆使用vehicle.
    <2> 行人检测, 行人使用person.
    python main.py --ground_truth /home/ly/git/Mask_RCNN/samples/results/2D_street_view_data_annotated/ground_truth/vehicle --predicted /home/ly/git/Mask_RCNN/samples/results/2D_street_view_data_annotated/txt/vehicle --images /home/ly/git/Mask_RCNN/datasets/2018第1432-1433期图片标注任务_2D街景标注_行人_车辆/DT_part1_11
    python main.py --ground_truth /home/ly/git/Mask_RCNN/samples/results/2D_str
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值