W skrócie
Projekt buduje otwarte modele widzenia komputerowego dla chirurgii: rozpoznają one na wideo narządy, narzędzia i fazy operacji. Kod jest otwarty, dane pochodzą z opublikowanych zbiorów chirurgicznych, a obok inżynierów pracują chirurdzy i studenci medycyny.
Dla Ciebie to szansa, by rozwiązać prawdziwy problem na prawdziwych danych, pisać kod przeglądany przez doświadczonych inżynierów i zbudować otwarte portfolio, które pokażesz każdemu pracodawcy lub promotorowi.
Co zyskujesz
Prawdziwy problem zamiast ćwiczenia
Nie kolejny Titanic czy MNIST, ale nagrania prawdziwych operacji: dym, odblaski, krew, narządy zasłonięte narzędziami, długie wideo i mało zaadnotowanych klatek. Tu widać, dlaczego dobry wynik walidacji o niczym nie przesądza i czym badania różnią się od samouczka.
Widzenie komputerowe w pełnej skali
Segmentacja narządów i narzędzi, rozpoznawanie faz operacji na wideo, wykrywanie i śledzenie narzędzi, wstępna adnotacja za pomocą Segment Anything 2. Ablacje, powtarzane uruchomienia, przedziały ufności i uczciwe porównania, według zasad przyjętych w publikacjach naukowych.
Inżynieria na poziomie przemysłowym
Testy i CI przy każdym pull requeście, przeglądy kodu, wersje danych w DVC, konfiguracje w Hydra, eksperymenty w MLflow, usługi FastAPI w Dockerze. Infrastruktura projektu jest opisana kodem: Kubernetes, Terraform, Helm. To nie poligon dydaktyczny, tylko system, z którego korzystają adnotatorzy.
Otwarte portfolio
Twoje commity i pull requesty trafiają do publicznego repozytorium na licencji Apache-2.0. Możesz je podlinkować w CV: pracodawca zobaczy prawdziwy kod, dyskusję i przegląd, a nie linijkę „zna PyTorch”. Profil na stronie zespołu jest publikowany za Twoją zgodą.
Przegląd od doświadczonych inżynierów
Każdą zmianę przegląda inny uczestnik. Informacja zwrotna jest konkretna i pełna szacunku: dlaczego ten test jest lepszy, gdzie wyciekają dane, jak uczynić eksperyment powtarzalnym. Staramy się odpowiedzieć na pierwszy pull request nowej osoby w ciągu 48 godzin.
Dziedzina medyczna
Dowiesz się, czym oprogramowanie medyczne różni się od zwykłego: deidentyfikacja, podziały według pacjentów zamiast według klatek, licencje zbiorów danych, odpowiedzialność za błędy modelu. Będziesz omawiać problemy z chirurgami i studentami medycyny – to rzadkie doświadczenie interdyscyplinarne, cenione w firmach zajmujących się medyczną AI i w zespołach badawczych.
Prace dyplomowe, semestralne i praktyki
Zebraliśmy ponad 50 tematów badawczych, z czego ponad dwadzieścia technicznych: od porównania architektur segmentacji po deidentyfikację wideo i infrastrukturę dla medycznej AI. Pracę w projekcie jako praktykę może zaliczyć tylko Twoja uczelnia; na prośbę projekt potwierdzi zakres i treść Twojej pracy.
Publikacje i konferencje
Wyniki możesz przedstawiać na konferencjach studenckich, w sesjach młodych badaczy i na warsztatach o widzeniu komputerowym w medycynie. Autorstwo publikacji projektu wynika z umowy o wkładzie.
Czym możesz się zająć
- Dane. Loadery i konwertery otwartych zbiorów danych, podziały według pacjentów bez wycieków, karty danych.
- Modele. Modele bazowe do segmentacji i rozpoznawania faz, ablacje, przyspieszanie do czasu rzeczywistego.
- Ewaluacja. Metryki, przedziały ufności, otwarty benchmark i ranking.
- Adnotacja. Integracja modeli wstępnej adnotacji w CVAT, aktywne uczenie, automatyczna kontrola jakości adnotacji.
- Deidentyfikacja. Odczyt tekstu na ekranach sprzętu medycznego, wykrywanie twarzy i klatek spoza ciała pacjenta.
- Usługi i MLOps. FastAPI, Docker, MLflow, CI.
- Web. Strona projektu w Astro i TypeScript, narzędzia dydaktyczne dla studentów medycyny.
- Testy i jakość. Przypadki brzegowe, kontrole danych, testy na danych syntetycznych.
- Infrastruktura. Kubernetes, Terraform, Helm. To system produkcyjny, więc praca nad infrastrukturą jest dla uczestników, którzy już zadomowili się w projekcie; dostęp przyznaje się osobno.
Technologie
Python 3.10+, PyTorch, torchvision, OpenCV, Albumentations, Hydra, MLflow, DVC, FastAPI, Docker, pytest, GitHub Actions. Adnotacja: CVAT i Segment Anything 2. Web: Astro i TypeScript. Infrastruktura: Kubernetes, Terraform, Helm.
Nie musisz znać tego wszystkiego z góry; nauczysz się po drodze.
Jak to działa
- Wybierz zadanie. Zacznij od dobrego pierwszego issue lub zaproponuj własne.
- Pierwszy wkład w około 30 minut. Instrukcja krok po kroku jest na stronie Współtwórz.
- Przegląd i dyskusja. Doświadczony uczestnik przegląda Twoją zmianę, a Ty ją poprawiasz.
- Większe zadania. Moduł, eksperyment, usługa – razem z osobą odpowiedzialną za dany obszar.
- Własny temat. Opcjonalnie praca semestralna, dyplomowa lub artykuł z listy tematów albo z Twojego pomysłu.
Czas: około czterech godzin tygodniowo, zdalnie, kiedy Ci pasuje. Większość pierwszych zadań nie wymaga GPU: testy, konwertery i metryki działają na zwykłym laptopie. Jak zdobyć moc obliczeniową do trenowania modeli, ustala się w issue.
Kogo szukamy
- Studentów inżynierii oprogramowania, matematyki stosowanej i informatyki, nauki o danych i pokrewnych kierunków: licencjat od drugiego roku, magisterium i doktorat.
- Osoby zainteresowane widzeniem komputerowym, uczeniem maszynowym, MLOps, backendem, frontendem, DevOps lub testowaniem.
Potrzebujesz podstaw Pythona i gita. Doświadczenie w uczeniu maszynowym pomaga przy pracy z modelami, ale nie jest wymagane do pozostałych zadań.
Co warto wiedzieć na początek
- Żadnych danych pacjentów. Pracujemy wyłącznie na opublikowanych zbiorach danych, które każdy pobiera samodzielnie na warunkach ich licencji. Nigdy nie umieszczaj w repozytorium danych medycznych, nawet zdeidentyfikowanych.
- Wyłącznie do celów badawczych. Modele projektu nie są przeznaczone do diagnozowania ani leczenia.
- Podpis DCO. Każdy commit jest podpisany (
git commit -s), co potwierdza, że masz prawo wnieść ten kod. - Wynik negatywny to też wynik. Eksperyment, który uczciwie pokazuje, że pomysł nie działa, jest dla projektu cenny.
Dla nauczycieli akademickich uczelni technicznych
Projekt nadaje się na prace semestralne i dyplomowe, semestralne projekty zespołowe oraz praktyki studenckie i zawodowe. Weź gotowy temat z listy lub zaproponuj własny, także wspólny ze studentami medycyny. Napisz na support@opensurgicalvision.org z tematem „Department: technical university” (po angielsku, by zespół mógł sortować pocztę), a ustalimy formę.
Jak dołączyć
Zacznij od dobrego pierwszego issue i przedstaw się w dyskusjach projektu. Jeśli wolisz e-mail, napisz na support@opensurgicalvision.org z tematem „Student: engineering”.
Studiujesz medycynę? Masz własną stronę.