Initial word... Robogames Initial word... Robogames Initial word... - - PowerPoint PPT Presentation
Initial word... Robogames Initial word... Robogames Initial word... - - PowerPoint PPT Presentation
Initial word... Robogames Initial word... Robogames Initial word... Robogames The "CS graveyard" Final words: project schedule This week: example talk and a bit on Turing Machines (final hw due 5/1) Next week: project work during
Initial word... Robogames
Initial word... Robogames
The "CS graveyard"
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)
Final project FSM!
it's broken it works
stop adding features + start adding print statements comment out print statements + start adding more features
still works still broken
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
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
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 1 011001 0110 accepted 10 λ
this last string is empty
FSMs are limited… So, let's build a better machine! Turing Machine
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...
Run this TM on this input:
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.)
Turing Machine machines!
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)
10-15 min. talk guideline (feel free to alter to suit!)
10-15 min. talk guideline (feel free to alter to suit!)
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"
- verall context +
motivation What's the problem? Problem details (narrative > bullets)
to reducing the problem
Questions…
insights!
"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!
Nicole Lesperance ’11 Michael Leece ’11 Steve Matsumoto ’12 Max Korbel ’13 Kenny Lei Zach Dodds REU Harvey Mudd College – TePRA – 4/12/11
Idea: use monocular texture to create a traditional range scan
Learning distance from texture
Zach Dodds 4/22/2015 IST338
"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?
Looking at this image, we (humans) know how far away obstacles are from the camera, relatively…
Big picture: obtain distances from an image
"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"
Context: other approaches
active lighting
depth, cost, weight
- depth, cost, weight
- depth, cost, weight
- 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
!
"#$%&' ( #$%)*
Could we improve resolution? Could we handle more general indoor textures?
+
,- -.!,/01))2
- 33
- 45/+(
Could we benefit from larger patches of image texture?
The problem: there's lots of floor!
indoor robot + webcam on netbook
The data: lots of image patches!
sometimes the floor != the obstacles
The dataset: lots of patches!
sometimes not
The dataset: lots of patches!
not always interesting image patches…
Image patches
hand-segmented image Each 20x20 pixel square is a single "patch"
Image details…
hand-segmented image Each 20x20 pixel square is a single "patch" ~ 1200 numbers each!
(1) Train groundplane vs.
- bstacle textures.
6 #373833$
(3) Segment new images to find traversibility hypotheses (4) Unwarp segmentations into range scans (2) Classify new images using groundplane/obstacle models
"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?
Library explored…
OpenCV
… watched it form and grow …
Well documented!
OpenCV
9:,;
#$ 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
<7
. 194 191 211 3.2 25.6 4.1 ... 138 87 53
- 1.14 8.6 1.4 ...
2
20x20 texture patches, distilled into 8 values
- bstacle
ground
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"
<7
= 7
/>?
5) 5)
= 7
/>?@ 7
5) 5)
"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
- pen-ended projects!
Evaluating the classifier
Number of nearest neighbors used: 1,5,10,25,50,&100
Training and testing
- n SAME data set.
Train and test on non-overlapping data set. Train and test on
- verlapping data set
(same orientation) Train and test on
- verlapping data set
(novel orientation)
Evaluating the classifier
Number of nearest neighbors used: 1,5,10,25,50,&100
Training and testing
- n SAME data set.
Train and test on non-overlapping data set. Train and test on
- verlapping data set
(same orientation) Train and test on
- verlapping data set
(novel orientation)
Hallway
- verall accuracy: 95.4%
Library
- verall accuracy: 94.1%
- ther
locations
Example predictions
classification + confidence segmentations after training on a small part of this lab environment…
segmentation.mp4 classification.mp4
"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.
Still to investigate…
- Go from classification to segmentation…
- How accurate are the distances?
- Enough to control the robot?
pixels vs. meters Questions…?
"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
- r the project …
everyone can benefit from your insights! loop at least once more by the final version!
(
A #5$7 #$ #1$ @ #A$ 7#7$
(
7
- 77
#77 7$ # 7$
/
0/+(
- median pixel error <2 pixels
in all environments
- 96B
- <B
- !"
- #
"θ " "
- <B
- !"
- #
"θ " "
( #$
/
median metric error <3 inches in all environments
- ~ 30-75% drop in RMS error
compared to Plagemann et al.
/
- much worse!
as good as when stopped
- too shaky!
+,C
(D#,(0+$
E 90000! 7
E
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!
<0==
<70 ==7 90000! 7
E
5)C '
000!7
,7
- E 7
- 7
- 7-
- .@
B
- -.0/F
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"
- verall context +
motivation What's the problem? Problem details (narrative > bullets)
to reducing the problem
Questions…
insights!
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)
Electromechanical computation Water-based computation Integrated circuits Tinkertoy computation Parallel computers Molecular computation Quantum computation
http://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
Alan Turing
1946 WWII
Enigma machine ~ The axis's encryption engine
2007
Bletchley Park
AI! 1912-1954
Alan Turing
1946 WWII
Enigma machine ~ The axis's encryption engine
2007
Bletchley Park
AI! 1912-1954