Media Server supports several types of image classifier.
Bayesian
and Maxvote
classifiers are deprecated in Media Server version 11.4.0 and later. HPE recommends that you use Convolutional Neural Network (CNN
) classifiers instead. Bayesian
and Maxvote
classifiers are still available for existing implementations, but might be incompatible with new functionality. They might be removed in future.
The default type of classifier is the Convolutional Neural Network CNN
classifier.
The CNN
classifier usually produces the most accurate results, but can require a significant amount of time to train.
The more time you allow Media Server to train the classifier, the greater the accuracy. Before you train a CNN
classifier, you can choose how many training iterations to run. The time required to train the classifier is proportional to the number of training iterations and the number of training images. Increasing the number of iterations always improves the training and results in better accuracy, but each additional iteration that you add has a smaller effect.
For classifiers that have four or five dissimilar classes with around 100 training images per class, approximately 500 iterations produces reasonable results. This number of iterations with this number of training images requires approximately three hours to complete on a CPU or five minutes to complete with a GPU. HPE recommends a larger number of iterations for classifiers that contain many similar classes. For extremely complex classifiers that have hundreds of classes, you might run 200,000 training iterations. Be aware that running this number of training iterations with large numbers of training images on a CPU is likely to take weeks.
To find the optimum number of iterations, HPE recommends that you start with a small number of iterations. Double the number of iterations each time you train, until classification accuracy is acceptable.
When you run classification, the CNN
classifier outputs a confidence score for each class. These scores can be compared across classifiers, and you can set a threshold to discard results below a specified confidence level.
Use a Bayesian
classifier when you have a small number of classes and many training images for each class.
The Bayesian
classifier is better than the Maxvote
classifier at distinguishing between classes that have a high degree of similarity, and requires less time to train than the CNN
classifier.
When you run classification, the Bayesian
classifier outputs a confidence score for each class. These scores can be compared across classifiers, and you can set a threshold to discard results below a specified confidence level.
This is the only type of classifier that supports prior probabilities.
Use a Maxvote
classifier when you have many classes with fewer training images per class. This type of classifier requires fewer training images and can be trained faster than either the Bayesian
or CNN
classifier.
When you run classification, the Maxvote
classifier outputs a number of votes for each class in the classifier. This means that you cannot compare scores across classifiers.
