-
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
42a889ef