基于 Mask R-CNN 中边界框回归知识讲解(重点是代码)

一、 边界框回归的概念

    如图所示,红色的框代表原始的建议框(proposal region),绿色的框代表目标的真实边界框(ground truth)。边界框回归的目标是:寻找一种映射关系,使得原始的建议框(红色)经过映射变为一个与真实边界框(绿色)更接近的边界框(蓝色)。一个矩形框通常可以用x、y、w、h四个参数表示(它们分别表示窗口中心点的坐标以及矩形框的宽高)。
基于 Mask R-CNN 中边界框回归知识讲解(重点是代码)_第1张图片

二、公式讲解

    边界框回归的这种映射关系可以表示为:

    边界框 G ^ \hat{G} G^ 可以通过下式得到,其中 P P P = ( P P P x _{x} x, P P P y _{y} y, P P P w _{w} w, P P P h _{h} h),边界框的变换由 d d d x _{x} x( P P P)、 d d d y _{y} y( P P P)、 d d d w _{w} w( P P P)、 d d d h _{h} h( P P P)四个函数实现。
在这里插入图片描述
    公式(1)实现的是平移变换,可以明显看到是在 P P P x _{x} x, P P P y _{y} y 的基础上加一个 △ \triangle x _{x} x △ \triangle y _{y} y得到,很容易想到肯定在中心坐标上加上相对于宽和高的 d d d x _{x} x d d d y _{y} y倍;
    公式(2)实现的是一个对数空间的尺寸缩放变换,即乘以 e e e d ^{d} d 倍;
    在目标检测算法中, d d d x _{x} x d d d y _{y} y d d d w _{w} w d d d h _{h} h是由算法在边界框回归分支中输出得到的,也就是在算法中边界框预测分支的输出并不是真正的框的位置,而是相对于建议框的偏移量(delta)。

    我们又知道,在经典的 two-stage 目标检测算法中,根据边界框 bbox的损失值来进行更新,那么必然要求出真实框相对于建议框的偏移量(t ∗ _{*} ),其计算公式如下,与上述的公式相对应,其实就是一个求解的逆过程。
基于 Mask R-CNN 中边界框回归知识讲解(重点是代码)_第2张图片

三、Mask R-CNN 中边界框回归代码讲解

    这块其实就是对上述公式的一个应用。

1. 计算 G ^ \hat{G} G^ 的过程;

基于 Mask R-CNN 中边界框回归知识讲解(重点是代码)_第3张图片

2.计算真实的(t ∗ _{*} )的过程

基于 Mask R-CNN 中边界框回归知识讲解(重点是代码)_第4张图片
    若转载请注明出处,谢谢大家,欢迎大家一起交流。

你可能感兴趣的:(Mask,R-CNN,deep,learning,深度学习,python,人工智能)