Даже небольшие погрешности в измерениях скорости судна относительно воды могут привести к большим ошибкам в расчётах ходовых качеств судна и увеличению расхода топлива на десятки тонн в день. О том, как эту проблему решает машинное обучение, рассказываем к старту флагманского курса по Data Science.


Традиционно скорость относительно воды измеряется подводными приборами лагами: для этого с помощью гидродинамического лага оценивается разница давления воды на корпус судна. Используется либо доплеровский сдвиг гидроакустического сигнала (доплеровский гидродинамический лаг), либо сигнал, генерируемый от взаимодействия между возбуждённой катушкой и движущимся водным объектом (электромагнитный лаг).

Эти системы могут быть дорогими в обслуживании и, как правило, подверженными образованию пузырей, турбулентности или других обусловленных движением судна помех.

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

Создателям Wavex удалось избавиться от проблем с помехами и от затрат на обслуживание, связанных с подводными датчиками. Кроме того, за счёт использования сети глубокого обучения для автоматической идентификации радиолокационных изображений, полученных при измерениях в плохих условиях, например с обильными осадками (рис. 1), они повысили качество работы и надёжность Wavex:

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

В случае ливневых дождей повреждённые части радиолокационного изображения можно не учитывать в измерениях, ограничиваясь только неповреждёнными. В сети, созданной с применением MATLAB® и Deep Learning Toolbox™, осадки и ослабление ветра определяются с точностью более 97 и более 99% соответственно. 

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

Обучив и проверив сеть в MATLAB, можно с помощью MATLAB Compiler™ развернуть её в виде автономного приложения в системе Wavex, чтобы почти в реальном времени измерять течение, скорость относительно воды, взвешенные спектры направления волн и интегрированные параметры волны, такие как высота волны (рис. 2): 

Рисунок 2. Пример пользовательского интерфейса Wavex с измерениями ветра, волны и скорости относительно воды
Рисунок 2. Пример пользовательского интерфейса Wavex с измерениями ветра, волны и скорости относительно воды

Радиолокационные измерения состояния моря и воздействия ветра и дождя

Обычная морская антенна радара X-диапазона вращается со скоростью от 15 до 48 об./мин., генерируя оцифрованные изображения, на которых чётко видны профили волны (рис. 3). 

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

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

Рисунок 3. Оцифрованное изображение извлечённых декартовых сечений, полученное с морского навигационного радара X-диапазона
Рисунок 3. Оцифрованное изображение извлечённых декартовых сечений, полученное с морского навигационного радара X-диапазона

При определённых условиях окружающей среды (низкой скорости ветра и ливневых дождях) возникают искажения оцифрованных изображений, что затрудняет извлечение значимой информации (рис. 4).

Наша цель — с помощью глубокого обучения создать сеть, автоматически определяющую декартовы сечения, слишком искажённые, чтобы их можно было использовать для измерений состояния моря:

Рисунок 4. Оцифрованные радиолокационные изображения, сделанные в условиях осадков (верхнее) и снижения скорости ветра (нижнее)
Рисунок 4. Оцифрованные радиолокационные изображения, сделанные в условиях осадков (верхнее) и снижения скорости ветра (нижнее)

Применение глубокого обучения для классификации изображений

Первый шаг в применении глубокого обучения в задаче классификации изображений — получение и разметка изображений с сочетаниями этих признаков для обучения сети. С этой целью из шести разных систем Wavex было собрано свыше 7 млн. декартовых сечений изображений за период более чем 10 лет. Сечениям изображений присвоили пять категорий: 

  • без ослабления ветра или осадков; 

  • заметные осадки;

  • заметное ослабление ветра; 

  • заметное снижение осадков и ослабление ветра;

  • категория без класса. 

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

У нашей команды был опыт работы с MATLAB и некоторыми классическими темами машинного обучения, но мы не сталкивались с приложениями глубокого обучения. Мы начали с руководства по Deep Learning Toolbox и примеров использования простых свёрточных нейронных сетей для классификации изображений с применением глубокого обучения. 

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

