VÝSTUPY Z PROJEKTU

Vedecko-výskumné a popularizačné publikácie

[1] P. Kamencay, M. Benco, R. Hudec“Na Žilinskej univerzite navrhujú automatizovaný systém pandemickej ochrany,” Vedecko-popularizačný portál VEDA NA DOSAH 2021. https://vedanadosah.cvtisr.sk/technika/informacne-a-komunikacne-technologie/na-zilinskej-univerzite-navrhuju-automatizovany-system-pandemickej-ochrany/

[2] P. Kamencay, D. Benedikovic, M. Markovic, J. Dubovan, and M. Dado,“ Neural-network-optimized vehicle classification using clustered image and fiber-sensor datasets,” PlosOne 2021 (v recenznom konaní)

[3] D. Benedikovic, L. Virot, Guy Aubin, J.-M. Hartmann, F. Amar, X. Le Roux, C. Alonso-Ramos, E. Cassan, D. Marris-Morini, F. Boeuf, J.-M. Fédéli, B. Szelag, and Laurent Vivien, “Silicon-Germanium Avalanche Receivers with fJ/bit Energy Consumption,” IEEE Journal of Selected Topics in Quantum Electronics (v recenznom konaní)

[4] J. Dubovan, J. Litvik, D. Benedikovic, J. Mullerova, I. Glesk, A. Veselovsky, and M. Dado, “Monitoring of polarization-based effects in fiber-optic transmission link caused by environmental variations,” In Proc.: SPIE Optics + Optoelectronics 2021, Prague, Czech Republic, April 2021.

[5] D. Benedikovic, L. Virot, G. Aubin, J.-M. Hartmann, F. Amar, X. Le Roux, C. Alonso-Ramos, P. Crozat, E. Cassan, D. Marris-Morini, F. Boeuf, J.-M. Fedeli, C. Kopp, B. Szelag, and L. Vivien, “High-speed germanium p-i-n avalanche photodetectors on silicon,” In Proc.: SPIE Optics + Optoelectronics 2021, Prague, Czech Republic, April 2021. (INVITED TALK)

[6] M. Uhrina, A. Holesova, J. Bienik, and L. Sevcik,“ Impact of Scene Content on High Resolution Video Quality,” Sensors Journal, 21(8), 2872; 2021, EISSN 1424-8220, https://doi.org/10.3390/s21082872.

[7] D. Benedikovic, L. Virot, G. Aubin, J.-M. Hartmann, F. Amar, X. Le Roux, C. Alonso-Ramos, P. Crozat, E. Cassan, D. Marris-Morini, F. Boeuf, J.-M. Fedeli, C. Kopp, B. Szelag, and L. Vivien, “Receiver-less silicon-germanium avalanche p-i-n photodetectors,” In Proc.: Conference on Lasers and Electro-Optics/ Europe - European Quantum Electronics Conference (CLEO/Europe-EQEC), Munich, Germany, June 2021. (INVITED TALK) IEEE / OSA INDEXING

[8] R. Vrskova, P. Sykora, P. Kamencay, R. Hudec and R. Radil, "Hyperparameter Tuning of ConvLSTM Network Models," 2021 44th International Conference on Telecommunications and Signal Processing (TSP), 2021, pp. 15-18, doi: 10.1109/TSP52935.2021.9522683.

[9] E. Sadovsky, R. Jarina and R. Orjesek, "Image Recognition Using Spiking Neural Networks," 2021 31st International Conference Radioelektronika (RADIOELEKTRONIKA), 2021, pp. 1-5, doi: 10.1109/RADIOELEKTRONIKA52220.2021.9420192.

