Предварительная обработка изображений (Preliminary image processing). Эквализация гистограмм для повышения качества изображений Эквализация изображения

СРАВНЕНИЕ АЛГОРИТМОВ ЭКВАЛИЗАЦИИ

ГИСТОГРАММ ПОЛУТОНОВЫХ ИЗОБРАЖЕНИЙ

1 "2 Александровская А.А. , Маврин Е.М.

1 Александровская Анна Андреевна - студент магистратуры; Маврин Евгений Михайлович - студент магистратуры, кафедра информационных систем и телекоммуникаций,

факультет информатики и систем управления, Московский государственный технический университет им. Н.Э. Баумана, г. Москва

Аннотация: в данной статье проводится сравнение алгоритмов обработки цифровых изображений, а именно алгоритмов гистограммной эквализации. Рассматриваются три алгоритма: глобальной гистограммной эквализации (НЕ), адаптивной гистограммной эквализации (АНЕ), адаптивной эквализации гистограммы с ограничением контрастности (СЬАНЕ). Результат работы, описанной в статье -визуальное сравнение работы алгоритмов на одинаковых изображениях.

Ключевые слова: гистограмма изображения, гистограммная эквализация изображений, ЦОИ, компьютерное зрение, АНЕ, СЬАНЕ.

Для повышения качества изображения необходимо увеличить яркостный диапазон, контрастность, резкость, четкость . В совокупности эти параметры может улучшить эквализация гистограммы изображения. При определении контуров объектов в большинстве случаев достаточно данных, которые содержатся в полутоновом изображении. Полутоновое изображение - изображение, содержащее информацию только о яркости, но не о цвете пикселей. Соответственно, построение гистограммы целесообразно проводить для полутонового изображения.

Пусть рассматриваемое изображение состоит из п пикселей с интенсивностью (яркостью) г в диапазоне от 0 до 2Ьрр, где Ьрр - количество бит, выделенное для кодирования яркости одного пиксела. В большинстве цветовых моделей для кодирования

яркости одного цвета одного пиксела требуется 1 байт. Соответственно, интенсивность пикселя определена на множестве от 0 до 255 . График зависимости количества пикселей на изображении с интенсивностью г к самой интенсивности называется гистограммой изображения. На рис. 1 представлен пример тестовых изображений и гистограмм, построенных на основе этих изображений:

Рис. 1. Тестовые изображения и их гистограммы

Очевидно, что, изучив соответствующую гистограмму, можно сделать выводы и об исходном изображении. Например, гистограммы очень тёмных изображений характеризуются концентрацией ненулевых значений гистограммы около нулевых уровней яркости, а для светлых изображений наоборот - все ненулевые значения собраны в правой части гистограммы.

Алгоритмы эквализации гистограммы являются популярными алгоритмами для улучшения обрабатываемого полутонового изображения. В целом, HE-алгоритмы (Histogram Equalization) имеют сравнительно невысокую вычислительную стоимость и при этом показывают высокую эффективность. Суть работы данного типа алгоритмов заключается в регулировании уровней полутонового изображения в соответствии с функцией распределения вероятности данного изображения (1) и, как следствие, увеличивается динамический диапазон распределения яркости. Это приводит к улучшению визуальных эффектов,

таких как: яркостный контраст, резкость, четкость.

p(i) = -, i = 0. .255, п

где p(i) - вероятность появления пикселя яркостью i, нормализованная функция гистограммы исходного изображения, к- координаты пикселя обрабатываемого изображения, g(k) - эквализированное изображение .

Алгоритмы эквализации гистограммы разделяют на два типа: локальная (адаптивная) эквализация гистограммы и глобальная эквализация гистограммы. В глобальном методе строится одна диаграмма и производится эквализация гистограммы всего изображения целиком (рис. 3 а). В локальном методе (рис. 3б) производится построение большого количества гистограмм, где каждая гистограмма соответствует лишь части обрабатываемого изображения. При таком методе улучшается локальный контраст

изображения, что позволяет в целом получить лучшие результаты обработки.

