Abstract

We propose a splat-based 3D scene reconstruction method from RGB-D input that effectively handles extreme motion blur, a frequent challenge in low-light environments. Under dim illumination, RGB frames often suffer from severe motion blur due to extended exposure times, causing traditional camera pose estimation methods, such as COLMAP, to fail. This results in inaccurate camera pose and blurry color input, compromising the quality of 3D reconstructions. Although recent 3D reconstruction techniques like Neural Radiance Fields and Gaussian Splatting have demonstrated impressive results, they rely on accurate camera trajectory estimation, which becomes challenging under fast motion or poor lighting conditions. Furthermore, rapid camera movement and the limited field of view of depth sensors reduce point cloud overlap, limiting the effectiveness of pose estimation with the ICP algorithm. To address these issues, we introduce a method that combines camera pose estimation and image deblurring using a Gaussian Splatting framework, leveraging both 3D Gaussian splats and depth inputs for enhanced scene representation. Our method first aligns consecutive RGB-D frames through optical flow and ICP, then refines camera poses and 3D geometry by adjusting Gaussian positions for optimal depth alignment. To handle motion blur, we model camera movement during exposure and deblur images by comparing the input with a series of sharp, rendered frames. Experiments on a new RGB-D dataset with extreme motion blur show that our method outperforms existing approaches, enabling high-quality reconstructions even in challenging conditions. This approach has broad implications for 3D mapping applications in robotics, autonomous navigation, and augmented reality. Both code and dataset are publicly available on https://github.com/KAIST-VCLAB/gs-extreme-motion-blur.

1 Introduction↩︎

High-quality 3D scene reconstruction is one of the most important and challenging applications in computer vision. The accuracy of 3D reconstruction hinges on the quality of essential components, such as camera poses, RGB images, and depth maps. These elements are interconnected and influence each other; a failure in one component can adversely impact the others. For example, blurry RGB images or noisy depth maps can significantly impair camera pose estimation, which, in turn, degrades overall reconstruction quality. This challenge is particularly pronounced when input data is captured in low-light conditions or during rapid camera movement—common scenarios in everyday, casual capture. Such conditions result in degraded color and depth frames, leading to poorly estimated camera poses and reconstructions with blurry textures and distorted or smoothed geometry. Therefore, achieving high-quality 3D reconstruction requires clear RGB images and accurate depth maps.

The interdependence of these input components suggests an opportunity for compensating or restoring degraded elements. However, this process presents a chicken-and-egg problem, complicating the reconstruction further. For instance, accurate camera pose estimation requires sharp images, while deblurring motion-blurred images depend on reliable camera pose information. Although numerous methods [1], [2] exist for recovering sharp images from motion-blurred ones, they often rely on supervised learning models trained on specific datasets. Consequently, their deblurring performance can degrade significantly when faced with new cameras or motion blur scenarios that differ from the training data.

Recent works [3][6] have made advances in addressing these challenges by optimizing camera trajectories during exposure while simultaneously learning sharp RGB colors. This enables simultaneous camera pose estimation and image deblurring. However, these methods require an initial camera pose and, when using Gaussian Splatting [7], also need a sparse point cloud as input. This requirement limits their applicability, especially when severe motion blur prevents structure-from-motion (SfM) methods like COLMAP [8] from functioning effectively, making it impossible to start the optimization process.

To overcome these limitations, we introduce a robust approach for 3D scene reconstruction that effectively compensates for severe motion blur and addresses the challenges of camera pose estimation without relying on a precise initial pose. Our method leverages RGB-D inputs and incorporates both optical flow and depth information to align camera poses accurately, even in the presence of challenging motion blur and lighting conditions. We first perform a global alignment between consecutive frames using optical flow and the ICP algorithm, which enables effective local alignment of point clouds generated from the depth maps.

After this initial alignment, we refine the camera poses and 3D geometry by integrating them into a Gaussian Splatting pipeline. This approach allows us to initialize dense 3D Gaussians from depth maps, which we scale to ensure a detailed representation of the scene geometry. Our refinement process iteratively adjusts both camera poses and the positions of 3D Gaussians, achieving global consistency by minimizing a depth alignment loss that compares rendered depth maps with input depth measurements. Through this adjustment, we eliminate loop-closure artifacts and reduce the drift that often accumulates in traditional SLAM-based methods.

For scenes with significant motion blur, we further optimize the deblurring process by modeling the camera poses at the start and end of each frame’s exposure. This temporal modeling allows us to simulate the effects of motion during the exposure period, which we incorporate into our Gaussian Splatting framework. We minimize the difference between the observed motion-blurred image and the average of a set of sharp images rendered from multiple viewpoints along the exposure trajectory, resulting in more accurate, geometrically consistent deblurring. Our deblur loss function combines image alignment, structural similarity, and depth consistency, ensuring that the final reconstructions retain sharpness and fidelity to the original scene structure.

Through extensive evaluation on a newly constructed RGB-D dataset featuring extreme motion blur, we demonstrate that our approach significantly outperforms existing methods in both accuracy and robustness. By addressing the key challenges of pose estimation, depth alignment, and image deblurring, our method provides a versatile and effective solution for high-quality 3D reconstruction under real-world capture conditions, such as low light and fast motion. The proposed method holds promising applications in areas requiring reliable 3D mapping and reconstruction, including robotics, autonomous navigation, and augmented reality. We will make both our dataset and implementation publicly available to foster further research and development in this field.

2 Related Work↩︎

