Kategórie
Success-Stories Všeobecné

Mapovanie polohy a výšky stromov v PointCloud dátach získaných pomocou LiDAR technológie

Mapovanie polohy a výšky stromov v PointCloud dátach získaných pomocou LiDAR technológie

Cieľom spolupráce medzi Národným superpočítačovým centrom (NSCC) a firmou SKYMOVE, v rámci projektu Národného kompetenčného centra pre HPC, bol návrh a implementácia pilotného softvérového riešenia pre spracovanie dát získaných technológiou LiDAR (Light Detection and Ranging) umiestnených na dronoch.

Zber dát

LiDAR je inovatívna metóda diaľkového merania vzdialenosti, ktorá funguje na princípe výpočtu doby šírenia impulzu laserového lúča odrazeného od objektov. LiDAR vysiela svetelné impulzy, ktoré zasiahnu zem, alebo daný objekt, a vrátia sa späť, kde sú zachytené senzormi. Meraním času návratu svetla LiDAR určí vzdialenosť bodu, v ktorom sa laserový lúč odrazil. 

LiDAR dokáže vysielať 100- až 300 000 impulzov za sekundu, pričom z každého metra štvorcového povrchu zachytí niekoľko desiatok až stoviek impulzov, v závislosti od konkrétneho nastavenia a vzdialenosti snímaného objektu. Týmto spôsobom sa vytvára tzv. mračno bodov (PointCloud) pozostávajúce, potenciálne, z miliónov bodov. Moderným využitím LiDAR-u je zber dát zo vzduchu, kde sa zariadenie umiestňuje na drony, čím sa zvyšuje efektivita a presnosť zberu dát. Na zber dát v tomto projekte boli použité drony od spoločnosti DJI, hlavne dron DJI M300 a Mavic 3 Enterprise (obr. 1). Dron DJI M300 je profesionálny dron navrhnutý pre rôzne priemyselné aplikácie a jeho parametre umožňujú, aby bol vhodným nosičom pre LiDAR.

Dron DJI M300 bol využitý ako nosič pre LiDAR značky Geosun (obr. 1). Ide o strednorozsahový, kompaktný systém s integrovaným laserovým skenerom a systémom na určovanie polohy a natočenia. Vzhľadom na pomer medzi rýchlosťou zberu a kvalitou dát boli dáta snímané z výšky 100 m nad povrchom, čím je možné zosnímať za pomerne krátky čas aj väčšie územia v postačujúcej kvalite.

Zozbierané dáta boli geolokalizované v súradnicovom systéme S-JTSK (EPSG:5514) a Baltskom výškovom systéme po vyrovnaní (Bpv), pričom súradnice sú udávané v metroch alebo metroch nad morom. Okrem lidarových dát bola súčasne vykonaná aj letecká fotogrametria, ktorá umožňuje tvorbu tzv. ortofotomozaiky. Ortofotomozaiky poskytujú fotografický záznam skúmanej oblasti vo vysokom rozlíšení (3 cm/pixel) a s polohovou presnosťou do 5 cm. Ortofotomozaika bola použitá ako podklad pre vizuálne overenie polôh jednotlivých stromov.

Obrázok 1. Dron DJI M300 (vľavo) a LiDAR značky Geosun (vpravo).

Klasifikácia dát

Nosným datasetom, ktorý vstupoval do automatickej identifikácie stromov, bolo lidarové mračno bodov vo formáte LAS/LAZ (nekomprimovaná a komprimovaná forma). LAS súbory sú štandardizovaným formátom pre ukladanie lidarových dát navrhnutý tak, aby zabezpečil efektívne ukladanie veľkého množstva bodových dát s presnými 3D súradnicami. LAS súbory obsahujú informácie o polohe (x, y, z), intenzite odrazu, klasifikácii bodov a ďalšie atribúty, ktoré sú nevyhnutné pre analýzu a spracovanie lidarových dát. Vďaka svojej štandardizácii a kompaktnosti sa LAS súbory často používajú v geodézii, kartografii, lesníctve, urbanistickom plánovaní a mnohých ďalších oblastiach, kde je potrebná detailná a presná 3D reprezentácia terénu a objektov.

Mračno bodov bolo potrebné najskôr spracovať do takej podoby, aby na ňom bolo možné čo najjednoduchšie identifikovať body jednotlivých stromov alebo vegetácie. Ide o proces, pri ktorom sa každému bodu v mračne bodov priradí určitá trieda, čiže hovoríme o klasifikácii.

Na klasifikáciu mračna bodov je možné použiť viacero nástrojov. V našom prípade sme sa, vzhľadom na dobré skúsenosti, rozhodli použiť softvér Lidar360 od spoločnosti GreenValley International [1]. V rámci klasifikácie mračna bodov boli jednotlivé body mračna klasifikované do nasledovných tried: neklasifikované (1), povrch (2), stredná vegetácia (4), vysoká vegetácia (5), budovy (6). Na klasifikáciu bola využitá metóda strojového učenia, ktorá po natrénovaní na reprezentatívnej trénovacej vzorke dokáže automaticky klasifikovať body ľubovoľného vstupného datasetu (obr. 2).

Trénovacia vzorka je vytvorená manuálnym klasifikovaním bodov mračna do jednotlivých tried. Na účely automatizovanej identifikácie stromov sú pre tento projekt podstatné hlavne triedy povrch a vysoká vegetácia. Avšak, pre čo najlepší výsledok klasifikácie vysokej vegetácie je vhodné zaradiť aj ostatné klasifikačné triedy. Trénovacia vzorka bola tvorená súborom viacerých menších oblastí z celého územia a zahŕňala všetky typy vegetácie, či už listnaté alebo ihličnaté, a taktiež rôzne typy budov. Na základe vytvorenej trénovacej vzorky boli následne automaticky klasifikované zvyšné body mračna. Kvalita trénovacej množiny má preto podstatný vplyv na výslednú klasifikáciu celého územia.


Obrázok 2. Ukážka mračna bodov oblasti zafarbeného pomocou ortofotomozaiky (vľavo) a pomocou príslušnej klasifikácie (vpravo) v programe CloudCompare.

Segmentácia dát

Klasifikované mračno bodov bolo následne segmentované pomocou softvéru CloudCompare [2]. Segmentácia vo všeobecnosti znamená rozdelenie klasifikovaných dát na menšie celky – segmenty, ktoré spĺňajú spoločné charakteristické vlastnosti. Pri segmentácii vysokej vegetácie bolo cieľom priradiť jednotlivé body ku konkrétnemu stromu.

Na účely segmentácie stromov bol použitý plugin TreeIso v softvérovom balíku CloudCompare, ktorý automaticky rozpoznáva stromy na základe rôznych výškových a polohových kritérií (obr. 3). Celková segmentácia sa skladá z troch krokov:

  1. Spájanie bodov, ktoré sú blízko seba, do segmentov a odstraňovanie šumu.
  2. Spájanie susedných segmentov bodov do väčších celkov.
  3. Zloženie jednotlivých segmentov do celku, ktorý tvorí jeden strom.

Výsledkom je kompletná segmentácia vysokej vegetácie. Tieto segmenty sa následne uložia do jednotlivých LAS súborov a použijú sa na následné spracovanie pre určenie polohy jednotlivých stromov. Veľkým nedostatkom tohto nástroja je, že pracuje len v sériovom režime, čiže dokáže využiť len jedno CPU jadro, čo značne limituje jeho použitie v HPC prostredí.

Obrázok, na ktorom je snímka obrazovky, softvér, grafický softvér, multimediálny softvér

Automaticky generovaný popis
Obrázok 3. Segmentované mračno bodov v programe CloudCompare použitím plugin modulu TreeIso.

Ako alternatívnu metódu na segmentovanie sme skúmali aj využitie ortofotomozaiky daných oblastí. Pomocou metód strojového učenia sme sa pokúsili identifikovať jednotlivé koruny stromov na snímkach a na základe takto určených geolokalizačných súradníc identifikovať príslušné segmenty v LAS súbore. Na detekciu korún stromov z ortofotomozaiky bol použitý model YOLOv5 [3] s predtrénovanými váhami z databázy COCO128 [4]. Tréningové dáta pozostávali z 230 snímok, ktoré boli manuálne anotované pomocou nástroja LabelImg [5]. Trénovacia jednotka pozostávala z 300 epoch, snímky boli rozdelené do sád po 16 vzoriek a ich veľkosť bola nastavená na 1000×1000 pixelov, čo sa ukázalo ako vhodný kompromis medzi výpočtovou náročnosťou a počtom stromov na daný výsek. Nedostatočná kvalita tohto prístupu bola obzvlášť markantná pre oblasti s hustou vegetáciou (zalesnených oblastí), ako je znázornené na obrázku 4. Domnievame sa, že to bolo spôsobené nedostatočnou robustnosťou zvolenej trénovacej sady, ktorá nedokázala dostatočne pokryť rôznorodosť obrazových dát (obzvlášť pre rôzne vegetatívne obdobia). Z týchto dôvodov sme segmentáciu z fotografický dát ďalej nerozvíjali a sústredili sme sa už iba na segmentáciu v mračne bodov.

Obrázok 4. Segmentovanie stromov v ortofotomozaike pomocou nástroja YOLOv5. Obrázok ilustruje problém detekcie jednotlivých stromov v prípade hustej vegetácie (súvislého porastu).

Aby sme naplno využili možnosti superpočítača Devana, nasadili sme v jeho prostredí knižnicu lidR [6]. Táto knižnica, napísaná v jazyku R, je špecializovaný nástroj určený na spracovanie a analýzu lidarových dát, poskytuje rozsiahly súbor funkcií a nástrojov pre čítanie, manipuláciu, vizualizáciu a analýzu LAS súborov. S knižnicou lidR je možné efektívne vykonávať úlohy ako filtrovanie, klasifikácia, segmentácia a extrakcia objektov priamo z mračien bodov. Knižnica tiež umožňuje interpoláciu povrchov, vytváranie digitálnych modelov terénu (DTM) a digitálnych modelov povrchu (DSM) a výpočet rôznych metrických parametrov vegetácie a štruktúry krajiny. Vďaka svojej flexibilite a výkonnosti je lidR populárnym nástrojom v oblasti geoinformatiky a je zároveň vhodným nástrojom pre prácu v HPC prostredí, keďže väčšina funkcií a algoritmov je plne paralelizovaná v rámci jedného výpočtového uzla, čo umožňuje naplno využívať dostupný hardvér. V prípade spracovania veľkých datasetov, keď výkon alebo kapacita jedného výpočtového uzla už nie je postačujúca, môže byť rozdelenie datasetu na menšie časti, a ich nezávislé spracovanie, cesta k využitiu viacerých výpočtových HPC uzlov súčasne.

V knižnici lidR je dostupná funkcia locate_trees(), ktorá dokáže pomerne spoľahlivo identifikovať polohu stromov. Na základe zvolených parametrov a algoritmu funkcia analyzuje mračno bodov a identifikuje polohu stromov. V našom prípade bol použitý algoritmus lmf pre lokalizáciu založenú na maximálnej výške [7]. Algoritmus je plne paralelizovaný, takže dokáže efektívne spracovať relatívne veľké zvolené oblasti v krátkom čase.

Takto určené polohy stromov sa dajú následne použiť v algoritme silva2016 na segmentáciu vo funkcii segment_trees() [8]. Táto funkcia segmentuje príslušné nájdené stromy do osobitných LAS súborov (obr. 5), podobne ako plugin modul TreeIso v programe CloudCompare. Následne sa takto segmentované stromy v LAS súboroch použijú na ďalšie spracovanie, konkrétne na určenie polohy jednotlivých stromov, napríklad pomocou klastrovacieho algoritmu DBSCAN [9].

Obrázok 5. Polohy stromov zistené pomocou algoritmu “lmf” (vľavo, červené body) a príslušne segmenty stromov určené algoritmom silva2016 (vpravo), pomocou knižnice lidR. 

Detekcia kmeňov stromov pomocou klastrovacieho algoritmu DBSCAN

Na určenie polohy a výšky stromov v jednotlivých LAS súboroch získaných segmentáciou sme použili rôzne prístupy. Výška jednotlivých stromov bola získaná na základe z-ových súradníc pre jednotlivé LAS súbory ako rozdiel minimálnej a maximálnej súradnice mračien bodov. Keďže jednotlivé výseky z mračna bodov obsahovali v niektorých prípadoch aj viac ako jeden strom, bolo potrebné identifikovať počet kmeňov stromov v rámci týchto výsekov.

Kmene stromov boli identifikované na základe klastrovacieho algoritmu DBSCAN, pracujúceho s nasledovnými nastaveniami: maximálna vzdialenosť dvoch bodov v rámci jedného klastra (= 1 meter) a minimálny počet bodov v jednom klastri (= 10). Poloha každého identifikovaného kmeňa bola následne získaná na základe x-ových a y-ových súradníc geometrických stredov (centroidov) klastrov. Identifikácia klastrov pomocou DBSCAN algoritmu je ilustrovaná na obrázku 6.

Obrázok 6. Výseky z mračna bodov, PointCloud-u (stĺpec vľavo) a príslušné detegované klastre vo výške 1-5 metrov (stĺpec vpravo).

Zistenie výšky stromov pomocou interpolácie povrchov

Ako alternatívnu metódu na určenie výšok stromov sme použili tzv. Canopy Height Model (CHM). CHM je digitálny model, ktorý predstavuje výšku stromovej obálky nad terénom. Tento model sa používa na výpočet výšky stromov v lese alebo inom vegetačnom poraste. CHM sa vytvára odčítaním digitálneho modelu terénu (DTM) od digitálneho modelu povrchu (DSM). Výsledkom je mračno bodov alebo raster, ktorý zobrazuje výšku stromov nad povrchom terénu (obr. 7).

Ak teda poznáme súradnice polohy stromu, pomocou tohto modelu môžeme jednoducho zistiť príslušnú výšku objektu (stromu) v danom bode. Výpočet tohto modelu je možné jednoducho uskutočniť použitím knižnice lidR pomocou funkcií grid_terrain(), ktorá vytvára DTM, a grid_canopy(), ktorá počíta DSM.

Obrázok 7. Canopy Height Model (CHM) pre skúmanú oblasť (na osiach X a Y sú uvedené súradnice v metroch), výška každého bodu v metroch je reprezentovaná pomocou farebnej škály.

Porovnanie výsledkov

