| In this paper,a 3D reconstruction method based on random fern encoding is proposed to solve the problem of small reconstruction range,lack of effective repositioning strategy and cumulative error in KinectFusion algorithm.Aiming at the problem of accumulated error in KinectFusion algorithm and lack of effective repositioning strategy,this paper constructs the camera loop detection and relocalization strategy by using random fern encoding.The similarity between the current frame and the key frame is calculated by calculating Block HD(Block Harming Distance),and then the similar key frames are found by extracting the image information of each frame using random fern encoding.When the camera trajectory loop closures is detected,the camera pose corresponding to the key frame is retrieved as the initial value of the ICP,which can reduce the accumulated error caused by the long time reconstruction.When the camera pose estimation fails,the key frame similar to the current frame is retrieved by the random fern encoding,and the camera is relocated by the camera pose of the key frame.In view of the problem of small reconstruction range in KinectFusion algorithm,this paper increases the reconstruction range by combining with Infini TAM.The random fern encoding algorithm is integrated into a module and added to the InfiniTAM framework.The use of efficient data structure,memory and data exchange between CPU and GPU,increases the reconstruction range greatly.At the same time,the parallel computing ability of the GPU is used to accelerate the random fern encoding algorithm,which guarantees the real time of 3D reconstruction.A comparison experiment is carried out using the TUM RGB-D Dataset,and the comparison results show that,the method proposed in this paper can greatly increase the reconstruction range,effectively relocate the camera pose after the failure,and reduce the accumulated error,which makes the 3D reconstruction process more stable and obtains the camera pose more accurately. |