# A Survey of Visual SLAM Based on RGB-D Images Using Deep Learning and Comparative Study for VOE
## 3 Visual SLAM and Visual Odometry Using Deep Learning: Survey
### Deep Learning-Based Module for Visual SLAM and Visual Odometry
#### 3.1.2 Optical Flow Estimation
RAFT includes (1) the per-pixel features of image pairs extracted using a feature encoder module, 4D correlation volume built and synthesized from all pairs of feature vectors using a feature encoder module, and (3) an update module iterated on recurrently optical flow by lookups on the correlation volumes. [PERSON] et al. [77] proposed an unsupervised DL network called Dense Spatial Transform Flow (DSTFlow) that estimates optical flow based on input frame pairs. This is an end-to-end learning consists of three components: a localization layer, sampling layer, and interpolation layer. Backpropagation is used to train the parameters in all three layers. [PERSON] et al. [78] proposed an unsupervised CNN framework to estimate optical flow based on proxy GT data. These data are responsible for guided optical flow learning and consist of two stages: The first is a GT flow proxy created based on classical approaches, and the second is the process of fine-tuning the model using image-minimizing reconstruction loss. [PERSON] et al., [79] proposed an end-to-end deep neural network to estimate optical flow based on learning large motions using occlusion models clearly and a new warping. The main flow of this method is to use two copies of FlowNetS to share parameters and estimate forward and backward optical flow. [PERSON] et al. [80] proposed a new unsupervised learning framework for optical flow estimation based on multiple frames by exploiting the temporal relationship between frames and occlusions jointly. The flow fields and occlusion map are estimated based on evaluating the loss function of the warped images. [PERSON] et al. [81] proposed an unsupervised learning network for optical flow estimation called Deep Epipolar Flow. It uses soft Epipolar constraints on the low level and subspace of the scene when not in motion. The unsupervised training process is optimized based on image-based losses and Epipolar constraint losses. [PERSON] et al. [82] proposed a method to estimate optical flow based on a combination of utilizing intrinsic image decomposition and recomposition based on Retinex theory on two consecutive frames of outdoor UAV videos and an edge refinement scheme based on weighted neighborhood filtering. [PERSON] et al. [83] proposed a semi-supervised DL network to estimate optical flow. The proposed network is based on direct estimation from real data without using GT data. Foggy images and optical flow modules are estimated from clean images based on domain transformation. These two data sources interact together, wherein the optical flow module and the flow map that produces the flow map must be the same to generate the same error. [PERSON] et al. [84] proposed a self-supervised learning framework for depth and object motion estimation, in which the motion of individual objects is predicted based on rotation and translation of six degrees of freedom. The proposed network consists of two subnets: The objMotion-net and the Depth-net. The pose network is used to design ObjMotion-net, and Depth-net is designed based on the encoder and the decoder structure, with the basic structure being ResNet50. [PERSON] et al. [71] proposed an unsupervised training framework of multiple specialized neural networks called Competitive Collaboration to perform depth estimation, camera motion estimation, optical flow, and segmentation. This general framework solves the problem by dividing the scene into moving objects and static background, camera motion, depth of static scene structure, and optical flow of moving objects. b. Datasets of optical flow estimation  
MPI Sintel dataset [85]: To evaluate optical flow estimation models, [85] have published the MPI Sintel dataset. This database was created from 3D animations built from Sintel open-source code. Based on the cartoon, the camera's parameters, moving objects, and graphics are all calculated using vectors. The original data for optical flow estimation are also provided in the form of vectors.