{'fraction_non_alphanumeric': 0.03348626022797143, 'fraction_numerical': 0.0078512983020385, 'mean_word_length': 4.8135826230409675, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
SplitFusion: Simultaneous Tracking and Mapping for Non-Rigid Scenes

We present SplitFusion, a novel dense RGB-D SLAM framework that simultaneously performs tracking and dense reconstruction for both rigid and non-rigid components of the scene. SplitFusion first adopts deep learning based semantic instant segmentation technique to split the scene into rigid or non-rigid surfaces. The split surfaces are independently tracked via rigid or non-rigid ICP and reconstructed through incremental depth map fusion. Experimental results show that the proposed approach can provide not only accurate environment maps but also well-reconstructed non-rigid targets, e.g. the moving humans.


I. INTRODUCTION
Visual Simultaneous Localization and Mapping (Visual SLAM) is a popular robotics research topic which focuses on the robot self-localization and unknown environment reconstruction using visual sensors, such as stereoscopes, monocular cameras, RGB-D sensors, and laser scanners. Most of the existed visual SLAM approaches are designed based on the static environment assumption. However, dynamic elements in the scene can cause trouble for camera 6-DoF pose tracking, leading to artifacts in the reconstruction.
To deal with the problem of the dynamic environment, the recent works [2] [3] extract the dynamic components from the input, removing them as exceptions to apply static SLAM frameworks. These approaches have shown improvements in both camera tracking and reconstruction. Nonetheless, the removed dynamic objects are important targets for many autonomous robot systems, such as cooperative manipulation and human-robot interactions.
The seminal DynamicFusion [4] proposed a general solution for non-rigid scene reconstruction by parameterizing the scene with a expandable deformation model. However, the complexity of non-rigid tracking grows quadratically with the model's size, making this approach less scalable to larger scenes. Moreover, without explicit surface segmentation, these methods can not efficiently handle topology changes.
In this paper, we present a novel SLAM framework called SplitFusion which simultaneously performs tracking and reconstruction for both rigid and non-rigid components of the scene. We first split the scene into rigid or non-rigid geometric surfaces by leveraging the recent advancement in deep learning based semantic instance scene understanding. The split surfaces are independently tracked via rigid or non-rigid ICP and reconstructed through incremental depth map fusion. The proposed visual SLAM framework not only results in accurate and clean rigid environment maps but also provides well reconstructed non-rigid objects.

II. RELATED WORKS A. Online Dense 3D Reconstruction in Static Scenes
Online dense 3D reconstruction methods require tracking and incremental integration of consecutive overlapping depth maps into a 3D representation that is continuously refined. Typically, camera tracking is usually performed by an Iterative Closest Point (ICP) algorithm [5]. Divided by the 3D representation types, online dense 3D reconstruction has two main groups: the Surfel-Based method and the Volumetric method. A Surfel [6] is a isolated 3D primitive with 3D coordinate, shape, and rendering attributes. For its simplicity and light computation, it has been applied in many reconstruction frameworks [7] [8]. In Volumetric method, depth maps are converted into truncated signed distance function (TSDF) [9] and cumulatively averaged into a regular voxel grid. The final surface is usually extracted as the zero-value set of the implicit function using ray-casting [10]. KinectFusion [11] is the first volumetric method that demonstrated compelling real-time reconstructions using a commodity GPU. However, the use of a regular voxel grid imposes a large memory footprint, making KinectFusion impractical for large scale scene reconstruction. Nießner et al. [12] addressed the memory issue by introducing the hierarchical spatial voxel hashing method. Dai et al. [13] extends volumetric method into a complete SLAM system called BundleFusion, with a loop-closure, global pose optimization, and model update back-end.

B. Robust Tracking and Reconstruction in Dynamic Scenes
The above methods assume that scenes are static. However, dynamic elements in the scene can cause trouble for camera 6-dof pose tracking, leading to artifacts in the reconstruction. The straightforward solution is to remove the dynamic objects based on object detection and then apply the static SLAM solutions. For instance, PoseFusion uses skeleton tracking and geometry clusters to segment out humans; DS-SLAM [14] applied SegNet to detect and remove foreground humans and then estimate the camera motion with ORB-SLAM2 [15].R. Martin et al. proposed Co-Fusion [16] and MaskFusion [17] which apply objectlevel labels to track and reconstruct rigid objects, but they cannot handle non-rigid objects. Some researchers insisted to find out the dynamic clusters from the dense RGB-D point clouds. StaticFusion [3] jointly refine the Visual Odometry (VO) and dynamic segmentation using intensity and depth residuals. Zhang et al. [18] proposed to involve optical flow residuals to segment non-rigid clusters from the dense point cloud clusters. Although these approaches show improvements in ego-motion estimation and background reconstruction, in many practical applications, the dynamic elements are the most important targets in the scene. In particular, humans are widely encountered and can change the state of the scene in many ways. As such, in scenarios such as autonomous driving or the deployment of robots in areas with many humans, it would not be appropriate to discard moving elements.

C. Non-Rigid Reconstruction
The general solution for reconstruction in dynamic environments is to explicitly model the scene non-rigidity. The reconstruction of general non-rigidly deforming objects/scenes based on real-time depth sensor data has a long tradition [19]. One of the traditional methods use the pre-scanned template and transforming the template to live frames from RGB-D or stereo camera data. Based on the volumetric approach, DynamicFusion [4] is the first template-free on-the-fly non-rigid 3D reconstruction system. Zollhöfer et al. [20] proposed VolumeDeform, which employs a flip-flop data-parallel optimization schema that tackles the non-rigid registration at real-time rates. Besides, they improve tracking robustness using global sparse correspondence from hand-engineered feature matching. The KillingFusion [21] and SobolevFusion [22] can handle difficult topology changes but do not recover dense spatial and temporal correspondence. DoubleFusion [23] achieve good body tracking results by leveraging the human body model. SurfelWarp [24] reduced the memory and computation cost by employs Surfel rather than a volume as the 3D representation. Using multiple RGB-D cameras, Fusion4D [25] achieves high quality reconstruction results at the cost of the more complicated hardware setup. From the deep learning perspective, the recent works DeepDeform [26] replaces the noisy hand-engineered feature correspondence by more robust neural network based correspondence matching that is learned from a large amount of labeled non-rigid sequence.
In this paper, we present a novel non-rigid scene reconstruction system that by leveraging the recent advancement in semantic/instance scene understanding, to simultaneously reconstruct multiple non-rigidly deforming objects along with the static scene together.

III. SPLITFUSION OVERVIEW
SplitFusion splits a scene into several mutually independent geometric surfaces. A surface is associated with a warping filed that transforms the surface into the timevarying frames. As show in Fig. 2 the followings are the overview of this system: 1) The scene is first decomposed into several independent sub-surfaces. (cf. Section. IV-A) 2) The motion of a sub-surface is approximated by a dense warping filed. (cf. Section. IV-B) 3) Non-linear optimization is performed to find the best warping filed parameters for each sub-surface. (cf. Section. IV-C) 4) A live frame is fused into the warped model using volumetric method. (cf. Section. IV-D) Fig. 2: Overview of the proposed reconstruction system. For input RGB-D frames, we first apply YOLACT [27] based semantic instance segmentation on the color images and then refine the segmentation via depth map (i.e, point clustering). The segmented surfaces are tracked independently. The tracking is performed using rigid-ICP for rigid classes, (e.g. chairs and ground) or non-rigid ICP for deformable classes (e.g. human and animals). Depth map fusion is done for each surface and the extracted meshes are combined together using the relative surface-to-camera transformations.

