3D models from a single image

This project was done as part of Hacking for Defense (H4D), a program that connects students with the US Department of Defense to work on real problems. My challenge came from US Central Command (CENTCOM): build a system that could quickly generate 3D maps of hostile or unknown environments.

My low-budget solution was a program that generates a 3D mesh from a single image. The input can be something as simple as a smartphone photo. Given a photo, the program runs a depth estimation to produce a depth map, uses that map to build a point cloud, and converts the point cloud into a mesh.

It’s written in Python. Download the Jupyter notebook (67 MB).

Source photograph Estimated depth map