ResUnet-a icon indicating copy to clipboard operation
ResUnet-a copied to clipboard

Question about distance, boundary, segmentation and watershed algorithm.

Open 0ozzy0 opened this issue 1 year ago • 0 comments

Hello, at first, i like to thank you about the code that you have shared. My question is, how can we obtain 1) the probability of belonging to a field; 2) the probability of belonging to a boundary; and 3) the distance to the closest boundary with the corresponding code and have you used watershed algorithm as the resunet article suggests.

`dist = ZeroPadding2D(padding=1)(x1) dist = Conv2D(32, 3)(dist) dist = self.normalization(dist, self.layer_norm) dist = Activation('relu')(dist) dist = ZeroPadding2D(padding=1)(dist) dist = Conv2D(32, 3)(dist) dist = self.normalization(dist, self.layer_norm) dist = Activation('relu')(dist) dist = Conv2D(self.num_classes, 1, activation='softmax', name = 'distance')(dist)

    bound = Concatenate(axis=-1)([x, dist])
    bound = ZeroPadding2D(padding=1)(bound)
    bound = Conv2D(32, 3)(bound)
    bound = self.normalization(bound, self.layer_norm)
    bound = Activation('relu')(bound)
    bound = Conv2D(self.num_classes, 1, activation='sigmoid', name = 'boundary')(bound)

    seg = Concatenate(axis=-1)([x,bound,dist])
    seg = ZeroPadding2D(padding=1)(seg)
    seg = Conv2D(32, 3)(seg)
    seg = self.normalization(seg, self.layer_norm)
    seg = Activation('relu')(seg)
    seg = ZeroPadding2D(padding=1)(seg)
    seg = Conv2D(32, 3)(seg)
    seg = self.normalization(seg, self.layer_norm)
    seg = Activation('relu')(seg)
    seg = Conv2D(self.num_classes, 1, activation='softmax', name = 'segmentation')(seg)

    model = Model(inputs = input, outputs={'seg': seg, 'bound': bound, 'dist': dist})`

0ozzy0 avatar Sep 21 '22 11:09 0ozzy0