Recently I have paid many time in finding an efficient method to detect car objects using OpenCV. I have found that in opencv 3.0, one of the update (in the release note, https://github.com/opencv/opencv/wiki/ChangeLog ) says:
"Car detection using Waldboost, ACF by Vlad Shakhuro and Nikita Manovich "
And in Opencv 3.1, the update becomes:
"Improved ICF detector, waldboost implementation – opencv_contrib/xobjdetect (Vlad Shakhuro, Alexander Bovyrin)"
I have also found that some one had successfully applied the waldboost detector to detect cars, such as the following two papers:
- C. Caraffi, T. Vojíř, J. Trefný, J. Šochman and J. Matas, "A system for real-time detection and tracking of vehicles from a single car-mounted camera," 2012 15th International IEEE Conference on Intelligent Transportation Systems, Anchorage, AK, 2012, pp. 975-982.
- J. Sochman and J. Matas, "WaldBoost - learning for time constrained sequential detection," 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05), 2005, pp. 150-156 vol. 2. These achievements indicate that Waldboost detector should be valid / suitable for car detection, which is well fit my purpose.
To accomplish this goal, I have collect enough positive samples/negative samples. I use opencv 3.3 with opencv 3.3 contribution package for experiment. After correctly configuration, there should be an executable file named "opencv_waldboost_detector", which can be used for training my own classifier.
After finishing my training, the output of the terminal ( I work under ubuntu 16.04) is below:
>
And also I got a *.xml file which is the target classifier. However, when I test this classifier, the detect objects are very strange. It can not detect any valid car, but only some background rectangle. I want to know what is wrong with this trained classier. Or are there any important steps which I ignored? (I do not know how to upload the screenshots)