Оптимальный набор алгоритмов в задаче по Computer Vision?
Подскажите, пожалуйста, набор алгоритмов CV для решения следующей задачи. Интересует минимально необходимый набор для оптимальной точности распознавания.
Задача: распознать коды, которые игроки фотографируют. Коды изначально напечатаны на бумаге, черным по белому. Код - это последовательность 8~16 цифр в одну строку. Игрок заинтересован в результате и получает базовую инструкцию, то есть можно ожидать, что код будет примерно в середине снимка, изображение будет в фокусе. На углы наклона камеры надежды нет - фотографируют и вверх ногами, и держа телефон под углом. На внешнее освещение надежды вообще никакой - ожидается от солнечного света до полутьмы клуба и съемки со слабой вспышкой.
Что интересует:
- необходимые алгоритмы для предобработки изображений, учитывая непредсказуемость освещения и углы наклона.
- оптимальные, учитывая задачу, алгоритмы выделения строки с кодом, парсинга и нормализации размера блоков отдельных цифр.
Следующие этапы, связанные с машинным обучением, мне понятны. Нужна подсказка по всей связанной с CV части. Я понимаю, что задача решаема тучей разных способов, нужно экспертное мнение каким путем лучше сразу идти. Спасибо!
1 >необходимые алгоритмы для предобработки изображений, учитывая непредсказуемость освещения и углы наклона.
Эквализация гистограммы яркости + пороговое преобразование + морфология
2 >алгоритмы выделения строки с кодом, парсинга и нормализации размера блоков отдельных цифр.
Ищешь минимальный ограничивающий четырёхугольник, по угловым точкам находищь матрицу гомографии, трансформируешь с использованием opengl (в opencv есть).
Далее режешь строку на символы, идя по колонкам и полностью белый ряд - конец символа, а ряд хотя бы с одной чёрной точкой - начало. в принципе можно и заливкой сегментировать.
После классифицируешь. Классификатор будет простейший : перемножение точки символа на точку классификатора (изображение символа-кандидата, отмасштабированное до прямоугольника реального символа) и просуммирвать. Математически это называется скалярным произведением или корреляцией. У кого больше - тот и символ.