实例分割包含了目标检测,和检测框里的语义分割。
在搭建好一个模型后,训练过程中遇到了mask loss异常值,目标框消失不见,validation过程报错的情况,这里记录一下对这些问题的分析过程和debug记录。
首先分析一下mask loss异常值的问题。
mask loss用的是BCE loss。
mask的值很大,几十万。
拿yolact来做一下对比。
它的mask loss只有一万多(后续处理前),那肯定我的值是不对的。
值大了很多,第一直觉是目标框可能没放对位值,导致gt mask不对。
于是选一张图片验证,原图是这样的
在yolact的mask loss部分,提取它的gt mask和gt 目标框,
可以看到图片是经过翻转的,目标框能和mask的目标部分对应上。
而把模型mask也这样提取出来,
原图是这样的,
把gt mask和gt 目标框也画出来。