Recommended Detector for this kind of image?

asked 2017-04-17 01:54:40 -0500

Luis Oscar gravatar image

Hello, I'm looking for advice in detecting this specific image:

image description

This will be used as a "Delimiter" so there will be 2 of these (one above and one below) which will tell me what area to crop from my current video feed.

image description

To picture how the video feed looks like. Image placing one of these markers on a table with the arrow pointing down. Then a few cms beneath there will be another marker with the arrow pointing up.

First I'm uncertain if the best approach is using a Feature Detector. But i think it's the right way to go since the video feed will not be looking straight from above most of the time, but instead with a bit of an inclination.

The detector that OpenCV seems to suppor are:

  • "FAST" – FastFeatureDetector
  • "STAR" – StarFeatureDetector
  • "SIFT" – SIFT (nonfree module)
  • "SURF" – SURF (nonfree module)
  • "ORB" – ORB
  • "BRISK" – BRISK
  • "MSER" – MSER
  • "GFTT" – GoodFeaturesToTrackDetector
  • "HARRIS" – GoodFeaturesToTrackDetector with Harris detector enabled
  • "Dense" – DenseFeatureDetector
  • "SimpleBlob" – SimpleBlobDetector

Among these detectors, both SIFT and SURF are out of the question since they are not free.

Any feedback will be greatly appreciated.

edit retag flag offensive close merge delete

Comments

Why do you need to detect the delimiters? Why not just detect the aruco markers and leave it at that? The functions for that already exist.

Tetragramm gravatar imageTetragramm ( 2017-04-17 18:25:40 -0500 )edit

Yeah, I already succeeded in detecting the markers. However the end goal is to try to create a 2d representation (in the device) of the 3D elements position. It has to be as exact as possible, so i need something that defines the top and bottom of my screen, then i can get the distance and position in reference to the delimiter and recreate the position on the device. Without the delimiters i wouldn't have a reference point. Think of it as a "drawing board". So i need something to tell me where the edge of the board are in the real world.

Luis Oscar gravatar imageLuis Oscar ( 2017-04-17 19:12:48 -0500 )edit

Do you not know the location of the ARUCO markers? Or are they freely moving within the area like an AR system?

Tetragramm gravatar imageTetragramm ( 2017-04-17 19:53:32 -0500 )edit

They are freely moving. Yeah it's kind of like an AR system, but they are enclosed to that area delimited by the delimiting bars with the arrows.

Luis Oscar gravatar imageLuis Oscar ( 2017-04-17 21:48:42 -0500 )edit

Well, I'm not sure how it works, but I would look at how the ARUCO module does it's detections. I think it's adaptive thresholding and Harris corners. You could probably define these as your own little dictionary and have it do all the work.

Tetragramm gravatar imageTetragramm ( 2017-04-17 22:47:53 -0500 )edit

You basically want a multiscale template matching approach :D

StevenPuttemans gravatar imageStevenPuttemans ( 2017-04-19 07:38:21 -0500 )edit

But template matching is not good when perspective transformations are involved. Is it? The end goal is to detect this through a camera, so the markers will most likely be distorted somehow.

Luis Oscar gravatar imageLuis Oscar ( 2017-04-19 19:59:55 -0500 )edit

Hmm indeed thats an issue right there. How large will the deformations be? It kind of depends what technique to apply on how much deformation you will allow.

StevenPuttemans gravatar imageStevenPuttemans ( 2017-04-20 04:51:48 -0500 )edit
1

Like I said, I would look at how ARUCO does it. It's just a weirdly shape marker, you should be able to do the same thing to find it.

Tetragramm gravatar imageTetragramm ( 2017-04-20 20:34:31 -0500 )edit
1

Okay thanks, ill try that.

Luis Oscar gravatar imageLuis Oscar ( 2017-04-24 03:36:20 -0500 )edit