IV. TECHNICAL DETAILS A. Scene Decomposition
SplitFusion takes RGB-D frames as input. Each frame is decomposed into several pieces via deep learning based semantic/instance segmentation and the segmentation are then refined by geometric post-processing. The system flowchart of the proposed method is shown in Fig. 2. The RGB frame is first fed into YOLACT [27] to detect the object category and perform pixel-level segmentation. YOLACT is a realtime instance segmentation method that can handle 80 types of objects in 2D images. Unlike two-stage methods such as Mask-RCNN, YOLACT is a one-shot instance segmentation method, which greatly reduces the inference time. It divide the instance segmentation into two parallel tasks. The first task uses fully convolutional networks [28] to generate a set of prototype masks with the same size for each image, and the output uses ReLU function for non-linearization. The second task is object detection based on anchor. It contains three branches: the first branch is used to predict mask coefficients for each prototype, the second branch is used to predict the confidence of instance categories and the third branch is used to predict the coordinates of the bounding box.
There are over 80-type of objects that can be detected by YOLACT. The objects in the environments are classified into rigid or nor-rigid objects according to their semantic labels. For instance, we treat humans and animals as nonrigid, tables, grounds, and desktops as rigid. The next step is to split the 3D surface according to the former 2D segmentation.
However, the YOLACT based segmentation is noisy and there are inevitable misalignments between color image and depth maps of a commodity RGB-D camera. Hence, we refine the YOLACT segmentation based on depth-map based geometry post-processing. This is done by applying the point cloud clustering as demonstrated in [2]. Specifically, the segmented non-rigid masks are first projected to 3D space using the pinhole camera model, then these projected points are used as foreground prior to start a 3D graphcut [29] based point clouds splitting. It treats every 3D point as a vertex and the vertices are connected with their neighbors by edges. Given these mask points as foreground priors, it split the non-rigid object point clouds out from the rigid backgrounds by computing the weights of the edges.