Pre porovnanie dosiahnutých výsledkov vyššie popísanými prístupmi sme sa zameriavali na oblasť Petržalky v Bratislave, kde už boli vykonané manuálne merania polôh a výšok stromov. Z celej oblasti (približne 3500×3500 m) sme vybrali reprezentatívnu menšiu oblasť o rozmeroch 300×300 m (obr. 2). Získali sme tak výsledky pre plugin modul TreeIso v programe CloudCompare (CC), pričom sme pracovali na PC v prostredí Windows, a výsledky pre algoritmy vo funkciách locate_trees() a segment_trees() pomocou knižnice lidR  v HPC prostredí superpočítača Devana. Polohy stromov sme následne kvalitatívne a kvantitatívne vyhodnotili pomocou algoritmu Munkres (Hungarian Algorithm) [10] na optimálne párovanie. Algoritmus Munkres, tiež známy ako Maďarský algoritmus, je efektívny algoritmus na nájdenie optimálneho párovania v bipartitných grafoch. Jeho použitie pri párovaní stromov s manuálne určenými polohami stromov znamená nájdenie najlepšej zhody medzi identifikovanými stromami z lidarových dát a ich známymi polohami. Následne pri určení vhodnej hranice vzdialenosti v metroch (napríklad 5 m) potom vieme kvalitatívne zistiť počet presne určených polôh stromov. Výsledky sú spracované pomocou histogramov a percentuálne určujú správne polohy stromov v závislosti od zvolenej hranice presnosti (obr. 8). Zistili sme, že obe metódy dosahujú pri hranici vzdialenosti 5 metrov takmer rovnaký výsledok, približne 70% správne určených polôh stromov. Metóda použitá v programe CloudCompare vykazuje lepšie výsledky, resp. vyššie percento pri nižších prahových hodnotách, čo odzrkadľujú aj príslušné histogramy (obr. 8). Pri porovnaní oboch metód navzájom dosahujeme až približne 85% zhody pri prahovej hodnote do 5 metrov, čo poukazuje na kvalitatívnu vyrovnanosť oboch použitých prístupov. Kvalitu dosiahnutých výsledkov ovplyvňuje hlavne presnosť klasifikácie vegetácie v bodových mračnách, pretože prítomnosť rôznych artefaktov, ktoré sú nesprávne klasifikované ako vegetácia, skresľuje finálne výsledky. Algoritmy na segmentáciu stromov nedokážu vplyv týchto artefaktov eliminovať.

Obrázok 8. Histogramy vľavo zobrazujú počet správne identifikovaných stromov v závislosti od zvolenej prahovej hodnoty vzdialenosti v metroch (hore CC metóda a dole lidR metóda). Grafy vpravo ukazujú percentuálnu úspešnosť správne identifikovaných polôh stromov v závislosti od použitej metódy a od zvolenej prahovej hodnoty vzdialenosti v metroch.

Analýza paralelnej efektivity algoritmu locate_trees() v knižnici lidR

Na zistenie efektivity paralelizácie hľadania vrcholov stromov v knižnici lidR, pomocou funkcie locate_trees(), sme daný algoritmus aplikovali na rovnaké študované územie s rôznym počtom CPU jadier – 1, 2, 4 až po 64 (maximum HPC uzla). Aby sme zistili, či je daný algoritmus citlivý aj na veľkosť problému, otestovali sme ho na troch územiach s rôznou veľkosťou – 300×300, 1000×1000 a 3500×3500 metrov. Dosiahnuté časy sú zobrazené v Tabuľke 1 a škálovateľnosť algoritmu je znázornená na obrázku 9. Výsledky ukazujú, že škálovateľnosť algoritmu nie je ideálna. Pri použití približne 20 jadier CPU klesá efektivita algoritmu na približne 50%, pri použití 64 jadier CPU je efektivita algoritmu už len na úrovni 15-20%. Efektivitu algoritmu ovplyvňuje aj veľkosť problému – čím väčšie územie, tým menšia efektivita, aj keď tento efekt nie je až tak výrazný. Na záver môžeme konštatovať, že na efektívne využitie daného algoritmu je vhodné použiť 16-32 CPU jadier a vhodným rozdelením daného skúmaného územia na menšie časti dosiahnuť maximálne efektívne využitie dostupného hardvéru. Použitie viac ako 32 CPU jadier síce už nie je efektívne, ale umožňuje ďalšie urýchlenie výpočtu.

Obrázok 9. Zrýchlenie (SpeedUp) algoritmu lmf vo funkcii locate_trees() knižnice lidR v závislosti od počtu CPU jadier (NCPU) a veľkosti študovaného územia (v metroch).

Záverečné zhodnotenie

Zistili sme, že pre dosiahnutie dobrých výsledkov je extrémne dôležité správne nastavenie parametrov použitých algoritmov, keďže počet a kvalita výsledných polôh stromov sú od nich veľmi závislé. Na získanie čo najpresnejších výsledkov je vhodné vybrať reprezentatívnu časť skúmanej oblasti, manuálne zistiť polohy stromov a následne nastaviť parametre príslušných algoritmov. Takto optimalizované nastavenia môžu následne byť použité na analýzu celej skúmané oblasti.

Kvalitu výsledkov ovplyvňuje taktiež množstvo iných faktorov, ako napríklad ročné obdobie, ktoré má vplyv na hustotu vegetácie, alebo hustota stromov v danej oblasti a druhová variabilita vegetácie. Kvalitu výsledkov ovplyvňuje aj kvalita klasifikácie vegetácie v mračne bodov, pretože prítomnosť rôznych artefaktov, ako sú časti budov, cesty, dopravné prostriedky a iné objekty, môže následne negatívne skresliť výsledky, keďže použité algoritmy na segmentáciu stromov nedokážu tieto artefakty vždy spoľahlivo odfiltrovať.

Z hľadiska efektivity výpočtov môžeme konštatovať, že použitie HPC prostredia poskytuje zaujímavú možnosť násobného urýchlenia vyhodnocovacieho procesu. Na ilustráciu môžeme uviesť, že spracovanie, napríklad, celej skúmanej oblasti Petržalky (3500×3500 m) trvalo na jednom výpočtovom uzle HPC systému Devana približne 820 sekúnd, pri využití všetkých (t.j. 64) CPU jadier. Spracovanie danej oblasti v programe CloudCompare na výkonnom PC,  pri použití jedného CPU jadra, trvalo približne 6200 sekúnd, čo je asi 8-krát pomalšie.

Plná verzia článku SK

Autori
Marián Gall – Národné superpočítačové centrum
Michal Malček – Národné superpočítačové centrum
Dávid Murín – SKYMOVE s. r. o.
Robert Straka – SKYMOVE s. r. o.

Zdroje:

[1] https://www.greenvalleyintl.com/LiDAR360/

[2] https://github.com/CloudCompare/CloudCompare/releases/tag/v2.13.1

[3] https://github.com/ultralytics/yolov5

[4] https://www.kaggle.com/ultralytics/coco128

[5] https://github.com/heartexlabs/labelImg

[6] Roussel J., Auty D. (2024). Airborne LiDAR Data Manipulation and Visualization for Forestry Applications.

[7] Popescu, Sorin & Wynne, Randolph. (2004). Seeing the Trees in the Forest: Using Lidar and Multispectral Data Fusion with Local Filtering and Variable Window Size for Estimating Tree Height. Photogrammetric Engineering and Remote Sensing. 70. 589-604. 10.14358/PERS.70.5.589.

[8] Silva C. A., Hudak A. T., Vierling L. A., Loudermilk E. L., Brien J. J., Hiers J. K., Khosravipour A. (2016). Imputation of Individual Longleaf Pine (Pinus palustris Mill.) Tree Attributes from Field and LiDAR Data. Canadian Journal of Remote Sensing, 42(5). 

[9] Ester M., Kriegel H. P., Sander J., Xu X.. KDD-96 Proceedings (1996) pp. 226–231

[10] Kuhn H. W., “The Hungarian Method for the assignment problem”, Naval Research Logistics Quarterly, 2: 83–97, 1955


Mapovanie polohy a výšky stromov v PointCloud dátach získaných pomocou LiDAR technológie 25 júl - Cieľom spolupráce medzi Národným superpočítačovým centrom (NSCC) a firmou SKYMOVE, v rámci projektu Národného kompetenčného centra pre HPC, bol návrh a implementácia pilotného softvérového riešenia pre spracovanie dát získaných technológiou LiDAR (Light Detection and Ranging) umiestnených na dronoch.
Workshop: POP3 Profiling and Optimisation Tools 16 júl - Pozývame vás na zaujímavé podujatie POP3 Profiling and Optimisation Tools 46th VI-HPS Tuning Workshop. Podujatie je organizované POP3 CoE v spolupráci s Národnými kompetenčnými centrami pre HPC zo Slovenska, Česka, Poľska a Rakúska Maďarska a Slovinska.
Call for Ideas: Hľadáme slovenských MSP partnerov pre projektové konzorcium FFPlus 4 júl - NCC Slovakia hľadá slovenských MSP partnerov na vytvorenie konzorcia pre návrh prestížneho projektu FFPlus. Cieľom je využiť vysokovýkonné počítanie pri riešení špecifických obchodných výziev zahŕňajúcich napr. modelovanie a simulácie, analýzu údajov, AI atď.
Kategórie
Success-Stories Všeobecné

Implementácia metódy čiastočne riadeného učenia Uni-Match do metódy Frame Field Learning pre úlohu extrakcie budov z leteckých snímok

Implementácia metódy čiastočne riadeného učenia Uni-Match do metódy Frame Field Learning pre úlohu extrakcie budov z leteckých snímok

Extrakcia budov v Geografických informačných systémoch (GIS) je kľúčová pre urbanistické plánovanie, environmentálne štúdie a riadenie infraštruktúry, pretože umožňuje presné mapovanie stavieb, vrátane odhaľovania nelegálnych stavieb za účelom dodržiavania právnych predpisov, alebo efektívnejšieho vyberania daní. Integrácia extrahovaných údajov o budovách s inými geopriestorovými vrstvami zlepšuje pochopenie dynamiky miest a priestorových vzťahov. Vzhľadom na rozsah a zložitosť týchto úloh rastie potreba automatizovať extrakciu budov pomocou techník hlbokého učenia, ktoré ponúkajú vyššiu presnosť a efektívnosť pri spracovaní veľkých geopriestorových dát.

Ilustračný obrázok

V súčasnosti, väčšina najmodernejších segmentačných modelov hlbokého učenia poskytuje výstup iba v rastrovej forme. Avšak GIS často potrebujú dáta vo vektorovej forme. Jednou z metód, ktorá dokáže generovať dáta vo vektorovej forme, je Frame Field learning. Táto metóda generuje okrem segmentačnej masky aj frame field pole, ktoré obsahuje štrukturálne informácie o objektoch, ktoré sa následne využívajú v procese vektorizácie.

Modely Frame Field learningu sú trénované metódou “s učiteľom” (z angl. “supervised learning”), ktorá potrebuje veľké množstvo anotovaných dát. Na získanie takéhoto množstva kvalitných dát je potrebná manuálna ľudská práca, ktorá však môže byť zdĺhavá a nákladná. Jednou z metód, ktorá môže znížiť závislosť od anotovaných dát, je “učenie s čiastočným učiteľom”, resp. “čiastočne riadené učenie“ (z angl. “semi-supervised learning”). Tento prístup učenia využíva nielen anotované dáta, ale aj množinu neanotovaných dát.

Cieľom tejto spolupráce medzi Národným kompetenčným centrom pre HPC a Geodeticca Vision s.r.o. bolo identifikovať, implementovať a vyhodnotiť vhodnú metódu učenia s čiastočným učiteľom pre Frame Field learning.

Metódy
Frame Field learning

Hlavnou myšlienkou Frame Field learning [1] metódy je pomôcť vektorizačnému algoritmu vyriešiť nejednoznačné prípady pri vektorizácii, ktoré sú spôsobené diskrétnou pravdepodobnostnou segmentačnou mapou (výstup zo segmentačného modelu), a to pridaním tzv. frame fields poľa (viď. Obrázok 1) ako ďalšieho výstupu z neurónovej siete, reprezentujúceho geometrické charakteristiky budov.

Frame field pole

Frame field je vektorové pole rádu 4, čo znamená, že každému bodu v rovine priradí 4 smerové vektory. Protiľahlé vektory majú rovnakú hodnotu, ale s opačným znamienkom, takže každému bodu v rovine je priradený vektor {u, −u, v, −v}. Tieto vektory postačujú na definovanie tvaru budov, ktoré sú z veľkej časti pravidelného tvaru s pravouhlými rohmi.


Obrázok 1: Ukážka frame field poľa definovaného pre budovu z trénovacej sady [1].

Frame Field learning

Obrázok 2: Diagram procesu Frame Field learning [1].

Proces metódy Frame Field learning môžeme zosumarizovať nasledovne:

  1. Vstupom do neurónovej siete je RGB obraz o veľkosti 3 x V x Š.
  2. Na generovanie mapy príznakov (z angl. “feature map”) je možné využiť rôzne segmentačné architektúry, napr. U-Net.
  3. Učenie je supervizované (patrí medzi metódy učenia s učiteľom), pričom pre učenie segmentačných masiek sa využívajú označené rastrované polygóny pre interiér a hranice budov. Ako stratová funkcia sa využíva lineárna kombinácia funkcií cross-entropy a Dice loss.
  4. Pre učenie samotného Frame Field poľa sa využívajú vektory polygónov označených budov, kde konzistentnosť a presnosť Frame Field poľa zabezpečujú tri stratové funkcie:
    1. Lalign stratová funkcia riadi správne natočenie Frame Field poľa na smery dotyčnice vektoru polygónu.
    1. Lalign90 stratová funkcia zabraňuje, aby sa Frame Field pole degradovalo na priamkové pole.
    1. Lsmooth zabezpečuje hladký priebeh Frame Field poľa.
  5. Pre zachovanie konzistentnosti medzi segmentačnou pravdepodobnostnou mapu a Frame Field výstupom sú definované regularizačné stratové funkcie, ktoré zarovnávajú Frame Field pole s gradientmi segmentačnej mapy.

Vektorizácia

Obrázok 3: Vizualizácia procesu vektorizácie [1].

Proces vektorizácie transformuje výstup z natrénovanej neurónovej siete do topologicky čistých vektorov pomocou algoritmu Active Skeleton Model (ASM). Princíp algoritmu spočíva v iteratívnom posúvaní vrcholov skeletového grafu do ich ideálnej pozície. Skeletový graf je vygenerovaný pomocou morfologickej operácie “thinning” z gradientu segmentačnej mapy. Iteratívny posun je riadený gradientovou optimalizačnou metódou, ktorej cieľom je minimalizovať energetickú funkciu, ktorá má nasledujúce zložky:

  1. Eprobability – riadi prispôsobenie skeletového grafu kontúram pravdepodobnostnej mapy budovy na konkrétnu hodnotu pravdepodobnosti (napr. 0.5)
  2. Eframe field align – riadi zarovnanie každej hrany skeletového grafu na Frame Field pole.
  3. Elength – zaisťuje homogénnu distribúciu vrcholov skeletového grafu.

