计算归一化均方根误差

Calculating Normalized Root Mean Square Error

我正在尝试计算我的光流估计和提供的地面实况之间的归一化均方根误差 (NRMSE) 我想我正确地计算了 RMSE,但是,归一化的总是 INF 值!

这是我的部分代码:

 % 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 );

你能告诉我我的错误在哪里吗? 谢谢

NRSME 可以是 Inf 的唯一方法是 RMSEInf(xx-nn) = 0

所以,您需要检查您的数据。 cucv 都是常数(标量常数,或每个元素中具有相同值的向量),这将导致 (xx-nn) = 0,或至少 uvcucv 至少有一个条目是 Inf,这将导致 RMSE 成为 Inf