Multi-Label Boosting
The majority of machine learning systems for object recognition is limited by its requirement of single labelled images for training, which are difficult to create or obtain in quantity. It is therefore impractical to use methods or techniques which require such data to build object recognizers for more than a relatively small subset of object classes. Instead, far more abundant multilabel data provides a ready means to create object recognition systems which are able to deal with large numbers of classes.
Our answer to this, the MLBoost system, boosts multi-label learners to create better performance on multi-label data. I am providing the executable here with the standard caveat emptor that it is research code and as such isn't rock-solid.
This is a brief explanation of how to get up and running with the MLBoost software. It is developed in C#, using the .NET Framework 2.0. Thus, the zeroeth step is to ensure that you have the .NET Framework 2.0 Runtime or later. Then, download the executable and the data and copy it to a directory you've created called
C:\mlboost\
. The executable options are:
I am unable to make the data I used available due to the fact that the Corel database is no longer licensed for use in research. The sample input data files which are available for download show the file format needed for the image and word data. The image data files take the form:
and the word files take the form:
The system will only process images which have corresponding keywords. The system will look for 2 subdirectories in C:\mlboost directory, the data directory and the images directory. The images directory should have images whose names have the format [image id].[jpg|png|bmp|gif]. The data directory should have subdirectories which contain data sets, for example different training/test splits of the same data, or different sources of data. The system will look for 4 files in each data directory:
- training_feature_data
- training_word_data
- test_feature_data
- test_word_data
with the training files containing training data, and the test files containing test data. The last file which the program will look for will be coords_data in the data directory which contains the center-coordinates for each feature using the following format:
Once all of the prerequisites are in place, we will try running an experiment where we train a noun and blob correlation model. Navigate to the
C:\mlboost\
directory and type
This of course presumes you have a data directory called "001". Once this model has been trained, we can now see how it performs on the test data
This will produce a results file of the format
To view the results visually, simply run the program with the following options:
There are several system settings found in MLBoost.exe.config. You can customize the system's behavior to some extent using them.
- BASE_DIR
- The directory where all files and subdirectories used by the program will go.
- MAX_FEATURES
- The maximum number of features the system will use in training.