После экспериментов с разными конфигурациями сети мы остановились на 23-слойной сети. У неё стандартная структура. За слоем входных изображений следуют пять групп с 2-мерным свёрточным слоем в каждой: слой пакетной нормализации, слой с блоком линейной ректификации (ReLU) и слой операции подвыборки с определением максимального значения. В последней группе вместо слоя операции подвыборки используется полносвязный слой. За этой группой следует слой с softmax и выходной слой классификации (рис. 5):

Рисунок 5. Структура сети для классификации радиолокационных изображений
Рисунок 5. Структура сети для классификации радиолокационных изображений

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

Затем мы вносили изменения в сеть, чтобы повысить её точность. Например, пробовали разные размеры для первых свёрточных слоёв, разную глубину сети и разные нормализации на слое входных изображений.

Развёртывание и планы на будущее

Чтобы интегрировать в системы Wavex окончательно обученную сеть и алгоритмы, создать автономное приложение, мы воспользовались компилятором MATLAB. Это позволило быстро перевести разработку и обучение модели в эксплуатационную среду — для автоматизированного контроля качества.

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

После этой интеграции визуализации MATLAB применялись для проверки работы системы в различных условиях: при использовании автоматического обнаружения осадков и ослабления ветра и при базовом уровне без такого обнаружения. 

На рисунке 6 показан пример насыщенного событиями периода, когда при применении обнаружения на основе глубокого обучения данные корректно размечаются, а различные ситуации выделяются точно. Это позволяет оптимизировать обработку данных и повысить точность потока информации для пользователя:

Рисунок 6.  Диаграммы измерений высоты волны, выполненных с обнаружением на основе глубокого обучения (синяя линия) и без обнаружения на основе глубокого обучения (красная линия) снижения осадков и ослабления ветра
Рисунок 6.  Диаграммы измерений высоты волны, выполненных с обнаружением на основе глубокого обучения (синяя линия) и без обнаружения на основе глубокого обучения (красная линия) снижения осадков и ослабления ветра

Автономное приложение с использованием глубокого обучения сейчас тестируется в эксплуатационной среде систем Wavex на нескольких кораблях. Команда разработчиков испытывает применение аналогичных подходов глубокого обучения при классификации изображений и сигналов в различных новых приложениях.

Начать погружение в науку о данных или прокачать ваши навыки вы сможете на наших курсах:

Выбрать другую востребованную профессию.

Краткий каталог курсов и профессий

Комментарии (6)


  1. asso
    18.02.2022 00:00

    Это всё очень круто, но раньше просто крыльчатку в воду опускали... И на большинстве парусных яхт так до сих пор и делают :)


    1. vakhramov
      18.02.2022 00:38
      +1

      А на парусных, значит, будет нейровычислитель, питающийся от крыльчатки в воде, рассчитывающий (и верифицирующий на основании ToF сенсоров) идеальные настройки парусов относительно направления ветра и требуемой точки B, как бонус будет строить диаграмму идеального tack-a для close-hauled и покрикивать с помощью TTS engine на матросов, если те отклоняются по таймингам от идеальных диаграмм

      Каждому процессу свои инструменты ;)


      1. siarheiblr
        18.02.2022 11:36

        Блокчейн и NFT ещё забыли!


  1. eimrine
    18.02.2022 00:33

    Даже небольшие погрешности в измерениях скорости судна относительно воды могут привести к большим ошибкам в расчётах ходовых качеств судна и увеличению расхода топлива на десятки тонн в день.
    Не понимаю логику: как двигатель, который просто работает сутками напролёт, может больше или меньше потреблять в день из-за ошибки измерения скорости относительно воды. Один известный на русскоязычном Ютьюбе капитан балкера сказал, что в условиях качки невозможно измерить количество топлива в баках даже с точностью до тонны — может быть, эта задача по зубам машинному обучению?


    1. Foror
      18.02.2022 17:47

      В чём проблема на трубу поставить счетчик потока топлива? Оно же там под давлением загоняется в двигатель? Тем самым можешь рассчитать количество топлива до граммов в любой шторм с помощью копеченого микроконтоллера.


  1. Ateela
    18.02.2022 09:48

    Я так понимаю, что речь идёт про найм судна и расчет затрат на это, с условиями течений из пункта А в пункт Б. А обратный путь судна нанимателя не интересует, хотя это взаимоуничтожает влияние течений.