DenseFusion: 6D Object Pose Estimation by Iterative Dense Fusion

TL;DR DenseFusion estimates the 6D pose of known objects from RGB-D by fusing color and point-cloud features at every pixel, letting each pixel vote for a pose, and refining it with a learned network instead of ICP. On YCB-Video, 96.8% of its poses fall under 2 cm ADD-S error, versus 93.2% for PoseCNN+ICP, and it runs about 200x faster.
What they do
RGB-D pose estimators either process color and depth separately or rely on slow post-processing such as ICP. DenseFusion encodes the image with a CNN and the depth points with a PointNet, fuses them pixel by pixel, and lets each pixel predict a pose, so occluded objects can be located from their visible part. A learned refinement module replaces ICP.
How it works
- Segmentation. PoseCNN’s segmentation network masks each known object; the masked depth becomes a point cloud and the mask’s box crops the image.
- Dense fusion. A ResNet-18 encoder-decoder gives a 128-d color feature per pixel; a PointNet variant with average pooling gives a 128-d feature per point. Each point is paired with the pixel it projects to, and a pooled global feature is appended to every pair.
- Per-pixel voting. Each fused feature predicts a pose and a confidence. The loss is the confidence-weighted distance between model points under predicted and true pose (closest-point distance for symmetric objects), plus a term penalizing low confidence. The most confident pose is the output.
- Refinement. The point cloud is moved into the frame of the current estimate, re-fused with the same image features, and a 4-layer network predicts a residual pose. Two iterations, trained after the main network converges.
Results
- YCB-Video: ADD-S AUC 93.1 and 96.8% under 2 cm, against 93.0 and 93.2% for PoseCNN+ICP and 83.9 and 74.1% for PointFusion. Refinement lifts the bowl from 69.5% to 98.8% under 2 cm.
- As occlusion increases, PointFusion and PoseCNN+ICP degrade sharply while the per-pixel and iterative variants drop only 2%.
- 0.06 s per frame versus 10.6 s for PoseCNN+ICP; 16 FPS with about 5 objects per frame.
- LineMOD ADD: 94.3 (86.2 without refinement) versus 79 for SSD-6D+ICP.
- On a Toyota HSR with a different camera and no finetuning, 73% of 60 grasps on 5 YCB objects succeed; the banana only 7/12.
Limitations
It needs a 3D model of every object and relies on PoseCNN’s segmentation as its first stage. The large and extra-large clamps stay the weakest objects (79.2% and 76.3% under 2 cm). In the grasping test objects were never stacked, and the authors attribute the banana failures to their plain-yellow banana differing from the dataset model.
Figures




Abstract
A key technical challenge in performing 6D object pose estimation from RGB-D image is to fully leverage the two complementary data sources. Prior works either extract information from the RGB image and depth separately or use costly post-processing steps, limiting their performances in highly cluttered scenes and real-time applications. In this work, we present DenseFusion, a generic framework for estimating 6D pose of a set of known objects from RGB-D images. DenseFusion is a heterogeneous architecture that processes the two data sources individually and uses a novel dense fusion network to extract pixel-wise dense feature embedding, from which the pose is estimated. Furthermore, we integrate an end-to-end iterative pose refinement procedure that further improves the pose estimation while achieving near real-time inference. Our experiments show that our method outperforms state-of-the-art approaches in two datasets, YCB-Video and LineMOD. We also deploy our proposed method to a real robot to grasp and manipulate objects based on the estimated pose.
Summaries are written automatically from each paper's text. Figures and videos come from the paper and its project page; all credit goes to the authors.
