La IA que te ayuda a encontrar a tu ser querido desaparecido
Cómo construimos un sistema híbrido de reconocimiento facial y análisis de texto para conectar pacientes no identificados en hospitales con las familias que los buscan
Índice
¿Qué pasa si llegas solo a un hospital y nadie sabe quién eres?
Piénsalo un segundo. No es una pregunta filosófica: es la situación de miles de personas en México. Un accidente, una crisis, un episodio de violencia. Alguien llega a una institución de salud sin identificación, sin poder —o sin querer— decir su nombre. Y mientras tanto, en alguna casa, una familia lo está buscando en morgues y hospitales a ciegas.
Los números son brutales: en México hay más de 133,000 personas desaparecidas y no localizadas (RNPDNO, 2025), y más de 72,000 cuerpos sin identificar en morgues (INEGI, 2019-2023). Entre esos dos números hay un hueco enorme: pacientes vivos, registrados en un hospital, que nadie sabe que están ahí.

Ese hueco es el problema que ataca IAPEX.
IAPEX (Inteligencia Artificial para la Localización de Pacientes Extraviados en Instituciones de Salud), también conocido como Encuéntrame, es un sistema que combina reconocimiento facial y análisis de texto para conectar a un paciente sin identificar con la familia que lo busca. Es la segunda vida de un proyecto universitario, y después de dos años terminó siendo un paper publicado y expuesto en un congreso estudiantil de la UNAM, con acercamientos al IMSS en Veracruz. Este post es la historia de cómo funciona por dentro.
¿Por qué híbrido? Porque solo no alcanza
Cuando empezamos, revisamos lo que ya existía. FindMe y Encuéntrame RD son repositorios centralizados: guardan la información de los desaparecidos y la exponen, pero no la analizan. Otros proyectos usan solo reconocimiento facial, y si la familia no tiene una foto decente, no sirven. Ninguno resolvía el caso más común: tengo una descripción vaga y una foto de mala calidad.
La idea de IAPEX es que cada dato cuenta como evidencia parcial, y el sistema fusiona las dos. El requisito no negociable desde el día uno fue este: 100% de sensibilidad. IAPEX no puede perder a nadie. Si el paciente está en la base de datos, tiene que encontrarlo, aunque eso signifique mostrar candidatos de más que un humano tenga que revisar.
Cómo "piensa" IAPEX
El lado facial
Tomamos una foto del paciente y la pasamos por un modelo CNN preentrenado (dlib, vía la librería face_recognition) que convierte el rostro en un vector de 128 números: la huella facial. Después comparamos ese vector contra los de todos los pacientes registrados con distancia euclidiana. Mientras más pequeña la distancia, más parecido el rostro. Son miles de comparaciones en milisegundos.
El lado textual
Comparamos los campos de texto —nombre, sexo, complexión, características físicas— contra la base de datos con tres algoritmos a la vez: Levenshtein (qué tan parecidas son las cadenas), Jaro-Winkler (tolerante a errores de escritura) y Soundex (captura el clásico error de "lo registró el de recepción como sonaba").
¿Y por qué no un modelo de lenguaje?
Por una razón simple: cuando desarrollamos IAPEX, en 2024, los modelos de lenguaje eran un tema muy nuevo —apenas estaban naciendo los chats web con IA— y confiar la búsqueda de una persona a una tecnología tan joven era un riesgo que no valía la pena. Preferimos la vía probada: algoritmos clásicos de comparación de texto, rápidos y predecibles. Era la decisión correcta en ese momento, y de hecho nos dejó un pendiente claro (lo cuento al final).
La fusión
La similitud total es una ponderación: 25% textual + 75% facial. Si el resultado supera el umbral configurado para el modo de búsqueda (75% en modo texto, 50% en imagen e híbrido), es candidato. Y hay un filtrado en tres etapas: primero el umbral base, luego una verificación de coherencia entre campos (para no casar a alguien porque coincidió un solo dato) y por último un límite de resultados, para no saturar al operador.
Un ejemplo real (y una foto de un gato)
Un ejemplo real del paper: un registro "duplicado" con los mismos datos textuales (100%) y una similitud facial del 85% da (100% × 0.25) + (85% × 0.75) = 88.75% → match contundente. Y si le pasas la foto de un gato: distancia facial altísima, 0% de similitud, rechazado al instante. El sistema además aguanta fotos feas: vendas, tubos, lesiones, oclusiones.

