Small speedup in project (result of Visual SLAM slides :-))
parent
c93c9f1863
commit
b698e30acb
|
@ -275,11 +275,12 @@ public:
|
|||
if (P.z() <= 0)
|
||||
throw CheiralityException();
|
||||
#endif
|
||||
double d = 1.0 / P.z();
|
||||
const double u = P.x() * d, v = P.y() * d;
|
||||
if (Dpoint) {
|
||||
double d = 1.0 / P.z(), d2 = d * d;
|
||||
*Dpoint = (Matrix(2, 3) << d, 0.0, -P.x() * d2, 0.0, d, -P.y() * d2);
|
||||
*Dpoint = (Matrix(2, 3) << d, 0.0, -u * d, 0.0, d, -v * d);
|
||||
}
|
||||
return Point2(P.x() / P.z(), P.y() / P.z());
|
||||
return Point2(u, v);
|
||||
}
|
||||
|
||||
/// Project a point into the image and check depth
|
||||
|
|
|
@ -53,6 +53,10 @@ int main()
|
|||
// After Cal3DS2 fix: 0.12231 musecs/call
|
||||
// Cal3Bundler: 0.12000 musecs/call
|
||||
// Cal3Bundler fix: 0.14637 musecs/call
|
||||
// June 24 2014, Macbook Pro 2.3GHz Core i7
|
||||
// GTSAM 3.1: 0.04295 musecs/call
|
||||
// After project fix: 0.04193 musecs/call
|
||||
|
||||
{
|
||||
long timeLog = clock();
|
||||
for(int i = 0; i < n; i++)
|
||||
|
@ -70,6 +74,9 @@ int main()
|
|||
// After Cal3DS2 fix: 3.2857 musecs/call
|
||||
// Cal3Bundler: 2.6556 musecs/call
|
||||
// Cal3Bundler fix: 2.1613 musecs/call
|
||||
// June 24 2014, Macbook Pro 2.3GHz Core i7
|
||||
// GTSAM 3.1: 0.2322 musecs/call
|
||||
// After project fix: 0.2094 musecs/call
|
||||
{
|
||||
Matrix Dpose, Dpoint;
|
||||
long timeLog = clock();
|
||||
|
@ -88,6 +95,9 @@ int main()
|
|||
// After Cal3DS2 fix: 3.4483 musecs/call
|
||||
// Cal3Bundler: 2.5112 musecs/call
|
||||
// Cal3Bundler fix: 2.0946 musecs/call
|
||||
// June 24 2014, Macbook Pro 2.3GHz Core i7
|
||||
// GTSAM 3.1: 0.2294 musecs/call
|
||||
// After project fix: 0.2093 musecs/call
|
||||
{
|
||||
Matrix Dpose, Dpoint, Dcal;
|
||||
long timeLog = clock();
|
||||
|
|
Loading…
Reference in New Issue