- 21 Oct, 2019 1 commit
-
-
Apoorv Goel authored
DynamicFusion Implementation * Add new nodes from points * Addition of new node in the field * Warp nodes demo * Add newline before { * Remove 3rd party flann dependency * Regularisation Heirarchy * Correct node radius * Change default growth rate * New node position = centroid of the neighbourhood * Enlarge nodes while paused * Dynafu TSDF * TSDF demo * Avoid double calc and adjust initial tsdf weight * Fix bug that caused some voxels to disappear * getNodePos helper * Remove USE_INTRINSIC check * Correct RT avg calculation and remove redundant knn calc * Slight perf improvements * Use LinearIndex * Debug calculations * set all nodes' RT * Various bug fixes * Separate camera and warpfield * Add dynafu documentation * Adhere to coding style * Add dynafu unit test * update demo * Merge pull request #2133 from savuor:kinfu_truncate KinectFusion: several updates (#2133) * truncateThreshold added * demo updated for RealSense * first Kinect2, then RealSense * more distance-based parameters * Remove trailing whitespaces * Replace bool vector with array * create findNeighbours in WarpField * Maintain nodesPos matrix in WarpField * Fix warnings on Windows build * Remove cameraPose from WarpField * Use AutoBuffer * Marching Cubes * Fix MC * Split mesh vertices & edges * Change Mat types in MC * OpenGL rendering * Check for HAVE_OPENGL * Error handling in case HAVE_OPENGL is not defined * Replace Mat_ with std::vector inside marchCubes * Parallelise marching cubes * Fix warpfield and estimate depth inside DynaFuImpl::updateT() * Linearise depth and use points/normals from MC * Don't test dynafu without OpenGL support * Analytical calculation of Jacobian matrices * Add details about rotation and differentiate graph terms in J_r * Use derivative of T^-1 from the tutorial * Remove L2 norm from reg term * Use chain rule to differentiate data term * Markdown * Fix markdown * Replace MD file by HTML * Change the data term expression * Calculate J_d using vector identities * Rasterize vertex and normals * Apply warpfield before rendering * Add CV_UNUSED for normImage to fix warning * Render float image instead of uint8 * Implement ICP data term and other changes: 1. add option to applyWarp to normals 2. add option to `fetchPointNormals` to return points in voxel coordinates 3. Fix: Use voxel coordinates to update WarpField * Fix non-OpenGL build * Intialise newly discovered node transforms with DQB * Fix data term * Change data term normal and add kinfu-like distance/angle checks * Implement regularisation * Fix warnings * Credit authors of DQB and table for MC * cast size_t to int to supress warning * Correct regularisation and add normal equation set up * Delete html * Dynafu unit test
-
- 31 May, 2018 1 commit
-
-
Rostislav Vasilikhin authored
* empty kinfu module created * KinFu: skeleton is done * some intermediate state fixed * fixed normal calculation * bilinear depth interp: fixing missing data * TSDF integration optimized * TSDF: adding constness * utils: isNaN; Intr::Projector const reference fixed * TSDF raycast: quality improvements * TSDF fetchCloud is done * render() added * ICP implemented * debug code moved to demo.cpp * less TODOs * partial refactoring * TSDF: fetchPoints() and fetchNormals() rewritten in parallel manner * platform choose added * reordered * data types isolated off the platform * minor fixes * ScopeTime added * fixed iterations gathering * volume::integrate() parallelized but works slow (big overhead for * raycast is done in parallel * got rid of kftype and p3type * fetchNormals() fixed * less code duplication * nan check reduced, interpolate() refactored to fetchVoxel() * ICP: optimizations * TSDF: bilinear specialized * TSDF: voxelSizeInv pushed away * TSDF: interpolation optimized * TSDF::integrate: parallel_for now works fast * Frame::render: pow -> float ipow<int p>(x) * ICP::getAb: parallel_for * ICP::getAb: time print disabled * ICP::getAb::bilinear: 2 calls joined * refactored, extra functions removed * optimized to use only 27 elems * ICP::getAb: better optimized * Points and Normals data type expanded to 4 channels * ICP optimized (doesn't work) * ICP::getAb is on intrinsics and it works * NaN check is faster * ICP::getAB: minors * added non-SIMD code as fallback * TSDF::fetchVoxel and interpolation: got rid of coord check * TSDF::fetchVoxel: refactor * TSDF::raycast: local copies of members * TSDF::interpolate: refactored for simplier vectorization * TSDF::getNormal: refactored for simplier vectorization * minor * include "intrin.hpp" moved to precomp.hpp * TSDF::coords shifts moved to class body * TSDF::getNormal vectorized * TSDF::getNormal: little improvements * TSDF::interpolate: little improvements * TSDF::raycast vectorized * more to precomp.hpp * TSDF: minor optimizations * TSDF::raycast cycles optimized * TSDF::fetchPointsNormals instead of separate p and n * TSDF::bilinearInterpolate: little speedup * TSDF::interpolate: speed up * TSDF::interpolate: more compact code * TSDF::getNormal and raycast main cycle made faster * ICP: few improvements * Frame: a lot of parts parallelized * TSDF::fetchPointsNormals minor improvements * TSDF::integrate and bilinear vectorized * TSDF::interpolate and getNormal: interpolation vectorized * ICP: minor changes * gradientDeltaFactor removed, coarseParams() added * TSDF::raycast: fixed bug with tmin/tmax * minors * baseZ fixed * ICP: interpolation fixed, non-parallelized code fixed * TSDF::interpolate: bilinear fixed, less artifacts * TSDF: minor refactoring * TSDF: some members moved to parent class * added tests for KinFu * KinFu documented * docs fixed * warnings fixed * license added, overrides added * minors * ScopeTime moved to separate file * less memory allocations * demo improved, java binding disabled * viz module made optional * fix to demo * frameGenerator interface: got rid of refs to cv::Ptr * demo made interactive * trying to fix build * trying to fix warnings * warning fixed * demo fixed * raycast_step_factor tuned * legal info added * don't reset if ICP failed * refactoring: KinFu::operator() => update() * KinFu::KinFuParams => ::Params * get/setParams * fetch => get * all src moved to cv::kinfu namespace * struct Intr made internal * kinfu_module merged into rgbd module * License preambule updated * minors * frame.* renamed to kinfu_frame.* * warnings fixed * more warnings fixed * RGBD normals: a fix against Inf/Nan values * FastICP: fixed transformation direction * RGBD Odometry tests: added epsilon for id transform; minors * RGBD Odometry tests enabled * modules list fixed
-
- 17 Feb, 2015 1 commit
-
-
Maksim Shabunin authored
-
- 11 Jun, 2014 1 commit
-
-
Alexander Alekhin authored
-
- 13 Feb, 2014 1 commit
-
-
Vincent Rabaud authored
-