Algorytmy data science na pokładzie satelity

Algorytmy data science na pokładzie satelity

– Przenoszenie algorytmów na pokład satelity, łazika czy landera, musi się wydarzyć, a w zasadzie to już się dzieje. Rozwój tych technologii w kosmosie będzie kluczowy i
powszechny. Jako KP Labs staramy się przenieść tę autonomiczność na różnym
poziomie abstrakcji w kosmos, żeby móc efektywniej, łatwiej, bezpieczniej i lepiej
eksplorować przestrzeń – informuje dr hab. inż. Jakub Nalepa.

Dr hab. inż. Jakub Nalepa, profesor Politechniki Śląskiej w Katedrze Algorytmiki i Oprogramowania oraz szef działu AI w KP Labs, zajmuje się fundamentalnymi i praktycznymi wyzwaniami związanymi ze sztuczną inteligencją, od lat łącząc świat nauki i przemysłu. Koncentruje się na klasycznym i głębokim uczeniu maszynowym, analizie i przetwarzaniu danych – zwłaszcza satelitarnych i medycznych – oraz rozwiązywaniu złożonych problemów optymalizacyjnych. Laureat prestiżowej Nagrody im. Witolda Lipskiego (2017) oraz Nagrody Naukowej Tygodnika Polityka (2020), w 2021 r. nominowany do The AIconics Award (AI Solutions Provider Innovator of the Year, The AI Summit, Londyn).

Algorytmy w przestrzeni kosmicznej. Dla niektórych może to brzmieć bardzo abstrakcyjnie. Na czym więc polega Wasza praca w KP Labs?

W KP Labs kompleksowo zajmujemy się misjami satelitarnymi. Firma tworzy komponenty w postaci np. algorytmów, oprogramowania i sprzętu, które umożliwiają wdrożenie takich misji w życie. Jeśli chcemy wysłać satelitę w przestrzeń kosmiczną, to potrzebny jest nie tylko hardware i software, ale także wszystkie algorytmy, które przetwarzają dane. Osobiście zajmuję się częścią algorytmiczną, w której główny akcent kładziemy na sztuczną inteligencję, a algorytmy tworzymy w ścisłej współpracy z agencjami kosmicznymi: europejską, kanadyjską oraz z NASA.

Jakie konkretnie rozwiązania przygotowujecie?

Jednym z filarów działalności KP Labs dotyczącej sztucznej inteligencji i przetwarzania danych jest analiza obrazów – to mogą być obrazy barwne, multispektralne, hiperspektralne. Ten ostatni przypadek to specyficzny rodzaj danych, w których rejestrujemy obraz w wielu długościach fali elektromagnetycznej. Nie wchodząc w szczegóły, dzięki pozyskaniu większej ilości danych, również we fragmentach spektrum poza obszarem światła widzialnego, możemy „zobaczyć” to, co jest niewidoczne gołym okiem. W tym celu tworzymy szeroki wachlarz algorytmów. Za pomocą klasycznych metod wstępnie przygotowujemy surowe dane i tworzymy z nich trójwymiarową kostkę danych, aby móc je dalej przetworzyć z wykorzystaniem metod sztucznej inteligencji.

Czyli kluczowa jest wieloetapowa analiza danych. Dlaczego?

Należy pamiętać, że sam proces akwizycji danych i zrobienie zdjęcia dzieje się w środowisku ekstremalnym, w przestrzeni kosmicznej, i jest różny od tego, który może odbywać się na Ziemi, np. w związku z różnymi warunkami atmosferycznymi.  Warto pamiętać, że dane satelitarne mogą być „zaszumione”. Szumy, związane z warunkami zewnętrznymi, czy charakterystyką poszczególnych komponentów sprzętowych, możemy modelować jeszcze na Ziemi. Dzięki temu przygotowujemy się na ich pojawienie i uodporniamy na nie nasze algorytmy analizy danych. 

Analiza danych i ich oczyszczenie z szumów to jedno. Jednak tworzycie też algorytmy, które same tworzą potrzebne dane.

W KP Labs tworzymy również algorytmy, których celem jest poprawa jakości obrazów, na przykład z wykorzystaniem metod tzw. rekonstrukcji nadrozdzielczej. Przeprowadza się ją po to, aby zwiększyć rozdzielczość przestrzenną obrazów. Wyobraźmy sobie, że satelita robi zdjęcie konkretnego obszaru, w którym długość boku jednego piksela odpowiada np. 50 metrom. Niekoniecznie w ramach tak dużego obszaru jesteśmy w stanie znaleźć obiekty, które są niewielkie, a bardzo nam potrzebne w procesie analizy danych w niektórych praktycznych zastosowaniach. Możemy poprawiać rozdzielczość przestrzenną obrazów z wykorzystaniem np. jednego obrazu i to jest tzw. jednoobrazowa rekonstrukcja nadrozdzielcza lub wielu obrazów, które zostały pozyskane dla tego samego obszaru Ziemi i są na przykład delikatnie przesunięte względem siebie. Wykorzystując przeróżne techniki fuzji danych możemy stworzyć jeden obraz, który jest dużo lepszej jakości. 

