Binary image object recognition

asked 2014-11-14 05:37:27 -0500


I want to detect and locate a pallet in an image. I have filtered the input image with a distance (3d picture) treshold resulting in a 2D binary image. The algorithm should be able to locate the position and orientation of the pallet. I already have tried a SurfFeatureDetector/SurfDescriptorExtractor/FlannBasedMatcher and OrbFeatureDetector/OrbDescriptorExtractor/BFMatcher but without succes. I noticed that I had not much keypoints (due to binary image ??? ) and the matching was wrong.

Do you have suggestions for the right approach finding the write algorithm that is:

  • Able to find orientation and position of a pallet
  • Able to find orientation and position of a pallet
  • Robust to noisy input image
  • Robust for missing a small regions of the pallet in the input image
  • (Able to find more than one pallet in the input image)

Object to be found :

image description

I noticed that without sufficient "white" surround the image no keypoints could be found in the object. I don't know why ?

Object with ORB keypoints : image description

I didn't test any algorithm with Hough finding lines and corners.

Thanks in advance

edit retag flag offensive close merge delete


Have you tried finding corners in this image? Then apply Prob hough line Transform?

Balaji R gravatar imageBalaji R ( 2014-11-14 06:32:23 -0500 )edit

It is not found in the first image because there is not enough pixel information around the keypoint to define enough edgeness and thus raise a keypoint. You should read up on how Harris corner detection defines his edgeness for example. Same applies for ORB.

StevenPuttemans gravatar imageStevenPuttemans ( 2014-11-14 07:16:08 -0500 )edit

Steven is right.

Doombot gravatar imageDoombot ( 2014-11-17 11:02:10 -0500 )edit