augmented-reality icon indicating copy to clipboard operation
augmented-reality copied to clipboard

How to detect the plane on the ground?

Open zhaoyuhsin opened this issue 4 years ago • 1 comments

This is a great job! I want to know if this job can be expanded to detect the ground and place a model on it instead of detecting cards. Thanks a lot!

zhaoyuhsin avatar May 05 '20 18:05 zhaoyuhsin

@YuHsin1998 these are the options that come to my mind in order to project models on the floor (there might be other options I haven't considered):

  1. Use an image of the floor where you want to project the model as the reference surface. By doing this, the algorithm will look for matches between the reference floor image and the video frame. If found, the model will be projected in the floor. Problems with this approach are: a) it lacks flexibility (you will have to change the reference image each time you want to project the model on a different floor), b) it might not work well if the floor has no singular points c) you might not be able to cover all the desired surface with a single image.

  2. Yo can use more than one reference image (one for each patch of floor you want to cover) and try to find matches amongst all of them for each video frame. However, this will definitely affect performance in a negative way, so its not a viable option if you are looking to run the code in real time.

  3. Implement a generic method that is able to detect the floor of a room in a video frame. Once the floor has been found, use it as the reference to compute the homography and project the model. This means removing from the code the keypoint detection and matching and replacing it by the algorithm used to detect floors.

juangallostra avatar May 10 '20 07:05 juangallostra