Алгоритмы локальной обработки можно разделить на следующие типы: перекрывающиеся блоки локальной обработки, неперекрывающиеся блоки локальной обработки и частично перекрывающиеся блоки локальной обработки (рис. 2).

Рис. 2. Иллюстрация работы различных типов алгоритмов локальной обработки изображения: а) перекрывающиеся блоки локальной обработки, б) неперекрывающиеся блоки локальной обработки, в) частично перекрывающиеся блоки локальной обработки

Алгоритм перекрывающих блоков дает наилучший результат обработки, но является самым медленным среди перечисленных. Алгоритм неперекрывающихся блоков -наоборот, требует меньшее время на обработку при прочих равных, но так как обрабатываемые блоки не накладываются друг на друга, возможны резкие перепады яркостей на итоговом изображении. Компромиссным решением является алгоритм частично перекрывающихся блоков. К недостаткам адаптивных алгоритмов эквализации гистограмм относится сверхусиление (over-amplification) параметров изображения и возможное за счет этого увеличение шумов на итоговом изображении .

Улучшенным вариантом вышерассмотренного алгоритма является алгоритм адаптивной эквализации гистограммы с ограничением контрастности (contrast limited adaptive histogram equalization - CLAHE) (рис. 4в). Главной особенностью данного алгоритма является ограничение

диапазона гистограммы на основе анализа значений яркости пикселей в обрабатываемом блоке (2), тем самым результирующее изображение выглядит более естественным и менее зашумленным .

где add - коэффициент приращения значения функции гистограммы, пс - количество пикселей, превышающих пороговое значение. Иллюстрация изменения гистограммы приведена на рисунке 3.

Рис. 3. Ограничение диапазона гистограммы в алгоритме CLAHE

Стоит отметить, что в классическом алгоритме СЬЛИБ используется билинейная интерполяция для устранения границ между обрабатываемыми блоками.

Рис. 4. Результаты работы алгоритмов эквализации гистограмм: а) глобальная эквализация гистограммы (НЕ), б) адаптивная эквализация гистограммы (АНЕ), в) адаптивная эквализация гистограммы с ограничением контрастности (СЬАНЕ)

При визуальном сравнении результатов обработки наилучшим методом является CLAHE (рис. 3в). На изображении, обработанном данным методом, меньше шума, чем на изображении, обработанным методом AHE, а также яркостная контрастность более естественна. По сравнению с изображением, обработанным методом глобальной эквализации, метод CLAHE повышает четкость мелких и размытых деталей обрабатываемого изображения, а также повышает контрастность, но не так утрированно, как в случае выполнения метода AHE. Также ниже приведена таблица оценки времени выполнения рассматриваемых методов в среде программирования MATLAB 2016.

Таблица 1. Оценка времени выполнения рассматриваемых

Время выполнения

Название программы с Время выполнения

метода рассматриваемым методом, c метода, c

CLAHE 0.609 0.519

Список литературы

1. Чичварин Н.В. Обнаружение и распознавание сигналов // Национальная библиотека им. Н.Э. Баумана [Электронный ресурс] 2016, Режим доступа: https://ru.bmstu.wiki/Коррекция_яркости_и_контрастности_ изображений (дата обращения: 03.05.2019).

2. Гонзалез Р.К. , Вудс Р.Е. . Digital Image Processing, 3-e издание, Нью-Джерси: Пирсон Эдьюкейшн, 2008. 950 c.

3. Гупта С. , Каур Ю. . Review of Different Local and Global Contrast Enhancement Techniques for a Digital Image // International Journal of Computer Applications [Электронный ресурс] 2014, URL: https://pdfs.semanticscholar.org/7fb1/bf8775a1a1eaad9b3d1f4 5bc85adc5c3212f.pdf (Дата обращения: 3.05.2019).

4. Ма Дж. , Фан Кс. , Янг С. Кс. , Занг Кс. , Зцу Кс. . Contrast Limited Adaptive Histogram Equalization Based Fusion for Underwater Image Enhancement // Preprints [Электронный ресурс] 2017, URL: https: //www. preprints. org/manuscript/201703.0086/v 1 (Дата обращения: 3.05.2019).

