Bachelor's Thesis

Image processing for real game simulations

Final Thesis 4.2 MB Appendix 10.3 MB

Author of thesis: Bc. Petr Kobylka

Acad. year: 2024/2025

Supervisor: Ing. Jan Králík, Ph.D.

Reviewer: Ing. Martin Formánek

Abstract:

This bachelor's thesis addresses the design and implementation of a software system for automatic recognition of board game states from a camera image, enabling interactive play against a computer opponent. The system integrates computer vision methods for analyzing the game scene with game logic and artificial intelligence algorithms for three classic games: Gomoku, Checkers, and Chess. The detection of the game board utilizes a method based on ArUco markers, while game pieces are recognized through color filtration in the HSV space. The artificial intelligence for Gomoku is handled by a heuristic algorithm, Checkers employs the Minimax algorithm with alpha-beta pruning, and Chess utilizes integration with the extarnal Stockfish engine. A part of the system is the detection of the player's hand to prevent misinterpretation during piece manipulation. The resulting prototype demonstrates the functionality of the chosen concept and provides a platform for playing the implemented games. The thesis identifies the achieved results, discusses the limitations of the proposed solution, and suggests directions for future improvements.

Keywords:

computer vision, image processing, artificial intelligence, board games, object recognition, chess, checkers, tic-tac-toe, gomoku, python, ArUco, game algorithms, OOP

Date of defence

17.06.2025

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

Process of defence

Při obhajobě student nejprve prezentoval svoji bakalářskou práci, následně byly přečteny posudky a student odpovídal na dotazy oponenta. Poté byly členy komise položeny následující otázky: - Jaká je motivace vzniku této práce? - Celý min max algoritmus jste naprogramoval sám? - Je možné, aby algoritmus hrál sám proti sobě? - Jaké kroky jsou potřebné k implementaci na RPi? - Jakým způsobem využíváte stockfish? Na závěr byla obhajoba hodnocena jako výborná.

Language of thesis

Czech

Faculty

Department

Study programme

Mechatronics (B-MET-P)

Composition of Committee

doc. Ing. František Šebek, Ph.D. (předseda)
Ing. Petr Procházka, Ph.D. (místopředseda)
Ing. Pavel Krejčí, Ph.D. (člen)
doc. Ing. Stanislav Věchet, Ph.D. (člen)
Ing. Pavel Švancara, Ph.D. (člen)
Ing. Josef Vejlupek, Ph.D. (člen)
Ing. Jiří Keprt, Ph.D. (člen)
Ing. Jan Králík, Ph.D. (člen)

Supervisor’s report
Ing. Jan Králík, Ph.D.

Pan Kobylka se ve své práci zabývá úlohou zpracování obrazu za účelem kolaborativní práce demonstrované na příkladu hraní jednoduchých tahových her. Student v rámci práce detekuje pracovní plochu (herní desku), figurky (předměty zájmu), obsluhu a provedené akce.

V rámci práce byly zpracováván obraz z kamery a byly řešeny jednotlivé herní situace, kde u jednodušších her byly herní algoritmy zpracovány a u šachů byl herní algoritmus převzat a implementován. Tyto situace byly následně reálně ověřeny.

Na práci pracoval iniciativně a samostatně. Veškeré cíle práce byly splněny v požadovaném rozsahu, práci doporučuji k obhajobě a hodnotím známkou A, tedy výborně.
Evaluation criteria Grade
Splnění požadavků a cílů zadání A
Postup a rozsah řešení, adekvátnost použitých metod A
Vlastní přínos a originalita B
Schopnost interpretovat dosažené výsledky a vyvozovat z nich závěry A
Využitelnost výsledků v praxi nebo teorii A
Logické uspořádání práce a formální náležitosti A
Grafická, stylistická úprava a pravopis A
Práce s literaturou včetně citací A
Samostatnost studenta při zpracování tématu B

Grade proposed by supervisor: A

Reviewer’s report
Ing. Martin Formánek

Předložená bakalářská práce se zabývá návrhem a implementací softwarového systému, který z obrazu kamery rozpoznává aktuální stav deskové hry (piškvorky, dáma, šachy) a umožňuje interaktivní hru proti počítačovému protivníkovi. Autor systematicky postupuje od rešerše technik počítačového vidění a herních algoritmů až po návrh, implementaci a testování systému. V práci je patrná dobrá orientace v dané problematice.

Práce je vhodně strukturovaná, systematicky zpracovaná a obsahuje bohatý teoretický i praktický základ. Nicméně mám k práce pár výhrad. Textový popis implementace herních algoritmů je místy rozvláčný a pro popis by bylo vhodnější použít popis vývojové diagramy či pseudokód pro větší přehlednost. Taky není zcela jasné, zda byly algoritmy programovány autorem anebo převzaty formou hotových balíčků. Celý navržený SW je ovládán výhradně pomocí klávesnice, ale v textu chybí jasný popis ovládání. Pokud GUI neobsahuje žádné viditelné prvky pro interakci, bylo by vhodné alespoň stručně uvést, jak se program ovládá (např. seznam zkratek pro klávesy), případně přidat návod v příloze.

Navzdory drobným připomínkám považuji bakalářskou práci za velmi zdařilou, práce splňuje požadavky na tento typ práce. Autor prokázal schopnost propojit teoretické znalosti s praktickým řešením a vytvořit funkční systém s potenciálem pro další vývoj. Všechny body práce byli splněny v požadovaném rozsahu, po zodpovězení otázek práci doporučuji k obhajobě s hodnocením A-výborně.
Evaluation criteria Grade
Splnění požadavků a cílů zadání A
Postup a rozsah řešení, adekvátnost použitých metod A
Vlastní přínos a originalita A
Schopnost interpretovat dosaž. výsledky a vyvozovat z nich závěry B
Využitelnost výsledků v praxi nebo teorii A
Logické uspořádání práce a formální náležitosti A
Grafická, stylistická úprava a pravopis B
Práce s literaturou včetně citací B
Topics for thesis defence:
  1. Které části herních algoritmů jste implementoval sám a které jste případně převzal?
  2. Jak je řešeno která barva figurek patří hráči a s kterou pracuje herní engine?
  3. Plánujete v budoucnu vytvořený systém doplnit uživatelské rozhraní o prvky pro snadnější ovládání, např. tlačítka či menu?

Grade proposed by reviewer: A

Responsibility: Mgr. et Mgr. Hana Odstrčilová