How to get the area of a contour on a 3D surface from a single photo?

Solution for How to get the area of a contour on a 3D surface from a single photo?
is Given Below:

I’m beginning to work on a project with OpenCV (in python), and I’m trying to figure out the best way to tackle the problem I’m facing. I’m trying to get the area of an item in an image…but the surface area I’m looking for is on a 3D object.

So I found this while searching for calculating the area of a contour, but as you can see, this is only for a 2D object. For example, how could I find the area of the red question marks on the sphere in this image? Or the size of the rash on this baby’s face (which is most certainly not 2-dimensional)? Is there a way to find the depth of the surface in the image, then use the high color gradient difference to find contours and calculate the difference based on the depths?

I found this deep learning paper (and associated PyTorch library), but was wondering if there was another way that I was missing…

Thanks to all for any ideas / replies.