Обнаружение объектов на изображении для автономных роботов | Статья в журнале «Молодой ученый»

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

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

Автор:

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

Опубликовано в Молодой учёный №20 (258) май 2019 г.

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

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

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

Соломатин, А. И. Обнаружение объектов на изображении для автономных роботов / А. И. Соломатин. — Текст : непосредственный // Молодой ученый. — 2019. — № 20 (258). — С. 43-44. — URL: https://moluch.ru/archive/258/59176/ (дата обращения: 09.03.2021).



В современной жизни нас все чаще и чаще начинают окружать роботы или какие-либо автоматизированные системы. Роботы с каждым днем становятся все умнее и умнее, и все больше похожи на человека. Но, чтобы стать более похожим на человека, компьютеры должны думать, как человек, получать информацию об окружающем мире, как человек, и обрабатывать ее, как человек. Большую часть информации об окружающем мире человек получает при помощи глаз. Для робота в роли глаз выступают видеокамеры, однако если просто поставить на робота камеру не кажется большой проблемой, то заставить его понимать, что происходит вокруг при помощи камеры, уже задача намного сложнее. Одной из основных функций зрения является определение объектов на получаемом изображении. В условиях интеграции роботов в повседневную жизнь основными объектами для обнаружения являются люди и иные роботы. Автономные роботы, как правило, обладают довольно ограниченными вычислительными и энергетическими ресурсами. Не всегда представляется возможным предугадать, как будет выглядеть тот или иной объект в разных условиях. Все это усложняет и без того непростую задачу обнаружения объектов.

В рамках компьютерного зрения эта задача называется object detection (обнаружение объектов), и с этой задачей отлично справляются заранее обученные сверточные нейронные сети. Библиотека TensorFlow для глубокого обучения позволяет строить такие нейронные сети и даже предоставляет несколько обученных моделей нейросети, которые можно изменить и переобучить под свои задачи. Этой нейронной сети можно, как ребенку, показывать, где на изображениях находится человек, а где робот. Подготовив большую базу данных с правильными ответами, мы можем запустить обучение модели нейронной сети, и через некоторое время сеть научится правильно определять людей и роботов на изображении. Таким образом, нейросеть сама найдет закономерности, по которым можно определить человека на изображении, в какой бы позе он не находился и что бы вокруг него не находилось. Тем не менее, такие расчеты требуют колоссальных вычислительных мощностей — центральные процессоры просто не предназначены для таких вычислений. Однако графические процессоры выполняют эти вычисления на порядок быстрее. Если обучить нейронную сеть можно заранее на мощных компьютерах, то работа уже обученных нейронных сетей, которая все еще требует немалых вычислительных ресурсов, должна происходить на бортовой ЭВМ самого робота. В качестве бортовой ЭВМ может выступать очень популярный одноплатный компьютер raspberry pi 3, обладающий достаточными вычислительными мощностями и низким энергопотреблением для управления роботом на автономном питании, но не позволяющий своевременно обрабатывать информацию с камеры. К счастью, компаний NVIDIA недавно выпустила относительно бюджетный одноплатный компьютер jetson NANO (рис. 1), который помимо центрального процессора содержит графический процессор со 128 ядрами NVIDIA CUDA. Этот компьютер способен запустить обученную модель сверточной нейросети под названием «ssd_inception_v2_coco_2018_01_28» и обрабатывать с помощью нее до 5 кадров в секунду, что вполне достаточно для быстрой реакции робота при изменении ситуации на изображении и на порядок выше, чем на raspberry pi 3.

https://lh4.googleusercontent.com/0HwwR5bfKA5wRQ_OG89_q7_7nD67-zifughS7mtCTG3c7yErYXFloxysx0UQcNx-LSDiK7NFnhfcrcNm-emuUEI1XPnm002Lzw0t0XwstyXzIFp5aShhnhWD5CRjcB12s7T-uIfO

Рис. 1. Jetson nano

Для решения данной проблемы была реализована работоспособная система, состоящая из Raspberry pi 3 и Jetson NANO. Raspberry pi 3 является бортовой ЭВМ робота с подключенной к ней камерой и работающими программами для управления. Jetson NANO принимает видеопоток, отправленный с бортовой ЭВМ, анализирует его и посылает результаты обработки обратно на бортовую ЭВМ. Связаны эти компьютеры посредством ethernet кабеля, и весь обмен данными происходит по стандартным сетевым протоколам.

https://lh4.googleusercontent.com/TyZbjHOJrp7AhP2qO8hF0y7KaqCpTqzMuzvtVZyk9G71JR0XgCZwba8Rfcm5NmW_NRSb9VP00W9S4C1Z-L8MsW1wraVV1mC9gNaDpbOMdcBfK0PIa2rS9tL-CynECyHOYphf4h3t

Рис. 2. Пример обнаружения объектов на изображении

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

Литература:

  1. Evan EdjeElectronics / Tutorial to set up TensorFlow Object Detection API on the Raspberry Pi // github.com. URL: https://github.com/EdjeElectronics/TensorFlow-Object-Detection-on-the-Raspberry-Pi (дата обращения: 01.04.2019).
  2. Evan EdjeElectronics / How To Train an Object Detection Classifier for Multiple Objects Using TensorFlow (GPU) on Windows 10 // github.com. URL: https://github.com/EdjeElectronics/TensorFlow-Object-Detection-API-Tutorial-Train-Multiple-Objects-Windows-10 (дата обращения: 02.04.2019).
  3. kangalow / Jetson Nano — Use More Memory! // jetsonhacks.com. URL: https://www.jetsonhacks.com/2019/04/14/jetson-nano-use-more-memory/ (дата обращения: 04.04.2019).
  4. Андрей Созыкин / Поиск объектов на изображениях. URL: https://www.asozykin.ru/deep_learning/2018/07/24/Object-Detection-using-TensorFlow.html (дата обращения: 06.04.2019).
