Reliable motion estimation is a key component for autonomous vehicles. Together with my colleague, Dr Paulo Borges, I have presented a visual odometry method for ground vehicles using template matching [1-3]. The method uses a downward facing camera perpendicular to the ground and estimates the motion of the vehicle by analyzing the image shift from frame to frame. Specifically, an image region (template) is selected and using correlation we find the corresponding image region in the next frame.
We have introduced the use of multi-template correlation matching and suggest template quality measures for estimating the suitability of a template for the purpose of correlation. Through an extensive analysis we have determined the expected theoretical error rate of the system and shown its dependence on the template window size and image noise. We have also shown how a linear forward prediction filter can be used to limit the search area to significantly increase the computation performance.
Using a single camera and assuming Ackerman-steering model, the method has been implemented successfully on a large industrial forklift and a 4x4 vehicle. Over 6 km of field trials from our industrial test site, an off-road area and an urban environment were presented illustrating the applicability of the method as an independent sensor for large vehicle motion estimation at practical velocities.
I would love to hear from you if you are using this software and finding it useful or finding bugs (They say ~10 for every 1000 lines of code, so there are probably about 15-17 of these in there!)
You can contact me at email@example.com
Start with the README.txt file.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
There is a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses.
Download the code from GITHUB: https://github.com/nourani/VisualOdo
Download the test data from here [132 MB].