Figure 1: Overview of our method pipeline. We begin with global alignment by comparing optical flow and reprojected pixel differences between adjacent RGB-D image pairs, followed by local estimation of relative camera poses using ICP. Each depth map and camera pose is then used to initialize 3D Gaussians. By fixing the scale of the Gaussians and optimizing with depth and opacity losses, we achieve global refinement of camera poses and geometry. Finally, we deblur the scene texture by minimizing the deblur loss between the input image and averaged virtual images.

A popular approach to 3D geometry reconstruction defines a 3D voxel grid and constructs a signed distance function (SDF) volume by accumulating depth estimates captured by sensors. KinectFusion [9] uses a Kinect camera to capture RGB-D images, then estimates relative camera poses between adjacent frames with the ICP algorithm. Next, it constructs and updates a truncated signed distance function (TSDF) volume, enabling real-time 3D reconstruction of objects. Niessner et al. [10] improve memory efficiency by combining hashing algorithms to store and update SDF values only where needed, thus reducing memory requirements.

Several methods [11][14] adopt memory-efficient, hierarchical data structures for depth fusion. BundleFusion [15] simultaneously refines camera poses and geometry using bundle adjustment, improving reconstruction accuracy and addressing the loop closure problem caused by accumulated camera pose and depth estimation errors. ElasticFusion [16] builds a map with surfels—point primitives containing position, normal, and radius—and updates the map through a deformation graph to minimize error and perform loop closure. Other methods [17][19] directly fuse depth estimates into point clouds, optimizing memory use. However, these methods generally require slow camera motion to capture sharp images and accurately estimate camera transformations.

Simultaneous localization and mapping (SLAM) methods [20][24] track camera motion and construct a map in real-time by extracting visual features from input images to establish 3D point correspondences. CodeSLAM [25] and DeepTAM [26] use neural networks to combine depth maps with color images, while Azinović et al. [27] train multi-layer perceptrons (MLP) to learn SDF and color values for scene reconstruction. Their approach also optimizes camera transformation correction variables during training to refine poses. However, these methods struggle with input images that contain motion blur. Nice-SLAM [28], Point-SLAM [29], and DROID-SLAM [30] use neural networks to track camera poses. SplaTAM [31] and MonoGS [32] introduced SLAM solutions based on 3D Gaussian Splatting. However, these methods are not designed to handle motion blur.

Motion blur occurs when camera motion during the exposure time changes the projected pixel coordinates of rays on the camera sensor. Early studies [33][35] tackle this issue by developing kernels to restore blurry images. Convolutional neural networks (CNNs) demonstrate powerful performance in learning deblur kernels [36], [37], and deep learning techniques such as ResNet with skip connections and multi-scale networks further improved restoration quality [38], [39]. SRN-DeblurNet [1] adopt recurrent networks [40], [41] and combine them with an encoder-decoder network structure, while NAFNet [2] simplify the network structure, extracting only essential components and proposing a nonlinear activation-free network. However, since these methods rely on curated datasets like the GoPro dataset [39], they struggle to effectively deblur images with extreme motion blur or those captured on different cameras.

There are NeRF-based approaches [42] that tackle motion blur in input images. Deblur-NeRF [43] and DP-NeRF [44] use a set of motion-blurred images along with camera poses estimated by COLMAP as input to restore sharp images through NeRF optimization. BAD-NeRF [4] enhances this by jointly optimizing virtual camera poses and radiance fields during exposure. The latest approaches utilize Gaussian Splatting [7], which offers faster training times than NeRF by rendering a set of 3D Gaussians with a dedicated rasterizer rather than optimizing a neural network. Gaussian Splatting-based deblurring methods [3], [5], [6] optimize the virtual camera trajectory and minimize differences between input blurry images and the average of rendered images at each virtual camera position.

All of these methods rely on initial camera poses, typically obtained from COLMAP, and for Gaussian Splatting-based methods, a sparse point cloud as well. However, structure-from-motion methods like COLMAP often fail with blurry inputs—such as images captured by fast-moving cameras or in low-light conditions that require long exposure times. Even with dense depth inputs, ICP requires acceptable global alignment, and recent point cloud matching methods [45], [46] cannot accurately determine relative camera transformations between two point clouds if they consist mainly of planar structures.

To address these issues, we propose an effective camera pose estimation algorithm tailored for RGB-D image sequences that jointly refines both the camera trajectory and the reconstructed 3D point cloud, resulting in improved sharpness in 3D reconstruction.

3 Method↩︎

In datasets with significant motion blur, using COLMAP to estimate camera poses becomes impractical. Additionally, rapid camera motion and the limited field of view of depth sensors further complicate this task, making ICP registration less effective. To address these challenges, we first perform global alignment using both RGB and depth images, which establishes sufficient initial alignment for the ICP algorithm to operate effectively. After achieving this global alignment, we apply ICP again to refine and accurately estimate the camera poses. However, estimating camera poses by analyzing only two consecutive frames in a sequence can result in accumulated errors, leading to drift over time. To resolve this issue, it is crucial to adjust the 3D geometry and align the camera poses across the entire sequence so that depth maps and camera views from all perspectives remain well-aligned. We accomplish this through bundle adjustment, optimizing the positions of 3D Gaussians and camera poses within the Gaussian Splatting pipeline. Finally, to account for motion blur, we approximate the camera trajectory over time and optimize the movement during exposure, enabling effective deblurring. See Figure 1 for an overview.

3.1 Local Pose Estimation↩︎

