RMSE for 3D regression of image data

3 views (last 30 days)
Sean Alcock
Sean Alcock on 16 Jul 2021
Commented: Amanjit Dulai on 11 Aug 2021
I am running a CNN on a reconstructed particle volume with intensity values of between 0 and 1. As I understand RMSE is the difference between the reconstructed and true values of intensity in the 3D volume. I am however getting values of RMSE more than 1. Surely this should not be the case if the maximum difference between the predicted and true value of any given voxel is 1. Can anyone explain why? What am I missing?

Answers (1)

Amanjit Dulai
Amanjit Dulai on 19 Jul 2021
How many values does your network output? If you are using regressionLayer in your network, it will not divide the loss by the number of outputs. So if you have 10 outputs, you will need to divide the loss by 10 to get the average loss per output element.
  2 Comments
Sean Alcock
Sean Alcock on 26 Jul 2021
The output is a 3D volume containing the particles. It's not a classification network or anything like that. The idea of the network is to improve the quiality of the reconstruction of the 3D particle space by comparing it to the real particle space. Not sure how this changes things, as it's not outputting individual values.
Amanjit Dulai
Amanjit Dulai on 11 Aug 2021
So lets say the 3D volume that is being output is 5x5x5. That would give us 125 output values. The RMSE will not be normalized with respect to the number of output values. To normalize the RMSE with respect to this figure, you would divide it by the square root of 125. To normalise the MSE loss with respect to this figure, you would divide it by 125.

Sign in to comment.

Categories

Find more on Get Started with Statistics and Machine Learning Toolbox in Help Center and File Exchange

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!