Detectron-MaskRCnn:Mask判别和获取前向Mask的标签

        对于FCN-SceneParse网络,最后卷积生成N个类别的maps,每一个Map都获得图像全部点的单类几率。MaskRCNN的结构与FCN不相同。python

       参考三个文章:网络

       Detectron总结1:Blob的生成 和 generate proposal 
函数

       Detectron总结2:前向生成数据标签的过程
测试

       Detectron总结3:参数设置,直接打开cfg文件,找到train进行设置spa

       Detectron总结4:Detectron测试流程(含Mask和KeyPoint)
.net

      


获取多个Mask:blog

       对于预测的二值掩膜输出,咱们对每一个像素点应用sigmoid函数,总体损失定义为平均二值交叉损失熵。 引入预测K个输出的机制,容许每一个类都生成独立的掩膜,避免类间竞争。这样作解耦了掩膜和种类预测。不像是FCN的方法,在每一个像素点上应用softmax函数,总体采用的多任务交叉熵,这样会致使类间竞争,最终致使分割效果差。get

      代码段:it

获取每个图像Mask
class

def getMaskImg( mask,box,image ):
    imageMask = image.copy();
    for i in range(mask.shape[0]):
        for j in range(mask.shape[1]):
            if( mask[i,j]==0 ):
                #imageMask[i,j] = image[i,j]
                #mask[i,j] =254;
                imageMask[i,j,0]=0;
                imageMask[i,j,1]=0;
                imageMask[i,j,2]=0;
    
    x1 = int(box[0]);
    x2 = int(box[2]);
    y1 = int(box[1]);
    y2 = int(box[3]);
    imageMask = imageMask[y1:y2,x1:x2];
                
    return imageMask;

   

 

相关文章
相关标签/搜索