To estimate relative camera transformations, we select consecutive frames from the input RGB-D image sequence. Our approach begins with global alignment using optical flow, followed by local alignment of the two-point clouds using the ICP algorithm. For each consecutive RGB image and depth map pair at times \(t\) and \(t+1\), we optimize the transformation \(\boldsymbol{\xi} \in \mathfrak{se}(3)\) between the frames. Here, \({\boldsymbol{\xi} _{t \to t + 1}} = {[{\mathbf{x}^{\intercal}},{\boldsymbol{\omega} ^{\intercal}}]^{\intercal}}\), where \(\mathbf{x}\) represents the translation vector between the two camera origins, and \(\boldsymbol{\omega}\) is the rotation element of \(\mathfrak{se}(3)\). We ultimately calculate a camera-to-world transformation matrix \(\boldsymbol{\xi}_t\) for each timestamp \(t\).

To achieve this, we first compute the difference between the estimated optical flow and the reprojected pixel from the camera at time \(t\) to \(t+1\) using the depth estimate for each pixel in the depth map \({D}_{t}\) and the intrinsic matrix \(\mathbf{K}\). A pixel \(\mathbf{p}_i\) in the depth map is backprojected to 3D space as: \({\mathbf{P}_i} = {\pi ^{ - 1}}(\mathbf{K},\mathbf{p}_i,{D}_t(\mathbf{p}_i))\). We then project this 3D point to the camera at \(t+1\): \(\mathbf{p_j} = \pi (\mathbf{K},{\text{exp}} (\boldsymbol{\xi} _{t \rightarrow t + 1}^ \wedge )\mathbf{P}_i)\), where \(\pi\) and \(\pi^{-1}\) represent the projection and backprojection operators, respectively. The pixel movement from \(\mathbf{p}_i\) to \(\mathbf{p}_j\) is then compared with the estimated optical flow \(F_{t \to t+1}(\mathbf{p}_i)\) to compute the optical flow loss: \[{\mathcal{L}_F} = \sum_i{M_t(\mathbf{p}_i)M_{t+1}(\mathbf{p}_j){\left\| {{F_{t \to t + 1}}({\mathbf{p}_i}) - ({\mathbf{p}_j} - \mathbf{p}_i)} \right\|_2}}.\nonumber\]

Figure 2: The illustration of our pose initialization loss. When \mathbf{p}_i is reprojected to \mathbf{p}_j using the depth value, it is considered geometrically consistent if \overline{{\mathbf{P}_i\mathbf{H}_i}} equals \overline{{\mathbf{P}_j\mathbf{H}_j}}.

In this formulation, \(M_t\) is a mask indicating valid depth values in \({D}_t\) at pixel \(\mathbf{p}_i\). The mask \(M_t\) dynamically updates during optimization, as \(\mathbf{p}_j\) depends on the transformation \(\boldsymbol{\xi}\): \(M_t(\mathbf{p}_i) = {D}_t(\mathbf{p}_i) > 0\).

We employ a state-of-the-art pretrained optical flow estimation model [47] designed hierarchically to produce reliable optical flow even from two blurry input images. Next, we calculate the photometric loss between color values at pixel \(\mathbf{p}_i\) in image \({I}_t\) and pixel \(\mathbf{p}_j\) in image \({I}_{t+1}\): \[{\mathcal{L}_I} = \sum_i {M_t(\mathbf{p}_i)M_{t+1}(\mathbf{p}_j){\left\| { {I}_t(\mathbf{p}_i) - {I}_{t+1}(\mathbf{p}_j) } \right\|_1}}.\nonumber\]

To ensure geometric consistency, we introduce a depth consistency loss by using the two depth maps captured by the depth camera to optimize relative poses. Specifically, as illustrated in Figure 2, we compute and compare the vertical components \(\overline{{\mathbf{P}_i\mathbf{H}_i}}\) and \(\overline{{\mathbf{P}_j\mathbf{H}_j}}\) based on the baseline vector \(\overline{{\mathbf{O}_t\mathbf{O}_{t+1}}}\) between the two cameras. We calculate \(\overline{{\mathbf{P}_i\mathbf{H}_i}}\) as follows: \[\overline{{\mathbf{P}_i\mathbf{H}_i}} = {{{\left\| {\mathbf{P}_i} \right\|}_2}\sin \left({{\cos }^{ - 1}}\left(\frac{{\mathbf{P}_i \cdot \mathbf{x}}}{{{{\left\| {\mathbf{P}_i} \right\|}_2}{{\left\| \mathbf{x} \right\|}_2}}}\right)\right)}.\nonumber\] Similarly, we compute \(\overline{{\mathbf{P}_j\mathbf{H}_j}}\) as: \[{!}{ \fontsize{10}{12}\selectfont\overline{{\mathbf{P}_j\mathbf{H}_j}} = {{{\left\| {\mathbf{P}_j} \right\|}_2}\sin \left( {{\cos }^{ - 1}}\left(\frac{{\mathbf{P}_j \cdot ( - {\text{exp}} {{(\boldsymbol{\omega} )}^{\intercal}}\mathbf{x})}}{{{{\left\| {\mathbf{P}_j} \right\|}_2}{{\left\| { - {\text{exp}} {{(\boldsymbol{\omega} )}^{\intercal}}\mathbf{x}} \right\|}_2}}}\right) \right) }. } \nonumber\] This depth consistency loss is calculated as follows: \[\mathcal{L}_{C} = \sum_i {M_t(\mathbf{p}_i)M_{t+1}(\mathbf{p}_j){\left\| \overline{{\mathbf{P}_i\mathbf{H}_i}} - \overline{{\mathbf{P}_j\mathbf{H}_j}} \right\|}},\] where \({\text{exp}}()\) is the exponential mapping operator in Lie algebra, which helps maintain alignment. Our final loss function combines these terms with weighted coefficients: \[\mathcal{L}_\text{pose}= {\mathcal{L}_F} + {\lambda _I}{\mathcal{L}_I} + {\lambda _C}{\mathcal{L}_C}.\]

