Применение сверточных нейронных сетей для локализации объектов на изображении
|
Введение 3
1 АНАЛИЗ СОСТОЯНИЯ ВОПРОСА 9
1.1 ПРОБЛЕМЫ РАЗВИТИЯ АЛГОРИТМОВ ГЛУБОКОГО ОБУЧЕНИЯ 9
1.2 Проблемы сверточнных нейронных сетей в задаче локализации
объектов 23
2 Разработка модели сверточнной нейронной сети для решения задачи классификации объектов на изображении 26
2.1 Формальное описание задачи локализации объектов на изображении 26
2.2 Моделирование нейронной сети для классификации изображений 27
2.3 Проблема переобучения и методики их решения 31
2.4 Выбор модели сверточнной нейронной сети для проведения
экспериментов 34
2.5 Результаты вычислительных экспериментов с применением сверточнных нейронных сетей 40
3 Программная реализация 49
3.1 Описание разработанного программного обеспечения 49
3.2 Алгоритм работы с приложением 50
3.3 Реализация модуля идентификации человека по лицу 56
Заключение 65
Список используемых источников 67
1 АНАЛИЗ СОСТОЯНИЯ ВОПРОСА 9
1.1 ПРОБЛЕМЫ РАЗВИТИЯ АЛГОРИТМОВ ГЛУБОКОГО ОБУЧЕНИЯ 9
1.2 Проблемы сверточнных нейронных сетей в задаче локализации
объектов 23
2 Разработка модели сверточнной нейронной сети для решения задачи классификации объектов на изображении 26
2.1 Формальное описание задачи локализации объектов на изображении 26
2.2 Моделирование нейронной сети для классификации изображений 27
2.3 Проблема переобучения и методики их решения 31
2.4 Выбор модели сверточнной нейронной сети для проведения
экспериментов 34
2.5 Результаты вычислительных экспериментов с применением сверточнных нейронных сетей 40
3 Программная реализация 49
3.1 Описание разработанного программного обеспечения 49
3.2 Алгоритм работы с приложением 50
3.3 Реализация модуля идентификации человека по лицу 56
Заключение 65
Список используемых источников 67
Глубокое обучение - это подмножество методов машинного обучения, области изучения и создания программных продуктов, алгоритмов, которые могут обучаться. Иногда с целью достичь уровня искусственного интеллекта.
Машинное обучение - это область компьютерных наук, в которой машины учатся решать задачи, для которых они не были запрограммированы непосредственно сами.
Глубокое обучение используется в промышленности для решения практических задач в самых разных областях, таких как компьютерное зрение (изображение, видео), обработка естественного языка (текст) и автоматическое распознавание речи. Глубокое обучение главным образом основано на применении искусственных нейронных сетей, которые представляют класс алгоритмов, имитирующих работу человеческих нейронных сетей. Главным преимуществом глубокого обучения над другими методами машинного обучения является высокая степень автоматизации нахождения признаков предметной области, то есть результат работы алгоритмов нейронных сети будет зависит главным образом от количества и качества данных на подаваемых на этапе обучения алгоритма. Это делает алгоритмы глубокого обучения универсальными, их можно обучить решать задачи на одном массиве данных, а также используя другой массив данных алгоритм сможет решать другого радо задачи. Машинное обучение является активно развивающейся областью и нейронные сети, которые входят в область машинного обучения являются актуальными для исследования.
Сверочные нейронные сети на сегодняшний момент являются лучшим способом автоматизации задач, которые требует участия человека, либо проектированием и разработкой алгоритмов сложный программных модулей, которые требует больших затрат.
В области машинного обучения существует отдельное семейство методов глубокого обучения, разделенный на несколько алгоритмов. Сверточнные нейронные сети проектировались изначально, как сети для классификации изображений, но потом было выяснено, что они могет справляться и с другими задачами Машиного обучения, начиная от локализации объекта, заканчивая предсказанием последовательности текста. Сверточнные нейронные сети получили свою популярность, благодаря того, что они способны рассматривать совокупность признаков на изображении, в отличии от персептрона, где, каждый нейрон пытается рассматривать свой пиксель, и из-за этого теряется пространство изображения. Все виды нейронный сетей представлено на рисунке 1.2.
Гипотезой исследования является предположение, что используя методы свёрточнных нейронных сетей, можно научить алгоритм автоматизировать задачу локализации объектов на изображении, без разработки сложных алгоритмов.
Объектом исследования являются локализация объектов на изображении, предметом исследования - разработка алгоритма для локализации объектов на изображении с использованием свёрточнных нейронных сетей.
Цель исследования - использование алгоритма сверточнных нейронных сетей, для автоматизации задачи по локализации объектов на изображении.
Цель исследования выполняется решением задач, перечисленных ниже:
1. Анализ вопроса темы магистерской дисертации.
2. Разработка математической модели для локализации объектов на изображении (при анализе данных с помощью алгоритма сверточнных нейронных сетей).
3. Проектирование и разработка математической модели данного метода для оценки эффективности задачи на практике.
4. Тестирование математической модели на практике. Получения выводов результата практических экспериментов.
Научная новизна исследования - доказано, что в машинном зрении точность локализации объектов на изображении и в реальном времени может быть увеличена с применением сверточнных нейронных сетей и увеличена скорость работы алгоритма с использованием графических процессоров для математических вычислений в работе алгоритма.
Практическая значимость работы заключается в разработке математической модели сверточнной нейронной сети для локализации объектов, что должно увеличить точность локализации машинного зрения и ускорения работы за счет использования графических процессоров в работе математической модели.
В первой главе исследования рассматриваются проблемы развития алгоритмов машинного обучения. Проблемы задачи машинного зрения. Проблемы работы нейронных сетей и глубокого обучения.
Во второй главе рассматривается формальное описание задачи моделирования сверточнной нейронной сети . Представлена математическая модель. Проблемы с переобучением, которые возникают при обучении на малых выборках и способы их решения. Выбор нейронной сети, которая способна решать максимально эффективно задачу локализации объектов и 7
выполнения требований под реализацию. Результаты экспериментов при реализации математической модели нейронной сети.
В третьей главе представлены результаты программного обеспечения. Спроектирована реализация математической модели локализации объектов на изображении и практическая польза, использую как модуль в задаче распознавания людей по лицу.
На защиту выносятся:
1. Математическая модель сверточнной нейронной сети, которая способна решать задачу локализации объектов.
2. Результаты практических реализаций научного исследования и программного обеспечения и практическая значимость в виде программы по идентификации людей по лицу.
По результатам проведенных исследований опубликовано 5 статей в сборниках:
Результаты исследований доложены на таких конференциях как:
• Всероссийская научно-практическая междисциплинарная конференция «Молодежь. Наука. Общество», г. Тольятти.
• V Международной научно-практической конференции (школы- семинара) молодых ученых «Прикладная математика и информатика: современные исследования в области естественных и технических наук», г. Тольятти
• II выставки-конкурсе разработок СКБ/СНИЛ опорных вузов, г. Омск
Машинное обучение - это область компьютерных наук, в которой машины учатся решать задачи, для которых они не были запрограммированы непосредственно сами.
Глубокое обучение используется в промышленности для решения практических задач в самых разных областях, таких как компьютерное зрение (изображение, видео), обработка естественного языка (текст) и автоматическое распознавание речи. Глубокое обучение главным образом основано на применении искусственных нейронных сетей, которые представляют класс алгоритмов, имитирующих работу человеческих нейронных сетей. Главным преимуществом глубокого обучения над другими методами машинного обучения является высокая степень автоматизации нахождения признаков предметной области, то есть результат работы алгоритмов нейронных сети будет зависит главным образом от количества и качества данных на подаваемых на этапе обучения алгоритма. Это делает алгоритмы глубокого обучения универсальными, их можно обучить решать задачи на одном массиве данных, а также используя другой массив данных алгоритм сможет решать другого радо задачи. Машинное обучение является активно развивающейся областью и нейронные сети, которые входят в область машинного обучения являются актуальными для исследования.
Сверочные нейронные сети на сегодняшний момент являются лучшим способом автоматизации задач, которые требует участия человека, либо проектированием и разработкой алгоритмов сложный программных модулей, которые требует больших затрат.
В области машинного обучения существует отдельное семейство методов глубокого обучения, разделенный на несколько алгоритмов. Сверточнные нейронные сети проектировались изначально, как сети для классификации изображений, но потом было выяснено, что они могет справляться и с другими задачами Машиного обучения, начиная от локализации объекта, заканчивая предсказанием последовательности текста. Сверточнные нейронные сети получили свою популярность, благодаря того, что они способны рассматривать совокупность признаков на изображении, в отличии от персептрона, где, каждый нейрон пытается рассматривать свой пиксель, и из-за этого теряется пространство изображения. Все виды нейронный сетей представлено на рисунке 1.2.
Гипотезой исследования является предположение, что используя методы свёрточнных нейронных сетей, можно научить алгоритм автоматизировать задачу локализации объектов на изображении, без разработки сложных алгоритмов.
Объектом исследования являются локализация объектов на изображении, предметом исследования - разработка алгоритма для локализации объектов на изображении с использованием свёрточнных нейронных сетей.
Цель исследования - использование алгоритма сверточнных нейронных сетей, для автоматизации задачи по локализации объектов на изображении.
Цель исследования выполняется решением задач, перечисленных ниже:
1. Анализ вопроса темы магистерской дисертации.
2. Разработка математической модели для локализации объектов на изображении (при анализе данных с помощью алгоритма сверточнных нейронных сетей).
3. Проектирование и разработка математической модели данного метода для оценки эффективности задачи на практике.
4. Тестирование математической модели на практике. Получения выводов результата практических экспериментов.
Научная новизна исследования - доказано, что в машинном зрении точность локализации объектов на изображении и в реальном времени может быть увеличена с применением сверточнных нейронных сетей и увеличена скорость работы алгоритма с использованием графических процессоров для математических вычислений в работе алгоритма.
Практическая значимость работы заключается в разработке математической модели сверточнной нейронной сети для локализации объектов, что должно увеличить точность локализации машинного зрения и ускорения работы за счет использования графических процессоров в работе математической модели.
В первой главе исследования рассматриваются проблемы развития алгоритмов машинного обучения. Проблемы задачи машинного зрения. Проблемы работы нейронных сетей и глубокого обучения.
Во второй главе рассматривается формальное описание задачи моделирования сверточнной нейронной сети . Представлена математическая модель. Проблемы с переобучением, которые возникают при обучении на малых выборках и способы их решения. Выбор нейронной сети, которая способна решать максимально эффективно задачу локализации объектов и 7
выполнения требований под реализацию. Результаты экспериментов при реализации математической модели нейронной сети.
В третьей главе представлены результаты программного обеспечения. Спроектирована реализация математической модели локализации объектов на изображении и практическая польза, использую как модуль в задаче распознавания людей по лицу.
На защиту выносятся:
1. Математическая модель сверточнной нейронной сети, которая способна решать задачу локализации объектов.
2. Результаты практических реализаций научного исследования и программного обеспечения и практическая значимость в виде программы по идентификации людей по лицу.
По результатам проведенных исследований опубликовано 5 статей в сборниках:
Результаты исследований доложены на таких конференциях как:
• Всероссийская научно-практическая междисциплинарная конференция «Молодежь. Наука. Общество», г. Тольятти.
• V Международной научно-практической конференции (школы- семинара) молодых ученых «Прикладная математика и информатика: современные исследования в области естественных и технических наук», г. Тольятти
• II выставки-конкурсе разработок СКБ/СНИЛ опорных вузов, г. Омск
По результатам проведенных исследований были сделаны следующие выводы:
1. Одно из направлений совершенствования методов машинного обучения является повышение их степени автоматизации за счет снижение участие людей в анализе данных.
2. На данный момент в машинном зрении сверточнные нейронные сети могут решат очень сложные задачи для информационных технологий, но решать могут с ограничениями, для требуемой задачи должен присутствовать датасет достаточный и полный для получения обученной модели, количество классов не должно представлять из себя все объекты реального мира, а должно ограничивается определенной группой, на сегодняшний день это от 10 до 1000 классов, чем больше классов, тем менее пригодна для использования может получится модель нейронной сети.
3. На практической реализации показано, что создание своего датасета является плохой идеей, гораздо лучше использовать существующей датасет и докинуть в него требуемые данные, или до обучить уже готовую нейронную сеть, используя второй вариант и выбрав готовую, хорошо обученную нейронную сеть можно получить высокие результаты в задачи классификации и локализации.
4. Было проведено научное исследование использование сверточнных нейронных сетей для локализации объектов в реальном времени, используя вычислительные мощности центрального процессора и графического процессора. Результаты исследования показали огромный рост производительности алгоритма с использованием графических процессоров в среднем в 10 раз.
5. Проведено реализация сверточнной нейронной сети в задачи сегментации и представлены результаты показывающие её практическое применение в машинном зрении на примере задачи идентификации и автоматической задачи выделении объекта на изображении.
6. Экспериментально показана значимость сравнений векторов с использованием Эвклидова расстояния для решения задачи идентификации лица для решения автоматической задачи.
7. Разработано приложение практического отображения задачи локализации объектов в реальном времени с использованием сверточнной нейронной сети и представлены результаты точности и использование ускорения работы алгоритма с использованием графических процессоров.
8. Научная новизна исследования - доказано что скорость работы алгоритма может быть увеличена в разы с использованием сверточнных нейронных сетей и графических процессоров, а также доказана что задача локализации является более точной, чем задача сегментации, хотя практически они решают похожие проблемы машинного зрения.
9. Практическая значимость работы заключается в разработке программного обеспечения с использованием сверточнных нейронных сетей для задачи локализации объектов на изображении и создание программного продукта для использования практического опыта в решении более сложных задача, например, в решении задачи идентификации лиц людей, выделения классов на изображении или выявлений признаков у этих объектов, как настроение у людей, жесты.
1. Одно из направлений совершенствования методов машинного обучения является повышение их степени автоматизации за счет снижение участие людей в анализе данных.
2. На данный момент в машинном зрении сверточнные нейронные сети могут решат очень сложные задачи для информационных технологий, но решать могут с ограничениями, для требуемой задачи должен присутствовать датасет достаточный и полный для получения обученной модели, количество классов не должно представлять из себя все объекты реального мира, а должно ограничивается определенной группой, на сегодняшний день это от 10 до 1000 классов, чем больше классов, тем менее пригодна для использования может получится модель нейронной сети.
3. На практической реализации показано, что создание своего датасета является плохой идеей, гораздо лучше использовать существующей датасет и докинуть в него требуемые данные, или до обучить уже готовую нейронную сеть, используя второй вариант и выбрав готовую, хорошо обученную нейронную сеть можно получить высокие результаты в задачи классификации и локализации.
4. Было проведено научное исследование использование сверточнных нейронных сетей для локализации объектов в реальном времени, используя вычислительные мощности центрального процессора и графического процессора. Результаты исследования показали огромный рост производительности алгоритма с использованием графических процессоров в среднем в 10 раз.
5. Проведено реализация сверточнной нейронной сети в задачи сегментации и представлены результаты показывающие её практическое применение в машинном зрении на примере задачи идентификации и автоматической задачи выделении объекта на изображении.
6. Экспериментально показана значимость сравнений векторов с использованием Эвклидова расстояния для решения задачи идентификации лица для решения автоматической задачи.
7. Разработано приложение практического отображения задачи локализации объектов в реальном времени с использованием сверточнной нейронной сети и представлены результаты точности и использование ускорения работы алгоритма с использованием графических процессоров.
8. Научная новизна исследования - доказано что скорость работы алгоритма может быть увеличена в разы с использованием сверточнных нейронных сетей и графических процессоров, а также доказана что задача локализации является более точной, чем задача сегментации, хотя практически они решают похожие проблемы машинного зрения.
9. Практическая значимость работы заключается в разработке программного обеспечения с использованием сверточнных нейронных сетей для задачи локализации объектов на изображении и создание программного продукта для использования практического опыта в решении более сложных задача, например, в решении задачи идентификации лиц людей, выделения классов на изображении или выявлений признаков у этих объектов, как настроение у людей, жесты.



