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;

   

 

相關文章
相關標籤/搜索