We start optimization with \({\lambda _I} = 0\) and \({\lambda _C} = 0\), allowing only the flow loss \({\mathcal{L}_F}\) to guide the relative pose alignment with global optical flow. After initial convergence, we increase weights to \({\lambda _I} = 75\) and \({\lambda _C} = 25\) and continue optimization to a second convergence.

Finally, we apply a point-to-plane ICP algorithm on the two globally aligned point clouds to estimate camera poses accurately. Since optical flow estimation between two blurry images introduces some errors, this final camera pose estimation relies exclusively on depth maps.

3.2 Global Pose Estimation/Geometry Refinement↩︎

Figure 3: Reconstructed initial point clouds from the RGB-D image sequence. Our method achieves accurate camera poses and generates a dense, high-quality point cloud.

Starting from the initial camera poses and point clouds obtained in the previous step, we merge them into a global point cloud within the world coordinate system (Figure 3). To manage memory efficiently, we downsample the point cloud with a specified voxel size \(s\). However, due to accumulated errors in the initial camera poses, these poses may not align well with the global point cloud, leading to seam artifacts at image boundaries and a drifting phenomenon that creates loop-closure issues. To resolve this, we refine both the camera poses and 3D point cloud positions simultaneously within the Gaussian Splatting pipeline, ensuring global and geometric consistency.

We initialize the Gaussian Splatting pipeline by loading the point cloud along with the estimated camera poses. To capture every depth value per pixel from the dense depth maps, we initialize 3D Gaussians, fixing their sizes and setting their scale to \(s/2\). This dense arrangement of 3D Gaussians provides a detailed geometric representation. We then train only the camera poses, 3D positions, and opacities of the Gaussians by comparing a rendered depth map \({\widetilde{D}}\) with the input depth map \({D}\).

During training, we randomly select camera viewpoints from among the trainable camera pose variables to render each depth map. For a depth value \({\widetilde{D}}_t(\mathbf{p}_i)\) at pixel \(\mathbf{p}_i\) in the rendered map, we calculate the depth loss as: \[{\mathcal{L}_{D}} = {\sum\limits_i {{M_t}(\mathbf{p}_i){{\left\| { {{D_t}}(\mathbf{p}_i) - {\widetilde{D}}_{t}(\mathbf{p}_i)} \right\|}_1}} }.\] We also initialize each 3D Gaussian’s opacity \(o_j\) to 0.5, optimizing them to values of 0 or 1: \[\label{eq:opacity95loss} {\mathcal{L}_\text{opacity}} = \sum\limits_j {o_j^2{{(1 - {o_j})}^2}}.\tag{1}\]

This optimization aims to retain only Gaussians with an opacity of 1, pruning others to reduce ambiguity for the subsequent deblurring stage. We prune Gaussians with an opacity less than 0.8 and reset opacity with 0.5 again every certain amount of iteration. As iterations progress, the rendered depth maps increasingly align with the input depth maps, indicating that all 3D Gaussian positions and camera poses are globally well-aligned (Figure 4).

Figure 4: The refinement process corrects misaligned 3D Gaussians by updating camera poses and geometry, with effectiveness demonstrated in Table 3.

The final refinement loss is a weighted combination of the depth and opacity losses: \[\label{eq:refinement95loss} \mathcal{L}_\text{refinement }= {\lambda _D}{\mathcal{L}_D} + {\lambda_o}{\mathcal{L}_\text{opacity}}.\tag{2}\]

3.3 Image Deblur↩︎

Motion blur caused by camera movement can generally be approximated as: \[I(t) \approx B(t) = \frac{1}{k}\sum\limits_{i = 0}^k {{C_i}(t)}\] Here, \(B(t)\) represents the motion-blurred image, which we model as the average of \(k\) sharp images \(C_i(t)\) rendered from the 3D Gaussians at \(k\) virtual camera poses interpolated between the camera poses at the start and end of the exposure time period \({\boldsymbol{\xi}} _t^s\) and \({\boldsymbol{\xi}} _t^e\). This approximation allows \(B(t)\) to closely match the input image \(I(t)\).

Using the refined camera poses and point cloud from the previous step, we incorporate depth information to achieve geometrically accurate deblurring, following the approach in recent work [3]. Specifically, we minimize the difference between the input image \(I(t)\) and the averaged rendered image \(B(t)\), as shown below: \[{\mathcal{L}_{B}} = \sum\limits_{t} {\sum\limits_i {{{\left\| { {{I_t}}(\mathbf{p}_i) - {B}_{t}(\mathbf{p}_i)} \right\|}_1}} }.\] The final deblur loss function integrates this alignment loss with additional terms for structural similarity and depth consistency: \[\label{eq:deblur95loss} \mathcal{L}_\text{deblur }= {(1 - \lambda _B)}{\mathcal{L}_B} + {\lambda_B}{\mathcal{L_\text{D-SSIM}}} + {\lambda _D}{\mathcal{L}_D}.\tag{3}\] This combined loss helps ensure that the deblurred output aligns well with both the input image and depth structure, leading to sharper and more geometrically consistent results.