B. Per Surface Warping Filed
The decomposed surfaces are processed independently. Similar to [4] [20], we represent the per-surface warping filed by the deformation graph G . In the deformation graph, the node i's motion is parameterized by a translation vector t i ∈ R 3 and a rotation matrix R i ∈ SO3. Therefore a node is parameterized by a rigid 6-dof transformation. Putting all parameters into a single vector, we get the warping filed parameters G = {t i , R i |i = 1...k}, where k is the total number of node. Besides the 6-dof motion, a node also has the attribute g i ∈ R 3 , storing its 3D position in each timestep. The deformation nodes are sampled in the way that it covers the surface evenly. The nodes are connected based on closeness. Refer to [30] for the details.
The motion of the entire surface is estimated by linearly blending [30] the motions from the graph nodes. The influence of a rigid transformation is centered at a node's position, so that any nearby point p is mapped to positioñ p according top The influence of multiple graph node can be smoothly blended so that the transformation in pointṽ j is a weighted sum of the deformation graph transformations The blending weights w i, j are pre-computed acoording to and then normalized to sum to one. Here d max define the max distance of a valid neighbor. The blending weights for nodes that are beyond d max are set to zero. d max is computed per-point. It is defined by the distance to the K +1-th nearest neighbor node, i.e. only K nearest neighbor nodes can affect a point. Empirically we use K = 6 in our implementation. Based on the semantic information obtained from YOLACT, we split the scene into independent rigid and nonrigid surfaces. Note that the rigid surface can be considered as a special case of the non-rigid surface, where there are only one node in the deformation graph, i.e, , it has only 6 degrees of freedom.
In the rigid case, the non-rigid surface tracking task is reduced to the 6-dof camera pose tracking and the d max is set to positive infinity, i.e, all linear blending weights in Eqn. 2 become 1.

C. Warping Filed Estimation
We solve the surface motion tracking problem via the non-rigid ICP approach. For each surface, we estimate the deformation filed G given a target depth map by minimizing the following energy function: Here the data term E data is the dense model-to-frame ICP cost measuring the point-to-plane term between the warped model, which is a projected depth map D m , and live depth map D t . It is defined as where Ω is the set of corresponding pixel pairs in the projected depth map and live depth map. n, v ∈ R 3 are the normal vector and re-projected 3D vertex associated with a pixel. The method to found the correspondence set Ω can be found in the literature [4] [20]. The point-to-plane dataterm interact with the motion filed parameters according to the chain rule. The prior term E prior regularize the shape deformation. We use the ARAP [31], which encourages locally rigid motions. It is defined as (6) Where N i denotes node-i's neighboring nodes, and t j , t j are the positions of i, j after the transformation. E i, j define the weight associated with the edge.
The energy E total (G ) is then optimized by the Gauss-Newton update steps: where r is the error residue, and J is the Jacobian of the residue with respect to G . This linear equation is solved using the data-parallel preconditioned conjugate gradient (PCG). Note that by splitting the whole scene into subsurfaces, we also decomposed a potentially very large linear system into several smaller ones, which are easier to solve. If the surface is rigid, the tracking is reduced to rigid point-toplane ICP and the ARAP regularization disappeared from the energy function since there is only one deformation node.

D. Surface Fusion
We use the TSDF function to update each sub-surface model geometry. Following the fusion technique introduced by [11] [4], the depth maps segments D t of the real-time RGB-D frame is incrementally integrated into the canonical TSDF. Note that each sub-surface is associated with a separate volume and the TSDF fusion is also performed independently. We may have both rigid and non-rigid surfaces. Non-rigid surface fusion is a generalization of the projective truncated signed distance function integration approach applied in the rigid case in [11]. After the dense TSDF volumes are created, we perform per pixel ray-casting [10] to extract the final reconstructed surfaces. All surfaces are re-united to the camera coordinate system according to the surface-to-camera warping fileds (cf. Section IV-C).