При всех поэлементных преобразованиях происходит изменение закона распределения вероятностей, описывающего изображение. Рассмотрим механизм этого изменения на примере произвольного преобразования с монотонной характеристикой, описываемой функцией (рис.2.8), имеющей однозначную обратную функцию . Предположим, чтослучайная величина подчиняется плотности вероятности . Пусть - произвольный малый интервал значений случайной величины , а - соответствующий ему интервал преобразованной случайной величины .

Попадание величины в интервал влечет за собой попадание величины в интервал , что означает вероятностную эквивалентность этих двух событий. Поэтому, учитывая малость обоих интервалов, можно записать приближенное равенство:

,

где модули учитывают зависимость вероятностей от абсолютных длин интервалов (и независимость от знаков приращений и ). Вычисляя отсюда плотность вероятности преобразованной величины, подставляя вместо его выражение через обратную функцию и выполняя предельный переход при (и, следовательно, ), получаем:

. (2.4)

Это выражение позволяет вычислить плотность вероятности продукта преобразования, которая, как видно из него, не совпадает с плотностью распределения исходной случайной величины. Ясно, что существенное влияние на плотность оказывает выполняемое преобразование, поскольку в (2.4) входит его обратная функция и ее производная.

Соотношения становятся несколько сложнее, если преобразование описывается не взаимно-однозначной функцией . Примером такой более сложной характеристики с неоднозначной обратной функцией может служить пилообразная характеристика рис. 2.4, к. Однако, в общем, смысл вероятностных преобразований при этом не изменяется.

Все рассмотренные в данной главе поэлементные преобразования изображений можно рассмотреть с точки зрения изменения плотности вероятности, описываемого выражением (2.4). Очевидно, что ни при одном из них плотность вероятности выходного продукта не будет совпадать с плотностью вероятности исходного изображения (за исключением, конечно, тривиального преобразования ). Нетрудно убедиться, что при линейном контрастировании сохраняется вид плотности вероятности, однако в общем случае, т. е. при произвольных значениях параметров линейного преобразования, изменяются параметры плотности вероятности преобразованного изображения.

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

где и - минимальное и максимальное значения яркости преобразованного изображения. Определим характеристику преобразователя, решающего данную задачу. Пусть и связаны функцией (2.2), а и - интегральные законы распределения входной и выходной величин. Учитывая (2.5), находим:

.

Подставляя это выражение в условие вероятностной эквивалентности

после простых преобразований получаем соотношение

представляющее собой характеристику (2.2) в решаемой задаче. Согласно (2.6) исходное изображение проходит нелинейное преобразование, характеристика которого определяется интегральным законом распределения самого исходного изображения. После этого результат приводится к заданному динамическому диапазону при помощи операции линейного контрастирования.

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

(2.7)

Если учесть, что при прохождении света через глаз входная яркость логарифмируется его сетчаткой, то итоговая плотность вероятности оказывается равномерной. Таким образом, отличие от предыдущего примера заключается в учете физиологических свойств зрения. Можно показать, что изображение с плотностью вероятности (2.7) получается на выходе нелинейного элемента с характеристикой

также определяемой интегральным законом распределения исходного изображения.

Таким образом, преобразование плотности вероятности предполагает знание интегрального распределения для исходного изображения. Как правило, достоверные сведения о нем отсутствуют. Использование для рассматриваемых целей аналитических аппроксимаций также малопригодно, т.к. их небольшие отклонения от истинных распределений могут приводить к существенному отличию результатов от требуемых. Поэтому в практике обработки изображений преобразование распределений выполняют в два этапа.

На первом этапе измеряется гистограмма исходного изображения. Для цифрового изображения, шкала яркостей которого, например, принадлежит целочисленному диапазону 0...255, гистограмма представляет собой таблицу из 256 чисел. Каждое из них показывает количество точек в кадре, имеющих данную яркость. Разделив все числа этой таблицы на общий размер выборки, равный числу используемых точек изображения, получают оценку распределения вероятностей яркости изображения. Обозначим эту оценку . Тогда оценка интегрального распределения получается по формуле:

