图像目标检测之cascade-rcnn实践

最近一直在调试目标检测方面的模型,其中mmdetection中就集成了许多的目标检测模型。其中表现比较好的模型中有cascade-rcnn,因此也趁这个机会具体了解一下这个模型的发展脉络。

1、模型原理

在two-stage模型中,常见都会预测得到一些目标对象的候选框,这个候选框跟真实值之间一般通过交叉面积(IOU)的计算来判断该框是否为正样本,要保留的候选框。常见的IOU参数设置一般是0.5,但是这种0.5参数的设置一般会导致很多无效的对象,如下的左图所示,而当这个参数设置为0.7的时候就会得到如右图更加清晰的。

但是设置0.7的时候又会带来什么问题呢,不可避免会漏掉一些目标框,特别是微小目标,同时由于正样本数量太少,容易出现过按拟合的现象。

那么cascade-rcnn的重点就是在解决这个IOU参数设置的问题,他设置了一个级联检测的办法来实现。如下图的d子图所示:

图像目标检测之cascade-rcnn实践_第1张图片

在d图中,可以明显看出其级联特性,与b图相比,其每次的IOU参数都是不一样,正常设置为0.5,0.6,0.7。

通过这种方式,可以实现对候选框的级联优化检测。如mmdetection中的cascade-rcnn的配置如下:

 rcnn=[
        dict(
            assigner=dict(
                type='MaxIoUAssigner',
                pos_iou_thr=0.5,
                neg_iou_thr=0.5,
                min_pos_iou=0.5,
                ignore_iof_thr=-1),
            sampler=dict(
                type='RandomSampler',
                num=512,
                pos_fraction=0.25,
                neg_pos_ub=-1,
                add_gt_as_proposals=True),
            pos_weight=-1,
            debug=False),
        dict(
            assigner=dict(
                type='MaxIoUAssigner',
                pos_iou_thr=0.6,
                neg_iou_thr=0.6,
                min_pos_iou=0.6,
                ignore_iof_thr=-1),
            sampler=dict(
                type='RandomSampler',
                num=512,
                pos_fraction=0.25,
                neg_pos_ub=-1,
                add_gt_as_proposals=True),
            pos_weight=-1,
            debug=False),
        dict(
            assigner=dict(
                type='MaxIoUAssigner',
                pos_iou_thr=0.7,
                neg_iou_thr=0.7,
                min_pos_iou=0.7,
                ignore_iof_thr=-1),
            sampler=dict(
                type='RandomSampler',
                num=512,
                pos_fraction=0.25,
                neg_pos_ub=-1,
                add_gt_as_proposals=True),
            pos_weight=-1,
            debug=False)
    ],

2. 实验

在mmdetection中,通过几行代码即可以实现利用该模型进行测试。如下所示:

图像目标检测之cascade-rcnn实践_第2张图片

检测效果如下,不过与faster_rcnn相比,这个预训练模型效果并没有来得好。

你可能感兴趣的:(图像处理)