X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?p=folded-ctf.git;a=blobdiff_plain;f=README.txt;h=cbfa44afde8c9498d45673f1a5f6837104e486b3;hp=c322ce78af2a23bfe3362ef4d6834e837a091325;hb=46071628964903cf0033d07492f7a1c506ce87d4;hpb=94ef84aef3a1845326c7c43970997b701a919bd6 diff --git a/README.txt b/README.txt index c322ce7..cbfa44a 100644 --- a/README.txt +++ b/README.txt @@ -1,8 +1,9 @@ I. INTRODUCTION +--------------- - This is the open-source C++ implementation of the folded hierarchy - of classifiers for cat detection described in + This is the documentation for the open-source C++ implementation of + the folded hierarchy of classifiers for cat detection described in F. Fleuret and D. Geman, "Stationary Features and Cat Detection", Journal of Machine Learning Research (JMLR), 2008, to appear. @@ -13,6 +14,7 @@ I. INTRODUCTION reports. II. INSTALLATION +---------------- If you have installed the RateMyKitten images provided on @@ -23,13 +25,13 @@ II. INSTALLATION It will - * Compile the source code entirely + * Compile the source code entirely - * Generate the "pool file" containing the uncompressed images - converted to gray levels, labeled with the ground truth. + * Generate the "pool file" containing the uncompressed images + converted to gray levels, labeled with the ground truth. - * Run 20 rounds of training / test (ten rounds for each of HB and - H+B detectors with different random seeds) + * Run 20 rounds of training / test (ten rounds for each of HB and + H+B detectors with different random seeds) You can run the full thing with the following commands if you have wget installed @@ -54,20 +56,32 @@ II. INSTALLATION This program was developed on Debian GNU/Linux computers with the following main tool versions - * GNU bash, version 3.2.39 - * g++ 4.3.2 - * gnuplot 4.2 patchlevel 4 + * GNU bash, version 3.2.39 + * g++ 4.3.2 + * gnuplot 4.2 patchlevel 4 - Due to approximations in the optimized arithmetic operations with - g++, results may vary with different versions of the compiler - and/or different levels of optimization. + Due to approximations in the optimized arithmetic operations with + g++, results may vary with different versions of the compiler and/or + different levels of optimization. -III. PARAMETERS +III. EXECUTING THE PROGRAM +-------------------------- + + The main command has to be invoked with a list of parameter values, + followed by commands to execute. To set the value of a parameter, just add an argument of the form --parameter-name=value before the commands that should take it into account. + For instance, to open a scene pool ./something.pool, train a + detector and save it, you would do + + ./folding --pool-name=./something.pool open-pool train-detector write-detector + +IV. PARAMETERS +-------------- + For every parameter below, the default value is given between parenthesis. @@ -83,11 +97,11 @@ III. PARAMETERS Should the pictures be generated for printing in black and white. - * pool-name (no default) + * pool-name (none) The scene pool file name. - * test-pool-name (no default) + * test-pool-name (none) Should we use a separate test pool file. If none is given, then the test scenes are taken at random from the main pool file @@ -121,7 +135,7 @@ III. PARAMETERS * proportion-negative-cells-for-training (0.025) Overall proportion of negative cells to use during learning (we - sample among for boosting). + sample among them for boosting). * nb-negative-samples-per-positive (10) @@ -217,48 +231,49 @@ III. PARAMETERS Should we display a progress bar during long computations. -IV. COMMANDS +V. COMMANDS +----------- - * open-pool + * open-pool - Open the pool of scenes. + Open the pool of scenes. - * train-detector + * train-detector - Create a new detector from the training scenes. + Create a new detector from the training scenes. - * compute-thresholds + * compute-thresholds - Compute the thresholds of the detector classifiers from the - validation set to obtain the required wanted-true-positive-rate. + Compute the thresholds of the detector classifiers from the + validation set to obtain the required wanted-true-positive-rate. - * test-detector + * test-detector - Run the detector on the test scenes. + Run the detector on the test scenes. - * sequence-test-detector + * sequence-test-detector - Visit nb-wanted-true-positive-rates rates between 0 and - wanted-true-positive-rate, for each compute the detector - thresholds on the validation set and estimate the error rate on - the test set. + Visit nb-wanted-true-positive-rates rates between 0 and + wanted-true-positive-rate, for each compute the detector + thresholds on the validation set and estimate the error rate on + the test set. - * write-detector + * write-detector - Write the current detector to the file detector-name + Write the current detector to the file detector-name - * read-detector + * read-detector - Read a detector from the file detector-name + Read a detector from the file detector-name - * write-pool-images + * write-pool-images - For every of the first nb-images of the pool, save one PNG image - with the ground truth, one with the corresponding referential at - the reference scale, and one with the feature material-feature-nb - from the detector. This last image is not saved if either no - detector has been read/trained or if no feature number has been - specified. + For every of the first nb-images of the pool, save one PNG image + with the ground truth, one with the corresponding referential at + the reference scale, and one with the feature material-feature-nb + from the detector. This last image is not saved if either no + detector has been read/trained or if no feature number has been + specified. -- Francois Fleuret