El proyecto
De la foto al grupo morfológico
OsteoLab nació como una herramienta de apoyo para catalogar restos óseos sin depender de que un especialista esté siempre disponible para una primera identificación. El proceso hasta el modelo actual fue iterativo — cada etapa respondió a una limitación real encontrada en la anterior.
-
1
Medición geométrica clásica
El punto de partida fue puramente visión por computador: localizar el contorno del hueso con OpenCV y extraer medidas relativas — proporción de aspecto, elongación, circularidad, solidez, convexidad, perfil de anchura a lo largo del hueso y momentos de Hu. Sobre ese vector de medidas se entrenó un
RandomForestClassifierpor grupo morfológico. -
2
Filtrar antes de clasificar
Antes de invertir cómputo en medir y clasificar, la imagen pasa por un filtro CLIP zero-shot (¿esto es un hueso?) y un filtro binario ResNet18 de refuerzo. Así se descartan fotos que no contienen huesos sin necesidad de dataset propio para esa tarea.
-
3
Pocos huesos reales, muchos renders sintéticos
Con uno o dos especímenes reales por hueso concreto, el modelo no puede generalizar a nivel de especie o pieza exacta — por eso se agrupa por forma general (grupo morfológico) y se amplía el dataset con renders 3D sintéticos con ruido. La síntesis pasó por varias iteraciones: ruido clásico primero, y más adelante migración a BlenderProc (máscaras exactas, HDRIs reales de fondo, suciedad procedural, óptica variable) — combinando ambos enfoques en vez de sustituir uno por otro, que fue lo que mejor resultado dio.
-
4
El hueco entre síntesis y realidad
El banco de evaluación con renders limpios llegó a acertar por encima del 77%, pero las fotos reales rondaban solo el 27%. El extractor geométrico descarta toda la textura y el sombreado de la imagen — señal que sí podía ayudar a cerrar ese hueco.
-
5
Entra la CNN: modelo híbrido
Se entrenó un backbone ResNet18 preentrenado en dos fases (cabeza congelada primero, luego ajuste fino completo a tasa de aprendizaje baja) en dos variantes: una CNN pura sobre píxeles, y un modelo híbrido que concatena el embedding de la CNN con el mismo vector de medidas geométricas antes de una cabeza de clasificación — la apuesta era que forma y textura son señales complementarias, no redundantes. Los resultados confirmaron la apuesta: el híbrido superó a ambas ramas por separado en todos los bancos de prueba.
-
6
La segmentación importaba más de lo esperado
Sustituir la segmentación clásica (umbralización tipo Otsu) por Grounded-SAM — segmentación guiada por lenguaje natural — mejoró de forma notable tanto el modelo geométrico como el híbrido. La medición era buena; lo que fallaba antes era encontrar el hueso dentro de la imagen.
-
7
12 fotos reales, el mayor salto
Incorporar apenas 12 fotografías reales al entrenamiento — un 0.3% del dataset combinado — movió más el resultado que cualquier mejora de síntesis probada hasta entonces. El hueco de dominio entre sintético y real se cierra, sobre todo, con datos reales de verdad.