Научная статья на тему 'ОПРЕДЕЛЕНИЕ ОПТИЧЕСКОГО ПОТОКА ПРИ ПОМОЩИ НЕЙРОННЫХ СЕТЕЙ'

ОПРЕДЕЛЕНИЕ ОПТИЧЕСКОГО ПОТОКА ПРИ ПОМОЩИ НЕЙРОННЫХ СЕТЕЙ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
10
1
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
оптический поток / нейронная сеть / движение / пирамидальная сверточная сеть / слой свертки / optical flow / neural network / movement / pyramidal convolution network / convolution layer

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — А.А. Константинов, М.Н. Фаворская

Рассмотрены различные нейронные сети для определения оптического потока, описываются их преимущества и недостатки.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

OPTICAL FLOW DETECTION USING NEURAL NETWORKS

In this article various neural networks for finding fof optical flow are considered and their main advantages and disadvantages are described.

Текст научной работы на тему «ОПРЕДЕЛЕНИЕ ОПТИЧЕСКОГО ПОТОКА ПРИ ПОМОЩИ НЕЙРОННЫХ СЕТЕЙ»

УДК 004.92

ОПРЕДЕЛЕНИЕ ОПТИЧЕСКОГО ПОТОКА ПРИ ПОМОЩИ НЕЙРОННЫХ СЕТЕЙ

А. А. Константинов Научный руководитель - М. Н. Фаворская

Сибирский государственный университет науки и технологий имени академика М. Ф. Решетнева Российская Федерация, 660037, г. Красноярск, просп. им. газеты «Красноярский рабочий», 31

E-mail: pwnscr@gmail.com

Рассмотрены различные нейронные сети для определения оптического потока, описываются их преимущества и недостатки.

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

OPTICAL FLOW DETECTION USING NEURAL NETWORKS

A. A. Konstantinov Scientific supervisor - M. N. Favorskaya

Reshetnev Siberian State University of Science and Technology

31, Krasnoyarskii rabochii prospekt, Krasnoyarsk, 660037, Russian Federation

E-mail: pwnscr@gmail.com

In this article various neural networks for finding фof optical flow are considered and their main advantages and disadvantages are described.

Keywords: optical flow, neural network, movement, pyramidal convolution network, convolution layer.

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

Одной из разработок является определение оптического потока с использованием пирамидальной сверточной нейронной сети долгой краткосрочной памяти (LSTM) с обучением без учителя [2]. Структура данной сети состоит из трех модулей: универсальный модуль сверточной нейронной сети, используемый для извлечения особых признаков, модуль определения движения, который позволяет определить векторы движения, а также модуль получения оптического потока, определяющий оптический поток на основе полученных данных о движении. В качестве главной сети в данной разработке используется универсальная нейронная сеть ResNet18 в качестве сети для определения параметров, используемых для последующей обработки. Кроме этого, в дополнение к данной сети используется ConvLSTM, которая необходима для захвата динамики движения на пирамиде CNN. Данный вид сетей используется для обучения долговременным зависимостям. При обучении обычных нейронных сетей, в частности сверточных нейронных сетей, мы можем хранить небольшую информацию на каждом шаге обучения, которая со временем

Секция «Программные средства и информационные технологии»