Основные термины (генерируются автоматически): NANO, NVIDIA, бортовая ЭВМ, нейронная сеть, робот, CUDA, графический процессор, изображение.


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

Проблемы вычислений с высокой точностью при использовании...

CUDA представляет собой неграфические вычисления на графических процессорах.

Моделирование нейронных сетей Кохонена на графических... Поэтому ставится задача — овладеть типичными современными аппаратными средствами и в полной мере задействовать их.

Моделирование нейронных сетей Кохонена на графических...

Реализация нейронной сети Кохонена сиспользованием технологии CUDA.

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

Применение графических процессоров для параллельных...

CUDA представляет собой неграфические вычисления на графических процессорах. Используя особенности архитектуры GPU, она позволяет в разы, в десятки раз, ускорять программы, выполняемые на CPU. Ядра CPU созданы для исполнения одного потока...

Реализация метода сопряженных градиентов на NVIDIA CUDA

Основные термины (генерируются автоматически): CUDA, NVIDIA, градиент, графический процессор, однопроцессорный компьютер, параллельный

Моделирование нейронных сетей Кохонена на графических... В этом случае реализация самоорганизующейся карты Кохонена с...

Практическое применение искусственных нейронных сетей...

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

Оптимизация алгоритма выравнивания биологических...

Архитектура NVIDIA GPU построена на масштабируемых многопоточных потоковых мультипроцессорах (SM).

Рассмотрим реализацию алгоритма Нидлмана-Вунша на языке CUDA для семейства GPGPU Nvidia, поддерживающего данную технологию.

Параллельная реализация алгоритма для описания термоупругих...

Моделирование нейронных сетей Кохонена на графических... во время учебы.

Параллельная версия алгоритма предполагала использование GPU и технологию NVIDIA CUDA в. В то время как программная реализация NVIDIA CUDA также, как и SSE, использует.

Параллельный вычислительный алгоритм для анализа...

Моделирование нейронных сетей Кохонена на графических... Гергель В. П. Теория и практика параллельных вычислений.

Параллельная версия алгоритма предполагала использование GPU и технологию NVIDIA CUDA в качестве вычислительного сопроцессора.

Аппаратная реализация искусственных нейронных сетей.

Рассмотрены типы искусственных нейронных сетей. Представлены методы аппаратной реализации искусственных нейронных сетей с использованием аналоговых, либо цифровых схем нейрон-синапсов. Представлены выводы о работе данных алгоритмов на основе их...

Виды архитектур нейронных сетей | Статья в журнале...

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

Эта архитектура является наиболее подходящей для распознавания изображений и их классификации.

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

Проблемы вычислений с высокой точностью при использовании...

CUDA представляет собой неграфические вычисления на графических процессорах.

Моделирование нейронных сетей Кохонена на графических... Поэтому ставится задача — овладеть типичными современными аппаратными средствами и в полной мере задействовать их.

Моделирование нейронных сетей Кохонена на графических...

Реализация нейронной сети Кохонена сиспользованием технологии CUDA.

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

Применение графических процессоров для параллельных...

CUDA представляет собой неграфические вычисления на графических процессорах. Используя особенности архитектуры GPU, она позволяет в разы, в десятки раз, ускорять программы, выполняемые на CPU. Ядра CPU созданы для исполнения одного потока...

Реализация метода сопряженных градиентов на NVIDIA CUDA

Основные термины (генерируются автоматически): CUDA, NVIDIA, градиент, графический процессор, однопроцессорный компьютер, параллельный

Моделирование нейронных сетей Кохонена на графических... В этом случае реализация самоорганизующейся карты Кохонена с...

Практическое применение искусственных нейронных сетей...

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

Оптимизация алгоритма выравнивания биологических...

Архитектура NVIDIA GPU построена на масштабируемых многопоточных потоковых мультипроцессорах (SM).

Рассмотрим реализацию алгоритма Нидлмана-Вунша на языке CUDA для семейства GPGPU Nvidia, поддерживающего данную технологию.

Параллельная реализация алгоритма для описания термоупругих...

Моделирование нейронных сетей Кохонена на графических... во время учебы.

Параллельная версия алгоритма предполагала использование GPU и технологию NVIDIA CUDA в. В то время как программная реализация NVIDIA CUDA также, как и SSE, использует.

Параллельный вычислительный алгоритм для анализа...

Моделирование нейронных сетей Кохонена на графических... Гергель В. П. Теория и практика параллельных вычислений.

Параллельная версия алгоритма предполагала использование GPU и технологию NVIDIA CUDA в качестве вычислительного сопроцессора.

Аппаратная реализация искусственных нейронных сетей.

Рассмотрены типы искусственных нейронных сетей. Представлены методы аппаратной реализации искусственных нейронных сетей с использованием аналоговых, либо цифровых схем нейрон-синапсов. Представлены выводы о работе данных алгоритмов на основе их...

Виды архитектур нейронных сетей | Статья в журнале...

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

Эта архитектура является наиболее подходящей для распознавания изображений и их классификации.

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