Vizuální sledování skupiny robotů
Visual tracking of multiple robots
bachelor thesis (DEFENDED)
View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/109064Identifiers
Study Information System: 210037
Collections
- Kvalifikační práce [11242]
Author
Advisor
Referee
Obdržálek, David
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Programming and Software Systems
Department
Department of Theoretical Computer Science and Mathematical Logic
Date of defense
5. 9. 2019
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
Czech
Grade
Very good
Keywords (Czech)
OpenCV, Ozobot, sledování, počítačové vidění, mřížkaKeywords (English)
OpenCV, Ozobot, tracking, Computer Vision, gridCílem této práce je vytvořit program, který je schopný z obrazu z fixní webkamery poznat mřížku na papíře jako graf a následně sledovat skupinu Ozobotů, jak po ní jezdí. Dřívější práce s Ozoboty se zabývaly multiagentním hledáním nejkratších cest. Tato práce je první, která se zabývá jejich detekcí v obrazových datech. Využívám k tomu knihovnu OpenCV a programovací jazyk Java. Vytrénováním vlastní kaskády pro použití v kaskádovém klasifikátoru z OpenCV modulu objdetect jsem byl schopen dosáhnout kvalitní detekce Ozobotů v reálném čase. Detekce mřížky jako grafu funguje pomocí detekce čar na barevných přechodech v obraze a jejich následnému seskupování do čar v mřížce.
The aim of this thesis is to create a program which detects a grid on a paper in a fixed webcam image, converts the grid into a graph and then tracks a group of Ozobots as they traverse the grid. Earlier works with Ozobots used them to investigate Multi-Agent Pathfinding. This work is the first in exploring their detection in image data. To achieve that, I am using the OpenCV library and the Java programming language. By training my own cascade for use in a Cascade Classifier from the objdetect OpenCV module, I was able to achieve a good rate of Ozobot detection in real time. The grid detection works by detecting lines on the color transitions in the image and their subsequent grouping into lines in the grid.