UniMatch metóda čiastočne riadeného učenia

UniMatch [2], pokročilá metóda učenia s čiastočným učiteľom z kategórie regulátorov konzistentnosti, stavia na základných princípoch vytvorených metódou FixMatch [3], ktorá je základnou metódou v tejto kategórií algoritmov. Funguje na princípe pseudo-označovania (z angl. “pseudo-labeling“) v kombinácií s reguláciou konzistentnosti.

Základný princíp metódy FixMatch spočíva v generovaní pseudo-označení (anotácií) pre neanotované dáta, pomocou predikcií neurónovej siete. To znamená, že pre slabo perturbovaný neanotovaný vstup xw sa vygeneruje predikcia pw, ktorá slúži ako pseudo-označenie pre predikciu silne perturbovaného vstupu xs. Následne sa vypočíta hodnota chybovej funkcie, napr. cross-entropy(pw,  ps), pričom do úvahy sa berú iba tie oblasti z pw, ktoré majú hodnotu pravdepodobnosti väčšiu ako daný prah, napr. >0.95. 

Rozšírenie metódy UniMatch oproti metóde FixMatch spočíva v dvoch princípoch:

  1. UniPerb (Unified Perturbations for Images and Features) – aplikácia perturbácie na úrovni príznakov (z angl. “feature perturbation“). V praxi to znamená, že na výstup (teda príznak – feature) z encoder vrstvy neurónovej siete sa aplikuje dropout funkcia, ktorá náhodne vynuluje niektoré príznaky. Takto upravený výstup z encoder vrstvy následne vstupuje do decoder časti siete, ktorá vygeneruje pfp.
  2. DusPerb (Dual-Stream Perturbations) – namiesto jednej silnej perturbácie sa využívajú dve silné perturbácie xs1 xs2.
Obrázok 4: (a) FixMatch základná metóda, (b) použitá UniMatch metóda. FP je označenie pre feature perturbation (perturbácia príznakov), w ako weak (slabá) a s ako strong (silná) perturbácia [2].

V konečnom dôsledku máme tri stratové funkcie – cross-entropy(pw,  pfp), cross-entropy(pw,  ps1), cross-entropy(pw,  ps2). Tie sa nakoniec lineárne kombinujú so supervizovanou stratovou funkciou.

Táto metóda v súčasnosti patrí medzi state-of-the-art metódy učenia s čiastočným učiteľom. Hlavnou výhodou tejto metódy je jej jednoduchosť pri implementácií a nevýhodou je jej citlivosť na výber vhodnej slabej a silnej perturbácie.

Integrácia UniMatch metódy do Frame Field učenia

Implementácia UniMatch do Frame Field learning frameworku

Aby sme mohli implementovať UniMatch metódu do Frame Field leagning štruktúry, potrebovali sme najprv definovať slabú a silnú perturbáciu v kontexte leteckých snímok. Ako slabé perturbácie sme zvolili základné priestorové transformácie obrazu, vrátane rotácie, zrkadlenia a vertikálneho/horizontálneho prevrátenia. Všetky tieto transformácie sú oprávnené pre letecké snímky.

V prípade silných perturbácií sme použili fotometrické transformácie. Tie zahŕňajú úpravy odtieňa, farby, či jasu obrazu. Poskytujú výraznejšie zmeny snímok než s použitím priestorových transformácií. 

Dôležitým krokom bola implementácia perturbácie na úrovni príznakov (feature perturbation).   Túto perturbáciu sme implementovali ako dropout mechanizmus vo vrstve medzi encoder a decoder časťami architektúry U-Net. Tento mechanizmus zahodí (nastaví na nulu) náhodne vybrané hodnoty príznakov (výstup z encoder vrstvy). Takto upravené hodnoty výstupu z encoder časti siete vstupujú ďalej do decoder časti U-Net architektúry.

V prípade dual-stream perturbácií sme prispôsobili Frame Field framework tak, aby využíval dve silné perturbácie. Predikcia pre slabú perturbáciu sa použila ako pseudo-označenie pre dve silné perturbácie (preto označenie dual-stream). Dve silné perturbácie prispievajú k celkovej robustnosti a efektívnosti modelu.

Prostredníctvom týchto úprav bola UniMatch metóda úspešne integrovaná do Frame Field learning algoritmu, čím sa zvýšila jeho schopnosť efektívne spracúvať a učiť sa z anotovaných a hlavne neanotovaných dát.

Experimenty
Dáta
Anotované dáta

Anotované dáta použité v štúdii pochádzajú z troch rôznych zdrojov, detaily sú uvedené v Tabuľke 1.

Tabuľka 1: Prehľad troch zdrojov anotovaných dát použitých na trénovanie modelov.

Neanotované dáta

Neanotované dáta (verejne dostupné vysoko kvalitné letecké snímky) pochádzajú z Geodetického a kartografického ústavu (GKÚ) [6]. Pri výbere sme sa zamerali na oblasť s rozlohou 7 000 km2, čím bola zaistená diverzita rôznych povrchov krajín a mestských prostredí.

Spracovanie dát: Patching

Anotované aj neanotované snímky boli spracované pomocou metódy “patching”,ktorá obraz rozdeľuje na malé časti veľkosti 320x320px. Táto veľkosť bola špecificky vybraná tak, aby vyhovovala požiadavkám pre vstup zvolenej neurónovej siete. Takýmto spôsobom vzniklo z anotovaných dát približne 55 000 malých častí a z neanotovaných dát okolo 244 000 častí.

Trénovanie
Architektúra modelu

Použitý model sme navrhli s pomocou U-Net architektúry s EfficientNet-B4 základom. Táto kombinácia poskytuje  dobrú rovnováhu presnosti a efektívnosti, čo je veľmi dôležité pri práci s komplexnými segmentačnými úlohami. EfficientNet-B4 ako základ neurónovej siete bol vybraný pre optimálnu rovnováhu medzi spotrebou pamäte a výkonom. V metóde Frame Field learning sa U-Net architektúra ukázala byť vysoko efektívna, o čom svedčia výsledky použitia tejto siete v rôznych štúdiách.

Trénovací proces

Na trénovanie sme použili AdamW optimalizátor, ktorý kombinuje výhody Adam optimalizácie s regularizačnou metódou “weight decay”, čím pomáha modelu lepšie generalizovať. Aby sme sa vyhli pretrénovaniu modelu, použili sme L2 regularizáciu a taktiež bola použitá metóda ReduceLROnPlateau na optimalizáciu parametra rýchlosti učenia. Táto metóda upravuje parameter rýchlosti učenia na základe validačnej straty.

Úpravy potrebné pre implementáciu učenia s čiastočným učiteľom

Kľúčovým aspektom nášho trénovania bolo nastavenia podielu anotovaných a neanotovaných obrázkov. Experimentovali sme s pomermi od 1:1 do 1:5 (počet anotovaných : počet neanotovaných). Takýmto spôsobom sme zisťovali, ako rôzne množstvá neanotovaných dát ovplyvňujú trénovací proces. Identifikovali sme optimálny pomer pre trénovanie nášho modelu tak, aby bolo zachované efektívne učenie s využitím metódy učenia s čiastočným učiteľom.

Vyhodnotenie modelu

Na vyhodnotenie nášho modelu na extrakciu budov sme zvolili metriky, ktoré precízne merajú ako presne sa predikcie zhodujú so skutočnými štruktúrami.

Intersection over Union (IoU)

Kľúčovou metrikou, ktorú sme využívali je metrika s názvom Intersection over Union (IoU). Počíta zhodu medzi predikciami modelu a skutočným tvarom budov. Hodnota skóre IoU blízka 1 znamená, že naše predikcie sú podobné skutočným budovám. Táto metrika je nevyhnutná na posúdenie geometrickej presnosti pre segmentované oblasti, pretože odráža presnosť vytýčenia hraníc budov. Okrem toho, vyhodnotením pomeru správne predikovanej oblasti ku kombinovanej oblasti (zjednotenie oblasti predikcie a skutočnej oblasti), nám IoU poskytuje jasnú mieru efektivity modelu v zachytávaní skutočného kontextu a tvaru budov v komplexnej mestskej krajine.

Precision, Recall (senzitivita) a F1 skóre

Metrika nazývaná precision vyjadruje podiel správne identifikovaných budov zo všetkých identifikovaných budov. Senzitivita (angl. “recall“) ilustruje schopnosť modelu zachytiť všetky skutočné budovy. Vysoká hodnota tejto metriky poukazuje na citlivosť modelu pri detekcii budov. F1 skóre kombinuje precision a senzitivitu do jednej metriky, poskytujúc vyvážený obraz výkonu modelu.

Complexity Aware IoU (cIoU)

Ďalšou použitou metrikou bola Complexity Aware IoU (cIoU) [7]. Táto metrika rieši nedostatky IoU tým, že vyvažuje presnosť segmentácie a komplexnosť tvarov polygónov. Zatiaľ čo IoU môže viesť model k vytváraniu veľmi komplexných polygónov, cIoU zaručuje, že komplexnosť polygónov (počet ich vrcholov) je zachovaná realistická, čím odráža skutočný tvar budov, ktoré sú obvykle málo komplexné.

N Ratio Metrika

Metrika N ratio je doplnkovým komponentom v našej vyhodnocovacej stratégii. Porovnáva počet vrcholov v našich predpovedaných tvaroch s tými v skutočných budovách [7]. Tým nám metrika pomáha porozumieť, ako presne náš model replikuje detailnú štruktúru budov.

Max Tangent Angle Error (MTAE)

Na zaistenie čistej geometrie pri extrakcii budov, je dôležité presné meranie pravidelnosti kontúr. Chyba maximálneho uhla dotyčníc (resp. Max Tangent Angle Error (MTAE)) [1] je metrika navrhnutá presne pre tieto potreby, a je doplnením Intersection over Union (IoU) metriky. Špecificky cieli na nedostatok IoU metriky, ktorým je to, že segmentácia s okrúhlymi rohmi môže dosiahnuť vyššie skóre než segmentácia s presnejšími (ostrejšími) rohmi. Vyhodnocovaním zhody okrajov budov cez porovnávanie uhlov dotyčníc vo vybraných bodoch predikovaných a skutočných kontúr, MTAE efektívne penalizuje nepresnosti v orientácii okrajov. Toto zameranie na presnosť okrajov je dôležité pre produkovanie čistých vektorových reprezentácií budov, zdôrazňujúc dôležitosť presného vymedzenia hraníc v segmentačných úlohách.

Vyhodnotenie

Natrénované modely boli testované na veľkej dátovej množne leteckých snímok v plnej veľkosti (namiesto malých častí, pomocou ktorých bola sieť trénovaná). Takéto testovanie poskytuje presnejšie zobrazenie reálnych použití takýchto modelov. Na extrakciu budov zo snímok v plnej veľkosti sme použili techniku posuvného okna, čím boli vytvorené predikcie po jednotlivých segmentoch obrázku. Na okraje prekrývajúcich sa segmentov bola použitá pokročilá priemerovacia technika, dôležitá pre minimalizáciu nežiadúcich efektov a zachovanie konzistentnosti v rámci predikčnej mapy. Výstupná predikčná mapa v plnej veľkosti bola následne vektorizovaná do presných vektorových polygónov s použitím algoritmu Active Skeleton Model (ASM).

Výsledky

Tabuľka 2: Výsledky trénovania modelov pre základný prístup (učenie s učiteľom) a prístupy učenia s čiastočným učiteľom s rôznymi podielmi použitých anotovaných a neanotovaných obrázkov.

Výsledky z experimentov, odrážajúce výkon segmentačného modelu natrénovaného s rôznymi nastaveniami, odhalili zaujímavé zistenia (viď. Tabuľka 2). Vyhodnotili sme výkon základného modelu (len supervizovaný prístup) a výkon modelov trénovaných metódami učenia s čiastočným učiteľom s použitím rôznych podielov anotovaných a neanotovaných dát (1:1, 1:3, a 1:5).

  1. IoU: hodnota IoU metriky bola pre základný model na hodnote 80.50%. S prínosom neanotovaných dát do trénovacieho procesu pozorujeme stabilný nárast, dosahujúc až 85.77%, s použitím pomeru 1:5 anotovaných k neanotovaným obrázkom.
  2. Precision, senzitivita a F1 skóre: Hodnota metriky precision sa zlepšila z hodnoty 85.75% pre základný model na hodnotu 90.04% pre model s použitým podielom 1:5. Podobne senzitivita sa zľahka zvýšila z hodnoty 94.27% na 94.76%. F1 skóre taktiež narástlo z hodnoty 89.81% na 92.34%. Tieto zlepšenia naznačujú, že zakomponovaním metódy s čiastočným učiteľom sa model stal presnejším a spoľahlivejším v predikciách.
  3. N Ratio a cIoU: Výsledky ukazujúznateľnýpokles v hodnote metriky N Ratio z hodnoty 2.33 pre základný model, na hodnotu 1.65 pre model s 1:5 podielom (anotované : neanotované), čo indikuje, že učenie s čiastočným učiteľom produkuje jednoduchšie, ale presnejšie vektorové tvary, ktoré viac pripomínajú skutočné štruktúry budov. Toto zjednodušenie tvarov pravdepodobne prispieva k zvýšenej použiteľnosti výstupu v praktických GIS aplikáciách. Súbežne, hodnoty metriky (cIoU) sa signifikantne zlepšili z hodnoty 48.89% pre základný model, na hodnotu 64.75% pre model s 1:5 podielom. Preto sa zdá, že učenie s čiastočným učiteľom nezlepšuje len zhodu predikovaných stôp budov a skutočných stôp budov, ale tiež generuje jednoduchšie vektorové tvary, ktoré sú bližšie reálnym geometrickým tvarom budov.
  4. Priemerná MTAE: Redukcia metriky MTAE z 18.60° na 17.45° pri použití učenia s čiastočným učiteľom predstavuje zlepšenie v geometrickej presnosti predikcií modelu. To naznačuje, že táto metóda učenia je lepšia pri zachytávaní architektonických prvkov budov s presnejšie definovanými uhlami, čo prispieva k produkcii topologicky jednoduchších a čistejších vektorových polygónov.

Trénovanie na HPC

HPC konfigurácia

Trénovanie bolo realizované na HPC klastri Devana vybavenom dostatočnými výpočtovými zdrojmi. HPC klaster Devana disponuje 8 GPU uzlami. Každý GPU uzol obsahuje 4 GPU karty NVIDIA A100 s kapacitou VRAM  40GB, 64 jadier CPU a 256GB kapacity RAM. Plánovanie úloh zabezpečuje systém Slurm.

