Jak sztuczna inteligencja może wpłynąć na rozwój diagnostyki medycznej? Wywiad z zespołem tworzącym Shen.AI
Nowoczesna medycyna aktywnie pracuje nie tylko nad metodami pozwalającymi przedłużyć życie pacjentów, ale i znacznie ułatwić i przyspieszyć diagnozę schorzeń. W rozmowie z zespołem engineeringu MX Labs zapytaliśmy o sposób działania narzędzia Shen.AI., jego wpływu na nowoczesną diagnostykę oraz emocji towarzyszącym twórcom podczas tworzenia i szlifowania tak innowacyjnego oprogramowania.
Spis treści
To, co robicie, wydaje się bardzo ciekawe i jednocześnie skomplikowane. Czy jako zespół w takim składzie pracujecie ze sobą od dłuższego czasu? Powiedzcie co było dla Was największym wyzwaniem w trakcie tworzenia narzędzia Shen.AI?
Dominik: Zespół zaczął kreować się około dwa lata temu. Wcześniej Filip, nasz lider, działał jako wolny strzelec, natomiast wtedy dołączyłem ja i Miłosz, i mogliśmy rozpocząć współpracę. Przy tworzeniu Shen.AI odpowiadamy za bardzo szerokie spektrum technologii, trudno więc wskazać jedno największe wyzwanie, na każdym polu będzie to co innego. Ja staram skupiać się nad tym, by nasze rozwiązanie było jak najbardziej elastyczne i odporne. I mam tu na myśli zarówno algorytmy wizyjne, które mają działać w możliwie każdych warunkach, jak i bardziej inżyniersko, aby kod działał bez zarzutu, w czasie rzeczywistym na desktopach, platformach mobilnych i przeglądarkach.
Szymon: Jestem najkrócej pracującym w MX Labs członkiem zespołu, dołączyłem do niego kiedy narzędzie Shen.AI było już działające i dojrzałe. Moją rolą jest uzupełnienie kompetencji całości o projektowanie i wdrażanie głębokich sieci neuronowych do celów przetwarzania wizji. W tym kontekście najtrudniejsze jest projektowanie tych systemów, aby wystarczająco dokładne, ale również na tyle szybkie, aby działały w czasie rzeczywistym na różnych urządzeniach końcowych.
Miłosz: Jako członek zespołu Engineeringu jestem odpowiedzialny za tworzenie i rozwijanie algorytmów widzenia komputerowego, w szczególności tych związanych z modelowaniem trójwymiarowym. Jednym z największych wyzwań podczas tworzenia Shen.AI było dokładne modelowanie i ekstrakcja ruchów mimicznych twarzy, które są istotne w diagnozowaniu stanu emocjonalnego pacjenta. Opracowanie odpowiedniego algorytmu wymagało dużo czasu i testów, ale udało nam się osiągnąć satysfakcjonujące wyniki.
Jakie dokładnie modele sztucznej inteligencji opracowujecie i jakie są ich zastosowania w diagnostyce medycznej?
Dominik: Nasze algorytmy są dosyć skomplikowaną mieszanką tzw. metod klasycznych, jak i podejść opartych o sieci neuronowe. Skupiamy się na dwóch dziedzinach: wizji komputerowej i analizie sygnału. Ja jestem bliżej związany z tą pierwszą. Naszym głównym punktem zainteresowania jest tutaj ludzka twarz, więc przewijają się u nas takie tematy jak detekcja twarzy, czy punktów szczególnych, ale generalnie polegamy na metodach bardziej ogólnych, takich jak śledzenie obiektów w przestrzeni, rekonstrukcja 3D, przetwarzanie obrazu.
Prowadzi nas to oczywiście do zastosowań w diagnostyce medycznej, dążymy do jak najlepszego wydobycia sygnału fotopletyzmograficznego, czyli przepływu krwi przez naczynia krwionośne w twarzy, aby przy jego pomocy, wyliczać metryki związane z pracą serca, takie jak puls, zmienność pulsu, czy częstotliwość oddechów. Ekstrakcja tego sygnału, aby była możliwa w różnych warunkach, wymaga szerokiego wachlarza algorytmów, zaczynając od samego pozyskiwania obrazu z kamery, przez wizyjne analizowanie twarzy, aż po wydobycie i analizę sygnału.
Szymon: Część modeli, które opracowujemy i wdrażamy, rozwiązują powszechnie znane problemy i są dobrze opisane w literaturze, dotyczy to na przykład wyznaczania regionów w obrazie lub jego klasyfikacja. Natomiast inne, które między innymi dotyczą przetwarzania sygnałów fotopletyzmograficznych oraz detekcji czynności życiowych nie są jeszcze dobrze zbadane i powszechnie opisane więc praca nad nimi wymaga projektowania i testowania na różnych poziomach złożoności. W obu przypadkach jednak dużym wyzwaniem jest dostępność danych o proces optymalizacji pod urządzenia końcowe.
Miłosz: Moje badania skupiają się na monitorowaniu aktywności mięśni twarzy. Wspólnie z zespołem pracujemy nad wykorzystaniem algorytmów widzenia komputerowego i sztucznej inteligencji do analizy ruchów mięśniowych w celu diagnozowania i poprawy zdrowia psychicznego. Opracowujemy modele, które umożliwią automatyczną analizę danych dotyczących ruchów mięśni, co pozwoli na szybszą i bardziej precyzyjną diagnozę, a także na monitorowanie postępów w leczeniu. Nasza praca ma na celu poprawę jakości życia pacjentów i skrócenie czasu potrzebnego na diagnozę i leczenie.
Jakie są główne zadania i obowiązki programisty w MX Labs? Pracujecie na co dzień samodzielnie, czy zespołowo? Czy odbywają się regularne spotkania zespołu, jakie wtedy omawiacie tematy?
Dominik: Tak jak mówiłem, nasz zespół odpowiada za dosyć szerokie spektrum technologii związanej z produktem. Z inżynierskiej strony, rozwijamy Shen.AI jako SDK, które można zintegrować na platformach mobilnych jak i w przeglądarce, dbamy o jakość kodu oraz cały proces dostarczania produktu. Z drugiej strony zajmujemy się też samymi algorytmami, które sprawiają, że Shen.AI jest tak innowacyjnym narzędziem, oraz całym zapleczem do testowania algorytmów, analizy danych i eksperymentów.
Odnośnie podziału pracy, każdy ma u nas sporą autonomię w swoich zadaniach. Przyjmujemy raczej strategię, w której każdy ma swój problem do rozwiązania i decyduje jak do niego podejść. Oczywiście współpracujemy tam, gdzie przynosi to korzyść, przy wymianie pomysłów, dzieleniem przemyśleniami itd. Na spotkaniach, jeśli nikt nie napotyka blokerów, które trzeba wspólnie rozwiązać, staramy się raczej wysokopoziomowo upewnić, że zmierzamy w dobrym kierunku i każdy wie, co ma robić. Sam zespół też ma dużą autonomię, wpływają do nas raczej listy priorytetów niż konkretne zadania, to my decydujemy co i w jaki sposób zrobimy.
Szymon: Warto wspomnieć, że taka autonomia i elastyczność w doborze narzędzi i metod wynika z odpowiedniego podziału kompetencji. Każdy z nas ma swoje mocne strony, które znane są innym członkom zespołu, a zadania przydzielane są tak, aby to jak najlepiej wykorzystać. Istotnym aspektem pracy zespołowej w MX Labs są bardzo szczegółowe code review, w dłuższej perspektywie owocuje to lepszą jakością kodu źródłowego, nad którym pracujemy oraz przy okazji możemy się od siebie sporo nauczyć.
Miłosz: Moi koledzy wyczerpująco przedstawili charakterystykę naszej pracy. Pozostaje mi jedynie dodać, że jako zespół MX Labs współpracujemy również z naukowcami ze świata medycyny, tak aby zapewnić najwyższą jakość naszej technologii, a także umożliwić profesjonalne zastosowanie naszych rozwiązań w pracy lekarskiej.
Czy jest coś, co zaskoczyło Was najmocniej w trakcie prac nad Shen.AI? Może dokonaliście jakiegoś odkrycia, które wpłynęło na całość projektu jak i na Waszą wiedzę z obszaru technologii, w której się poruszacie?
Dominik: Dla mnie największe zaskoczenie nastąpiło na samym początku, gdy uwierzyłem, że to, co robimy rzeczywiście działa :). Dalsze prace były już bardziej stopniowe. Mimo że Shen.AI jest innowacyjnym narzędziem, to nasza technologia jest już raczej dojrzała, nie dodajemy nowych feature’ów na każdym kroku, poprawa jakości też odbywa się już liniowo, a nie skokowo. Nie zmienia to faktu, że gdy pracuje się nad takim produktem, to często pojawiają się nowe pomysły skąd wziąć dodatkowy input, jaką nową modalność rozwinąć. To umożliwia dotykanie cały czas nowych problemów naukowych i technologicznych.
Szymon: Potwierdzam, dla mnie koncepcja ekstrakcji czynności życiowych ze strumienia wideo była czymś zupełnie nowym i nawet trudnym do wyobrażenia, a mimo wszystko okazała się całkiem stabilnie działać. Jako stosunkowo nowy członek zespołu programistów byłem również mile zaskoczony elastycznością i przenośnością narzędzi, jakie zbudowali wcześniej moi koledzy.
Miłosz: Mam podobne odczucia co moi koledzy 🙂 Zaskoczyło mnie, jak wiele można wyciągnąć z kamerki i jak dużo można wyciągnąć z samej twarzy. Praca nad ekstrakcją mięśni mimicznych pozwoliła mi nauczyć się, że za pomocą zaledwie kilkuset parametrów można odtworzyć z dużą dokładnością niezliczoną liczbę kształtów i ekspresji twarzy. To było fascynujące odkrycie.
Podejmując się takiego wyzwania, jakim jest stworzenie narzędzia do bezdotykowej i zdalnej diagnostyki stanu zdrowia, najprawdopodobniej mierzycie się z tym, co nie jest jeszcze odkryte i dostępne dla wszystkich. Zakładam, że wymaga to od Was sporego nakładu pracy i zaangażowania. Skąd czerpiecie motywację i inspirację? Jak Was w tym wspiera Wasz Lider i MX Labs?
Dominik: Tak, często stajemy przed zadaniami, które mogą okazać się niewykonalne, przynajmniej przy zakładanym podejściu. Dlatego w naszej pracy mocno polegamy na eksperymentach oraz na danych. Z mojego doświadczenia wynika, że firmy nie zawsze dostrzegają, jak bardzo dane są potrzebne do opracowania działającej technologii. U nas nie ma tego problemu.
Wszyscy zdają też sobie sprawę, że działamy na granicy rzeczy, których jeszcze nikt nie robił. Owszem, możemy czerpać inspirację z prac naukowych, jednak to my musimy wymyślić jak zaprząc różne rozwiązania do naszych zastosowań. Dla mnie właśnie tworzenie czegoś nowego, innowacyjnego, ale równocześnie sprawdzenie na twardych danych, że to działa i ma sens, to jest bardzo duża motywacja, żeby próbować, nawet gdy kolejne podejścia nie działają.
Miłosz: Moja motywacja wynika właśnie z tego, że pracuję nad innowacyjnymi i często tylko powierzchownie zbadanymi tematami. Wymaga to ode mnie dużego wkładu pracy i pomysłowości, ale daje mi przy okazji możliwość poszerzania mojej wiedzy i odkrywania nowych technologii. Wspiera mnie w tym również inspirujący i motywujący Lider, który często podsuwa ciekawe pomysły i dobrze organizuje pracę. Zapoczątkował on na przykład tworzenie wygodnych narzędzi do przetwarzania danych i zwiększania produktywności, które również wpływają bardzo pozytywnie na zaangażowanie zespołu.