What I am planning to do is to calculate the height and estimate the slope of the segmented Object. The camera will be static and the Object of Interest is the slope of the beach. I am finding harder to use depth camera, as the minimum distance between slope and camera is 150 meters.

I have tried Unet Semantic Segmentation with two classes i.e. background and sand surface. After semantic segmentation what i left with is the sand surface, but i am struggling to find slope height; as one out of many options that i have tried is to run canny filter on 2D image and convert the segmented sand surface into 3D, but the distance between camera and sand surface is around 200 meters, therefore i am reluctant to use any of the 3D reconstruction approach.

And also i am not sure of any depth cameras which can cover up to 200 meters of range. Please see the attached Picture for more information. If you require more information please let me know, :) Thanks for your help !!!.

enter image description here

  • $\begingroup$ How about stereoscopic imaging? Is that a viable solution? $\endgroup$
    – Pseudonym
    Sep 6 '19 at 7:12

As far as I understand you are trying to infer 3D position of the various points (i.e. height) on the beach using single monocular RGB camera.

I will try to give the best answer that with the CV knowledge that I have.

This is a difficult problem because you do not have the depth (distance from the camera) information, so you cannot infer full 3D structure from 2D image, i.e. the problem is ill-posed. Usually there are several other approaches that people do in order to extract 3D information:
1) having several cameras (e.g. stereo camera), then knowing the geometry of rig (its baseline), camera matrix one and doing disparity calculation one can find depth.
2) lidar, radar or other sensors that give depth directly. This information can either be fused to RGB camera or projected onto image space.
3) single monocular moving camera (can infer depth from structure-from-motion methods).

Additionally, one can perform monocular depth estimation but one would need:
1) to know camera matrix. In specific cases one can infer camera matrix (or some camera parameters) from parallel lines, circles or even from variability in focus, however in your case I don't see such artifacts.
2) depth map prediction algorithm (usually neural networks these days). There is lots of work on this, here's a sample paper one could start with. However, these methods do not understand the full 3d structure, they implicitly learn the relative size of objects and geometry of the scene, and of course you would need to devise a dataset for you task and train a neural net for that. And of course its depth accuracy will be much lower than the methods that I have described above.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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