Autor: Alexander Oviedo Fadul | Grupo 10
¡Hola a todos, profesor Félix y compañeros de curso! En representación de mi equipo de trabajo (Grupo 10), conformado por María Fernanda, Neheman Samir, William David, Yesith Stiven y mi persona, procedo a realizar el aporte principal para este foro sobre hardware en visión por computador.
Como ingenieros de sistemas, entendemos que la IA no opera en el vacío conceptual; depende de un soporte electrónico real. En el marco del desarrollo del Ecosistema MARDUK y específicamente de su componente SIRFAJ (Sistema Inteligente de Reconocimiento Facial para Audiencias Judiciales), la selección del hardware no es un aspecto secundario, sino el factor estratégico que dictamina si un modelo pasa de ser un prototipo de laboratorio a una solución funcional en un juzgado real.
La relevancia del hardware en visión por computador es crítica debido a que las imágenes digitales son tratadas matemáticamente como tensores numéricos tridimensionales (intensidad de píxeles y canales de color como RGB). Procesar una imagen para extraer características primarias y luego pasarla a través de capas neuronales convolucionales implica realizar miles de millones de operaciones matriciales (multiplicaciones de matrices, convoluciones, pooling y actualizaciones de pesos sinápticos mediante retropropagación).
Como indican Zafar et al. (2018), la potencia de cálculo define la viabilidad del proyecto. Si el hardware es insuficiente, el entrenamiento de una red neuronal convolucional (CNN) puede tardar semanas en lugar de horas. Adicionalmente, para aplicaciones de misión crítica como el reconocimiento facial en vivo durante las audiencias judiciales, la latencia de inferencia debe ser inferior a los $100\text{ ms}$. Si el procesador no responde en tiempo real, se produce una pérdida de fotogramas, lo que degrada la confiabilidad del sistema.
Para lograr un diseño óptimo en SIRFAJ, estructuramos la selección de hardware bajo los siguientes criterios decisivos:
A continuación, comparto un ejemplo conceptual del código Python (usando la API de TensorFlow) que utilizamos para verificar la asignación física de operaciones matemáticas al dispositivo acelerador (GPU) disponible:
# Verificación de asignación de dispositivos físicos en TensorFlow para SIRFAJ
import tensorflow as tf
# Listar dispositivos físicos disponibles
physical_devices = tf.config.list_physical_devices('GPU')
print("GPUs detectadas en el sistema local:", len(physical_devices))
# Habilitar el crecimiento de memoria para evitar saturación de la VRAM
if physical_devices:
try:
tf.config.experimental.set_memory_growth(physical_devices[0], True)
print("Crecimiento de memoria habilitado exitosamente en GPU.")
except RuntimeError as e:
print("Error de asignación de hardware:", e)