Научная статья на тему 'ОСОБЕННОСТИ ПАРАЛЛЕЛЬНОЙ РЕАЛИЗАЦИИ АЛГОРИТМОВ УЛУЧШЕНИЯ КОНТРАСТНОСТИ'

ОСОБЕННОСТИ ПАРАЛЛЕЛЬНОЙ РЕАЛИЗАЦИИ АЛГОРИТМОВ УЛУЧШЕНИЯ КОНТРАСТНОСТИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
12
0
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
улучшение контраста / параллельная реализация / графический фильтр / оптимизация / обработка изображений / улучшение качества фотографий / contrast enhancement / parallel implementation / graphic filter / optimization / image processing / photo quality improvement

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Н.Ю. Мистратов, Д.И. Губин, А.Г. Зотин

Приведены технические особенности реализации параллельного исполнения алгоритмов улучшения контрастности с использованием технологий OpenMP и TBB. Проведено исследование различных реализаций алгоритмов.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Н.Ю. Мистратов, Д.И. Губин, А.Г. Зотин

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

FEATURES OF PARALLEL IMPLEMENTATION OF THE CONTRAST ENHANCEMENT ALGORITHMS

The technical features of the implementation of parallel execution of contrast enhancement algorithms using OpenMP and TBB technologies are given. Are search of various implementations of algorithms has been carried out.

Текст научной работы на тему «ОСОБЕННОСТИ ПАРАЛЛЕЛЬНОЙ РЕАЛИЗАЦИИ АЛГОРИТМОВ УЛУЧШЕНИЯ КОНТРАСТНОСТИ»

Секция «Программные средства и информационные технологии»

УДК004.932

ОСОБЕННОСТИ ПАРАЛЛЕЛЬНОЙ РЕАЛИЗАЦИИ АЛГОРИТМОВ УЛУЧШЕНИЯ

КОНТРАСТНОСТИ

Н. Ю. Мистратов, Д. И Губин Научный руководитель - А. Г. Зотин

Сибирский государственный университет науки и технологий имени академика М.Ф. Решетнева Российская Федерация, 660037,г. Красноярск, просп. им. газ. «Красноярский рабочий», 31

E-mail: nikmistratov@mail.ru

Приведены технические особенности реализации параллельного исполнения алгоритмов улучшения контрастности с использованием технологий OpenMP и TBB. Проведено исследование различных реализаций алгоритмов.

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

FEATURES OF PARALLEL IMPLEMENTATION OF THE CONTRAST ENHANCEMENT ALGORITHMS

N. Y. Mistratov, D. I. Gubin Scientific supervisor - A. G. Zotin

Reshetnev Siberian State University of Science and Technology 31, Krasnoyarskii rabochii prospekt, Krasnoyarsk, 660037, Russian Federation E-mail: nikmistratov@mail.ru

The technical features of the implementation of parallel execution of contrast enhancement algorithms using OpenMP and TBB technologies are given. Aresearch of various implementations of algorithms has been carried out.

Key words: contrast enhancement, parallel implementation, graphic filter, optimization, image processing, photo quality improvement.

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

В качестве фильтров будут использованы BCET (Balance Contrast Enhancement Technique) [1] и его модифицированная версия ABCET (Ameliorated Balance Contrast Enhancement Technique) [4]. Оригинальный BCET работает, определяя параболическую функцию с тремя коэффициентами. Фильтр ABCET работает путем вычисления модифицированной параболической функции с одним модифицированным и двумя не модифицированными коэффициентами, а также использует два дополнительных метода для получения результатов надлежащего качества.[4]

Актуальные проблемы авиации и космонавтики - 2022. Том 2

