Разработка программного обеспечения системы технического зрения
Общая структура программного обеспечения системы технического зрения мобильного робота приведена на рисунке 43.
Рисунок 43 – Общая структура ПО СТЗ мобильного робота
Информационно-измерительные устройства, такие как телевизионные камеры и прочие датчики, формируют входные данные системы технического зрения. Также входные данные могут поступать из внешней системы управления мобильным роботом – например, скорость движения или данные одометрии с приводов. Ядро СТЗ производит параллельную независимую обработку различных потоков данных и управляет внутренними модулями обработки данных. Оно содержит все модули распознавания и обработки изображений, последовательностей кадров и данных с других датчиков, а также алгоритмы, комплексирующие эти модули. Выходные данные системы технического зрения формируются в виде объединенных изображений с камер, флагов обнаружений объектов и относительных координат объектов. Изображения с отметками обнаруженных объектов поступают на интерфейс оператора, остальные данные – во внешнюю систему принятия решения. Основной модуль обнаружения объектов Для разработки основного модуля обнаружения объектов, использующего нейронные сети, были выбраны библиотеки TensorFlow и Keras с программным интерфейсом для языка Python, поскольку они обеспечивают полный цикл разработки нейросетевых алгоритмов от экспериментальных исследований до встраивания в реальную систему, при этом позволяют осуществить разработку быстро благодаря удобному программному интерфейсу Keras. В Keras нейронная сеть строится как последовательность стандартных слоёв библиотеки с заданными параметрами, т.е. библиотека предоставляет высокий уровень абстракции. Удобство использования выбранных библиотек заключается также в том, что они позволяют сохранять на жесткий диск и загружать как обученную нейронную сеть целиком, так и вычислительный граф и весовые коэффициенты по отдельности, что удобно при использовании различных наборов весовых коэффициентов для одной архитектуры. Функция основного модуля обнаружения объектов – это выполнение обнаружения для всех поступающих изображений при заданных параметрах. Его алгоритм показан на рисунке 44. При запуске модуля требуется указать параметры модуля: - используемую нейросетевую архитектуру (модуль может работать с различными архитектурами); - файл с весовыми коэффициентами (одну архитектуру можно обучить в нескольких различных вариантах, например, на разных классах); - список базовых размеров ограничивающих рамок (для YOLOv2 и модификаций); - список названий классов (на выходе сети только идентификаторы классов в виде чисел от 0 до N, N+1 – число классов); - число знаков после запятой для значения уверенности; - форму вывода (только относительные координаты объектов, только изображения с отмеченными на них объектами, либо и то, и другое).
Рисунок 44 – Алгоритм программного модуля обнаружения объектов
Затем модуль загружает указанную архитектуру и заданный файл с весовыми коэффициентами и ожидает изображения. При поступлении изображения при необходимости происходит его предобработка – например, изменение размера, чтобы оно соответствовало размеру входа нейронной сети, а затем непосредственно вывод, т.е. обработка изображения нейронной сетью. На выходе нейронной сети получаются значения, которые для приведения в целевой формат требуют выполнение постобработки – определенных численных преобразований, а также фильтрации по значению уверенности и фильтрации дублирующих предсказаний (подавление немаксимумов).
Популярное: Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация... Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней... Почему стероиды повышают давление?: Основных причин три... ©2015-2020 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (600)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |