Object tracking via adaptive prediction of initial search point on mobile devices

Object tracking via adaptive prediction of initial search point on mobile devices




Goal

The goal of this project would be to implement the mapping portion of SLAM, i.e. to develop a mobile application that could create a planar grid given a known reference, then track an object along that grid. In order to constrain the object field, the camera will be fixed, and the object shall be a
cube (although the object location given will be strictly planar). The first step would be to create the grid in the first place, then try and detect the object and track it.

Approach

Tracking an object is difficult because a camera could be easily distracted by local maxima in similarity. Pan et al, however, developed a method for robustly tracking an object by using a Kalman filter to determine the next location of a traveling object [1]. In the test results, it could accurately
detect the location of a car traveling down a highway. From here, the location of the object in the image could be augmented with an estimation of the physical location. The object could be tracked along a planar surface, whose orientation is given with a reference length such as a piece of 8.5” x 11” paper. Assuming the camera matrix is known, the planar surface is not orthogonal to the camera plane, and the dimensions of the reference object, it should be possible to map the entire surface in
the field of view [3] I will use this algorithm with reference to the front face of the cube (always
facing the camera) to determine its location. In order to prove the success of the filter, I will not use a special color for the cube, as that would defeat the purpose of using the Kalman filter to provide a location estimate. However, in order to make the geometry detection simple, I will track a single face, using opencv’s squares.cpp. The performance of the project will be determined by a series of tests,
where the object moves at increasing speed and is then compared to the “dumb” non-filtered detection algorithm. A graph of the estimated position will be compared to the actual position of the object (which can be hand measured on a manual grid or tracked with devices such as the OptiTrack
in the Robotics Lab).

The final project will be a simplified version of the tracking algorithms used in Pilot AI Labs [2]. Given an object to recognize, it will be able to accurately track both the location of the object in the camera field of view and along a 2-D surface grid. I will plan to use my personal Android phone
as the camera for this project. It would be interesting to also implement a physical system that could follow the object, although finding the resources and building the feedback control may be beyond the scope of a three- week project.

Implementation

I do plan to use an android phone for this project, although I have one
myself.

References

http://www.cs.cmu.edu/~jiyanpan/papers/lncs06.pdf
http://pilot.ai
http://szeliski.org/Book/drafts/SzeliskiBook_20100903_draft.pdf
For reading about vision geometry:
http://web.stanford.edu/class/cs231a/resources.html
Multiple View Geometry in Computer Visio

DOWNLOAD CLICK HERE

Comments

Popular posts from this blog

Light Field Images for Background Removal

Using Image Processing to Identify and Score Darts thrown into a Dartboard

aerodynamic performance