SOFTWARE NÁSTROJ COMFORT

TJ04000232-V2 – SOFTWAROVÝ NÁSTROJ PRO EFEKTIVNÍ ČASOPROSTOROVÉ PREDIKCE ZALOŽENÉ NA ML

POPIS VÝSLEKDU

Výsledkem je softwarový nástroj zefektivňující časoprostorové predikce pohybu osob využívající umělou neuronovou síť trénovanou na databázi. Pro tento nástroj a jeho validaci při návrhu byla využita stávající zkušenost s časoprostorovým modelováním, doplněná o nově identifikované aplikační domény a formulace testovacích scénářů, a to na základě volby sady vstupních parametrů (např. tvar základní úlohy, intenzita, gender apod.).

  • Softwarový nástroj COMFORT je volně dostupný ke stažení ZDE.

VÝVOJ

Softwarový nástroj s názvem „Comfort“ byl vyvinut v programovacím jazyce Python s využitím modulu PySimpleGUI [1] určeného pro tvorbu grafických uživatelských rozhraní. Hlavní součást modulu je tvorba okna (tzv. layout), které obsahuje dílčí komponenty (tzv. widgets). Funkce modulu splňují předem stanovená kritéria, jimiž jsou zejména:

  • možnost implementace modelu strojového učení,
  • využitelnost výsledného nástroje ve stavební praxi,
  • snadná a intuitivní ovladatelnost pro uživatele.

Proces vývoje je zachycen na zjednodušeném vývojovém diagramu, viz Obr. 6, příloha A. Na začátku jsou načteny veškeré knihovny potřebné k vývoji, následně je načtena trénovací množina, kde dojde k zakódování kategorických proměnných a standardizaci dat (nafitování tzv. scaleru). Stejný scaler je následně je pro standardizaci vstupů zadaných uživatelem. Následně jsou v modulu PySimpleGUI vytvořena všechna potřebná okna s tlačítky, posuvníky, přepínači atd. Zdrojový kód nástroje byl po jeho sestavení a optimalizaci zkompilován do adresáře. Software se spouští souborem formátu „.exe“ spustitelného v operačním systému Windows. Pro tuto část byl využit modul Auto-Py-To-Exe [2] využívající modul Pyinstaller [3], jehož hlavní funkcí je právě kompilace kódu do jednoho adresáře či souboru. Nástroj bude vystaven spolu s ostatními výsledky po ukončení projektu na projektových stránkách.

Uživatelské rozhraní zahrnuje hlavní okno a dílčí okna pro zobrazení schématu úlohy a pro zadávání parametrů.

HLAVNÍ OKNO

Hlavní okno je znázorněno na Obr. 1 a je rozděleno na dvě části – v levé části probíhá výběr typu úlohy a proudění. Zároveň se v něm nachází následující tlačítka:

  • Schéma úlohy. Po stisknutí se uživateli zobrazí vyskakovací okno se schématem zvolené úlohy.
  • Parametry. Po stisknutí se uživateli zobrazí vyskakovací okno s parametry základní úlohy.
  • Výpočet. Po stisknutí dojde k poslání zadané vstupní matice (zadaných vstupů) do ANN a zobrazení plošného grafu komfortu v pravé části hlavního okna. Vedle grafu komfortu je zobrazena šipka sloužící pro správnou intepretaci grafu. S narůstajícími hodnotami na ose Y komfort klesá, zatímco s hodnotami blížícími se k 0 komfort roste.
  • Nové zadání. V případě potřeby zadání nových parametrů a další predikce je zapotřebí stisknout toto tlačítko, čímž dojde k vynulování schématu základní úlohy a grafu predikce a uživatel může zadávat nové parametry.
  • Exit. V případě stisknutí tlačítka dojde k zavření hlavního okna a celého software.

