scipy.spatial.transform.Rotation.
mean#
- Rotation.mean(self, weights=None)#
获取旋转的平均值。
使用的平均值是弦长 L2 平均值(也称为投影或诱导算术平均值) [1]。如果
A
是旋转矩阵的集合,则平均值M
是使以下损失函数最小化的旋转矩阵\[L(M) = \sum_{i = 1}^{n} w_i \lVert \mathbf{A}_i - \mathbf{M} \rVert^2 ,\]其中 \(w_i\) 是与每个矩阵对应的权重。
- 参数:
- weightsarray_like 形状 (N,),可选
描述旋转相对重要性的权重。如果为 None(默认),则假定 weights 中的所有值都相等。
- 返回:
- mean
Rotation
实例 包含当前实例中旋转平均值的对象。
- mean
参考文献
[1]Hartley, Richard 等人,“Rotation Averaging”,International Journal of Computer Vision 103, 2013, pp. 267-305。
示例
>>> from scipy.spatial.transform import Rotation as R >>> r = R.from_euler('zyx', [[0, 0, 0], ... [1, 0, 0], ... [0, 1, 0], ... [0, 0, 1]], degrees=True) >>> r.mean().as_euler('zyx', degrees=True) array([0.24945696, 0.25054542, 0.24945696])