Урок 11: Histograms of Gradients (HoG) для распознавания букв
Задание:
1) Реализуйте функцию которая по картинкам градиентов обеих осей строит гистаграмму градиентов: HoG buildHoG(cv::Mat grad_x, cv::Mat grad_y)
2) Реализуйте функцию которая красиво выводит в консоль наш объект “гистограмма градиентов” (HoG
)
3) Реализуйте функцию distance
которая позволит посчитать декартово расстояние между двумя гистограммами градиентов и тем самым оценить насколько картинки “похожи”
4) Поэкспериментируйте с этой функцией distance
на картинках с буквами:
5) Проведите эксперимент 1:
Пробежав в цикле по каждой букве - посчитайте насколько сильно она отличается между своими пятью примерами? (NSAMPLES_PER_LETTER)
Для каждой буквы выведите:
- Среднее попарное расстояние (среднюю похожесть) между всеми примерами этой буквы
- Максимальное попарное расстояние между примерами этой буквы
А так же среди всех максимальных расстояний найдите максимальное и выведите его в конце.
6) Проведите эксперимент 2:
Для каждой буквы найдите среди остальных наиболее похожую и наименее похожую
А так же среди всех минимальных расстояний найдите среднее и выведите его в конце
- Посмотрите и подумайте: как это число соотносится с максимальным расстоянием из прошлого эксперимента?
- Какие буквы невозможно различить закодировав их в HoG?
- Можно ли с этим что-то сделать?