🖼️ Detector de Objetos en Imágenes

Manual de Usuario - Versión con Menú Interactivo

📋 Descripción General

Este script es una herramienta avanzada de procesamiento de imágenes que utiliza inteligencia artificial (a través de Ollama) para detectar automáticamente objetos en imágenes almacenadas en una base de datos MongoDB. Cuenta con una interfaz de usuario interactiva basada en menús con colores para facilitar su uso.

📁 Código Fuente: El script en Python está disponible para descarga y revisión: detectar_objetos_ollama.py

🎯 Funcionalidades Principales

⚙️ Requisitos del Sistema

Software Requerido

Librerías Python

pip install ollama pymongo colorama

Estructura de Base de Datos

El script requiere una base de datos MongoDB con:

🚀 Cómo Usar el Script

Instalación de Dependencias

$ pip install ollama pymongo colorama
$ ollama pull gemma3:4b

Ejecución

$ python detectar_objetos_ollama con_menu.py

📱 Interfaz de Usuario

Menú Principal

==================================================
DETECTOR DE OBJETOS EN IMÁGENES
==================================================

Selecciona una opción:
1. Detectar objetos por tamaño (KB)
2. Detectar objetos por extensión
q. Salir

Presiona 'q' en cualquier momento para salir

Opciones Disponibles

Opción Descripción Comportamiento
1. Por Tamaño Filtra imágenes por tamaño máximo en KB Solo procesa imágenes menores al límite especificado
2. Por Extensión Filtra imágenes por tipo de archivo Solo procesa imágenes con la extensión especificada
q. Salir Cierra la aplicación Termina la ejecución del programa

🔧 Ejemplos de Uso

Ejemplo 1: Procesar Imágenes Pequeñas

Escenario: Procesar solo imágenes menores a 200KB
Selección: Opción 1
Entrada: 200
Resultado: Solo se procesarán imágenes de menos de 200KB

Ejemplo 2: Procesar Solo JPG

Escenario: Procesar solo imágenes JPG
Selección: Opción 2
Entrada: jpg
Resultado: Solo se procesarán archivos con extensión .jpg

⚡ Cómo Funciona el Script

  1. Inicio: El script verifica las conexiones a MongoDB y Ollama
  2. Búsqueda: Consulta la base de datos por imágenes no procesadas
  3. Filtrado: Aplica el filtro seleccionado (tamaño o extensión)
  4. Procesamiento: Para cada imagen:
    • Codifica la imagen en base64
    • Envía a Ollama para análisis con el modelo gemma3:4b
    • Extrae la lista de objetos detectados
    • Actualiza la base de datos con los resultados
  5. Reporte: Muestra estadísticas finales del procesamiento
Muestra del script en proceso de detección de objetos

📊 Formato de Resultados

Estructura en MongoDB

Cada documento procesado se actualiza con:

{ "_id": ObjectId("..."), "ruta": "/ruta/a/la/imagen.jpg", "peso": 150.5, "objeto_procesado": true, "objetos": ["mesa", "silla", "computadora", "taza"] }

🔍 Detalles Técnicos

Modelo de IA

Configuraciones

🚨 Manejo de Errores

Errores Comunes:

🎨 Características de la Interfaz

📝 Notas Importantes

  1. El script marca automáticamente las imágenes como procesadas, incluso si hay errores
  2. Las imágenes se procesan en el orden que devuelve MongoDB
  3. El progreso se muestra actualizado en tiempo real en una sola línea
  4. Presiona 'q' en cualquier momento para cancelar operaciones

🔮 Mejoras Futuras