Blender Git Commits

Blender Git "soc-2011-tomato" branch commits.

Page: 4 / 5

May 2, 2013, 13:40 (GMT)
Merging r56414 through r56469 from trunk into soc-2011-tomato

April 30, 2013, 13:10 (GMT)
Add check for points behind camera in euclidan BA cost functor

In cases keyframes are no so good, algebraic two frames construction
could produce result, for which more aggressive Ceres-based BA code
will fall to a solution for which points goes behind the camera,
which is not so nice.

Seems in newer Ceres returning false from cost functor wouldn't
abort solution, but will restrict solver from moving points behind
the camera.

Works fine in own tests, but requires more tests.
April 30, 2013, 12:20 (GMT)
Merging r56410 through r56413 from trunk into soc-2011-tomato

April 30, 2013, 07:58 (GMT)
Merging r56389 through r56408 from trunk into soc-2011-tomato

April 29, 2013, 17:16 (GMT)
Merging r56328 through r56388 from trunk into soc-2011-tomato

April 26, 2013, 19:06 (GMT)
Merging r56320 through r56327 from trunk into soc-2011-tomato

April 26, 2013, 15:54 (GMT)
Merging r56307 through r56319 from trunk into soc-2011-tomato

April 26, 2013, 12:57 (GMT)
Keyframe selection improvements

Added additional criteria, which ignores
keyframe pair if success intersection factor
is lower than current candidate pair factor.

This solves issue with keyframe pair at which
most of the tracks are intersecting behind the
camera is accepted (because variance in this
case is really small),

Also tweaked generalized inverse function,
which now doesn't scale epsilon by maximal
matrix element. This gave issues at really bad
candidates with unstable covariance. In this
case almost all eigen values getting zeroed
on inverse leading to small expected error
estimation.
April 26, 2013, 11:43 (GMT)
Added a button to apply scale on scene solution

This is an alternative to using camera to scale the
scene and it's expected to be better solution because
scaling camera leads to issues with z-buffer.

Found the whole scaling thing a bit confusing,
especially for object tracking, but cleaning this up
is a bit different topic.
April 26, 2013, 11:43 (GMT)
Setting tracking object scale shall not depend on active object
April 26, 2013, 11:43 (GMT)
Made bundles in 3D viewport have constant size

This means bundles' size is not affected by camera scale.
This way it's more useful to work with -- bundles never
becomes too small or too large (depending on reconstructed
scene scale).
April 26, 2013, 09:49 (GMT)
Merging r56261 through r56306 from trunk into soc-2011-tomato

April 24, 2013, 14:30 (GMT)
Initial commit of reconstruction variance criteria
which is an addition for GRIC-based keyframe selection.

Uses paper Keyframe Selection for Camera Motion and Structure
Estimation from Multiple Views,
ftp://ftp.tnt.uni-hannover.de/pub/papers/2004/ECCV2004-TTHBAW.pdf
as a basis.

Currently implemented camera positions reconstructions,
bundle positions estimation and bundle adjustment step.
Covriance estimation is implemented in very basic way
and need to be cleaned up, speed up and probably fixed.

Covariance matrix is estimating using generalized inverse
with 7 (by the number of gauge freedoms) zeroed eigen values
of J^T * J. Use value of 7 because we've got 3 translations,
3 rotations and 1 scale freedoms.

Additional changes:
- Added utility function FundamentalToEssential to extract
E from F matrix, used by both final reconstruction pipeline
and reconstruction variance code.

- Refactored bundler a bit, so now it's possible to return
different evaluation data, such as number of cameras and
points being minimized and also jacobian.

Jacobian currently contains only camera and points columns,
no intrinsics there yet. It is also currently converting to
an Eigen dense matrix. A bit weak, but speed is nice for
tests.

Columns in jacobian are ordered in the following way:
first columns are cameras (3 cols for rotation and 3 cols
for translation), then goes 3D point columns.

- Switched F and H refining to normalized space. Apparently,
refining F in pixel space squeezes it a lot making it wrong.

- EuclideanIntersect will not add point to reconstruction if
it happened to be behind the camera.

- Cleaned style a bit.
April 24, 2013, 13:52 (GMT)
Reconstructed scene scale ambiguity improvement

Made it so reconstructed scene always scaled in a way
that variance of camera centers is unity.

This solves "issues" when different keyframes will
give the same reprojection error but will give scenes
with different.scale, which could easily have been
considered as a bad keyframe combination.

This change is essential for automatic keyframe
selection algorithm to work reliable for user.
April 24, 2013, 13:51 (GMT)
Merging r56252 through r56260 from trunk into soc-2011-tomato

April 23, 2013, 20:28 (GMT)
Merging r56248 through r56251 from trunk into soc-2011-tomato

April 23, 2013, 18:59 (GMT)
Merging r55842 through r56247 from trunk into soc-2011-tomato

April 6, 2013, 14:51 (GMT)
Merging r55495 through r55841 from trunk into soc-2011-tomato

March 22, 2013, 08:45 (GMT)
Merging r55272 through r55494 from trunk into soc-2011-tomato

March 14, 2013, 09:55 (GMT)
Merging r55080 through r55271 from trunk into soc-2011-tomato

By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021