The goal of image region classification is to simply the representation of an image into something that is more easier to analyze. Detection of semantically meaningful regions in digital images could find its use in classification and retrieval systems for large image databases, image processing algorithms, etc.
In this project, we plan to build a image region classification tool that is capable of classifying each pixel in an image into five different categories: sky, land, water, building and vegetation, based on the method proposed in [1].
The data to be used in this projects will be 500 digital images obtained from digital camera and downloaded from the internet. Among them, 300 will be used as training data and the remaining 200 as testing data. To actually use the data to train the five multicalss SVM classifiers for each category, we need to manually label the different regions in the images, and then randomly select 1000 tiles(a tile is a square subdivision of the image) for each category from the training images as the positive training data and another 1000 tiles for other categories as the negative trainig data. After training SVM classifiers, we randomly select 1000 tiles from the testing images for each category to validate the training result.
The implementation of the image region classification tool involves the following major steps:
- Image Preprocessing: Partition image into tiles at fixed interval so that each pixel ends up being in a fixed number of overlapping tiles. Randomly choose the training and testing tiles for each category as described above
- Feature Extraction: For each tile, use the histogram of HSV color space as the features to be extracted
- Classifier Training: Train one multiclass SVM classifier for each category
- Training Evaluation: Use the testing tiles to evaluate the training result
- Pixel Classification: For each pixel, each tile that contains it is classified independently and the pixel's final classification is determined by majority vote
By the milestone due date, I plan to collect all the training and testing data and finish training all five individual SVM classifiers. After the milestone, I plan to evaluate the classifiers, and after getting satifactory results, I will implement the classification for the entire image.