原本mask-rcnn是在faster_rcnn的检测分支基础上,并行的增加一个分割分支,对ROI align的特征图分别进行检测与分割,如下图所示:
这样其实训练时候会很慢,而且对同样的ROI使用同一个ROI align没有分开使用ROI align训练速度快,如下图所示:
另外,faster_rcnn中送给ROI align的候选区域数量很多,一般有100-300不等,这样其实需要学习的分割图数量上是很大的,所以导致分割分支不容易学到。而且在正常的faster_rcnn测试流程中,真正输出的候选框是经过nms与分数过滤的,剩下的会很少。同时,在mask-rcnn中,输出结果是以检测的结果为基准,在检测的结果内部给出该区域的分割结果。因此,真正需要进行像素级别语义分割的区域仅仅是检测最终结果的窗口内部区域,通常占roi区域不到十分之一或更少。
综上,对mask-rcnn的结果进行改进,在检测结果上进行mask分支的预测,如下图所示:
通过实验发现,其收敛速度也比原版快很多。