Ask an expert. Trust the answer.

Your academic and career questions answered by verified experts

Calculating Normalized Root Mean Square Error

Date: 2022-12-14 12:20:22

I am trying to calculate normalized root square error (NRMSE) between my optical flow estimation and the provided ground truth I think I calculated the RMSE correctly, However, the normalized always INF values !

Here is part of my code: 

 

% u , v ==> estimated flow % cu , cv ==> ground truth flow du=abs(u-cu); dv=abs(v-cv); % To compute Absulet error AE= sqrt(du.^2+dv.^2); AE_aver= mean (AE(:)); % To compute End Point Error EPE=mean(AE(:)); % To Compute Root Mean Square Error X=AE.^2; RMSE=sqrt(mean(X(:))); % To Compute Normalized Root Mean Square Error Vg=cu.^2+cv.^2; xx=max(Vg(:)); nn=min(Vg(:)); NRMSE=RMSE./( xx - nn );

Could you please show me where is my mistake? thank you 

Answer: 

The only way that NRSME can be Inf is if either RMSE is Inf or (xx-nn) = 0.

So, you need to check your data. Either cu and cv are both constant (either scalar constants, or vectors with the same value in every element), which would lead to (xx-nn) = 0, or at least one of uvcu or cv has at least one entry that is Inf, which would lead to RMSE being Inf.


Why Matlabhelpers ?

Our Matlab assignment helpers for online MATLAB assignment help service take utmost care of your assignments by keeping the codes simple yet of high-quality. We offer the most reliable MATLAB solutions to students pursuing their Computer Science course from the Monash University, the University of Sydney, the University of New South Wales, the University of Melbourne; to name a few. Approach us today for best Matlab solutions online!

whatsApp order on matlabhelpers.com

telegram order on matlabsolutions.com