PyTorch Lightning knižnica

Na paralelizáciu sme použili knižnicu PyTorch Lightning, ktoré poskytuje užívateľsky priateľské prostredie pre prácu s viacerými GPU. Táto knižnica umožňuje užívateľovi špecifikovať počet GPU, počet výpočtových uzlov, poskytuje rôzne distribuované stratégie a možnosť mixed-precision trénovania.

Slurm a PyTorch Lightning nastavenie

Pri trénovaní pomocou 1 GPU vyzerala naša Slurm konfigurácia nasledovne:
#SBATCH –partition=ngpu
#SBATCH –gres=gpu:1
#SBATCH –cpus-per-task=16
#SBATCH –mem=64000

A nastavenie PyTorch Lightning pre Trainer:

trainer = Trainer(accelerator=”gpu”, devices=1)

Takto sme alokovali jednu GPU kartu zo štyroch dostupných na danom uzle, a 16 CPU zo 64 dostupných, následkom čoho máme 16 workerov pre data loadery. Keďže učenie s čiastočným učiteľom využíva dva data loadery, (jeden pre anotované a ďalší pre neanotované dáta), alokovali sme 8 workerov pre každý z nich. Je dôležité zaručiť, aby celkový počet jadier pre data loadery nepresiahol počet dostupných jadier, pretože trénovanie môže zlyhať.

Distribuované dátovo-paralelné (DDP) trénovanie

S použitím PyTorch Lightning distribuovaného dátovo-paralelného trénovania (DDP) sme dosiahli, že každá použitá GPU bola operovaná nezávisle:

  • Každá GPU spracovala časť dátovej sady.
  • Všetky procesy inicializovali model nezávisle.
  • Všetky procesy vykonali dopredné a spätné šírenie paralelne.
  • Gradienty boli synchronizované a spriemerované medzi procesmi.
  • Každý proces aktualizoval svoj optimalizátor individuálne.

S týmto prístupom vypočítame počet data loaderov nasledovne: pre učenie s čiastočným učiteľom v prostredí jedného uzla so 4 GPU kartami a dvoma typmi data loaderov, máme 8 data loaderov, pričom každý má 8 workerov – dohromady 64 workerov.

Na plné využitie jedného uzla so 4 GPU sme použili nasledovnú konfiguráciu:

#SBATCH –partition=ngpu

#SBATCH –gres=gpu:4

#SBATCH –exclusive

#SBATCH –cpus-per-task=64

#SBATCH –mem=256000

Kľúčové slovo „–exclusive“ znamená, že daný výpočtový uzol nebude súčasne poskytnutý inému používateľovi. Špecifikácie „–cpus-per-task=64“ a „–mem=256000“ sú v danom nastavení redundantné, nakoľko sa použijú všetky výpočtové zdroje daného uzla.

PyTorch Lightning Trainer, nastavíme nasledovne:

trainer = Trainer(accelerator=”gpu”, devices=4, strategy=”ddp”)

Využitie viacerých výpočtových uzlov

S použitím PyTorch Lightning knižnice je tiež možné využiť viacero výpočtových uzlov v HPC systéme. Napríklad, využitie 4 uzlov so 4 GPU kartami na každom uzle (dohromady 16 GPU) bolo konfigurované:

trainer = Trainer(accelerator=”gpu”, devices=4, strategy=”ddp”, num_nodes=4)

Analogicky, Slurm konfigurácia bola nastavená takto:

#SBATCH –nodes=4

#SBATCH –ntasks-per-node=4

#SBATCH –gres=gpu:4

Tieto nastavenia a výsledky zdôrazňujú škálovateľnosť a flexibilitu komplexného trénovacieho procesu modelov strojového učenia v HPC prostredí, najmä pre úlohy, ktoré vyžadujú významné výpočtové zdroje, ako je napríklad naša úloha využívajúca učenie s čiastočným učiteľom v geopriestorovej dátovej analýze.

Analýza škálovateľnosti trénovania

Tabuľka 3: Výsledky trénovania prístupov učenia s učiteľom a učenia s čiastočným učiteľom s 1, 2, 4 a 8 GPU. Pre každú konfiguráciu je uvedený čas na jednu epochu a pomer urýchlenia proti 1 GPU.

V analýze škálovateľnosti trénovania sme dôkladne preskúmali vplyv rozširovania výpočtových zdrojov na efektívnosť trénovania modelov s využitím knižnice PyTorch Lightning.
Tento prieskum zahŕňal metódy učenia s učiteľom aj čiastočným učiteľom s dôrazom na zvyšovanie počtu GPU kariet, vrátane prístupu využívajúceho 2 uzly (8 GPU).

Obrázok 5: Urýchlenie pre trénovanie supervizovanou a nesupervizovanou metódou vzhľadom na počet použitých GPU. Pre porovnanie je uvedené aj ideálne (lineárne) urýchlenie. Učenie s čiastočným učiteľom je bližšie ideálnemu škálovaniu, t.j. efektívnejšie využíva výpočtové zdroje.

Kľúčovým zistením z tejto analýzy je, že nárast v pomeroch urýchlenia pre učenie s učiteľom nie je priamo úmerný počtu použitých GPU kariet. Ideálne, zdvojnásobenie počtu GPU kariet by malo zdvojnásobiť urýchlenie (t.j., napr. použitie 4 GPU kariet by malo mať za následok štvornásobné urýchlenie voči jednej GPU karte). Skutočné hodnoty urýchlenia boli nižšie než ideálne hodnoty. Tento nesúlad možno pripísať tzv. overhead-u (.j. nutnému navýšeniu operácií, ako transfer dát, I/O a pod. a tým pádom aj celkovému trvaniu výpočtu) asociovanému s manažovaním viacerých GPU kariet a výpočtových uzlov, obzvlášť synchronizácii dát cez všetky GPU karty, čo má za následok pokles efektívnosti.

Učenie s čiastočným učiteľom ukázalo mierne iný trend, viac približujúci sa ideálnemu (lineárnemu) nárastu urýchlenia. Zdá sa, že komplexnosť a vyššie výpočtové nároky učenia s čiastočným učiteľom zmierňujú dopad overhead nákladov a tým umožňujú efektívnejšie využívanie viacerých GPU. Napriek výzvam spojeným so synchronizáciou dát cez viacero GPU kariet a výpočtových uzlov, vyššie výpočtové nároky učenia s čiastočným učiteľom umožňujú efektívnejšie škálovanie zdrojov, t.j. urýchlenie bližšie ideálnemu scenáru.

Záver

Výskum predstavený v tejto práci úspešne demonštruje efektívnosť integrácie metódy UniMatch, ktorá patrí medzi metódy učenia s čiastočným učiteľom, do Frame Field learning metódy, pre úlohy extrakcie budov z leteckých snímok. Táto integrácia primárne adresuje notorický nedostatok anotovaných dát v aplikáciách hlbokého učenia v geografických informačných systémoch (GIS) a navyše, poskytuje škálovateľný a efektívny prístup z hľadiska úspory nákladov.

Výsledky sumarizované v tejto štúdii indikujú, že použitie učenia s čiastočným učiteľom významne zlepšuje výkon modelu vo viacerých kľúčových metrikách, vrátane  Intersection over Union (IoU), presnosti pozitívnych predikcií, senzitivity, F1 skóre, N Ratio, complexity-aware IoU (cIoU), a priemernej chyby Max Tangent Angle Error (MTAE). Obzvlášť, zlepšenia v metrikách IoU a cIoU zdôrazňujú zvýšenú presnosť modelu vo vymedzovaní stôp budov a generovaní vektorových tvarov, ktoré vierohodne reprezentujú skutočné štruktúry. Tento výsledok je dôležitý pre aplikácie urbanistického plánovania, environmentálne štúdie a manažment infraštruktúry, kde sú precízne mapovanie a popis budov kľúčové.

Prezentovaná metodika, ktorá kombinuje Frame Field learning s inovatívnym UniMatch prístupom, preukázala, že je vysoko efektívna vo využívaní kombinácie anotovaných a neanotovaných dát. Táto stratégia nielen že zlepšuje geometrickú presnosť predikcií modelu, ale tiež zaručuje generovanie jednoduchších a topologicky presnejších vektorových polygónov. Navyše, škálovateľnosť a efektívnosť trénovania na HPC systéme Devana s použitím knižnice PyTorch Lightning a distribuovanej, dátovo-paralelnej stratégie (DDP) bola kľúčová pre zvládnutie tak výpočtovo náročných úloh, akým je učenie s čiastočným učiteľom nad príslušnými dátami, v časovom rozsahu rádovo desiatok minút, až hodín.

Práca zdôrazňuje potenciál učenia s čiastočným učiteľom v zlepšovaní automatickej extrakcie budov z leteckých snímok. Implementácia UniMatch do Frame Field learning metódy predstavuje významný krok vpred, poskytujúc robustné riešenie pre výzvy spojené s nedostatkom dát a potreby vysokej presnosti geopriestorovej dátovej analýzy. Tento prístup zlepšuje efektívnosť a presnosť extrakcie budov, a taktiež otvára nové možnosti pre aplikácie metód učenia s čiastočným učiteľom v GIS a príbuzných oblastiach.

Poďakovanie

Výskum bol realizovaný s podporou Národného kompetenčného centra pre HPC, projektu EuroCC 2 a Národného Superpočítačového Centra na základe dohody o grante 101101903-EuroCC 2-DIGITALEUROHPC-JU-2022-NCC-01.

Časť výskumu bola realizovaná s využitím výpočtovej infraštruktúry obstaranej v projekte Národné kompetenčné centrum pre vysokovýkonné počítanie (kód projektu: 311070AKF2) financovaného z Európskeho fondu regionálneho rozvoja, Štrukturálnych fondov EU Informatizácia spoločnosti, operačného programu Integrovaná infraštruktúra 2014-2020.

Autori:

Patrik Sabol – Geodeticca Vision s.r.o., Floriánska 19, 044 01 Košice, Slovenská republika

 Bibiána Lajčinová – Národné Superpočítačové Centrum, Dúbravská cesta 3484/9, 84104 Bratislava-Karlová Ves, Slovenská republika

Plná verzia článku SK

Plná verzia článku EN

Literatúra:

[1] Nicolas Girard, Dmitriy Smirnov, Justin Solomon, and Yuliya Tarabalka. “Polygonal Building Extraction by Frame Field Learning”. In: Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) (June 2021), pp. 5891-5900.

[2] L. Yang, L. Qi, L. Feng, W. Zhang, and Y. Shi. “Revisiting Weak-to-Strong Consistency in Semi-Supervised Semantic Segmentation”. In: 2023 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) (June 2023), pp. 7236-7246. doi: 10.1109/CVPR52729.2023.00699.

[3] Kihyuk Sohn, David Berthelot, Chun-Liang Li, Zizhao Zhang, Nicholas Carlini, Ekin D. Cubuk, Alex Kurakin, Han Zhang, and Colin Raffel. “FixMatch: Simplifying Semi-Supervised Learning with Consistency and Confidence”. In: CoRR, vol. abs/2001.07685 (2020). Available: https://arxiv.org/abs/2001.07685.

[4] Emmanuel Maggiori, Yuliya Tarabalka, Guillaume Charpiat, and Pierre Alliez. “Can Semantic Labeling Methods Generalize to Any City? The Inria Aerial Image Labeling Benchmark”. In: IEEE International Geoscience and Remote Sensing Symposium (IGARSS) (2017). IEEE.

[5] Adrian Boguszewski, Dominik Batorski, Natalia Ziemba-Jankowska, Tomasz Dziedzic, and Anna Zambrzycka. “LandCover.ai: Dataset for Automatic Mapping of Buildings, Woodlands, Water and Roads from Aerial Imagery”. In: Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) Workshops (June 2021), pp. 1102-1110.

[6] “Ortofotomozaika.” Geoportal SK. Accessed February 14, 2024. https://www.geoportal.sk/sk/zbgis/ortofotomozaika/.

[7] Stefano Zorzi, Shabab Bazrafkan, Stefan Habenschuss, and Friedrich Fraundorfer. “PolyWorld: Polygonal Building Extraction with Graph Neural Networks in Satellite Images”. In: Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (2022), pp. 1848-1857.

 

 



Mapovanie polohy a výšky stromov v PointCloud dátach získaných pomocou LiDAR technológie 25 júl - Cieľom spolupráce medzi Národným superpočítačovým centrom (NSCC) a firmou SKYMOVE, v rámci projektu Národného kompetenčného centra pre HPC, bol návrh a implementácia pilotného softvérového riešenia pre spracovanie dát získaných technológiou LiDAR (Light Detection and Ranging) umiestnených na dronoch.
Workshop: POP3 Profiling and Optimisation Tools 16 júl - Pozývame vás na zaujímavé podujatie POP3 Profiling and Optimisation Tools 46th VI-HPS Tuning Workshop. Podujatie je organizované POP3 CoE v spolupráci s Národnými kompetenčnými centrami pre HPC zo Slovenska, Česka, Poľska a Rakúska Maďarska a Slovinska.
Call for Ideas: Hľadáme slovenských MSP partnerov pre projektové konzorcium FFPlus 4 júl - NCC Slovakia hľadá slovenských MSP partnerov na vytvorenie konzorcia pre návrh prestížneho projektu FFPlus. Cieľom je využiť vysokovýkonné počítanie pri riešení špecifických obchodných výziev zahŕňajúcich napr. modelovanie a simulácie, analýzu údajov, AI atď.
Kategórie
Success-Stories

Identifikácia entít pre extrakciu adries z transkriptovaných rozhovorov s využitím syntetických dát

Identifikácia entít pre extrakciu adries z transkriptovaných rozhovorov s využitím syntetických dát

Podniky vynakladajú vel’ké množstvo úsilia a finančných prostriedkov na komunikáciu s klientmi. Zvyčajne je ciel’om informácie klientom poskytnúť’, niekedy je však naopak potrebné informácie vyžiadať’ (napr. miesto bydliska). Na riešenie tejto požiadavky sa vynakladá značné úsilie, napríklad vývojom chat- a voicebotov, ktoré na jednej strane slúžia na poskytovanie informácií klientom, ale možno ich využiť’ aj na kontaktovanie klienta so žiadosťou o poskytnutie informácií. Konkrétnym príkladom z reálneho života je kontaktovanie klienta prostredníctvom textovej správy alebo telefonicky s cieľom aktualizovať’ jeho kontaktnú adresu. Keďže adresa klienta sa mohla časom zmeniť, podnik potrebuje priebežne aktualizovať tieto informácie vo svojej internej databáze klientov.

