Контрастный NDVI.
История функционала по запросам пользователей


Время прочтения — 6 минут
Недавно в службу поддержки OneSoil поступило предложение от пользователей добавить контрастный NDVI. И вот новый функционал уже вовсю работает в наших приложениях! Давайте посмотрим, как мы его делали.


Как OneSoil разрабатывал контрастный NDVI_Обложка_Блог OneSoil

О приложении OneSoil за две минуты

В 2021-м году сельское хозяйство — это такая же высокотехнологичная сфера, как нефтегазовый сектор или авиапромышленность. Роль OneSoil в этой большой игре — предоставлять фермерам данные о состоянии полей, чтобы их работа стала эффективнее. Для этого мы обрабатываем спутниковые снимки с помощью собственных алгоритмов и делимся с фермерами результатами в приложении в удобном виде.

OneSoil определяет состояние растений по индексу NDVI — числовому показателю, по которому можно судить о количестве и качестве растительности на поле во время вегетации. Его можно рассчитать по тому, как растения отражают солнечный свет (здоровое растение активно поглощает красный свет и отражает ближний инфракрасный).

Контрастный NDVI — это слой в нашем мобильном и веб-приложениях, который более явно показывает разницу в значениях NDVI за счёт ярких, контрастных цветов. (Читайте подробно о том, что говорит NDVI о состоянии полей, тут.)
Поле с обычным NDVI раскрашивается от коричневого до зелёного по шкале от 0 до 1.
0 — коричневый, 1 — зелёный

При контрастном NDVI цвета распределяются согласно значениям индекса конкретно на этом поле
А теперь давайте к делу: как мы сделали этот функционал по запросам пользователей? Рассказывают сами сотрудники OneSoil — Лера Мацкевич, Филипп Кондратенко и Женя Воронец.

Контрастный NDVI: начало

Накала страстей как в блокбастере у нас не было, но мы знаем, что выхода этой фичи вы — наши пользователи — ждали не меньше, чем очередного «Бэтмена». Кстати подсказали идею сами же фермеры.
Лера Мацкевич
Агент техподдержки
Функцию контрастного NDVI нам предложили сами пользователи, которые видели что-то похожее в других приложениях. Вдобавок, наш продакт-менеджер с дипломом агронома — Филипп Кондратенко — был двумя руками за этот функционал. После непродолжительного обсуждения с командой было решено — контрастному NDVI быть!
Пользователь предлагает новый функционал OneSoil_Блог OneSoil
Одно из сообщений от наших пользователей с просьбой добавить контрастный NDVI
Филипп Кондратенко
Тот самый продакт-менеджер с дипломом агронома
Для меня сделать контрастный NDVI было настолько естественным желанием, которое может понять только человек, который работал в программах ГИС.
Давайте, к примеру, посмотрим на поля вблизи города Балатон, штат Миннесота, через одну из ГИСовских программ.
Это очень сырой снимок, который мы обрабатываем с помощью наших алгоритмов, чтобы пользователи получали на выходе понятную картинку
Зумим карту в поисках нужного нам поля. Становится совсем непонятно, что здесь происходит
Чтобы увидеть проблемы отчетливее, я выбираю контрастный фильтр в программе. Вот так уже лучше
Но даже с фильтром фермеру будет непонятно, насколько хорошо колосится его американская рожь. Вот тут-то и приходит на помощь OneSoil.
Спутниковый снимок
Снимок, обработанный с помощью алгоритмов OneSoil. Поля со значениями NDVI
Тот же снимок, но уже с контрастным NDVI
Как вы видите, из наших снимков уже можно делать какие-то выводы: американская рожь отлично колосится на тёмно-зелёных участках, хуже — в зонах, окрашенных красным цветом. (Как мы превращаем спутниковые снимки в NDVI, читайте в этой статье у нас в блоге.)

Обычный NDVI нужен для общего понимания ситуации. А контрастный NDVI — это тот же снимок, но с более чётким выделением проблемных зон. На снимке, где все значения лежат в пределах 0,7−0,8, всё поле было бы просто зелёным. А с контрастным NDVI гораздо легче заметить разницу.

Как мы разработали этот функционал

