1 of 17

У нас лапки 🐾

Подсчет рыбов

2 of 17

2

Участники команды

Катя

ML,

размечала данные

Сириус

ML,

размечал данные

Тася

ML,

размечала данные

Андрей

Бэкенд, размечал данные

Маша

Фронтенд, размечала данные

У нас лапки

3 of 17

3

Задача

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

Сейчас этим занимаются сотрудники НИИ, подвергая себя опасности - на них нападают медведи.

Также сотрудники тратят на подсчет много времени.

Еще есть вероятность, что сотрудники могут нечаянно либо намеренно ошибиться при подсчете популяции рыб.

4 of 17

4

Решение

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

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

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

В случае резкого уменьшения или увеличения популяции, тот, кто следит за сервисом, получит об этом уведомление.

5 of 17

5

Методика подсчета рыб

  • Разбиваем сутки на временные промежутки одинакового размера (например, 10 с.)
  • Считаем количество рыб на фотографии в каждом смотровом окне за временной промежуток
  • Агрегируем данные за временные промежутки по каждому смотровому окну ➡️ получаем данные за сутки

6 of 17

6

Рыбы мало?

  • Считаем популяцию рыбы за время нереста
  • Знаем данные за предыдущие годы нереста => строим доверительный интервал количества рыбы за нерест (математическая магия):
  • - количество рыбы за один нерест

Доверительный интервал

  • Если популяция за текущий год не попадает в доверительный интервал, рыбы стало меньше 😕 или больше 😊

Где вся рыба? 😱

7 of 17

7

Что сделали

Это мы реализовали

Это уже было

  • Разметили 1500 фотографий

  • Обучили нейросеть в дата сфере

  • Собрали и развернули бэкенд в Яндекс.Облаке:
  • нейросеть
  • БД
  • RESTful API

  • Сверстали демо-фронтенд, подключили к бэкенду и задеплоили

8 of 17

8

Особенности данных

Мы разметили фотографии с двух рыбоучетных заграждений. На одной из них рыб видно очень хорошо, на другой намного хуже.

Рябь на воде, отблески солнца на поверхности, камни, тени сильно мешали распознавать рыб не только нейросети, но и нам, разметчикам этих фотографий.

Я тебя сам посчитаю 😈

9 of 17

9

Особенности данных

За 10 часов мы разметили 1500 фотографий

Обвели в прямоугольники 6245 рыбов

В среднем на картинке находилось по 4 рыбы

Это рыба? 🤔

А это рыба? 🤔

А это? 🤔

10 of 17

10

Нейросеть

s

Для обучения были использованы 1205 картинок, которые были аугментированы.

Всего – 3 615 картинок.

Точность составила 88.5%, а полнота 83.9%.

11 of 17

11

11

Демонстрация

https://encamps-demo-vodolazkayamv.vercel.app/

12 of 17

12

Какие инструменты мы использовали

Разметка данных: https://cvat.org/

Нейросеть: YOLOv5 https://github.com/ultralytics/yolov5

Бэкенд: K8S, Kotlin, Ktor, DeepJavaLearning, Gitlab AutoDevops

БД: Postgres

Фронтенд: Vercel, Plotly.js, React, Next.js

13 of 17

13

Спасибо за внимание!

14 of 17

14

Как можно доработать

В будущем можно добавить к камерам Raspberry Pi для шифрования фотографий.

Чтобы те, кто собирают данные, не могли их подменить и скрыть факт обмана при подсчете рыб

15 of 17

15

Дополнительные слайды

Архитектура Нейросети

16 of 17

16

Дополнительные слайды

1. Камера и устройство шифрования (на базе Raspberry Pi) помещаются в пластиковый корпус с датчиком открытия

�2. шифрование

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

17 of 17

17

Дополнительные слайды

Оценка стоимости оборудования для одного окна:

  • Rasbperry PI ~ 3500 руб
  • Датчики и корпус ~ 1500 руб
  • Камера GoPro ~ 18 000 руб (уже есть)
  • Жёсткие диски для данных ~ 3500 x 2 руб

Затраты на разработку системы с шифрованием: 20 человеко-дней.

Поддержка:

  • Ежедневный забор данных и замена жёстких дисков.
  • Загрузка данных в систему для обработки.

Компьютер для обработки данных (с видеокартой) ~ 200 000

Итого: (3500+1500+7000)*10 + 200000 = 320000