Petr Dobeš
3D Reconstruction, Structure from Motion, Traffic Surveillance, Traffic Analysis, Camera Calibration
Zpracování obrazových dat
This paper reports experiments focusing on 3D reconstruction of vehicles passing in front of a traffic surveillance camera. Calibration process of surveillance camera is first introduced and the relation of automatic calibration with 3D information about observed traffic is described. Afterwards, a set of experiments with feature matching and Structure from Motion algorithm are presented and their results on images of passing vehicles are examined. Modifications to the correspondence search stage of Structure from Motion pipeline are then proposed. Most importantly, instead of using SIFT features, DeepMatching algorithm (originally devised to find quasi-dense point matches in optical flow calculation) is used to obtain point correspondences for subsequent reconstruction phase. As a result of implemented modifications, the overall completeness of reconstructed point cloud model of passing vehicle has improved significantly.
Lucie Dvorakova
Deep Pushdown Automata, Finite Expandability, Reduction, Non-Input Pushdown Symbols
Formální jazyky a automaty
For a positive integer n, n-expandable deep pushdown automata always contain no more than n occurrences of non-input symbols in their pushdowns during any computation. As its main result, the present paper demonstrates that these automata are as powerful as the same automata with only two non-input pushdown symbols - $ and #, where \# always appears solely as the pushdown bottom. The paper demonstrates an infinite hierarchy of language families that follows from this main result. The paper also points out that if # is the only non-input symbol in these automata, then they characterize the family of regular languages. In its conclusion, the paper suggests open problems and topics for the future investigation.
Zdeněk Hladík
multidimensionální automaty, multidimensionální jazyky, simulátor
Formální jazyky a automaty
Cílem tohoto článku je představení nově vyvinutého konceptu multidimensionálních automatů, schopných analyzovat data o libovolné dimensionalitě. Automaty jsou definovány za využití dřívějších publikací autora zahrnujících práci s dvoudimensionálními automaty, u nichž byla dokázána praktická využitelnost ve zpracování dat. V rámci této práce je vyvinuto několik druhů automatů a obdob Turingových strojů schopných analyzovat libovolné multidimensionální řetězce. Zároveň je součástí práce i simulátor dvou těchto automatů, demonstrující jejich fungování. V článku je uvedeno několik oblastí vhodných pro nasazení představených automatů. Po vzoru dvoudimensionálních automatů se jedná především o zpracování a analýzu dat.
Tomáš Bruckner
SAP, REST, OData, mock data
Webové technologie Informační systémy
This work deals with creating and providing mocked data for applications that use REST interface to communicate between the client and server parts. From the various implementations of the REST interface, the work focuses only on OData standard, that is defined by Microsoft. The project itself is mainly for SAP company. Naturally, even the libraries that are used in the final solution are from SAP. Primaly JavaScript framework SAPUI5 is used. The merit of this work is a library that facilitates the development of the client side of web applications. It fully supports CRUD operations over OData calls. Compared to other libraries creating mocked data that always return the same static data, this one simulates the behavior of the real server. So, when DELETE method is called for a specific entity, the given entity is deleted. This functionality is enabled by the client-side database created directly in the web browser, which corresponds to the database on the server side. A similar library for OData protocol does not exist, so it is a unique solution. The solution is verified using prepared web application.
Radek Vít
Formal Lanuguages, Translation Grammars, Recursively Enumerable Languages
Formální jazyky a automaty
This paper discusses the descriptional complexity of translation grammars. It shows a way to define any recursively enumerable language with translation grammars. Queue grammars characterize the family of recursively enumerable languages. This paper shows a way to simulate any queue grammar by a translation grammar. Any recursively enumerable language can then be defined with translation grammars by simulating queue grammars. This means that any recursively enumerable language can be accepted by pushdown automata with two stacks.
Ondřej Valeš
digitální fotografie, rekonstrukce, hloubková mapa, deskriptor GIST, Poissonova rovnice, dataset, C++, OpenCV
Robotika a umělá inteligence
Cílem této práce je navrhnout postup, který bude provádět rekonstrukci digitálních fotografií na základě vyhledání podobných fotografií v datasetu, jejichž obsah je poté využit při rekonstrukci. K nalezení podobnosti je navrhnut deskriptor fotografií obohacený o informaci z hloubkové mapy, který umožňuje rychlé vyhledání fotografií v datasetu a nový postup vkládání dat do rekonstruované oblasti, která je na rozdíl od existujících přístupů nejprve rozdělena na podoblasti na základě analýzy hloubkové mapy. To umožňuje řešit rekonstrukci jednotlivých podoblastí zcela odděleně a přináší zlepšení výsledku rekonstrukce, protože podoblasti jsou menší a méně komplexní.
Viktor Malík
formal verification, 2LS, template-based analysis, shape analysis, linked lists, pointer access paths, abstract interpretation, SSA form, invariant inference
Formální metody
Many low-level programs work with dynamic data structures on the heap (such as linked lists), which are often a source of bugs. Formal analysis of the shape of these structures can help finding errors or, on the contrary, prove the correctness of a program. We present the main principles behind 2LS, a program analysis framework for C programs, which is based on automatic invariant inference using an SMT solver, and a sketch of a solution that we proposed to the integration of shape analysis into this framework. The proposed solution includes a way how the shape of a program heap can be described using logical formulae and how a first-order SMT solver can be used to infer loop invariants and function summaries for each function of the analysed program. Our approach is based on pointer access paths that describe the shape of the heap by expressing the reachability of heap objects from pointer-typed program variables. The information obtained from the analysis can be used to prove various properties of programs manipulating dynamic data structures, such as the fact that the shape of a linked list does not change after performing an operation that traverses the list and writes data into each node.
Michaela Bieliková
finite state automata, symbolic automata, transducers, symbolic transducers, efficient algorithms, formal verification
Formální jazyky a automaty Formální metody
Finite state automata are widely used in the fields of computer science such as formal verification, system modelling, and natural language processing. However, the models representing the real systems are very complicated and may be defined upon big alphabets. In such cases, using classical finite state automata is not very efficient and more concise representation is needed. So called symbolic automata are suitable formalism for this purpose since they employ predicates as transition labels. One predicate represents set of symbol for which condition hold. Automata are used to represent configuration of modelled systems, but we need so called transducers to represent behaviour of systems. Symbolic transducers replace classic transition labels with two predicates, one for input symbols and one for output symbols. The goal of this work is to design a library which can handle different types of symbolic automata and transducers to provide a platform for fast prototyping. The library should also implement state-of-the-art algorithms for symbolic automata and transducers processing. As a result of this work, a Python library symboliclib was created. It supports symbolic automata with different types of predicates as well as classic finite automata working with symbols. Some of highly efficient algorithms over automata such as language inclusion based on simulations and antichains have been implemented. The library satisfies its original purpose to allow fast prototyping but is slower than more complex optimised automata libraries when working with big automata. The inefficiency is mainly caused by using Python which is an high level language slower than optimised libraries written in lower-level languages such as C or C++. A trade off to this inefficiency is the simplicity and fast learning curve of use of the library. The created library can be used for fast implementation of newly designed algorithms for automata manipulation. This allows a development of the efficient algorithms with focus on the optimisation of complexity of algorithms without the need to deal with the low-level automata representation.
Stanislav Svoboda
JPEG, ztrátová komprese obrazu, diskrétní kosinová transformace, diskrétní vlnková transformace, Walshova-Hadamardova transformace, diskrétní Chebyshevova transformace
Zpracování obrazových dat
Diskrétní kosinová transformace je často používána při zpracování signálu. Tato transformace je také jádrem standardu JPEG, který je dosud nejpoužívanější formát pro ztrátovou kompresi obrazových dat. Od doby standardizace JPEGu byla publikována spousta dalších transformací, které se chovají obdobně jako diskrétní kosinová transformace. Cílem tohoto článku je analyzovat využití těchto transformací v kompresním řetězci JPEGu. Každá transformace je zkoumána na základě její aplikace na datové sadě různých druhů obrázků a následného porovnání vůči referenční diskrétní kosinové transformaci. Transformace se hodnotily za pomocí metriky PSNR na testovaných obrázcích. Z měření vyplývá, že diskrétní kosinová transformace má lepší výsledky než ostatní testované transformace. Avšak při vyšším datovém toku má vlnková transformace Cohen-Daubechies-Feauveau 9/7 shodné výsledky s DCT. Z měření vyplývá, že lokální diskrétní kosinová transformace má lepší výsledky při nižším datovém toku než diskrétní kosinová transformace.
Radek Pazderka
CAPTCHA kód, strojové učení, histogramový klasifikátor, konvoluční neuronová síť, LeNet, Caffe
Zpracování obrazových dat
Tento článek se zaměřuje na rozpoznávání CAPTCHA kódů pomocí dvou odlišných klasifikátorů. Jedná se o histogramový klasifikátor a konvoluční neuronovou síť. U obou klasifikátorů uvádíme stručný postup jejich trénování a testování. V závěru článku jsou oba tyto klasifikátory porovnány s již existujícími přístupy k rozpoznávání CAPTCHA kódů. V diskuzi pak porovnáváme výhody a nevýhody jednotlivých metod.
Gabriel Branderský
Web Technologies, Single-page application, Front-end frameworks, Angular, Reusable components, Data table, Data-intensive applications
Webové technologie
The default HTML table is rarely sufficient for data-intensive applications. Even feature-rich table libraries may not be designed for such applications. Therefore, this paper discusses the design of the table library with a different approach targeted for data-intensive applications. The simplicity of HTML is the result of its declarative syntax. Since it is desired to make the usage of the library as easy as possible, the final table is available as a custom HTML element. This is where the Angular 2 framework comes into play; its components are not only usable through extended HTML syntax, but also have the means of communication among themselves. The philosophy of the library is to allow developers easily disable or replace the parts they do not need. This is achieved by APIs with different levels of abstraction. The library was successfully utilized in a customer-relationship management system. It is also published as open-source on Github for Angular 2 framework.
Tomáš Štrba
mobile application, iOS, drum beats recognition, discrete wavelet transform, audio analysis, drum training, GrooveSpired
Zpracování zvuku Uživatelská rozhraní
The main goal is implementation of mobile application for drums training. The application must be capable to analyze and evaluate drumming skills of a drummer using drum beats recognition of recorded audio. Other features of the application are displaying drum notation of different grooves from various music styles and playing audio examples of those grooves. For time-frequency analysis discrete wavelet transform is used in this paper. Results show a true positive rate above 96\% with reasonable time tolerance in the onset detection.
Daniel Radoš
forex, umelé neurónové siete, trading
Robotika a umělá inteligence
Táto práca sa zaoberá aplikáciou neurónových sietí do odvetvia obchodovania na burze, presnejšie pre forexový trh. Cieľom práce je vytvorenie obchodnej stratégie, ktorej základ pre neskoršie obchodné príkazy tvorí práve neurónová sieť. Hlavným problémom pri využívaní neurónových sietí je správna normalizácia a kvalita vstupných hodnôt. Tento článok popisuje návrh, implementáciu a vyhodnotenie vytvorenej obchodnej stratégie s názvom BLANNPA (Batch Learning Artificial Neural Network Price Action), ktorá je založená výhradne na prácu s cenou a cenovými rozdielmi, deltami. Tieto delty tvoria vstup neurónovej siete a na základe výstupu je obchodná pozícia otvorená alebo vyhodnotená ako nevhodná, inak nazvaná ako šum. Navrhnutá obchodná stratégia sa riadi základnými pravidlami money managementu a bola primárne vyvíjaná na hodinovom časovom rámci v prostredí Metatrader, najobľúbenejšou platformou medzi obchodníkmi.
Vojtěch Havlena
Automata reduction, Language distance, Finite automaton, Network traffic monitoring
Formální jazyky a automaty
The focus of this paper is the comparison of languages and reduction of automata used in network traffic monitoring. We propose several approaches for approximate (language non-preserving) reduction of automata and comparison of their languages. The reductions are based on either under-approximating the languages of automata by pruning their states, or over-approximating the language by introducing new self-loops (and pruning redundant states later). Our approximate reduction methods and the proposed probabilistic distance utilize information from a network traffic. We give formal guarantees with respect to a model of network traffic, represented using a probabilistic automaton. We implemented the methods and evaluated them on automata used in network traffic filtering.
Tomáš Vlk
Android, Firebase, Poloha, Geofence, Sdílení
Uživatelská rozhraní
Cílem této práce je vytvořit uživatelsky přívětivou mobilní aplikaci, díky níž bude snazší sdílet svoji polohu a zároveň zachovat své soukromí. Toho je dosaženo sdílením pouze informace o přítomnosti na místě místo GPS souřadnic aktuální polohy. Pro snazší sdílení nabízí aplikace automatickou detekci přítomnosti na určitém místě, řešenou pomocí GeofencingApi. Jako cílová platforma této aplikace byl zvolen systém Android. Ke komunikaci mezi zařízeními se využívá Firebase Cloud Messaging. Výsledkem práce je, že s mírnými úpravami funguje GeofencingApi spolehlivě a lze určit přítomnost zařízení na místě s poloměrem větším než 50 metrů. Zároveň ale nedochází k aktivnímu dotazování polohy. Podařilo se tak vytvořit aplikaci, která nemusí být vůbec spuštěna (ani žádná její služba na pozadí) a přitom dokáže detekovat přítomnost zařízení na určitém místě a přijímat zprávy od ostatních zařízení. Největší předností tohoto přístupu je velmi nízká spotřeba energie oproti jiným řešením.
Štěpán Rydlo
lokalizace objektů, TDOA, OpenCL
Systémy reálného času
Pro zjištění polohy objektu existuje řada metod a systémů. Většina těchto metod používá pro určení lokalizaci hardwarové implementace zpracovávání signálu. Zpracování signálu však lze řešit pomoci softwaru, který bude spuštěn na počítači. K počítači bude připojen rádiový přijímač. Cílem této práce je provést paralelizaci programu tak, aby zpracování informací probíhalo v reálném čase. Pro dosažení zpracování v reálném čase bude paralelizovat na CPU ale i GPU. Obsahem je popis dvou na sobě nezávislých možností přenosu dat a jeho zpracování.
Daniel Čejchan
programming language, CTFE, code hatching, compile time, metaprogramming, ctime, Beast
Programovací jazyky a překladače
This paper introduces a new compiled, imperative, object-oriented, C-family programming language, particularly inspired by C++ and D. Most notably, the language implements a new concept called code hatching (also a subject of this paper) that unifies templating, compile-time function execution, compile-time reflection and metaprogramming in general. The project also includes a proof-of-concept open-source compiler (more precisely transcompiler to C) called Dragon that demonstrates core elements of the language and the code hatching concept.
Andrej Bližňák
Softwérové inžinierstvo, Android aplikácia, Google Firebase, SQLite, Užívateľské rozhranie, Užívateľská skúsenosť
Uživatelská rozhraní Návrh software
Cieľom tejto práce je vytvorenie aplikácie pre mobilné zariadenia, slúžiacej pre dopytovanie služieb. Aplikácia by mala slúžiť ako poskytovateľovi služieb, tak potenciálnemu zákazníkovi. Je preto potrebné pri vývoji pozerať na dve rôzne užívateľské skupiny a poskytnúť im funkcionalitu, ktorá by pre ich činnosť mala byť prínosná. Aplikácia je v momentálnom štádiu vývoja určená pre zariadenia s operačným systémom Android. Pre komunikáciu medzi užívateľmi sú použité primárne cloudové služby Google Firebase. Aplikácia taktiež využíva SQLite pre ukladanie offline dát a aplikácia používa rôzne podporné knižnice. V práci sa nachádza detailnejší popis infraštruktúry použitých služieb. Súčasťou vývoja bol aj prieskum trhu, ktorý ukázal možnosti, ako ďalej smerovať vývoj aplikácie a na čo sa sústrediť. V súčasnosti je aplikácia publikovaná v obchode Google Play v testovacom režime s reálnymi užívateľmi.
Karel Jiránek
Password generation, Probability grammar, Fitcrack, Cryptography, OpenCL
Bezpečnost
This paper describes the password generation based on rules. Generator described in this paper uses knowledge from training phase with a password set to reduce time to find a correct password. The paper addresses the design of the password generator for Fitcrack tool. Fitcrack is a password recovery solution which can recover passwords from encrypted files. The main aim of this work is to extend Fitcrack tool with another password generator. When the password being cracked the generator produce password, which is hashed and compared with hash from the encrypted file.
Lukáš Kraicinger, Libor Danda
CNC stroj, výroba ozubení, prototyp, frézování, elektronika, software
Počítačová architektura a vestavěné systémy
Projekt se zabývá návrhem a následnou tvorbou prototypu šestiosého multifunkčního zařízení na výrobu ozubení. Jedná se o komplexní týmový projekt rozdělený na dvě části, každá část je jedna diplomová práce. Jedna z pohledu konstrukce mechanické stránky stroje a druhá z pohledu elektroniky a řídícího softwaru. Konstrukce stroje je navržena kompletně od začátku Liborem Dandou z Fakulty strojního inženýrství (Ústav konstruování). Elektroniku a řídící software vytváří Lukáš Kraicinger z Fakulty informačních technologií. Řídící software v sobě integruje specifickým CAM (Computer Aided Manufacturing) systémem, což snižuje další náklady na obslužný software. Stroj je kompaktní automat (vše v jednom), který pro výrobu ozubení potřebuje pouze vhodný polotovar a základní parametry ozubení. Hodnoty se zadávají pomocí dotykového displeje přímo na stroji nebo lze výrobu připravit pomocí stejného softwaru na pracovním PC bez stroje. Hlavní výhodou stroje je zjednodušení a zrychlení výrobního procesu a trojnásobné zvětšení pracovního prostoru stroje oproti velikostně srovnatelným strojům na trhu. Další z výhod je snížení energetických nároků na výrobu.
Tomáš Hajdík
Evidencia spotreby vody, Vstavaný systém, ESP8266, Wi-Fi modul, RFID, Webový server, Bezdrôtový vodomer, RTC, DS3231, WMBUS, Framework 7
Počítačová architektura a vestavěné systémy
Bakalárska práca sa zaoberá problematikou evidencie stavu bezdrôtových vodomerov. Cieľom je návrh a implementácia funkčného prototypu vstavaného systému na báze Wi-Fi modulu ESP8266, ktorý je schopný evidovať množstvo spotrebovanej vody u jednotlivých užívateľov prostredníctvom bezdrôtového odpočtu stavu vodomeru. Užívatelia majú možnosť identifikácie bezkontaktnou RFID kartou. Vstavaný systém zabezpečuje svoju dostupnosť a sprístupňuje dáta administrátorovi pomocou siete Wi-Fi. Správca interaguje so systémom pomocou mobilného telefónu a aplikácie bežiacej na module ESP8266. Práca zahŕňa návrh hardwarovej konštrukcie a taktiež implementácie softwaru pomocou jazyka C++. Výsledkom je funkčný prototyp systému, ktorý prináša nové možnosti do oblasti bezdrôtového odpočtu vodomerov, nakoľko nevyžaduje cenovo ťažko dostupné a vysoko špecializované prístroje pre evidenciu spotreby, ale je prístupný z mobilného telefónu a tým rozširuje trh aj pre bežných spotrebiteľov.
David Vaďura
map, rendering, OpenGL
Počítačová grafika
The aim of this work was to create a mobile map rendering library, using GPU acceleration to render vector map directly on end-user's device. That includes ability to draw line and polygon features, add POI icons and labels, while also enabling the user to change the appearance. The library must also manage map data, meaning acquire tiles when needed, cache them, and display at the right time. The proposed architecture defines a generic data source to make tile loading possible from various sources, both online or offline. A hybrid approach to map rendering was taken. Base features are rendered to a texture. Layers containing text and icons are rendered online above base features, enabling them to rotate and scale when viewport changes. A C++ library was created as the result of this work. It works on both iOS and Android, whith possibility to port to other platforms (the largest requirement being OpenGL ES support). While there are already countless other map libraries out there, my work has clearly defined features that no other library fully meets. This library should become an easy to implement solution for individuals/companies developing mobile applications for multiple platforms.
Ladislav Mošner
Speaker recognition, Microphone arrays, Beamforming, Room impulse response
Zpracování zvuku
This paper addresses the problem of remote speaker recognition (SRE). Nowadays, systems working with signals from close-talking microphones yield very good results. However, in the case of remotely obtained data, their accuracy decreases considerably. Therefore, we explore the applicability of microphone arrays for recovery from errors of SRE system introduced by the room reverberation, where microphone arrays are purposely positioned set of microphones. We discuss two approaches which are both based on microphone arrays -- beamforming (delay-and-sum) for enhancement of the input signals and the retraining of the SRE system components with the beamformed data. By the combination of both techniques, we have achieved significant improvement of accuracy in comparison with the results obtained with the single-microphone recordings.
Roman Sichkaruk
FFmpeg, graf filtrů, avfilter
Uživatelská rozhraní
Tento článek se zabývá tvorbou grafického uživatelského rozhraní pro tvorbu grafů filtrů FFmpeg. Tento nástroj pro framework FFmpeg chybí. K řešení je použit multiplatformní framework Qt. Výsledkem je ucelený nástroj umožňující uživateli tvorbu, editaci, ukládání a mazání grafů filtrů s možností zobrazení náhledu jejich vlivů. Zaměřuje se přímo na filtry videa. Aplikace je vhodná ke zjednodušení a urychlení seznámení a práce s grafy filtrů FFmpeg.
Martin Vondráček
Man-in-the-Middle attack, accessing secured wireless networks, password cracking, dictionary personalization, tampering network topology, impersonation, phishing
Bezpečnost Počítačové sítě
Widely used network technologies and principles of wireless security suffer weaknesses that can be exploited to perform the Man-in-the-Middle attack, allowing to eavesdrop or to spoof the network communication. The work focuses on possibilities of automation of the attack with a utilization of available specialized tools. The outcome of the research is the wifimitm package and the wifimitmcli CLI tool, both implemented in Python. The emphasis was placed on possibilities of further incorporation of the developed tool. The package provides functionality for automated MitM attack and can be used by other software. The wifimitmcli tool is capable of performing a successful fully automated attack without any intervention from an attacker. This research can be used for automated penetration testing and forensic investigation. Finally, a popularization of the fact that such severe attacks can be successfully automated should be used to raise the public awareness about the information security. In these days, this issue involves almost every one of us.
Martin Belica
Software defined radio, SDR, analýza signálov, DVB-T tuner
Návrh software
Táto práca sa zaoberá problematikou detekcie a analyzovania rádiových signálov pomocou DVB-T USB tunera. Na analýzu signálu je nutné najskôr nejaký signál zachytiť, v tomto prípade pomocou USB tunera. Ďalej sa nad zachyteným signálom aplikujú rôzne metódy, ktoré nám poskytnú potrebné informácie o danom signále. Základom analýzy je diskrétna Fourierova transformácia, pomocou ktorej sa zobrazuje spektrum signálu. Ďalej sa aplikujú rôzne demodulačné a filtračné algoritmy, ktoré pomáhajú analyzovaný signál lepšie interpretovať užívateľovi.
František Vídeňský
Heraldika, Počítačové vidění, Sémantická segmentace, Konvoluční neuronové sítě, Histogram orientovaných gradientů, Aktivní kontury
Zpracování obrazových dat
Tento článek se zabývá rozpoznáváním rodových erbů jako celku, tak jeho jednotlivých součástí. Popisuje návrh a implementaci jednotlivých částí systémů, který dokáže nalézt v obraze rodový erb, provést jeho dekompozici na jednotlivé součásti a ty dále klasifikovat dle heraldických pravidel. Dosud nebyl vytvořen systém, který by výše zmíněné funkce umožňoval. Tento článek představuje metody, pomocí kterých lze jednotlivé funkce implementovat a výsledný systém je možné použít jako pomocný nástroj v historických nebo pomocných historických vědách.
Monika Mužikovská
ANaConDA, Dynamická analýza, Parametry funkcí, Práce se soubory
Návrh software
Paralelní programy jsou náchylné ke specifickým a těžko odhalitelným chybám. Framework ANaConDA poskytuje podporu pro dynamickou analýzu, což je jedna z úspěšných technik pro testování paralelních programů. Tento článek popisuje implementaci podpory pro analyzování funkcí a jejich parametrů, jelikož se jedná o nedílnou součást každého programu a bez daných informací se při testování programů téměř nemůžeme obejít. Cílem rozšíření je zjednodušit tvorbu analyzátorů, které ke své práci potřebují informace o volání funkcí, o zadaných argumentech i návratových hodnotách. Protože framework ANaConDA provádí analýzu programu na binární úrovni, je získávání těchto informací značně obtížné. Pro demonstraci celé problematiky bude popsán analyzátor pro kontrolu práce se soubory, který využívá implementovaná rozšíření. Tato práce je prototypové řešení problému, protože v současné době ještě neexistuje podpora pro všechny datové typy (např. uživatelské objekty) a pro reálné nasazení je také potřeba ověřit správnost funkcionality na různých platformách.
Richard Granec
Správca scenárov, Letecký simulátor, NoSQL, Redis, Scenáre riadiace
Uživatelská rozhraní
Cieľom tejto práce je vytvorenie nástroja pre správu scenárov bežiacich na pozadí leteckého simulátora. Úlohou týchto scenárov je možnosť prispôsobiť prostredie leteckého simulátora a v konečnom dôsledku aj celý let pre jeho kontrétne využitie najmä pri testovaní zručností pilota alebo nového technického vybavenia. Riešenie pozostáva z komunikačnej aplikácie, ktorá komunikuje so simulátorom a získané dáta odosiela na NoSQL server, a správcu scenárov, ktorý zvolený scenár spustí a zaznamenáva jeho činnosť. Pre výber konkrétneho scenára a jeho následnú kontrolu slúži webové grafické rozhranie. Takto vytvorený softvér bol testovaný a následne bude využívaný aj leteckým odvetvím firmy Honeywell.
Vratislav Hais
InfiSpector, Infinispan, Kafka, Druid, Data, Network, Cluster, Message, Charting
Webové technologie
Project InfiSpector is developed with an intention to be a helpful inspection tool for Infinispan developers (NoSQL caching solution, distributed key-value store) during cluster debugging process. In a problematic situations, manual checking of huge textual logs is too demanding, time consuming and issues can be missed easily. InfiSpector displays cluster communication flows graphically so it helps users to understand and visually see what is happening inside of a cluster. Our primary goal is to help in situations where user could be able to see problematic cluster behaviour at the first spot (e.g. congested traffic at the beginning, no traffic in specific time period, etc.)
Mário Kuka
DCPro, (D)DoS Protector, COMBO, CESNET, hardvérová akcelerácia, FPGA, vysokorýchlostné siete, 100 Gbps
Počítačová architektura a vestavěné systémy Počítačové sítě
Táto práca sa zaoberá vývojom firmvéru hardvérovej akcelerácie pre zariadenie na ochranu pred amplifikačnými (D)DoS útokmi. V dnešnej dobe sú útoky typu (D)DoS veľmi rozšírené a zapríčiňujú nemalé finančné škody. Cieľom je preto vytvoriť cenovo dostupné a ľahko nasaditeľné centralizované zariadenie na riešenie daného problému. K dosiahnutiu tohto cieľu využíva zariadenie hardvérový akcelerátor umožňujúci spracovávať vysoké dátové prenosy prostredníctvom jedného, bežne dostupného, serveru. Návrh a implementácia firmvéru je uskutočnená s ohľadom na použitie zariadenia v sieťach s rýchlosťami 100\,Gbps. Celý systém prešiel funkčnou verifikáciou a v rámci laboratórneho testovania bola overená jeho reálna priepustnosť. Vytvorené zariadenie je aktuálne nasadené v sieťovej infraštruktúre CESNET a testované sieťovými administrátormi. Na základe spätnej väzby bude na vytvorenom zariadený pokračovať ďalší vývoj zameraný na rozširovanie detekcie o ďalšie typy útokov. O zariadenie aktuálne prejavili záujem aj niektorí z českých komerčných poskytovateľov sieťových služieb.
Ondřej Zemánek
Odhad vzdálenosti z obrazu, Kaskádový klasifikátor, Rozpoznávání vozidel z obrazu, Kalibrace kamery
Zpracování obrazových dat
Cílem tohoto projektu je mobilní aplikace pro systém Android, která by pomohla s předvídáním rizika srážky při nebezpečném snižování rozestupu vozidel. Aplikace sleduje rozestup vozidel a při náhlé změně rozestupů upozorní řidiče zvukovým signálem. Predikce probíhá detekcí vozidel pomocí natrénovaného kaskádového klasifikátoru a následné kontrolou rozestupu vozidel z obrazu kamery mobilního telefonu. Odhad rozestupu je vyhodnocován na základě znalostí parametrů kamery, průměrných rozměrů vozidel,velikosti detekovaného vozidla a případně velikosti registrační značky, jejíž detekce probíhá v oblasti snímku, která je klasifikátorem nejlépe klasifikována jako vozidlo. Pro rozpoznávání vozidel pomocí kaskádového klasifikátoru byla vytvořena trénovací datová sada. Samotná práce se pak zaměřuje na pět hlavních problémů – vytvoření datové sady vozidel, trénování kaskádového klasifikátoru pro klasifikace vozidel v obraze, odhad rozestupu vozidel, sledování rozestupu vozidel a vyhodnocení odhadu rozestupu a klasifikace.
Pavel Hájek, Radek Vopálenský
doprava, detekce, sledování objektů, kalibrace, klasifikace, rychlost, Docker, ROS, FFmpeg, OpenCV
Zpracování obrazových dat Počítačová grafika
Cílem této práce je navrhnout a implementovat systém pro analýzu dopravy v robotickém operačním systému. Systém postupně detekuje a sleduje vozidla v obraze. Projíždějícím vozidlům je měřená aktuální rychlost a po opuštění ze scény je automobil klasifikován (značka a typ). Pro měření rychlosti je potřeba nejdříve zkalibrovat video. Tento článek popisuje návrh systému a řešení jednotlivých problémů. Tento systém je vyvíjen autory článku na základě spojení jejich diplomových prací.
Matěj Šoc
Spotřeba paliva, Průtokoměr, Arduino
Počítačová architektura a vestavěné systémy
Tato práce se zabývá návrhem a implementací systému pro měření a profilování spotřeby paliva motocyklu v závislosti na zeměpisné poloze. Systém byl implementován na desce Arduino MEGA 2560. K měření spotřeby je použit palivový průtokoměr, tudíž je navržený systém použitelný pro jakýkoli motocykl. Součástí systému je také aplikace, která uživateli nabízí přehlednou interpretaci naměřených dat. Navržený systém provádí přesná měření spotřeby paliva a rychlosti. S drobnými úpravami může být uveden do praxe.
Gabriel Bordovský
Paralellization, Vectorization, CUDA, Fracture Test, Simulation
Počítačová architektura a vestavěné systémy Paralelní a distribuované výpočty
Simulations of different physical phenomena such as spreading of heat or gravitation forces are highly time-consuming with the current technology. This paper describes computer fracture test simulation of quasi-brittle materials. The main aim is to reduce time of the simulation by effectively using given resources as CPU and GPU. The existing code created by Faculty of Civil Engineering was analyzed and the bottleneck of simulation was found. An analysis by Alinea Map showed that 60% of CPU work is in one line of the code. Even work done by a single line of code had to be refactored to get better performance. Vectorization, parallelization and loop unroll is used in this work to maximalize performance on CPU. GPU code was analyzed too. Main problem was found in the nonaligned access to the input data and in the need of exclusive write of the output data. Original source code can process 10 millions of iteration by one thread in 463 minutes. The CUDA realization processes same amount of iteration in 100 minutes. The optimalised code described in this paper processes the same amount of iteration in 120 minutes on one thread and in 21 minutes with the use of eight physical CPU cores. Comparison of GPU and CPU solutions are often fogged by the fact that the CPU realization does not use resources effectively. This work shows that some problems may be solved easier and potentially cheaper on CPU. The cost of required hardware may be lower because current CPU solution waits on main memory. Because of that, processors with lower frequency are sufficient.
Tomáš Sýkora
Robot navigation, Objects recognition, Objects seeking, Objects detection
Zpracování obrazových dat Robotika a umělá inteligence
The goal of this project was to create a software for an autonomous mobile robot capable of navigation in indoor scenarios and of detection and recognition of the objects on its way. The most important condition which had to be met in the final solution was to find the cheapest solution possible. I achieved the given goal and its conditions using an open source software framework Robotic Operating System (ROS) and its tools. It allowed me to replace often used but quite expensive robot hardware parts with just one relatively cheap depth sensor. The final system is a set of ROS modules communicating with each other, using a simple sensor as an input data stream and a small motor which is able to send information about its velocity and rotations to the control part of the system. This mobile robot can, without any significant problems, navigate through a mapped area while it tries to find trained objects. Such a robot could be easily used to help retired or disabled people, to cooperate with industry workers or in many other fields. Of course, the robot would have to be equipped with specific mechanical parts, depending on the requirements of the specific problem.
Jan Pawlus
Cognitive training, ADHD therapy, Neurofeedback alternative
Počítačová architektura a vestavěné systémy
This paper is focused on exploring new techniques of therapy, training or diagnostics people who have various problems with cognitive functions - reactions, attention deficit or visual memory. This can cover a large group of people - from ADHD kids to people dealing with stroke consequences. The methodology used here is based on interaction with both a real world item and a mobile application where the user has to pay attention to a light, which changes its color, and react to it using the application. This system is accomplished by setting up an Arduino controller that is connected to a phone or a tablet via Bluetooth. After receiving a command from the phone, the controller then sends a radio frequency signal to the light. Therefore, the application can measure the user's reaction time, which is necessary for keeping track with the therapy process or categorizing the user when being diagnosed with a cognitive problem.
Adam Červenka
Refotografie, Android, OpenCV, 3D rekonstrukce, Real-time aplikace
Zpracování obrazových dat
Pořizování fotografií podle historických snímku je předmětem zájmu jak pro fotografy, tak i~badatele a~výzkumníky. Tímto způsobem lze pozorovat vývoj místa, případně jeho okolí, v~časovém rozmezí. Problém nastává v~případě nalezení stejného pohledu jako u referenčního snímku. Nalezení totožného pohledu se obvykle řeší jen manuálně. Fotografové se v~takovém případě musí spoléhat na odhad a~fotografický um. Tento způsob může být nepřesný, a~pro fotografa značně nepohodlný. Řešením může být algoritmus pro výpočet refotografie. Samotný proces refotografie přináší z~pohledu počítačového vidění mnoho problémů a~překážek. Už samotná historická fotografie představuje hned několik komplikací. Referenční fotografie je pořízená na neznámém fotoaparátu nebo referenční místo může být příliš změněné. Mohou zde být také jiné faktory, které porovnání referenčního a~aktuálního snímku komplikují. K řešení zmíněných problémů byly využity znalosti 3D rekonstrukce scény a postupy z oboru počítačového vidění za využití knihovny OpenCV. Návrh aplikace, zvolené postupy a~algoritmy vychází z~článku Computational rephotography, který se touto problematikou refotografie zabývá. Cílem práce je poskytnout uživateli navigace na pozici historického fotoaparátu.
Václav Stránský
detekce obsazenosti parkoviště, detekce automobilů, hluboké neuronové sítě, model pozadí
Zpracování obrazových dat
Práce se zabývá návrhem a implementací robustního systému pro analýzu obsazenosti jednotlivých parkovacích míst na parkovišti ze záznamů z více-kamerového systému s možností překryvu mezi kamerami. Systém je navržen a implementován v Robotickém operačním systému (ROS) a jeho jádro se skládá ze dvou oddělených klasifikátorů. Úspěšnější, avšak pomalejší, je detekce pomocí hluboké neuronové sítě. Rychlou interakci řeší méně přesný klasifikátor pohybu s modelem pozadí. Systém je schopen fungovat v reálném čase, a to na grafické kartě i na procesoru. Úspěšnost systému na testovací datové sadě z reálného provozu jednoho parkoviště přesahuje 93%. Ke konceptu chytrých měst neodmyslitelně patří efektivní parkovací řešení stavící na znalosti obsazenosti jednotlivých parkovacích míst. Tato práce popisuje právě takový systém, který výrazně usnadní orientaci na parkovišti, a to s velmi dobrou úspěšností.
Dominika Klobučníková
formal languages, normal forms, Kuroda, Penttonen, syntax analysis, CYK, CKY, Cocke-Younger-Kasami
Formální jazyky a automaty
This paper deals with the topic of context-sensitive grammars as special cases of unrestricted grammars, their normal forms and applications of these normal forms. It presents an algorithm designed using the principles of Cocke-Younger-Kasami algorithm to make a decision, whether an input string is a sentence of a context-sensitive grammar. The final application, which implements this algorithm, works with context-sensitive grammars in Penttonen normal form.
Jana Vyroubalová
LIDAR, stereo camera, mapping, least squares plane, sensors fusion, disparity map, ground plane detection
Robotika a umělá inteligence
LIDAR (2D) has been widely used for mapping and navigation in mobile robotics. However, its usage is limited to simple environments. This problem can be solved by adding more sensors and processing these data together. This paper explores a method how measurements from a stereo camera and LIDAR are fused to dynamical mapping. An occupancy grid map from LIDAR data is used as prerequisite and extended by a 2D grid map from stereo camera. This approach is based on the ground plane estimation in disparity map acquired from the stereo vision. For the ground plane detection, RANSAC and Least Squares methods are used. After obstacles determination, 2D occupancy map is generated. The output of this method is 2D map as a fusion of complementary maps from LIDAR and camera. Experimental results obtained from Willow Garage Stereo and Hokuyo UTM-30LX Laser are good enough to determine that this method is a benefit, although my implementation is still a prototype. In this paper, we present the applied methods, analyze the results and discuss the modifications and possible extensions to get better results.
Kamil Jeřábek
InterNetwork Architecture, RINA, RINA Simulator, OMNeT++
Počítačové sítě
Recursive InterNetwork Architecture yields a completely different approach of communication and manipulation of objects in distributed applications. Instead of passing objects directly between nodes, manipulates with them locally in RIB. This paper is focused on the meaning and description of the key components RIB Daemon and Resource Information Base that are responsible for handling of application objects within Distributed Application Facility. Contribution of this work is to extend the functionality of the RINA Simulator, by all the components cooperating in Distributed Application Facility. Mainly the two mentioned modules, and appropriate programming interface for creating distributed applications based on RIB Based Programming model.
Tomáš Paulus
motivation, learning, excellence
Webové technologie Informační systémy
College life can be pretty stereotypical which leads to smaller engagement in university topics and study in general. Students biggest goal at the university is to get an title from their Alma Mater. The goal is 5 years away which leads to decrease in inner motivation of the student to finish the school and get their title. This work divides college life and students 5 years goal into smaller pieces and goals to motivate them to study and become a professional in their main specialization by tracking their study logs and showing them their study progress. Application affects their inner motivation by comparing their results and working time with other students at the university.
Jakub Gabčo
Android, Diabetes, Monitoring
Uživatelská rozhraní
V súčasnej dobe sa všetky procesy automatizujú a presúvajú sa na menšie zariadenia. Mnoho diabetikov používa namiesto predpísaných diabetických záznamníkov aplikácie na mobilných zariadeniach, ktoré pomáhajú v zlepšení a zjednodušení práce s diabetom. Ako diabetik viem, že zjednodušenie monitorovania, uľahčí diabetikovi jeho život s diabetom. Mnoho aplikácii sa o to snaží, avšak sú komplikované a neprehľadné. Táto práca sa venuje analýze existujúcich aplikácií a ich porovnaniu. Následne je popísaný návrh takejto aplikácie a jej implementácia. Riešenie je overené vzorkou testerov a vydané do produkcie.
Silvia Janíková
Webová aplikácia, Sledovanie postupu, Produktivita
Webové technologie
Táto práca sa zaoberá problémom sledovania postupu práce v rôznych oblastiach s možným zvyšovaním produktivity. Vyššiu produktivitu je možné dosiahnuť rozdelením problému na menšie časti, zaznamenávaním dosiahnutých cieľov v daných častiach, sebahodnotením. Za týmto účelom vznikla webová aplikácia s jednoduchým užívateľským rozhraním, ktorá umožňuje prehľadné sledovanie pokroku v rámci skupiny užívateľov. Článok sa zaoberá návrhom užívateľského rozhrania webovej aplikácie, možnosťami realizácie takéhoto návrhu a jej implementáciou pomocou webového frameworku Django.
David Spilka
Diplomové práce, Bakalářské práce, Projekty, Vedení, Webová služba
Webové technologie Informační systémy
Tato práce se zabývá návrhem a vývojem webového systému pro podporu vedení diplomových prací. Cílem webové aplikace je usnadnit vedoucím diplomových prací či projektů jejich práci. Aplikace vedoucím umožňuje mít přehled o aktivitě studentů prostřednictvím týdenních reportů. Studentům nabízí možnost plánování činnosti, spolupráce a sdílení informací a také motivace. Dále systém vedoucím nabízí správu konzultačních hodin a studentům, a nejen těm, možnost přihlašovat se na vypsané termíny těchto konzultací. Systém je napsaný v programovacím jazyce PHP s využitím frameworku Nette.
Roman Andriushchenko
Markov models, probabilistic model checking, approximation techniques, adaptive aggregation
Modelování a simulace Formální metody
Markov models are widely used in many areas of science and engineering in order to evaluate the probability of certain events of interest. Quantitative analysis of such models typically proceeds through numerical methods or simulation-based evaluation. Since the state space of the models can often be large, several approximation techniques have been proposed. For various systems, level of precision affects the soundness of verification results, so accurate quantification of approximation error is crucial. In this work we focus on adaptively-driven aggregation technique and evaluate its key performance aspects. The key contribution of this work is improving aggregation strategy and the theoretical bounds on the approximation error. Our technique leads to up to 3 orders of magnitude precision improvement over existing methods and allows one to analyse larger models with a higher accuracy.
Jan Kadeřábek
Kaskádový klasifikátor, Mapování dopravního značení, Palubní kamera
Zpracování obrazových dat
Podél veřejných komunikací se nachází velký počet dopravního značení. Nikde však nejsou dostupné souhrnné informace o jeho rozmístění. Vědět, kde je jaká značka je důležité například pro navigační systémy, ale může to být zajímavá informace pro veřejnou správu nebo i běžné občany. Proto se tato práce zabývá analýzou záznamu z palubní kamery, kdy se snaží všechny tyto informace z pořízeného záznamu získat. Pro popsané účely je využíván kaskádový klasifikátor, který umožňuje rychlou detekci dopravního značení. Následně je využívána klasifikace pomocí k-Nearest Neighbour, která slouží pro klasifikaci typu dopravního značení a případného získání hodnoty na nalezené značce. Práce je implementována v jazyce Python s využitím knihovny OpenCV pro podporu počítačového vidění. Výsledkem práce je program, který umožňuje zpracovat videozáznam a získat z něj uvedené informace, které lze dále využívat. Detekce dopravního značení dosahuje vysoké spolehlivosti a je tak možné pracovat s reálnými výsledky. Zpracované informace o dopravním značením je možné snadno vizualizovat na mapě a je možné je zveřejňovat k dalším účelům.
Petra Sečkařová
Java, Analýza, CFG, JBC
Programovací jazyky a překladače
Většina analýz vyhodnocujících kvalitu programů je odvozena od grafů toku řízení (Control Flow Graph -- CFG). Mezi tyto analýzy patři testování založené na modelech (model based testing), kde jsou grafy používány pro návrh testovacích případů. Ty vznikají z cest vyhledaných v CFG, které jsou později jednotlivě analyzovány jako souvislé sekvence instrukcí. Aby bylo možné další analýzu provádět co nejobecněji, je nutné, aby zkoumané instrukce patřily do některé z obecných instrukčních sad. Tato práce se zabývá extrakcí grafů toku řízení z bajkódu jazyka Java za současného překladu instrukcí do LLVM IR. Přesněji je v první fázi provedena identifikace základních bloků programu a z nich složeny odpovídající CFG. Ve druhé fázi jsou pak jednotlivé instrukce bajtkódu jazyka Java překládány do LLVM IR. Výsledný program dokáže získat grafy toku řízení z libovolného programu v Javě zadaného v jakékoli z jeho nejběžnějších forem (.jar archiv, .java nebo .class soubory). Korektnost extrakce byla testována na kódech obsahujících všechny obvyklé konstrukce jazyka Java, na nichž program funguje spolehlivě bez dalších omezení. Pro další analýzu nad instrukcemi přeloženými do LLVM IR je vhodné nastudovat si hranice a specifika provedeného překladu.
Jozef Zuzelka
Network Traffic Capture, Network sniffing, Network Application Identification
Operační systémy Počítačové sítě
Network traffic capture and analysis are useful in case we are looking for problems in our network, or we want to know more about applications and their network communication. This paper is aimed to describe the process of network applications identification that runs on the local host. The goal of this project is a multi-platform application that captures network traffic and extends it with recognized applications. Operations that can be done independently are parallelized to speed up packet processing and decrease packet loss. An application is being determined for every (both incoming and outgoing) packet. This is resource demanding process so to save time every identified application is stored in the cache with information about its socket. However, an application in the cache may close a connection at any time, so it's important to update the cache periodically. Finally, gathered information is saved to the end of pcap-ng file in special structure as the separate pcap-ng block.
Jiri Matyas, Milan Ceska, Vojtech Mrazek
Approximate computing, approximate arithmetic circuits, Cartesian genetic programming, SAT based fitness function evaluation, relaxed equivalence checking
Nekonvenční výpočetní techniky
We present a novel method allowing one to approximate complex arithmetic circuits with formal guarantees on the approximation error. The method integrates in a unique way formal techniques employed for approximate equivalence checking into a search-based circuit optimisation algorithm (Cartesian Genetic Programming). The key idea of our approach is to employ a novel search strategy that drives the search towards promptly verifiable approximate circuits. The method was implemented within the ABC tool and evaluated on functional approximation of multipliers (with up to 32-bit operands) and adders (with up to 128-bit operands). Within a few hours, we constructed a high-quality Pareto set of 32-bit multipliers providing trade-offs between the circuit error and size. This is for the first time when such complex approximate circuits with formal error bounds have been presented, which demonstrates an outstanding performance and scalability of our approach compared with the existing methods that have either been applied to synthesis of 8-bit multipliers or a statistical testing has been used only. Our approach thus significantly improves capabilities of existing methods and paves a~way towards an automated design process of provably-correct circuit approximations.
Michal Ormoš
simulácia, radar, matlab
Modelování a simulace
Ciel’om tejto práce, ako samotný názov napovedá je vytvorit’ simulátor, ktorý je schopný vo virtuálnom prostredı́ simulovat’ celý priebeh zachytávania signálu vyslaného z radaru, cez jeho zjednodušené odrazenie od objektu až po prijatie vracajucého sa signálu spat’ do radaru. Problém bol riešený v prostredı́ Matlab a to simuláciou trojrozmerného priestoru, ktorý obsahuje l’ubovolne rozmiestnené pohybujúce sa body, tie reprezentujú radar a objekty ktoré sleduje. V rámci tohto prostredia sa počı́tajú, zı́skavajú a spracuvávajú všetky potrebné dáta od vzdialenostı́, uhlov až po výpočty frekvencie a výkonu vracajucého sa signálu. Výsledkom celej práce je plnohodnotne nasimulované prostredie, ktoré demonštruje celý proces zachytenia objektu radarom a následne jeho zobrazenie v sprektograme, ktorý nesie informácie o objekte pred radarom.
Radim Podola, Jiří Pavela
Profilování, Operační paměť, C/C++, Datové Struktury, Vizualizace, Lineární Regrese
Programovací jazyky a překladače Návrh software
Chování programu z hlediska výkonu je důležitou, a pro některé třídy programů až kritickou stránkou běhu. V této práci se zaměřujeme na hledání výkonnostních chyb programu, jejich názornou interpretaci uživateli a nové efektní způsoby vizualizace spotřeby zdrojů. Práce se zaměřuje na dvě oblasti — správu operační paměti a časovou složitost operací nad datovými strukturami. Pro každý z problémů je vytvořena vlastní profilovací knihovna, která získává profilovací informace o výkonnostní stránce programu, a poté je interpretuje uživateli. Knihovny jsou navrženy jako snadno modifikovatelné a integrovatelné do komplexnějšího profilovacího nástroje, a zcela navzájem nezávislé. Při vizualizaci výsledků hledáme nové způsoby jejich interpretace pro názornější pohled na výkonnostní stránku programu, které mohou uživateli značně usnadnit nalezení výkonnostních chyb. Popisujeme zvolení principů kolekce dat vedoucí k minimální výpočetní režii profilování, a zároveň poskytující dostatečné množství užitečných informací.
Lukáš Petrovič
Dashboard, RTLS, Ovládací panel, Lokalizácia, Vizualizácia
Webové technologie Informační systémy
Cieľom tejto práce je vytvoriť aplikáciu, ktorá umožňuje vizualizovať historické dáta z polohových senzorov. Dáta sú získavané z uzavrených priestorov, akými sú napríklad obchody, telocvične alebo haly. Tieto dáta sú cenné, no bez ľahko použiteľnej vizualizácie, strácajú svoj potenciál. Správna vizualizácia umožňuje užívateľovi lepšie vyhodnotiť situáciu, ktorú tieto dáta reprezentujú. Výsledkom tejto práce je nástroj, s ktorým je užívateľ schopný jednoducho analyzovať dáta, získané v určitom časovom intervale. Pre potreby analýzy, poskytuje aplikácia viacero metrík, ktoré priraďujú týmto dátam špecifický účel. Dáta môžu byť reprezentované v grafoch, napríklad za účelom reprezentovať celkovú prejdenú vzdialenosť lokalizovaného objektu. Taktiež môžu byť použité v mapách, ktoré poskytujú dobrú reprezentáciu polôh vzhľadom k monitorovanej miestnosti. Všetky vytvorené vizualizačné prvky sú vložené do interaktívnych blokov. Tieto bloky tvoria takmer celý ovládací panel. S týmito blokmi je možné jednoducho manipulovať a s ich pomocou upravovať vytvorenú vizualizáciu.
Michal Bančák
Neuronová sieť, Long Short-Term Memory, Automatické generovanie, Jazykové modelovanie na znakovej úrovni
Robotika a umělá inteligence
Článok predstavuje prácu na automatickom generovaní poézie, pomocou Long Short-Term Memory rekurentnej neurónovej siete. Cieľom práce je vytvoriť aplikáciu, ktorá imituje písanie básní. Jedná sa o jazykové modelovanie na úrovni znakov v slovenskom jazyku. Model neurónovej siete použitý v práci sa skladá z dvoch vrstiev LSTM so 400 skrytými jednotkami. Pre prácu bol vytvorená zbierka básní v slovenskom jazyku vo veľkosti 900k znakov. Výsledkom práce je generovanie textu, ktorý má prvy básne.
Matúš Bako
Gomoku, Neurónové siete, Umelá inteligencia
Robotika a umělá inteligence
V mojej práci sa zaoberám vytvorením umelej inteligencie, ktorá dokáže hrať hru Gomoku, veľmi podobnú hre piškvorky. Narozdiel od konvenčných metód prehľadávania stavového priestoru a ručně definovaných pravidiel kombinujem stochastické prehľadávanie s konvolučnými neurónovými sietami. Strategická neurónová sieť určuje najpravdepodobnejší ťah pri danej konfigurácii a ohodnocovacia sieť určuje pravdepodobnosť výhry. Vyhodnotil som rôzne architektúry sietí a rôzne zpôsoby trénovania. Z experimentov vyplinulo, že bez použitia ohodnocovacej siete je problematické zakončiť hru. Napriek relatívne malej množine trénovacích dát je mnou vytvorená umelá inteligencia schopná konkurovať nižšie umiestneným umelým inteligenciám zo súťaže Gomocup.
Olena Pastushenko
UX graphs, Data visualization, Vue.js / D3.js library, Informational Dashboards
Webové technologie Uživatelská rozhraní
The goal of this project is to create a new JavaScript library, which would contain reusable components for graphs creation. The main challenge is not only to visualize the data on a graph, but also to increase UX of interaction with a final product. And on the other hand - to allow programmers to add new widgets quickly and with minimum input needed. The theoretical part of the project is about defining correct data visualization principles, based on how human brain perceives information. Such principles are fundamental and do not rely on some web development trends, that’s why they should be always followed. Most of the existing tools for manipulating with graphs or dashboards offer too many options, and so it is difficult to achieve the best possible representation. UXgraph is a Vue.js library which solves the problem by creating a set of predefined components, which already have default settings. So a programmer needs to connect a dataset, and specify properties only when relevant. At the current stage, several graphs are implemented as independent components and published on a GitHub as an open-source project. More graphs will be added at the next stage. This paper also describes a real life usage example of the library, as the part of the web application for dashboards construction.
Jan Jedlička
Webová aplikace, mapa, longboard
Uživatelská rozhraní
Tato práce si klade za cíl zjednodušit hledání vhodného místa pro jízdu na longboardu. Místa vhodná k provozování tohoto sportu jsou vzácná. Z mého průzkumu vyplývá, že přes 80% longboardistů má svá oblíbená místa, ale považuje jejich hledání za složité. Je potřeba kvalitního povrchu, přiměřeného sklonu, nízkého provozu aut a podobně. Na sociálních sítích jsou početné skupiny lidí věnujících se longboardingu, avšak neexistuje stránka, na které by mohli svá oblíbená místa sdílet s ostatními. Je tedy potřeba stránky, která jim to umožní. Tento článek popisuje řešení tohoto problému a jeho implementaci.
Marek Majer
Generating Music, Sequence modeling, Neural Networks, LSTM
Robotika a umělá inteligence
In this paper, we will teach computer to generate music sequences. We do this by modeling the probability of music sequences by a recurrent neural network and then sampling consecutive frames from the learned distribution. By further adjusting parameters of neural network we have managed to get 9.5 loss on validation data. Accuracy of the network was 0.15 with dropping out units at rate p = 0.4, which is in real usage higher, because of strict accuracy function. Work with neural networks led to creation of NeuralPiano, an application for desktops, that allows user to generate new music.
Jan Svoboda
Grammatical Evolution, Test Driven Development, Artificial Intelligence
Robotika a umělá inteligence Programovací jazyky a překladače
Test driven development is a widely used process of creating software products with automated tests. In this process, developers first write tests based on given specifications and then proceed to write as little production code as possible that passes the tests. This work focuses on automating the second part using grammatical evolution i.e. a technique that generates programs in arbitrary language based on the specified cost function. The resulting system is able to create simple functions in an imperative programming language based on unit tests. Generated code contains common constructs such as command sequences, conditional branches, and loops. The system is demonstrated on evolving the array_filter function from tests describing its inputs and outputs. This approach could shift the role of developers, whose work would no longer involve thinking about implementation details. Instead, they would focus on formalizing high-level specifications.
Ondřej Blucha
Detekce obličejů, Charakteristické body v obličeji, Určení úhlů natočení hlavy
Zpracování obrazových dat
Cílem této práce je vytvořit program, který bude schopen ze vstupního videa určit úhly natočení hlavy vůči kameře. Samotné určení natočení hlavy se skládá ze tří samostatných částí, a to z detekce obličeje, určení charakteristických bodů v obličeji a nakonec určení samotného natočení hlavy na základě detekovaných charakteristických bodů. Detekce obličeje je založená na algoritmu Viola-Jones. Charakteristické body jsou detekovány pomocí metody Active Appearance Model. Výsledné natočení hlavy je určeno na základě antropometrických vlastností hlavy.
Martina Kůrová
výkonnostní testování, regresní analýza, detekce anomálií
Testování, analýza a verifikace hardware Databáze a data-mining
Práce se zabývá analýzou dat naměřených behěm výkonnostního testování s cílem rozeznat ve výsledcích podezřelé hodnoty a identifikovat často se vyskytující výkonnostní problémy. Užitím statistických metod, jako je například regresní %nebo shluková analýza, je provedena analýza výsledků, identifikace výkonnostních problémů a výsledkem je report o celkovém stavu systému z hlediska jeho výkonu. Uživatel se dozví, ke kterým potencionálním výkonnostním problémům mohlo dojít a jak moc velké riziko představují. Implementací regresní analýzy je možné detekovat výkonnostní problémy jako jsou například zhoršující se reakční čas odpovědi, nízká propustnost systému či odhalit únik paměti. Hlavním posláním práce je napomoci vývojářům k jednodušší analýze reportů z výkonnostního testování a tak urychlit potřebnou dobu vynaloženou právě na tuto, často opomíjenou, část životního cyklu software. Implementovaný mechanismus obohatí report o vyhodnocení stability systému - jeho stavu z hlediska výkonu.
Michal Kotoun, Michal Charvát
Static Analysis Framework, Verification, C, C++, LLVM, Predator, Symbolic Memory Graphs, Abstract Interpretation
Návrh software Formální metody
Creating a software verification tool is a complex task: Source parsing, instruction representation, value abstraction, user interface, ... the analysis itself. Therefore, it was decided to create a static analysis framework to free analysis implementers of all the unnecessary wheel reinventing. We propose a general design of the framework with a primary focus on usability, having a work-in-progress implementation of the framework and model analysis based on Symbolic Memory Graphs. The programming language of choice is C++ with LLVM serving as the front-end for parsing the source code of analysed program. We aim to surpass Predator implementation of Symbolic Memory Graphs in the means of abstraction precision and to prove usefulness of this framework, with hopes that it will attract more people to work on static analysis and verification.