УДК 004.93'12
АЛГОРИТМ НЕЙРОСЕТЕВОГО РАСПОЗНАВАНИЯ
НАДВОДНЫХ ОБЪЕКТОВ В РЕАЛЬНОМ ВРЕМЕНИ
В. А. Бондаренко, В. А. Павлова, В. А. Тупиков, Н.Г. Холод
Исследованы современные нейросетевые архитектуры для осуществления автоматического обнаружения и распознавания надводных объектов и препятствий заданных классов по всей области изображения, применимые к выполнению в реальном или условно-реальном времени для задач оптоэлектронной системы технического зрения с целью автоматизации и повышения безопасности гражданского судовождения. На основе проведённого анализа разработан новый нейросетевой алгоритм автоматического обнаружения и распознавания надводных объектов, выполнено обучение искусственной нейронной сети по подготовленной базе данных образов типовых объектов. Полученный алгоритм протестирован авторами на валидационном наборе данных. Проведена оценка качества его работы, а также оценена производительность алгоритма. Предложены дальнейшие шаги по повышению точности разработанного программно-алгоритмического комплекса и его внедрению в состав перспективной судовой оптоэлектронной системы технического зрения.
Ключевые слова: безэкипажное судовождение, автоматическое обнаружение и распознавание, искусственная нейронная сеть, базы данных образов.
Введение. В настоящее время активно развивается отрасль морских перевозок, в частности за счет увеличения грузооборота во многих значимых морских торговых путях. Дальнейшему расширению морских грузоперевозок может способствовать снижение издержек путем уменьшения численности экипажа судов.
Поэтому становятся особо востребованными системы, обеспечивающие возможность автоматического управления судами и дистанционного управления судами из берегового центра. Важной частью подобных систем является система, позволяющая передавать информацию об окружающих морское судно объектах в систему автоматического управления движением судна.
Задача создания такой системы является нетривиальной, поскольку, во-первых, подобная система должна иметь высокую скорость работы и не допускать задержек, а во-вторых, должна обеспечивать высокую надежность распознавания объектов, представляющих навигационную опасность для морских судов.
Среди алгоритмов детектирования объектов на изображении особо выделяются искусственные свёрточные нейронные сети (ИСНС) [1, 2], которые на данный момент являются наилучшими моделями для решения подобного типа задач с точки зрения точности распознавания [3]. Кроме того, нейронные сети допускают эффективную реализацию с использованием систем массового параллелизма на GPU и FPGA.
Данная работа посвящена построению прототипа детектора надводных объектов на изображениях с помощью искусственной сверточной нейронной сети распознавания по всей области изображения (полнокадрового).
Формальная постановка задачи. Пусть имеется изображение I. Алгоритм распознавания должен, получив на вход данное изображение, предоставить на выходе п последовательностей вещественных чисел
ixj ,x2J ,y2J, cj,..., CtJ,..., ckj), где n — количество обнаруженных объектов на изображении; 1 < j < п — номер текущего распознанного объекта; xj, У J — координаты левой верхней вершины прямоугольника, ограничивающего объект (bounding box); х27, у27 — координаты его правой нижней вершины; к — количество классов объектов, которые способна обнаруживать нейронная сеть; Ci] —оценка вероятности того, что j-й объект принадлежит классу с номером i.
В данной работе в качестве алгоритмов рассматриваются только искусственные свёрточные нейронные сети. Для того, чтобы данные алгоритмы смогли работать, необходимо обучить их на некоторой обучающей выборке X, для каждого изображения / G X известны координаты ограничивающих прямоугольников для всех объектов интереса, присутствующих на нем. Создание данной выборки является одной из самых важных и сложных задач, возникающих при обучении искусственных нейронных сетей. Процесс создания такой выборки для данной задачи будет подробно рассмотрен ниже.
Обзор литературы. Существующие архитектуры свёрточных нейронных сетей для обнаружения объектов на изображениях можно разделить на две категории: одноэтапные (one-stage) и двухэтапные (two-stage).
Двухэтапные нейросетевые алгоритмы детектирования объектов на изображении включают в себя два этапа.
Первый этап заключается в поиске подозрительных зон на изображении, т.е. зон, возможно, содержащих интересующие нас объекты. Данный этап может происходить без использования нейронных сетей с помощью информации о контрасте, по ключевым точкам или перебирая все возможные положения объекта с помощью процедуры selective search. Однако зоны, полученные вышеперечисленными методами, зачастую имеют очень низкое качество в том смысле, что много областей либо содержат слишком большое количество фона, либо содержат только небольшую часть объекта, либо содержат более одного объекта. Поэтому более предпочтительно на данном этапе использовать свёрточные нейронные сети, не содержащие полносвязных слоев (fully convolutional).
Второй этап заключается в классификации зон, найденных на первом этапе. На данном этапе для классификации всегда используются обычные свёрточные искусственные нейронные сети.
20
Среди двухэтапных алгоритмов детектирования объектов на изображении особо известны Fast-RCNN [4] и Faster-RCNN [5].
Fast-RCNN представляет собой свёрточную искусственную нейронную сеть, включающую в себя как детектор подозрительных зон, так и классификатор найденных объектов. При этом детектирующая сеть является частью классифицирующей сети, поэтому нет необходимости многократного запуска нейронной сети на одном изображении, достаточно лишь одного запуска. Подозрительные зоны находятся на основе откликов нейронной сети на глубоких слоях c помощью процедуры selective search. Весь алгоритм обучается совместно как единая сеть. Данный алгоритм работает существенно быстрее, чем наивные способы детектирования объектов с помощью исчерпывающего поиска, однако время работы остается неприемлемо большим.
Faster-RCNN представляет собой усовершенствование алгоритма Fast-RCNN, призванное решить проблему определения подозрительных зон. Данная архитектура содержит специальный модуль, отвечающий за обнаружение подозрительных зон, который называется Region Proposal Network (RPN). Этот модуль получает на вход карту признаков и для каждой позиции определяет координаты нескольких прямоугольников фиксированного размера, которые используются в качестве подозрительных зон в детекторе. Такие прямоугольники называют якорями (anchors). Детектор представляет собой сеть Fast-RCNN. При этом RPN и Fast-RCNN имеют общие свёрточные слои, что позволяет ускорить обработку изображений.
Для обучения Faster-RCNN используется специальная процедура, состоящая из 4 этапов.
1. Обучается RPN для обнаружения подозрительных зон.
2. Обучается Fast-RCNN c использованием подозрительных зон, которые выдает RPN.
3. RPN переинициализируется весами, полученными при обучении Fast-RCNN. При этом общая часть двух сетей замораживается.
4. С фиксированными общими слоями окончательно дообучается Fast-RCNN.
Причина введения такой сложной процедуры обучения заключается в том, что стандартная процедура, выделяющая область для классификатора, не является дифференцируемой по декартовым координатам, из-за чего при совместном обучении веса RPN при настройке не будут учитывать направление сдвига координат прямоугольника подозрительной области.
Данные модификации позволили увеличить точность детектирования объектов, а также достичь скорости обработки изображений, равной пяти кадрам в секунду (с применением GPU).
21
Одноэтапные нейросетевые алгоритмы детектирования объектов на изображении не включают в себя стадию поиска подозрительных зон на изображении, а сразу нацелены на обнаружение объектов. Преимуществами данного вида алгоритмов являются их простота и относительно высокая скорость работы, а среди их недостатков можно отметить более низкую точность детектирования объектов по сравнению с двухэтапными алгоритмами, а также меньшую гибкость алгоритма.
Самыми известными представителями данного вида алгоритмов являются архитектуры Yolo [6] и Single Shot detector (SSD) [7].
Детектор Yolo является одним из первых одноэтапных детекторов объектов на изображении, при этом он постоянно модернизировался, поэтому существуют три версии этого алгоритма: v1, v2 и v3. На входном изображении наносилась сетка с фиксированным заранее размером ячейки и выбиралось максимальное число В объектов, которые могут присутствовать внутри ячейки. искусственная нейронная сеть предсказывает для каждой ячейки 4B чисел - координаты прямоугольника объекта, центр которого лежит в этой ячейке, значение, определяющее вероятность того, что в данной ячейке присутствует объект, а также по С чисел для каждого объекта - вероятности того, что в ячейке присутствует объект i-го класса при условии, что какой-либо объект в ячейке присутствует (здесь С - количество классов, которые может распознавать детектор).
Дальнейшие версии Yolo содержат модификации, призванные повысить точность автоматического обнаружения объектов и стабильность обучения искусственной нейронной сети. В частности, начиная со второй версии, для определения размеров прямоугольников используются заранее созданные шаблонные прямоугольники - якоря. Кроме того, размер входных изображений увеличился и произошли изменения в архитектуре сети, такие, как отказ от полносвязных слоев в пользу полносверточной искусственной нейронной сети и добавление слоев батч-нормализации [8]. Также были приняты меры для повышения устойчивости алгоритма к изменениям масштаба объектов.
Детектор SSD основан на идее детектора MultiBox [9], которая заключается в предсказании ограничивающих прямоугольников в разных масштабах. Якоря для SSD выбираются вручную, что позволяет избежать этапа предобучения якорей и позволяет алгоритму работать при любых входных данных. Многомасштабные карты признаков позволяют существенно увеличить точность обнаружения и распознавания объектов, что является большим преимуществом по сравнению с первыми версиями Yolo.
В табл. 1 представлено сравнение современных нейросетевых архитектур полнокадрового обнаружения и распознавания.
22
Таблица 1
Сравнение современных архитектур полнокадрового распознавания объектов__
Ранг Метод Скорость (кадров в сек.) Средняя точность (%) Название публикации Год
1 CenterNet ResNet-18 142 28.1 Objects as Points 2019
2 TTFNet 54.4 35.1 Training-Time-Friendly Network for Real-Time Object Detection 2019
3 CenterNet DLA-34 52 37.4 Objects as Points 2019
4 YOLOv3-320 45 28.2 YOLOv3: An Incremental Improvement 2018
5 YOLOv3-418 34 31.0 YOLOv3: An Incremental Improvement 2018
6 CornerNet-Squeeze 33 34.4 CornerNet-Lite: Efficient Keypoint Based Object Detection 2019
7 SSD512-HarDNet85 32 35.1 HarDNet: A Low Memory Traffic Network 2019
8 RefineDet320 + VoVNet-57 21.2 33.9 An Energy and GPU-Computation Efficient Backbone Network 2019
9 YOLOv3-608 20 33 YOLOv3: An Incremental Improvement 2018
10 CenterNet Hourglass-104 14 40.3 Objects as Points 2019
11 NAS-FPNLite MobileNetV2 (7 @ 64) н/д 25.7 NAS-FPN: Learning Scalable Feature Pyramid Architecture for Object Detection 2019
Применяемый подход. В рамках данной работы для детектирования объектов на изображении использовалась искусственная нейронная сеть архитектуры CenterNet [10]. Данная нейронная сеть относится к классу одноэтапных алгоритмов детектирования объектов. В отличие от многих других детекторов CenterNet не использует наборы якорей, а обучение признаку размера объекта происходит с помощью регрессии. Положение объектов определяется с помощью предсказания карты ключевых точек, каждая ключевая точка представляет собой центр некоторого объекта. В отличие от других алгоритмов обнаружения объектов CenterNet не позволяет предсказывать более одного объекта на ячейку карты признаков, поэтому при неудачном выборе размеров выходной карты признаков некоторые объекты не смогут быть распознанными.
Преимуществом данного алгоритма являются высокая скорость работы даже по сравнению с другими одноэтапными детекторами, которая, в частности, достигается благодаря тому, что CenterNet позволяет избежать довольно затратной и сложнораспаралелливаемой операции постобработки результата Non-Maxima Suppession (NMS), заменяя её еще более простой и быстрой операцией взятия локальных максимумов карты ключевых точек. В связи с вышеперечисленными доводами было принято решение использовать именно этот нейросетевой алгоритм обнаружения объектов для детектирования надводных объектов в реальном времени.
Подготовка обучающей выборки. Одним из самых важных этапов работы с задачами машинного обучения является подготовка данных для обучения. От качества этих данных очень сильно зависит качество будущей модели, наличие выбросов и некачественная разметка способны подорвать качество автоматического обнаружения настолько, что даже выбор самой лучшей модели не позволит компенсировать низкое качество данных.
В настоящее время существует множество открытых баз данных изображений, содержащих данные для различных задач. В частности, для задачи детектирования судов и других надводных объектов существуют несколько наборов данных, такие, как Seaships dataset и Singapore maritime dataset.
Seaship Dataset [11] представляет собой набор из 31455 изображений, содержащих шесть основных типов морских судов (перевозчик руды, насыпной грузовоз, грузовой корабль, контейнеровоз, рыболовное судно и пассажирское судно). Изображения представляют собой нарезку некоторого числа видеозаписей, снятых с камер, расположенных на берегу реки. Запись проходила в разное время суток с разных мест, однако все корабли расположены примерно с одного ракурса. Однако в открытом доступе находится лишь небольшая часть этого набора данных, которая включает в себя семь тысяч изображений.
База Singapore maritime dataset [12] содержит около 80 видеозаписей морской обстановки, часть из которых снята с палубы судна, остальные сняты с берега. Записи сняты в разное время суток и в разных погодных условиях, однако длительность каждой видеозаписи невелика и составляет порядка одной минуты. Все видеозаписи имеют высокое разрешение (1920х1080). Часть видеозаписей была сформирована в ближнем инфракрасном диапазоне, что может быть полезно для распознавания морских объектов в сложных погодных условиях. Однако на большинстве фрагментов видеозаписей присутствуют лишь минимальные изменения между соседними кадрами, а также для некоторых видеозаписей отсутствует разметка.
В связи с тем, что ни один открытый набор данных не удовлетворяет требованиям, предъявляемым в данной работе, было принято решение подготовить свой набор данных, взяв за основу вышеперечисленные открытые наборы данных, добавив к ним еще около 100 видеозаписей морской обстановки, большая часть из которых была получена из открытых источников, остальные были сняты вручную. Половина из них представляет записи, снятые с берега, другая половина записи с борта крупного морского судна или катера.
После нарезки данных видеозаписей получилось более 10000 изображений, после объединения с данными из других наборов суммарно получилось около 40000 изображений.
Следующим шагом подготовки данных стала разметка еще неразмеченных данных и унификация разметки, т. е. приведение разметок всех частей набора к одному формату и одному списку классов.
Было принято решение распознавать пять классов надводных объектов: малое судно, буй, крупногабаритное судно, военное судно, льдины, а также был введен отдельный класс для сложноидентифицируемых надводных объектов (прочие помехи).
Для осуществления разметки подготовленных данных, т.е. выделения объектов на изображениях и маркирования их меткой класса (рис. 1) было принято решение воспользоваться одним из сервисов автоматизации удалённого выполнения заданий. На данный момент существуют несколько подобных сервисов, например, Amazon Mechanical Turk [13] или его отечественный аналог Яндекс.Толока [14]. Выбор был сделан в пользу отечественного сервиса. Данный сервис позволяет удалённо выдавать задания пользователям для выполнения за определенную плату. Имеются набор шаблонов для заданий и возможность реализовать интерфейс задания с помощью языка программирования javascript. В течение месяца задания выполняла контрольная группа из 5 человек. В ходе тестирования пользователи из контрольной группы разметили 31550 изображений в течение месяца.
Рис. 1. Визуализация принципа разметки данных
Полученная база данных образов надводных объектов состоит из 42220 изображений, содержащих около 254000 объектов, из них 36440 малых судов, 6822 буев, 175608 больших судов, 4819 военных судов.
Обучение искусственной нейронной сети. Для проведения экспериментов собранный набор данных был разделен на три части, одна из которых использовалась для обучения нейронной сети, вторая - для валида-ции и настройки параметров, а третья использовалась при финальном тестировании. Разделение было проведено таким образом, чтобы каждая часть разбиения содержала изображения из всех наборов данных, входящих в состав данного набора.
Для обучения искусственной нейронной сети была выбрана библиотека РуТогсИ [15]. Первоначально была реализована функция подготовки изображений, которая включает в себя считывание изображений, аугментацию (добавление в выборку искусственно сгенерированных изображений с наложением искажений и шумов) и вычисление эталонных карт центров и размеров объектов. В качестве видов аргументации использовались зеркальное отражение, вырезание случайной области изображения, содержащей некоторый объект, зашумление гауссовским шумом, изменения контраста и яркости.
Карты центров объектов представляют собой изображения, в которых единичную яркость имеют только пиксели с координатами, соответствующими центру некоторого объекта данного класса. Количество таких карт для изображения равно количеству классов для распознавания. Для более стабильного обучения применяется неравномерное гауссово размытие карт признаков с помощью прямоугольного ядра, зависящего от размеров объекта. В отличие от подхода из оригинальной статьи, который заключался в размытии с квадратным окном, данное представление карты центров объектов лучше работает для объектов с большим соотношением сторон. Подобные объекты широко представлены в обучающей выборке.
Функция потерь для данной нейронной сети состоит из нескольких слагаемых. Первое слагаемое отвечает за качество детектирования центров объектов. Оно представляет собой модифицированный focal loss [16] и имеет вид
-1 ^ а —
Lk= -ff {(! - Yxyc) log log (Yxyc) if Yxyc =
= 1 (1 — Yxyc)P 1 — Yxyc) otherwise где Yxyc — истинная карта центров объектов; Yxyc —карта предсказанных центров объектов. Второе слагаемое отвечает за качество определения центров объектов и представляет собой LI loss, то есть средний модуль разницы между истинными размерами объектов и предсказанными. Так как большая часть истинной маски размеров объектов заполнена нулями, функция потерь считается не по всей маске, а только по тем позициям, которые являются центром некоторого объекта. Это позволяет избежать деградации сети и предсказания нулевых размеров для всех объектов.
Для повышения скорости работы сети размер карт признаков в 4 раза меньше, чем размер входного изображения, что, с одной стороны, значительно уменьшает объем вычислений, а, с другой стороны, не влияет на качество обнаружения объектов, поскольку маловероятно наличие объектов, расстояние между центрами которых меньше четырех пикселей. В оригинальной статье также сеть обучалась предсказывать разницу между истинным центром объекта и положением пикселя, который отвечает за её центр в карте признаков. Однако в данной работе было принято решение от этого отказаться, поскольку использование данной величины лишь незначительно повышает точность распознавания.
В ходе экспериментов были обучены две искусственные свёрточ-ные нейронные сети. Они отличались в основном своими кодерами - слоями, извлекающими признаки с изображений. В одной сети в качестве кодера использовалась архитектура resnetl8 [17], архитектура, основанная на residual связях, которые позволяют сети иметь очень большую глубину. Во второй сети использовалась MobileNetv2 [18] - легковесная архитектура, основанная на операции сепарабельной свертки, позволяющей ускорить вычисления и уменьшить количество параметров сети.
В качестве декодера, т. е. той части сети, которая восстанавливает карты центров и размеров объектов по признакам, в обоих вариантах сетей использовалась последовательность из нескольких деформируемых свёр-точных слоев с билинейной интерполяцией для повышения пространственных размеров объектов. Деформируемые свёрточные слои - это слои, которые имеют возможность выучить форму своего рецептивного поля в отличие от обычных свёрточных слоев, в которых она всегда имеет фиксированный размер и форму (квадрат).
Обучение обоих вариантов искусственной нейронной сети производилось в течение 100 эпох (полных циклов обучения по всем данным). Сеть с resnetl8 была инициализирована весами сети такой же архитектуры, обученной на открытом наборе данных Coco [19]. В течение первой эпохи в ней обучались только слои, непосредственно восстанавливающие карты центров и размеров объектов, остальные слои были заморожены.
У сети с mobilenet v2 кодер инициализировался весами модели, предобученной на наборе данных ImageNet [20], остальные веса инициализировались случайным образом. В течение первой эпохи веса кодера были заморожены.
В качестве оптимизатора использовался алгоритм Adam [21], позволяющий автоматически корректировать скорость обучения (learning rate) в процессе обучения с помощью накопления информации о градиентах в предыдущие итерации. Базовый learning rate был выбран равным 0.0003, и он уменьшался в 4 раза каждые 20 эпох.
График функции потерь (ошибки) на валидационной выборке для двух вариантов искусственных сверточных нейронных сетей представлен на рис. 2.
В качестве метрик оценки качества обнаружения объектов использовались Mean Average Precision (mAP) и Mean average Recall (mAR).
Mean average precision представляет собой усреднение метрики average precision (АР) для всех порогов IoU от 0,5 до 1 с заданным шагом:
mAP = У АР (thr).
\юи\ Z_i
thr 6 iou
АР для фиксированного порога thr вычисляется следующим образом: для каждого найденного объекта происходит поиск сопоставления среди истинных объектов. Соответствие объявляется истинным, если отношение площади пересечения к площади объединения (Intersection over Union, IoU) предсказанного и истинного объектов больше порога thr. Соответствия сортируются согласно убыванию уверенности сети в предсказанном объекте. Для любого набора из первых к соответствий можно посчитать точность (precision) и полноту (recall):
TP „ TP
precision = -; recall = -,
r TP+fp' 5 TP+ FN
где TP - число верно определенных объектов; FP - число ошибочно
найденных объектов; FN - число объектов, которые не были найдены. С ростом к полнота монотонно увеличивается, а точность может как увеличиваться, так и уменьшаться. АР определяется как площадь под графиком, отражающим зависимость точности от полноты, и имеет вид
АР = / precision(r)dr.
Mean Average Recall представляет собой среднее значение полноты при различных выборах порога для IoU с учетом только тех порогов, которые больше, чем 0,5:
АР@[1ои = а-.Ь] = 2 ¡\еса1Щои)с11ои. Результаты тестирования полученных искусственных свёрточных нейронных сетей на тестовой выборке представлены в табл. 2.
resnetia
mobilenet
epoch
Рис. 2. График функции потерь обученных ИНС
Как видно, сеть с кодером ЯеБЫеИ 8 работает ощутимо лучше, чем с МоЬПеЫе! у2, при том, что скорость работы сетей примерно одинаковая. Также стоит отметить, что качество обнаружения малых объектов ниже, чем больших. На рис. 3 представлена генерируемая ИСНС-карта предсказаний центров объектов в кадре, а на рис. 4 - результат обработки получаемых карт с выделением распознанных объектов.
Таблица 2
Результаты тестирования полученных ИСНС_
Оцениваемый параметр ResNetl8 MobileNet v2
AP@[IoU=0.5:0.95] 0.226 0.178
AP@[IoU=0.5] 0.645 0.494
AP@[IoU=0.5:0.95] малые объекты 0.169 0.098
AP@[IoU=0.5:0.95] большие объекты 0.304 0.276
AR@[IoU=0.5:0.95] 0.333 0.282
AR@[IoU=0.5:0.95] малые объекты 0.223 0.141
AR@[IoU=0.5:0.95] большие объекты 0.445 0.426
Скорость обработки (GeForce 1060 6GB) 36 к/сек 40 к/сек
Рис. 3. Генерируемая ИСНС-карта предсказаний центров объектов в кадре
Рис. 4. Результат распознавания объектов в кадре (голубой прямоугольник - буи, синий - малые суда, фиолетовый - военные суда)
Заключение. Резюмируя изложенное, можно сделать следующие выводы.
Представленные алгоритмы обнаружения объектов на изображениях с помощью искусственных свёрточных нейронных сетей доказали свою применимость в решении задач автоматического обнаружения и распознавания надводных объектов в реальном времени, и их можно применять при разработке систем технического зрения перспективных систем автоматизации и повышения безопасности гражданского судовождения.
Скорость работы полученных искусственных нейронных сетей достаточна для того, чтобы обрабатывать более 30 кадров в секунду, при условии наличия вычислителя с возможностями массового параллелизма (например GPU или ПЛИС).
Достигнутые точность и полнота распознавания достаточно велики, но не являются предельными, так как полученная база размеченных образов обладает недостаточным качеством разметки ввиду того, что её проводили необученные пользователи. Повысив качество разметки, можно увеличить точность и значительно повысить эффективность автоматического обнаружения и распознавания.
В качестве дальнейших шагов по улучшению алгоритма (помимо повышения объема базы данных образов и качества её разметки) планируется реализовать возможность анализа нескольких предыдущих кадров видеопоследовательности, что позволит улучшить качество распознавания мелких (менее 32х32 пикселов) объектов.
Список литературы
1. Goodfellow I., Bengio Y., Courville A. Deep Learning. MIT Press. 2016. 781 p.
2. Deng L. and Yu. D. Deep Learning: Methods and Applications // Foundations and Trends in Signal Processing, 2013. Vol. 7. No. 3 - 4. P. 197 -387.
3. Молчанов А.С. Анализ построения и основные задачи систем автоматического распознавания объектов при проведении испытания наземных комплексов обработки и дешифрирования материалов воздушной разведки // Славянский форум. 2020. №1(27). С. 237 - 248.
4. Girshick R. Fast r-cnn // Proceedings of the IEEE international conference on computer vision. 2015. P. 1440 - 1448.
5. Faster r-cnn: Towards real-time object detection with region proposal networks / S. Ren [et al.] //Advances in neural information processing systems. 2015. P. 91 - 99.
6. Redmon J. et al. You only look once: Unified, real-time object detection // Proceedings of the IEEE conference on computer vision and pattern recognition. 2016. P. 779 - 788.
7. Ssd: Single shot multibox detector / W. Liu [et al.] // European conference on computer vision. Springer. Cham. 2016. P. 21 - 37.
8. Ioffe S., Szegedy C. Batch normalization: Accelerating deep network training by reducing internal covariate shift // arXiv preprint arXiv:1502.03167. 2015.
9. Scalable, high-quality object detection. ArXiv abs / C. Szegedy [et al.]. 1412.1441, 2015.
10. Zhou X., Wang D., Krahenbuhl P. Objects as points. ArXiv abs/1904.07850, 2019.
11. Seaships: A large-scale precisely annotated dataset for ship detection / Z. Shao [et al.] // IEEE Transactions on Multimedia. 2018. Vol. 20. №. 10. P. 2593-2604.
12. Video processing from electro-optical sensors for object detection and tracking in a maritime environment: a survey / D.K. Prasad [et al.] // IEEE Transactions on Intelligent Transportation Systems. 2017. Vol. 18. №. 8. P. 1993-2016.
13. Crowston K. Amazon Mechanical Turk: A Research Tool for Organizations and Information Systems Scholars // Shaping the Future of ICT Research. Methods and Approaches. IFIP Advances in Information and Communication Technology. 2012. Vol 389. Springer, Berlin, Heidelberg.
14. Яндекс Толока url: https://toloka.yandex.ru. Дата обращения 18.02.2020.
15. PyTorch: An Imperative Style, High Performance Deep Learning Library / A. Paszke [et al.] // Advances in Neural Information Processing Systems 32, Curran Associates. 2019. P. 8024-8035.
16. Focal loss for dense object detection / T.Y. Lin [et al.] // Proceedings of the IEEE international conference on computer vision. 2017. P. 29802988.
17. Deep residual learning for image recognition / K. He [et al.] // Proceedings of the IEEE conference on computer vision and pattern recognition. 2016. P. 770-778.
18. Mobilenetv2: Inverted residuals and linear bottlenecks / M. Sandler [et al.] // Proceedings of the IEEE conference on computer vision and pattern recognition. 2018. P. 4510-4520.
19. Lin, T., Maire, M., Belongie, S.J., Bourdev, L.D., Girshick, R.B., Hays, J., Perona, P., Ramanan, D., Dollar, P. and Zitnick, C.L. Microsoft COCO: Common Objects in Context, 2014. DOI: 10.1007/978-3-319-10602-1_48.
20. ImageNet: A large-scale hierarchical image database / J. Deng, W. Dong, R. Socher, L. Li, Kai Li and Li Fei-Fei // 2009 IEEE Conference on Computer Vision and Pattern Recognition, Miami. FL. 2009. P. 248 - 255.
21. Kingma D. P., Ba J. Adam: A method for stochastic optimization //arXiv preprint arXiv:1412.6980. 2014.
Бондаренко Владимир Александрович, начальник Центра средств интеллектуальной обработки изображений, bondarenkoanppame. ru, Россия, Санкт-Петербург, АО «Научно-производственное предприятие «Авиационная и морская электроника»,
Павлова Валерия Анатольевна, канд. техн. наук, зам. директора НПК РТС СН по НИОКР, pavlova@nppame. ru, Россия, Санкт-Петербург, АО «Научно-производственное предприятие «Авиационная и морская электроника»,
Тупиков Владимир Алексеевич, д-р техн. наук, профессор, директор НПК РТС СН, tupikov@,nppame.ru, Россия, Санкт-Петербург, АО «Научно-производственное предприятие «Авиационная и морская электроника»,
Холод Николай Григорьевич, научный сотрудник, nikkholod@, mail.ru, Россия, Санкт-Петербург, АО «Научно-производственное предприятие «Авиационная и морская электроника»
NEURAL NETWORK ALGORITHM FOR REALTIME MARINE SURFACE OBJECTS
RECOGNITION
V.A. Bondarenko, V.A. Pavlova, V.A. Tupikov, N.G. Holod
The article explores modern neural network architectures for the automatic detection and recognition of marine surface objects and obstacles of given classes throughout the full image area, applicable for execution in real or near real time on an optoelectronic vision system to automate and improve the safety of civil marine navigation. Based on the selected neural network architecture, a new neural network algorithm for automatic full-frame detection and recognition of surface objects was developed, and an artificial neural network was trained using the prepared database of images of typical objects. The resulting algorithm was tested by the authors on a validation data set, the quality of its work was estimated using various metrics, and the algorithm's performance was measured, further steps are proposed to improve the accuracy of the developed software and algorithmic complex and its implementation to be used in a marine optoelectronic machine vision system for automation and improving the safety of civil navigation.
Key words: unmanned marine navigation, automatic detection and recognition, artificial neural network, image database.
Bondarenko Vladimir Alexandrovich, chief of Intellectual Image Processing Center, bondarenko@,nppame. ru, Russia, Saint Petersburg, SPE «Research and Production Enterprise «Air and Marine Electronics»,
Pavlova Valeria Anatolyevna, candidate of technical sciences, deputy director of Research and Production Complex of Special Purpose Robotic Systems, pavlova@nppame. ru, Russia, Saint Petersburg, SPE «Research and Production Enterprise «Air and Marine Electronics»,
Tupikov Vladimir Alekseevich, doctor of technical sciences, professor, director of Research and Production Complex of Special Purpose Robotic Systems, tupikov@nppame. ru, Russia, Saint Petersburg, SPE «Research and Production Enterprise «Air and Marine Electronics»,
Holod Nicolai Grigorievich, researcher, nikkholod@,mail. ru, Russia, Saint Petersburg, SPE «Research and Production Enterprise «Air and Marine Electronics»