pycaffe上复现mask-rcnn

最近在pycaffe上复现mask-rcnn,发现训练后,测试的结果比较奇怪,虽然mask的loss分支下降了,但是从结果上看,好像没有学到:

pycaffe上复现mask-rcnn

保存下来的28*28的mask小图如下:

pycaffe上复现mask-rcnn

而其mask label是pycaffe上复现mask-rcnn

各位路过的大神多多指点一下,谢谢!


-----------------------------------------------------------------------经过两个多小时的查错,加一个小时的实验--------------------------------------------------------

发现在proposal_seg_target_layer_2.py中给每个roi生成mask的部分,我使用的按位异或,而这种异或操作对同一个mask最多只能使用一次,一旦超过一次就会将原来为1的部分异或为0.

而当时的代码中,对同一个实例的mask异或超过了一次,这也就导致了mask变成0.

修改后,训练1000次结果如下,终于分割分支开始生效了,虽然是万里长征的第一步,不过还是让人感到安慰。

pycaffe上复现mask-rcnn


回归结果中优先有边框这个,从网络输出的mask可以看出:

pycaffe上复现mask-rcnn

另外怀疑在动态生成ROI的mask target的过程中,是否生成了有边框的mask,于是打印出来看下:

pycaffe上复现mask-rcnn