Readme for CHOG_Gaussian v 0.4.1
Zhen Lei
This package is designed to combine Color Invariant Gradients in Gaussian Color Space [2] with Histogram of Oriented Gradient [3]. It is adapted from Dr. Dalal's HOG package available at http://pascal.inrialpes.fr/soft/olt/ . We provide the about 10 files that we modified. So to evaluate this package please first download original HOG package and make it run following their direction. Then use our adapted files to replace the original files. More detail of this package can be found in our paper [1] and the following document.
* Difference from v 0.4
In the examplar runall_combine3_gww_k.sh in learcode_diff_combine3_quad-0.4.zip, I changed the first "-t 4" option for svm_learn, but forgot to change the second "-t 4". It is corrected now.
To install the package:
1. Setup Dalal's HOG package.
1.) in Ubuntu 8.04 LTS, install boost, imlib2 and blitz packages as requred. We used 1.39.0 version of boost. (Dalal's HOG package can't compile smoothly on Ubuntu 10.04 due to gcc and boost version. )
download and unpack: http://sourceforge.net/projects/boost/files/boost/1.39.0/
#./bootstrap.sh
#./bjam
#sudo ./bjam install
#sudo apt-get install libimlib2-dev
#sudo apt-get install libblitz-dev
2.) download Dalal's HOG package (learcode.tar.gz, svmdense.tar.gz, oltbinaries.zip) and data from http://pascal.inrialpes.fr/soft/olt/.
3.) use OLTbinaries test suit and set data into proper place following Dalal's package description.
2. according to the setting to be tested, select one from three packages we provide here, namely learcode_diff_combine2 for 2-way-combination such as GW, GE, GH with linear kernel, learcode_diff_combine3 for 3-way-combination such as GWW,GEE with linear kernel and learcode_diff_combine3_quad for 3-way-combination with quadratic kernel. Then replace Dalal's source code with the files in selected package. Then "./configure", "make". Copy the generated executable binaries from "learcode/app" to "bin" directory of test suite OLTbinaries.
3. If linear kernel SVM is tested, compile svmdense and copy svm_learn to OLTbinaries/bin directory. if quadratic kernel SVM is tested, unzip and compile the modified svmdense.zip in learcode_diff_combine3_quad. put the newly generated svm_learn binary to OLTbinaries/bin directory.
4. Modify runall.sh by changing "--proc rgb_sqrt" options. the "rgb_sqrt" here is combination method. the new method name can be found in PreprocessorFlags enum of learcode_combine3/lear/interface/windetect.h . For quadratic kernel SVM evaluation, a "-t 0" svm option is needed to be changed to "-t 4" to use customer kernel. An examplar runall_combine3_gww_k.sh is provided in learcode_diff_combine3_quad.
5. Then run the script by "./runall". one run normally takes 1 to 2 hours pending on CPU speed. quad_kernel SVM learn may take days.
6. Start matlab. modify paths and captions in plotdet.m accordingly and execute it. Then the ROC curve will be plot.
Note:
1. Dalal's implementation and our adaption are somehow complex. So we recommend using diff tools to find the difference. Please let me know if there is concerns about our adaption via leizhenleo at sjtu dot edu dot cn.
2. Dalal's original suite works on Ubuntu 7.04 as described in his webpage. It also works in Ubuntu 8.04 in our experiment. However because Ubuntu 10.04 use a newer version compiler, i.e, gcc-4.4.3 and default boost lib is also upgraded to 1.40.0, the package can't be compiled without change. Therefore, we recommand the compiling environment to be Ubuntu 8.04 LTS and boost version be 1.39.0.
[1] Zhen Lei, Tao Fang, Deren Li, "Histogram of Oriented Gradient Detector with Color Invariant Gradients in Gaussian Color Space", Optical Engineering, to appear.
[2] Geusebroek, JM, van den Boomgaard, R, Smeulders, AWM, and Geerts, H, “Color invariance,” IEEE Transactions on Pattern Analysis and Machine Intelligence 23, 1338–1350 (2001).
[3] Dalal, N, Triggs, B, and Schmid, C, “Human detection using oriented histograms of flow and appearance,” in Computer Vision - ECCV 2006, PT 2, Proceedings, Lecture Notes in Computer Science, Vol. 3952 Part 2, edited by Leonardis, A and Bischof, H and Pinz, A (2006) pp. 428–441.