En bref
Le projet construit des modèles ouverts de vision par ordinateur pour la chirurgie : ils reconnaissent dans la vidéo les organes, les instruments et les phases d’une opération. Le code est ouvert, les données proviennent de jeux de données chirurgicaux publiés, et des chirurgiens et des étudiants en médecine travaillent aux côtés des ingénieurs.
Pour vous, c’est l’occasion de résoudre un vrai problème sur de vraies données, d’écrire du code relu par des ingénieurs expérimentés et de constituer un portfolio ouvert que vous pouvez montrer à n’importe quel employeur ou directeur de recherche.
Ce que vous obtenez
Un vrai problème plutôt qu’un exercice
Pas un énième Titanic ou MNIST, mais des enregistrements d’opérations réelles : fumée, reflets, sang, organes masqués par des instruments, longues vidéos et peu d’images annotées. On y voit pourquoi un bon score de validation ne garantit rien et en quoi la recherche diffère d’un tutoriel.
De la vision par ordinateur grandeur nature
Segmentation des organes et des instruments, reconnaissance des phases chirurgicales dans la vidéo, détection et suivi des instruments, pré-annotation avec Segment Anything 2. Ablations, exécutions répétées, intervalles de confiance et comparaisons équitables, selon les règles des publications scientifiques.
Une ingénierie de niveau industriel
Tests et CI à chaque pull request, relecture de code, versions des données dans DVC, configuration dans Hydra, expériences dans MLflow, services FastAPI dans Docker. L’infrastructure du projet est décrite sous forme de code : Kubernetes, Terraform, Helm. Ce n’est pas un bac à sable pédagogique ; les annotateurs s’en servent.
Un portfolio ouvert
Vos commits et vos pull requests vivent dans un dépôt public sous licence Apache-2.0. Vous pouvez les citer dans votre CV : un employeur y voit du vrai code, des discussions et des relectures, pas une ligne qui dit « connaît PyTorch ». Un profil sur la page de l’équipe est publié avec votre consentement.
La relecture d’ingénieurs expérimentés
Un autre contributeur relit chaque modification. Les retours sont précis et respectueux : pourquoi ce test est meilleur, où les données fuient, comment rendre une expérience reproductible. Nous visons à répondre à la première pull request d’un nouvel arrivant sous 48 heures.
Un domaine médical
Vous apprendrez en quoi un logiciel médical diffère d’un logiciel ordinaire : désidentification, découpages par patient plutôt que par image, licences des jeux de données, responsabilité des erreurs d’un modèle. Vous discuterez des problèmes avec des chirurgiens et des étudiants en médecine, une expérience interdisciplinaire rare que valorisent les entreprises d’IA médicale et les groupes de recherche.
Mémoires, travaux de cours et stages
Nous avons réuni plus de 50 sujets de recherche, dont plus de vingt techniques : de la comparaison d’architectures de segmentation à la désidentification vidéo et à l’infrastructure pour l’IA médicale. Seule votre université peut reconnaître le travail dans le projet comme un stage ; sur demande, le projet atteste le volume et le contenu de votre travail.
Publications et congrès
Vous pouvez présenter des résultats dans des congrès étudiants, des sessions de jeunes chercheurs et des ateliers de vision par ordinateur médicale. La paternité des publications du projet suit l’accord de contribution.
Sur quoi vous pouvez travailler
- Données. Chargeurs et convertisseurs de jeux de données ouverts, découpages par patient sans fuite, fiches de données.
- Modèles. Modèles de référence pour la segmentation et la reconnaissance de phases, ablations, accélération jusqu’au temps réel.
- Évaluation. Métriques, intervalles de confiance, un benchmark ouvert et un classement.
- Annotation. Intégration de modèles de pré-annotation dans CVAT, apprentissage actif, contrôles automatiques de la qualité de l’annotation.
- Désidentification. Lecture du texte sur les écrans des appareils médicaux, détection des visages et des images hors du corps.
- Services et MLOps. FastAPI, Docker, MLflow, CI.
- Web. Le site du projet en Astro et TypeScript, des outils pédagogiques pour les étudiants en médecine.
- Tests et qualité. Cas limites, contrôles de données, tests sur des données synthétiques.
- Infrastructure. Kubernetes, Terraform, Helm. C’est un système de production ; le travail d’infrastructure s’adresse donc aux contributeurs déjà bien installés dans le projet, et l’accès est accordé séparément.
Technologies
Python 3.10+, PyTorch, torchvision, OpenCV, Albumentations, Hydra, MLflow, DVC, FastAPI, Docker, pytest, GitHub Actions. Annotation : CVAT et Segment Anything 2. Web : Astro et TypeScript. Infrastructure : Kubernetes, Terraform, Helm.
Vous n’avez pas besoin de tout connaître à l’avance ; vous apprendrez en chemin.
Comment ça marche
- Choisissez une tâche. Commencez par une bonne première issue ou proposez la vôtre.
- Une première contribution en une trentaine de minutes. Les instructions pas à pas sont sur la page Contribuer.
- Relecture et discussion. Un contributeur expérimenté relit votre modification et vous l’affinez.
- Tâches plus importantes. Un module, une expérience, un service, avec le responsable du domaine concerné.
- Votre propre sujet. En option, un travail de cours, un mémoire ou un article à partir de la liste de sujets ou de votre propre idée.
Temps : environ quatre heures par semaine, à distance, au moment qui vous convient. La plupart des premières tâches n’exigent pas de GPU : tests, convertisseurs et métriques tournent sur un ordinateur portable ordinaire. La manière d’obtenir du calcul pour entraîner des modèles se décide dans l’issue.
Qui nous recherchons
- Des étudiants en génie logiciel, mathématiques appliquées et informatique, science des données et filières voisines : licence à partir de la deuxième année, master et doctorat.
- Des personnes intéressées par la vision par ordinateur, l’apprentissage automatique, le MLOps, le back end, le front end, le DevOps ou les tests.
Il vous faut des bases en Python et en git. L’expérience en apprentissage automatique aide pour le travail sur les modèles, mais n’est pas obligatoire pour le reste.
Ce qu’il faut savoir d’abord
- Aucune donnée de patients. Nous travaillons uniquement avec des jeux de données publiés que chacun télécharge selon les conditions de leur licence. Ne versez jamais de données médicales dans le dépôt, même désidentifiées.
- Usage de recherche uniquement. Les modèles du projet ne sont pas destinés au diagnostic ni au traitement.
- Signature DCO. Chaque commit est signé (
git commit -s) pour confirmer que vous avez le droit d’apporter ce code. - Un résultat négatif est un résultat. Une expérience qui montre honnêtement qu’une idée ne marche pas est précieuse pour le projet.
Pour les enseignants d’universités techniques
Le projet convient aux travaux de cours et aux mémoires, aux projets d’équipe d’un semestre et aux stages académiques ou en entreprise. Prenez un sujet prêt dans la liste ou proposez le vôtre, y compris des sujets communs avec des étudiants en médecine. Écrivez à support@opensurgicalvision.org avec l’objet « Department: technical university » (en anglais, pour que l’équipe puisse trier les messages), et nous discuterons du format.
Comment nous rejoindre
Commencez par une bonne première issue et présentez-vous dans les discussions du projet. Si vous préférez l’e-mail, écrivez à support@opensurgicalvision.org avec l’objet « Student: engineering ».
Vous étudiez la médecine ? Vous avez votre propre page.