• Rostislav Vasilikhin's avatar
    KinectFusion big update: OpenCL support, etc. (#1798) · 75bcd397
    Rostislav Vasilikhin authored
    * KinFu demo: idle mode added
    
    * undistort added
    
    * KinFu demo: depth recorder added
    
    * TSDFVolume gets voxelSize, voxelSizeInv, truncDist members; decorative fixes
    
    * TSDFVolumeGPU::integrate(): host code compiles
    
    * TSDFVolume: truncDist fixed
    
    * TSDFVolume::integrate(): initial OCL version is done
    
    * TSDFVolume::integrate(): OCL: minor fixes
    
    * kinfu: small fixes
    
    * TSDFVolume::raycast(): initial GPU version is done
    
    * USE_INTRINSICS directive for centralized enable/disable opt. code
    
    * TSDF Volume supports 3 different sizes/resolutions on each dimension
    
    * TSDFVolume: serviceMembers moved to parent class
    
    * TSDFVolumeGPU: mem order changed, gave perf boost 4x
    
    * Frame: fixed UMat as InputArray; TSDF: comments, TODOs, minor fixes
    
    * Frame::getPointsNormals(); minors
    
    * FrameGPU: initial version (not working)
    
    * minor
    
    * FrameGPU: several fixes
    
    * added OCL "fast" options
    
    * ICP OCL: initial slow version is done (host-side reduce)
    
    * ICP OCL: reduce is done, buggy
    
    * KinFu Frame: more args fixes
    
    * ICP OCL: small fixes to kernel
    
    * ICP OCL reduce works
    
    * OCL code refactored
    
    * ICP OCL: less allocations, better speed
    
    * ICP OCL: pose matrix made arg
    
    * Render OCL: small fix
    
    * Demo: using UMats everywhere
    
    * TSDF integrate OCL: put const arg into kernel arg
    
    * Platform parameter partially removed, implementation choice is done through OCL availability check
    
    * Frame and FrameGenerator removed (other code is in following commits)
    
    * CPU render: 4b instead of 3b
    
    * ICP: no Frame class use, one class for both CPU and GPU code
    
    * demo: fix for UMat chain
    
    * TSDF: no Frame or FrameGenerator use
    
    * KinFu: no Frame or FrameGenerator, parametrized for Mat or UMat based on OCL availability
    
    * KinFu::setParams() removed since it has no effect anyway
    
    * TSDF::raycast OCL: fixed normals rendering
    
    * ScopeTime -> CV_TRACE
    
    * 3-dims resolution and size passed to API
    
    * fixed unexpected fails of ICP OCL
    
    * voxels made cubic again
    
    * args fixed a little
    
    * fixed volSize calculation
    
    * Tests: inequal, OCL, unified scene test function
    
    * kinfu_frame: input types fixed
    
    * fixed for Intel HD Graphics
    
    * KinFu demo: setUseOptimized instead of setUseOpenCL
    
    * tsdf: data types fixed
    
    * TSDF OCL: fetch normals implemented
    
    * roundDownPow2 -> utils.hpp
    
    * TSDF OCL: fetch points+normals implemented
    
    * TSDF OCL: NoSize, other fixes for kernel args
    
    * Frame OCL: HAVE_OPENCL, NoSize, other kernel args fixed
    
    * ICP OCL: HAVE_OPENCL, NoSize and other kernel fixes
    
    * KinFu demo fixes: volume size and too long delay
    
    * whitespace fix
    
    * TSDF: allowed sizes not divisable by 32
    
    * TSDF: fixed type traits; added optimization TODOs
    
    * KinFu made non-free
    
    * minor fixes: cast and whitespace
    
    * fixed FastICP test
    
    * warnings fixed: implicit type conversions
    
    * OCL kernels: local args made through KernelArg::Local(lsz) call
    
    * MSVC warnings fixed
    
    * a workaround for broken OCV's bilateral
    
    * KinFu tests made a bit faster
    
    * build fixed until 3.4 isn't merged to master
    
    * warnings fixed, test time shortened
    75bcd397
fast_icp.hpp 1.23 KB