First time here? Check out the FAQ!

Ask Your Question
0

Strange Effect SURF GPU Keypoints

asked Feb 12 '13

Possede gravatar image

updated Feb 12 '13

I have come across a strange effect when outputting the keypoints found using the GPU implementation of SURF. I am capturing frames (640x480) from a webcam and reducing the ROI before passing them to be SURF function. However, I have found when the ROI is set to anything below 305 pixels in width (with a static height of 480 pixels), there is a band of keypoints found on the right hand side of the frame. The keypoints around the area of the band change every iteration (i.e. they are not static), however they remain in the same area. This band remains there even when I cover up the lens of the webcam (i.e. when there should be no keypoints found). This effect can be seen here:

http://i1276.photobucket.com/albums/y475/sesj13/KeypointsBand_zpsb89bc245.png http://i1276.photobucket.com/albums/y475/sesj13/KeypointsBandBlack_zps5539d2b4.png

Here is my code:

  // Capture an image from the webcam
  cam_0 >> img;

  // Convert to grayscale
  cvtColor(img,img_grey,CV_RGB2GRAY);

  img_roi = img_grey(Rect(0, 0, 304, HEIGHT));

  // Upload greyscale images
  imgGPU.upload(img_roi);

  // Perform GPU SURF and obtain keypoints and descriptors
  surfGPU(imgGPU, GpuMat(), keypGPU, descriptorsGPU);

  // Download the keypoints
  surfGPU.downloadKeypoints(keypGPU, keyp);

  // Draw the keypoints
  drawKeypoints(img_grey, keyp, outImgGPU, Scalar(255, 255, 255), DrawMatchesFlags::DEFAULT);

  // Show the keypoints on the image
  imshow("Show Keypoints", outImgGPU);

EDIT: Also, sometimes when I block the lens of the webcam for long enough, I get the following error:

http://i1276.photobucket.com/albums/y475/sesj13/Error_zpsade6146c.png

I am just wondering if anyone can point out what is going on.

Cheers

Preview: (hide)

Comments

Try to move your camera a bit. If the keypoints stay on the same area of the wall, it's probably a low-contrast crack in the wall there. If the points stay in the same area of the image (as you say they do when you cover the lens) it may be some dust/crack in the lens or a bug in the library. Try changing the lens, or the camera, to see whether the effect is still there.

sammy gravatar imagesammy (Feb 13 '13)edit

1 answer

Sort by » oldest newest most voted
0

answered Feb 13 '13

Possede gravatar image

Thanks for your input. I am trying to achieve real-time image stitching using three Logitech C600 webcams to create a video panorama. They are mounted as shown here: http://i1276.photobucket.com/albums/y...

Unfortunately the effect is present in all of the webcams when selecting anything below 305 pixels in width and can be seen here: http://i1276.photobucket.com/albums/y...

The ROI is the overlap region between the left and right webcams and the centre webcam. I have tried dusting the lens but to no avail. It looks like a bug to me.

Preview: (hide)

Question Tools

Stats

Asked: Feb 12 '13

Seen: 556 times

Last updated: Feb 12 '13