В качестве технологий распараллеливания используются OpenMP и TBB. OpenMP- это библиотека для параллельного программирования вычислительных систем с общей памятью. Официально поддерживается Си, С++ и Фортран, однако можно найти реализации для некоторых других языков, например Паскаль и Java. Библиотека OpenMP подходит только для программирования систем с общей памятью, при этом используется параллелизм потоков. Потоки создаются в рамках единственного процесса и имеют свою собственную память. Кроме того, все потоки имеют доступ к памяти процесса [3].Intel Threading Building Blocks (также известная как TBB) - кроссплатформенная библиотека шаблонов C++[2], разработанная компанией Intel для параллельного программирования. Библиотека TBB абстрагирует доступ к отдельным потокам. Все операции трактуются как «задачи», которые динамически распределяются между ядрами процессора. Кроме того, достигается эффективное использование кэша. Программа, написанная с использованием TBB, создаёт, синхронизирует и разрешает графы зависимостей задач в соответствии с алгоритмом. Затем задачи исполняются в соответствии с зависимостями. Этот подход позволяет программировать параллельные алгоритмы на высоком уровне, абстрагируясь от деталей архитектуры конкретной машины[2]. Важной задачей при создании параллельной реализации является сохранение необходимого функционала данной части кода неизменной. Для этого необходимо не допускать конкуренции потоков, то есть сделать так, чтобы потоки не обращались к одному участку памяти одновременно.

Таблица 1

Результаты исследования быстродействия_

Размер изображения Количество потоков BCET ABCET

OpenMP TBB OpenMP TBB

1920х1080 2 1,7647 1,8188 1,2785 1,2350

4 3,7789 3,4156 1,4582 1,8974

6 4,8585 4,4883 1,6960 2,2917

2560х1440 2 1,8803 1,8694 1,2530 1,3807

4 3,6141 3,4929 1,5017 1,8853

6 4,7088 4,5479 1,7836 2,1762

4096х2160 2 1,8929 1,8857 1,2685 1,3210

4 3,5622 3,4405 1,4979 1,8745

6 4,7146 4,9502 1,7330 2,1682

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

Секция «Про граммные средства и информацио иные техно ло гии»

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

Для оценки ускорения выполнения данных методов было проведено тестирование на двух компьютерах с различными конфигурациями. Первая конфигурация состоит из процессора Intel Core i7 8750h 2.20 GHz (6-ядерный, 12-потоков) и 32 ГБ оперативной памяти DDR42400 МГц. Вторая конфигурация состоит из AMDRyzen 7 4800h 2.90 GHz (8-ядерный, 16-потоков) и 16 ГБ оперативной памяти DDR4 3200 МГц.Оба тестовых стенда работают на операционной системе Windows 10. Для сравнения эффективности рассчитаны коэффициенты ускорения на поток. Было обработано по 20 фотографий размерами для трех размеров. Данные рассчитывались в доверительном интервале. Было выполнено 500 запусков алгоритмов. Полученные данные занесены в таблицу 1.

Ускорения для обоих конфигураций сопоставимы, поэтому приведены значения только для одной из них. BCETалгоритм имеет хороший прирост скорости исполнения при увеличении числа потоков. При использовании шести потоков можно добиться практически пятикратного ускорения как при использовании OpenMPтак и TBB. Для ABCETускорение на каждый поток ниже, чем для BCET, так как алгоритм значительно сложнее и имеет большое число зависимостей, что делает его распараллеливание менее эффективным.

Библиографические ссылки

1. Balance Contrast Enhancement Technique (BCET) [Электронный ресурс]. URL: https://www.imageeprocessing.com/2017/11/balance-contrast-enhancement-technique.html(дата обращения: 10.2.2022).

2. Intel® oneAPI Threading Building Blocks [Электронный ресурс]. URL: https://www.intel.com/content/www/us/en/developer/tools/oneapi/onetbb.html#gs.vi5t3n(дата обращения: 10.2.2022).

3. Openmp: официальный сайт. [Электронный ресурс]. URL: https://www.openmp.org/ (дата обращения: 10.2.2022).

4. Zohair Al-Ameen Satellite Image Enhancement Using an Ameliorated Balance Contrast Enhancement Technique // iieta.org: International Information and Engineering Technology Association [Электронный ресурс]. URL: https://iieta.org/journals/ts/paper/10.18280/ts.370210 (дата обращения: 10.2.2022).

© Мистратов Н.Ю., Губин Д.И., 2022

i Надоели баннеры? Вы всегда можете отключить рекламу.