Применение нейронной сети для поиска точной границы объекта при анализе изображений
Рассмотрение градиентной модели элемента изображения в области границы. Разработка подхода к поиску точной позиции контура. Разработка нейросетевой модели поиска точной позиции точки контура, анализ результатов работы модели, схемы нейросетевого анализа.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 19.01.2018 |
Размер файла | 182,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ПРИМЕНЕНИЕ НЕЙРОННОЙ СЕТИ ДЛЯ ПОИСКА ТОЧНОЙ ГРАНИЦЫ ОБЪЕКТА ПРИ АНАЛИЗЕ ИЗОБРАЖЕНИЙ
Корлякова М.О., к.т.н., доцент кафедры ЭИУ3-КФ
Калужский филиал МГТУ им. Н.Э. Баумана,
тел.: 8242547836, e-mail: mkorlyakova@yandex.ru,
Земляная Н.Б., начальник сектора ПО ОКБ «Астра» филиала ФГУП «НПЦ АП им. Акад. Н.А.Пилюгина»-«СПЗ»
тел.: 8242597568, e-mail: spz_kb@mail.ru
Введение
Современные системы анализа изображений широко внедряются в практику и решают различные виды задач. Все многообразие подобных задач можно разделить на два подвида: задачи для которых важнее форма границы объекта и те, где существенным является его точный размер и позиция элементов сцены. Задачи первого типа от задач второго отличаются более слабыми требованиями к точности установления границы объектов, что позволяет использовать довольно грубые, но быстрые алгоритмы поиска границ. Второй тип задач - подразумевает, что контуры будут установлены с точностью более высокой, чем размер пикселя изображения. Примером таких задач может служить задача определения углового положения объекта известной формы (мишени) в пространстве с точностью до 10'. Подобная точность нужна при поиске взаимного углового положения колес автомобиля для его технического обслуживания, наведения манипуляторов роботов и т.п. Рассмотрим особенности поставленной задачи.
Анализируемое изображение имеет разрешение 4000х3000 пикселей и охватывает сцену объемом 1м3 со стороной 1м. Глубина цветопредставления соответствует 32 б/пиксель (256 уровней интенсивности по каждому каналу цвета). Необходимо определить положение точки контура с точностью не менее 0.25 пикселя и частотой анализа на уровне 2-3 кадра в минуту. Поскольку решение стереометрической составляющей задачи позиционирования не требует анализа абсолютно всех точек контура, то необходимо точно вычислить только положение 10-20 элементов границы для каждого объекта.
Традиционные подходы к анализу контуров состоят в фильтрации изображения для подавления шумов, построении градиента изображения и отсечении по порогу, которое позволяет построить бинарную границу [1]. Однако такой подход не позволяет построить контур более точный, чем размер пикселя. Техническая возможность поиска контура объекта с точностью большей, чем разрешение фотографии обеспечивается тем, что рассматривается не бинарная форма изображения границы, а ее полутоновая картина (см. Рис.1). Это модель обеспечивает учет «серости» граничных пикселей, т.е. формируется некоторая нечеткая форма описания области границы объекта [2, 3]. Таким образом, будем модифицировать этап отсечения по уровню градиента изображения. Граница объекта покрывает сотни пикселей, из которых будем равномерно выбирать для анализа несколько десятков, равномерно распределенных по длине контура областей для уточнения координат контура на фотографии.
а) б)
Рис.1. Градиентная модель элемента изображения в области границы (инверсное представление) а) и размещение областей для уточнения позиции вдоль контура б)
1. Разработка подхода к поиску точной позиции контура
Изображение границы объекта имеет размытый характер и положение контура зависит от способа отсечения «серых» пикселей. Пороговое отсечение использует отбрасывание пикселей по уровню интенсивности либо самого изображения, либо его градиента. Порог задается как параметр алгоритма обработки изображения и обеспечивает довольно эффективное и быстрое построение множества пикселей принадлежащих контуру [1]. Точное позиционирование положения точки контура, которое учтет серые пиксели окрестности границы объекта, будет иметь большую вычислительную сложность и проводить его для всего изображения затруднительно. Очевидно, что анализ изображений большого размера (2000х3000 пикселей и более) следует проводить не для всей картины, а только для наиболее интересных участков. Таким образом, общая схема анализа изображения содержит следующие этапы:
понижение разрешения изображения для проведения предварительного анализа за счет осреднения блоков изображения 5х5 (Рис. 2. б);
предварительный анализ (фильтрация шума, вычисление градиента изображения (фильтр Собеля) и прослеживание грубого контура с помощью алгоритма обхода контура) и генерация грубой векторной модели контура (Рис. 2. в);
выбор 10-20 точек грубого контура для точного анализа (Рис. 2. в);
выделение блоков размера nxn с центром в точке соответствующей центру осредненного блока 5х5 из п.1(Рис. 2. г);
построение градиента для области размера nxn по исходному изображению.
точный анализ положения точки контура (Рис. 2. г).
Схема процесса преобразования изображения приведена на Рис.2 .
а) б) в) г)
Рис.2. Последовательность преобразования изображения
Наиболее длительный процесс анализа связан с этапами 5 и 6 предлагаемого алгоритма. Поэтому представляет интерес разработка модели для поиска точной координаты контура на основе какой-либо формы интеллектуального анализа информации. Рассмотрим вариант нейросетевой реализации такого алгоритма.
2. Разработка нейросетевой модели поиска точной позиции точки контура
Решение вопроса позиционирования точки контура следует разбить на два этапа:
проверка возможности построения точной позиции контура (нейронная сеть 1);
формирование точной координаты (нейронная сеть 2).
Схема решателя приведена на Рис.3.
Рис.3. Схема нейросетевого анализа контура
Первый процесс обеспечен нейронной сетью архитектуры многослойный перцептрон (2 слоя - 4 скрытый сигмоидных нейрона) с алгоритмом обучения по обратному распространению ошибки [4], которую обучили на 6000 примеров. 4000 примеров содержали элементы контура, а в 2000 - контур отсутствовал. Реакция сети должна соответствовать 1 для контура и -1 для его отсутствия в анализируемом блоке. Построенная модель является классификатором и имеет высокую уверенность в качестве результата (ошибка на уровне 10%). Все отмеченные ошибки анализа относятся к области не распознавания примеров с контуром, что в нашем случае является допустимым, т.к. число анализируемых блоков превосходит число необходимых для анализа точек в несколько раз. Рассмотрим подход к поиску координаты контура.
Нейронная сеть - многослойный перцептрон может аппроксимировать функцию практически любой сложности. Это гарантировано целым рядом исследований процедур обучения многослойных сетей прямого распространения. (Обзор исследований этого вопроса приведен в [4].) Поэтому можно построить достаточно сложную зависимость, которая свяжет внешний вид растрового контура и точное положение границы. Будем искать координаты точки контура (Рис.4), как функцию интенсивности пикселей блока, гарантировано содержащего контур
изображение контур нейросетевой граница
,
где x - зафиксировано в центре блока как координата точки контура по горизонтали; I(k,j) - интенсивность пикселя блока с координатами k,j; y - координата точки контура по вертикали блока.
В качестве примеров использованы объекты построенные искусственно. Основным требованием к ним является точное знание координат точек потенциального контура и их представления в виде растровой модели. Примером может служить выборка, которую построили на основе функции . Каждый пример выборки является элементом отображения точного закона в растровой сетке 450х350 (см. Рис. 4). Все примеры привязаны к областям Рис.5.а, через которые проходит график функции . Таким образом, обучающая выборка содержит только объекты, содержащие контур. Блоки пикселей без контура отсекаются на этапах 1-4 алгоритма и с помощью «нейронной сети 1». «Нейронная сеть 2» будет анализировать только контурные блоки общей картинки и не работает во всех остальных случаях.
Рис.4. Блок размера 7х7
Растеризованная модель содержит полутоновые пиксели, которые позволяют определить положение . Очевидно, что эти пиксели содержат те же координаты, что и точное формальное описание и представляют его оттенками основных цветов. Таким образом, принимаем в качестве входной информации сети описание интенсивности пикселей блока, а целевое свойство определяется координатами по . Общий объем примеров составляет 4000 экземпляров. Каждый пример содержит 49 входов по каждому каналу цвета (для апертуры 7х7) и установленное для них значение , которое привели к координатам блока (Рис.4.).
а) б)
в) г)
Рис. 5. Исходный график а) (увеличение его участка б)) и его растеризированное представление в) (увеличение участка г))
Координата х в привязке к координатам блока будет равна 4. Таким образом, вектор, который описывает объект, имеет формат следующего вида:
где - интенсивность по каналам цвета для пикселя блока, - координата центра блока в привязке к диапазону изменения области определения .
Диапазон изменения значений определен глубиной цвета в текущем формате кадра.
В качестве аппроксимирующей модели принята архитектура многослойный (2 слоя) персептрон с обучением по алгоритму обратного распространения ошибки. На Рис. 7 и 6 представлены результаты анализа тестовых множеств с помощью обученной нейронной сети. Максимальная ошибка на тестовой выборке не превышает 0.2 размера пикселя, а средние ошибки составляют не более 0.1 пикселя. Достигнутый уровень ошибок позволил перейти к анализу контуров объектов. Рассмотрим анализ контура модельного изображения, который представляет из себя эллипс, снятый во фронтальной проекции стенда к камере, что позволило получить снимок с четким и резким контуром (Рис. 8.а). Модельный снимок был подвергнут фильтрации по Собелю и нейросетевому анализу контура во всех точках, где это удается сделать. Часть точек контура лежит на краях разрывов, что приводит к определению этих участков как «не контура».
Рис. 6. Результаты работы нейронной сети для блоков тестовой выборки
Рис.7. Увеличение центральной точки блока (круг - целевое положение точки контура, а квадрат его оценка нейронной сетью)
а) б) в)
Рис. 8. Решение модельной задачи анализа контура
3. Анализ результатов работы нейросетевой модели поиска позиции точки контура
Анализ модельной задачи показал высокое качество поиска координат точек (средняя ошибка составляет 0.3 размера пикселя).
Следующий этап анализа эффективности алгоритма состоял в оценке быстродействия нейросетевой модели в сравнении с быстродействием исходного алгоритма поиска точек контура. Исходная модель анализа точного положения точек контура опирается на поиск центра тяжести фигуры сформированной фильтром Собеля и не учитывает полутоновые оттенки результатов градиентного анализа изображения [5]. Причем следует отметить, что поскольку оба алгоритма реализованы в рамках среды моделирования MathLab, то их быстродействие существенно отличается от скорости выполнения алгоритма реализованного автономно. Поэтому проводился сравнительный анализ, который показал, что нейросеть, исполняемая последовательно, обработает блок размера nxn за
,
а исходная модель обработает блок того же размера за
Очевидно, что даже последовательное исполнение операций вычисления выхода нейронной сети незначительно проигрывает в эффективности исходной модели алгоритма, а их оценки вычислительной сложности эквивалентны и составляют и при n=7:
.
Однако следует учитывать, что разрядность представления данных для поиска центра тяжести значительно ниже (выше было отмечено, что анализируем бинарную форму описания изображения), и это приводит к существенной экономии ресурсов системы. Исходная модель алгоритма обеспечивает точность определения угловых параметров размещения реальной мишени в пространстве с ошибкой в пределах 7-10 угловых минут. Результаты обработки модельного примера приведенного на Рис.8 для обоих алгоритмов отличаются незначительно. Причем нейросетевая модель проводит более точный контур (ошибка алгоритма центра тяжести не превышает 0.5 пикселя, а нейросети - 0.3 пикселя).
Кроме того, реализация алгоритмов в виде параллельной модели вывода позволяет построить цепей для нейронной сети и только в случае поиска центра тяжести. Таким образом, параллельное исполнение нейронной сети даст алгоритм анализа независимый от размера блока и обладающий необходимым быстродействием для анализа 20-30 точек кадра с частотой 2-3 кадра в минуту.
Следует отметить, что увеличение апертуры для алгоритма центра тяжести приводит к необоснованному сглаживанию и сужению контура, а нейросетевая система может быть обучена и для анализа большего размера блоков без потери быстродействия и качества. В настоящий момент на основании экспериментов в качестве основного выбран размер блока n=7. Выбор связан с балансом быстродействия модели и ее аппроксимирующей силой.
Заключение
Все перечисленные выше особенности алгоритма нейросетевого анализа точной позиции контура, позволяют предположить, что он построит достаточно качественные контуры при решении задач реального уровня сложности.
Благодарности. Выражаем признательность Тимаревой Е. и Кокаревой Е. (студенты 6-го курса, КФ МГТУ им.Н.Э.Баумана) за помощь при подготовке и отладке алгоритмов и моделей.
Литература
1. Введение в контурный анализ; приложения к обработке изображений и сигналов. - М.: Физматлит, 2003.
2. Комарцова Л.Г. Вопросы гибридизации методов представления данных и знаний // Интегрированные модели и мягкие вычисления в искусственном интеллекте. Сборник научных трудов III-го Международного научно-практического семинара. - М.: Физматлит, 2005. - С.185-191.
3. Пытьев Ю.П. Неопределенные нечеткие модели и их применения // Интеллектуальные системы. - Т.8, 2004. - вып.1-4. - С.147-310.
4. Хайкин С. Нейронные сети: полный курс. - М.:ООО «И.Д.Вильямс», 2006.
5. Корлякова М.О. Применение нечетких моделей для поиска точек контура изображения.// Научная сессия МИФИ-2009. Сборник научных трудов. - М.:МИФИ, 2009.
Размещено на Allbest.ru
...Подобные документы
Построение векторной модели нейронной сети. Проектирование и разработка поискового механизма, реализующего поиск в полнотекстовой базе данных средствами нейронных сетей Кохонена с применением модифицированного алгоритма расширяющегося нейронного газа.
курсовая работа [949,0 K], добавлен 18.07.2014Исследование нечеткой модели управления. Создание нейронной сети, выполняющей различные функции. Исследование генетического алгоритма поиска экстремума целевой функции. Сравнительный анализ нечеткой логики и нейронной сети на примере печи кипящего слоя.
лабораторная работа [2,3 M], добавлен 25.03.2014Схематическое представление сигмоидной функции. Слой как группа нейронов, на которые входной сигнал приходит одновременно. Характеристика специфических особенностей кохоненоподобной нейросетевой модели. Описание модели работы самоорганизующихся карт.
курсовая работа [1,6 M], добавлен 30.06.2017Основы программирования с использованием библиотеки OpenGL. Приложение для построения динамического изображения модели объекта "Батискаф": разработка процедуры визуализации трехмерной схемы, интерфейса пользователя и подсистемы управления событиями.
курсовая работа [1,4 M], добавлен 26.06.2011Исследование основных концепций информационного поиска: булева и векторная модели, меры подобия и определение веса индексных терминов. Оценка неранжированных наборов результата поиска. Реализация векторной модели в среде Matlab, листинг программы.
реферат [717,1 K], добавлен 15.07.2012Описание структурной схемы искусственного нейрона. Характеристика искусственной нейронной сети как математической модели и устройств параллельных вычислений на основе микропроцессоров. Применение нейронной сети для распознавания образов и сжатия данных.
презентация [387,5 K], добавлен 11.12.2015Оптимизация показателей эффективности функционирования технологического контура системы управления космическим аппаратом, исследование свойств его показателей. Настройка нейронной сети, гибридизация генетического алгоритма с алгоритмами локального поиска.
дипломная работа [4,5 M], добавлен 02.06.2011Разработка имитационной модели и схемы процесса обнаружения подводной лодки противника в целях обеспечения максимальной эффективности поиска подводной лодки кораблями КПГУ при возможных уклонениях лодки. Описание и отладка программы имитационной модели.
курсовая работа [374,5 K], добавлен 26.12.2011Функциональные возможности библиотеки OpenGL. Разработка процедуры визуализации трехмерной сцены, интерфейса пользователя и подсистемы управления событиями с целью создания приложения для построения динамического изображения 3D-модели объекта "Самолет".
курсовая работа [1,7 M], добавлен 28.06.2011Исследование основных концепций информационного поиска: булева и векторная модели, индексные термины. Реализация векторной модели в среде Matlab, расчет ранжированных списков документов, реализация оценок качества поиска и листинг программы в Matlab.
отчет по практике [444,8 K], добавлен 17.06.2012Роль инструментальных средств проектирования в создании информационной системы. Преимущества CASE-средств разработки Bpwin и Erwin, системы поиска, исправления ошибок модели данных Model Validator. Разработка модели процессов документооборота предприятия.
контрольная работа [2,2 M], добавлен 24.06.2012Терминологическая база для построения модели, имитирующей работу маршрутных микроавтобусов. Обоснование выбора программного средства. Алгоритм работы имитационной модели, особенности ее функционирования. Анализ результатов работы имитационной модели.
курсовая работа [1,1 M], добавлен 29.04.2014Задачи компьютерного зрения. Анализ, разработка и реализация алгоритмов поиска и определения движения объекта, его свойств и характеристик. Алгоритмы поиска и обработки найденных областей движения. Метод коррекции. Нахождение объекта по цветовому диапазон
статья [2,5 M], добавлен 29.09.2008Математические модели, построенные по принципу организации и функционирования биологических нейронных сетей, их программные или аппаратные реализации. Разработка нейронной сети типа "многослойный персептрон" для прогнозирования выбора токарного станка.
курсовая работа [549,7 K], добавлен 03.03.2015Разработка приложения, которое будет выполнять функции показа точного времени и точной даты. Определение дополнительных функций разработанного приложения. Рассмотрение основных этапов создания программного продукта. Результаты тестирования приложения.
курсовая работа [2,2 M], добавлен 14.04.2019Проектирование напряженно-деформированного состояния объекта при граничных условиях. Разработка концептуальной модели и расчетной схемы объекта анализа. Выбор и краткое описание программных и технических средств. Интерпретация результатов моделирования.
дипломная работа [439,8 K], добавлен 18.08.2009Компьютерная графика. Пиксели, разрешение, размер изображения. Типы изображений. Черно-белые штриховые и полутоновые изображения. Индексированные цвета. Полноцветные изображения. Форматы файлов. Цвет и его модели. Цветовые модели: RGB, CMYK, HSB.
реферат [18,1 K], добавлен 20.02.2009Анализ предметной области. Обеспечение качества проектной документации. Построение инфологической (концептуальной) модели предметной области. Проектирование физической структуры базы данных. Разработка интерфейса, организация ввода и поиска данных.
курсовая работа [2,5 M], добавлен 10.01.2016Назначение и принципы работы библиотеки OреnGL с графическими примитивами, освещением, эффектом тумана и проекциями. Программное обеспечение для разработки трехмерной модели объекта "Планетарная система" с встроенными настройками и понятным интерфейсом.
курсовая работа [42,5 K], добавлен 26.06.2011Разработка математической модели системы. Моделирование работы конвейера сборочного цеха в течении 8 часов. Определение вероятности пропуска секции. Расчет количества скомплектованных изделий за 8 часов. Исследование системы на имитационной модели.
контрольная работа [98,3 K], добавлен 24.09.2014