Заметки о Deep Learning. Алгоритмы глубокого обучения в задачах оптического подводного видения и управления подводными автономными роботами. Мини-обзор. | Мнение специалиста от 08 октября 2016 года | Конструктивная кибернетика

Заметки о Deep Learning. Алгоритмы глубокого обучения в задачах оптического подводного видения и управления подводными автономными роботами. Мини-обзор.


Данная статья является своего рода продолжением другого нашего мини-обзора, посвящённого вопросам применения современных алгоритмов глубокого обучения в задачах обработки радиолокационных сигналов. Но теперь «мы уходим под воду, в нейтральной воде»*.

* © В.С. Высоцкий. Спасите наши души.

В заметке рассматриваются два достаточно узких вопроса: распознавание объектов на изображениях полученных с подводных видеокамер; стабилизация и траекторное управление самодвижущимся автономным подводным объектом. На первый взгляд, критерии выбора этих двух тем и их совместное рассмотрение в рамках одной статьи не вполне очевидны. Но самом деле всё вполне логично. Во-первых, задачи взаимосвязаны: видеокамеры способны поставлять необходимую информацию для навигации субмарины в ближней зоне и её стабилизации, а от качества стабилизации автономного робота зависит качество изображения получаемого с видеокамер. Во-вторых, рассмотрение этих двух вопросов позволяет охватить тему глубокого обучения более комплексно: распознавание объектов – это как правило свёрточные сети, а управление в динамике – это по идее рекуррентные архитектуры.

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

Итак, традиционно, в качестве источника информации для настоящего мини-обзора будем использовать информационную систему IEEE Xplore. Правда, в отличии от выше цитированного мини-обзора по радиолокации, отодвинем ретроспективную границу анализа до начала 2013 года.

Распознавание объектов на изображениях полученных с подводных видеокамер.

Ouyang Py, Hu Hong, Shi Zhongzhi, Plankton classification with deep convolutional neural networks, 2016. В статье показано применение глубоких свёрточных сетей для выделения планктона на кадрах с подводных изображений. Авторы в работе применяют такую современную технику, как «inception module», а также используют «data augmentation» для того чтобы сделать нейросеть нечувствительной к геометрическим искажениям входного изображения. Выборка данных: 30K – обучающие примеры, 130K – тестовые. Всего 121 класс изображений в градациях серого. В статье приводятся некоторые эмпирические соображения на предмет построения эффективной архитектуры сети.

David Zhang, Giorgos Kopanas, Chaitanya Desai, Sek Chai, Michael Piacentino, Unsupervised underwater fish detection fusing flow and objectiveness, 2016. В статье предложено использовать методы deep learning для автоматического анализа подводных видеоизображений на предмет оценивания рыбных запасов. Основной посыл авторов в данной статье: использовать минимальный объём размеченных данных для предварительной тренировки свёрточной сети, выделяющей объект (рыбу) на изображении; далее тренировать модель для выделения объектов и собственно классификатор на основе автоматически размечаемых данных. Получается некий аналог самообучающейся системы. Немаловажную роль а архитектуре системы играет факт перемещения наблюдаемого объекта, т.е. фактически строится система СДЦ (селекции движущихся целей) на основе техники оптического потока. На выходе модели, для уменьшения ложно-положительных срабатываний и улучшения её разрешающей способности, используется модифицированный алгоритм «Non-Maximum Suppression».

Hongwei Qin, Xiu Li, Zhixiong Yang, Min Shang, When underwater imagery analysis meets deep learning: A solution at the age of big visual data, 2015. В статье поднимается вопрос о применение методов глубокого машинного обучения для автоматического анализа и разметки (аннотирования) больших массивов подводных видеоизображений. Основные целевые объекты: рыба и планктон. Основной инструмент: глубокие свёрточные нейросети. Авторы приводят значение accuracy (по рыбе) в 98.57%, относительно 82.92% для алгоритма Raw-pixel SVM. Статья демонстрирует работоспособность подхода, но каких либо «хитрых фишек» не содержит.

Xiu Li, Min Shang, Hongwei Qin, Liansheng Chen, Fast accurate fish detection and recognition of underwater images with Fast R-CNN, 2015. Здесь всё просто. Авторы, на основе данных подводной видеосъёмки, натренировали нейросеть R-CNN на выделение и классификацию 12-ти разновидностей рыб. Основной результат работы – это применение Fast R-CNN, когда на вход нейросети подают, совместно с цветным RGB изображением, также 2000 RoIs (regions of interest) в которых могут содержаться целевые объекты.

