Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf ·...

36
Bachelor Thesis Presentation Implementation of an Android app for the recording of Go games by tracking their state Tilman ADLER June 1, 2015 Pattern Recognition Lab (CS 5)

Transcript of Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf ·...

Page 1: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

Bachelor Thesis PresentationImplementation of an Android app for the recording of Go gamesby tracking their state

Tilman ADLER

June 1, 2015Pattern Recognition Lab (CS 5)

Page 2: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

Motivation

Detector PipelineOverviewPreprocessingDetection of Lines and PiecesExtrapolating the BoardPostprocessing

EvaluationImage SetDetection QualitySpeed

ConclusionOur ContributionFuture WorkLive Presentation

June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 2

Page 3: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

A Really Short Introduction to Go

• This is a 9x9 Go board (there’s also11x11, 13x13 and 19x19)

• Players alternately put pieces on theintersections

• The player with the most area wins

June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 3

Page 4: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

A Really Short Introduction to Go

• This is a 9x9 Go board (there’s also11x11, 13x13 and 19x19)

• Players alternately put pieces on theintersections

• The player with the most area wins

June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 3

Page 5: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

A Really Short Introduction to Go

• This is a 9x9 Go board (there’s also11x11, 13x13 and 19x19)

• Players alternately put pieces on theintersections

• The player with the most area wins

June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 3

Page 6: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

A Really Short Introduction to Go

• This is a 9x9 Go board (there’s also11x11, 13x13 and 19x19)

• Players alternately put pieces on theintersections

• The player with the most area wins

June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 3

Page 7: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

A Really Short Introduction to Go

• This is a 9x9 Go board (there’s also11x11, 13x13 and 19x19)

• Players alternately put pieces on theintersections

• The player with the most area wins

June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 3

Page 8: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

A Really Short Introduction to Go

• This is a 9x9 Go board (there’s also11x11, 13x13 and 19x19)

• Players alternately put pieces on theintersections

• The player with the most area wins

June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 3

Page 9: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

Reasons to Record Go GamesThe famous Ear-reddening Game of 1846

• This is the game after the 25thmove,...

• when black made a mistake, that putwhite in the lead.

• The game went on to move 126...

• when this ingenious move turned thegame and let the white player’s earsblush. No one but the players noticedwhat a good move it was.

Image CC-BY-SA 3.0 by Wikipediahttp://en.wikipedia.org/w/index.php?

title=Ear-reddening_game&oldid=640966258

June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 4

Page 10: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

Reasons to Record Go GamesThe famous Ear-reddening Game of 1846

• This is the game after the 25thmove,...

• when black made a mistake, that putwhite in the lead.

• The game went on to move 126...

• when this ingenious move turned thegame and let the white player’s earsblush. No one but the players noticedwhat a good move it was.

Image CC-BY-SA 3.0 by Wikipediahttp://en.wikipedia.org/w/index.php?

title=Ear-reddening_game&oldid=640966258

June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 4

Page 11: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

Reasons to Record Go GamesThe famous Ear-reddening Game of 1846

• This is the game after the 25thmove,...

• when black made a mistake, that putwhite in the lead.

• The game went on to move 126...

• when this ingenious move turned thegame and let the white player’s earsblush. No one but the players noticedwhat a good move it was.

Image CC-BY-SA 3.0 by Wikipediahttp://en.wikipedia.org/w/index.php?

title=Ear-reddening_game&oldid=640966258

June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 4

Page 12: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

Reasons to Record Go GamesThe famous Ear-reddening Game of 1846

• This is the game after the 25thmove,...

• when black made a mistake, that putwhite in the lead.

• The game went on to move 126...

• when this ingenious move turned thegame and let the white player’s earsblush. No one but the players noticedwhat a good move it was. Image CC-BY-SA 3.0 by Wikipedia

http://en.wikipedia.org/w/index.php?

title=Ear-reddening_game&oldid=640966258

June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 4

Page 13: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

Motivation

Detector PipelineOverviewPreprocessingDetection of Lines and PiecesExtrapolating the BoardPostprocessing

EvaluationImage SetDetection QualitySpeed

ConclusionOur ContributionFuture WorkLive Presentation

June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 5

Page 14: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

Overview

Most of the related work uses only line detection to find the board⇒ This is problematic for mobile applications

Our approach is to

• use line detection for finding intersections

• detect pieces, too, for intersections

• extrapolate the board from both

• classify intersections

June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 6

Page 15: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

PreprocessingSegmenting the board from the background

Segmenting the board from thebackground is useful for

• removal of noisy backgrounds

• improving detection speed

We use an adaptive threshold andconnected-component analysis forthis task

June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 7

Page 16: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

PreprocessingSegmenting the board from the background

Segmenting the board from thebackground is useful for

• removal of noisy backgrounds

• improving detection speed

We use an adaptive threshold andconnected-component analysis forthis task

June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 7

Page 17: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

PreprocessingSegmenting the board from the background

Segmenting the board from thebackground is useful for

• removal of noisy backgrounds

• improving detection speed

We use an adaptive threshold andconnected-component analysis forthis task

June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 7

Page 18: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

Detection of Linesusing Hough Lines Transformation

This approach is pretty straightforward:

• detect lines

• classify as horizontal/vertical

• intersect each horizontal witheach vertical

• remove duplicates

June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 8

Page 19: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

Detection of Linesusing the Line Segment Detector

Additional steps for LSDdetector

• filter short lines

• filter lines without parallels

• stitch lines

June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 9

