60 millones de campos y 27 cultivos. Cómo hicimos un mapa de todos los campos de Europa y EE. UU.



Hace unos meses, lanzamos el primer mapa interactivo gratuito del mundo, con el que puede ver información sobre cualquier campo en los EE. UU. Y Europa. Docenas de publicaciones escribieron sobre el mapa, y en Product Hunt ella recolectó mil quinientos `` me gusta '' sin precedentes para un producto del sector agrícola (y finalmente se convirtió en el Producto de IA y Aprendizaje Automático del Año 2018). Desarrollamos el mapa durante dos meses, así fue.

El mapa interactivo se basa en algoritmos de aprendizaje automático e imágenes satelitales. Contiene información sobre 60 millones de campos y 27 culturas en 44 países de Europa y Estados Unidos. Datos: por tres años. Reconocimos todos los campos con la ayuda de ML de imágenes de satélite. Usando el mapa, puede monitorear tendencias a nivel de países y regiones, y observar el desarrollo de un campo específico. Por ejemplo, puede averiguar cuánta tierra ocupaba el maíz en los Estados Unidos en 2016 (49,1 millones de hectáreas) o qué región de Bélgica tiene la mayor cantidad de campos de trigo (Valonia).


Europa con un zoom mínimo

Usando el mapa, también puede encontrar información en un campo separado: su tamaño, cultura, cronograma de desarrollo y un indicador de campo integral. Se calcula mediante el índice NDVI, los indicadores climáticos y la productividad relativa del campo. En cualquier momento, puede ver cómo se están desarrollando las remolachas en su campo o qué área asignó el vecino a las legumbres el año pasado. Entre otras cosas, es hermoso. Creamos el botón "campos hermosos al azar": te lleva a más de 35 lugares en todo el mundo, cada uno de los cuales parece una obra de arte abstracto.

La idea de crear dicha tarjeta apareció en julio del año pasado. Nos faltaba una herramienta que nos permitiera demostrar claramente todas nuestras capacidades tecnológicas. En agosto, todo el equipo comenzó a desarrollarse de cerca.

Datos: recopilar, procesar, comprimir


Al desarrollar el mapa, utilizamos imágenes del satélite Sentinel-2 del programa Copérnico de la Unión Europea. En total, se procesaron alrededor de 250 terabytes de información para Europa y EE. UU. En la primera etapa, realizamos el preprocesamiento de las imágenes: limpiamos las nubes, las sombras, la nieve y realizamos la compresión de datos. Luego, en los 50 terabytes resultantes, lanzaron el proceso de búsqueda de límites de campo y clasificación de culturas en nuestros modelos de aprendizaje automático. En la salida, recibimos alrededor de 250 gigabytes de mapas vectoriales que contienen geometrías de campo y cultivos.

Para procesar datos y calcular estadísticas, utilizamos las bases de datos PostgreSQL y PostGIS. Después de exportar los datos vectoriales originales, obtuvimos una base de datos en la que había aproximadamente 180 millones de registros de geometría de campo, así como más de mil millones de registros de información de atributos adicionales sobre los propios campos durante tres años. Sobre esta cantidad de datos, calculamos estadísticas, clasificaciones, determinamos la popularidad de diferentes culturas en las regiones del mundo, todo lo que se muestra en el mapa en la columna izquierda y consejos interactivos.


Campos de croacia

Queríamos calcular y mostrar rápidamente indicadores agronómicos para el campo, así como visualizar un gráfico del desarrollo de la planta durante la temporada. Para hacer esto, utilizamos nuestro propio enfoque para el almacenamiento en caché y la compresión de datos satelitales. Esto nos permitió reducir el tamaño del almacén de datos en 100-200 veces, y reducir la velocidad de obtención de información en el campo a 1 segundo.

También en esta versión del mapa, agregamos un indicador integral de Puntuación de campo, que le permite evaluar rápidamente la calificación de campo. Field Score es el primer paso hacia el pronóstico de rendimiento, en el que nuestro equipo está trabajando actualmente. El mapa se hizo en poco tiempo, así que tuve que inventar muchas soluciones originales sobre la marcha. Pero aplicamos todas las novedades en el trabajo de nuestro producto principal.

Mapa: elija el formato y prepare los datos


Para visualizar los datos, utilizamos Mapbox. Hay dos enfoques para crear un mapa, probamos los dos. El primero implica crear un mapa ráster. En este caso, dividimos el mapa en cuadrados, que representamos en imágenes y almacenamos en el servidor. El navegador descarga varias imágenes y las mueve cuando el usuario se mueve por el mapa. Este enfoque le permite mostrar todos los campos, no necesita filtrar nada. Esto es hermoso, lo negativo es que el mapa es estático, además las imágenes de mapa de bits pesan mucho.

