Автоматизированный программно-аппаратный комплекс ввода, обработки и анализа изображений | Статья в журнале «Молодой ученый»

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

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

Автор:

Научный руководитель:

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

Опубликовано в Молодой учёный №53 (395) декабрь 2021 г.

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

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

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

Дворцов, Н. В. Автоматизированный программно-аппаратный комплекс ввода, обработки и анализа изображений / Н. В. Дворцов. — Текст : непосредственный // Молодой ученый. — 2021. — № 53 (395). — С. 4-7. — URL: https://moluch.ru/archive/395/87397/ (дата обращения: 24.04.2024).



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

Ключевые слова: CNN, нейронная сеть, открытый исходный код, компьютерное зрение, машинное обучение

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

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

Способность анализировать данные и запоминать — главный принцип машинного обучения.

Машинное обучение (англ. machine learning, ML) — класс методов искусственного интеллекта, характерной чертой которых является не прямое решение задачи, а обучение в процессе применения решений множества сходных задач.

Схема машинного обучения

Рис. 1. Схема машинного обучения

Нейронная сеть (также искусственная нейронная сеть, ИНС) — математическая модель, построенная по принципу организации и функционирования биологических нейронных сетей — сетей нервных клеток живого организма.

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

Значение глубины для цифрового изображения задается количеством цветовых каналов. Черно-белые изображения имеют всего 1 канал. Цветные — 3. Таким образом, конечные параметры фильтра CNN 3х3х3. Для каждого пикселя сеть умножает значения фильтра на значения самих пикселей, чтобы получить числовое представление конкретного пикселя. Таким же методом анализируется все изображение.

Итогом этой операции является детальная карта признаков.

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

Для объединения параметров используют метод максимального объединения. Он подразумевает взятие максимального значения пикселей в пределах одного фильтра. Это отсекает ¾ объема информации в случае, если используется фильтр 2х2.

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

Ядро YOLOv3, используемое в разработанной мной программе обучено на CIFAR-10. Это большой набор данных, содержащий более 60000 изображений, представляющих 10 различных классов объектов. Изображения являются полноцветными RGB, но они очень малы, всего 32x32. CIFAR-10 поставляется в комплекте с библиотекой Keras.

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

Характеристика/Название

Ядро YOLOv3

Ядро ResNet 50 v .2. 0 .1

Быстродействие

Среднее

Низкое

Точность

Среднее

Высокое

Конфликтность

Низкое

Высокое

Нагрузка на систему

Среднее

Среднее

Объем ядра на диске

Низкое

Низкое

Программа написана на языке Python с использованием библиотек TensorFlow 2.4.0 и OpenCV-Python Keras 0.2.0. Программа построена на ядре нейронной сети YOLOv3. Версия Python-3.8.6 (64/32bit). Размер программы — 35 МБ (с библиотеками — 2 GB).

TensorFlow — это библиотека с открытым исходным кодом, созданная для Python командой Google Brain.

Ниже представлен исходный код моей программы TryVision 3.2.1 beta Build 2 . Эта программа анализирует видеопоток.

import os

os.environ [«CUDA_DEVICE_ORDER»] = «PCI_BUS_ID»

os.environ [«CUDA_VISIBLE_DEVICES»] = ""

Рис. 2 Подключение операционной системы и центрального процессора как устройства видеообработки (из-за отсутствия GPU в моем ПК)

