I am working on a SLAM algorithm as part of my research and I am having issues reliably extracting landmarks from sensor (Kinect) data.
(I've never dealt with machine vision before.)
I am looking to detect corners and their range/heading in real-time (close to 100 Hz if possible?). The main control software runs on Matlab.
My current method does the following: 1) Median filter on depth data 2) Get middle horizontal depth frame (1x640 vector) 3) `clusterdata` to segment 4) least squares line fit segments 5) merge segments that are adjacent with similar slopes 6) find intersections of /good/ data
My results are mediore at best. Current CornerDetection.m if anybody is curious.
Am I approaching this wrong? Should I be looking at full frames instead of a single row? Should I be using any /big-boy/ of the methods I keep reading about? (Hough transform, Harris, Canny, LSD) Are there real-time methods for doing these kinds of processing operations on typical (intel i3) laptop? I've been shying away from them due to their (percieved) processing requirements.
The landmark extraction is not the focus of the project, and the method need not be original at all. Any required reading or pointers or Matlab functions I should look at would be very helpful.
Full Disclosure: I have a similar question over at StackOverflow but a friend mentioned that this SE does the /real/ MV.
EDIT: I should add, the environment is highly structured and is almost entirely square hallways on flat floors.