Янкина Екатерина Андреевна
студент, бакалавр, ИКТИБ ЮФУ,
Научный руководитель: Родзин Сергей Иванович профессор кафедры МОП ЭВМ, ИКТИБ ЮФУ г. Таганрог, РФ E-mail: [email protected]
РАЗРАБОТКА ПРОГРАММЫ ДЛЯ РАСПОЗНАВАНИЯ ИЗОБРАЖЕНИЙ ЗЕМНОЙ ПОВЕРХНОСТИ С ПОМОЩЬЮ БАЙЕСОВСКОГО КЛАССИФИКАТОРА
Аннотация
В статье рассматривается актуальный вопрос распознавания изображений - перспективного направления в искусственном интеллекте. Предлагается эвристический алгоритм и программа распознавания объектов на снимках земной поверхности на основе байесовского классификатора, обеспечивающего минимизацию вероятности ошибочной классификации. При помощи модификации оптимального алгоритма классификации, решение задачи сводится к нахождению максимума апостериорной вероятности.
Ключевые слова
Распознавание изображений, классификация, байесовский классификатор.
Введение. В настоящее время данные, получаемые при помощи космической съемки, позволяют исследовать различные объекты земной поверхности. Полученная информация может быть применена в различных отраслях: в сельском хозяйстве, экологии, добыче полезных ископаемых, разведке. Это свидетельствует об актуальности задачи распознавания снимков земной поверхности. Несмотря на то, что задача анализа и распознавания изображений, хорошо исследована в теоретическом плане, ее практическое решение является весьма трудным. Существует определенная зависимость эффективности работы алгоритмов распознавания от априорных данных и условий работы системы, которые не всегда позволяют решать задачу распознавания с достаточно высокой эффективностью.
В статье разрабатывается эвристический алгоритм и программа распознавания объектов на снимках земной поверхности на основе байесовского классификатора, обеспечивающего минимизацию вероятности ошибочной классификации.
Известные результаты. Для решения задачи распознавания изображений было разработано много методов и алгоритмов, базирующихся на яркостной, градиентной и текстурной информации изображения [1]. Результаты исследований методов обработки изображений и алгоритмов сегментации изложены в работах отечественных и зарубежных ученых: В.П. Вежневеца, Р. Вудса, Р. Гонсалеса, И.П. Гурова, Р. Дуда, Ю.И. Журавлева, В.С. Киричука, А.Г. Коробейникова, Д. Кэнни, Б.М. Миллера, У. Прэтта, Д. Прюитта, К. Рао, Л. Робертса, С.З. Савина, В.В. Сергеева, И. Собеля, В.А. Сойфера, Л.Т. Сушковой, П. Фелзензвалба, К. Фу, Я.А. Фурмана, Р. Харалика, Д. Хаттенлохера, Х. Щарра, С.В. Яблонского, Л.П. Ярославского.
Однако существующие алгоритмы не всегда обеспечивают надежное различение анализируемого объекта, структуры или области от окружающего фона в различных ситуациях, что не позволяет полностью заменить визуальное наблюдение автоматизированным. В общем случае задача распознавания изображений не решена. Поэтому возникает необходимость в разработке и реализации усовершенствованных алгоритмов распознавания изображений.
Постановка задачи. Требуется разработать программу, выполняющую распознавание
различных областей земной поверхности на изображении. Областью может быть поверхность с водой, травой или землей. Алгоритм распознавания областей изображения должен быть реализован с использованием байесовского классификатора.
Земная поверхность - поверхность планеты Земля в целом - поверхность суши вместе с растительным, снежным покровом и др., а также водная поверхность.
Входное изображение - изображение, которое пользователь загружает в программу для распознавания.
Выходное изображение - распознанное изображение с размеченными областями по типам земной поверхности.
Задача распознавания изображений, в общем случае, состоит в следующем [1]. При заданных исходных изображениях в виде набора пикселей с такими визуальными свойствами, как яркость, цвет, текстура, а также определенного размера, уровня шума, контрастирования и качества, необходимо в пределах имеющихся ресурсов найти такую разметку изображений на определенное количество регионов, которая обеспечивает высокую точность и качество распознавания изображений.
Имеется множество объектов X и конечное множество имён классов Y. Множество прецедентов X*Y является вероятностным пространством с известной плотностью распределения p(x,y)=P(y)p(x\y). Вероятности появления объектов каждого из классов Py=P(y) известны и называются априорными вероятностями классов. Плотности распределения классов py(x)=p(x\y) также известны и называются функциями правдоподобия классов. Требуется построить алгоритм a(x), минимизирующий вероятность ошибочной классификации.
Алгоритм решения задачи классификации участков земной поверхности
Для решения задачи распознавания могут использоваться различные алгоритмы [2, 3]. В данном решении используется наивный байесовский классификатор. Наивный байесовский классификатор — специальный частный случай байесовского классификатора, основанный на дополнительном предположении, что объекты x£X описываются n статистически независимыми признаками: x =(&,..., E,n) = (f:(x),.,fn(x)).
Предположение о независимости означает, что функции правдоподобия классов представимы в виде: py(x)=pyi(%i),...,pyn(%r), где pyj(^j) — плотность распределения значений j-го признака для класса y.
Предположение о независимости значительно упрощает задачу, так как оценка n одномерных плотностей происходит гораздо легче, чем одной n-мерной плотности. К сожалению, оно крайне редко выполняется на практике, отсюда и название метода.
Если известны априорные вероятности Py и функции правдоподобияpy(x), то минимум среднего риска R(a) достигается алгоритмом:
a(x) = argmin} AysPypy(x).
s£Y
y£Y
Если известны априорные вероятности Py и функции правдоподобия py(x), и, кроме того, Xyy—0 и Xys=Xy для всехy, s£Y, то минимум среднего риска достигается алгоритмом:
а(х) = агатах АуРуру(х).
y£Y
Оптимальный алгоритм классификации можно переписать через апостериорные вероятности: a(x) = arg maxy£Y Xy Pyx).
Если классы равнозначны (Xy = 1), то данное правило классификации называется принципом максимума апостериорной вероятности.
Таким образом, решение задачи классификации свелось к нахождению максимума апостериорной вероятности.
Теорема Байеса позволяет рассчитать апостериорную вероятность P(y\x) на основе P(y) -априорной вероятности данного класса, P(x\y) - правдоподобия, т.е. вероятности данного значения признака при данном классе, P(x) - априорной вероятности данного значения признака.
D, , , Р(х|у) Р(у) Р(У|Х) = Р(х)
Алгоритм решения задачи классификации участков земной поверхности включает следующие основные шаги:
1. Составление обучающей выборки ;
2. Составление частотной таблицы;
3. Подсчет апостериорной вероятности;
4. Нахождение максимума апостериорной вероятности.
Составление обучающей выборки заключается в следующем. Для того чтобы программа могла распознавать изображения, она должна иметь данные, на основе которых можно будет сделать однозначный вывод по поводу принадлежности той или иной области изображения к какому-либо классу [4, 5]. Программа распознает участки снимков земной поверхности и относит их к одному из следующих классов: вода, трава, земля.
Обучающая выборка представляет из себя таблицу соответствий разных наборов признаков (пикселей) к одному из трех классов (типов земной поверхности).
Выборка составляется на основе анализа тестовых изображений.
Составление частотной таблицы заключается в следующем.
Поскольку алгоритм распознавания использует данные о частотах классов и признаков, следующим его пунктом является подсчет общего количества признаков (пикселей), относящихся к классам, подсчет для каждого признака количества его включений в каждый из классов. Вероятности каждого класса рассчитывается, как отношение суммы отдельного класса к общему числу элементов обучающей выборки. Вероятность каждого признака рассчитывается как отношение суммарного количества отнесения этого признака ко всем классам к общему числу элементов обучающей выборки.
Подсчет апостериорной вероятности показывает вероятность появления признака относительно общего количества признаков, а также вероятность определения каждого класса относительно общего числа определений.
Например, формула расчета апостериорной вероятности для класса «Вода» выглядит следующим образом:
Р(Вода\Х) = Р(Х\Вода) *Р(Вода)/Р(Х).
Следует вычислить апостериорную вероятность для каждого класса. В данном случае - воды, травы и земли.
Заключительным этапом является нахождение максимума апостериорной вероятности. Это позволяет отнести тот или иной цвет земной поверхности к одному из классов.
Следует найти максимум среди полученных на предыдущем шаге апостериорных вероятностей. Соответствующий ей класс и будет ответом.
Программная реализация алгоритма и экспериментальные результаты.
Программа состоит из трех компонентов: интерфейсная часть, программная часть, обучающая выборка.
Пользователь взаимодействует через интерфейс GUI с той частью программы, которая отвечает за обработку интерфейса (первый компонент). Далее этим компонентом вызываются методы программной части, которая занимается непосредственно самим распознаванием и зависит от обучающей выборки. Обучающая выборка сформирована заранее, хранится в отдельных файлах, к которым программа обращается для чтения.
Рисунок1 - Внешний вид окна программы
Алгоритм работы программы:
1. Загрузка изображения;
2. Распознавание изображения
В цикле осуществляется проход по всем пикселям загруженного изображения и классификация каждого из них алгоритмом, описанным в предыдущем пункте.
3. Сохранение изображения.
В ходе проведенной работы было разработано программное обеспечение для распознавания типов земной поверхности «ПО Распознаватель».
Результаты работы программы полностью зависят от объема обучающей выборки. В данной реализации была использована база из двух тысяч пикселей. Этого достаточно, чтобы правильно распознавать достаточно контрастные изображения. Для остальных же случаев лучше иметь обучающую выборку с большим набором, или же можно предварительно искусственно повышать контрастность изображения.
Так же следует учитывать, что алгоритм классифицирует каждый пиксель в отдельности. Поэтому изображения, содержащие большие участки поверхностей одного типа (линия берега, участок реки, поля) распознаются правильно с выделением четких контуров границ. В остальных случаях (городская местность, парк, улицы с большим количеством домов) результат распознавания может содержать большое количество отдельно выделенных пикселей, принадлежащих к одному из классов. Избежать этого можно, добавив еще один этап обработки изображения, убирающий после распознавания «шумы».
Заключение. Создание программного продукта для распознавания изображений - сложный многошаговый процесс, чаще всего требующий выбора между быстродействием программы и качеством распознавания [6, 7, 8]. Такой продукт может быть реализован при помощи байесовского классификатора. Основные преимущества такой реализации — простота и низкие вычислительные затраты при обучении и классификации. В данной области применения, где признаки независимы между собой, наивный байесовский классификатор (почти) оптимален. Следует также учитывать, что качество распознавания напрямую зависит от качества и количества обучающей выборки.
Исследование выполнено при финансовой поддержке грантов РФФИ (проект 16- 07-00336) в Южном федеральном университете.
Список использованной литературы:
1. Лепский А.Е., Броневич А.Г. Математические методы распознавания образов. - Таганрог: Изд-во ТТИ ЮФУ, 2009.
2. Вежневец А. Методы сегментации изображений: автоматическая сегментация // Компьютерная графика и мультимедиа: сетевой журнал. 2006. №4. Режим доступа: http://cgm.computergraphics.ru/content/view/147 (дата обращения 05.12.2016).
3. Gonzales R.C. Digital Image Processing. - Reading: Massachusetts, Addison-Wesley, 2007.
4. Родзин С.И., Эль-Хатиб С.А. Оптимизация параметров биоинспирированной гиперэвристики в задаче сегментации изображений // Кибернетика и программирование. 2016. № 5. С.89-102. URL: http: //e -notabene. ru/kp/article_18507.html
5. Курейчик В.В., Родзин С.И., Родзина Л.С. Мобильное обучение: контекстная адаптация и сценарный подход // Открытое образование. 2013. № 4 (99). С. 75-82.
6. Selvakumar P., Hariganesh S. The performance analysis of edge detection algorithms for image processing // Int. Conf. on Computing Technologies and Intelligent Data Engineering (ICCTIDE). 2016. P. 205-217.
7. Родзина О.Н., Родзин С.И. Нейроэволюция: проблемы, алгоритмы, эксперимент. В сборнике: Информационные технологии в науке, образовании и управлении материалы XLIV международной конференции и XIV международной конференции молодых учёных IT + S&E' 16. под редакцией Е.Л. Глориозова. 2016. С. 228-233.
8. El-Khatib S., Rodzin S., Skobtcov Yu. Investigation of Optimal Heuristical Parameters for Mixed ACO-k-means Segmentation Algorithm for MRI Images // Proc. of the Conf. on ITSMSSM'16. 2016. vol. 51. pp. 216-221.
© Янкина Е.А., 2017