Ilustračný obrázok

Pri vyžiadaní takýchto informácií prostredníctvom ”nových” kanálov, akými sú chat- alebo voiceboty, je dôležité overiť’ správnosť’ a formát adresy. V takýchto prípadoch informácie o adrese zvyčajne pochádzajú z voľného textového vstupu, alebo ako transkript (prepis) hovorenej reči do textu. Takéto vstupy môžu obsahovať’ značne množstvo ”šumu” alebo odchýlky voči požadovanému formátu adresy. Na overenie formátu a platnosti adresy je potrebné odfiltrovať’ šum a extrahovať’ zodpovedajúce entity, ktoré tvoria skutočnú, t.j. presnú adresu. Tento proces extrakcie entít zo vstupného textu je označovaný ako rozpoznávanie pomenovaných entít (NER, z angl. ”Named-Entity Recognition”). V našom konkrétnom prípade ide o tieto entity: názov obce, názov ulice, číslo domu a poštové smerovacie číslo. Cieľom tohto reportu je opísať’ vývoj, implementáciu a posúdenie kvality systému NER na extrakciu spomenutých informácií.

POPIS PROBLÉMU

Táto štúdia je výsledkom spoločného úsilia Národného kompetenčného centra pre vysokovýkonné počítanie a spoločnosti nettle, s.r.o., ktorá je slovenským start-upom zameraným na spracovanie prirodzeného jazyka, chatboty a voiceboty. Cieľom bolo vyvinúť’ vysoko presný a spoľahlivý NER model na extrakciu adries, ktorého vstupom je voľný text, ako aj transkript reči do textu. Výsledný NER model predstavuje dôležitý prvok pre vývoj reálnych systémov starostlivosti o zákazníkov, ktorý sa dá využiť’ všade, kde je nutné extrahovanie adresy.

Výzvou tejto štúdie bolo spracovanie dát, ktoré boli dostupné výlučne v slovenskom jazyku. Z tohto dôvodu bol výber základného modelu veľmi obmedzený. Aktuálne je k dispozícii niekoľko verejne dostupných NER modelov pre slovensky jazyk. Tieto modely sú založené na predtrénovanom univerzálnom modeli SlovakBERT [1]. Bohužiaľ’, všetky tieto modely podporujú len niekoľko typov entít, pričom podpora entít relevantných pre extrakciu adries chýba. Priame využitie populárnych veľkých jazykových modelov (LLM, z angl. ”Large Language Models”), ako je GPT, prostredníctvom cloudových rozhraní (API) neprichádza v našom prípade do úvahy, primárne z dôvodov ochrany osobných údajov a časových oneskorení.

Navrhovaným riešením je doladenie (z angl. ”fine-tuning”) modelu SlovakBERT pre NER. Úloha NER je v našom prípade klasifikačná úloha na úrovni tokenov. Cieľom je dosiahnuť’ dostatočnú presnosť’ v rozpoznávaní entít s malým počtom dostupných reálnych pozorovaní. V časti 2.1 opisujeme náš dátový súbor, vrátane procesu tvorby týchto dát. Výrazný nedostatok dostupných, reálnych pozorovaní nás prinútil vytvoriť’ ”syntetické dáta”. V časti 2.2 navrhujeme úpravy SlovakBERT-u s cieľom natrénovať’ a doladiť’ ho pre našu úlohu. V časti 2.3 skúmame iteračné zlepšenia nášho prı́stupu generovania syntetických dát. Záverom, v časti 3, uvádzame výsledky trénovania a diskutujeme výkonnosť’ modelu.

DÁTA

K dispozícii bolo iba 69 zaznamenaných, reálnych vstupov. Všetky tieto vstupy boli navyše značne ovplyvnené šumom, napr. prirodzeným váhaním v reči, chybami pri prepise reči a pod. Preto boli tieto dáta použité výlučne na testovanie. V tabuľke 1 sú uvedené dva príklady zo zhromaždeného súboru dát.

Tabul’ka 1: Dva prı́klady z reálnych dát. V stĺpci Veta je zobrazený pôvodný text adresy. Stĺpec Tokenizovaný text obsahuje tokenizovanú reprezentáciu vety a stĺpec Anotácie obsahuje tag-y pre prı́slušné tokeny. Zdôrazňujeme, že nie každá veta musı́ nevyhnutne obsahovat’ všetky uvažované typy entı́t. Niektoré vety obsahujú šum, zatial’ čo iné obsahujú gramatické/pravopisné chyby: Token ,,Ďalši” nie je súčasťou adresy a názov ulice ,,bauerová” nezačína veľkým písmenom.

Vytváranie syntetického súboru trénovacích dát sa ukázalo ako jediná možnost’ riešenia problému nedostatku pozorovaní. Inšpirovaní 69 reálnymi príkladmi sme pomocou API do OpenAI vygenerovali množstvo podobných, reálne vyzerajúcich príkladov. Na anotovanie vygenerovaného súboru dát sa použila anotačná schéma BIO [2]. Táto schéma, často používaná v NLP na anotovanie tokenov, označuje v sekvencii začiatok (beginning – B), vnútro (inside – I) alebo ”vonkajšok” (outside – O) entít. Používame 9 anotácií: O, B-Ulica, I-Ulica, B-ČísloDomu, I ČísloDomu, B-Obec, I-Obec, B-PSČ, I-PSČ.

Údaje boli generované vo viacerých iteráciách, vid’. časť’ 2.3. Konečný súbor trénovacích dát pozostával z viac ako 104 pozorovaní. Na generovanie bolo použité GPT-3.5-turbo API. Keďže generovanie textu prostredníctvom tohto API je obmedzené počtom tokenov – ako generovaných, tak aj tokenov v prompte –, nebolo možné v rámci promptov použiť’ kompletný zoznam všetkých existujúcich slovenských názvov ulíc a obcí. Preto boli dáta generované so zástupnými znakmi názov ulice a názov obce, ktoré sa následne nahradili náhodne vybranými názvami ulíc a obcí zo zoznamov názvov ulíc, resp. obcí. Kompletný zoznam slovenských názvov ulíc a obcí bol získaný z webových stránok Ministerstva vnútra Slovenskej republiky [3].

Pomocou generatívneho algoritmu OpenAI, dostupného cez API, sa nám podarilo dosiahnuť’ organické vety bez potreby ručného generovania dát, čo výrazne urýchlilo prácu. Použitie tohto prístupu však neprebehlo úplne bez problémov. Vo vygenerovanom súbore sa vyskytovalo mnoho chýb, boli to hlavne nesprávne anotácie, ktoré bolo potrebné ručne opraviť’. Vygenerovaný súbor bol rozdelený tak, že 80% dát bolo použitých na trénovanie modelu, 15% na validáciu a 5% ako syntetické testovacie dáta, aby bolo možné porovnať’ výkonnosť’ modelu na skutočných dátach s výkonom na umelých testovacích dátach.

VÝVOJ A TRÉNOVANIE MODELOV

V práci boli boli použité a porovnané dva predtrénované, všeobecné modely pre slovenský jazyk: SlovakBERT [1] a destilovaná verzia tohto modelu [4]. V tomto texte označujeme destilovanú verziu ako DistilSlovakBERT. SlovakBERT je open source predtrénovaný model slovenského jazyka, ktorý využíva maskované modelovanie jazyka (MLM, z angl. ”Masked Language Modeling”). Bol natrénovaný na všeobecnom slovenskom webovom korpuse, ale dá sa l’ahko prispôsobit’ na riešenie nových úloh [1]. Dis-tilSlovakBERT je predtrénovaný model získaný z modelu SlovakBERT metódou nazývanou ”destilácia znalostí”, ktorá výrazne zmenšuje vel’kost’ modelu pri zachovaní (až 97%) jeho schopností porozumiet’ jazyku.

Oba modely boli upravané pridaním vrstvy klasifikácie, čím sa v oboch prípadoch získali modely vhodné pre úlohy NER. Posledná klasifikačná vrstva pozostáva z 9 neurónov zodpovedajúcich 9 anotáciám entít, t.j. 4 časti adresy a každá je reprezentovaná dvoma anotáciami – začiatok (B) a vnútro (I) každej entity a jedna anotácia je pre neprítomnosť akejkoľvek entity (O). Počet parametrov pre každý model a jeho zložky sú zhrnuté v tabuľke 2.

Tabul’ka 2: Počet parametrov v použitých NER modeloch a ich prı́slušné počty parametrov pre základný model a klasifikačnú vrstvu.

Trénovanie modelov sa ukázalo byt’ značne náchylné na preučenie. Na riešenie tohto problému a dalšie zlepšenie procesu trénovania bolo použíté lineárne zmenšovanie parametru rýchlosti učenia, regularizačná stratégiu ”weight decay” a niektoré d’alšie stratégie ladenia hyperparametrov.

Na trénovanie modelov boli využité výpočtové prostriedky HPC systému Devana, ktorý prevádzkuje Výpočtové stredisko Centra spoločných činností SAV, konkrétne s využitím akcelerovaného uzla s 1 grafickou kartou (GPU) NVidia A100. Na pohodlnejšiu analýzu a ladenie bolo využívané interaktívne prostredie OpenOnDemand, ktoré umožňuje používatel’om vzdialený webový prístup k superpočítaču.

Proces trénovania vyžadoval iba 10 − 20 epoch na natrénovanie pre oba modely. Pri použití spomenutých HPC prostriedkov bol čas trénovania jednej epochy v priemere 20 sekúnd pre 9492 vzoriek v trénovanom súbore dát pre SlovakBERT a 12 sekúnd pre DistilSlovakBERT. Inferencia na 69 vzorkách trvá 0, 64 sekundy pre SlovakBERT a 0, 37 sekundy pre DistilSlovakBERT, čo dokazuje dostatočnú efektivitu pre použitie týchto modelov v NLP aplikáciách v reálnom čase.

ITERATÍVNE VYLEPŠENIA

Hoci sme mali k dispozícii len 69 reálnych pozorovaní, ich komplexnost’ bola pomerne náročná na simulovanie v generovaných dátach. Generovaný súbor dát bol vytvorený pomocou viacerých promptov, výsledkom čoho bolo 11,306 viet, ktoré pripomínali človekom generovaný text. Získanie finalného riešenia pozostávalo z niekol’kých iterácií, pričom každú iteráciu možno rozdeliť na viaceré kroky: generovanie dát, trénovanie modelu, vizualizácia chýb predikcie na reálnych a umelých testovacích dátach a ich analýza. Týmto spôsobom boli identifikované vzory, ktoré model nedokázal rozpoznat’. Na základe týchto poznatkov boli vygenerované nové dáta, ktoré sa riadili týmito novoidentifikovanými vzormi. Dáta dopĺňané v iteráciách boli generované pomocou promptov uvedených v tabul’ke 3. Pomocou každého novorozšíreného súboru dát boli natrénované oba modely, pričom presnost’ modelu Slovak-BERT vždy prevyšovala presnost’ modelu DistilSlovakBERT. Preto bol d’alej využívaný ako základný model už iba SlovakBERT.

Výsledky

Matica zámen (z angl. ”Confusion Matrix”) zodpovedajúca výsledkom modelu natrénovaného v Iterácii 1 (pozri Tabul’ka 3)—je zobrazená v Tabul’ke 4. Tento model dokázal správne rozpoznat’ iba 67, 51% entít v testovacom súbore údajov. Podrobné preskúmanie chýb predikcie ukázalo, že súbor trénovacích dát nereprezentuje dostatočne dobre reálne pozorovania a je potrebné generovat’ viac reprezentatívnejších údajov. V tabul’ke 4 je zrejmé, že najčastejšou chybou bola identifikácia obce ako ulice a dochádzalo k tomu v prípadoch, ked’ sa názov obce objavil pred názvom ulice v adrese. Výsledkom bolo generovanie dát pomocou iterácie 2 a iterácie 3.

Tabul’ka 3: Iteratı́vny proces vytvárania dátového súboru. Každý prompt bol použitý dvakrát: najprv so šumom a potom bez šumu, t.j. s prirodzenými váhaniami l’udskej reči. Niekedy, ak je v tabul’ke uvedené, prompt umožňoval zamiešat’ alebo vynechat’ niektoré časti adresy (entity).

Ciel’om bolo dosiahnut’ viac ako 90% presnost’ na reálnych testovacích dátach. Presnost’ predikcie modelu sa so systematickým generovaním údajov neustále zvyšovala. Finálne bol celý súbor údajov zduplikovaný tak, že duplicity reflektovali text s použitím len malých písmen, nakol’ko využitý predtrénovaný model je citlivý na malé a vel’ké písmená a niektoré testovacie pozorovania obsahovali názvy ulíc a obcí s malými písmenami. Vd’aka tomu sa model stal robustnejším voči forme, v ktorej dostáva vstup, a dosiahol konečnú presnost’ 93,06%. Matica zámen najlepšieho (finálneho) modelu je zobrazená v Tabul’ke 5.

Tabul’ka 4: Matica zámen modelu natrénovaného na súbore dát z prvej iterácie, ktorá dosiahla predikčnú presnost’ modelu 67, 51 %.
Tabul’ka 5: Matica zámen konečného modelu s presnost’ou 93,06%. Porovnanı́m výsledkov s výsledkami v Tabul’ke 4 vidı́me, že presnost’ sa zvýšila o 25,55%.

V predikciách sa stále vyskytujú niektoré chyby; najmä tokeny, ktoré majú byt’ identifikované ako O, sú občas nesprávne klasifikované ako Obec. Týmto problémom sme sa d’alej nezaoberali, pretože sa vyskytuje pri slovách, ktoré sa môžu podobat’ na časti názvov entít, ale v skutočnosti nepredstavujú samotné entity. Príklad je zobrazený v Tabul’ke 6.

Tabul’ka 6: Prı́klady predikciı́ konečného modelu pre dve testovacie vety. Prvá veta obsahuje jeden nesprávne klasifikovaný token: tretı́ token ,,Kal” s anotáciou O bol klasifikovaný ako B-Obec. K ne- správnej klasifikácii “Kal” ako obce došlo v dôsledku jeho podobnosti s podslovami nachádzajúcimi sa v slove “Kalša”. Druhá veta má všetky svoje tokeny klasifikované správne.

ZÁVER

V tejto štúdii bol natrénovaný NER model postavený na predtrénovanom LLM modeli SlovakBERT. Model bol natrénovaný výlučne na umelo vygenerovanom súbore dát. Finálne syntentické trénovacie dáta boli reprezentatívne a kvalitné, vd’aka ich iteratívnemu rozširovaniu. Spolu s dolad’ovaním hyperparametrov tento iteratívny prístup umožnuje dosiahnut’ predikčnú presnost’ na reálnom dátovom súbore, presahujúcu 90%. Prezentovaný prístup naznačuje vysoký potenciál používania výlučne synteticky generovaných dát a to najmä v prípadoch, ked’ množstvo reálnych údajov nie je dostatočné na trénovanie.

