LayerCodes

Optical Barcodes Embedded in 3D Prints

Optical barcodes are used all around us: whether to identify products in the supermarket or link to a webpage from a poster, we use them in our daily life. As we mostly handle 3D objects, we would naturally like to identify 3D objects directly without the need of a 2D printed label stuck on top of it.

Embedding a barcode in a 3D print is easy, but the recognition tends to be tricky due to the uneven surface, surface roughness, thin features or holes, and even subsurface scattering light.

Maia et al. [2019] showed how an encoding of information can me made in such a way, that is robust to the mentioned distortions arising from 3D fabrication. They show how the layer-by-layer nature of 3D printing can be used to encode information in the layers without changing the geometry. An accompaniyng decoding algorithm reads back the original information from a single photo of the object and can even be used to 3D reconstruct the geometry. Check out their presentation at SIGGRAPH 2019 and the below video for more insight.

The drawback of their method is that the appearance of an object (color, surface finish) is drastically affected by their method and leaves you with a rather unaestetic zebra-like object. We would like to know if one would be able to encode the information in a less appearance-intrusive way by altering different surface properties than color. Can we find a trade-off between decodability and appearance distortion? Is it possible to hide the patterns inside a texture somehow?