Desarrollo de una plataforma web asistida por inteligencia artificial para descarga masiva de imágenes - Arellano, Franco Javier (2024)
La mejora en la eficacia de los algoritmos de aprendizaje profundo ha despertado un interés generalizado en esta tecnología. Uno de los campos donde ha tenido un impacto más significativo es la medicina, donde la capacidad de estos algoritmos para reconocer patrones se ha explotado con éxito para analizar imágenes de patologías complejas y proporcionar diagnósticos precisos. Para obtener buenos resultados, los algoritmos de aprendizaje profundo requieren ser entrenados con una gran cantidad de datos. Esto suele ser dificultoso en medicina, por ejemplo, donde la obtención de los estudios implica colaborar con diversos profesionales y pacientes y hacer uso de equipamiento complejo y costoso. En este trabajo se presenta el desarrollo de una plataforma diseñada para obtener imágenes mediante la extracción automática de la web, conocida como web scraping. Nuestro objetivo principal es recolectar un número importante de imágenes obtenidas a través del motor de búsqueda de Google Images para una consulta específica, y almacenarlas en un único repositorio para su posterior procesamiento y análisis. La solución propuesta, desarrollada íntegramente en Python, utiliza la biblioteca Selenium para interactuar con las interfaces web y realizar el scraping del contenido de forma eficiente. Se plantearon dos implementaciones, una secuencial y otra concurrente, y se analizaron los tiempos de descarga de cada una. Además, se propuso la integración de un módulo de detección de anomalías para el filtrado de imágenes no adecuadas al dominio esperado, a través de una API REST. A partir de esta incorporación, se plantearon dos alternativas adicionales, una basada en una regla heurística que prioriza búsquedas y recorridos en imágenes similares a las esperadas, y otra que poda las descargas de aquellas imágenes detectadas como anómalas. El algoritmo propuesto demostró ser capaz de obtener un gran número de imágenes en tiempos cortos, lo que favorecerá su aplicación para recolectar datos para entrenamiento de algoritmos auto-supervisados. Asimismo, la implementación concurrente combinada con la estrategia de poda mostró ser lo suficientemente robusta como para recolectar imágenes de utilidad para las aplicaciones posteriores.