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++.
Annotation in English
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++.
Keywords
Kilobot, OpenCV, C++, Python, DNN, Microsoft Visual Studio, Google Colab, Detekce objektů v obraze, Sledování bojektů v obraze
Keywords in English
Kilobot, OpenCV, C++, Python, DNN, Microsoft Visual Studio, Google Colab, Object detection, Object tracking
Length of the covering note
85 s.
Language
CZ
Annotation
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++.
Annotation in English
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++.
Keywords
Kilobot, OpenCV, C++, Python, DNN, Microsoft Visual Studio, Google Colab, Detekce objektů v obraze, Sledování bojektů v obraze
Keywords in English
Kilobot, OpenCV, C++, Python, DNN, Microsoft Visual Studio, Google Colab, Object detection, Object tracking
Research Plan
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.
Research Plan
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.
Recommended resources
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.
Recommended resources
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.
Enclosed appendices
1 CD ROM
Appendices bound in thesis
illustrations, tables
Taken from the library
No
Full text of the thesis
Appendices
Reviewer's report
Supervisor's report
Defence procedure record
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ě.