Jakie informacje można pozyskać w ten sposób?

Jeśli korzystamy z algorytmów zainstalowanych w satelicie, skalowalność takiego rozwiązania jest ogromna. Korzystając z danych hiperspektralnych, możemy analizować parametry i stan gleby na wskazanym zdjęciu, śledzić obiekty, statki na morzach, analizować pożary, oceniać powierzchnię i stan lasów. Zastosowań „downstreamowych” jest dużo, wielu z nich jeszcze nie znamy i dopiero poznajemy. Jeżeli chcemy robić to skutecznie i efektywnie, trzeba mieć algorytmy do analizowania trudnych i wysokowymiarowych danych. W KP Labs tworzymy algorytmy oparte na sztucznej inteligencji. Korzystamy zarówno z klasycznego, jak i głębokiego uczenia maszynowego. Często te algorytmy są generyczne i bardzo szybko możemy je dostosować do nowego problemu z zakresu obserwacji Ziemi. 

Powiedział Pan, że algorytmy działają z poziomu satelity. Dlaczego nie analizujemy ich z Ziemi?

Gdybyśmy chcieli wysłać dane hiperspektralne z satelity, żeby przetworzyć je na Ziemi, to należy pamiętać, że jest ich bardzo dużo, a przesył jest kosztowny. Dlatego jednym z naszych celów jest przeniesienie algorytmów na pokład satelity, aby szybko i skutecznie przetworzyć dane i wysłać konkretną informację do użytkownika. Chcemy, żeby „mózg”, czyli algorytm do analizy danych był blisko „oczu” – sensora pozyskującego dane obrazowe.

Tworzycie algorytmy, które pozwalają na przetwarzanie obrazów. Ale KP Labs pracuje też nad analizą sygnałów z przestrzeni kosmicznej. 

To prawda, w KP Labs opracowujemy też algorytmy do analizy satelitarnych danych telemetrycznych, które są seriami czasowymi. Naszym celem jest detekcja anomalii, czyli sytuacji niespodziewanych, które wydarzyły się lub dzieją się na pokładzie satelity. Dzięki wykorzystaniu tego typu algorytmów możemy szybciej podjąć akcję zaradczą czy naprawczą. Idziemy w stronę uruchamiania takich technik na pokładzie jednostek wysyłanych w kosmos, żeby nie trzeba było wysyłać całych danych telemetrycznych na Ziemię i ich analizować przed podjęciem decyzji. 

Czy to oznacza, że algorytmy do analizy satelitarnych danych telemetrycznych nie działają na Ziemii?

Oczywiście, że działają. Wszystkie algorytmy, jakie mamy, możemy uruchomić na Ziemi i możemy przykładowo przetworzyć dane historyczne. Tak naprawdę algorytmy są tworzone na Ziemi – często są dostosowywane do wymagań i charakterystyki docelowej platformy sprzętowej, ale możemy je uruchomić na zwykłym, ziemskim sprzęcie.

Jakie są już dziś praktyczne zastosowania, w których możemy wykorzystać algorytmy tworzone w KP Labs? 

W tym momencie skupiamy się na analizie gleby. Nasze rozwiązanie zostanie wykorzystane na pokładzie satelity tworzonego przez KP Labs – Intuition-1. Będą to algorytmy, które mają za zadanie zlokalizować konkretne obszary glebowe, a następnie wyznaczyć parametry i właściwości gleby w tych obszarach, np. jej kwasowość. Drugim przykładem jest detekcja anomalii w danych telemetrycznych. Uruchomiliśmy niedawno algorytm detekcji anomalii na prawdziwym satelicie, który już działa. Chodzi o satelitę OPS-SAT, który jest nazywany latającym laboratorium Europejskiej Agencji Kosmicznej. 

Ile osób jest potrzebnych, aby analizować takie dane?

Zespół KP Labs liczy ok. 80 osób, w tym ok. 15 osób zajmuje się uczeniem maszynowym i szeroko rozumianą sztuczną inteligencją. Mamy pełen przekrój ekspertów – są elektronicy, software’owcy, algorytmicy, mechanicy, specjaliści zajmujący się termiką i sprzętem. Wyróżnia nas kompleksowy system tworzenia rozwiązań satelitarnych – mamy wszystko w jednym miejscu i potrafimy skonsolidować wiedzę z różnych dziedzin. Są wśród nas osoby, które zajmują się inżynierią systemową, czyli zaprojektowaniem i zaplanowaniem pełnej misji. Wszyscy ze sobą bardzo ściśle współpracujemy. Nie jesteśmy zamknięci wyłącznie w swojej działce. 