Figure 5: Qualitative comparison of deblurring performance from a novel view. Our method excels in restoring high-frequency details, whereas several methods, including COLMAP [8], fail under severe motion blur conditions (see Section 4.1). The corresponding quantitative results are provided in Table 2.
Figure 6: Qualitative comparison of deblurring performance from novel views on real scenes captured with an Azure Kinect camera. Our method effectively restores high-frequency details, outperforming other methods even when processing RGB-D sequences with large spatial gaps between frames due to rapid camera motion and severe motion blur.

4 Results↩︎

We prepare both synthetic and real-world datasets to evaluate our method’s performance. In the absence of an RGB-D dataset with extreme motion blur, we generate a synthetic reference dataset by rendering directly from 3D models. We create RGB-D image sequences and record per-frame camera trajectories to evaluate our pose estimation and deblurring accuracy. The sequences, ranging from 50 to 150 frames, are captured along simulated trajectories that include rapid translations, 360-degree rotations, and human movement paths (using Blender’s Walk Navigation feature). The RGB and depth images have a resolution of \(640\times480\), and motion blur is applied by enabling Blender’s motion blur setting. The 3D models are sourced from the McGuire archive [48] and the Blender archive [49].

For real scene evaluation, we used an Azure Kinect RGB-D camera with a 33.3ms fixed exposure time, 5000K fixed white balance, NFOV-\(2\times2\)-binned depth capture mode, and \(1280\times720\) RGB resolution. We used the provided intrinsic camera parameters to undistort the images and aligned depth maps to color images using the SDK’s transformation functions. Depth maps were eroded three times to remove outliers, which commonly occur along edges.

Our code is based on 3D Gaussian Splatting [7], with data processing partially adapted from CF-3DGS [7]. For initial camera pose estimation, we use the Unimatch [47] optical flow network and the ICP [50] algorithm from Open3D as part of the optimization process. For an input image sequence of \(N\) frames, we prune Gaussians every 100\(N\) iterations, reset opacity to 0.5 every 200\(N\) iterations, and run a total of 600\(N\) iterations (Section 3.2). The number of virtual views for deblurring is set to 15 for synthetic dataset evaluation and 17 for real-scene comparison. All experiments were conducted on an NVIDIA RTX A6000 GPU (48GB), with initial camera pose optimization taking 11 seconds per frame, 0.1 seconds per iteration for pose and geometry refinement, and 0.26 seconds per iteration for deblurring at \(640\times480\) resolution.

4.1 Quantitative Evaluation↩︎

We evaluate the camera pose accuracy and deblurring performance on three synthetic scenes from our dataset, each rendered with extreme motion blur. For pose accuracy, we compare our method against a variety of approaches capable of generating a 3D point cloud and camera trajectory: COLMAP [8], ICP with FPFH feature-based global alignment [51], ORB-SLAM3 [24], ElasticFusion [16], and several RGB-D SLAM methods, including NICE-SLAM [28], Point-SLAM [29], and DROID-SLAM [30]. Additionally, we include recent Gaussian Splatting-based SLAM approaches such as MonoGS [32] and SplaTAM [31]. For each method, we calculate absolute trajectory error (ATE) and relative pose error (RPE) in meter and degree units, using the ground truth camera trajectories as references.

To evaluate deblurring accuracy, we modify a state-of-the-art Gaussian Splatting-based image restoration method [3] to operate in a depth-aware manner using undistorted color and depth images. We select one out of every three images as a test view and render the corresponding novel view for comparison with the ground truth. For quantitative metrics, we calculate PSNR, SSIM, and LPIPS on the rendered images, as well as RMSE between the rendered and ground truth depth maps in the inverse depth domain (\(m^{-1}\)).

Table 1: Quantitative comparison of camera pose accuracy against ground truth poses. We report scores only for methods that successfully provide both camera poses and a point cloud (see Section [sec:sec:evaluation95method]). Our method achieves the best scores on RPE metrics and shows ATE accuracy comparable to DROID-SLAM [30]. Each color highlights the best and second best results.
Bedroom Livingroom Office
ATE \(\downarrow\) RPE (trans) \(\downarrow\) RPE (rot) \(\downarrow\) ATE \(\downarrow\) RPE (trans) \(\downarrow\) RPE (rot) \(\downarrow\) ATE \(\downarrow\) RPE (trans) \(\downarrow\) RPE (rot) \(\downarrow\)
ElasticFusion [16] 1.303 0.079 2.218 1.014 0.056 2.777 0.479 0.038 0.480
FPFH-ICP [51] 2.760 0.118 2.310 2.028 0.092 1.213 0.139 0.009 0.167
DROID-SLAM [30] 0.059 0.044 1.212 0.050 0.014 0.317 0.011 0.011 0.245
MonoGS [32] 0.506 0.041 0.812 0.135 0.009 0.124 0.045 0.011 0.180
Ours 0.102 0.006 0.092 0.005 0.002 0.032 0.041 0.003 0.046
Table 2: Quantitative comparison of deblurring performance from novel views. Our method demonstrates high accuracy across all metrics for both color and depth images. RMSE is calculated by comparing the rendered depth with GT depth in the inverse depth domain (\(m^{-1}\)).
Bedroom Livingroom Office
PSNR \(\uparrow\) SSIM \(\uparrow\) LPIPS \(\downarrow\) RMSE \(\downarrow\) PSNR \(\uparrow\) SSIM \(\uparrow\) LPIPS \(\downarrow\) RMSE \(\downarrow\) PSNR \(\uparrow\) SSIM \(\uparrow\) LPIPS \(\downarrow\) RMSE \(\downarrow\)
ElasticFusion [16] 18.766 0.586 0.466 1.249 13.799 0.448 0.554 0.146 19.052 0.533 0.401 0.079
FPFH-ICP [51] 20.623 0.617 0.418 0.450 18.172 0.598 0.422 0.102 22.212 0.684 0.241 0.033
DROID-SLAM [30] 21.375 0.666 0.302 0.013 21.222 0.735 0.250 0.035 25.680 0.769 0.144 0.013
MonoGS [32] 23.728 0.717 0.285 0.009 24.414 0.822 0.188 0.027 24.194 0.725 0.184 0.184
Ours 26.745 0.824 0.206 0.005 27.650 0.900 0.150 0.010 25.649 0.791 0.160 0.014