Между моментом, когда Лера рассказала команде про пожелания пользователей, и релизом прошло не больше месяца. А месяц — это небольшой срок релиза для компании, которая весь свой функционал часто делает с нуля.
Лера Мацкевич
Агент техподдержки
Контрастный NDVI взяли в работу на удивление быстро. На одном из рабочих собраний я рассказала про идею, и ребята загорелись. Через пару недель началась отрисовка.
Женя Воронец
Бэкенд-разработчик
Сама по себе задача не представляла сложности для нашей команды. Контрастный NDVI — это по сути просто другая раскраска, или, скажем, как фильтр в инстаграме.
В обычном NDVI поля раскрашены по цветовой гамме от коричневого до зеленого на диапазоне от −1 до 1: 0 — самый плохой NDVI, 1 — самый хороший, а минусовые значения — это побочные элементы на картинке (снег, вода, скалы, горы и пр.). В контрастном NDVI используется градиент от красного до синего, и рассчитывается он не по стандартному диапазону значений от 0 до 1, а по разнице минимального и максимального значений NDVI на конкретном поле.

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

Как разработка функционала помогла по-новому взглянуть на большие задачи

Продолжает Женя.
Женя Воронец
Бэкенд-разработчик
Как ни странно, но разрабатывали мы контрастный NDVI достаточно долго. Причина очень простая: эта задача была связана с другими более глобальными, инфраструктурными задачами. Решено было по-новому обрабатывать данные, по-новому их хранить, чтобы в будущем мы могли эффективно расти. Соответственно нужно было полностью изменить архитектуру решения.
Раньше мы брали спутниковые данные и хранили картинки разного вида (например, обычный NDVI / контрастный NDVI), но этот подход к моменту разработки себя изжил. В итоге с новой архитектурой мы храним одну-единственную картинку в сыром виде, которую раскрашиваем на лету. Какую пользователь картинку запросил, такую мы ему и готовим.

Как отреагировали на новый функционал пользователи?

Лера Мацкевич
Агент техподдержки
Все встретили обновление очень хорошо. Пользователи видели этот функционал в других приложениях, и вот, наконец он появился у нас.
Конечно, прилетают иногда вопросы 一 а что такое контрастный NDVI? А зачем он? Для многих наших пользователей контрастный NDVI действительно в диковинку, хотя на самом деле мы не первые, кто подобный функционал реализует.

В чём было главное достижение команды?

Филипп Кондратенко
Продакт-менеджер
Контрастный NDVI нам обошёлся очень дёшево и#принёс максимальную пользу фермерам. По сути это просто фильтр, который добавляет реальную ценность нашим приложениям.
Отзывы пользователей на контрастный NDVI_Блог OneSoil
Отзывы пользователей после запуска контрастного NDVI
1. «Привет! Как дела? Можно ли добавить гистограммы, как в ***? Спасибо, что прислушиваетесь к пользователям! Поздравляю!» 2. «Очень доволен обновлением, в котором вы добавили контрастные снимки NDVI за разные даты. Благодарю» 3. «Спасибо за обновление с контрастным NDVI. Он очень полезен, так как помогает увидеть больше деталей в разных зонах. Спасибо. Очень благодарен. Отличное приложение»

Как вы видите, в разработке этого функционала не было ничего сложного. Как говорит Женя Воронец 一 не ядерная физика. Тем не менее, выгода для пользователя очевидная.

В приложении есть и очень сложные вещи, которые требуют месяцев долгой и сложной работы. Например, Cloud-free (безоблачный) NDVI или таблица севооборота. Что делает конкретно этот функционал особенным, так это то, что его предложили пользователи, он был прост в исполнении и добавляет реальную ценность нашим продуктам. А нужно было всего-то посмотреть на вещи в другом цвете.

Автор Вероника Чиж
Обсудить статью и насущные проблемы сельского хозяйства можно в нашем Телеграм-сообществе или WhatsApp-чате!
OneSoil
Хотите посмотреть на контрастный NDVI?
Статьи по теме
Про людей, поля и технологии
Подпишитесь на рассылку и получайте новые статьи прямо на почту. Можно читать даже в поле.