Juraj Holub
RetDec, reverse engineering, decompiler, x86, FPU, Avast
Bezpečnost Počítačová architektura a vestavěné systémy Překladače a gramatiky
V dnešnej dobe je proces analýzy nebezpečného softvéru dôležitou súčasťou informačných technológií. Jedna z kľúčových techník je spätný preklad škodlivých binárnych programov. Spätný preklad je komplexný proces, ktorým sa zaoberá niekoľko projektov. Projekt RetDec sa zameriava na flexibilný návrh a riešenie spätného prekladača s možnosťou znovupoužiteľnosti. Ide o open-source projekt vedený firmou Avast. Tento článok sa zaoberá návrhom nového rozšírenia pre spätný prekladač RetDec v oblasti podpory špecializovanej inštrukčnej sady pre jednotku FPU, ktorá je súčasťou procesorovej architektúry x86.
Tomáš Dacík
Static Analysis, Deadlock Detection, Frama-C
Testování, analýza a verifikace
Frama-C is a platform for static analysis of source codes written in the C language. It provides a wide range of analysers usually based on EVA - Frama-C's value analysis plugin. Despite some attempts to support analysis of multi-threaded code have been done in Frama-C, the whole platform is currently limited to analysis of sequential code only. In this paper, we present Deadlock, a new plugin of Frama-C focused on deadlock detection. Together with the core algorithm of deadlock detection, we present a technique our analyser uses to handle multi-threaded code partially as a sequential one, which allows us to improve the precision of our analysis by using existing plugins of Frama-C. In our experimental evaluation, we show that our tool is able to handle real-word C code with a high precision.
Monika Mužikovská
ANaConDA, Dynamická analýza, Paralelní chyby, Víceprocesové programy
Testování, analýza a verifikace
Dynamická analýza se s úspěchem využívá pro detekci chyb ve vícevláknových programech. Algoritmy, které byly za tímto účelem navrženy, jsou ale často využitelné i pro víceprocesové programy. Žádný ze známých nástrojů pro dynamickou analýzu ale monitorování procesů nepodporuje. Cílem této práce bylo rozšířit nástroj ANaConDA o analýzu a monitorování víceprocesových programů. Výsledkem je implementace rozšíření, které za vývojáře analyzátorů řeší problémy spojené s oddělenými adresovými prostory a synchronizací pomocí semaforů. Rozšíření bylo využito pro úpravu analyzátoru AtomRace pro detekci časově závislých chyb nad daty ve víceprocesových programech a použito na experimenty se studentskými projekty z předmětu Operační systémy. Výsledky experimentů ukázaly, že se nástroj ANaConDA může stát vítaným pomocníkem při implementaci nejen víceprocesových projektů.
David Mikšaník
regular expressions, language inclusion, finite automata, counting automata
Testování, analýza a verifikace
We present an algorithm solving the inclusion problem for regular expressions with the counting operator limited to character classes, the so-called extended regular expressions (eREs), which are common in practice. Such regular expressions do not extend expressiveness beyond regularity, but allow one to succinctly express repeated patterns. Our algorithm is based on the transformation eREs into monadic counting automata (MCAs), i.e., finite automata with counting loops on character class where each counter is bounded. Similarly to the classical algorithm, we transform eREs into automata, but now we use MCAs instead of nondeterministic finite automata (NFAs). Following by building the product of MCAs and searching for a final state in the product. MCAs are compact representation of eREs because the number of states in MCAs does not depend on the bounds used in the counting operator, in contrast to NFAs where the number of states grows linearly. These bounds can be large in practice, thus MCAs are often significantly smaller than NFAs. We provide several examples for which the classical algorithm working with NFAs does not terminate in a reasonable amount of time, but our algorithm does. We also hope that our algorithm outperforms the classical algorithm in general, especially if the bounds of the counting operators are large.
Simeon Borko
enzyme mining, novel biocatalysts, web server
Bioinformatika
Millions of protein sequences are being discovered at an incredible pace, representing an inexhaustible source of biocatalysts. Despite genomic databases growing exponentially, classical biochemical characterization techniques are time-demanding, cost-ineffective and low-throughput. Therefore, computational methods are being developed to explore the unmapped sequence space efficiently. Selection of putative enzymes for biochemical characterization based on rational and robust analysis of all available sequences remains an unsolved problem. To address this challenge, I have developed EnzymeMiner – a web server for automated screening and annotation of enzymes that enables selection of hits for wet-lab experiments. EnzymeMiner prioritizes sequences that are more likely to preserve the catalytic activity and are expressible in a soluble form in heterologous host organism Escherichia coli. EnzymeMiner reduces the time devoted to data gathering, multi-step analysis, sequence prioritization and selection from days to hours. EnzymeMiner is a universal tool applicable to any enzyme family that provides an interactive and easy-to-use web interface freely available at https://loschmidt.chemi.muni.cz/enzymeminer/.
Michal Ormoš
RTLS Systems, UWB, CI/CD, Indoor Localization
Testování, analýza a verifikace
Fast development and deployment of the software are the new phenomena of the era. It is not different in the field of real-time localization systems (RTLS). In our global world where the global positioning system (GPS) is the everyday utility, there is a necessity of localizing under the roof where the GPS cannot access. Here come the local position systems based on Ultra Wide Band (UWB), which bring the ultimate precision. This work solves the problem of fast delivery of the software responsible for the RTLS System. It produces a case study on how to develop, test, and deploy this system in the fast CI/CD environment with the help of DevOps principles. This requires introducing the new techniques and methods for how to validate and test the precision of these systems.
Roman Bártl
Arduino, Android, Bluetooth Low Energy, Vestavěný systém, Notifikace
Počítačová architektura a vestavěné systémy Uživatelská rozhraní
Cílem této práce je navrhnout a vytvořit notifikační zařízení, které bude zobrazovat nejrůznější upozornění z chytrých telefonů. Jedná se o upozornění na příchozí hovory, stav baterie a notifikace nainstalovaných aplikací. Jádrem zařízení je jednodeskový počítač Arduino. Součástí práce je i implementace aplikace pro operační systém Android, která slouží jak pro komunikaci s tímto zařízením, tak i k samotnému zachytávání zmíněných událostí. Pro komunikaci je použita technologie Bluetooth Low Energy. Je kladen důraz na jednoduchost a srozumitelnost celého systému včetně zajištění co největší možné kompatibility napříč verzemi systému Android.
Lukáš Dobiš
Human classification, Computer vision, Deep learning
Zpracování dat (obraz, zvuk, text apod.)
This paper describes an approach for automated human recognition by using convolutional neural networks (CNN) to perform facial analysis of persons face in image data. The predicted biometric indicators are following: age, gender, facial landmarks and facial expression. CNN architectures with pretrained weights for each task are described. Age estimation CNN has new weights trained and freezed, then has added new LSTM layers into its architecture. New LSTM layers are trained and tested on newly created video data set. Solution for human recognition inference with single image and time series variants, in form of script with interconnected CNNs is explained and its inference speed performance supports further proposed expansion plans for live video inference.
Michal Piňos
Neuroevoluce, Neuronové sítě, Evoluční výpočetní techniky
Robotika a umělá inteligence
Cı́lem této práce je návrh a implementace programu pro automatizovaný návrh konvolučnı́ch neuronových sı́tı́ (CNN) s využitı́m evolučnı́ch výpočetnı́ch technik. Z praktického hlediska tento přı́stup redukuje potřebu lidského faktoru při tvorbě CNN, a tak eliminuje zdlouhavý a namáhavý proces návrhu. Tato práce využı́vá speciálnı́ formu genetického programovánı́ nazývanou kartézské genetické programovánı́, které pro zakódovánı́ řešeného problému využı́vá grafovou reprezentaci. Tato technika umožňuje uživateli parametrizovat proces hledánı́ CNN, a tak se zaměřit na architektury zajı́mavé z pohledu použitých výpočetnı́ch jednotek, přesnosti či počtu parametrů. Navrhovaný přı́stup byl otestován na standardizované datové sadě CIFAR-10, která je často využı́vána výzkumnı́ky pro srovnánı́ výkonnosti jejich CNN. Prvotnı́ experimenty ukázaly, že vytvořená implementace (využı́vajı́cı́ GPU akceleraci) je schopna vytvořit či vylepšit přesnost CNN. Výsledkem experimentů, kdy bylo pro trénovánı́ k dispozici pouze několik epoch, byla řešenı́ s přesnostı́ 64.5 % a počtem parametrů 146K při využitı́ základnı́ch vrstev a řešenı́ s přesnostı́ 74.5 % s počtem parametrů 475K při využitı́ reziduálnı́ch vrstev. Záměrem těchto experimentů bylo dokázat funkčnost implementovaného programu a proof-of-concept navržené metody.
Dominik Vagala
Paint my room, Change wall color, Náhľad farby na stene, Rozšírená realita, AR, ArCore, Mobilná aplikácia, Android
Počítačová grafika Zpracování dat (obraz, zvuk, text apod.)
Cieľom tejto práce je návrh a implementácia mobilnej aplikácie pre Android, ktorá by umožňovala meniť farby na stene pomocou rozšírenej reality. Užívateľ si tak môže vyskúšať rôzne farby priamo v miestnosti kde sa nachádza, a následne sa rozhodnúť, ktorá farba sa mu tam najviac hodí na vymaľovanie stien. Na rozpoznanie hraníc steny je použitý Sobelov detektor hrán, kde sa ohraničený úsek steny vypĺňa farbou pomocou upraveného Queue-Linear Flood Fill algoritmu. 2D súradnice, kde užívateľ klikol na stenu, sa približne prepočítajú na 3D súradnice v priestore. Tie sa následne sledujú pomocou knižnice ArCore, vďaka čomu stena zostane zafarbená aj keď sa užívateľ pohybuje po miestnosti.
Pavol Karlík
Speech Enhancement, Deep Learning, Cycle-Consistency
Robotika a umělá inteligence Zpracování dat (obraz, zvuk, text apod.)
Speech enhancement aims to improve speech intelligibility and overall perceptual quality of speech by using various algorithms. Neural networks (NNs) have become a standard approach for solving such problems. NNs are usually trained by comparing the network output to the target sample. In our work, we incorporate cycle consistency constraint during the training period to improve the network robustness --- we add another NN to the process. The second NN performs an opposite task --- its goal is to introduce noise to clean speech recording. The networks are trained in a cycle, each taking the output of the other network as an input. Cycle-consistency, among other things, causes the network to see a much larger variety of noisy data, which improves the network's robustness. We perform experiments on both paired and unpaired data, which is enabled by adding adversarial training to the training. The DNN models are evaluated by using an automatic speech recognition system. The speech enhancement models trained and evaluated in this work are based on a recent publication. The results have shown that adding cycle-consistency improves the models' performance significantly.
Tomáš Sýkora
automatic speech recognition, domain adaptation, conversational speech
Zpracování dat (obraz, zvuk, text apod.)
Many state-of-the-art results in different machine learning areas are presented on day-to-day basis. By adjusting these systems to perform perfectly on a specific subset of the general data, huge improvements may be achieved in their resulting accuracy. Usage of domain adaptation in automatic speech recognition can bring us to production level models capable of transcribing difficult and noisy customer conversations way more accurately than the general models trained on all kinds of language and speech data. In this work I present 12.7% word error rate improvement in our speech recognition task over the general domain speech recognizer from Google. The improvement was achieved by both very precise annotation and preparation of domain data and by combining state-of-the-art architectures and algorithms. The described system was successfully integrated into a production environment of the Parrot transcription company founded by, among other team members, current and former faculty students, which drastically increased performance of the human transcribers.
Dominik Gabzdyl
vehicle counting, counting by regression, convolutional neural networks
Robotika a umělá inteligence Zpracování dat (obraz, zvuk, text apod.)
Traffic analysis is still a challenging task. During such task there are many pitfalls to be aware of. Such as small image resolution, high number of overlapping objects, angle of camera, blurred objects due to their motion or weather conditions. This paper addresses the issue of counting vehicles instances in images and videos. Remarkable results and state-of-the-art methods are defined by convolutional neural networks. There are many approaches to address the issue of counting objects in images. One of which is counting by regression, which is the aim of this paper. I propose an architecture which is inspired by some state-of-the-art models. The proposed model improves accuracy on various datasets. For instance on the very small PUCPR+ dataset the Root Mean Square Error between expected and predicted vehicle counts was reduced from 34.46 to 8.84 vehicles (measured on the test set).
Kateřina Trávníčková, Oldřich Kodym
Segmentation, Deep learning, Medical data, Image restauration, Limited training set
Počítačová grafika Robotika a umělá inteligence Zpracování dat (obraz, zvuk, text apod.)
Deep learning based medical data segmentation methods can provide excellent results already. However, these results are obtained mostly thanks to the large training data sets. Obtaining the sufficient amount of correct annotations might be problematic in the medical field. This paper describes the problem of training medical segmentation models with limited annotations and proposes solutions to address the issue. We compare the baseline segmentation model group with two other model groups. These groups use different means to battle the lack of data problem. First group is pretrained in unsupervised manner and the second one uses human interaction in form of guidance clicks. We train 14 models for each group on subsets with varying number of patients. Segmentation model trained on small number of patients has better results when pretrained in unsupervised manner on the whole trainig set with 70 patients. Better results are obtained with the interactive method, where training on only two patients reaches Dice score 0.929 whereas the preitrained model reaches 0.830 and the baseline model only 0.749.
Ondřej Zemánek
visual counting, vehicle counting in static images, car park dataset
Počítačová grafika Zpracování dat (obraz, zvuk, text apod.)
This paper addresses the problem of counting vehicles in static images with no geometric information of the scene. Four convolutional neural network architectures were studied, implemented and trained as a main part of this work. Also, a dataset that consists of 19 310 images in total from 12 views that captures 7 different scenes were taken as part of this work. The trained networks map the appearance of the input sample to its corresponding vehicles density map, which can be easily translated to the vehicle count with keeping the localization of the vehicles in the input image. The main contribution of this work is in a comparison and application of the state-of-the-art solutions to the problem of object counting. Most of them were mainly designed to count pedestrians in crowded scenes or for medicine images, so the major goal was to adapt these solutions for vehicle counting task. The implemented models were trained on TRANCOS dataset which is a popular benchmark for counting vehicles on annotated low quality highway pictures. Their performance is compared and the results are discussed.
Patrik Goldschmidt
TCP SYN Flood, DDoS Mitigation, Adaptive DoS Protection
Počítačové sítě
TCP SYN Flood is one of the most widespread DoS attack types performed on computer networks nowadays. The attack comes in many possible forms and several different mitigation methods to deflect it also exist. This paper discusses mentioned security incidents, various mitigation approaches, and presents a mechanism able to choose the most suitable method to mitigate the attack. The suggestion is made according to network traffic and the properties of mitigation methods. After the suggested method is deployed, the algorithm also monitors its behavior and may suggest a different strategy when the one currently in use proves to be ineffective. Our experiments have shown that the mechanism is able to successfully detect several attack variants and suggest a suitable method to deflect them while trying to minimize the impact on the end-user as much as possible. On the other hand, the suggestion accuracy is heavily dependent on available mitigation methods and their properties, which need to be set manually before the system can be used.
David Kozák
search engine, semantic enhancement, MG4J, compiler, indexation, searching, annotation, big data
Webové technologie
The topic of this paper is semantic searching over big textual data. It describes the design and implementation of a search engine Enticing that queries semantically enhanced documents efficiently and has a user friendly interface for working with the results. First, state of the art solutions along with their strengths and shortcomings are analyzed. Then a design for new search engine is presented along with a specialized query language EQL. The system consists of components for indexing and searching the documents, management server, compiler for the query language and two clients, web based and command line. The engine has been successfully designed, developed and deployed and is available via Internet. As a result of that, the possibility to use semantic searching is available to a wide audience.
Vladislav Bambuch
web scraping, cryptocurrencies, crypto crime detection, microservices, apache kafka, data streaming
Bezpečnost Počítačové sítě Webové technologie Zpracování dat (obraz, zvuk, text apod.)
The goal of this work is to build a platform for collecting and displaying metadata about cryptocurrency addresses from public and also dark web. To achieve this goal, the author uses web parsing technologies written in PHP. Challenges accompanying a website parsing are solved by scaling capabilities of Apache Kafka streaming platform. The modularity of the platform is accomplished by microservice architecture and Docker containerization. The work creates a unique way how to search for potential crypto criminal activities, that appeared outside of the blockchain world, by building a web page application on top of this platform (that serves for managing the platform and exploring the extracted data). The platform architecture allows adding loosely coupled modules smoothly where the Apache Kafka mediates communication of the modules. The result of this article is meant to be used for cybercrime detection and prevention. Its users can be law enforcement authorities or other agencies interested in reputations of cryptocurrency addresses.
Tomáš Vlk
Continuous Integration, Continuous Deployment, Configuration Management, Infrastructure as Code, Nix, NixOS, NixOps
Informační systémy
Tato práce se zabývá uplatněním funkcionálního balíčkovacího systému Nix a jeho ekosystému (NixOS, NixOps) pro CI/CD při agilním vývoji. Při použití těchto technologií jsou problémy způsobené odlišným prostředím prakticky eliminovány bez nutnosti kontejnerizace. Práce obsahuje popis možností a nedostatků Nix/NixOps a navrhuje obecný postup použití těchto technologií pro jednotlivé fáze agilního vývoje a CI/CD. Díky Nix/NixOps je implementace CI/CD velmi jednoduchá a celý proces je navíc reprodukovatelný. Výstupem práce je sada příkladů demonstrující použití Nix/NixOps v různých projektech, a která je dostupná jako open-source. Díky této sadě mohou vývojáři použít Nix rychle a jednoduše v jakémkoliv projektu, bez nutnosti studia velkého množství materiálů.
Michael Polák
Network Device Identification, k-Nearest Neighbors, Frequency Analysis
Bezpečnost Počítačové sítě
With the constantly growing number of devices on private and corporate networks, it is becoming increasingly more important for network administrators to track devices based on their behavior with limited feature availability due to the increasing security risks. This paper analyzes methods used to create device profiles that are subsequently used to identify devices using frequency analysis and the k-Nearest Neighbors algorithm with cosine similarity as the distance metric. Lastly, the results of this method are presented with possible improvements to the existing algorithm.
Ondřej Zemánek
visual counting, vehicle counting in static images, car park dataset
Počítačová grafika Zpracování dat (obraz, zvuk, text apod.)
This paper addresses the problem of counting vehicles in static images with no geometric information of the scene. Four convolutional neural network architectures were studied, implemented and trained as a main part of this work. Also, a dataset that consists of 19 310 images in total from 12 views that captures 7 different scenes were taken as part of this work. The trained networks map the appearance of the input sample to its corresponding vehicles density map, which can be easily translated to the vehicle count with keeping the localization of the vehicles in the input image. The main contribution of this work is in a comparison and application of the state-of-the-art solutions to the problem of object counting. Most of them were mainly designed to count pedestrians in crowded scenes or for medicine images, so the major goal was to adapt these solutions for vehicle counting task. The implemented models were trained on TRANCOS dataset which is a popular benchmark for counting vehicles on annotated low quality highway pictures. Their performance is compared and the results are discussed.
Monika Mužikovská
ANaConDA, Dynamická analýza, Paralelní chyby, Víceprocesové programy
Testování, analýza a verifikace
Dynamická analýza se s úspěchem využívá pro detekci chyb ve vícevláknových programech. Algoritmy, které byly za tímto účelem navrženy, jsou ale často využitelné i pro víceprocesové programy. Žádný ze známých nástrojů pro dynamickou analýzu ale monitorování procesů nepodporuje. Cílem této práce bylo rozšířit nástroj ANaConDA o analýzu a monitorování víceprocesových programů. Výsledkem je implementace rozšíření, které za vývojáře analyzátorů řeší problémy spojené s oddělenými adresovými prostory a synchronizací pomocí semaforů. Rozšíření bylo využito pro úpravu analyzátoru AtomRace pro detekci časově závislých chyb nad daty ve víceprocesových programech a použito na experimenty se studentskými projekty z předmětu Operační systémy. Výsledky experimentů ukázaly, že se nástroj ANaConDA může stát vítaným pomocníkem při implementaci nejen víceprocesových projektů.
Tomáš Dacík
Static Analysis, Deadlock Detection, Frama-C
Testování, analýza a verifikace
Frama-C is a platform for static analysis of source codes written in the C language. It provides a wide range of analysers usually based on EVA - Frama-C's value analysis plugin. Despite some attempts to support analysis of multi-threaded code have been done in Frama-C, the whole platform is currently limited to analysis of sequential code only. In this paper, we present Deadlock, a new plugin of Frama-C focused on deadlock detection. Together with the core algorithm of deadlock detection, we present a technique our analyser uses to handle multi-threaded code partially as a sequential one, which allows us to improve the precision of our analysis by using existing plugins of Frama-C. In our experimental evaluation, we show that our tool is able to handle real-word C code with a high precision.
Dominik Vagala
Paint my room, Change wall color, Náhľad farby na stene, Rozšírená realita, AR, ArCore, Mobilná aplikácia, Android
Počítačová grafika Zpracování dat (obraz, zvuk, text apod.)
Cieľom tejto práce je návrh a implementácia mobilnej aplikácie pre Android, ktorá by umožňovala meniť farby na stene pomocou rozšírenej reality. Užívateľ si tak môže vyskúšať rôzne farby priamo v miestnosti kde sa nachádza, a následne sa rozhodnúť, ktorá farba sa mu tam najviac hodí na vymaľovanie stien. Na rozpoznanie hraníc steny je použitý Sobelov detektor hrán, kde sa ohraničený úsek steny vypĺňa farbou pomocou upraveného Queue-Linear Flood Fill algoritmu. 2D súradnice, kde užívateľ klikol na stenu, sa približne prepočítajú na 3D súradnice v priestore. Tie sa následne sledujú pomocou knižnice ArCore, vďaka čomu stena zostane zafarbená aj keď sa užívateľ pohybuje po miestnosti.
Monika Mužikovská
ANaConDA, Dynamická analýza, Paralelní chyby, Víceprocesové programy
Testování, analýza a verifikace
Dynamická analýza se s úspěchem využívá pro detekci chyb ve vícevláknových programech. Algoritmy, které byly za tímto účelem navrženy, jsou ale často využitelné i pro víceprocesové programy. Žádný ze známých nástrojů pro dynamickou analýzu ale monitorování procesů nepodporuje. Cílem této práce bylo rozšířit nástroj ANaConDA o analýzu a monitorování víceprocesových programů. Výsledkem je implementace rozšíření, které za vývojáře analyzátorů řeší problémy spojené s oddělenými adresovými prostory a synchronizací pomocí semaforů. Rozšíření bylo využito pro úpravu analyzátoru AtomRace pro detekci časově závislých chyb nad daty ve víceprocesových programech a použito na experimenty se studentskými projekty z předmětu Operační systémy. Výsledky experimentů ukázaly, že se nástroj ANaConDA může stát vítaným pomocníkem při implementaci nejen víceprocesových projektů.
Adam Ferencz
Počítání lidí, Počítačové vidění, Konvoluční neuronové sítě, Keras, Leaflet, OpenStreetMap
Robotika a umělá inteligence Uživatelská rozhraní
Cílem této práce je umožnit získat věrohodný odhad počtu lidí v davu na demonstraci či jiné hromadné akci z několika fotografií pořízených dronem, či jiných fotografií. Výsledkem jsou obarvené části mapy podle hustoty lidí v daném místě. Jednotlivé fotografie jsou dány do souvislosti s jejich umístěním do topologické mapy. Pro počítání lidí z fotky je použita metoda konvoluční neuronové sítě, která dokáže k fotografii vytvořit příslušnou mapu hustoty lidí. Integrace více fotek dohromady se pak provádí transformací do mapového podkladu, čímž se vezme v potaz i rozmístění davu v prostoru. Aplikace je rozdělena na server a webový klient. Serverová část se stará o analýzu davu a vytvoření map hustoty k jednotlivým obrázkům. Toho dosáhne pomocí natrénovaného modelu neuronové sítě Multi-Column Convolutional Neural Network. Klient se pak kromě vstupních obrázků stará o jejich zobrazení do mapy, případně modifikaci dat. Výsledkem je interaktivní mapa, ve které jsou umístěné mapy hustoty davu.
Dominik Vagala
Paint my room, Change wall color, Náhľad farby na stene, Rozšírená realita, AR, ArCore, Mobilná aplikácia, Android
Počítačová grafika Zpracování dat (obraz, zvuk, text apod.)
Cieľom tejto práce je návrh a implementácia mobilnej aplikácie pre Android, ktorá by umožňovala meniť farby na stene pomocou rozšírenej reality. Užívateľ si tak môže vyskúšať rôzne farby priamo v miestnosti kde sa nachádza, a následne sa rozhodnúť, ktorá farba sa mu tam najviac hodí na vymaľovanie stien. Na rozpoznanie hraníc steny je použitý Sobelov detektor hrán, kde sa ohraničený úsek steny vypĺňa farbou pomocou upraveného Queue-Linear Flood Fill algoritmu. 2D súradnice, kde užívateľ klikol na stenu, sa približne prepočítajú na 3D súradnice v priestore. Tie sa následne sledujú pomocou knižnice ArCore, vďaka čomu stena zostane zafarbená aj keď sa užívateľ pohybuje po miestnosti.
Adam Ferencz
Počítání lidí, Počítačové vidění, Konvoluční neuronové sítě, Keras, Leaflet, OpenStreetMap
Robotika a umělá inteligence Uživatelská rozhraní
Cílem této práce je umožnit získat věrohodný odhad počtu lidí v davu na demonstraci či jiné hromadné akci z několika fotografií pořízených dronem, či jiných fotografií. Výsledkem jsou obarvené části mapy podle hustoty lidí v daném místě. Jednotlivé fotografie jsou dány do souvislosti s jejich umístěním do topologické mapy. Pro počítání lidí z fotky je použita metoda konvoluční neuronové sítě, která dokáže k fotografii vytvořit příslušnou mapu hustoty lidí. Integrace více fotek dohromady se pak provádí transformací do mapového podkladu, čímž se vezme v potaz i rozmístění davu v prostoru. Aplikace je rozdělena na server a webový klient. Serverová část se stará o analýzu davu a vytvoření map hustoty k jednotlivým obrázkům. Toho dosáhne pomocí natrénovaného modelu neuronové sítě Multi-Column Convolutional Neural Network. Klient se pak kromě vstupních obrázků stará o jejich zobrazení do mapy, případně modifikaci dat. Výsledkem je interaktivní mapa, ve které jsou umístěné mapy hustoty davu.
Martin Gaňo
Neural networks, Optimization, Machine learning
Robotika a umělá inteligence Zpracování dat (obraz, zvuk, text apod.)
The main goal of this work is to design and implement the framework that yields robust neural network model against whatever adversarial attack, while result models accuracy is not significantly lower comparing to naturally trained model. Our approach is to minimize maximization the loss function of the target model. Related work and our experiments lead us to the usage of Projected gradient descent method as a reference attack, therefore, we train against data generated by PGD. As a result, using the framework we can reach accuracy more than 90% against sophisticated adversarial attacks on MNIST dataset. The greatest contribution of this work is an implementation of adversarial attacks and defences against them because there misses any public implementation.
Dominik Vagala
Paint my room, Change wall color, Náhľad farby na stene, Rozšírená realita, AR, ArCore, Mobilná aplikácia, Android
Počítačová grafika Zpracování dat (obraz, zvuk, text apod.)
Cieľom tejto práce je návrh a implementácia mobilnej aplikácie pre Android, ktorá by umožňovala meniť farby na stene pomocou rozšírenej reality. Užívateľ si tak môže vyskúšať rôzne farby priamo v miestnosti kde sa nachádza, a následne sa rozhodnúť, ktorá farba sa mu tam najviac hodí na vymaľovanie stien. Na rozpoznanie hraníc steny je použitý Sobelov detektor hrán, kde sa ohraničený úsek steny vypĺňa farbou pomocou upraveného Queue-Linear Flood Fill algoritmu. 2D súradnice, kde užívateľ klikol na stenu, sa približne prepočítajú na 3D súradnice v priestore. Tie sa následne sledujú pomocou knižnice ArCore, vďaka čomu stena zostane zafarbená aj keď sa užívateľ pohybuje po miestnosti.
Filip Januš
Sociální síť, Soukromí, Bezpečnost, Skóre soukromí, Nastavení soukromí
Bezpečnost
V dnešní době stále přetrvává trend přesunu mezilidské komunikace do online prostředí. A to díky sociálním sítím a službám jimi poskytovanými. S tímto faktem souvisí i rostoucí počet uživatelů sociálních sítí. Mnoho uživatelů ovšem nevnímá rizika spojená s přítomností v internetovém prostředí. Tato práce se zaměřuje na analýzu bezpečnostních nastavení uživatelských účtů sociálních sítí a následné vyhodnocení tohoto nastavení. Cílem práce je vytvořit nástroj poskytující možnost vyhodnotit bezpečnostní nastavení uživatelského účtu na sociální síti případně doporučit vhodnější nastavení s ohledem na soukromí uživatele. Aby bylo možné dosáhnout těchto cílů, je potřebné použít vhodný model provádějící vyčíslení skóre privátnosti. Výstupem práce bude návrh a implementace nástroje provádějící analýzu, vyhodnocení a doporučení, jak vylepšit své nastavení soukromí na sociální síti. Což by mělo pomoci uživateli omezit množství uniklých citlivých informací.
Monika Mužikovská
ANaConDA, Dynamická analýza, Paralelní chyby, Víceprocesové programy
Testování, analýza a verifikace
Dynamická analýza se s úspěchem využívá pro detekci chyb ve vícevláknových programech. Algoritmy, které byly za tímto účelem navrženy, jsou ale často využitelné i pro víceprocesové programy. Žádný ze známých nástrojů pro dynamickou analýzu ale monitorování procesů nepodporuje. Cílem této práce bylo rozšířit nástroj ANaConDA o analýzu a monitorování víceprocesových programů. Výsledkem je implementace rozšíření, které za vývojáře analyzátorů řeší problémy spojené s oddělenými adresovými prostory a synchronizací pomocí semaforů. Rozšíření bylo využito pro úpravu analyzátoru AtomRace pro detekci časově závislých chyb nad daty ve víceprocesových programech a použito na experimenty se studentskými projekty z předmětu Operační systémy. Výsledky experimentů ukázaly, že se nástroj ANaConDA může stát vítaným pomocníkem při implementaci nejen víceprocesových projektů.
Vladislav Bambuch
web scraping, cryptocurrencies, crypto crime detection, microservices, apache kafka, data streaming
Bezpečnost Počítačové sítě Webové technologie Zpracování dat (obraz, zvuk, text apod.)
The goal of this work is to build a platform for collecting and displaying metadata about cryptocurrency addresses from public and also dark web. To achieve this goal, the author uses web parsing technologies written in PHP. Challenges accompanying a website parsing are solved by scaling capabilities of Apache Kafka streaming platform. The modularity of the platform is accomplished by microservice architecture and Docker containerization. The work creates a unique way how to search for potential crypto criminal activities, that appeared outside of the blockchain world, by building a web page application on top of this platform (that serves for managing the platform and exploring the extracted data). The platform architecture allows adding loosely coupled modules smoothly where the Apache Kafka mediates communication of the modules. The result of this article is meant to be used for cybercrime detection and prevention. Its users can be law enforcement authorities or other agencies interested in reputations of cryptocurrency addresses.
Adam Ferencz
Počítání lidí, Počítačové vidění, Konvoluční neuronové sítě, Keras, Leaflet, OpenStreetMap
Robotika a umělá inteligence Uživatelská rozhraní
Cílem této práce je umožnit získat věrohodný odhad počtu lidí v davu na demonstraci či jiné hromadné akci z několika fotografií pořízených dronem, či jiných fotografií. Výsledkem jsou obarvené části mapy podle hustoty lidí v daném místě. Jednotlivé fotografie jsou dány do souvislosti s jejich umístěním do topologické mapy. Pro počítání lidí z fotky je použita metoda konvoluční neuronové sítě, která dokáže k fotografii vytvořit příslušnou mapu hustoty lidí. Integrace více fotek dohromady se pak provádí transformací do mapového podkladu, čímž se vezme v potaz i rozmístění davu v prostoru. Aplikace je rozdělena na server a webový klient. Serverová část se stará o analýzu davu a vytvoření map hustoty k jednotlivým obrázkům. Toho dosáhne pomocí natrénovaného modelu neuronové sítě Multi-Column Convolutional Neural Network. Klient se pak kromě vstupních obrázků stará o jejich zobrazení do mapy, případně modifikaci dat. Výsledkem je interaktivní mapa, ve které jsou umístěné mapy hustoty davu.