4.2 Ablation Study↩︎

To validate the contributions of each component in our method, we perform an ablation study evaluating camera pose and deblurring accuracy by selectively omitting key elements. Specifically, we conduct experiments without fixing the scale of the Gaussians (Section 3.2), without the pose and geometry refinement process (Equation 2 ), and without depth loss (Equation 3 ).

We assess the effectiveness of these components by performing deblurring based on results from Section 3.1—omitting refinement of camera poses and geometry—and by allowing the scale of the 3D Gaussians to be optimized freely. Table 3 demonstrates that both the global refinement process and fixed Gaussian scale are essential for achieving high accuracy. Notably, during pose refinement, the algorithm reduces absolute pose error even at the expense of a slight increase in relative pose error, underscoring the importance of our refinement approach for stable, high-quality reconstruction.

Table 3: Ablation study on the effects of the global refinement process and fixed scale of Gaussians. Our refinement significantly enhances deblurring and depth accuracy while fixing the scale of the Gaussians leads to more accurate camera pose estimation.
PSNR SSIM LPIPS RMSE ATE RPE(trans) RPE(rot)
w/o scale fix 21.656 0.703 0.308 0.027 0.155 0.053 1.488
w/o refinement 22.223 0.734 0.238 0.027 0.123 0.007 0.047
w/o depth loss 25.518 0.807 0.170 0.014 0.103 0.012 0.195
Scale fix + refinement 26.681 0.838 0.172 0.010 0.103 0.012 0.195

Our method achieves superior RPE scores across all scenes, as shown in Table 1, outperforming other approaches in pose and geometry estimation under severe motion blur. While our ATE scores are comparable to those of DROID-SLAM, which uses a bundle adjustment (BA) module, ATE alone does not correlate strongly with deblurring quality. Our method consistently produces more accurate and denser point clouds, which directly contributes to improved deblurring performance, as evidenced by the metrics in Table 2. These results confirm that our integrated approach to pose estimation and deblurring is more resilient to challenging conditions than other methods.

4.3 Qualitative Evaluation↩︎

Figures 5 and 6 present qualitative comparisons of our method’s performance in synthetic and real scenes. The densification capability of Gaussian Splatting provides detailed scene representation even from a relatively sparse point cloud; however, our approach, with its initially dense and accurate point cloud generation, achieves notably superior deblurring performance, especially in restoring high-frequency details. Our method consistently demonstrates a significant advantage in visual fidelity and detail restoration across diverse conditions.

5 Conclusion↩︎

We have introduced a robust method for 3D scene reconstruction from RGB-D image sequences that effectively addresses the challenges of extreme motion blur and low-light conditions. Our approach leverages optical flow from color images and a carefully designed geometric loss to achieve accurate global alignment, followed by local refinement of camera poses and geometry using ICP. By integrating these steps into a Gaussian Splatting pipeline, we further refine camera poses and 3D geometry by minimizing depth and opacity losses. Additionally, fixing the scale of the 3D Gaussians ensures that the depth information from the RGB-D input is fully utilized, allowing for precise camera pose estimation and improved deblurring performance. Our method demonstrates superior performance on real and synthetic RGB-D scenes with significant motion blur, outperforming existing approaches.

Acknowledgements↩︎

Min H. Kim acknowledges the Samsung Research Funding & Incubation Center (SRFC-IT2402-02), the Korea NRF grant (RS-2024-00357548), the MSIT/IITP of Korea (RS-2022-00155620, RS-2024-00398830, 2022-0-00058, and 2017-0-00072), Microsoft Research Asia, and Samsung Electronics.

References↩︎