Page 20: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

Detection of PiecesThresholding

To segment the tokens from thebackground we use thresholding

White pieces are a problem due to coloraberration⇒ Threshold in HSV space, usecombined results from saturation and huechannel

To detect the pieces we use HoughTransformation or fit rectangles aroundthe blobs and filter for squares

June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 10

Page 21: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

Detection of PiecesThresholding

To segment the tokens from thebackground we use thresholding

White pieces are a problem due to coloraberration⇒ Threshold in HSV space, usecombined results from saturation and huechannel

To detect the pieces we use HoughTransformation or fit rectangles aroundthe blobs and filter for squares

June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 10

Page 22: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

Detection of PiecesThresholding

To segment the tokens from thebackground we use thresholding

White pieces are a problem due to coloraberration⇒ Threshold in HSV space, usecombined results from saturation and huechannel

To detect the pieces we use HoughTransformation or fit rectangles aroundthe blobs and filter for squares

June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 10

Page 23: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

Extrapolating the Board

We finally fill the intersections by

• rotating intersections to be horizontal

• selecting 20 around the center

• building a model from them

• detecting orientation of model withRANSAC

• using orientation to extrapolate board

• using detected intersections to refineextrapolation

June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 11

Page 24: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

Postprocessing

We try to filter out invalid detection results. We consider results invalidif one intersection is

• outside the image

• or closer than 5px to each other.

We undo the cropping from the preprocessing step.

We smooth results over time: only if a token was detected in 5 of thelast 10 frames we count it as accurate.

June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 12

Page 25: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

Motivation

Detector PipelineOverviewPreprocessingDetection of Lines and PiecesExtrapolating the BoardPostprocessing

EvaluationImage SetDetection QualitySpeed

ConclusionOur ContributionFuture WorkLive Presentation

June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 13

Page 26: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

Image Set

• We took 101 photos with different lighting and backgrounds• 70 were used for empirical parameter optimization; 31 for testing

June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 14

Page 27: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

Detection QualityLine detection algorithms

Hough LSD FAST

Empty board Sensitivity 100% 30.3% 0.685%Precision 99.4% 94.2% 83.3%

Some pieces (7-13) Sensitivity 95.6% 11.4% 1.97%Precision 98.6% 91.2% 53.3%

Many pieces (27-34) Sensitivity 58.6% 9.02% 3.80%Precision 95.5% 94.0% 68.8%

Sensitivity and precision on our test set. We evaluated correct (≤ 15pxoff) intersections.

June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 15

Page 28: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

Detection QualityLine detection algorithms

0

0.2

0.4

0.6

0.8

1

Tokens on the board

Sen

sitiv

ity&

Pre

cisi

on

0

0.2

0.4

0.6

0.8

1

Tokens on the board

0

0.2

0.4

0.6

0.8

1

Tokens on the board

Sensitivity (light color filled circles) and precision (dark color filledcircles) per image in our test set.

June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 16

Page 29: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

Detection QualityPiece detection algorithms

Contour HOUGH

No pieces Sensitivity N/A N/APrecision 1 false positive N/A

Some pieces (7-13) Sensitivity 86.7% 75.90%Precision 98.6% 100%

Many pieces (27-34) Sensitivity 40.0% 70.6%Precision 99.2% 99.2%

Total Sensitivity 71.6% 71.6%Precision 97.8% 99.3%

Sensitivity and precision on our test set. We evaluated correct (≤ 15pxoff) piece location and roughly correct piece size.June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 17

Page 30: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

Detection QualityPiece detection algorithms

0

0.2

0.4

0.6

0.8

1

Tokens on the board

Sen

sitiv

ity&

Pre

cisi

on

0

0.2

0.4

0.6

0.8

1

Tokens on the board

Sensitivity (light color filled circles) and precision (dark color filledcircles) per image in our test set.

June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 18

Page 31: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

Speed

0 100 200 300 400

Hough linesLSD lines

Hough piecesContour pieces

PreprocessingExtrapolate board

Detect colorsFramework

Create output 64.2151.33

26.3983.16

208.04

249.69322.58

168.46345.24

Time in ms

Average duration of parts of the pipeline over 100 iterations on aNexus 4June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 19

Page 32: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

Overall QualityAccuracy of our final detector on our image sets

Trainingset Testset

Number of images 70 31Discarded results 5 2

Accuracy localizing 99.1% (5217/5265) 100% (2349/2349)Accuracy classifying 98.0% (5112/5217) 98.6% (2317/2349)

Accuracy for both 97.1% (5112/5265) 98.6% (2317/2349)

Similar quality is shown in tests where real games were played andrecorded.

June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 20

Page 33: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

Our Contribution

• We present a reliable methodfor the detection of Go boards

• Our method is fast enough tobe used on smartphones

• We can detect boards withdense token distribution

• We showcase a possibleapproach for an end userproduct

June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 21

Page 34: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

Future Work

Possible areas of future work could be:

• extending the approach to a 19x19 grid or grids of arbitrary size

• autonomously detecting the center of the board

• improving correction of specular highlights

June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 22

Page 35: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

Live presentationBecause seeing is believing

If there is still time...

June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 23

Page 36: Bachelor Thesis Presentation - t-animal.det-animal.de/appendix/bachelorarbeit/Presentation.pdf · Bachelor Thesis Presentation Implementation of an Android app for the recording of

Thank you for your attention.

Questions?

June 1, 2015 | Tilman ADLER | Pattern Recognition Lab (CS 5) | BT Presentation 24