Comments (1)
for (int iterNo = 0; iterNo < noIterationsPerLevel[levelId]; iterNo++)
{
// evaluate error function and gradients
noValidPoints_new = this->ComputeGandH(f_new, nabla_new, hessian_new, approxInvPose);
// check if error increased. If so, revert
if ((noValidPoints_new <= 0) || (f_new > f_old)) {
trackingState->pose_d->SetFrom(&lastKnownGoodPose);
approxInvPose = trackingState->pose_d->GetInvM();
lambda *= 10.0f;
}
else {
lastKnownGoodPose.SetFrom(trackingState->pose_d);
f_old = f_new;
noValidPoints_old = noValidPoints_new;
for (int i = 0; i < 6 * 6; ++i) hessian_good[i] = hessian_new[i] / noValidPoints_new;
for (int i = 0; i < 6; ++i) nabla_good[i] = nabla_new[i] / noValidPoints_new;
lambda /= 10.0f;
}
for (int i = 0; i < 6 * 6; ++i) A[i] = hessian_good[i];
for (int i = 0; i < 6; ++i) A[i + i * 6] *= 1.0f + lambda;
// compute a new step and make sure we've got an SE3
ComputeDelta(step, nabla_good, A, iterationType != TRACKER_ITERATION_BOTH);
ApplyDelta(approxInvPose, step, approxInvPose);
trackingState->pose_d->SetInvM(approxInvPose);
trackingState->pose_d->Coerce();
approxInvPose = trackingState->pose_d->GetInvM();
// if step is small, assume it's going to decrease the error and finish
if (HasConverged(step)) break;
}
from infinitam.
Related Issues (20)
- from rgb to depth HOT 10
- Show nothing when running InfiniTAM.exe with files in Teddy HOT 5
- Multi-camera Application HOT 1
- FileBasedTracker doesnโt fuse the scene HOT 2
- How big is the voxel grid? HOT 1
- Saving 3D Reconstruction
- Python bindings HOT 6
- Azure Kinect Support HOT 1
- C1083 Cannot open include file: 'GL/glut.h': No such file or directory HOT 5
- Extracting the current VoxelGrid for an additional processing step HOT 1
- Python Buffer access to ITMLocalVBA HOT 1
- Cannot access the voxel blocks on device using Nsight VSE Debugger HOT 1
- ITMLocalVBA alone extractable as 3D Reconstruction? HOT 1
- cannot read images HOT 11
- Which version is the newest HOT 1
- Project doesn't build
- Does InfiniTAM support for MS Azure Kinect (soon)?
- Blensor Scans
- Headless InfiniTAM
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from infinitam.