Em resumo
O projeto constrói modelos abertos de visão computacional para a cirurgia: eles reconhecem no vídeo órgãos, instrumentos e as fases de uma operação. O código é aberto, os dados vêm de conjuntos de dados cirúrgicos publicados, e cirurgiões e estudantes de medicina trabalham ao lado dos engenheiros.
Para você, é a chance de resolver um problema real com dados reais, de escrever código revisado por engenheiros experientes e de construir um portfólio aberto que pode mostrar a qualquer empregador ou orientador.
O que você recebe
Um problema real em vez de um exercício
Não mais um Titanic ou MNIST, mas gravações de operações reais: fumaça, reflexos, sangue, órgãos escondidos atrás de instrumentos, vídeos longos e poucos quadros anotados. Aqui se vê por que uma boa pontuação de validação não garante nada e como a pesquisa difere de um tutorial.
Visão computacional em escala real
Segmentação de órgãos e instrumentos, reconhecimento de fases cirúrgicas em vídeo, detecção e rastreamento de instrumentos, pré-anotação com o Segment Anything 2. Ablações, execuções repetidas, intervalos de confiança e comparações justas, seguindo as regras das publicações científicas.
Engenharia de nível industrial
Testes e CI em cada pull request, revisão de código, versões de dados no DVC, configuração no Hydra, experimentos no MLflow, serviços FastAPI em Docker. A infraestrutura do projeto é definida como código: Kubernetes, Terraform, Helm. Não é um ambiente de treino de sala de aula; os anotadores o usam.
Um portfólio aberto
Seus commits e pull requests ficam num repositório público sob a licença Apache-2.0. Você pode linkar a partir do currículo: um empregador vê código real, discussão e revisão, não uma linha dizendo «conhece PyTorch». Um perfil na página da equipe é publicado com o seu consentimento.
Revisão de engenheiros experientes
Outro colaborador revisa cada mudança. O retorno é específico e respeitoso: por que este teste é melhor, onde há vazamento de dados, como tornar um experimento reprodutível. Procuramos responder ao primeiro pull request de quem chega em até 48 horas.
Um domínio médico
Você aprenderá em que o software médico difere do software comum: desidentificação, divisões por paciente em vez de por quadro, licenças de conjuntos de dados, responsabilidade pelos erros de um modelo. Você discutirá os problemas com cirurgiões e estudantes de medicina, uma experiência interdisciplinar rara que empresas de IA médica e grupos de pesquisa valorizam.
Teses, trabalhos de curso e estágios
Reunimos mais de 50 temas de pesquisa, mais de vinte deles técnicos: da comparação de arquiteturas de segmentação à desidentificação de vídeo e à infraestrutura para IA médica. Somente a sua universidade pode reconhecer o trabalho no projeto como estágio; a pedido, o projeto confirma o volume e o conteúdo do seu trabalho.
Publicações e congressos
Você pode apresentar resultados em congressos estudantis, sessões de jovens pesquisadores e workshops de visão computacional médica. A autoria das publicações do projeto segue o acordo de contribuição.
No que você pode trabalhar
- Dados. Carregadores e conversores de conjuntos de dados abertos, divisões por paciente sem vazamentos, fichas de dados.
- Modelos. Modelos de referência para segmentação e reconhecimento de fases, ablações, aceleração até o tempo real.
- Avaliação. Métricas, intervalos de confiança, um benchmark aberto e uma classificação.
- Anotação. Integração de modelos de pré-anotação no CVAT, aprendizado ativo, verificações automáticas da qualidade da anotação.
- Desidentificação. Leitura de texto nas telas dos equipamentos médicos, detecção de rostos e de quadros fora do corpo.
- Serviços e MLOps. FastAPI, Docker, MLflow, CI.
- Web. O site do projeto em Astro e TypeScript, ferramentas didáticas para estudantes de medicina.
- Testes e qualidade. Casos extremos, verificações de dados, testes com dados sintéticos.
- Infraestrutura. Kubernetes, Terraform, Helm. É um sistema de produção, então o trabalho de infraestrutura é para colaboradores que já se estabeleceram no projeto; o acesso é concedido à parte.
Tecnologias
Python 3.10+, PyTorch, torchvision, OpenCV, Albumentations, Hydra, MLflow, DVC, FastAPI, Docker, pytest, GitHub Actions. Anotação: CVAT e Segment Anything 2. Web: Astro e TypeScript. Infraestrutura: Kubernetes, Terraform, Helm.
Você não precisa saber tudo de antemão; vai aprendendo pelo caminho.
Como funciona
- Escolha uma tarefa. Comece por uma boa primeira issue ou proponha a sua.
- Uma primeira contribuição em cerca de 30 minutos. As instruções passo a passo estão na página Contribuir.
- Revisão e discussão. Um colaborador experiente revisa sua mudança e você a aprimora.
- Tarefas maiores. Um módulo, um experimento, um serviço, junto com a pessoa responsável pela área.
- Seu próprio tema. Opcionalmente, um trabalho de curso, uma tese ou um artigo da lista de temas ou de uma ideia sua.
Tempo: cerca de quatro horas por semana, à distância, quando lhe convier. A maioria das primeiras tarefas não precisa de GPU: testes, conversores e métricas rodam num notebook comum. Como conseguir computação para treinar modelos é combinado na issue.
Quem procuramos
- Estudantes de engenharia de software, matemática aplicada e computação, ciência de dados e cursos afins: graduação a partir do segundo ano, mestrado e doutorado.
- Pessoas interessadas em visão computacional, aprendizado de máquina, MLOps, back end, front end, DevOps ou testes.
Você precisa de Python básico e git. A experiência em aprendizado de máquina ajuda no trabalho com modelos, mas não é obrigatória para o resto.
O que saber antes
- Sem dados de pacientes. Trabalhamos apenas com conjuntos de dados publicados que cada pessoa baixa sob os termos da licença. Nunca envie dados médicos ao repositório, nem mesmo desidentificados.
- Apenas para uso em pesquisa. Os modelos do projeto não se destinam a diagnóstico nem tratamento.
- Assinatura DCO. Cada commit é assinado (
git commit -s) para confirmar que você tem o direito de contribuir com o código. - Um resultado negativo é um resultado. Um experimento que mostra honestamente que uma ideia não funciona é valioso para o projeto.
Para docentes de universidades técnicas
O projeto serve para trabalhos de curso e teses, projetos em equipe de um semestre e estágios acadêmicos ou profissionais. Pegue um tema pronto da lista ou proponha o seu, inclusive temas conjuntos com estudantes de medicina. Escreva para support@opensurgicalvision.org com o assunto «Department: technical university» (em inglês, para que a equipe classifique as mensagens) e combinaremos o formato.
Como participar
Comece por uma boa primeira issue e apresente-se nas discussões do projeto. Se preferir e-mail, escreva para support@opensurgicalvision.org com o assunto «Student: engineering».
Estuda medicina? Você tem sua própria página.