Un par de años llevo con esto, que se dice rápido. Partiendo de las más absoluta ignorancia en IA (bendito ChatGPT), pero con una idea en la cabeza, imagina: poder poner las cámaras de fototrampeo/webcams en la finca y que te avisen en tiempo real sobre qué – quien – cuando – donde está pasado un animal, persona, pájaro, perro… Imagina, estar en tu casa viendo la tele y que te llegue un whatsapp que diga: «Tio!! la gineta está en el bebedero!! Corre p’allá!!«
Pues aunque parezca increible (sobre todo para mi mismo) estoy ya en condiciones de poder montarlo!! Os presento el sistema (tengo que buscarle un nombre digno) y os cuento como funciona. Trataré de ser conciso y poco técnico.
Pruebas iniciales
Obviamente de primeras di muchas vueltas y probé muchos sistemas de IA (basicamente librerias de PYTHON desarrolladas sobre tensorflow, Google 2015) para la clasificación de imágenes y redes neuronales. El «metodo» es basicamente el mismo en todos los casos: se le pasa a un software miles y miles de fotos acompañadas de un txt que les diga qué está viendo en cada caso y se les deja que las analizen (entrenamiento) durante un tiempo que tiende a ser largísimo o muy largísimo (se requieren equipos potentes).
Tras mucho tiempo de trabajo pude conseguir alguna cosa interesante pero el problema era siempre el mismo : muchisímos falsos positivos. Demasiados. Tantos que hacían inutil cualquier positivo auténtico. Si pones un sistema a monitorizar un streaming de vídeo y le dices «avisame cuando aparezca un perro«, peor que no te avise cuando pasa el perro es que si lo haga cuando no pasa.
El problema es que la inmensa mayoría de los proyectos de reconocimiento de objetos en imágenes están pensados y desarrollados para ejecutarse en situaciones muy acotadas, bien controladas y con poca variación: un sistema de clasificación visual de objetos que pasar por el escaner de un aeropuerto, el reconocimiento de texto escrito sobre un folio blanco, matrículas de coches en carretera, etc… situaciones con variación restringuida. Pero para mi proposito lo que necesitaba era un sistema capaz de «ver» un conejo que apenas ocupa el 5% de la superficie de la foto de 640 pixels, en un paisaje de piedras, vegetación, sombras, hierbas y viento, grabado por una cámara/webcam de 30€, sin enfoque automático, sin corrección de exposicion, abandonada en mitad del campo, que se moja por las noches o llena de polvo, grabando en unas condiciones pésimas de luz la mayor parte de las veces y que todavía empeora más cuando entra en modo nocturno, en blanco y negro, reduce la resolución y sobreexpone todo lo que haya en el centro.
Sigue leyendo…