Как нормализовать цвет изображения?
В их статье, описывающей структуру обнаружения объектов Viola-Jones (надежное обнаружение лиц в реальном времени Viola and Jones), говорится:
Все примерные подокна, используемые для обучения, были нормализованы по дисперсии, чтобы минимизировать влияние различных условий освещения.
Мой вопрос: "Какой инструмент они использовали для нормализации изображений?"
Я НЕ ищу конкретный инструмент, который использовал Viola & Jones, но похожий инструмент, который дает почти такой же результат. Я следил за многими уроками обучения хаару (пытаясь определить руку), но пока не смог вывести хороший детектор (xml).
Я пытался связаться с авторами, но до сих пор нет ответа.
1 ответ
Один из возможных способов - применить простую и простую нормализацию, предполагающую нормальное распределение для всех элементов.
Сначала найдите среднее (Mu) и стандартное отклонение (S):
Mu = 1/N * Sum(a[i][j]) for each i,j
S = sqrt(1/(N-1) * Sum((a[i][j] - Mu)^2)) for each i,j
(in here N is the number of pixels, 20*20 in the viola jones case)
Исходя из этого, мы можем нормализовать значение каждого пикселя, используя стандартную формулу нормального распределения (путем стандартизации всех значений):
a'[i][j] = (a[i][j] - Mu) / S
Другой метод - векторная нормализация, которая в основном гласит:
- Найдите длину вектора:
|a| = sqrt(sum (a[i][j]*a[i][j])) for each i,j
- Назначение:
a'[i][j] = a[i][j] / |a|