Projekty B+R
W ramach realizowanego projektu B+R BRidge Alfa opracowywane są komponenty technologii systemu modelowania i prognozowania rozkładu zawartości miedzi w przestrzeni 3D. Prace projektowe obejmują wykonanie analizy zakresu niezbędnych danych umożliwiających przeprowadzenie badań przemysłowych prac w projekcie. Przygotowano wymagania ontologiczne i semantyczne, a wskutek nawiązanej współpracy z KGHM Polska Miedź S.A. przeprowadzono prace badawcze w zakresie otworów wiertniczych z opróbowanymi rdzeniami, opróbowanie z wyrobisk górniczych oraz danych do wyznaczenia współrzędnej wysokościowej h stropu piaskowca w zakresie punktów niwelacji zalegania stropu piaskowca, mapy izoliniowej 3D zalegania stropu piaskowca oraz modelu w formie siatki mesh utworzonej na bazie izolinii zalegania stropu piaskowca. Wykorzystano oprogramowanie Blender, którego możliwości oraz opcjonalne rozszerzenia okazały się adekwatne do prezentowania nieregularnych map trójwymiarowych a w zakresie narzędzi bazodanowych wykorzystano PostGIS oraz QGIS na potrzeby analiz przestrzennych. W ramach badań wstępnych przeprowadzono także wizualizację i analizę danych przestrzennych. Po przygotowaniu danych przystąpiono do wyodrębnienia wzorców i identyfikacji grup. Celem grupowania danych jest wskazanie podobszarów występowania podobnych do siebie warunków geologicznych, a jednocześnie wskazanie zróżnicowania pomiędzy podobszarami. Istotne jest odkrycie korelacji lub współwystępowania określonych cech w poszczególnych grupach. W ramach prowadzonych badań przemysłowych wykonano m.in. prace w zakresie klasteryzacji danych przestrzennych, gdzie dane numeryczne zostały wystandaryzowane, a dane kategoryczne rozdzielone do wielu zmiennych dychotomicznych. Opracowano autorskie oprogramowanie w języku Python implementując różne modele uczenia maszynowego służące do odwzorowania zależności w analizowanych danych. Dokonano porównania wyników roboczych wersji modeli oraz wykorzystano przy ich analizie metody do wizualizacji danych. Bardzo istotnym działaniem na tym etapie prac było opracowanie miar jakości modeli zarówno w obszarze miar dopasowania w problemie regresji jak i w problemie klasteryzacji oraz w problemie klasyfikacji. Zrealizowano także narzędzia programowe pozwalające na stworzenie map ukazujących rozłożenie miedzi z wykorzystaniem różnych metod interpolacji, takich jak interpolacja liniowa, kwadratowa, spline i prosty kriging. Zmodyfikowane modele krigingu opierały się o odpowiednio dobrane dane testujące kriging dla różnych scenariuszy symulujących postęp prac wydobywczych i dla różnych metod numerycznych. Testowano również połączenie krigingu z różnymi modelami regresji oraz z modelami uczenia maszynowego. Zmodyfikowane metody statystyczne oraz zastosowanie podejścia hybrydowego, łączącego różne modele i metody, pozwoliło na zaplanowanie i przeprowadzenie eksperymentów oceniających badania kierunkowe nowo tworzonej technologii. Celem tych eksperymentów było znalezienie najlepszych metod predykcji zawartości miedzi na obszarze wydobywczym reprezentowanym przez zbiór trójwymiarowych punktów zawierających informacje o położeniu, rodzaju skały, zawartości miedzi, jak również czasie pobrania próbki. Użyto kilku modeli wzorcowych obejmujących interpolację liniową, kriging, regresję liniową (Linear Regression), regresję wektorów nośnych (SVR), lasy losowe (Random Forest), sztuczne sieci neuronowe (ANN), kriging + Linear Regression, kriging + SVR, kriging + Random Forest oraz kriging + ANN. Wszystkie modele zostały zaimplementowane w sposób pozwalający na łatwe modyfikowanie hiperparametrów oraz na wielokrotne powtarzanie eksperymentów. Analizę jakości uzyskanych rezultatów wstępnie oparto o wskaźnik R2, na późniejszych etapach analiz obliczono też wskaźniki D0, D1 i D2, czyli dokładność predykcji z dopuszczalną pomyłką o zero, jedną lub dwie klasy zasobności. Otrzymane rezultaty różniły się w zależności od obszaru i eksperymentu. Użycie wysokości od poziomu piaskowca znacząco poprawiło rezultaty otrzymane we wcześniejszych próbach z innymi wysokościami. Kriging z regresją w formie prostopadłościanów dał obiecujące rezultaty z zastosowaniem ograniczenia nakładania się obszarów w danych testowych i walidacyjnych. Dla danych w formie prostopadłościanów zawsze skuteczne okazały się również samodzielne modele regresji. Dodanie ograniczenia minimalnej liczby próbek do utworzenia bloku poprawiło wyniki predykcji większości modeli. Przeprowadzono też próbę predykcji próbek w oryginalnej formie, tzn. przed agregacją, co dało porównywalne rezultaty dla różnych form użytych danych testowych. Jako podsumowanie badań przemysłowych w projekcie przeprowadzone zostały trzy serie eksperymentów badawczych. Modele przygotowywane w każdej z serii eksperymentów zwracały predykcje w postaci liczb rzeczywistych, które następnie były dyskretyzowane do jednej z pięciu klas zasobności miedzi. Miara DN oznacza dokładność (ang. accuracy) klasyfikacji, z dopuszczalną pomyłką o N klas. Wyniki testów wskazały na najlepsze dopasowanie modelu opartego o lasy losowe połączone z krigingiem. Po wygenerowaniu zbioru testowego oraz wytrenowaniu modeli w oparciu o połączone zbiory treningowy i walidacyjny, ostateczne dopasowanie najlepszego modelu przedstawia się średnio: D1 = 0,87, D2 = 0,98. W ramach prac rozwojowych opracowano komponenty technologii, integrujące opracowane modele z komponentami funkcjonalnymi, a także pozafunkcjonalnymi umożliwiającymi użycie opracowanego rozwiązania w procesie planowania eksploatacji złoża. Zintegrowano zatem zaimplementowane w ramach badań przemysłowych komponenty pozwalające na analizę i wizualizację danych z nowymi komponentami obejmującymi API odpowiedzialne za wsadową i przyrostową akwizycję danych o rzeczywistych próbach pochodzących z baz danych górniczych lub aplikacji planowo-odbiorowych. Aby móc dokonać demonstracji uzyskanych przez różne modele rezultatów opracowano prototyp aplikacji włączając do niego opracowane w ramach badań przemysłowych składniki technologii machine learning. W tym celu zostały zaprojektowane i zaimplementowane komponenty funkcjonalne mające na celu wizualizację zebranych próbek rzeczywistych oraz próbek prognozowanych, wygenerowanych przez modele uczenia maszynowego. Za pomocą komponentów aplikacyjnych użytkownik uzyskuje możliwość szczegółowego przeanalizowania dostępnych informacji dotyczących zawartości analizowanych pierwiastków chemicznych w próbkach, a w zademonstrowanym przypadku mamy do czynienia z próbkami poddawanymi analizie dotyczącej zawartość miedzi. Aplikacja została zaimplementowana jako aplikacja webowa w modelu one-site application składająca się z jednej strony WWW obejmującej całą dostępną i wariantowaną wyborami użytkownika funkcjonalność. Na potrzeby prototypu uruchomiono aplikację Python Dash, skrypty uczenia maszynowego oraz serwer bazy danych PostgreSQL, pracujący w roli składnicy danych zawierających informację o lokalizacji geograficznej (rozszerzenie PostGIS). Aplikacja została zrealizowana w technologii Flask z wykorzystaniem języka programowania Python oraz użyciem technologii peryferyjnych Dash i Plotly. Wykorzystano również mapy OpenStreetMap oraz bibliotekę wspomagającą Pyproj. W aplikacji zarządzano danymi z pomocą bibliotek: Pandas oraz Numpy, natomiast do procesów uczenia maszynowego posłużono się Scikit-Learn oraz Pykrige. Dane wizualizacji otrzymano za pomocą skryptów uczenia maszynowego komunikujących się z bazą danych PostgreSQL. Aplikacja Dash na poziomie logiki biznesowej wczytuje te dane za pomocą biblioteki Pandas oraz tworzy kwerendy danych podczas komunikacji z warstwą prezentacji. Interfejs aplikacji obsługiwany jest przez bibliotekę Dash ściśle współpracującą z frameworkiem Flask oraz biblioteką Plotly. Opracowano także interfejs udostępniania danych z wykonanych prognoz z uwzględnieniem wszelkich aspektów dotyczących modelu oraz czasu przeprowadzenia predykcji, co pozwala na analizę i wizualizację tych danych w peryferyjnym oprogramowaniu użytkowanym w przedsiębiorstwach wydobywczych. Powyższe komponenty integracyjne wykonano z wykorzystaniem Flask RestAPI, co dopełnia stos technologiczny. Głównym założeniem symulacji eksploatacji jest, zgodnie z założeniami z Decyzji Inwestycyjnej, weryfikacja założeń planu wydobycia. Weryfikacja ta została przeprowadzona na nowych danych podzielonych w podzbiory wszystkich prób pogrupowanych chronologicznie w taki sposób, aby w pełni odzwierciedlić proces wydobywczy. W przeprowadzonej symulacji wykorzystano wszystkie dostępne informacje, a w szczególności dane prób bruzdowych zagęszczających podzbiory grup danych. Dane te posłużyły do douczania wszystkich czterech modeli w tym modelu sztucznej sieci neuronowej. Uwzględniając powyższe zaplanowano i zrealizowano symulację procesu eksploatacji złoża poprzez przeprowadzenie badań i demonstracji ostatecznej formy opracowywanej w ramach niniejszego projektu technologii. W szczególności wykorzystano zaktualizowane modele machine learning oraz przygotowane przyrostowe zbiory danych, na których iteracyjnie przeprowadzono eksperymenty odzwierciedlając w pełni proces prognozowania.
Udostępnienie kompletnego prototypu aplikacji stanowiło demonstrację ostatecznej formy technologii i osiągnięcia VIII poziomu gotowości technologicznej. Przeprowadzając weryfikację planu wydobycia poprzez symulację procesu eksploatacji potwierdzono, że technologia może być zastosowana w przewidywanych dla niej warunkach.
Projekty komercyjne
Biorąc udział w projektach na rzecz dużych przedsiębiorstw wydobywczych dostarczamy rozwiązania w oparciu o najnowsze technologie obejmujące wielowarstwowe rozwiązania programistyczne. Aplikacje tworzymy głównie z wykorzystaniem frameworku .Net Core wspieranych bibliotekami DevExpress, dostęp do baz geoprzestrzennych Oracle Spatial Database realizujemy za pomocą fasad ORM z wykorzystaniem specjalistycznych, zoptymalizowanych bibliotek. Dopełnienie stosu technologicznego stanowią komponenty wizualizacyjne Bentley Microstation. Wiedza i doświadczenie pozwalają nam na dostarczanie rozwiązań obejmujących:
– Bazy danych górniczych
– Bazy danych geologicznych
– Modele przestrzenne złóż
– Aplikacje planowo-odbiorowe wspierające planowanie i rozliczanie eksploatacji złoża
– Zaawansowaną analitykę i raportowanie