Získaný model je možné využit’ v reálnych aplikáciách slúžiacich na extrakciu a overenie správnosti adries, získaných mechanizmami prevodu reči na text. V prípade, že je k dispozícii väčší súbor reálnych dát, odporúčame model pretrénovat’ a prípadne aj rozšírit’ syntetický súbor dát o d’alšie generované údaje, pretože existujúci súbor nemusí reprezentovat’ potenciálne nové vzory v týchto nových, reálnych dátach.
Model je dostupný na https://huggingface.co/nettle-ai/slovakbert-address-ner

POĎAKOVANIE

Výskum bol realizovaný s podporou Národného kompetenčného centra pre HPC, projektu EuroCC 2 a Národného Superpočítačového Centra na základe dohody o grante 101101903-EuroCC 2-DIGITAL-EUROHPC-JU-2022-NCC-01. Výskum (alebo jeho čast’) bol realizovaný s využitím výpočtovej infraštruktúry obstaranej v projekte Národné kompetenčné centrum pre vysokovýkonné počítanie (kód projektu: 311070AKF2) financovaného z Európskeho fondu regionálneho rozvoja, Štrukturálnych fondov EÚ Informatizácia spoločnosti, operačného programu Integrovaná infraštruktúra 2014-2020.

AUTORI

Bibiána Lajčinová – Národné superpočítačové centrum

Patrik Valábek – Národné superpočítačové centrum, Ústav informatizácie, automatizácie a matematiky, Slovenská technická univerzita v Bratislave

Michal Spišiak – nettle, s. r. o.

Plná verzia článku SK
Plná verzia článku EN

Zdroje:

[1] Matús Pikuliak, Stefan Grivalsky, Martin Konopka, Miroslav Blsták, Martin Tamajka, Viktor Bachratý, Marián Simko, Pavol Balázik, Michal Trnka, and Filip Uhlárik. Slovakbert: Slovak masked language model. CoRR, abs/2109.15254, 2021.

[2] Lance Ramshaw and Mitch Marcus. Text chunking using transformation-based learning. In Third Workshop on Very Large Corpora, 1995.

[3] Ministerstvo vnútra Slovenskej republiky. Register adries. https://data.gov.sk/dataset/register-adries-register-ulic. Accessed: August 21, 2023.

[4] Ivan Agarský. Hugging face model hub. https://huggingface.co/crabz/distil-slovakbert, 2022. Accessed: September 15, 2023.


Mapovanie polohy a výšky stromov v PointCloud dátach získaných pomocou LiDAR technológie 25 júl - Cieľom spolupráce medzi Národným superpočítačovým centrom (NSCC) a firmou SKYMOVE, v rámci projektu Národného kompetenčného centra pre HPC, bol návrh a implementácia pilotného softvérového riešenia pre spracovanie dát získaných technológiou LiDAR (Light Detection and Ranging) umiestnených na dronoch.
Implementácia metódy čiastočne riadeného učenia Uni-Match do metódy Frame Field Learning pre úlohu extrakcie budov z leteckých snímok 21 jún - Extrakcia budov v Geografických informačných systémoch (GIS) je kľúčová pre urbanistické plánovanie, environmentálne štúdie a riadenie infraštruktúry, pretože umožňuje presné mapovanie stavieb, vrátane odhaľovania nelegálnych stavieb za účelom dodržiavania právnych predpisov, alebo efektívnejšieho vyberania daní. Integrácia extrahovaných údajov o budovách s inými geopriestorovými vrstvami zlepšuje pochopenie dynamiky miest a priestorových vzťahov.
Kategórie
Success-Stories

Detekcia anomálií v časových radoch: prevencia gamblingu pomocou hlbokého učenia

Detekcia anomálií v časových radoch: prevencia gamblingu pomocou hlbokého učenia

Prevencia gamblingu u hráčov online kasín je výzvou, so zjavne pozitívnym dopadom nielen na bežný život hráčov, ale aj na prevádzkovateľov kasín, ktorých úmyslom je sprostredkovať zodpovedné hranie. Na dosiahnutie týchto cieľov sme použili metódy hlbokého učenia „bez učiteľa“ (z angl. „unsupervised learning“), ktoré dokážu identifikovať hráčov vykazujúcich známky problémového hráčstva, s využitím dostupných dát vo forme časových radov. Prezentujeme porovnanie nami navrhnutej architektúry autoenkódera založenej na transformeroch s rekurentnými a konvolučnými autoenkódermi, s dôrazom na výhody tejto architektúry v detekcii anomálií. Keďže klinická diagnóza hráčov nebola v dostupných dátach k dispozícii, výsledky našej štúdie vyhodnocujeme analyzovaním „skóre anomálie“ získaného z autoenkódera a niekoľkých pomocných ukazovateľov, ktoré sú v literatúre často spomínané ako symptómy problémového hráčstva.

Ilustračný obrázok

Patologické hranie hier je definované ako problémové správanie, kedy osoba opakovane staví objekt určitej hodnoty (najčastejšie peniaze) za účelom výhry, ale s neurčitým výsledkom [1], [2]. Bolo tiež odhalených mnoho podobností medzi problémovým gamblingom a závislosťami na omamných látkach [3]. S prístupnosťou internetu sa zvýšil aj výskyt patologického hráčstva. Toto správanie má často negatívny dopad nielen na život dotknutých jednotlivcov, ale aj ich rodiny. Práve preto je včasná detekcia známok patologického hráčstva kľúčová nielen pre zachovanie duševného zdravia, ale aj finančnej situácie ovplyvnených osôb. Táto práca vznikla ako spolupráca Národného kompetenčného centra pre vysokovýkonné počítanie, spoločnosti DOXXbet s.r.o. (športové tipovanie a online kasíno) a spoločnosti Codium s.r.o. (vývoj softvérovej platformy športové tipovanie a iGaming-u pre DOXXbet, s.r.o.), s cieľom zlepšenia služieb zákazníkom a prevencie patologického hráčstva. Tento „proof of concept“ projekt je základom pre ďalší vývoj nástrojov, ktoré pomôžu poskytovateľovi zmierniť dopad negatívnych následkov problémového hráčstva na životy hráčov, aj za cenu zníženia príjmov, čo je v súlade s aktuálnymi európskymi trendmi v risk manažmente online hazardných hier.

V našej práci sme použili prístup učenia „bez učiteľa“ s využitím neurónovej AE siete založenej na transformeroch za účelom detekcie anomálií. Predpokladáme, že dáta patologických hráčov, ktorých by (štatisticky) medzi všetkými hráčmi malo byť medzi 0.5 až 5%, vykazujú anomálie, nie nutne naopak. Dátová sada, ktorú používame, neobsahuje klinickú diagnózu hráčov a spomedzi pomocných ukazovateľov spomenutých vyššie sa v dátach nachádzajú len niektoré – žiadosti o zvýšenie limitu vkladov, doháňanie strát intenzívnejším hraním (ďalej budeme tento indikátor označovať „epizódy naháňania straty“), používanie viacerých platobných metód, časté výbery malých finančných obnosov a ďalšie, ktoré budú spomenuté neskôr. Nakoľko nie všetci hráči, ktorí preukážu anomálne správanie musia byť patologickými hráčmi, boli pomocné ukazovatele použité v kombinácii so „skóre anomálie“, získaného ako výstup z AE.

DÁTA

Dáta použité v tejto štúdii sú sekvenciami pozorovaní zbieraných v čase, monitorujúce viaceré aspekty hráčskeho správania ako frekvencia a časy hier, frekvencia a výška peňažných vkladov, platobné metódy použité pri peňažných vkladoch, informácie o výške stávok, výhier, strát, výberoch a taktiež početnosť žiadostí o zmenu limitu pre výšku vkladov. Z týchto dát bolo extrahovaných 19 prvkov deskriptora vo forme časových radov (ČR). Každý prvok deskriptora pozostáva z viacerých hodnôt, ktoré sú chronologicky usporiadané. Tieto príznaky sú pre zrozumiteľnosť klasifikované do troch kategórií – „čas“, „peniaze“ a „zúfalstvo“, inšpirované autormi Seth a kol. [4]. Každý prvok deskriptora je sekvenciou N hodnôt, pričom každá hodnota predstavuje jedno z N po sebe idúcich časových okien. Každá takáto hodnota bola získaná agregáciou denných dát v príslušnom časovom okne, pričom dĺžka časového okna bola v rozmedzí od 15 dní až po 3 mesiace. Časové okno bolo v niektorých prípadoch pohyblivé, v iných nie. Pre každé pozorovanie teda potrebujeme dáta z N časových okien a zvolená hodnota N po sérii experimentov bola 8 . Celý proces extrakcie premenných je zobrazený na Obrázku 1, finálny tvar dát na Obrázku 2.

Obrázok 1: Vizualizácia agregácie denných záznamov do časových okien a do finálnej formy prvkov deskriptora. t1, …, t450 predstavujú časové záznamy pre denné dáta x1, …, x450. Denné záznamy z časového okna sú agregované do jednej hodnoty zi pre všetky i ∈ (1, . . . , 8).
Obrázok 2: Finálny tvar dát vstupujúcich do modelu. Každé pozorovanie pozostáva z devätnástich prvkov deskriptora a každý prvok pozostáva z ôsmych časových okien.

Architektúra modelu neurónovej siete

Autoenkóder je metóda hlbokého učenia „bez učiteľa“ vhodná na detekciu anomálií v ČR. Myšlienka použitia tohto typu neurónovej siete na detekciu anomálií je založená na rekonštrukčnej schopnosti modelu. AE sa naučí rekonštruovať dáta v trénovacej sade a keďže trénovacia sada by ideálne mala obsahovať len „normálne“ pozorovania, model sa naučí správne rekonštruovať len takéto pozorovania. Preto keď je vstupné pozorovanie anomálne, natrénovaný AE model nedokáže tento vstup zrekonštruovať dostatočne správne, čo má za následok vysokú rekonštrukčnú chybu. Táto rekonštrukčná chyba môže byť použitá ako skóre anomálie daného pozorovania, pričom vyššie skóre znamená väčšiu pravdepodobnosť, že pozorovanie sa vymyká všeobecnému trendu.

V štúdii sme natrénovali AE model na báze transformerov, kde enkóder aj dekóder obsahujú vrstvu nazývanú „Multi Head Attention“ so štyrmi „hlavami“ a 32-dimenzionálnymi vektormi kľúčov a hodnôt. Za touto vrstvou nasleduje klasická neurónová sieť s tzv. „dropout“ vrstvami a reziduálnymi spojeniami. Celý AE model má niečo málo viac než 100k trénovateľných parametrov.

Rekonštrukčná chyba a predikčná schopnosť

Na vyhodnotenie stability modelov sme uskutočnili 3-násobnú krížovú validáciu. Výsledná priemerná strata na trénovacej množine je 0.010, na validačnej 0.012 a na testovacej 0.015. Strata na testovacej množine je vyššia než tá na trénovacej alebo validačnej množine, čo je spôsobené tým, že 211 anomálnych pozorovaní bolo presunutých do testovacej množiny. Bez presunu týchto pozorovaní by bola strata na testovacej množine 0.012. Výkon modelu je prezentovaný na Obrázku 3 vo forme histogramu hodnoty stratovej funkcie. Histogram má „ťažký pravý chvost“, čo je očakávané pre dátové sady obsahujúce anomálie.

Obrázok 3: Histogramy rekonštrukčnej chyby AE modelu na báze transformeru pre testovaciu množinu. Na osi x je hodnota skóre anomálie a na osi y je frekvencia príslušnej hodnoty.

Na demonštráciu kvality rekonštrukcie ČR sú na obrázku Obrázku 4 znázornené pôvodné (modrá čiara) a predikované (červená čiara) hodnoty pre náhodne vybrané anomálne pozorovanie jedného hráča. Hodnota skóre anomálie pre príslušné modely je uvedená v nadpise grafov.

Obrázok 4: Porovnanie predikčnej schopnosti AE modelov. Všetky modely rekonštruovali rovnaké pozorovanie, pochádzajúce z testovacej množiny. Predikčná schopnosť: modrá čiara predstavuje vstupné dáta, červená rekonštrukciu získanú pomocou AE modelu na báze transformera. Číslo uvedené v nadpise grafu predstavuje skóre anomálie pre danú vzorku dát.

Výsledky

Nakoľko nebola klinická diagnóza súčasťou dát, ktorými sme disponovali, môžeme sa pri identifikácii hráčov s potenciálne problémovým hráčstvom spoliehať len na pomocné ukazovatele. K tejto úlohe sme pristúpili tak, že síce detegujeme anomálie v dátach, ale sme si vedomí toho, že nie všetky anomálie musia indikovať problém s gamblingom. Preto budeme korelovať výsledky AE modelu s týmito pomocnými ukazovateľmi:

  • Priemerný počet prihlásení v časovom okne.
  • Priemerný počet výberov v časovom okne.
  • Priemerný počet malých a častých výberov v časovom okne.
  • Priemerný počet žiadostí o zmenu limitu výšky vkladov v časovom okne.
  • Celkový počet epizód naháňania straty v období N časových okien.

Na Obrázku 5 je zobrazená korelácia skóre anomálie s horeuvedenými pomocnými ukazovateľmi. Každý z grafov obsahuje desať stĺpcov, pričom každý stĺpec reprezentuje jeden decil pozorovaní (t. j. každý stĺpec zobrazuje 10% pozorovaní zoradených podľa hodnoty skóre anomálie). Farby stĺpcov prestavujú hodnotu, resp. kategóriu príslušného pomocného ukazovateľa.

(a)
(b)
(c)
(d)
(e)
Obrázok 5: Každý stĺpec v grafoch predstavuje jeden decil skóre anomálie (MSE). Farby predstavujú kategórie príslušných pomocných ukazovateľov s hodnotami kategórií špecifikovanými v legende.