.

На втором этапе выполняется само нелинейное преобразование (2.2), обеспечивающее необходимые свойства выходного изображения. При этом вместо неизвестного истинного интегрального распределения используется его оценка, основанная на гистограмме. С учетом этого все методы поэлементного преобразования изображений, целью которых является видоизменение законов распределения, получили название гистограммных методов. В частности, преобразование, при котором выходное изображение имеет равномерное распределение, называется эквализацией (выравниванием) гистограмм.

Отметим, что процедуры преобразования гистограмм могут применяться как к изображению в целом, так и к отдельным его фрагментам. Последнее может быть полезным при обработке нестационарных изображений, содержание которых существенно различается по своим характеристикам на различных участках. В этом случае лучшего эффекта можно добиться, применяя гистограммную обработку к отдельным участкам.

Использование соотношений (2.4)-(2.8) , справедливых для изображений с непрерывным распределением яркости, является не вполне корректным для цифровых изображений. Необходимо иметь в виду, что в результате обработки не удается получить идеальное распределение вероятностей выходного изображения, поэтому полезно проводить контроль его гистограммы.

а) исходное изображение

б) результат обработки

Рис. 2.9. Пример эквализации изображения

На рис.2.9 приведен пример эквализации, выполненной в соответствии с изложенной методикой. Характерной чертой многих изображений, получаемых в реальных изображающих системах, является значительный удельный вес темных участков и сравнительно малое число участков с высокой яркостью. Эквализация призвана откорректировать картину, выровняв интегральные площади участков с различными яркостями. Сравнение исходного (рис.2.9.а) и обработанного (рис.2.9.б) изображений показывает, что происходящее при обработке перераспределение яркостей приводит к улучшению визуального восприятия.

Существует три основных метода повышения контраста изображения:

  • линейная растяжка гистограммы (линейное контрастирование),
  • нормализация гистограммы,
  • выравнивание (линеаризация или эквализация, equalization) гистограммы.

Линейная растяжка сводится к присваиванию новых значений интенсивности каждому пикселю изображения. Если интенсивности исходного изображения изменялись в диапазоне от до , тогда необходимо линейно "растянуть" указанный диапазон так, чтобы значения изменялись от 0 до 255. Для этого достаточно пересчитать старые значения интенсивности для всех пикселей согласно формуле , где коэффициенты просто вычисляются, исходя из того, что граница должна перейти в 0, а – в 255.

Нормализация гистограммы в отличие от предыдущего метода обеспечивает растяжку не всего диапазона изменения интенсивностей, а только его наиболее информативной части. Под информативной частью понимается набор пиков гистограммы, т.е. интенсивности, которые чаще остальных встречаются на изображении. Бины, соответствующие редко встречающимся интенсивностям, в процессе нормализации отбрасываются, далее выполняется обычная линейная растяжка получившейся гистограммы.

Выравнивание гистограмм – это один из наиболее распространенных способов. Цель выравнивания состоит в том, чтобы все уровни яркости имели бы одинаковую частоту, а гистограмма соответствовала равномерному закону распределения. Допустим, что задано изображение в оттенках серого, которое имеет разрешение пикселей. Количество уровней квантования яркости пикселей (число бинов) составляет . Тогда в среднем на каждый уровень яркости должно выпадать пикселей. Базовая математика лежит в сопоставлении двух распределений. Пусть – случайные величины, описывающие изменение интенсивности пикселей на изображениях, – плотность распределения интенсивности на исходном изображении, – желаемая плотность распределения. Необходимо найти преобразование плотностей распределения , которое позволило бы получить желаемую плотность:

Обозначим через и интегральные законы распределения случайных величин и . Из условия вероятностной эквивалентности следует, что . Распишем интегральный закон распределения по определению:

Отсюда получаем, что