Pro správnou funkci software a zobrazení veškerých informací nutných pro intepretaci výsledků je doporučeno držet se následujícího pořadí práce s jednotlivými okny:

  1. Výběr typu úlohy.
  2. Výběr typu proudění.
  3. Otevření okna „Schéma úlohy“ (okno otevřeno až do ukončení výpočtu.
  4. Otevření okna „Parametry“.
  5. Zadání parametrů vybrané úlohy.
  6. Zavření okna “Parametry“.
  7. Výpočet.
  8. Nové zadání (uzavření veškerých oken a reset parametrů).

Při užívání oken v jiném pořadí může dojít k neočekávanému chování software. V případě potíží je doporučen restart aplikace.

SCHÉMA ÚLOHY

Po stisknutí tlačítka „Schéma úlohy“ dojde k zobrazení okna se schématem úlohy, viz Obr. 2. Komponenta v horní části umožňuje základní práci s obrázkem – jeho posun, zoom, uložení apod. Obrázek obsahuje celkem tři informace: tabulku rozměrů úlohy, okótované schéma s rozmístěním profilů a znázorněným typem proudění a orientaci grafu predikce ve vztahu ke schématu. Šedá oblast značí pozorovaný úsek, v němž jsou umístěny měřící profily, na kterých je komfort počítán. Informace o orientaci bodů na profilech je klíčová pro správné čtení a intepretaci grafu komfortu. Okno je možné kdykoli zavřít případně vůbec neotevírat v průběhu celého procesu.

PARAMETRY ÚLOH

Tlačítko „Parametry“ otevírá okno, ve kterém lze zadávat parametry pro vybraný typ úlohy a proudění. V případě synchronních úloh obsahuje komponenta parametry: šířka koridoru, intenzita a profil, viz Obr. 3.

 

PARAMETRY SYNCHRONNÍCH ÚLOH

Šířku koridoru je možné zadat v rozsahu 1500–3000 mm s krokem 100 mm. Intenzitu je potřeba interpolovat na základě typu úlohy, proudění a zadané šířky koridoru. Model ANN lze použít výhradně pro interpolaci zadaných hodnot. Při extrapolaci mimo rozsahy intenzit a šířek koridorů předepsané pro každou úlohu lze očekávat významné snížení přesnosti predikce. Tuto skutečnost bylo potřeba zohlednit tak, aby se vstupní hodnoty zadané uživatelem vždy pohybovaly pouze v předepsaném rozsahu. Rozsah šířky koridoru je pro všechny úlohy stejný (1500–3000 mm) a nebylo ho tedy potřeba nijak dále omezovat. Rozsah intenzit je unikátní pro jednotlivé kombinace typu úlohy, typu proudění a šířky koridoru. V případě zadání šířky koridoru, která neodpovídá šířce použité v trénovací množině (1500, 2000, 2500 a 3000 mm) bylo potřeba lineárně interpolovat rozsah intenzit pro vybranou mezilehlou hodnotu šířky koridoru. Na základě výsledků interpolace je uživateli zobrazen povolený rozsah intenzit pod daným posuvníkem.

Příklad výpočtu rozsahu intenzit pro zadanou šířku 1800 mm a úlohu typu I_uni:

 

Zadaná šířka 1800 se nachází mezi šířkami 1500 a 2000 v rámci trénovací množiny, viz Tab. 1. Na základě minimálních a maximálních intenzit pro tyto šířky je pak počítána nová dolní a horní hranice rozsahu. Krok zadání intenzity je nastaven na 0,1 [os.s-1]. Poslední parametr je výběr profilu, na kterém má být komfort predikován. Komponenta automaticky zobrazuje možný rozsah výběru profilu, na základě vybraného typu úlohy. Je vhodné mít souběžně s touto komponentou otevřenou komponentu se schématem úlohy pro snadnější výběr požadovaného profilu. V případě, že se zadaná intenzita nenachází v rozsahu pro daný typ úlohy, proudění a šířku koridoru, je uživatel na tuto skutečnost upozorněn chybovým hlášením se znázorněným správným rozsahem intenzit dle interpolace. Na Obr.4 je ukázka chybně zadané intenzity s upozorněním a požadavkem na nové zadání v patřičném intervalu.

 

PARAMETRY ASYNCHRONNÍCH ÚLOH

Okno s parametry je znázorněno na Obr. 3. Zadávání je řešeno formou posuvníků stejně jako v případě synchronních úloh, čímž je umožněna interpolace hodnot šířky koridoru, intenzity a asynchronicity v rámci rozsahů daných trénovací množinou.

Příklad výpočtu asynchronicity pro šířku 2200 a typ úlohy I_bidi_asyn:

 

Zadaná šířka 2200 mm se nachází mezi šířkou 2000 a 2500, které jsou součástí trénovací množiny. Asynchronicita je počítána na základě interpolace maximálních intenzit pro obě tyto úlohy, viz Tab. 1. Od výsledné mezilehlé hodnoty je následně odečteno procento z této hodnoty odpovídající zadané asynchronicitě – intenzita 1. V případě přičtení daného procenta se jedná o intenzitu 2.

PROCESSING VSTUPNÍCH DAT

Predikce komfortu je realizována na základě následujících vstupních dat: typu úlohy, typu proudění, šířky koridoru, intenzity (případně asynchronicity), označení profilu. Uvnitř systému jsou všechna tato vstupní data reprezentována maticí o velikosti 21×10, která je po zadání vstupních hodnot přeškálována a vstupuje do ANN. Vstupní matice X je společně s výstupní maticí Y zobrazena na Obr. 5. V prvních 15 sloupcích označených písmenem „a“ je zakódována kategorická proměnná do numerického vektoru reprezentující typ úlohy a proudění (např. „I_uni“). Následuje sloupec „b“ reprezentující zadanou šířku profilu, dva sloupce „c“ reprezentující intenzity jednotlivých proudů (v případě jednosměrného proudění je druhý sloupec roven nule), sloupec „d“ značící asynchronicitu (v případě synchronních úloh je roven nule), sloupec „e“ značící vybraný profil a sloupec „f“ značící konkrétní bod na vybraném profilu. Na základě výstupní matice je následně vytvořen graf predikce komfortu, který je zobrazen v pravé části hlavního okna, viz Obr. 1.

 

PREDIKCE KOMFORTU A INTERPRETACE VÝSTUPŮ

Na Obr. 6 je zobrazena ukázka predikce komfortu pro zadané parametry – profil P7 v úloze typu „L_uni” s šířkou profilu 2100 mm a intenzitou 2,00 os.s-1.

 

 

 

 

Z grafu vyplývá, že v oblasti vnitřního rohu až lze očekávat výrazně horší komfort pohybu než v rohu vnějším. Do oblasti vnitřního rohu se tedy nejeví jako vhodné umisťovat překážky typu lavičky, květináče, odpadkové koše, nástěnky apod., které by chodcům výrazně chůzi zkomplikovaly. S horším komfortem lze předpokládat celkovou soustředěnost chodců na zdroj sníženého komfortu (zpravidla jiné chodce či překážky). V souvislosti s tím se nabízí otázka, zda je vhodné do míst s horším komfortem pohybu umisťovat např. plán budov, evakuační značení či různá informativní sdělení. V dalších výzkumných pracích by tedy dojít k ověření korelace mezi těmito kognitivními procesy a mírou komfortu pohybu.

REFERENCE

[1] PySimpleGUI [online]. [cit. 2022-01-18]. Dostupné z: https://pysimplegui.readthedocs.io/en/latest/
[2] VOLLEBREGT, Brent. Auto-py-to-exe 2.15.0. PyPI [online]. [cit. 2022-01-18]. Dostupné z: https://pypi.org/project/auto-py-to-exe/
[3] CORTESI, David a William CABAN. PyInstaller Manual [online]. [cit. 2022-01-18]. Dostupné z: https://pyinstaller.readthedocs.io/en/stable/