Hussein A. Al-Barazanchi, Abhishek Verma, Shawn Wang, Performance evaluation of hybrid CNN for SIPPER plankton image classification, 2015. В статье рассматривается применение свёрточных нейросетей для выделения и классификации планктона по изображениям подводной съёмки. Интересной особенностью предложенного решения является стекинг (они его назвали «гибрид»): к выходу CNN подключены полносвязные слои, выходы которых, в свою очередь, заведены на классификаторы (используются Random Forest и SVM). Авторы утверждают, что подобная конструкция, наряду с «data augmentation» (геометрические искажения входных данных), позволяет существенно повысить устойчивость функционирования системы. Помимо этого, опять же со слов авторов, подобный стекинг эффективно масштабируется на новые целевые классы.

Навигация и управление автономными подводными роботами.

Ye Tian, Tieshan Li, Baobin Miao, Weilin Luo, Neural network based robust adaptive tracking control for the autonomous underwater vehicle, 2016. Строго говоря, работа не на тему deep learning, но близка. В статье на основе нейронной сети (применяется RBF) конструируется адаптивный и робастный алгоритм для управления положением самодвижущегося автономного подводного объекта. Авторы показывают на основе модельного примера, что алгоритм обеспечивает приведение подводного аппарата к желаемой траектории, при этом гарантируется ограниченность управляющих воздействий на фоне достаточно сильных нестационарных внешних возмущений.

Bailong Liu, Zhanming Lu, AUV Path Planning under Ocean Current Based on Reinforcement Learning in Electronic Chart, 2013. В статье поднимается весьма интересный вопрос о построении траекторий (маршрутов) передвижения автономных подводных роботов (беспилотных субмарин) с учётом изменчивости обстановки (течения, рельеф, окружение). Для снятия локальных неопределённостей при выборе маршрутов, авторы предлагают адаптивный алгоритм на основе методов Reinforcement Learning. Структура Q-функции учитывает как затраты (например расход топлива, время, и т.п.), так и ограничения (например опасный рельеф). В статье приведён модельный пример управления роботом в азимутальной плоскости. Стоит отметить также существенный недостаток работы – управление не учитывает динамические характеристики субмарины, что с учётом назначения алгоритма (построение локального пути), не есть хорошо.

Guoqing Xia, Chengcheng Pang, Ju Liu, Neural-network-based adaptive observer design for autonomous underwater vehicle in shallow water, 2013. В статье показан подход к разработке нелинейной модели «наблюдателя» на основе нейросетевого базиса. В общем решается задача управления и стабилизации автономных подводных роботов на мелководье. В подходе, предложенном авторами, учитывается нестационарность динамических характеристик не только внешней среды, но самой беспилотной субмарины (в этом данная статья существенно превосходит выше цитированную). В качестве нейросетевого базиса применяется многослойная рекуррентная сеть, которая именуется авторами как Dynamic recurrent fuzzy neural network. Как утверждаются в работе, подобный подход увязывает данные и характеристики, имеющие различные временные масштабы, кроме того, он является устойчивым по Ляпунову.

Итак, из приведённых ссылок следуют два основных вывода.

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

С другой стороны в статьях демонстрируются вполне мэйнстримовые техники Deep Learning, как например inception, Fast R-CNN, стекинг, обучение с подкреплением (Q-learning). При этом большинство статей – это как правило «разведка боем», тестирование принципиальной работоспособности подходов и методов. Из результатов работ следует, что глубокое обучение не только работает, но и превосходит ранее использованные методы по различным критериям. Поэтому вполне следует ожидать усиления потока статей и повышения их качественных характеристик, или, учитывая изложенное выше ограничение на публикации, их «полное исчезновение».

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

Большинство исследователей в означенных (и не только означенных) областях ориентируется на MatLAB. На нём же, как правило, в своё время писали первые реализации алгоритмов для глубокого обучения (те же Deep Belief Networks или Restricted Boltzmann Machines) или делали биндинги к нему (как пример интерфейс Matcaffe для фреймворка BVLC Caffe). Но, как уже было нами отмечено ранее, существовавшая определённая монополия и мода на применение MatLAB в решении научно-исследовательских задач в области глубокого обучения – закончилась. На арену вышел и стремительно захватил лидерство Python. И многие исследовательские коллективы сейчас перестраиваются, изучая новые инструменты, их возможности, плюсы-минусы. А инерцию в этом вопросе никто не отменял (включая личные предпочтения и консерватизм руководителей и/или ведущих сотрудников лабораторий).

08 октября 2016 года.

Андрей Макаренко,
группа «Конструктивная Кибернетика».

Обсуждение: contact@rdcn.ru

Ключевые слова: Оптическое подводное видение, подводные автономные роботы, глубокое обучение, свёрточные нейронные сети, рекуррентные нейронные сети, стабилизация объекта управления, построение траекторий.