Осталось выяснить, как оценить интегральный закон распределения . Для этого необходимо сначала построить гистограмму исходного изображения, затем нормализовать полученную гистограмму, разделив величину каждого бина на общее количество пикселей . Значения бинов можно рассматривать как приближенное значение функции плотности распределения . Таким образом, значение интегральной функции распределения можно представить как сумму следующего вида:

Построенную оценку можно использовать для вычисления новых значений интенсивности. Заметим, что перечисленные преобразования гистограмм можно применять не только ко всему изображению, но и к отдельным его частям.

В библиотеке OpenCV реализована функция equalizeHist , которая обеспечивает повышение контрастности изображения посредством выравнивания гистограммы [ , ]. Прототип функции показан ниже.

void equalizeHist(const Mat& src, Mat& dst)

Функция работает в четыре этапа:

Далее приведем пример программы, обеспечивающей выравнивание гистограммы. Приложение принимает в качестве аргумента командной строки название исходного изображения. После выполнения операции выравнивания гистограммы выполняется отображение исходного изображения 1 Использовано изображение, входящее в состав базы PASACL VOC 2007. , переведенного в оттенки серого (рис. 7.11 , слева), и изображения с выровненной гистограммой (рис. 7.11 , справа).

#include #include using namespace cv; const char helper = "Sample_equalizeHist.exe \n\ \t - image file name\n"; int main(int argc, char* argv) { const char *initialWinName = "Initial Image", *equalizedWinName = "Equalized Image"; Mat img, grayImg, equalizedImg; if (argc < 2) { printf("%s", helper); return 1; } // загрузка изображения img = imread(argv, 1); // преобразование в оттенки серого cvtColor(img, grayImg, CV_RGB2GRAY); // выравнивание гистограммы equalizeHist(grayImg, equalizedImg); // отображение исходного изображения и гистограмм namedWindow(initialWinName, CV_WINDOW_AUTOSIZE); namedWindow(equalizedWinName, CV_WINDOW_AUTOSIZE); imshow(initialWinName, grayImg); imshow(equalizedWinName, equalizedImg); waitKey(); // закрытие окон destroyAllWindows(); // осовобождение памяти img.release(); grayImg.release(); equalizedImg.release(); return 0; }


Рис. 7.11.

Всем привет. Сейчас мы с научным руководителем готовим к изданию монографию, где пытаемся простыми словами рассказать об основах цифровой обработки изображений. В данной статье раскрывается очень простая, но в тоже время очень эффективная методика повышения качества изображений – эквализация гистограмм.

Для простоты начнём рассмотрение с монохромных изображений (т.е. изображений содержащих информацию только о яркости, но не о цвете пикселей). Гистограммой изображения будем называть дискретную функцию H, определённую на множестве значений , где bpp – количество бит, отводимое для кодирования яркости одного пиксела. Хоть это и не является обязательным, но гистограммы часто нормируют в диапазон , выполняя деление каждого значения функции H[i] на общее количество пикселов изображения. В Табл. 1 представлены примеры тестовых изображений и гистограмм, построенных на их основе:
Табл. 1. Изображения и их гистограммы

Внимательно изучив соответствующую гистограмму можно сделать некоторые выводы и о самом исходном изображении. Например, гистограммы очень тёмных изображений характеризуются тем, что ненулевые значения гистограммы сконцентрированы около нулевых уровней яркости, а для очень светлых изображений наоборот – все ненулевые значения сконцентрированы в правой части гистограммы.
Интуитивно можно сделать вывод, что наиболее удобным для восприятия человеком будет изображение, у которого гистограмма близка к равномерному распределению. Т.е. для улучшения визуального качества к изображению надо применить такое преобразование, чтобы гистограмма результата содержала все возможные значения яркости и при этом в примерно одинаковом количестве. Такое преобразование называется эквализацией гистограммы и может быть выполнено с помощью кода, приведённого в Листинг 1.
Листинг 1. Реализация процедуры эквализации гистограммы

  1. procedure TCGrayscaleImage. HistogramEqualization ;
  2. const
  3. k = 255 ;
  4. h: array [ 0 .. k ] of double ;
  5. i, j: word ;
  6. begin
  7. for i : = 0 to k do
  8. h[ i] : = 0 ;
  9. h[ round (k * self . Pixels [ i, j] ) ] : = h[ round (k * self . Pixels [ i, j] ) ] + 1 ;
  10. for i : = 0 to k do
  11. h[ i] : = h[ i] / (self . Height * self . Width ) ;
  12. for i : = 1 to k do
  13. h[ i] : = h[ i - 1 ] + h[ i] ;
  14. for i : = 0 to self . Height - 1 do
  15. for j : = 0 to self . Width - 1 do
  16. self . Pixels [ i, j] : = h[ round (k * self . Pixels [ i, j] ) ] ;
  17. end ;

