项目椭球与7参数相机

bgp*_*000 5 c++ computer-vision covariance-matrix

我有一个使用7参数相机模型投影点的功能:

Vec2 project(const Rot3& R, // camera orientation
             const Vec3& T, // camera pos
             double f_px,   // focal length
             const Vec3& X) // point in world;
{
    const Vec3 P = R * (X-T);               // Subtract camera position and apply rotation
    const Vec2 p = P.hnormalized() * f_px;  // Normalize and apply focal length
    return p;
}
Run Code Online (Sandbox Code Playgroud)

现在我想扩展函数以对我投射的点进行不确定性估计(3x3协方差矩阵 - 世界坐标中的椭球)并返回2x2协方差矩阵(像素坐标中的椭圆).

我认为Hartley&Zisserman 在计算机视觉中多视图几何的引用适用于此,但我无法弄清楚它的数学.