Автор: Ксения Рябинова Редактура: Александр Гончаренко
Матчинг гистограмм — это полезный метод из классического CV и один из методов доменной адаптации. Суть метода заключается в изменении гистограммы изображения таким образом, чтобы она соответствовала гистограмме другого изображения или желаемой гистограмме.
Такой метод может быть полезен для аугментации. В albumentations есть реализация этого метода: HistogramMatching
. Он окажется нужным, когда у вас не хватит картинок из какого-нибудь домена, а вы захотите быстро набрать побольше похожих картинок.
Например, у вас в датасете много фотографий в светлом помещении, а на проде внезапно появились фото в темном помещении. Вы берете матчинг гистограмм, превращаете некоторые светлые картинки из датасета в темные, добавляете себе в сет и переобучаете модель! Это, конечно, будут не трушные размеченные данные с камер, но зато быстро и дешево :)
Вспомним, что такое гистограмма изображения. Сначала рассмотрим Изображение 1 с пикселями яркостью в диапазоне [0, 3]:
Нам также понадобится функция распределения (CDF, или cumulative distribution function): $CDF_{X}(x) = P(X \leq x)$
Это частный случай матчинга гистограмм. В случае эквализации мы матчим не на любую гистограмму, а на гистограмму равномерного распределения.Получили таблицу для эквализации Изображения 1
Почему именно такая формула? Это связано с тем, что мы маппим именно на равномерное распределение. Более подробно можно прочитать в книге “Цифровая обработка изображений” Р. Гонсалеса (“3.3.1. Эквализация гистограммы”)
Применим получившийся маппинг и получим эквализованное изображение 1: