#LyX 2.3 created this file. For more info see http://www.lyx.org/ \lyxformat 544 \begin_document \begin_header \save_transient_properties true \origin unavailable \textclass article \begin_preamble \usepackage{newpxtext,newpxmath} \end_preamble \use_default_options false \begin_modules theorems-ams theorems-sec eqs-within-sections figs-within-sections tabs-within-sections theorems-named \end_modules \maintain_unincluded_children false \language british \language_package default \inputencoding utf8 \fontencoding global \font_roman "default" "default" \font_sans "default" "default" \font_typewriter "default" "default" \font_math "auto" "auto" \font_default_family default \use_non_tex_fonts false \font_sc false \font_osf false \font_sf_scale 100 100 \font_tt_scale 100 100 \use_microtype false \use_dash_ligatures true \graphics default \default_output_format default \output_sync 0 \bibtex_command default \index_command default \paperfontsize default \spacing other 1.15 \use_hyperref true \pdf_bookmarks true \pdf_bookmarksnumbered false \pdf_bookmarksopen false \pdf_bookmarksopenlevel 1 \pdf_breaklinks false \pdf_pdfborder true \pdf_colorlinks false \pdf_backref false \pdf_pdfusetitle true \papersize a4paper \use_geometry false \use_package amsmath 2 \use_package amssymb 2 \use_package cancel 0 \use_package esint 1 \use_package mathdots 0 \use_package mathtools 0 \use_package mhchem 0 \use_package stackrel 0 \use_package stmaryrd 0 \use_package undertilde 0 \cite_engine basic \cite_engine_type default \biblio_style plain \use_bibtopic false \use_indices false \paperorientation portrait \suppress_date false \justification true \use_refstyle 0 \use_minted 0 \index Index \shortcut idx \color #008000 \end_index \leftmargin 0cm \rightmargin 0cm \secnumdepth 3 \tocdepth 2 \paragraph_separation indent \paragraph_indentation default \is_math_indent 0 \math_numbering_side default \quotes_style english \dynamic_quotes 0 \papercolumns 1 \papersides 1 \paperpagestyle default \tracking_changes false \output_changes false \html_math_output 0 \html_css_as_file 0 \html_be_strict false \end_header \begin_body \begin_layout Title AAR: Project Proposal \end_layout \begin_layout Author Casper V. Kristensen - 201509411 \begin_inset Newline newline \end_inset Alexander Munch-Hansen - 201505956 \end_layout \begin_layout Section Envisioned Use Case \end_layout \begin_layout Standard We wish to create an augmented reality multiplayer chess experience. Each player will be playing separately at their own chess board using their own physical pieces, while the opponent's pieces – which are not present physically – will be rendered through a see-through head mounted display like the Hololense. We envision the final product to look similar to this \begin_inset Foot status open \begin_layout Plain Layout \begin_inset Flex URL status open \begin_layout Plain Layout https://www.youtube.com/embed/Geyr95Nl8mc?start=4&end=23&autoplay=1 \end_layout \end_inset \end_layout \end_inset project by Günther et al. \begin_inset CommandInset citation LatexCommand cite key "Gunther:2018:CET:3170427.3188647" literal "false" \end_inset . \end_layout \begin_layout Section Actual Plan \end_layout \begin_layout Standard Instead of using a HoloLens, we can implement the system using a webcam and setup similar to that of the Augmented Reality course. We will utilise machine learning to recognise the board state from the camera image, which, most notably, involves identifying the different board pieces and their position on the board. \end_layout \begin_layout Standard To begin with, getting the system working from the perspective of a single user does not require being able to separate black and white pieces, since each player will only play using their own physical ones. Once a method for detecting a single colour has been developed, however, expanding the dataset to include the other one should be trivial. \end_layout \begin_layout Standard In addition to reducing the scope by colour, we will also start by implementing an algorithm for identifying only two or three different and easily distinguish able pieces like the pawn, knight, and king. Expanding the algorithm to the remaining pieces may prove difficult, since, for example, the original \begin_inset Foot status collapsed \begin_layout Plain Layout https://en.wikipedia.org/wiki/Staunton_chess_set \end_layout \end_inset pawn and bishop may look similar, in which case we will have to look into creating our own. \end_layout \begin_layout Standard Another issue is occluding the virtual pieces with the real ones, allowing for a seamless augmented reality experience. To utilise our knowledge from the previous course we would hope to use the Unity game engine for this task, however, as some OpenCV functionality is unavailable through the OpenCVForUnity module, we may have to use other frameworks for the object detection, and therefore also for rendering virtual objects, considering integration and operability. \end_layout \begin_layout Standard Lastly, as shown in the video by Günther et al., showing where each piece is allowed to move upon picking it up or pointing to it could increase the usefulness of the system, as well as the scope of the project, if there is time to do so. \end_layout \begin_layout Subsection Milestones \end_layout \begin_layout Enumerate Persuade lecturer or TA into letting us use cool new HoloLens rather than boring old webcam. \end_layout \begin_layout Enumerate Implement board detection and homography/warping. \end_layout \begin_layout Enumerate Gather initial dataset for 2-3 pieces of a single colour based on previous step and simple script. \end_layout \begin_layout Enumerate Implement and train machine learning algorithm for classification of pieces in reduced dataset. \end_layout \begin_layout Enumerate Virtual object rendering and occlusion between real and augmented pieces. \end_layout \begin_layout Enumerate Expand dataset to include both black and white pieces. \end_layout \begin_layout Enumerate Integration with open source chess engine to show player optimal move. \end_layout \begin_layout Standard \begin_inset Newpage newpage \end_inset \end_layout \begin_layout Standard \begin_inset CommandInset bibtex LatexCommand bibtex btprint "btPrintAll" bibfiles "bib" options "plain" \end_inset \end_layout \end_body \end_document