Práce popisuje možnosti OpenCV v oblasti detekce a sledování objektů v obraze pro účely experimentů s roboty typu Kilobot. Teoretická část se zaměřuje na popis vybraných metod pro detekci objektů v obraze, určení trajektorie, úhlů natočení a vzdálenosti od kamery, zejména pak na konvoluční neuronové sítě a algoritmus YOLO v5. V praktické části je popsáno trénování modelu YOLO v5 a výsledné řešení navržené open-source knihovny v jazyce C++.
Anotace v angličtině
The work describes the possibilities of OpenCV in the field of object detection and tracking for the purpose of experiments with Kilobots robots. The theoretical part focuses on the description of selected methods for detecting objects in the image, determining the trajec-tory, rotation angles and distance from the camera, especially on convolutional neural networks and the YOLO v5 algorithm. The practical part describes the training of the YOLO v5 model and the resulting solution of the designed open-source library in C++.
Klíčová slova
Kilobot, OpenCV, C++, Python, DNN, Microsoft Visual Studio, Google Colab, Detekce objektů v obraze, Sledování bojektů v obraze
Klíčová slova v angličtině
Kilobot, OpenCV, C++, Python, DNN, Microsoft Visual Studio, Google Colab, Object detection, Object tracking
Rozsah průvodní práce
85 s.
Jazyk
CZ
Anotace
Práce popisuje možnosti OpenCV v oblasti detekce a sledování objektů v obraze pro účely experimentů s roboty typu Kilobot. Teoretická část se zaměřuje na popis vybraných metod pro detekci objektů v obraze, určení trajektorie, úhlů natočení a vzdálenosti od kamery, zejména pak na konvoluční neuronové sítě a algoritmus YOLO v5. V praktické části je popsáno trénování modelu YOLO v5 a výsledné řešení navržené open-source knihovny v jazyce C++.
Anotace v angličtině
The work describes the possibilities of OpenCV in the field of object detection and tracking for the purpose of experiments with Kilobots robots. The theoretical part focuses on the description of selected methods for detecting objects in the image, determining the trajec-tory, rotation angles and distance from the camera, especially on convolutional neural networks and the YOLO v5 algorithm. The practical part describes the training of the YOLO v5 model and the resulting solution of the designed open-source library in C++.
Klíčová slova
Kilobot, OpenCV, C++, Python, DNN, Microsoft Visual Studio, Google Colab, Detekce objektů v obraze, Sledování bojektů v obraze
Klíčová slova v angličtině
Kilobot, OpenCV, C++, Python, DNN, Microsoft Visual Studio, Google Colab, Object detection, Object tracking
Zásady pro vypracování
1. Seznamte se se základními principy knihovny OpenCV se zaměřením na detekci objektů v obraze. 2. Navrhněte metodu automatické kalibrace obrazu a určení její vzdálenosti od podložky. 3. Navrhněte algoritmus pro detekci a sledování robota v obraze kamery. 4. Zaměřte se na možnosti určení vektoru natočení robota a sledování trajektorie. 5. Proveďte ukázkovou implementaci navržených algoritmů do podoby knihovny jazyka C/C++. 6. Experimentálně ověřte výslednou vytvořenou knihovnu.
Zásady pro vypracování
1. Seznamte se se základními principy knihovny OpenCV se zaměřením na detekci objektů v obraze. 2. Navrhněte metodu automatické kalibrace obrazu a určení její vzdálenosti od podložky. 3. Navrhněte algoritmus pro detekci a sledování robota v obraze kamery. 4. Zaměřte se na možnosti určení vektoru natočení robota a sledování trajektorie. 5. Proveďte ukázkovou implementaci navržených algoritmů do podoby knihovny jazyka C/C++. 6. Experimentálně ověřte výslednou vytvořenou knihovnu.
Seznam doporučené literatury
1. RUBENSTEIN, Michael, Christian AHLER a Radhika NAGPAL. Kilobot: A low cost scalable robot system for collective behaviors. In: 2012 IEEE International Conference on Robotics and Automation [online]. IEEE, 2012, 2012, s. 3293-3298 [cit. 2021-11-26]. ISBN 978-1-4673-1405-3. Dostupné z: doi:10.1109/ICRA.2012.6224638 2. RUBENSTEIN, Michael, Christian AHLER, Nick HOFF, Adrian CABRERA a Radhika NAGPAL. Kilobot: A low cost robot with scalable operations designed for collective behaviors. Robotics and Autonomous Systems [online]. 2014, 62(7), 966-975 [cit. 2021-11-26]. ISSN 09218890. Dostupné z: doi:10.1016/j.robot.2013.08.006 3. REINA, Andreagiovanni, Alex J. COPE, Eleftherios NIKOLAIDIS, James A. R. MARSHALL a Chelsea SABO. ARK: Augmented Reality for Kilobots. IEEE Robotics and Automation Letters [online]. 2017, 2(3), 1755-1761 [cit. 2021-11-26]. ISSN 2377-3766. Dostupné z: doi:10.1109/LRA.2017.2700059 4. VIRIUS, Miroslav. Programování v C++: od základů k profesionálnímu použití. Praha: Grada Publishing, 2018. Myslíme v.. ISBN 978-80-271-0502-1. 5. KAEHLER, Adrian a Gary R. BRADSKI. Learning OpenCV 3: computer vision in C++ with the OpenCV library. Sebastopol: O'Reilly, 2016. ISBN 978-1-4919-3799-0.
Seznam doporučené literatury
1. RUBENSTEIN, Michael, Christian AHLER a Radhika NAGPAL. Kilobot: A low cost scalable robot system for collective behaviors. In: 2012 IEEE International Conference on Robotics and Automation [online]. IEEE, 2012, 2012, s. 3293-3298 [cit. 2021-11-26]. ISBN 978-1-4673-1405-3. Dostupné z: doi:10.1109/ICRA.2012.6224638 2. RUBENSTEIN, Michael, Christian AHLER, Nick HOFF, Adrian CABRERA a Radhika NAGPAL. Kilobot: A low cost robot with scalable operations designed for collective behaviors. Robotics and Autonomous Systems [online]. 2014, 62(7), 966-975 [cit. 2021-11-26]. ISSN 09218890. Dostupné z: doi:10.1016/j.robot.2013.08.006 3. REINA, Andreagiovanni, Alex J. COPE, Eleftherios NIKOLAIDIS, James A. R. MARSHALL a Chelsea SABO. ARK: Augmented Reality for Kilobots. IEEE Robotics and Automation Letters [online]. 2017, 2(3), 1755-1761 [cit. 2021-11-26]. ISSN 2377-3766. Dostupné z: doi:10.1109/LRA.2017.2700059 4. VIRIUS, Miroslav. Programování v C++: od základů k profesionálnímu použití. Praha: Grada Publishing, 2018. Myslíme v.. ISBN 978-80-271-0502-1. 5. KAEHLER, Adrian a Gary R. BRADSKI. Learning OpenCV 3: computer vision in C++ with the OpenCV library. Sebastopol: O'Reilly, 2016. ISBN 978-1-4919-3799-0.
Přílohy volně vložené
1 CD ROM
Přílohy vázané v práci
ilustrace, tabulky
Převzato z knihovny
Ne
Plný text práce
Přílohy
Posudek(y) oponenta
Hodnocení vedoucího
Záznam průběhu obhajoby
Student odprezentoval výsledky své diplomové práce. Byly přečtené posudky vedoucího a oponenta a student odpověděl dotazy z posudků.
Dotazy komise:
doc. Kubalčík - Z čeho vznikl název Kilobot ?
Student odpověděl na doplňující dotazy komise a celkově vše splnil výborně.