El segundo enfoque es crear un mapa vectorial. El navegador carga los datos del vector y los anima en el lado del cliente. Así es como funcionan los mapas modernos de Google y Yandex. Los datos pesan menos que las imágenes y le permiten cambiar el diseño de cualquier elemento. Este mapa puede ser realizado por el servicio Mapbox, en particular, su biblioteca Mapbox GL es una herramienta de código abierto para mostrar mapas en la web. Entre otras cosas, Mapbox proporciona un servicio de almacenamiento de mapas pago. Puede cargar manualmente sus datos a sus servidores, y Mapbox distribuirá rápidamente la información, asegurando la operación precisa del mapa. Esta es una parte esencial del trabajo, y gracias al hecho de que Mapbox se encarga de sí misma, la tarea del equipo se ha simplificado enormemente.


Emilia Romagna, Italia

Cuando se trabaja con datos vectoriales, existe una limitación condicional: cuanta más información desee mostrar en el mapa, más lento funcionará todo. Para resolver este problema, utilizamos una utilidad de Mapbox llamada Tippecanoe. En función de los algoritmos que seleccionamos, determinó en qué zoom ciertos campos serán visibles y cuáles no, y eliminó los objetos vectoriales invisibles de la capa. En total, Tippecanoe tiene más de 20 algoritmos de filtrado, probamos todo y seleccionamos algunos básicos. Preparamos los datos así preparados usando la tecnología mbtiles de Mapbox hasta 50 gigabytes, y luego los cargamos en los servidores de la compañía.

El uso del marco Next JS, que realiza la representación del lado del servidor de la página, hizo posible acelerar aún más el mapa. La mayoría de las aplicaciones en el mundo moderno se representan completamente en el lado del cliente: cuando se abre una ventana, el navegador muestra una página hmtl vacía y un script que carga toda la información. El marco Next JS representa todo en el servidor, y esto hace que la carga de la aplicación sea rápida para el cliente.

Mapa: configura el visual y crea un "botón mágico" la noche antes del lanzamiento


Mapbox fue un descubrimiento agradable para nuestro diseñador. El servicio simplificó su tarea porque pudo visualizar los datos sin involucrar a un desarrollador front-end. Desde el exterior puede parecer que es fácil colorear los campos en la interfaz terminada, pero hay muchos matices. Tenemos 27 culturas, y elegir colores para ellas no fue fácil. Para las culturas populares, se necesitan colores contrastantes, para colores menos populares y menos contrastantes, y todos deben ser claramente visibles en diferentes niveles de zoom. El mapa tiene muchas sugerencias de anidamiento e interactivas, por lo que lo más difícil fue pensar la lógica de las transiciones a diferentes niveles.

La noche anterior al lanzamiento, nos dimos cuenta de que aunque es interesante mirar el mapa y los números, no quiero compartir esto en las redes sociales. Por lo tanto, decidimos agregar el botón "campos hermosos al azar", que arroja a los usuarios entre diferentes lugares del planeta. En toda la oficina buscamos lugares hermosos, en una hora apretamos un botón y lo inventamos todo. Por la mañana lo probamos y lo empezamos. Parece que fue esta función la que nos dio tanta cobertura. De lo contrario, nadie habría prestado atención al hecho de que los campos son similares a las pinturas abstractas. No subestimes el poder de las decisiones de última hora.


Campos de francia

Agregamos otra función al mapa después del lanzamiento. Sabíamos que a veces no reconocemos exactamente los campos y las culturas en el mapa, y los comentarios de los usuarios nos permiten mejorar nuestros algoritmos. Después del lanzamiento, los agricultores comenzaron a enviar mensajes sobre inexactitudes en el reconocimiento de cultivos: "Tengo girasol creciendo en el campo, y ustedes tienen maíz". Para resolver este problema, agregamos un botón a la tarjeta de campo que nos envía notificaciones de error. La información que utilizamos se utiliza para mejorar la precisión de nuestros modelos de reconocimiento de cultivos.

Al final


Durante su desarrollo, el concepto de la tarjeta se ha vuelto mucho más complicado. Si al principio planeamos hacer una visualización simple de los campos y cultivos en todo el mundo, entonces el producto final resultó ser mucho más complejo. Pero la tarjeta valió la pena. Después del lanzamiento, cientos de inversores, fundaciones e investigadores científicos nos escribieron. Utilizaremos parte de soluciones tecnológicas, por ejemplo, el marco Next JS y la utilidad Tippecanoe, para trabajar en nuestra plataforma web gratuita de agricultura de precisión OneSoil .

Fuimos los primeros en mapear todos los campos de Estados Unidos y Europa en tres años. Los datos que recibimos son únicos. Ya sabemos más sobre los campos que cualquier compañía o estado. Y las estadísticas que obtenemos utilizando algoritmos de aprendizaje automático a menudo son más precisas que las que se recopilaron manualmente. Hemos dado el primer paso para reconocer automáticamente los campos de todo el mundo: este es nuestro plan para el futuro cercano.

Source: https://habr.com/ru/post/450070/


All Articles