KPConv Kernel Points Convolution
Drop a tiny constellation of kernel points onto the cloud and weight neighbors by closeness. KPConv is convolution rebuilt for raw points.
Why Does This Exist?
Voxels quantize and global pooling blurs, yet images prove convolution works. KPConv exists to bring real convolution to raw points: a set of kernel points floats in a ball around each center, and input points contribute to each kernel by distance, exactly like pixels under a kernel. Deformable mode then shifts kernels to fit local shape.
Other locals are DGCNN edges and Point Transformer attention.
Think of It Like This
Cookie cutters pressed into dough
Press Star cutters into dough: dough under a star takes its flavor, nearby dough takes less. Nudge the cutters to fit thick spots and the pattern follows the dough.
Kernel points are cutters and influence radii are their reach. The analogy stops at learning: cutters stay fixed while kernel weights and deform offsets train.
How It Actually Works
Rigid KPConv places kernel points on a sphere of radius around center , plus one at the center. For neighbor with feature , weight to kernel is with influence tied to density. Output is . Deformable KPConv predicts offsets per center so kernels slide onto thin poles and edges. Grid subsampling with growing builds the UNet.
Worked numbers
Neighbor m from a kernel with m gets weight . A point m away gets . With m and kernels, reference ScanNet validation mIoU lands near percent rigid and about percent deformable.
Code
def kp_weight(dist: float, sigma: float) -> float: return max(0.0, 1.0 - dist / sigma) # linear falloff inside influence
print(kp_weight(0.05, 0.1)) # -> 0.5print(kp_weight(0.12, 0.1)) # -> 0.0Watch Out For
Using one radius for all densities
Near scans pack hundreds of points per ball while far scans hold dozens, so fixed over-smooths near and starves far. The symptom is range-dependent mIoU gaps. Grow radius with subsampling stride and density, and check far-field scores separately.
The Quick Version
- KPConv places kernel points in 3D balls as continuous convolution weights.
- Distance falloff decides how much each cloud point feeds each kernel.
- Deformable offsets slide kernels onto thin local shape.
- Fifteen kernels at m radius suit indoor rooms.
- Reference ScanNet mIoU sits near percent rigid.
- Radius must grow with stride and sparsity.