Процесс распознавания изображения нейронной сетью | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 6 февраля, печатный экземпляр отправим 10 февраля.

Опубликовать статью в журнале

Авторы: ,

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №47 (337) ноябрь 2020 г.

Дата публикации: 20.11.2020

Статья просмотрена: 69 раз

Библиографическое описание:

Никитин, А. А. Процесс распознавания изображения нейронной сетью / А. А. Никитин, Н. И. Лиманова. — Текст : непосредственный // Молодой ученый. — 2020. — № 47 (337). — С. 23-25. — URL: https://moluch.ru/archive/337/75420/ (дата обращения: 23.01.2021).



В данной статье рассмотрены особенности распознавания изображения нейронной сетью.

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

Сегодня научно-технический прогресс охватывает все новые горизонты, стремительно прогрессируя. Один из них — моделирование окружающей природы с помощью математических алгоритмов. В этом аспекте есть тривиальные, например, моделирование морских колебаний, и чрезвычайно сложные, нетривиальные, многокомпонентные задачи, например, моделирование функционирования человеческого мозга. В процессе изучения этого вопроса было выделено отдельное понятие — нейронная сеть. Нейронная сеть — это математическая модель и ее реализация в виде программной или программно-аппаратной реализации, которая основана на моделировании активности биологических нейронных сетей, которые представляют собой сети нейронов в биологическом организме. Научный интерес к этой структуре возник потому, что изучение ее модели позволяет получить информацию о конкретной системе. То есть такая модель может иметь практическую реализацию в ряде отраслей современной науки и техники. [3]

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

Изучение нейронных сетей активно проходит в научных сообществах разных стран. С учетом этого он представлен как частный случай ряда методов распознавания образов, дискриминантного анализа и метода кластеризации.

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

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

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

Чтобы распознать изображение, нейронная сеть сначала должна быть обучена на данных. Это очень похоже на нейронные связи в человеческом мозгу — у нас есть некоторые знания, мы видим объект, анализируем его и идентифицируем. [11]

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

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

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

В какой-то момент увеличение количества слоев просто приводит к запоминанию образца, а не к обучению.

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

В качестве узнаваемых изображений могут выступать различные объекты, включая изображения, рукописный или печатный текст, звуки и многое другое. При обучении сети предлагаются различные примеры с меткой, которой можно присвоить тип. В качестве примера используется вектор значений признаков, и набор признаков в этих условиях должен позволять однозначно определить, с каким классом изображений имеет дело НС. [1]

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

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

Чтобы лучше понять, как работают полностью сверточные сети, и выяснить, для каких задач они могут быть использованы, важно изучить их общую архитектуру. При проектировании сверточных сетей в архитектуру могут быть добавлены различные уровни для повышения точности распознавания (уровень исключения, уровень нормализации локального отклика и т. д.). Мы будем рассматривать только базовую архитектуру, которая практически не меняется и определяет функционирование полностью сверточной сети. [9]

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

Операция свертки выполняется как ядро на всем изображении, в результате мы получаем значение отклика на ядро свертки в каждой точке изображения. Количество ядер в каждом сверточном слое равно произведению количества выходных данных из слоя на количество входных изображений. Затем результаты проходят через следующий слой свертки, получая значения для других ядер. Слои регуляризации или нормализации могут быть добавлены к каждому сверточному слою (в зависимости от выбора разработчика). Прохождение изображений через множество сверточных слоев позволяет использовать самые разные интерпретации изображений. [4]

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

Это позволяет добавить больше выходных данных на следующие слои свертки, а также повышает точность результатов. Дело в том, что ядра свертки одинакового размера могут захватывать большую площадь нужного объекта на уменьшенном изображении.

Последовательность: свертка/../../свертка/объединение (при этом количество слоев складывания определяется разработчиком) может повторяться несколько раз, пока не будет достигнут минимальный размер изображения. Этот размер определяется экспериментально. [5]

Архитектура полносвёрточной сети

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

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

Последовательность передискритизация/свертка/../../свертка необходима, чтобы вернуть изображение к его исходным размерам, одновременно уменьшая количество возможных интерпретаций изображения до количества необходимых групп объектов. [6]

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

В настоящее время на рынке существует достаточно большое количество инновационных компаний, которые занимаются распознаванием изображений с использованием технологии обучения нейронных сетей для системы. Доподлинно известно, что, используя базу данных из 10 000 изображений, они достигли точности распознавания изображений 95 %. Тем не менее, все достижения связаны со статичными изображениями, а с видеопоследовательностями сейчас все намного сложнее [7].

Литература:

  1. Pierre Bijaoui MicrosoftВ® Exchange Server 2003 Scalability with SP1 and SP2; СПб. [и др.]: Питер — Москва, 2014. — 600 c.
  2. Аляутдинов М. А., Галушкин А. И., Казанцев П. А., Остапенко Г. П. Нейрокомпьютеры. От программной к аппаратной реализации; Горячая линия — Телеком — М., 2016. — 152 c.
  3. Андрейчиков А. В., Андрейчикова О. Н. Системный анализ и синтез стратегических решений в инноватике. Математические, эвристические и интеллектуальные методы системного анализа и синтеза инноваций. Учебное пособие; Ленанд — М., 2015. — 306 c.
  4. Беллман Р., Дрейфус С. Прикладные задачи динамического программирования; Главная редакция физико-математической литературы издательства «Наука» — М., 2016. — 458 c.
  5. Бишоп Оуэн Настольная книга разработчика роботов (+ CD-ROM); МК-Пресс, Корона-Век — М., 2015. — 400 c.
  6. Братко Иван Алгоритмы искусственного интеллекта на языке PROLOG; Вильямс — М., 2016. — 640 c.
  7. Воротников С. А. Информационные устройства робототехнических систем: моногр.; Гостехиздат — Москва, 2011. — 384 c.
  8. Геловани В. А., Башлыков А. А., Бритков В. Б., Вязилов Е. Д. Интеллектуальные системы поддержки принятия решений в нештатных ситуациях с использованием информации о состоянии природной среды; Едиториал УРСС — М., 2015. — 304 c.
  9. Гладкий С. Л., Степанов Н. А., Ясницкий Л. Н. Интеллектуальное моделирование физических проблем; Институт компьютерных исследований, Регулярная и хаотическая динамика — М., 2011. — 200 c.
  10. Гладких В. В., Гладких П. В., Гладких В. П. Идеи и решения фундаментальных проблем науки и техники; БХВ-Петербург — М., 2012. — 176 c.
  11. Гудвин Г. К., Гребе С. Ф., Сальгадо М. Э. Проектирование систем управления (+ CD-ROM); Бином. Лаборатория знаний — М., 2016. — 912 c.
Основные термины (генерируются автоматически): нейронная сеть, изображение, сеть, слой, ядро свертки, данные, искусственный интеллект, машинное обучение, распознавание изображений, человеческий мозг.


Ключевые слова

искусственный интеллект, нейронная сеть, распознавание изображения
Задать вопрос