Все зависит от того, как вы рассчитываете вероятности канала по шаблонам.Используете ли вы гистограмму цвета или гистограмму градиента, а затем смотрите на разницу гистограмм между вашими шаблонами и тестовыми изображениями?
Другой подход заключается в вычислении векторов объектов из тестовых изображений, таких как объединениегистограмма градиентов и гистограмма цвета.Затем вручную создайте учебную базу данных, в которой вы знаете метку (1, 2, 3 или 4 в зависимости от того, какая метка видна на изображении), и вы можете подавать жестко закодированные метки вместе с функциями гистограммы вподпрограмма классификатора.Я рекомендую LIBSVM для этого, а реализацию scikits.learn для этого легко использовать в Python.
Это даст классификатор машин опорных векторов, который будет сравниватьвектор признаков новых изображений с опорными векторами из обучающего набора и определения правильной метки, которая наиболее вероятно присутствует на изображении.Затем вы можете подогнать логистическую модель поверх этого SVM, если вам нужно что-то, что дает вероятности, а не просто предсказанные метки.
Две хорошие книги для чтения, чтобы начать работу в этом типе машинного обучения: PatternКлассификация , Дуда, Харт и Сторк, и Распознавание образов и машинное обучение Бишопом.
Некоторый грязный код Python, который я написал для реализации Поселетов и Гистограммы Ориентированных Градиентов вPython можно найти по ссылке здесь ;может быть, вы можете взять некоторые разделы кода там, и он подойдет для вашей задачи.