我正在尝试计算光流估计和提供的地面事实之间的归一化平方根误差 (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
的唯一方法是RMSE
Inf
或(xx-nn) = 0
。
因此,您需要检查数据。cu
和cv
都是常数(标量常量,或每个元素中具有相同值的向量),这将导致(xx-nn) = 0
,或至少u
中的一个,v
,cu
或cv
至少有一个条目是Inf
,这将导致RMSE
被Inf
。