print(«TryVision 3.2.1 beta Build 2")

from imageai.Detection import VideoObjectDetection

execution_path = os.getcwd()

detector = VideoObjectDetection()

detector.setModelTypeAsYOLOv3()

detector.setModelPath(os.path.join(execution_path, «yolo.h5"))

detector.loadModel()

Рис. 3 Импорт методов из библиотек для запуска ядра нейросети, создание рабочих классов, подключение ядра нейросети YOLOv3

video_path = detector.detectObjectsFromVideo(input_file_path=os.path.join(execution_path, «test0.mp4"),

output_file_path=os.path.join(execution_path, «test0_detected»)

, frames_per_second=20, log_progress=True)

print(video_path)

print(«Successfully!")

Рис. 4 Обращение к исходному файлу, инициирование его обработки и создание нового файла. Вывод в консоль прогресса (количество обработанных кадров)

Таким образом, данная программа анализирует видео покадрово для более точного распознавания модели.

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

Литература:

  1. Вьюгин В. «Математические основы машинного обучения и прогнозирования», М.: [2013] — 390 с. ISBN: 978–5-4439–2014–6, Издательство «МЦНМО».
  2. Бастиан Ш. «Крупномасштабное машинное обучение вместе с Python», М.: [2017] — 360 с. ISBN: 978–5-97060–506–6, Издательство «ДМК Пресс»
  3. Джулли А, Пал C. «Библиотека Keras — инструмент глубокого обучения», М.: [2018] — 296 с. ISBN: 978–5-97060–573–8, Издательство «ДМК Пресс»
  4. StackOverflow.com // всемирный форум разработчиков и программистов https://stackoverflow.com/
Основные термины (генерируются автоматически): CNN, машинное обучение, нейронная сеть, открытый исходный код, компьютерное зрение, GPU, RGB, изображение, максимальное значение пикселей, часть изображения.


Похожие статьи

Применение графических процессоров с технологией CUDA...

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

Процесс распознавания изображения нейронной сетью

С помощью нейронных сетей, машинного обучения и искусственного интеллекта эти

Затем искусственный интеллект использует машинное обучение для распознавания действий и их

Чтобы распознать изображение, нейронная сеть сначала должна быть обучена на данных.

Обзор методов распознавания изображений | Статья в сборнике...

Свёрточная нейронная сеть (Convolutional neural network или CNN) — специальная архитектура нейронных сетей, предложенная в 1988 году и предназначенная для распознавания изображений. Архитектура вдохновлена некоторыми особенностями коры головного мозга, в...

Реализация мультиспектральных нейронных сетей для решения...

Решение задачи классификации изображений используя сверточные нейронных сетей (Convolutional neural network CNN), дало возможность детектировать объекты на изображениях отделяя их от остальных данных используя Mask R-CNN (Mask Region-based CNN).

Характеристические подходы при распознавании изображений

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

Распознавание ключевых точек лица на изображении человека

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

Поиск границ радужной оболочки при помощи свёрточных...

Распознавание изображений методами машинного обучения получила сильное развитие в

Аналогично, можно отнести изображения к одному из классов значений и классов значений .

Все эксперименты с обучением нейронных сетей проводились при помощи обучающей...

Распознавание и извлечение 3D-моделей по двумерным...

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

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

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

Похожие статьи

Применение графических процессоров с технологией CUDA...

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

Процесс распознавания изображения нейронной сетью

С помощью нейронных сетей, машинного обучения и искусственного интеллекта эти

Затем искусственный интеллект использует машинное обучение для распознавания действий и их

Чтобы распознать изображение, нейронная сеть сначала должна быть обучена на данных.

Обзор методов распознавания изображений | Статья в сборнике...

Свёрточная нейронная сеть (Convolutional neural network или CNN) — специальная архитектура нейронных сетей, предложенная в 1988 году и предназначенная для распознавания изображений. Архитектура вдохновлена некоторыми особенностями коры головного мозга, в...

Реализация мультиспектральных нейронных сетей для решения...

Решение задачи классификации изображений используя сверточные нейронных сетей (Convolutional neural network CNN), дало возможность детектировать объекты на изображениях отделяя их от остальных данных используя Mask R-CNN (Mask Region-based CNN).

Характеристические подходы при распознавании изображений

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

Распознавание ключевых точек лица на изображении человека

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

Поиск границ радужной оболочки при помощи свёрточных...

Распознавание изображений методами машинного обучения получила сильное развитие в

Аналогично, можно отнести изображения к одному из классов значений и классов значений .

Все эксперименты с обучением нейронных сетей проводились при помощи обучающей...

Распознавание и извлечение 3D-моделей по двумерным...

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

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

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

Задать вопрос