La arquitectura (el repo es la verdad)
Cuatro piezas, cada una con su rol:
| Componente | Stack | Rol |
|---|---|---|
| search-api | FastAPI, Python | El motor de IA: fusiona facial + textual |
| core-api | Spring Boot 3, PostgreSQL + MongoDB | Orquestación, auth JWT, control de acceso (RBAC), sincronización |
| web-app | Angular 19, Bootstrap | Portal institucional para el personal de salud |
| mobile-app | React 18, Ionic, Capacitor | La app de las familias: suben foto y descripción |
El flujo de una búsqueda
El personal del hospital registra al paciente sin identificar desde el portal web. La familia busca desde su celular. El motor de IA cruza ambos lados, y el match se muestra con un porcentaje de similitud — anónimo hasta que el personal de la institución lo verifica. JWT de extremo a extremo, RBAC estricto y almacenamiento de medios cifrado. La privacidad no es un accesorio: es parte del diseño.
Y no es solo una promesa: el sistema está pensado para alinearse con las normas oficiales mexicanas que regulan este tipo de información — la NOM-004-SSA3-2012 (Del Expediente Clínico) y la NOM-024-SSA3-2012 (Sistemas de información de registro electrónico para la salud).
Los números, con honestidad
Probamos con 310 pacientes sintéticos (datos realistas generados con Faker + rostros sintéticos por GAN, sin un solo dato real) y 3,720 evaluaciones:
| Modo | Sensibilidad | Efectividad | Precisión |
|---|---|---|---|
| Texto | 100% | 96.8% | 9.2% |
| Imagen | 100% | 100% | 100% |
| Híbrido | 100% | 100% | 100% |

El tradeoff del modo texto
Ese 9.2% de precisión en texto se ve feo, y lo es — pero es un tradeoff deliberado. Al fijar el umbral alto para garantizar que nunca se nos escape alguien, aceptamos falsos positivos: revisar manualmente 118 candidatos es molesto; perder a una persona no tiene costo. Cuando hay una foto de por medio, el sistema es perfecto en todo.
De proyecto escolar a paper publicado
La primera vida: sin IA
IAPEX no nació en una startup ni en un laboratorio: nació como proyecto de cuatrimestre en la Universidad Tecnológica del Centro de Veracruz. Y esta es, de hecho, la segunda vida del proyecto. La primera versión, años atrás, fue desarrollada por otros compañeros y quedó publicada en la Revista Aristas de la UABC: era una plataforma que buscaba pacientes solo por descripción morfológica (estatura, complexión, rasgos), sin inteligencia artificial.
La convocatoria que se quedó en el camino
Nuestro turno llegó como parte de la convocatoria "Juntos por la Educación, Tecnología con Responsabilidad Social" de la Secretaría de Educación de Veracruz. Pasamos varias fases del proceso de evaluación —el proyecto fue aprobado con folio FPGS00424 y nos autorizaron un presupuesto de $149,233 MXN— pero el programa, por alguna razón, fue cancelado y nunca se le dio seguimiento. Nos quedamos con la idea, el equipo y las ganas.
Nuestra versión: con IA de verdad
Ahí empezó nuestra versión: con IA de verdad. Con un proceso formal de TRLs (niveles de madurez tecnológica) que nos obligó a documentar cada etapa, pasando por requisitos, mockups, presupuestos y versiones del paper en inglés y español, hasta convertirse en el artículo "A Hybrid Artificial Intelligent System for Missing Person Identification Using Facial Recognition and Textual Data Analysis".
Lo que vino después
Lo que vino después superó lo que esperábamos: ponencia oral en el CEIAAIT 2025 —el 8vo Congreso Estudiantil de Inteligencia Artificial Aplicada a la Ingeniería y Tecnología, organizado por la Facultad de Estudios Superiores Cuautitlán de la UNAM, un congreso estudiantil con memorias publicadas que reúne proyectos de IA de alumnos de distintos niveles académicos—, cartas del IMSS a nivel local (carta de intención de uso y carta de validación del proyecto, ambas del Hospital General de Córdoba, nov. 2025), una conferencia en el CBTIS Córdoba (SNCT 2025) y participación en FERVECI 2025.
Qué sigue
El punto débil es claro: los falsos positivos del modo texto. El plan es reemplazar Levenshtein/Jaro-Winkler/Soundex por modelos de lenguaje como GPT-5 o BERT para búsqueda semántica real — entender que "de tez morena" y "piel morena" son lo mismo. Y el siguiente paso grande: validar con datos reales anonimizados en un entorno controlado, porque hasta hoy las pruebas son sobre datos sintéticos. El siguiente capítulo se juega en el mundo real.
La IA puede sonar fría, pero el problema que resuelve es todo lo contrario: familias enteras esperando noticias. ¿Qué harías tú con una tecnología que, si funciona, reduce la identificación de días a segundos?