I'm wondering just how feasible it would be to have a tool that would make a 3D mesh from simple 2D mesh lines, like the photos below, or if somehow this can be recreated from an already existing tool, or in Blender for example.

Here you have a photo of a rock: enter image description here

And then ontop of this image you draw mesh lines to the best of your ability, like shown: enter image description here

In which if you take away the photo, you are left with this: enter image description here

I imagine all of you can see some sort of a 3D shape here. Would this somehow be possible? Unfeasible? Let me know if this is the wrong forum to post this sort of idea.

  • Isn't drawing a mesh exactly what one does for 3D tool if trying to mimic a photo? Place an image, draw a mesh over the image. (Genuinely asking, I'm no 3D expert).
    – Scott
    Commented Jun 14, 2021 at 23:32
  • Well - it's really not as easy. You could either start with a sphere and sculpt the form out, or, yes, start with a flat plane and trace the edges to the photo, but you still have to know where to extrude parts of the mesh to accurately portray the photo. This works great for hard surface meshes like buildings or guns, but if you wanted to make a rock or a human face, you would have to sculpt it like I mentioned earlier which is much more difficult if you're trying to copy a photo.
    – Lukas
    Commented Jun 14, 2021 at 23:47
  • 1
    No depth is available in the image. But yeah single image depth estimation is a thing though. Wont work for that image though.
    – joojaa
    Commented Jun 15, 2021 at 4:06
  • Perhaps you want to create a displacement map from a photo. You'd have better luck asking on the 3D forums (maybe the Blender community could help)
    – Luciano
    Commented Jun 15, 2021 at 8:24
  • You're reaching for the stars with that one image. Like it's been said, you could convert that to some form of 3D object, but it's not going to be anything close to the original shape of the mountain as we know it. This is not an instructional video, just a viral video I was reminded of, but it should give you an idea of what is needed for proper photogrammetry: vimeo.com/43442146 (The video is almost 10 years old...)
    – Joonas
    Commented Jun 15, 2021 at 8:59

2 Answers 2


Single image depth estimation is a hot research topic in computer vision research.

What you have done is basically made manual hints for the surface normal estimator. The surface normal estimator is one of the possible steps in generating depth maps from single images. The research in this area is quite advanced but we are obviously not there yet. You can get code for doing this at papers with code

So yes this could be done. But how practical it is is a bit questionable as photogrammetry is way more mature and it's obviously easy to take many images. Also I'm inclined to think that the many current estimators are already better than your manual work.

A Few years later

State of the art has moved forward so much that these depth estimators are commonplace. So for example if you use stable diffusion and control net you can ask control net to use MIDAS depth estimation on your image and you get a depth map. You can for example use automatic 1111 as a GUI for the task.

depth image

Image 1: estimated depth map of your original image.

We can then take this into any 3d application to make geometry out of this.

enter image description here

Image 2: Depth map applied on original image and rotated for a view of depth.

Obviously resolution is a bit suffering on edges but still. Not perfect but close. The estimator would probably be better had you not hid the other depth hints with the white mask as it seems to estimate shadows direction slightly wrong.

After playing a bit I found that Leres depth estimation is slightly better

enter image description here

Image 3: Different depth estimator


The 3D appearance after you took the photo off is a guess we made based on knowledge. Our ability to stay alive in critical situations is based on the ability to make such guesses.

If we did never see the photo we would have much less knowledge available, but I'm sure many of us would still see the approximate depth due having some cumulated data collected by watching 3D meshes. I guess some people who never have used 3D software could also make the right guess.

If the mesh was perfectly drawn of polygons which in 3D were uniformly sized, the size was known and the imaging was known (=known camera properties) the image would be parseable back to 3D because we could calculate the orientations and placements of the original 3D polygons.

Of course only those areas could be parsed which have totally visible polygons. And the imaging must have strong enough perspective. A parallel projection or so nearly parallel projection that the image resolution cannot show differences would fade all depth.

I do not know if someone has ever programmed a working system for the full job, but descriptive geometry textbooks have surely about 100 years contained how to interpret photos in 3D when there's enough known forms and measures.

In this site I have written some answers to questions where 3D images were wanted to be reconstructed from a 2D perspective images. The forms of the objects were known (rectangles, cubes), they needed only right placements and position angles.

Your manually drawn mesh is more complex than by computer made 3D polygon meshes. You have tried to guess the surface forms and your curves are drawn along those guesses. The mesh is NOT made of planar polygons and their sizes in 3D vary. The problem is a light year tougher than the case of regular planar polygons.

An Artificial intelligence program perhaps could be taught to understand your way to draw assuming you did have some consistently used rule and knowledge of the right 3D form. But I must skip that subject due the lack of knowledge. The case is hopeless if you drew it by changing your estimation rule randomly.

The original photographed surface has some degree of continuity when smoothed to image resolution scale. The depth and the surface orientation do not jump fully randomly between adjacent pixels. Also the the number of possible surfaces behind your mesh decrease radically if that assumption of continuity is used. Another as useful assumption (not a truth if you didn't make it true) is to think that in 3D the lines were the shortest paths along the surface between the points or at least locally minimum length paths.

As said, I do not know enough, mathematicians are needed to reveal some actual details.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.