Na každom grafe je možné pozorovať zreteľné vzorce v správaní hráčov – hráči s vysokou hodnotou skóre anomálie majú tendenciu mať tiež vysoké hodnoty všetkých skúmaných pomocných ukazovateľov. Vysoká frekvencia prihlásení do online kasína je úmerná vysokému skóre anomálie, pričom viac než polovica hráčov v poslednom decile rekonštrukčnej chyby má priemerný počet prihlásení v časovom okne väčší než 50. Niečo podobné pozorujeme aj pre priemerný počet výberov v časovom okne. Hráči s nízkou hodnotou skóre nemajú žiadny, alebo majú veľmi malý priemerný počet výberov a zároveň viac než štvrtina hráčov v poslednom decile skóre má v priemere až dva a viac výberov v časovom okne. Ďalším skúmaným pomocným ukazovateľom je počet malých a častých výberov. Väčšina hráčov, ktorí majú v histórii aspoň jednu takúto udalosť, sú v 10% hráčov s najvyšším MSE. Pri analýze ďalšieho ukazovateľa, konkrétne počtu žiadostí o zmenu limitu vkladu, pozorujeme už menej výrazný trend. Je evidentné, že hráči v prvých piatich deciloch nemajú vo všeobecnosti žiadne zmeny limitu výberov (až na pár výnimiek), čím však skóre anomálie rastie, tým sa frekvencia zmeny limitu výberov u hráčov zvyšuje. Posledným pomocným ukazovateľom zobrazeným na grafoch je počet epizód naháňania straty. Opäť môžeme pozorovať zvyšujúcu sa frekvenciu týchto udalostí úmernú skóre anomálie. Viac než polovica hráčov v poslednom decile má aspoň jednu takúto epizódu v časovom okne.

Ak vykonáme superpozíciu týchto grafov za účelom zistenia, aký podiel hráčov spĺňa viacero pomocných ukazovateľov, dospejeme k nasledovnému pozorovaniu: 98.6% hráčov v posledných piatich percentiloch skóre anomálie spĺňa aspoň jeden pomocný ukazovateľ a 77.3% spĺňa aspoň tri ukazovatele. Analýzou správania hráčov v posledných dvoch percentiloch skóre anomálie zisťujeme, že takmer 90% z nich spĺňa aspoň tri ukazovatele. Hranice, ktoré boli použité na výpočet týchto podielov sú: >=1 epizóda naháňania straty, >=1 žiadosť o zmenu limitu, >=1 malý a častý výber, >=31 prihlásení a >=1.25 výberu v priemere počas jedného časového okna.

Záver

V práci sme úspešne aplikovali model autoenkódera (AE) založený na transformeroch na problém detekcie anomálií v dátovej sade hráčov online kasína. Cieľom bolo detegovať hráčov s patologickým hráčstvom metódami „bez učiteľa“. Zo vstupných dát bolo odvodených 19 prvkov deskriptora vo forme časových radov, ktoré odrážajú správanie hráčov v kontexte „času“, „peňazí“ a „zúfalstva“. Porovnali sme detekčnú schopnosť tejto architektúry s ďalšími troma AE architektúrami založenými na LSTM a konvolučných vrstvách, pričom sme zistili, že architektúra modelu založená na transformeroch dosiahla najlepšie výsledky zo všetkých skúmaných modelov v zmysle najlepšej rekonštrukčnej schopnosti. Výsledky tohto modelu tiež vykazujú vysokú koreláciu s pomocnými ukazovateľmi ako počet prihlásení hráča, počet výberov, počet epizód naháňania straty a ďalšími, ktoré sú často spomínané v literatúre vo vzťahu k patologickému hraniu.Tento súlad ”skóre anomálie”, ktoré odráža pravdepodobnosť, že dané pozorovanie sa vymyká priemeru, s pomocnými ukazovateľmi nám dovoľuje porozumieť modelu a jeho efektívnosti v detekcii hráčov s potenciálnym patologickým hráčstvom. Aj keď tieto pomocné ukazovatele boli použité ako prediktory v modeli, navrhujeme ich používať spolu s rekonštrukčnou chybou pri detekcii potenciálne problémových hráčov, aby sa redukovala falošná pozitivita predikcií, nakoľko nie všetky anomálie musia byť spojené s patologickým hráčstvom.

Plná verzia článku

Zdroje:

[1] Alex Blaszczynski and Lia Nower. “A Pathways Model of Problem and Pathological Gambling”. In: Addiction (Abingdon, England) 97 (June 2002), pp. 487–99. doi: 10.1046/j.1360-0443.2002.00015.x.

[2] National Research Council. Pathological Gambling: A Critical Review. Washington, DC: The National Academies Press, 1999. isbn: 978-0-309-06571-9. doi: 10 . 17226 / 6329. url: https ://nap .nationalacademies.org/catalog/6329/pathological – gambling – a – critical -review.

[3] Luke Clark et al. “Pathological Choice: The Neuroscience of Gambling and Gambling Addiction”. In: Journal of Neuroscience 33.45 (2013), pp. 17617–17623. issn: 0270-6474. doi:  0.1523/JNEUROSCI.3231-13.2013.eprint: https : / / www . jneurosci . org /content / 33 / 45 / 17617 . full . pdf. url: https://www.jneurosci.org/content/33/45/17617.

[4] Deepanshi Seth et al. “A Deep Learning Framework for Ensuring Responsible Play in Skill-based Cash Gaming”. In: 2020 19th IEEE International Conference on Machine Learning and Applications (ICMLA) (2020), pp. 454–459.


Mapovanie polohy a výšky stromov v PointCloud dátach získaných pomocou LiDAR technológie 25 júl - Cieľom spolupráce medzi Národným superpočítačovým centrom (NSCC) a firmou SKYMOVE, v rámci projektu Národného kompetenčného centra pre HPC, bol návrh a implementácia pilotného softvérového riešenia pre spracovanie dát získaných technológiou LiDAR (Light Detection and Ranging) umiestnených na dronoch.
Implementácia metódy čiastočne riadeného učenia Uni-Match do metódy Frame Field Learning pre úlohu extrakcie budov z leteckých snímok 21 jún - Extrakcia budov v Geografických informačných systémoch (GIS) je kľúčová pre urbanistické plánovanie, environmentálne štúdie a riadenie infraštruktúry, pretože umožňuje presné mapovanie stavieb, vrátane odhaľovania nelegálnych stavieb za účelom dodržiavania právnych predpisov, alebo efektívnejšieho vyberania daní. Integrácia extrahovaných údajov o budovách s inými geopriestorovými vrstvami zlepšuje pochopenie dynamiky miest a priestorových vzťahov.
Kategórie
Success-Stories

Meranie štrukturálnych parametrov kapsúl použitím techník umelej inteligencie (AI) a strojového učenia (ML)

Meranie štrukturálnych parametrov kapsúl použitím techník umelej inteligencie (AI) a strojového učenia (ML)

Cieľom spolupráce medzi Národným kompetenčným centrom pre HPC (NCC pre HPC) a Ústavom polymérov (ÚP) SAV bol návrh a implementácia pilotného softvérového riešenia pre automatické spracovanie obrazu frakcií polymérnych mikrokapsúl. Tieto mikrokapsuly slúžia ako obal pre pankreatické ostrovčeky tvoriace perspektívne liečivo na ochorenie diabetes mellitus (t.j. cukrovky 1. typu). Mikrokapsuly pozostávajú z pankreatických ostrovčekov enkapsulovaných do polopriepustnej polymérnej membrány, ktorá bola vyvinutá na Ústave polymérov SAV.

Ilustračný obrázok

Automatizované riešenie je pre ÚP SAV mimoriadne dôležité z hľadiska časovej úspory a zjednodušenia vyhodnocovania početných výstupov z meraní, ako aj minimalizácie chyby, ktorá sa môže objaviť pri manuálnom spracovaní. Obrázky z optického mikroskopu pri 4-násobnom zväčšení typicky obsahujú jednu alebo niekoľko mikrokapsúl a sú vstupom do tréningu AI/ML modelov. Obrázky z optického mikroskopu pri 2,5-násobnom zväčšení obsahujú viac mikrokapsúl, zvyčajne tri až sedem. V takomto prípade je nutné v prvom kroku identifikovať jednotlivé mikrokapsuly. V procese inferencie sa z príslušného obrázku vytvorí tzv. binárna maska, z ktorej sa následne extrahujú informácie o štrukturálnych parametroch, akými sú predovšetkým vnútorný a vonkajší priemer kapsuly a hrúbka jej membrány.

Obrazový materiál je spracovaný v dvoch krokoch. Prvým krokom je lokalizácia nedefektných kapsúl a ich následné vystrihnutie, druhým je séria operácií vedúcich k samotnému určeniu štrukturálnych parametrov.

DETEKCIA KAPSÚL

Na detekciu kapsúl bol použitý model YOLOv5 [1] s predtrénovanými váhami z databázy COCO128 [2]. Tréningové dáta pozostávali z 96 snímok, ktoré boli manuálne anotované pomocou nástroja LabelImg [3]. Tréningová jednotka pozostávala z 300 epoch, snímky boli rozdelené do sád po 16 a ich veľkosť bola nastavená na 640 pixelov. Výpočtový čas jednej tréningovej jednotky na grafickej karte NVIDIA GeForce GTX 1650 bol približne 3.5 hodiny.

Detekcia pomocou natrénovaného YOLOv5 modelu je prezentovaná na Obrázku 1. Spoľahlivosť natrénovaného modelu, overená na 12 snímkach, bola 96%, pričom priepustnosť na rovnakej grafickej karte bola približne 40 snímok za sekundu.

Obrázok 1: (a) vstupný obraz z optickej mikroskopie; (b) detegovaná kapsula; (c) výrez detegovanej kapsuly pri 4-násobnom zväčšení; (d) vstupný obraz z optickej mikroskopie; (e) detegovaná kapsula; (f) výrez detegovanej kapsuly pri 2,5-násobnom zväčšení.

MERANIE ŠTRUKTURALNÝCH PARAMETROV KAPSÚL POMOCOU TECHNÍK AI/ML

Binárne masky pre vnútorné a vonkajšie časti kapsúl boli získané individuálne, ako výstup z hlbokej neurónovej siete architektúry U-Net [4], ktorá bola vyvinutá na spracovanie obrazu v biomedicínskych aplikáciách. Na tréning príslušných váh bolo použitých 140 obrázkov s korešpondujúcimi maskami pre 4-násobné zväčšenie optického mikroskopu a rovnako 140 obrázkov s korešpondujúcimi maskami aj pre 2,5-násobné zväčšenie. Tréningový proces pozostával z 200 epoch (veľkosť sady 16), pričom 10% z tréningových dát bolo použitých na validáciu. Presnosť na testovacej sade, ktorá pozostávala zo 120 obrázkov, presahovala 96%. Tréningový proces trval 1,5 až 2 hodiny a na trénovanie bol využitý HPC systém s uzlami typu IBM Power 7. Tento proces bolo nutné niekoľkokrát opakovať. Výstupné binárne masky boli následne postprocesované operáciami „fill_holes” [5] a „watershed“ [6], na získanie čo najhladších oválnych masiek. Následne bola na masky fitovaná elipsa s využitím knižnice „scikit-image measure“ [7], ktorej hlavná a vedľajšia os sú základom pre samotný výpočet štrukturálnych parametrov. Postupnosť týchto krokov je prezentovaná na Obrázku 2.

Obrázok 2: (a) vstupná obraz; (b) vnútorná binárna maska; (c) vonkajšia binárna maska; (d) výstupný obraz s fitovanými elipsami elipsy na základe binárnych masiek.

Štrukturálne parametre získané predikciou  AI/ML modelu (značený ďalej ako „U-Net“) boli porovnané s hodnotami, ktorými disponovali pracovníci ÚP SAV a boli získané „manuálnym meraním“ v snímkach. Ako ďalší, nezávislý zdroj referenčných dát bol použitý prístup označovaný ďalej ako „Retinex“, ktorý navrhol a implementoval RNDR. Andrej Lúčny, PhD. z Katedry aplikovanej informatiky Fakulty matematiky, fyziky a informatiky Univerzity Komenského v Bratislave. Tento prístup nevyužíva neurónové siete, ale vytvára kandidátov na binárne masky agregáciou úsekov s nízkou krivosťou, získaných pomocou „retinex“ filtra [8] tak, aby vytvorili útvar s minimálnou štandardnou odchýlkou krivosti. Tento prístup je dobrou referenciou, nakoľko nevyžaduje trénovanie a je vysoko presný, avšak na rozdiel od modelu U-net nie je plne automatizovaný, obzvlášť pre vnútornú membránu kapsuly.

Obrázok 3 sumarizuje porovnanie všetkých spomenutých riešení pre rôzne sady („batches“) z experimentov pre obrázky získané pri 4-násobnom zväčšení.

(a)
(b)
(c)

Obrázok 3: (a) rozmer kapsúl vypočítaný pre prístupy U-net a Retinex ako priemer hlavnej a vedľajšej osi elipsy (b) rozdiel medzi hlavnou osou elipsy pre vonkajší priemer kapsúl (c) rozdiel medzi vedľajšou osou elipsy pre vonkajší priemer kapsúl. V obrázkoch (b) a (c) je červenou čiarou zobrazená hraničná odchýlka akceptovateľná ÚP SAV. Obrázky z optického mikroskopu boli získané pri 4-násobnom zväčšení.

Zo získaných výsledkov je možné skonštatovať, že až na 4 snímky (1.5%) v sade 194 pre vedľajšiu os elipsy, sú všetky parametre v medziach akceptovateľnej presnosti, ktorá bola definovaná ÚP SAV. Z Obrázku 3(a) pozorujeme systematicky lepšiu vzájomnú zhodu medzi výsledkami získanými prístupmi U-net a Retinex, čo môže byť spôsobené buď aproximáciou tvaru kapsuly elipsou, ktorá sa v „manuálnom vyhodnotení“ ÚP SAV neaplikovala, alebo iným, systematickým rozdielom pri vyhodnocovaní, a/alebo chybou v „manuálnom vyhodnotení“. Kvalita U-net modelu môže byť do budúcna výrazne zlepšená, hlavne rozšírením tréningovej sady ako aj aplikovaním ďalšieho pre- a postprocesingu. Zhoda medzi „manuálnym vyhodnotením“ a modelmi U-net / Retinex môže byť zlepšená harmonizáciou spôsobu vyhodnocovania štrukturálnych parametrov kapsúl z binárnych masiek.

AI/ML model bude nasadený v predprodukčnej fáze ako cloudové riešenie na HPC systémoch CSČ SAV. Inferencia a kontinuálny tréning s pribúdajúcimi snímkami nebude vyžadovať investíciu do vysokovýkonných výpočtových prostriedkov samotným ÚP SAV. Produkčná fáza, ktorá presahuje rámec pilotného riešenia, uvažuje s integráciou tohto prístupu do desktopovej aplikácie.

Zdroje:

[1] https://github.com/ultralytics/yolov5

[2] https://www.kaggle.com/ultralytics/coco128

[3] https://github.com/heartexlabs/labelImg

[4] https://lmb.informatik.uni-freiburg.de/people/ronneber/u-net/

[5] https://docs.scipy.org/doc/scipy/reference/generated/scipy.ndimage.binary_fill_holes.html