[1]
X. Tao, H. Gao, X. Shen, J. Wang, and booktitle=IEEE. C. on C. V. and P. R. (CVPR). Jia Jiaya, “Scale-recurrent network for deep image deblurring,” 2018.
[2]
L. Chen, X. Chu, X. Zhang, and J. Sun, “Simple baselines for image restoration,” arXiv preprint arXiv:2204.04676, 2022.
[3]
L. Zhao, P. Wang, and P. Liu, “BAD-gaussians: Bundle adjusted deblur gaussian splatting,” 2024 , eprint={2403.11831}, archivePrefix={arXiv}.
[4]
P. Wang, L. Zhao, R. Ma, and P. Liu, “BAD-NeRF: Bundle adjusted deblur neural radiance fields , booktitle = Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR),” 2023, pp. 4170–4179.
[5]
C. Wenbo and L. Ligang, “Deblur-GS: 3D gaussian splatting from camera motion blurred images,” Proc. ACM Comput. Graph. Interact. Tech. (Proceedings of I3D 2024), vol. 7, no. 1, pp. 13, location = Philadelphia, PA, USA, 2024, doi: 10.1145/3651301.
[6]
O. Seiskari et al., “Gaussian splatting on the move: Blur and rolling shutter compensation for natural camera motion.” 2024 , eprint={2403.13327}, archivePrefix={arXiv}, primaryClass={cs.CV}.
[7]
B. Kerbl, G. Kopanas, T. Leimkühler, and G. Drettakis, “3D gaussian splatting for real-time radiance field rendering.” ACM Trans. Graph., vol. 42, no. 4, pp. 139–1, 2023.
[8]
J. L. Schönberger and J.-M. Frahm, “Structure-from-motion revisited , booktitle=Conference on Computer Vision and Pattern Recognition (CVPR),” 2016.
[9]
R. A. Newcombe et al., “Kinectfusion: Real-time dense surface mapping and tracking,” 2011 , organization={Ieee}, pp. 127–136.
[10]
M. Nießner, M. Zollhöfer, S. Izadi, and M. Stamminger, “Real-time 3D reconstruction at scale using voxel hashing,” ACM Transactions on Graphics (ToG), vol. 32, no. 6, pp. 1–11, 2013.
[11]
K. Genova, F. Cole, A. Sud, A. Sarna, and T. Funkhouser, “Deep structured implicit functions,” arXiv preprint arXiv:1912.06126, vol. 2, p. 2, 2019.
[12]
O. Kähler, V. Prisacariu, J. Valentin, and D. Murray, “Hierarchical voxel block hashing for efficient integration of depth images,” IEEE Robotics and Automation Letters, vol. 1, no. 1, pp. 192–197, 2015.
[13]
N. Marniok, O. Johannsen, and booktitle=Pattern. R. 39th. G. C. G. 2017,. B. S. S. 12–15,. 2017,. P. 39. Goldluecke Bastian, “An efficient octree design for local variational range image fusion,” 2017 , organization={Springer}, pp. 401–412.
[14]
J. McCormac, A. Handa, A. Davison, and booktitle=2017. I. I. C. on R. and automation (ICRA). Leutenegger Stefan, “Semanticfusion: Dense 3d semantic mapping with convolutional neural networks,” 2017 , organization={IEEE}, pp. 4628–4635.
[15]
A. Dai, M. Nießner, M. Zollhöfer, S. Izadi, and C. Theobalt, “Bundlefusion: Real-time globally consistent 3d reconstruction using on-the-fly surface reintegration,” ACM Transactions on Graphics (ToG), vol. 36, no. 4, p. 1, 2017.
[16]
T. Whelan, R. F. Salas-Moreno, B. Glocker, A. J. Davison, and S. Leutenegger, “ElasticFusion: Real-time dense SLAM and light source estimation,” The International Journal of Robotics Research, vol. 35, no. 14, pp. 1697–1716, 2016.
[17]
M. Keller, D. Lefloch, M. Lambers, S. Izadi, T. Weyrich, and booktitle=2013. I. C. on 3D. V. 2013. Kolb Andreas, “Real-time 3d reconstruction in dynamic scenes using point-based fusion,” 2013 , organization={IEEE}, pp. 1–8.
[18]
J. Stückler and S. Behnke, “Multi-resolution surfel maps for efficient dense 3D modeling and tracking,” Journal of Visual Communication and Image Representation, vol. 25, no. 1, pp. 137–147, 2014.
[19]
T. Schöps, T. Sattler, and M. Pollefeys, “Surfelmeshing: Online surfel-based mesh reconstruction,” IEEE transactions on pattern analysis and machine intelligence, vol. 42, no. 10, pp. 2494–2507, 2019.
[20]
C. Kerl, J. Sturm, and booktitle=2013. I. I. C. on I. R. and S. Cremers Daniel, “Dense visual SLAM for RGB-d cameras,” 2013 , organization={IEEE}, pp. 2100–2106.
[21]
T. Whelan, M. Kaess, H. Johannsson, M. Fallon, J. J. Leonard, and J. McDonald, “Real-time large-scale dense RGB-d SLAM with volumetric fusion,” The International Journal of Robotics Research, vol. 34, no. 4–5, pp. 598–626, 2015.
[22]
R. Mur-Artal and J. D. Tardós, “Orb-slam2: An open-source slam system for monocular, stereo, and rgb-d cameras,” IEEE transactions on robotics, vol. 33, no. 5, pp. 1255–1262, 2017.
[23]
T. Schops, T. Sattler, and booktitle=Proceedings. of the I. C. on C. V. and P. R. Pollefeys Marc, “Bad slam: Bundle adjusted direct rgb-d slam,” 2019, pp. 134–144.
[24]
C. Campos, R. Elvira, J. J. G. Rodrı́guez, J. M. Montiel, and J. D. Tardós, “Orb-slam3: An accurate open-source library for visual, visual–inertial, and multimap slam,” IEEE Transactions on Robotics, vol. 37, no. 6, pp. 1874–1890, 2021.
[25]
M. Bloesch, J. Czarnowski, R. Clark, S. Leutenegger, and booktitle=Proceedings. of the I. conference on computer vision and pattern recognition Davison Andrew J, “Codeslam?learning a compact, optimisable representation for dense visual slam,” 2018, pp. 2560–2568.
[26]
H. Zhou, B. Ummenhofer, and booktitle=Proceedings. of the E. conference on computer vision (ECCV). Brox Thomas, “Deeptam: Deep tracking and mapping,” 2018, pp. 822–838.
[27]
D. Azinović, R. Martin-Brualla, D. B. Goldman, M. Nießner, and J. Thies, “Neural RGB-d surface reconstruction , booktitle = Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR),” 2022, pp. 6290–6301.
[28]
Z. Zhu et al., “Nice-slam: Neural implicit scalable encoding for slam,” 2022, pp. 12786–12796.
[29]
E. Sandström, Y. Li, L. Van Gool, and booktitle=Proceedings. of the I. I. C. on C. V. Oswald Martin R, “Point-slam: Dense neural point cloud-based slam,” 2023, pp. 18433–18444.
[30]
Z. Teed and J. Deng, “DROID-SLAM: Deep visual SLAM for monocular, stereo, and RGB-d cameras,” Advances in neural information processing systems, 2021.
[31]
N. Keetha et al., “SplaTAM: Splat track & map 3D gaussians for dense RGB-d SLAM,” 2024, pp. 21357–21366.
[32]
H. Matsuki, R. Murai, P. H. Kelly, and booktitle=Proceedings. of the I. C. on C. V. and P. R. Davison Andrew J, “Gaussian splatting slam,” 2024, pp. 18039–18048.
[33]
R. Fergus, B. Singh, A. Hertzmann, S. T. Roweis, and booktitle=Acm. S. 2006. P. Freeman William T, “Removing camera shake from a single photograph,” 2006, pp. 787–794.
[34]
Q. Shan, J. Jia, and A. Agarwala, “High-quality motion deblurring from a single image,” Acm transactions on graphics (tog), vol. 27, no. 3, pp. 1–10, 2008.
[35]
D. Krishnan and R. Fergus, “Fast image deconvolution using hyper-laplacian priors,” Advances in neural information processing systems, vol. 22, 2009 $ CNN deblu.
[36]
J. Sun, W. Cao, Z. Xu, and booktitle=Proceedings. of the I. conference on computer vision and pattern recognition Ponce Jean, “Learning a convolutional neural network for non-uniform motion blur removal,” 2015, pp. 769–777.
[37]
C. J. Schuler, M. Hirsch, S. Harmeling, and B. Schölkopf, “Learning to deblur,” IEEE transactions on pattern analysis and machine intelligence, vol. 38, no. 7, pp. 1439–1451, 2015.
[38]
S. Su, M. Delbracio, J. Wang, G. Sapiro, W. Heidrich, and booktitle=Proceedings. of the I. conference on computer vision and pattern recognition Wang Oliver, “Deep video deblurring for hand-held cameras,” 2017, pp. 1279–1288.
[39]
S. Nah, T. Hyun Kim, and booktitle=Proceedings. of the I. conference on computer vision and pattern recognition Mu Lee Kyoung, “Deep multi-scale convolutional neural network for dynamic scene deblurring,” 2017, pp. 3883–3891.
[40]
A. Graves and A. Graves, “Long short-term memory,” Supervised sequence labelling with recurrent neural networks, pp. 37–45, 2012.
[41]
X. Shi, Z. Chen, H. Wang, D.-Y. Yeung, W.-K. Wong, and W. Woo, “Convolutional LSTM network: A machine learning approach for precipitation nowcasting,” Advances in neural information processing systems, vol. 28, 2015.
[42]
B. Mildenhall, P. P. Srinivasan, M. Tancik, J. T. Barron, R. Ramamoorthi, and R. Ng, “Nerf: Representing scenes as neural radiance fields for view synthesis,” Communications of the ACM, vol. 65, no. 1, pp. 99–106, 2021.
[43]
L. Ma et al., “Deblur-nerf: Neural radiance fields from blurry images,” 2022, pp. 12861–12870.
[44]
D. Lee, M. Lee, C. Shin, and booktitle=Proceedings. of the I. C. on C. V. and P. R. Lee Sangyoun, “Dp-nerf: Deblurred neural radiance field with physical scene priors,” 2023, pp. 12386–12396.
[45]
Z. Gojcic, C. Zhou, J. D. Wegner, and booktitle=Proceedings. of the I. conference on computer vision and pattern recognition Wieser Andreas, “The perfect match: 3d point cloud matching with smoothed densities,” 2019, pp. 5545–5554.
[46]
Y. Li and booktitle=Proceedings. of the I. conference on computer vision and pattern recognition Harada Tatsuya, “Lepard: Learning partial point cloud matching in rigid and deformable scenes,” 2022, pp. 5554–5564.
[47]
H. Xu et al., “Unifying flow, stereo and depth estimation,” IEEE Transactions on Pattern Analysis and Machine Intelligence, 2023.
[48]
M. McGuire, “Computer graphics archive.” 2017, [Online]. Available: https://casual-effects.com/data.
[49]
F. D. Tommasa, “Blender demo files,” 2024. https://www.blender.org/download/demo-files.
[50]
Y. Chen and G. Medioni, “Object modelling by registration of multiple range images,” Image and vision computing, vol. 10, no. 3, pp. 145–155, 1992.
[51]
R. B. Rusu, N. Blodow, and booktitle=2009. I. international conference on robotics and automation Beetz Michael, “Fast point feature histograms (FPFH) for 3D registration,” 2009 , organization={IEEE}, pp. 3212–3217.