Небольшие ручьи редко получают столько же внимания, сколько крупные реки, хотя изменения уровня воды в малых водотоках помогают замечать последствия засух, сильных дождей и других природных процессов. Уже 15 лет недостающие наблюдения собирают добровольцы в рамках проекта CrowdHydrology. Более 8000 участников отправили свыше 20 000 измерений с более чем 200 пунктов в 26 штатах США. Теперь разбирать часть накопившихся фотографий помогает искусственный интеллект.
Добровольцы следят за водомерными рейками, установленными у рек и ручьев. Водомерная рейка представляет собой вертикальную шкалу с делениями, по которой определяют высоту поверхности воды. Наблюдения с небольших водотоков помогают исследовать, как ручьи реагируют на изменение природных условий и как колебания уровня влияют на расположенные ниже по течению реки и экосистемы.
На первых этапах участники просто отправляли текстовым сообщением число, которое видели на шкале. Распространение смартфонов изменило привычный процесс: вместо готового значения добровольцы начали присылать фотографии водомерных реек. Для наблюдателя снимок удобен, но исследователям пришлось вручную открывать каждый файл, находить границу воды, считывать деление, проверять результат и переносить число в базу данных.
При нескольких десятках фотографий ручная проверка не создает серьезной нагрузки. Сеть CrowdHydrology со временем накопила тысячи снимков, поэтому обработка превратилась в отдельную трудоемкую задачу. Автоматизировать ее решили с помощью большой языковой модели Gemini от Google, не разрабатывая специализированную систему компьютерного зрения с нуля.
Первые испытания показали, что передавать модели исходную фотографию целиком недостаточно. Добровольцы снимают рейки в обычных полевых условиях: изображение может получиться размытым, на шкалу падает тень, вода бликует, а сама рейка иногда занимает лишь небольшую часть кадра. Gemini приходится разбирать всю сцену, хотя для измерения нужны всего два элемента: шкала и граница воды.
Перед отправкой в Gemini фотографию начали предварительно обрабатывать. Изображение переводят в черно-белый вид, чтобы алгоритму было проще отделить более темную воду от водомерной рейки и определить область, где проходит линия воды. После обработки модель получает кадр, в котором нужный участок выделен заметнее, а посторонние детали меньше мешают измерению.
Предварительная обработка сильно повлияла на точность. При работе с исходными фотографиями отдельные результаты отличались от реального уровня примерно на 30 сантиметров. Водомерные рейки в проекте имеют высоту около 90 сантиметров, поэтому ошибка могла достигать трети всей шкалы.
После подготовки снимков доля фотографий, которые система не могла интерпретировать, сократилась с 17% до 2%. Идентификаторы пунктов наблюдения Gemini правильно распознавала примерно в 98% случаев. Эксперимент показал, что результат зависит не только от возможностей самой модели. Большое значение имеет способ подготовки исходных данных и то, насколько точно алгоритму указывают область изображения, которую требуется проанализировать.
Полностью передавать измерения искусственному интеллекту исследователи не планируют. После автоматического анализа доброволец получает вычисленный уровень воды и может исправить значение при ошибке. Человек сохраняет контроль над итоговым показанием, а система берет на себя наиболее однообразную часть обработки фотографий.
Метод пригодится и за пределами гидрологии. Во многих научных проектах исследователи вручную просматривают большие массивы изображений ради одного числа, объекта или визуального признака. В некоторых задачах достаточно предварительно обработать фотографию, выделить нужную область и передать подготовленный материал универсальной ИИ-модели. Разрабатывать отдельную нейросеть и обучать ее с нуля при таком подходе не требуется.