Este artículo es el quinto de una serie de artículos publicados por la startup IA Sapiens dedicada a explicar qué es la Inteligencia Artificial en el sector porcino.
La explosión de casos de uso de vision computer en el sector porcino es realmente notable. Prácticamente no hay parte de la cadena de valor porcina en la cual no se esté comenzando a usar el Vision Computer para algo. Sí que es necesario tener en cuenta aquí, que el Vision Computer es una tecnología muy potente pero que todavía está en fase de maduración, y que algunas de sus aplicaciones presentan riesgos notables. Mi recomendación es que hay que mantenerse muy interesado en este tipo de casos de uso y probar las tecnologías ya disponibles, pero ser realistas respecto a los objetivos que se pueden conseguir en el corto, medio y largo plazo con estos sistemas. Ejemplo de casos de uso de Vision Computer en porcino:
- Recuento celular en aplicaciones genéticas
- Recuento seminal
- Estudio de comportamiento (cerdos levantados, sentados, agresivos, …)
- Estimación de peso para estrategias de shipping/marketing/envío a matadero
- Recuento en carga y descarga
- Detección de contaminación en cebo o matadero
- Detección de lesiones pulmonares
- Clasificación de producto en despiece
- Detección de fallos de loncheado
Como podemos ver, la lista es enorme y no para de aumentar. Sin embargo, me voy a centrar en uno de mis preferidos, por lo burbujeante de su literatura científica y el rápido desarrollo que ha tenido en los últimos 6 meses, que es la monitorización de cebos de engorde mediante vision computer. Nos puede servir como ejemplo este paper de Junio del 22, que a la velocidad que va este sector se puede considerar casi obsoleto. En él se propone monitorizar unos cerdos de engorde mediante una cámara con profundidad espacial. O sea, una cámara que aparte de la imagen nos dice como de lejos está cada pixel de la misma. Es una cámara bastante cara! Otra aproximación más normal en el sector es usar una cámara bastante más barata, y aplicar técnicas avanzadas de IA que permiten conseguir los mismos resultados: que nuestro modelo entienda la escena que está viendo en 3 dimensiones, aunque la cámara sólo tenga 2 dimensiones.
Otro punto importante del articulo es que aspira a la identificación individual de los cerdos. Hay aplicaciones de Vision Computer que por ejemplo hacen estimaciones a nivel de cuadra, pero las más potentes aspiran a la trazabilidad individual. Una vez centrados en este objetivo, hay estrategias muy variadas para conseguir identificar un cerdo individualmente mediante vision computer. Los autores de este paper utilizan una serie de combinaciones de crotales para ello.
Una vez aplicadas estas técnicas, la IA nos puede ayudar de varias maneras. Por ejemplo, llevar un seguimiento de cuándo los cerdos están de pie o tumbados, que aunque sorprenda, tiene muchas aplicaciones. Contar los metros recorridos por animal al día (esta es realmente difícil). Ayudar a estimar el peso a nivel grupal o individual, lo que puede tener un impacto importante en las estrategias de shipping. Detectar un manejo inadecuado. Predecir brotes epidemiológicos. Detectar cuántos cerdos hay sonriendo en un momento dado (es broma, los cerdos no sonrien, pero sí que tienen emociones y también se pueden medir!). En fin, con un poco de imaginación las aplicaciones del vision computer en el sector porcino son infinitas.
Hablemos un poco de cómo se construye un algoritmo de vision computer, para entender en qué tipo de proyecto entramos. Los proyectos de vision computer son de los más difíciles que se pueden hacer en inteligencia artificial, y el sector porcino añade una dificultad especial por las condiciones experimentales (parásitos que ocluyen las cámaras, suciedad, partículas suspendidas, agua que afecta a las instalaciones, pérdidas de corriente o de internet…). Recordemos de artículos anteriores que para construir un algoritmo primero generábamos un conjunto de datos, luego entrenábamos nuestro modelo, y luego lo desplegábamos y utilizábamos en la fase de scoring.
Recolectar un conjunto de datos de vision computer es una tarea verdaderamente difícil, pues queremos que estén representados cerdos pequeños, cerdos grandes, cerdos medianos, todas las horas del día, todos los meses del año, diversos tipos de granjas y corrales… vamos a tener que grabar miles de horas a lo largo de un período de tiempo realmente grande! Luego, para ayudar a la máquina a interpretar lo que estamos viendo, humanos tendrán que etiquetar el conjunto de vídeos. Por ejemplo, para ayudar a entender a la máquina lo que es un cerdo, humanos revisan una imagen y marcan un cuadrado rodeando a cada cerdo. Si estamos etiquetando 16 cerdos en 100.000 imágenes, habrá que hacer esta operación 1.600.000 veces. Generar un buen banco de imágenes para vision computer en el sector porcino no es tarea sencilla!
Luego, hay que entrenar el algoritmo lo cual necesita una cantidad de recursos inmensa. Para que te hagas una idea, todo el texto de este artículo ocupa 7KB, mientras que la imagen del mismo ocupa 422KB. De manera muy aproximada, que una IA interprete la imagen es 60 veces más costoso que se lea este artículo. Ahora multipliquémoslo por un banco de 100.000 imágenes, y te puedes imaginar el costo en tiempo (y dinero) de entrenar un buen algoritmo de Vision Computer! Afortunadamente, una vez que tenemos un buen algoritmo entrenado entramos en una fase de mucha rentabilidad, pues con muy poco hardware (una cámara que puede costar 150€) podemos controlar muchas cosas, y con un poco de imaginación dar un salto cualitativo importante. Muchas cosas que requerían de un humano observando 24×7, ahora se pueden hacer de manera desatendida y para conjuntos de cerdos realmente grandes, por lo que hay una explosión de casos de uso que son de aplicación.
En artículos anteriores hablábamos del impacto que habían tenido las arquitecturas basadas en Transformers en la inteligencia artificial. La primera ola de aplicaciones de vision computer vino a través de una arquitectura llamada CNN (redes convolucionales). Pero actualmente los transformers están llevando el sector mucho más lejos de lo que nunca pudimos soñar. Se comenzaron a aplicar en el campo del NLP (procesamiento del lençnguaje) para el caso de uso de la traducción, pero sin lugar a dudas el caso que los ha hecho mundialmente conocidos es la aplicación a IAs generativas del estilo de ChatGPT. En esencia, los transformers son herederos de un conjunto de intentos a través de diversas arquitecturas de ser buenos en recordar la secuencia en la que suceden las cosas. Por ejemplo, en una frase el orden de las palabras es importante y puede cambiar completamente el significado. «El perro mordió al hombre» y «El hombre mordió al perro» son dos frases con el mismo conjunto de palabras pero con un orden completamente diferente. Las arquitecturas previas no eran del todo buenas, solían olvidar todo lo que no sucediera a corto plazo, pero los transformers son especialmente buenos recordando cosas que han sucedido hace mucho tiempo, lo cual los hace ideales para cualquier caso de uso en el que las cosas sucedan en un cierto orden. En un vídeo vemos un número de imágenes por segundo, que nos dan sensación de movimiento, y hemos conseguido que los Transformers traten cada una de esas imágenes como parte de una secuencia, consiguiendo así que se puedan aplicar no sólo en el lenguaje humano, sino también en el vision computer. Gracias a ello, estamos viendo evoluciones muy notables y rápidas en el vision computer dedicado a la observación animal, lo cual es una muy buena noticia!
Este artículo es el cuarto de una serie de artículos publicados por la startup IA Sapiens dedicada a explicar qué es la Inteligencia Artificial en el sector porcino.