What does Predict for neural network give back?

1 次查看(过去 30 天)
I'm built a unet for segmentation purpose. I trained the network and now want test the accuracy of the network. For training I randomly extracted 32x32 patches with randomPatchExtractionDatastore. For testing I split the input image into ordered 32x32, so 516x516 images was split into 256 32x32 images. Then I run the following code
testdata = imageDatastore(testDir);
predictPatchSize = [32 32];
net = load('trained_unet.mat');
net = net.net;
YPred = predict(net,testdata);
And the result it give back to me is a 4D array of 32x32x2x516.
Now I get the 32x32 because that's the size of my images. the 516 is how many images I put in and now many I get out. However the 2 is confusing me and I can't extract out the 516 images to rebuild back into a 516x516 image to compare to the grand truth mask I have to see how accurate the network is. Anyone have any idea on this problem?

采纳的回答

Jon Cherrie
Jon Cherrie 2021-4-23
I think that Ypred(i,j,k,n) is the score for class k for pixel i,j of the n-th image.
Often the score is the probability or similar. So you can think of this as the probability the pixel i,j of the n-th image is in class k.
  1 个评论
Zehao Pan
Zehao Pan 2021-4-24
Hmm but I'm trying to segment the image. Like it should just be giving me back just the mask of the area that suppose to be segmented?
Hmmm oh I see my mask has 2 class like either the background or the thing I'm trying ot find. So reason it has 2 probability is because there are 2 things it could be. So I would need to compare them to see which one is more likely and just set it myself?

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Image Data Workflows 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by