[10] D. Benedikovic, L. Virot, G. Aubin, J.-M. Hartmann, F. Amar, X. Le Roux, C. Alonso-Ramos, P. Crozat, E. Cassan, D. Marris-Morini, F. Boeuf, J.-M. Fedeli, C. Kopp, B. Szelag, and L. Vivien, “High-speed silicon-germanium photodetectors for chip-scale photonic interconnects,” In Proc.: 23rd Photonics North 2021 Conference, Virtual space, Canada, June 2021. (INVITED TALK) IEEE INDEXING

[11] D. Benedikovic, X. Le Roux, C. Alonso-Ramos, C. Dupre, B. Szelag, P. Cheben, D. Fowler, S. Guerber, M. Dado, E. Cassan, D. Marris-Morini, F. Boeuf, and L. Vivien, “Low-loss on-chip grating couplers engineered using subwavelength-structured metamaterials,” In Proc.: 11th International Conference on Metamaterials, Photonic Crystals and Plasmonics 2020 (META 2020), Warsaw, Poland, July 2021. (INVITED TALK) PROCEEDINGS PREPARATION

[12] D. Benedikovic, G. Aubin, L. Virot, J.-M. Hartmann, F. Amar, X. Le Roux, C. Alonso-Ramos, M. Dado, E. Cassan, D. Marris-Morini, J.-M. Fedeli, F. Boeuf, B. Szelag, and L. Vivien, "Advances in silicon-germanium p-i-n photodetectors," The European Optical Society Annual Meeting 2021 (EOSAM 2021), Rome, Italy, September 2021. (INVITED TALK)

[13] D. Benedikovic, G. Aubin, L. Virot, J.-M. Hartmann, F. Amar, X. Le Roux, C. Alonso-Ramos, M. Dado, E. Cassan, D. Marris-Morini, J.-M. Fedeli, F. Boeuf, B. Szelag, and L. Vivien, "Heterostructured silicon-germanium-silicon p-i-n avalanche photodetectors for chip-integrated optoelectronics," The European Optical Society Annual Meeting 2021 (EOSAM 2021), Rome, Italy, September 2021. (INVITED TALK)

Vedecká monografia

[14] P. Kamencay, R. Hudec, M. Benčo, R. Radil, M. Radilová: „3D rekonštrukcia a lokalizácia biomedicínskych dát v 3D priestore“, Vedecká monografia, Katedra multimédií a informačno-komunikačných technológií, FEIT ŽU v Žiline, 2021.

Bakalárska práca

[15] M. Simeonov, "Porovnanie knižníc pre spracovanie obrazových dát," Bakalárska práca, KMIKT, FEIT UNIZA, 2021.

Vytvorenie anotovaného trénovacieho a testovacieho datasetu

Bola vytvorená prvá verzia datasetu (Obr. 1) pre trénovanie a testovanie modelov na automatické rozpoznávanie správne nasadeného rúška/ respirátora. DoloresDataset_v01 bola v prvej verzii vytvorená prevažne z voľne dostupných datasetov a momentálne obsahuje 7484 obrázkov tvárí, z toho 1797 bez masky, 2747 so správne nasadenou maskou a 2940 s nesprávne nasadenou maskou.

Obr. 1 Ukážka datasetu DoloresDataset_v01.

Na rozšírenie datasetu bola vytvorená mobilná aplikácia. Mobilná aplikácia slúži na zber obrazových dát pre tvorbu databázy obrazov, správneho a nesprávneho nosenia rúšok. Tieto dáta bude možno použiť pri tvorbe modelov. Databáza vychádza zo zistených a známych stereotypov nesprávneho nosenia rúška, ako znázorňuje Obr. 2.

Obr. 2 Stereotypy nesprávneho nosenia rúška.