В результате эквализации гистограммы в большинстве случаев существенно расширяется динамический диапазон изображения, что позволяет отобразить ранее не замеченные детали. Особенно сильно этот эффект проявляется на тёмных изображениях, что показано в Табл. 2. Кроме того, стоит отметить ещё одну важную особенность процедуры эквализации: в отличие от большинства фильтров и градационных преобразований, требующих настройки параметров (апертуры и констант градационных преобразований) эквализация гистограммы может выполняться в полностью автоматическом режиме без участия оператора.
Табл. 2. Изображения и их гистограммы после эквализации


Легко можно заметить, что гистограммы после эквализации имеют своеобразные заметные разрывы. Это связано с тем, что динамический диапазон выходного изображения шире диапазона исходного. Очевидно, что в этом случае рассмотренное в Листинг 1 отображение не может обеспечить ненулевые значения во всех карманах гистограммы. Если всё-таки необходимо добиться более естественного вида выходной гистограммы, можно использовать случайное распределение значений i-ого кармана гистограммы в некоторой его окрестности.
Очевидно, что эквализация гистограмм позволяет легко повышать качество монохромных изображений. Естественно хочется применить подобный механизм и к цветным изображениям.
Большинство не очень опытных разработчиков представляют изображение в виде трёх цветовых каналов RGB и пытаются применить процедуру эквализации гистограммы к каждому цветовому в отдельности. В некоторых редких случаях это позволяет добиться успеха, но в большинстве случаев результат так себе (цвета получаются неестественными и холодными). Это связано с тем, что модель RGB неточно отображает цветовосприятие человека.
Вспомним о другом цветовом пространстве – HSI. Эта цветовая модель (и другие родственные ей) очень широко используются иллюстраторами и дизайнерам так как позволяют оперировать более привычными для человека понятиями цветового тона, насыщенности и интенсивности.
Если рассмотреть проекцию RGB-куба в направлении диагонали белый-чёрный, то получится шестиугольник, углы которого соответствуют первичным и вторичным цветам, а все серые оттенки (лежащие на диагонали куба) при этом проецируются в центральную точку шестиугольника (см. Рис. 1):

Рис. 1. Проекция цветового куба
Чтобы с помощью этой модели можно было закодировать все цвета, доступные в RGB-модели, необходимо добавить вертикальную ось светлоты (или интенсивности) (I). В итоге получается шестигранный конус (Рис. 2, Рис. 3):


Рис. 2. Пирамида HSI (вершины)
В этой модели цветовой тон (H) задаётся углом относительно оси красного цвета, насыщенность (S) характеризует чистоту цвета (1 означает совершенно чистый цвет, а 0 соответствует оттенку серого). При нулевом значении насыщенности тон не имеет смысла и не определен.


Рис. 3. Пирамида HSI
В Табл. 3 показано разложение изображения по компонентам HSI (белые пикселы в канале тона соответствуют нулевой насыщенности):
Табл. 3. Цветовое пространство HSI


Считается, что для повышения качества цветных изображений наиболее эффективно применять процедуру эквализации к каналу интенсивности. Именно это и продемострировано в Табл. 4
Табл. 4. Эквализация различных цветовых каналов


Надеюсь, этот материал показался вам как минимум интересным, как максимум полезным. Спасибо.



Поделиться