Ten projekt znajduje się na styku wizji komputerowej i klasycznego inżynierii danych.
Budujemy system wizji komputerowej, który porównuje duże przemysłowe obrazy skanów z uporządkowanymi rekordami i zgłasza niespójności do przeglądu przez ludzi.
Co potrzebujemy:
- Silna znajomość Pythona + PyTorch; solidne podstawy klasycznej wizji komputerowej (nie tylko głębokie uczenie — przetwarzanie obrazów, segmentacja, praca z obrazami naukowymi 16-bitowymi)
- Praktyczne doświadczenie w trenowaniu i dostosowywaniu nowoczesnych modeli wizji (detekcja, samonadzorowane podstawy, detekcja anomalii)
- Komfort w budowaniu całego procesu samodzielnie: pobieranie danych, PostgreSQL, inżynieria cech, trening, ocena, serwowanie
- Rygorystyczne nawyki oceny — wiesz, dlaczego dobry wynik benchmarku może kłamać i jak projektować testy, które tego nie robią
- Pragmatyczne podejście: chętnie dostarczysz proste statystyczne podstawy przed sięgnięciem po większy model
Miło widziane: doświadczenie w obrazowaniu medycznym/przemysłowym/naukowym, doświadczenie w wdrażaniu lokalnym lub na krawędzi, doświadczenie w treningu półnadzorowanym lub z etykietami słabymi.
Więcej szczegółów dotyczących preferowanego stosu:
Rdzeń: Python 3.11+, NumPy/SciPy, scikit-image + OpenCV (przetwarzanie), pydicom/czytnik DICOS, jeśli surowe to DICOS, PyTorch + timm + transformery, albumentations, POT (transport optymalny), scikit-learn (fuzja, kalibracja), pycocotools.
Dane: Postgres 16 + pgvector, podzielone według miesiąca; Parquet dla tabel cech; DuckDB do analizy nad Parquet (szybko, bez serwera); DVC lub LakeFS do wersjonowania obrazów/zestawów danych; Alembic do migracji.
Orkiestracja i śledzenie: Prefect lub Dagster dla procesów, MLflow dla eksperymentów, FastAPI + pracownik Redis/RQ do serwowania.