Grafické rozhranie sprevádza používateľa pomocou kresleného avatara a textového popisu, ako si ma nasadiť rúško. Postupne sa menia stavy:

  • Správne nasadené – dostatočne zakrýva nos aj bradu.
  • Nízko na nose – rúško je zosunuté nízko na nose a vzniká medzera, ktorá zvyšuje prieduch vzduchu.
  • Rúško pod nosom – dýchacím cestám nič nebráni vstupu vírusu.
  • Rúško pod bradou – bez komentára.
  • Rúško vysoko na brade – nesprávne nasadené rúško opäť vytvára medzery s voľným prietokom vzduchu.
  • Mobilná aplikácia (Obr. 3) obsahuje jednoduché, ľahko zvládnuteľné rozhranie. Kreslený avatar (Obr. 3a) sprevádza používateľa ako si má nastaviť rúško. Textový popis upresňuje postup, aby nevznikli žiadne nejednoznačnosti. Ak je používateľ pripravený, klikne na tlačidlo „Snímka“. Aplikácia spustí rozhranie fotoaparátu (Obr. 3b), ktorý umožní vytvoriť fotografiu používateľa. Posledný zaznamenaný stav sa zobrazuje pod avatarom (Obr. 3c). Hviezdy reprezentujú skrytú pozitívnu motiváciu dokončiť úlohu – zároveň znázorňujú priebežný progres i koľko obrázkov ešte chýba.

    Obr. 3 a) Avatar ukazuje ako si nasadiť masku. b) Rozhranie pre snímanie fotografie. c) Avatar ukazuje nový stav nasadenia. Pod avatarom sa zobrazuje posledná uložená snímka. Hviezdy znázorňujú koľko stavov už bolo zaznamenaných.

    Po potvrdení sa fotografia redukuje na výšku 600 pixelov. Šírka si zachováva pôvodný pomer šírka / výška a príslušne sa vypočíta pre aktuálne použité zariadenie. V závislosti od zariadenia môže fotografia zaberať rádovo aj 2-6 MB. Po redukcii a kompresii do JPEG formátu majú zmenšené fotografie rádovo 10 kB. Zmenšená fotografia sa hneď posiela na úložný server pomocou HTTP (Hyper-Text-Transfer-Protocol). Keďže fotografia predstavuje binárne dáta, tie sa musia najprv prispôsobiť pre HTTP prenos a to konverziou do textovej formy. Každý bajt sa prevedie do svojho hexadecimálneho vyjadrenia a to sa posiela vo forme textu, viď. nasledujúca ukážka:

    FFD8FFE000104A46494600010100000100010000FFDB004300100B0C0E0C0A100E0D0E1211101318281A181616183123251D283A333D3C3933383746...

    Takýto text je vložený do JSON kontajneru, ktorý okrem dát odosiela aj metadáta - identifikácia stavu a časovú známku. Stav je potrebný pre zaradenie snímky do príslušnej triedy. Časová známka slúži ako unikátny identifikátor pre každú snímku. Prijímaciu stranu reprezentuje server typu Apache. Prichádzajúce JSON dáta spracuje PHP skript – z metadát vygeneruje názov súboru a dáta následne uloží. Python skript zrealizuje spätnú konverziu obrazu vyjadreného hexadecimálnym textom do svojej pôvodnej binárnej podoby.

    Okrem tvorby databázy budú zdrojové kódy aplikácie použité pri výučbe predmetu „Tvorba mobilných aplikácií“, kde budú mať názornú ukážku, ako použiť vstavané nástroje Android zariadenia, ako zabezpečiť komunikáciu so serverom, ako formátovať dáta a prispôsobiť aplikácie na rôzne verzie zariadení Android 6.0 – Android 11. Študenti budú taktiež zapojení pri tvorbe databázy – očakávame, že v prvom roku riešenia, by databáza mohla obsahovať približne 200 účastníkov, t. j. cca. 1000 obrázkov.

    Návrh hardvérového riešenia DOLORES.AI

    Pre HW riešenie bola zvolená výpočtová jednotka NVIDIA Jetson Nano (ďalej len Jetson). Toto zariadenie (Obr. 4) umožní implementáciu SW riešenia formou algoritmu hlbokého učenia pri zachovaní malých rozmerov a nízkej spotreby. Pre pripojenie externých senzorov a periférií obsahuje okrem USB portov aj GPIO, I2C, I2S, SPI, UART. Napájanie je riešené bežným spôsobom cez USB port. Potrebný príkon je 2,5A čo ponúkajú aj lacnejšie nabíjačky pre mobilné telefóny. Pre pripojenie LCD panela, prípadne obrazovky, poskytuje HDMI a DisplayPort výstupy. Chladenie je zabezpečené pasívnym radiátorom. V sumáre je toto zariadenie ideálne pre potreby malého a cenovo dostupného systému pre implementáciu algoritmov hlbokého učenia.

    Obr. 4 NVIDIA Jetson Nano v zapojení s kamerovým senzorom.

    Systém Jetson (Obr. 4) je postavený na Quad-core ARM A57 @ 1.43 GHz procesore a používa Ubuntu pre ARM procesory ako operačný systém (ďalej len OS). Spoločnosť NVIDIA poskytuje kompletný balík s OS, ovládačmi a knižnicami nazvaný JetPack. V čase písania bola aktuálna verzia číslo 4.5.1. Pre inštaláciu tohto balíka je potrebné použiť SD Memory Card Formatter od spoločnosti SD Association pre správne naformátovanie pod OS Windows. Pre prenos dát na túto kartu je potrebné použiť program Etcher. Po prenose JetPacku na kartu, OS Windows prestane rozpoznávať túto SD kartu, pretože jej nový formát je určený špeciálne pre systém Jetson.

    https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit

    Po inštalácií je potrebné nastaviť systém pri prvom spustení zvolením rozloženia klávesnice, nastavením časového pásma a hesla používateľa. Pre zvýšenie pohodlia pri práci na tomto zariadení, je možné pracovať na ňom skrze vzdialený prístup. Avšak, pre jeho ARM architektúru sú štandardné riešenia ako TeamViewer alebo RDP nestabilné. Preto samotná NVIDIA odporúča použitie VNC. Na oficiálnych stránkach vývojárov pre NVIDIA systémy sa nachádza návoj jeho inštalácie a nastavenia.

    https://developer.nvidia.com/embedded/learn/tutorials/vnc-setup

    Keď sú úvodné nastavenia dokončené, je potrebné inštalovať ostatné časti ako sú knižnice a pod. Najskôr je potrebné skontrolovať, či nie sú dostupné aktualizácie základných balíčkov:

  • sudo apt update
  • sudo apt upgrade
  • Ďalej, pokračujeme podľa postupu na stránke:

    https://docs.nvidia.com/deeplearning/frameworks/install-tf-jetson-platform/index.html

    Inštalácia základných knižníc, ktoré sú potrebné pre prácu s hlbokými neurónovými sieťami:

  • sudo apt-get install
  • libhdf5-serial-dev
  • hdf5-tools
  • libhdf5-dev
  • zlib1g-dev zip
  • libjpeg8-dev
  • liblapack-dev
  • libblas-dev gfortran
  • Keďže budeme pracovať hlavne s jazykom Python, nainštalujeme si manažér balíčkov PIP:

  • sudo apt-get install python3-pip
  • Inštalácia potrebných balíčkov:

  • sudo pip3 install -U pip testresources setuptools==49.6.0
  • sudo pip3 install -U numpy==1.19.4 future==0.18.2 mock==3.0.5 h5py==2.10.0 keras_preprocessing==1.1.1 keras_applications==1.0.8 gast==0.2.2 futures protobuf pybind11
  • Inštalácia aktuálnej verzie Tensorflow:

  • sudo pip3 install --pre --extra-index-url
  • https://www.tensorflow.org/install/gpu

    Inštalácia knižnice Keras:

  • sudo pip3 install keras
  • Návrh modelu hlbokého učenia

    Hlavným cieľom tejto fázy je nájsť optimálnu architektúru umelej neurónovej siete hlbokého učenia pre inteligentnú analýzu dát. Pre jadro experimentálne vytváraného modelu (Obr. 5) sme si zvolili cestu využitia predtrénovaných modelov na rozpoznávanie obrazových dát, nakoľko sa predpokladá že každá sieť si v spodných vrstvách hľadá podobné príznaky (hrany, textúry, tvary a pod.). Nakoľko existuje množstvo modelov [Krizh2012], [Atli2020], ktoré boli natrénované na obrovských databázach. Našou úlohou bude vybrať správnu základnú architektúru a vytvoriť k nej vyššie vrstvy, ktoré sa budú starať o klasifikáciu konkrétneho problému. V našom prípade to je v prvej fáze správne nasadenie rúška poprípade respirátora. Pre prvé experimenty bola vybratá sieť MobileNetV2 [Mark2019], ktorá obsahuje 3,538,984 parametrov s hĺbkou 88 vrstiev V porovnaní s inými sieťami, napr. ResNet [Demi2019], [Atli2020], VGG [Anto2020] a podobne je omnoho jednoduchšia a tým je aj predurčená bežať na menej náročných a menej výkonných zariadeniach. Nakoľko zvažujeme ako výstup viacero úrovní zariadení, budú preskúmané a porovnané aj iné zložitejšie siete.

    Obr. 5 Zobrazenie jednotlivých vrstiev vybraného experimentálneho modelu.

    V prvej fáze sme na datasete DoloresDatase_v01 testovali aké množstvo predtrénovaných koeficientov môže byť zahodených prostredníctvom MaxPooling alebo AveragePooling vrstiev pre následné trénovanie klasifikačných vrstiev. Ďalej sme testovali hĺbku a veľkosť siete, ktorá bude nadstavbou predtrénovaného modelu. Výsledkom experimentov je 18 netrénovaných modelov s nasledujúcimi parametrami: MaxPooling a AveragePooling s veľkosťou okna 3, 5, 7 s nasledujúcimi jednou, dvoma až tromi Dense vrstvami s počtom neurónov 128, 256, 384. Na výstupe bola použitá klasifikačná vrstva, ktorá rozdeľuje pravdepodobnosť do troch tried.

    Referencie:

    [Mark2019] M. Sandler, A. Howard, M. Zhu, A. Zhmoginov, L. Ch. Chen: „MobileNetV2: Inverted Residuals and Linear Bottlenecks”, Computer Vision and Pattern Recognition, [Submitted on 13 Jan 2018 (v1), last revised 21 Mar 2019 (this version, v4)]

    [Krizh2012] A. Krizhevsky, I. Sutskever and G. E. Hinton: „ImageNet Classification with Deep Convolutional Neural Networks”, In Advances in Neural Information Processing Systems, NIPS, vol. 25, 2012.

    [Demi2019] A. Demir, F. Yilmaz and O. Kose: „Early detection of skin cancer using deep learning architectures: resnet-101 and inception-v3”, 2019 Medical Technologies Congress (TIPTEKNO), Izmir, Turkey, 2019, pp. 1-4, doi: 10.1109/TIPTEKNO47231.2019.8972045.

    [Atli2020] V. Atliha and D. Šešok: „Comparison of VGG and ResNet used as Encoders for Image Captioning”, 2020 IEEE Open Conference of Electrical, Electronic and Information Sciences (eStream), Vilnius, Lithuania, 2020, pp. 1-4, doi: 10.1109/eStream50540.2020.9108880.

    [Anto2020] S. Anton, T. Artem, P. Andrey and K. Igor: „Modification of VGG Neural Network Architecture for Unimodal and Multimodal Biometrics”, 2020 IEEE East-West Design & Test Symposium (EWDTS), Varna, Bulgaria, 2020, pp. 1-4, doi: 10.1109/EWDTS50664.2020.9224924.