Czy przy tworzeniu algorytmów działających w przestrzeni kosmicznej potrzebne są jakieś bardzo zaawansowane narzędzia? 

Przy budowaniu algorytmów na „ziemskim” sprzęcie korzystamy z klasycznych narzędzi, głównie z Pythona. Oczywiście to są podstawowe narzędzia na początku tworzenia algorytmów, które są następnie portowane, kompresowane, optymalizowane i benchmarkowane dla docelowych architektur sprzętowych, z wykorzystaniem bardziej specjalistycznych narzędzi, np. Vitis AI. 

Jakie są największe wyzwania w pracy z algorytmami?

W przypadku technik tzw. nadzorowanego uczenia maszynowego są to wyzwania związane z brakiem danych wzorcowych w sytuacji, kiedy chcemy wdrożyć nowe zastosowanie. Zazwyczaj nie ma danych przykładowych, na których moglibyśmy trenować algorytm uczenia maszynowego, bo świat nie jest „oetykietowany”. Jeżeli chcemy stworzyć zbiór danych przeznaczonych do treningu, to jest to ekstremalnie kosztowne i czasochłonne. Nawet w przypadku badania obrazów gleby, taka kampania zebrania próbek, wysłania ich do laboratorium, to jest czas, ale przede wszystkim niemałe pieniądze. Warto wspomnieć, że możemy dane symulować, za pomocą np. cyfrowego bliźniaka konkretnego sensora, wykorzystując ograniczoną próbkę danych rzeczywistych. Wiemy jednak, że danych rzeczywistych jest mało i musimy algorytmy tworzyć w taki sposób, żeby sobie z tym poradzić. Trzeba pamiętać, że algorytmy powinny działać na danych rzeczywistych, które zostaną zebrane na pokładzie satelity. 

Tu przechodzimy do drugiego wyzwania. Uruchamiamy algorytmy na pokładzie urządzeń wysyłanych w przestrzeń kosmiczną, a zatem cały proces wdrożenia algorytmu musi być bardzo rygorystyczny, powtarzalny i obiektywny. Dlatego bardzo nam zależy, aby w każdym kroku przetwarzania dokładnie zrozumieć, jak wygląda jakość stworzonego przez nas modelu, jego parametry niefunkcjonalne, czas przetwarzania danych i czy może być wykorzystany w rzeczywistym środowisku uruchomieniowym. 

Jak można tego dokonać? 

Stworzyliśmy pełny łańcuch tworzenia algorytmów sztucznej inteligencji dla urządzeń brzegowych, w którym wszechstronnie oceniamy algorytmy. Zaczynając od modelu stworzonego na komputerze przechodzimy kolejne kroki, które są niezbędne do tego, aby na samym końcu skutecznie wdrożyć ten algorytm na konkretnym sprzęcie. W ramach łańcucha przetwarzania zbieramy dane dotyczące jakości działania algorytmu i weryfikujemy, czy nic złego po drodze się nie stało. 

To, co nas jeszcze wyróżnia to fakt, że bardzo rygorystycznie podchodzimy do eksperymentów. Wszystko u nas musi być powtarzalne, zawsze korzystamy z narzędzi statystycznych, które pozwalają nam dowieść, że coś działa albo zrozumieć, dlaczego coś nie działa. Mamy to w pełni oparametryzowane i powtarzalne. Zawsze możemy ponownie uruchomić każdy eksperyment.  

Jak widzi Pan przyszłość wykorzystania algorytmów w kosmosie?

Techniki sztucznej inteligencji będą wykorzystywane coraz szerzej, nie tylko do analizy procesów zachodzących w samych urządzeniach kosmicznych. Musimy pamiętać, że pewne działania już dziś trzeba automatyzować, żeby móc w ogóle eksplorować kosmos. Komunikacja z satelitą jest trudna i zajmuje dużo czasu. Dlatego pewne decyzje powinny być podejmowane autonomicznie, choć ta autonomia może być mniej lub bardziej ograniczona. Może dotyczyć decyzji o tym, jaki obszar z orbity powinien zostać sfotografowany, ale to może być też przeprowadzenie procedury dokowania danego urządzenia. Co więcej, systemy oparte na algorytmach sztucznej inteligencji chronią np. łaziki kosmiczne przed ewentualnym rozbiciem o kamienie, poprzez przeprowadzenie analizy obszaru wokół niego. Przenoszenie algorytmów na pokład urządzeń brzegowych musi się wydarzyć i to już się dzieje. Rozwój tych technologii w kosmosie będzie kluczowy i powszechny. Jako KP Labs staramy się przenieść tę autonomiczność na różnym poziomie abstrakcji w kosmos, żeby móc efektywniej, łatwiej, bezpieczniej i lepiej eksplorować przestrzeń. 

Udostępnij link

https://www.datasciencerobie.pl/algorytmy-data-science-na-pokladzie-satelity/