V. EXPERIMENTAL RESULTS
We evaluate the proposed approach in two perspectives: non-rigid scene reconstruction and camera pose tracking w.r.t the rigid background.

A. Non-Rigid Scene Reconstruction Results
We evaluate the reconstruction results of our method using the following three published non-rigid sequences: KinectFusion [11] DynamicFusion [4] Ours  a) freiburg walking xyz: This sequence is from the TUM-RGBD [1] dataset. This scene contains two walking people in an office. It is captured via the Asus Xtion sensor which has manually been moved along three directions (xyz) while keeping the same orientation. This sequence is extremely challenging because the non-rigid human motions are very fast and the people are also interacting with the rigid objects, i.e, the chair. The sensor readings for the chairs are insufficient for detection, leading to environmental noise for tracking. We compare our method with the following methods: the rigid SLAM: KinectFusion [11], the nonrigid reconstructor: DynamicFusion [4], and Co-Fusion [16] which also perform rigid tracking for segmented objects. Reconstruction results for this sequence can be found in Fig. 1 and 4. KinectFusion does not work for dynamic scenes. DynamicFusion treats the entire scene as a whole non-rigid object, the scene sticks together over time. Although Co-Fusion also uses segmentation technique, it can not track and reconstruct the non-rigid human. We achieve significantly better reconstructions than these methods. For video comparison, we refer to the supplementary material. b) Selfie: This sequence is released by StaticFusion [3]. In this sequence, a person carries the camera with her right arm while the camera points at them. This a very complex test because the person often occupies more than 50% of the image and which causes a problem for camera pose tracking and background reconstruction. The result of this sequence is shown in Fig. 5. We achieve robust tracking and reconstruction for both the foreground people and the room. However, the arm and shoulder can not be reconstructed because the commodity RGB-D camera can only capture depth that is further than 0.5 meters.
c) Minion: This sequence is published by VolumeDeform [20]. This is also a very hard sequence. In this sequence, a person carries a "Minion" in front of a camera. A large portion of the frame is occupied by the nonrigid objects. The self-occlusion between the minions and human also make non-rigid tracking very hard. For the high entanglement, we treat the person and minion as a single object. The result of this sequence is shown in Fig. 6.
As shown in Fig. 1, Fig. 5, and Fig. 6 (from left to right), just like the results demonstrated in [4] [20], noisy and incomplete reconstruction can be progressively denoised and completed over time as more depth maps are fused into the model.

B. Camera Pose Tracking w.r.t the Rigid Background
To evaluate the rigid mapping results, we compared the proposed method to three state-of-the-art dynamic environment reconstruction methods: Co-Fusion(CF), StaticFusion(SF) and FlowFusion(FF). Tab. I shows the translational Absolute Trajectory Errors (ATE) on TUM [1] and HRP-Slam [32] RGB-D datasets. The first two fr1 sequences are static environments, all of these methods got similar results. The lower four rows are dynamic sequences. As our method applied advanced dynamic object detection and removal technique, VO errors are much smaller than CF and competitive to SF and FF. The proposed method results in the smallest 4.8 cm ATE in fr3/walking xyzsequence, the reconstructed maps are shown in Fig. 4. CF works well in known environments. There are moving objects in this sequence from the beginning, which result in CF's VO failure. KF and DF cannot distinguish rigid and nonrigid objects, thus they cannot decouple the camera motion and failed in non-rigid tracking. The proposed SplitFusion split rigid and non-rigid objects. The rigid fusion pipeline provides an accurate static environment mapping and camera tracking(see the reconstructed desk and ground in the figure). Furthermore, the non-rigid fusion pipeline successfully tracks and reconstructs multiple non-rigid objects(see the yellow and green humans in the figure).

VI. CONCLUSIONS AND LIMITATION
In this paper, we proposed SplitFusion, which simultaneously tracks and reconstructs the rigid backgrounds and the deformable moving objects. By leveraging the learningbased semantic/instance scene understanding, our camera 6-dof pose tracking performance is comparable to state-ofthe-art dynamic SLAM solutions. Furthermore, the proposed approach can track and reconstruct multiple non-rigid object surfaces and mapping them to the same world coordinate system. Experimental results show that we can reconstruct accurate static environment maps and multiple non-rigid objects even in the challenging dynamic scenes. However, many problems are yet to be solved: 1)the system requires excessive computation and memory on complex scenes with multiple objects, this problem could be alleviate by using light surfel as 3D representation. 2) Both rigid and nonrigid tracking are not reliable when facing large motions, a promising direction is to incorporate the robust deep trackers as show in [33] [34] [26] [35] [36].