为什么在应用直接线性变换之前对数据集进行归一化
信息处理
图像处理
单应性
正常化
2022-01-07 11:39:05
3个回答
归一化基本上是减少矩阵条件数的预处理(条件数越大,矩阵越接近奇异矩阵)。
在单应性估计的情况下,归一化变换也由矩阵表示,这恰好可以用作良好的预条件矩阵。原因更详细,并在H&Z 书(4.4.4,第 107 页:为什么归一化必不可少?)中进行了简要解释,或者在论文“为八点算法辩护”中进行了更详细的解释。
简单地说,矩阵由可以具有不同比例的图像坐标的乘积组成。如果比例因因子而异, 产品相差一个因素.
源和目标坐标数据通常是有噪声的。如果没有标准化,来自源的数据的方差可能比来自目标的数据大两个数量级(反之亦然)。
单应性估计通常以最小二乘的方式找到参数 - 因此,只有当参数的方差相同(或事先已知,但仅对输入进行归一化更实际)时,才能找到最佳统计估计。
直接求解器不喜欢尺度较差的问题,因为会出现数值不稳定性(例如,将非常大的数除以非常小的数很容易导致数值溢出)。
迭代求解器通过需要更多迭代来处理条件不良的矩阵。
因此,归一化不仅对于数值稳定性至关重要,而且对于在存在噪声和更快求解(在迭代求解器的情况下)的情况下进行更准确的估计也是必不可少的。
维基百科文章指出:
“使直接线性变换问题与众不同的原因是……定义方程 [X = AY] 的左侧 [X] 和右侧 [AY] 可以相差一个取决于 k 的未知乘法因子”
在上面的X,A,Y是矩阵。
因此,为避免不得不估计该因子,您只需对所有数据进行归一化即可。
这是数值准确性的问题。通过规范化数据集,您可以将数据居中并为其提供单位方差。这些条件最好由溶解器处理。
其它你可能感兴趣的问题