En resumen
El proyecto construye modelos abiertos de visión artificial para la cirugía: reconocen en el vídeo órganos, instrumentos y las fases de una operación. El código es abierto, los datos proceden de conjuntos de datos quirúrgicos publicados, y cirujanos y estudiantes de medicina trabajan junto a los ingenieros.
Para ti es la oportunidad de resolver un problema real con datos reales, de escribir código que revisan ingenieros con experiencia y de construir un portafolio abierto que puedes mostrar a cualquier empleador o director de trabajo.
Qué obtienes
Un problema real en lugar de un ejercicio
No otro Titanic u otro MNIST, sino grabaciones de operaciones reales: humo, reflejos, sangre, órganos ocultos tras los instrumentos, vídeos largos y pocos fotogramas anotados. Aquí se ve por qué una buena puntuación de validación no garantiza nada y en qué se diferencia la investigación de un tutorial.
Visión artificial a escala real
Segmentación de órganos e instrumentos, reconocimiento de fases quirúrgicas en vídeo, detección y seguimiento de instrumentos, preanotación con Segment Anything 2. Ablaciones, ejecuciones repetidas, intervalos de confianza y comparaciones justas, siguiendo las reglas de las publicaciones científicas.
Ingeniería de nivel industrial
Pruebas y CI en cada pull request, revisión de código, versiones de datos en DVC, configuración en Hydra, experimentos en MLflow, servicios FastAPI en Docker. La infraestructura del proyecto se define como código: Kubernetes, Terraform, Helm. No es un banco de pruebas de clase; lo usan los anotadores.
Un portafolio abierto
Tus commits y pull requests viven en un repositorio público con licencia Apache-2.0. Puedes enlazarlos desde tu currículum: un empleador ve código real, debate y revisión, no una línea que dice «conoce PyTorch». Un perfil en la página del equipo se publica con tu consentimiento.
Revisión de ingenieros con experiencia
Otro colaborador revisa cada cambio. Los comentarios son concretos y respetuosos: por qué esta prueba es mejor, dónde se filtran los datos, cómo hacer reproducible un experimento. Procuramos responder al primer pull request de una persona recién llegada en 48 horas.
Un dominio médico
Aprenderás en qué se diferencia el software médico del software habitual: la desidentificación, las particiones por paciente en lugar de por fotograma, las licencias de los conjuntos de datos y la responsabilidad por los errores de un modelo. Hablarás de los problemas con cirujanos y estudiantes de medicina, una experiencia interdisciplinar poco habitual que valoran las empresas de IA médica y los grupos de investigación.
Tesis, trabajos de curso y prácticas
Hemos reunido más de 50 temas de investigación, más de veinte de ellos técnicos: desde comparar arquitecturas de segmentación hasta la desidentificación de vídeo y la infraestructura para IA médica. Solo tu universidad puede reconocer el trabajo en el proyecto como prácticas; si lo pides, el proyecto confirma el volumen y el contenido de tu trabajo.
Publicaciones y congresos
Puedes presentar resultados en congresos estudiantiles, sesiones de jóvenes investigadores y talleres de visión artificial médica. La autoría de las publicaciones del proyecto sigue el acuerdo de contribución.
En qué puedes trabajar
- Datos. Cargadores y conversores de conjuntos de datos abiertos, particiones por paciente sin fugas, fichas de datos.
- Modelos. Modelos de referencia para segmentación y reconocimiento de fases, ablaciones, aceleración hasta tiempo real.
- Evaluación. Métricas, intervalos de confianza, un benchmark abierto y una clasificación.
- Anotación. Integración de modelos de preanotación en CVAT, aprendizaje activo, comprobaciones automáticas de la calidad de la anotación.
- Desidentificación. Lectura de texto en las pantallas del equipo médico, detección de rostros y de fotogramas fuera del cuerpo.
- Servicios y MLOps. FastAPI, Docker, MLflow, CI.
- Web. El sitio del proyecto en Astro y TypeScript, herramientas didácticas para estudiantes de medicina.
- Pruebas y calidad. Casos límite, comprobaciones de datos, pruebas con datos sintéticos.
- Infraestructura. Kubernetes, Terraform, Helm. Es un sistema de producción, así que el trabajo de infraestructura es para colaboradores que ya se han asentado en el proyecto; el acceso se concede aparte.
Tecnologías
Python 3.10+, PyTorch, torchvision, OpenCV, Albumentations, Hydra, MLflow, DVC, FastAPI, Docker, pytest, GitHub Actions. Anotación: CVAT y Segment Anything 2. Web: Astro y TypeScript. Infraestructura: Kubernetes, Terraform, Helm.
No necesitas saberlo todo de antemano; lo irás aprendiendo por el camino.
Cómo funciona
- Elige una tarea. Empieza por una buena primera incidencia o propón la tuya.
- Una primera contribución en unos 30 minutos. Las instrucciones paso a paso están en la página Contribuir.
- Revisión y debate. Un colaborador con experiencia revisa tu cambio y tú lo perfeccionas.
- Tareas mayores. Un módulo, un experimento, un servicio, junto con la persona responsable de esa área.
- Tu propio tema. Opcionalmente, un trabajo de curso, una tesis o un artículo de la lista de temas o de tu propia idea.
Tiempo: unas cuatro horas a la semana, a distancia, cuando te venga bien. La mayoría de las primeras tareas no necesitan GPU: las pruebas, los conversores y las métricas funcionan en un portátil normal. Cómo conseguir cómputo para entrenar modelos se acuerda en la incidencia.
A quién buscamos
- Estudiantes de ingeniería del software, matemática aplicada e informática, ciencia de datos y programas afines: de grado a partir del segundo curso, de máster y de doctorado.
- Personas interesadas en visión artificial, aprendizaje automático, MLOps, back end, front end, DevOps o pruebas.
Necesitas Python básico y git. La experiencia en aprendizaje automático ayuda para el trabajo con modelos, pero no es obligatoria para lo demás.
Qué debes saber primero
- Sin datos de pacientes. Trabajamos solo con conjuntos de datos publicados que cada persona descarga bajo los términos de su licencia. No subas nunca datos médicos al repositorio, ni siquiera desidentificados.
- Solo para uso en investigación. Los modelos del proyecto no están pensados para el diagnóstico ni el tratamiento.
- Firma DCO. Cada commit se firma (
git commit -s) para confirmar que tienes derecho a aportar el código. - Un resultado negativo es un resultado. Un experimento que muestra con honestidad que una idea no funciona es valioso para el proyecto.
Para docentes de universidades técnicas
El proyecto sirve para trabajos de curso y tesis, proyectos de equipo de un semestre y prácticas académicas o profesionales. Toma un tema ya preparado de la lista o propón el tuyo, incluidos temas conjuntos con estudiantes de medicina. Escribe a support@opensurgicalvision.org con el asunto «Department: technical university» (en inglés, para que el equipo clasifique el correo) y acordaremos el formato.
Cómo unirte
Empieza por una buena primera incidencia y preséntate en los debates del proyecto. Si prefieres el correo, escribe a support@opensurgicalvision.org con el asunto «Student: engineering».
¿Estudias medicina? Tienes tu propia página.