**System Information**

All, dosent matter.

**Blender Version**

Broken: all

**Short description of error**

keyframe selection can't work as expected.

**Exact steps for others to reproduce the error**

according the paper KEY FRAME EXTRACTION AND BROWSER-BASED VISUALIZATION FOR 3D RECONSTRUCTION FROM VIDEO STREAMS page 8

SymetricEpipolarDistance (libmv/multiview/fundamental.cc) function does return PELC (PointToEpipolarLineCost) page 8, equation 2.5 instead of what it should, page 8, equation 2.4

so keyframe selection cant work as expected.

The positive point is that we allready have PELC criterion computed witch shoud fix TODO(sergey): STEP 4: PELC criterion arround line 265

should be something like that :

double SymmetricEpipolarDistance(const Mat &F, const Vec2 &x1, const Vec2 &x2) { Vec3 x(x1(0), x1(1), 1.0); Vec3 y(x2(0), x2(1), 1.0); Vec3 F_x = F * x; Vec3 Ft_y = F.transpose() * y; // d(y,F_x)+d(x,F_y) return Square(F_x(0)-y(0)) + Square(F_x(1)-y(1)) + Square(Ft_y(0)-x(0)) + Square(F_y(1)-x(1)); } double PointToEpipolarLineCost(const Mat &F, const Vec2 &x1, const Vec2 &x2) { Vec3 x(x1(0), x1(1), 1.0); Vec3 y(x2(0), x2(1), 1.0); Vec3 F_x = F * x; Vec3 Ft_y = F.transpose() * y; double y_F_x = y.dot(F_x); return Square(y_F_x) * ( 1 / F_x.head<2>().squaredNorm() + 1 / Ft_y.head<2>().squaredNorm()); }