перезаписывается вновь полученной информацией. ЬБТМ модули помогают избежать данной проблемы, запоминая значения на различные промежутки времени [3]. Это вызвано тем, что данные модули не используют функции активации внутри последовательных компонентов, а передают всю информацию по всей цепочке сети. Таким образом, при использовании метода обратного распространения ошибки при тренировке сети хранимое значение не уничтожается, а лишь частично модифицируется с использованием особых фильтров. Фильтры могут быть разнообразными, как правило процесс обновления состоит из четырех этапов. На первом этапе выбирается та информация, которая может быть уничтожена. Значения с предыдущего слоя пропускаются через функцию, после чего отбрасываются те значения, которые ближе к 0. На втором шаге выбираются подходящие данные для обновления состояния ячейки. На третьем этапе обновляются значения ячейки новыми значениями, но не перезаписываются, а изменяются при помощи различных формул. На последнем этапе фиксируется полученный результат и получается выходная информация на основе текущего состояния ячейки. Таким образом обновляются все слои сети. Из наиболее часто используемых типов фильтров используются: смотровые глазки, объединенные фильтры, управляемые рекуррентные нейроны, глубокие управляемые рекуррентный нейроны и механизм часов. Аналогичным образом устроена сеть СоиуЬБТМ в описанной выше разработке. Данная сеть использует четыре «шлюза» для управления потоком данных и самообновлением: входной шлюз, шлюз забытая (о нем говорилось в первом этапе модификации сети при обучении), шлюз обновления ячейки и шлюз вывода данных. На вход принимаются карты объектов и выполняется операция свертки между ними. Для определения оптического потока разработчики подходят к этой задаче, как к задаче восстановления изображения. По словам разработчиков, полученная структура способна эффективно изучать оптический поток на реальных видео, а также разносится изучение характеристик движения и восстановление оптического потока, что позволяет уменьшить количество ошибок при обработке многокадровых последовательностей. Тестирование производилось на наборах данных НМОВ51 и иСБ101. В тестировании также принимали участие и сети, основанные на модели сверточных нейронных сетей для определения оптического потока FlowNet. Данная разработка позволила сократить время определения оптического потока более чем в 2 раза, по сравнению с нейронной сетью FlowNet2 и в 3 раза, по сравнению с нейронной сетью FlowNetC. Что касается точности определения, то данная нейронная сеть показывает 53.5 и 82.8 процентов точности на наборах данных НМ051 и иСБ101 соответственно. Для сравнения у FlowNet2 данные показатели 52.3 и 80.1, у алгоритма ТУ-Ь1, который не использует нейронные сети, 56 и 83.9, у нейронной сети FlowNet еще хуже - 38.6 и 55.3. Однако, хоть и показатели у алгоритма без использования нейронных сетей немногим выше, а у FlowNet2 практически не отличаются, стоит отметить, что время обработки гораздо ниже, о чем говорилось ранее.

Вторая разработка представляет собой простой метод определения оптического потока на основе сверточной нейронной сети с пересмотром точности данных и регуляризации [4].

Приведем сравнительные характеристики сетей.

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

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

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

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

В сравнение с нейронной сетью FlowNet2 данная сеть состоит из двух «коротких» нейронных сетей, в то время как FlowNet2 представляет собой «длинную» сеть. Данная особенность позволяет работать данной сети в 1.5 раза быстрее, чем популярная сеть FlowNet2. Кроме этого, разработчики модифицировали свою сеть и представили второй вариант LiteFlowNet2, который в 2.2 раза быстрее первой версии сети и в 3.1 раза быстрее сети FlowNet2. По точности данные сети первой и второй версии не уступают существующим разработкам и зачастую их превосходят.

Таким образом, в данных нейронных сетях применялся подход с использованием двух нейронных сетей: модуля определения признаков и модуля определения оптического потока. Это позволяет упростить архитектуру нейронной сети (в сравнении с FlowNet2) и уменьшить затраты вычислительных ресурсов. Кроме этого, подход с разделением позволил повысить точность определения оптического потока, в связи с уменьшением ошибок, возникающих при обучении единственной нейронной сети.

Библиографические ссылки

1. Толстов А. То, что вы хотели знать про оптический поток, но стеснялись спросить // URL: https://habr.com/ru/post/201406/ (дата обращения: 11.03.2020)

2. Guan S., Li H., Zheng Wei-Shi. Unsupervised Learning for Optical Flow Estimation Using Pyramid Convolution LSTM // URL: https://arxiv.org/pdf/1907.11628.pdf (дата обращения: 11.03.2020)

3. Xavier A. An introduction to ConvLSTM // URL: https://medium.com/neuronio/an-introduction-to-convlstm-55c9025563a7 (дата обращения: 18.03.2020)

4. Loy A Lightweight Optical Flow CNN - Revisiting Data Fidelity and Regularization Tak-Wai Hui, Xiaoou Tang, Fellow, Chen Change// URL: https://arxiv.org/pdf/1903.07414.pdf (дата обращения: 11.03.2020)

© Константинов A. A., 2020

i Надоели баннеры? Вы всегда можете отключить рекламу.