Initial word Robogames - Harvey Mudd College

72
Initial word... Robogames

Transcript of Initial word Robogames - Harvey Mudd College

Page 1: Initial word Robogames - Harvey Mudd College

Initial word... Robogames

Page 2: Initial word Robogames - Harvey Mudd College

Initial word... Robogames

Page 3: Initial word Robogames - Harvey Mudd College

Initial word... Robogames

The "CS graveyard"

Page 4: Initial word Robogames - Harvey Mudd College

Final words: project schedule…

This week: example talk and a bit on Turing Machines

Next week: project work during class (join in!)

Wed. 5/6: project presentations (~10 min. per project)

• Your source-code to date (showing off your library)

• One-page write-up of progress so far + plans still to-go

• 10-15 minute talk (example this week…)

Milestone: due 5/8/15

• 2-3 page write-up of results, +s, -s, and all of your source code

Final Project : due by 5/18/15 (or earlier, if you'd like!)

(final class meeting)

(final hw due 5/1)

• Include your project presentation slides!

(by email)

(by email)

Page 5: Initial word Robogames - Harvey Mudd College

Final project FSM!

it's broken

it works

stop adding

features + start

adding print

statements

comment out

print statements

+ start adding

more features

still

worksstill

broken

Page 6: Initial word Robogames - Harvey Mudd College

State-machine limits?Are there limits to what FSMs can do?

But are there any binary-string problems

that FSMs can't solve?

Page Rank

they can't

necessarily

drive safely...

Robotics

PageRank

Page 7: Initial word Robogames - Harvey Mudd College

State-machine limits?Are there limits to what FSMs can do?

But are there any binary-string problems

that FSMs can't solve?

Page Rank

they can't

necessarily

drive safely...

Robotics

PageRank

Page 8: Initial word Robogames - Harvey Mudd College

State-machine limits?

Let's build a FSM that accepts bit strings

with the SAME NUMBER of 0s as 1s

01100

01110

rejected

0100

000

# of 0s

== # of 1s

0 1

011001

0110

accepted

10

λ this last string

is empty

Page 9: Initial word Robogames - Harvey Mudd College

FSMs are limited…

So, let's build a better machine!

Turing Machine

Shiny!

Page 10: Initial word Robogames - Harvey Mudd College

a Turing Machine rule:

the tape

R/W

head

the input

0 1 0 1 0"blanks" are

everywhere else

READ WRITE MOTION

0 ; ,1 R

if a transition is

missing, the

input FAILS!

an accepting state

always halts -- then

basks in its success!

try it in JFLAP...

Page 11: Initial word Robogames - Harvey Mudd College

Run this TM on this input:

0 0 1 1 1

Is this input accepted or rejected?

What inputs are accepted in general? How does it work?

Extra: How could you change this to accept palindromes?

Try it!

(a thought experiment – and ex. cr.)

Page 12: Initial word Robogames - Harvey Mudd College

Turing Machine machines!

Page 13: Initial word Robogames - Harvey Mudd College

Final words: project schedule…

This week: example talk and a bit on Turing Machines

Next week: project work during class (join in!)

Wed. 5/6: project presentations (~10 min. per project)

• Your source-code to date (showing off your library)

• One-page write-up of progress so far + plans still to-go

• 10-15 minute talk (example this week…)

Milestone: due 5/8/15

• 2-3 page write-up of results, +s, -s, and all of your source code

Final Project : due by 5/18/15 (or earlier, if you'd like!)

(final class meeting)

(final hw due 5/1)

• Include your project presentation slides!

(by email)

(by email)

Page 14: Initial word Robogames - Harvey Mudd College

10-15 min. talk guideline (feel free to alter to suit!)

Page 15: Initial word Robogames - Harvey Mudd College

10-15 min. talk guideline (feel free to alter to suit!)

Page 16: Initial word Robogames - Harvey Mudd College

What's your

approach ?What library or

libraries did you

explore/use?

Your testing --

and results

What worked

and what didn't?

How did you adjust

to what was

feasible vs. not?

Further progress

and/or insights

Things you're

still planning to

work on… anything else…?

10-15 min. talk guideline (feel free to alter to suit!)

Title + Intro "Big Picture"

overall context +

motivation

What's the

problem?

Problem details

(narrative > bullets)to reducing the problem

Questions…

insights!

Page 17: Initial word Robogames - Harvey Mudd College

"Aside Slides"

Interlaced notes about the slides…

Suggestions and ideas…

Stuff to ignore…

This is a talk that summarizes a robotics and

vision research project we worked on…

blue!

Page 18: Initial word Robogames - Harvey Mudd College

PixelLaser: Evaluating range from texture

Nicole Lesperance ’11

Michael Leece ’11

Steve Matsumoto ’12

Max Korbel ’13

Kenny Lei

Zach Dodds

REUHarvey Mudd College – TePRA – 4/12/11

Page 19: Initial word Robogames - Harvey Mudd College

Idea: use monocular texture to

create a traditional range scan

Learning distance from texture

Zach Dodds 4/22/2015 IST338

Page 20: Initial word Robogames - Harvey Mudd College

"Title" slide…

You don't need a fancy title

I'm a fan of explanatory pictures…

I'm less a fan of using clip art…

Never hurts to have a short

"big-picture" summary…

really?

Page 21: Initial word Robogames - Harvey Mudd College

Looking at this image, we (humans) know how far

away obstacles are from the camera, relatively…

Big picture: obtain distances from an image

Page 22: Initial word Robogames - Harvey Mudd College

"Big picture" slide

What's the problem's overall goal

Overall context

Why it's interesting

You may have a lot to say, or just a little,

but include at least one such slide… I'll

help you brainstorm.

You do not need "alternative approaches"

Page 23: Initial word Robogames - Harvey Mudd College

Context: other approaches

active lightingdepth, cost, weight

Page 24: Initial word Robogames - Harvey Mudd College

Context: directly detecting distances…

Zeke and the laser…depth, cost, weight

Page 25: Initial word Robogames - Harvey Mudd College

Context: directly detecting distances…

how the Kinect works…depth, cost, weight

Page 26: Initial word Robogames - Harvey Mudd College

Alternatives to learning?

point-feature tracking

to estimate: how and

how much the camera

(or robot) moved

previous image next image

∆∆∆∆

to estimate: how and

how much the image

feature moved

δδδδ

texture vs. time

Page 27: Initial word Robogames - Harvey Mudd College

InspirationHors

will (p

olly) ’9

4Saxena

(rccar)

’05 Could we improve

resolution?

Could we handle more general indoor textures?

Page 28: Initial word Robogames - Harvey Mudd College

More recently

C. Plagemann et al., ICRA 2008

platform "omnicam" images errors...

~1m RMS error

Could we benefit from larger

patches of image texture?

Page 29: Initial word Robogames - Harvey Mudd College

The problem: there's lots of floor!

indoor robot + webcam on netbook

Page 30: Initial word Robogames - Harvey Mudd College

The data: lots of image patches!

sometimes the floor != the obstacles

Page 31: Initial word Robogames - Harvey Mudd College

The dataset: lots of patches!

sometimes not

Page 32: Initial word Robogames - Harvey Mudd College

The dataset: lots of patches!

not always interesting image patches…

Page 33: Initial word Robogames - Harvey Mudd College

Image patches

hand-segmented image

Each 20x20 pixel square

is a single "patch"

Page 34: Initial word Robogames - Harvey Mudd College

Image details…

hand-segmented image

Each 20x20 pixel square

is a single "patch"

~ 1200 numbers each!

Page 35: Initial word Robogames - Harvey Mudd College

(1) Train groundplane vs.

obstacle textures.

PixelLaser's challenge ("problem"/"workflow")

(3) Segment new images to

find traversibility hypotheses

(4) Unwarp segmentations

into range scans

(2) Classify new images using

groundplane/obstacle models

Page 36: Initial word Robogames - Harvey Mudd College

"Problem" slides

What's the computational problem?

Insights into its value…

Insights into its difficulty…

Highlight your contributions, e.g., columns

Is it labeled (how? by hand?)

Can we see some of it?

Page 37: Initial word Robogames - Harvey Mudd College

Library explored… OpenCV

… watched it form and grow …

Page 38: Initial word Robogames - Harvey Mudd College

Well documented! OpenCV

Page 39: Initial word Robogames - Harvey Mudd College

What does OpenCV do?

… it manipulates images (patches)

138 87 53

20x20 texture patches, each

represented by a few values.

For example, average Red,

Green, and Blue (out of 255)

average

blue

average

green

average

red

Page 40: Initial word Robogames - Harvey Mudd College

From images to numbers…

hand-segmented image features, in kd-trees

194 191 211

3.2 25.6 4.1 ...

138 87 53

-1.14 8.6 1.4 ...

8 filters chosen:

20x20 texture patches,

distilled into 8 values

ob

sta

cle

gro

un

d

Page 41: Initial word Robogames - Harvey Mudd College

texture + color filters

../TrainingImages/Playspacepswo13Patches/00029/randomBelow/0009.png

194.2575 191.4525 211.4775 195.0 192.0 212.0 8.6707 8.7688 7.2910 211.4775

191.4525 194.2575 212.0 192.0 195.0 7.2910 8.7688 8.6707 3113.1847 2918.6196

194.70780 -8.295e-09 -2.9999 3.4887 -0.1821 1.0586 0.7981 0.1422 1.3764 1.5171 -

3.2110 25.6053 4.0897 0.2096 3.4240 7.9828 0.6552 1.4017 1.2862 -0.0688 7.9768...

(Means, medians, stdev.,… for RGB/HSV colors and texture filters)

"features"

Each 20x20 pixel square

is a single "patch"

From images to numbers…

Page 42: Initial word Robogames - Harvey Mudd College

Nearest-neighbor classification

RGB alone did not work well…

top 10 distances to obstacle textures

top 10 distances to ground textures

Page 43: Initial word Robogames - Harvey Mudd College

Nearest-neighbors

RGB + texture produced better classifications

top 10 distances to obstacle textures

top 10 distances to ground textures

Page 44: Initial word Robogames - Harvey Mudd College

our real decision-making process…

Page 45: Initial word Robogames - Harvey Mudd College

"Library" slide(s)

what modules or libraries are you using?

explain a bit about what it can do… (!)

show off some of its basics

• after all, others may find they have a use for it!

embrace the messiness of

open-ended projects!

Page 46: Initial word Robogames - Harvey Mudd College

Evaluating the classifier Number of nearest

neighbors used:

1,5,10,25,50,&100

Training and testing

on SAME data set.

Train and test on

non-overlapping

data set.

Train and test on

overlapping data set

(same orientation)

Train and test on

overlapping data set

(novel orientation)

Page 47: Initial word Robogames - Harvey Mudd College

Evaluating the classifier Number of nearest

neighbors used:

1,5,10,25,50,&100

Training and testing

on SAME data set.

Train and test on

non-overlapping

data set.

Train and test on

overlapping data set

(same orientation)

Train and test on

overlapping data set

(novel orientation)

Page 48: Initial word Robogames - Harvey Mudd College

Hallway

overall accuracy: 95.4%

Library

overall accuracy: 94.1%

other

locations

Page 49: Initial word Robogames - Harvey Mudd College

Example predictions

classification + confidence segmentations

after training on a small part of this lab environment…

segmentation.mp4classification.mp4

Page 50: Initial word Robogames - Harvey Mudd College

"Next steps" slides

how well did initial trials work?

what are "typical" examples it gets right?

what are "typical" examples it gets wrong?

What other things are you

planning to analyze/investigate?

(note: this may just be the cross-validation answer!)

It's always nice to "drill down" to a few detailed examples.

Page 51: Initial word Robogames - Harvey Mudd College

Still to investigate…

• Go from classification to segmentation…

• How accurate are the distances?

• Enough to control the robot?

pixels

vs.

meters

Questions…?

Page 52: Initial word Robogames - Harvey Mudd College

"Still to go" slides

What is left in your project?

How could it be expanded/extended?

What would you do differently, if you

were to do it all again?

Perhaps

nothing!?

Nice to tie in to any personal plans

you might have relating to the data

or the project …

everyone can benefit

from your insights! loop at least once

more by the final

version!

Page 53: Initial word Robogames - Harvey Mudd College

Segmentation 3 approaches tested

(1) basic multiresolution

search (green)

(2) snap to strong image edges + median filter

(3) use a third texture category for on-

boundary patches (blue)

human segmentation in red

Page 54: Initial word Robogames - Harvey Mudd College

Segmentation approaches abandoned

seam carvinglargest transition probability

(classification probabilities too uncertain near the boundary)

(does not capture the inevitable discontinuities)

Page 55: Initial word Robogames - Harvey Mudd College

Results

Average RMS pixel errors

Stopping to take scans

median pixel error <2 pixels

in all environmentsunits of pixels

We didn't want our distances in pixels!

Page 56: Initial word Robogames - Harvey Mudd College

∆y

yo

θ

α

θ

α

∆y cos(θ)

f

f / cos(θ)

∆y sin(θ)

D

hFor a fixed horizon:

From segmentation to distance!

desired distance to the ground/object transition, D

c,k are known values

known height, h

known camera angle, θ

known focal length, f

Page 57: Initial word Robogames - Harvey Mudd College

∆y

yo

θ

α

θ

α

∆y cos(θ)

f

f / cos(θ)

∆y sin(θ)

D

hFor a fixed horizon:

From segmentation to distance!

desired distance to the ground/object transition, D

c,k are known values

known height, h

known camera angle, θ

known focal length, f

Page 58: Initial word Robogames - Harvey Mudd College

Segmentation to dist (empirical)

pix

el ro

w

range

row-to-range mapscan

segmentation

Page 59: Initial word Robogames - Harvey Mudd College

Results

Average pixel errors

median metric error <3 inches

in all environments

Stopping to take scans

Average metric errors

units of pixels

units of inches

~ 30-75% drop in RMS error

compared to Plagemann et al.

Page 60: Initial word Robogames - Harvey Mudd College

Results

Average pixel errors

Average metric errors

Moving while taking scans

much worse!

as good as when stopped

units of pixels

units of inches

too shaky!

Page 61: Initial word Robogames - Harvey Mudd College

Applications Monte Carlo Localization

mcl.avi

Page 62: Initial word Robogames - Harvey Mudd College

Applications Scan matching & mapping (CoreSLAM)

+

Page 63: Initial word Robogames - Harvey Mudd College

Applications Texture-only navigation

When arriving in Atlanta for the AAAI exhibition: 10 seconds per frame

Page 64: Initial word Robogames - Harvey Mudd College

Applications Texture-only navigation

� C++ knn implementation with

variable precision levels

� Allowed for more complex real-time

segmentation algorithms

� Made autonomous wandering

feasible, using only the segmenter

� 2 orders of magnitude speedup Marius Muja: thank you!

FLANN Fast Library for Approximate

Nearest Neighbors

When arriving in Atlanta for the AAAI exhibition: 10 seconds per frame

Page 65: Initial word Robogames - Harvey Mudd College

Applications Texture-only navigation

10 hertz

4x video

AAAI exhibition wandering

Page 66: Initial word Robogames - Harvey Mudd College

Conclusions and future possibilities…

• Texture-based range is

• feasible enough

• fast enough

• accurate enough

to replace range scans

when other sensors are unavailable.

• Even so, challenges + opportunities remain!

e.g., ARDrones

Page 67: Initial word Robogames - Harvey Mudd College

What's your

approach ?What library or

libraries did you

explore/use?

Your testing --

and results

What worked

and what didn't?

How did you adjust

to what was

feasible vs. not?

Further progress

and/or insights

Things you're

still planning to

work on… anything else…?

10-15 min. talk guideline (feel free to alter to suit!)

Title + Intro "Big Picture"

overall context +

motivation

What's the

problem?

Problem details

(narrative > bullets)to reducing the problem

Questions…

insights!

Page 68: Initial word Robogames - Harvey Mudd College

Final words: project schedule…

This week: example talk and a bit on Turing Machines

Next week: project work during class (join in!)

Wed. 5/6: project presentations (~10 min. per project)

• Your source-code to date (showing off your library)

• One-page write-up of progress so far + plans still to-go

• 10-15 minute talk (example this week…)

Milestone: due 5/8/15

• 2-3 page write-up of results, +s, -s, and all of your source code

Final Project : due by 5/18/15 (or earlier, if you'd like!)

(final class meeting)

(final hw due 5/1)

• Include your project presentation slides!

(by email)

(by email)

Page 69: Initial word Robogames - Harvey Mudd College
Page 70: Initial word Robogames - Harvey Mudd College

Electromechanical computation

Water-based computation

Integrated circuits

Tinkertoy computation

Parallel computers

Molecular computation

Quantum computationhttp://www.cs.virginia.edu/~robins/The_Limits_of_Quantum_Computers.pdf

http://www.arstechnica.com/reviews/2q00/dna/dna-1.html

So far, all known computational devices can

compute only what Turing Machines can...some are faster than others…

Turing machine

Page 71: Initial word Robogames - Harvey Mudd College

Alan Turing

1946

WWII

Enigma machine ~ The

axis's encryption engine

2007Bletchley Park

AI!

1912-1954

Page 72: Initial word Robogames - Harvey Mudd College

Alan Turing

1946

WWII

Enigma machine ~ The

axis's encryption engine

2007Bletchley Park

AI!

1912-1954