[6] https://scikit-image.org/docs/stable/auto_examples/segmentation/plot_watershed.html

[7] https://scikit-image.org/docs/stable/api/skimage.measure.html

[8] D.J. Jobson, Z. Rahman, G.A. Woodell, IEEE Transactions on Image Processing 6 (7) 965-976, 1997.


Mapovanie polohy a výšky stromov v PointCloud dátach získaných pomocou LiDAR technológie 25 júl - Cieľom spolupráce medzi Národným superpočítačovým centrom (NSCC) a firmou SKYMOVE, v rámci projektu Národného kompetenčného centra pre HPC, bol návrh a implementácia pilotného softvérového riešenia pre spracovanie dát získaných technológiou LiDAR (Light Detection and Ranging) umiestnených na dronoch.
Implementácia metódy čiastočne riadeného učenia Uni-Match do metódy Frame Field Learning pre úlohu extrakcie budov z leteckých snímok 21 jún - Extrakcia budov v Geografických informačných systémoch (GIS) je kľúčová pre urbanistické plánovanie, environmentálne štúdie a riadenie infraštruktúry, pretože umožňuje presné mapovanie stavieb, vrátane odhaľovania nelegálnych stavieb za účelom dodržiavania právnych predpisov, alebo efektívnejšieho vyberania daní. Integrácia extrahovaných údajov o budovách s inými geopriestorovými vrstvami zlepšuje pochopenie dynamiky miest a priestorových vzťahov.
Kategórie
Success-Stories

Use case: Prenos a optimalizácia pracovného toku CFD výpočtov v HPC prostredí

Use case: Prenos a optimalizácia pracovného toku CFD výpočtov v HPC prostredí

Autori: Ján Škoviera (Národné kompetenčné centrum pre HPC), Sylvain Suzan (Shark Aero)

Spoločnosť Shark Aero navrhuje a vyrába ultraľahké športové lietadlá s dvojmiestnym tandemovým kokpitom. Na vývoj dizajnu používajú populárny open-source softvérový balík openFOAM [1], konkrétne CFD simulácie (Computational Fluid Dynamics), využívajú metódu konečných prvkov (Finite elements method – FEM). Po vytvorení modelu pomocou softvéru Computer-Aided Design (CAD) sa model rozdelí na samostatné bunky, tzv. sieť (angl. mesh). Presnosť simulácie silne závisí od hustoty siete, pričom výpočtové a pamäťové požiadavky stúpajú s treťou mocninou počtu jej vrcholov. Pre niektoré simulácie môžu byť výpočtové nároky naozaj limitujúcim faktorom, ak používateľ pracuje s bežne dostupnou výpočtovou technikou. Pokúsili sme sa preto preniesť pracovný tok simulácie do High-Performance Computing (HPC) prostredia s osobitným zameraním na preskúmanie efektívnosti paralelizácie výpočtových úloh pre daný typ modelu.

METÓDY

Pre tento projekt boli použité výpočtové uzly s 2×6 jadrami Intel Xeon L5640 @ 2,27GHz, 48 GB RAM a 2×500 GB. Všetky výpočty sa robili v štandardnom HPC prostredí s použitím systému plánovania úloh Slurm. Takéto riešenie je prijateľné pre typ výpočtových úloh, kde sa nevyžaduje odozva v reálnom čase ani okamžité spracovanie údajov. Pre CFD simulácie sme používali softvérové ​​balíky OpenFOAM a ParaView verzie 9. Na spúšťanie výpočtov bol použitý kontajnerový softvér Singularity s ohľadom na možný budúci prenos výpočtov na iný HPC systém. Podľa očakávania, zrýchlenie výpočtov dosiahnuté len samotným transferom do HPC prostredia bolo približne 1,5x v porovnaní so štandardným notebookom.

PARALELIZÁCIA

Paralelne vykonávané výpočtové úlohy môžu zvýšiť rýchlosť celkového výpočtu využitím viacerých výpočtových jednotiek súčasne. Pre paralelizáciu úlohy takéhoto typu je potrebné rozdeliť pôvodnú sieť na domény – časti, ktoré sa budú spracovávať súbežne. Domény však potrebujú komunikovať cez procesorové okrajové podmienky, t.j. steny domény alebo plochy v mieste rozdelenia pôvodnej siete. Čím väčšia je hraničná plocha procesora, tým viac I/O operácií je potrebných na vyriešenie okrajových podmienok. Dátová komunikácia procesorových okrajových podmienok je zabezpečená protokolom MPI (distributed memory Message Passing Interface), takže rozdiel medzi jadrami CPU a rôznymi výpočtovými uzlami je od používateľa abstrahovaný. To vedie k určitým obmedzeniam efektívneho využívania mnohých paralelných procesov, pretože príliš paralelizované vykonávanie úloh môže byť v skutočnosti pomalšie kvôli úzkym miestam v komunikácii a I/O. Preto by mali byť domény vytvorené spôsobom, ktorý minimalizuje hranice procesora. Jednou z možných stratégií je rozdeliť pôvodnú sieť iba v koplanárnom smere s čo najmenšou stranou pôvodnej siete. Pri paralelizácii a definícii domén je potrebné dbať na množstvo prenášaných údajov – napríklad pri delení siete vo viacerých osiach sa vytvorí aj viac procesorových okrajových podmienok.

Figure 1: Ilustrácia segmentácie siete. Obklopujúci mesh je reprezentovaný priesvitnými kvádrami.

Výpočty sa robili v štyroch krokoch: generovanie siete, segmentácia siete, vnorenie modelu a simulácia CFD. Prvý krok – vytvorenie siete sme urobili pomocou utility blockMesh, nsledovala segmentácia siete pomocou utility decomposePar, vnorenie modelu pomocou programu snappyHexMesh a samotná CFD simulácia bola robená programom SimpleFoam. Výpočtovo najnáročnejší krok je snappyHexMesh. Je to pochopiteľné z toho, že kým pri CFD simulácii je potrebné vykonať výpočet niekoľkokrát pre každú hranu siete a každú iteráciu, v prípade vnorenia modelu sa vytvárajú nové vrcholy a staré sa vymazávajú na základe polohy vrcholov siete. To si vyžaduje vytvorenie „oktree“ (rozdelenie trojrozmerného priestoru jeho rekurzívnym rozdelením na osem oktantov), ​​opakované inverzné vyhľadávanie a opätovné zaradenie do oktantov. Každý z týchto procesov je N*log(N) v najlepšom prípade a N2 v najhoršom prípade, kde N je počet vrcholov. Samotné CFD škáluje lineárne s počtom hrán, t.j. „takmer“ lineárne s N (prepojené sú len priestorovo blízke uzly). Vyvinuli sme pracovný postup, ktorý vytvára množstvo domén, ktoré môžu byť priamo paralelné s rovinou yz (x je os nosa lietadla), čo používateľovi zjednodušuje rozhodovanie. Po zahrnutí nového modelu je možné jednoducho špecifikovať počet domén a spustiť výpočet, čím sa minimalizuje ľudský zásah potrebný na paralelizáciu výpočtu.

VÝSLEDKY A ZÁVER

Relatívne zrýchlenie výpočtových procesov je určené najmä obmedzenými vstupmi/výstupmi. Ak sú výpočtové úlohy hlboko pod hranicou I/O operácií, rýchlosť je nepriamo úmerná počtu domén. Pri menej náročných výpočtoch, t.j. pri malých modeloch sa môžu procesy ľahko stať nadmerne paralelizovanými.

Figure 2: Závislosť reálneho výpočtového času od počtu výpočtových jednotiek pre snappyHexMesh and simpleFoam. V prípade simpleFoam-u čas začína divergovať pre 8 procesov a viac, nakoľko dátový transfer prekonáva paralelizačnú výhodu. Ideálne škálovanie ukazuje teoretický čas potrebný na dokončenie výpočtu v prípade, že by procesorové podmienky a dátový transfer neboli zahrnuté.

Keď je hustota siete dostatočne vysoká, čas na výpočet kroku CFD je tiež nepriamo úmerný počtu paralelných procesov. Ako je znázornené na druhej dvojici obrázkov s dvojnásobným zvýšením hustoty siete, výpočty sú pod hranicou I/O dokonca aj v CFD kroku. Aj keď je krok CFD v tomto prípade pomerne rýchly v porovnaní s procesom tvorby siete, výpočet dlhých časových intervalov by z neho mohol urobiť časovo najnáročnejší krok.

Návrh častí lietadla vyžaduje viacnásobné simulácie relatívne malých modelov za meniacich sa podmienok. Hustota siete potrebná pre tieto simulácie patrí do strednej kategórie. Pri prenose výpočtov do HPC prostredia sme museli brať do úvahy skutočné potreby koncového užívateľa z hľadiska veľkosti modelu, hustoty siete a požadovanej presnosti výsledku. Používanie HPC má niekoľko výhod:

  • Koncový používateľ je nepotrebuje udržiavať svoje vlastné výpočtové kapacity.
  • Aj v prípade, že by simulácie boli obmedzené na úlohy s jedným vláknom (neparalelizované), ich prenos do HPC prostredia predstavuje zrýchlenie, navyše s možnosťou použitia tzv. embarrassingly parallel prístupu.
  • Pre ďalšie zefektívnenie vypočtov bol navrhnutý jednoduchý spôsob využitia paralelizácie pre tento konkrétny typ úloh. Identifikovali sme obmedzenia paralelných behov pre definovaný prípad použitia a podmienky. Celkové zvýšenie rýchlosti, ktoré bolo dosiahnuté v praktických podmienkach, je 7,3-násobné. Vo všeobecnosti je možné očakávať zrýchlenie rastúce so zložitosťou výpočtu a presnosťou/hustotou siete.


Mapovanie polohy a výšky stromov v PointCloud dátach získaných pomocou LiDAR technológie 25 júl - Cieľom spolupráce medzi Národným superpočítačovým centrom (NSCC) a firmou SKYMOVE, v rámci projektu Národného kompetenčného centra pre HPC, bol návrh a implementácia pilotného softvérového riešenia pre spracovanie dát získaných technológiou LiDAR (Light Detection and Ranging) umiestnených na dronoch.
Implementácia metódy čiastočne riadeného učenia Uni-Match do metódy Frame Field Learning pre úlohu extrakcie budov z leteckých snímok 21 jún - Extrakcia budov v Geografických informačných systémoch (GIS) je kľúčová pre urbanistické plánovanie, environmentálne štúdie a riadenie infraštruktúry, pretože umožňuje presné mapovanie stavieb, vrátane odhaľovania nelegálnych stavieb za účelom dodržiavania právnych predpisov, alebo efektívnejšieho vyberania daní. Integrácia extrahovaných údajov o budovách s inými geopriestorovými vrstvami zlepšuje pochopenie dynamiky miest a priestorových vzťahov.
Kategórie
Success-Stories

MEMO98

MEMO98

MEMO 98 je nezisková mimovládna organizácia, ktorá sa viac ako 20 rokov zaoberá monitorovaním médií v kontexte volieb a iných udalostí, pričom svoje aktivity realizovala vo viac ako 50 krajinách. V poslednom čase sa taktiež zaoberá vplyvom sociálnych sietí na integritu volebných procesov.

Informačné prostredie sa v posledných rokoch výrazne zmenilo, obzvlášť vplyvom nástupu sociálnych sietí. Odhliadnuc od niektorých pozitívnych aspektov, ako sú rozšírené možnosti prijímania a zdieľania informácií, sociálne médiá tiež umožnili rýchle a lacné šírenie dezinformácií zasahujúcich široké publikum. Organizácia MEMO 98 analyzovala predvolebnú kampaň parlamentných volieb, ktoré sa konali 11. júla 2021 v Moldavsku, a to na piatich sociálnych platformách: Facebook, Instagram, Odnoklassniki, Telegram a YouTube.

Dáta zo sociálnych sietí boli získané pomocou nástroja CrowdTangle (nástroj na analýzu sociálnych médií vlastnený Facebookom). Len počet interakcií k postom kandidátov a jednotlivých politických strán na Facebooku bol 1,82 mil., počet interakcií postov predsedov strán sa vyšplhal k 1,09 mil. Pred začiatkom tohto projektu nemala organizácia MEMO 98 skúsenosti s využitím nástrojov na efektívnu analýzu veľkých objemov dát. Odborníci NCC navrhli riešenie na spracovanie dát a ich následnú vizualizáciu voľne dostupným softvérom Gephi [1] v HPC prostredí. Výsledkom je tzv. sieťová mapa, čo je interaktívna schéma umožňujúca hľadať a analyzovať šírenie špecifických výrazov a webových adries v kontexte predvolebnej kampane. NCC poskytlo v rámci projektu aj prístup k výpočtovým prostriedkom na testovanie riešení a tiež individuálne zaškolenie tak, aby organizácia MEMO98 vedela v budúcnosti s týmto riešením samostatne pracovať.

Predbežné výsledky a závery monitoringu MEMO98 zverejňuje na svojej webstránke [2].

Referencie


[1] Bastian M., Heymann S., Jacomy M. (2009). Gephi: an open source software for exploring and manipulating networks. International AAAI Conference on Weblogs and Social Media.

[2] Network mapping, Moldova Early Parliamentary Elections July 2021, Monitoring of Social Media – Preliminary Findings. Dostupné na:

https://memo98.sk/article/moldovan-social-media-reflected-a-division-in-society

https://memo98.sk/uploads/content_galleries/source/memo/moldova/2021/preliminary-findings-on-the-monitoring-of-parliamentary-elections-2021-on-social-media.pdf


Mapovanie polohy a výšky stromov v PointCloud dátach získaných pomocou LiDAR technológie 25 júl - Cieľom spolupráce medzi Národným superpočítačovým centrom (NSCC) a firmou SKYMOVE, v rámci projektu Národného kompetenčného centra pre HPC, bol návrh a implementácia pilotného softvérového riešenia pre spracovanie dát získaných technológiou LiDAR (Light Detection and Ranging) umiestnených na dronoch.
Implementácia metódy čiastočne riadeného učenia Uni-Match do metódy Frame Field Learning pre úlohu extrakcie budov z leteckých snímok 21 jún - Extrakcia budov v Geografických informačných systémoch (GIS) je kľúčová pre urbanistické plánovanie, environmentálne štúdie a riadenie infraštruktúry, pretože umožňuje presné mapovanie stavieb, vrátane odhaľovania nelegálnych stavieb za účelom dodržiavania právnych predpisov, alebo efektívnejšieho vyberania daní. Integrácia extrahovaných údajov o budovách s inými geopriestorovými vrstvami zlepšuje pochopenie dynamiky miest a priestorových vzťahov.