Patch Based Synthesis for Single Depth Image Super-Resolution
OverviewWe present an algorithm to synthetically increase the resolution of a solitary depth image using only a generic database of local patches. While patch based approaches for upsampling intensity images continue to improve, patching remains unexplored for depth images, possibly because their characteristics are quite different. Significantly, modern range sensors measure depths with non-Gaussian noise and at lower starting resolutions than typical visible-light cameras.
We match against the height field of each low resolution input depth patch, and search our database for a list of appropriate high resolution candidate patches. Selecting the right candidate at each location in the depth image is then posed as a Markov random field labeling problem. Our experiments also show how important further depth-specific processing, such as noise removal and correct patch normalization, dramatically improves our results compared to steps typically followed for patch-based processing of intensity images. Perhaps surprisingly, even better results are achieved on a variety of real test scenes by seeding our algorithm with synthetic training depth data.
For results of our algorithm and comparison to other methods please see our results page here.
CodeMATLAB code for super-resolving your own depth images:
MATLAB code for generating the results table:
DataData used for training and testing are available to download:
Synthetic training data
Contact: o dot macaodha at cs.ucl.ac.uk