前言 上一篇介绍了视觉定位领域常用的评测算法的数据集,以及他们的获取地址等,本篇主要介绍一些用来评测算法的好坏的评估方法总结,以及分享一些好的开源项目。
本教程禁止转载。同时,本教程来自知识星球【CV技术指南】更多技术教程,可加入星球学习。
欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。
评估方法总结:
要去评估算法的好坏,首先得需要知道算法的输出是什么,在视觉定位算法中,其输出为拍摄图像时6自由度的相机姿态,其包括三自由度的平移和三自由度的旋转,其旋转可以用多种形式去表征,比如旋转矩阵、旋转向量和欧拉角、四元数。当然不是所有的算法输出都为6自由度的姿态,当机器人或者自动驾驶汽车几乎都在平坦地面上进行运动时,只需估计三自由度即可,这包括其在世界坐标系中的x、y坐标以及偏航角yaw。
-
评估方法一:
平移误差和旋转误差在一定阈值下图像所占的数量,比如下图所示
当评估三自由度时可以是估计的x、y和yaw在一定阈值下的图像所占百分比,比如下图所示
-
评估方法二:
测量估计的姿态和真实姿态之间的偏差来评估算法的精度。
位置误差为估计的和真实的之间的欧氏距离,即:
绝对旋转误差|α|,以度为单位,是根据估计的和真实的相机旋转矩阵和计算的,计算公式为:
一般在实验中设置三个阈值精度,即测量偏差在和中定位的查询图像在三个姿态精度区间,高精度(0.25m,2◦), 中精度(0.5m,5◦), 粗精度(5m,10◦) 的百分比,或者自己根据应用需求定义阈值。
如下图所示
-
评估方法三:
均方根RMS和均方根误差RMSE
RMS指将所有的误差平方求和后取平均值并开方,即
其中,N是图像(误差)的数量,e_i是第i个误差,RMS越小,说明估计误差越小,代表定位精度越高。
RMSE则是均方根误差的标准差,计算公式为:
Mean(e_i)表示所有误差的平均值。
两者区别在于,RMSE除了计算误差的平方和之外,还减去了平均误差的平方以消除均值偏差的影响,使得误差评估更为准确,因此在相同误差分布下,RMSE的值通常会比RMS的值稍大。
平均绝对误差MAE,即(预测的姿态-真实的姿态)/图像总数
-
评估方法四:
估计位姿和真实姿态之间的最大、平均、中值误差
如下图所示
-
评估方法五:
记录每幅图像的平移误差三分量(x y z)和旋转误差三分量(roll、pitch、yaw)
如下图所示
-
评估方法六:
定位成功率,即算法在一定误差范围内得到正确位姿的样本数量和总样本数量的比例,通常将误差范围定位为某个距离或角度的阈值,例如误差小于5厘米或者3度视为定位成功。
外点率,即当平移误差或者旋转误差大于某个阈值,样本被分为outlier。
如下图所示:
-
评估方法七:
时间效率,通常用于衡量算法在某些实时性要求较高的应用上,定义为算法的平均处理时间或者帧率。
欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。
【技术文档】《从零搭建pytorch模型教程》122页PDF下载
QQ交流群:470899183。群内有大佬负责解答大家的日常学习、科研、代码问题。
模型部署交流群:732145323。用于计算机视觉方面的模型部署、高性能计算、优化加速、技术学习等方面的交流。
其它文章
上线一天,4k star | Facebook:Segment Anything
3090单卡5小时,每个人都能训练专属ChatGPT,港科大开源LMFlow
Efficient-HRNet | EfficientNet思想+HRNet技术会不会更强更快呢?
ICLR 2023 | SoftMatch: 实现半监督学习中伪标签的质量和数量的trade-off
目标检测创新:一种基于区域的半监督方法,部分标签即可(附原论文下载)