Автор: Ксения Рябинова Редактура: Александр Гончаренко

Матчинг гистограмм — это полезный метод из классического CV и один из методов доменной адаптации. Суть метода заключается в изменении гистограммы изображения таким образом, чтобы она соответствовала гистограмме другого изображения или желаемой гистограмме.

Untitled

Такой метод может быть полезен для аугментации. В albumentations есть реализация этого метода: HistogramMatching. Он окажется нужным, когда у вас не хватит картинок из какого-нибудь домена, а вы захотите быстро набрать побольше похожих картинок.

Например, у вас в датасете много фотографий в светлом помещении, а на проде внезапно появились фото в темном помещении. Вы берете матчинг гистограмм, превращаете некоторые светлые картинки из датасета в темные, добавляете себе в сет и переобучаете модель! Это, конечно, будут не трушные размеченные данные с камер, но зато быстро и дешево :)

Гистограмма и CDF

Вспомним, что такое гистограмма изображения. Сначала рассмотрим Изображение 1 с пикселями яркостью в диапазоне [0, 3]:

Untitled

Нам также понадобится функция распределения (CDF, или cumulative distribution function): $CDF_{X}(x) = P(X \leq x)$

Untitled

Эквализация, или выравнивание гистограммы

Это частный случай матчинга гистограмм. В случае эквализации мы матчим не на любую гистограмму, а на гистограмму равномерного распределения.Получили таблицу для эквализации Изображения 1

Untitled

Почему именно такая формула? Это связано с тем, что мы маппим именно на равномерное распределение. Более подробно можно прочитать в книге “Цифровая обработка изображений” Р. Гонсалеса (“3.3.1. Эквализация гистограммы”)

Применим получившийся маппинг и получим эквализованное изображение 1:

Untitled

Алгоритм матчинга

  1. Эквализуем гистограмму изображения 1;
  2. Эквализуем гистограмму изображения 2;
  3. Формируем таблицу матчинга и матчим :)