Quick Overview of Robotics and Computer Vision

advertisement
Quick Overview of
Robotics and Computer Vision
Computer Vision
Environment
Agent
camera
?
Light
Computer Vision Applications
Light is probably the most valuable information
that humans sense about their environment,
and CV has a ton of applications:
1. Object classification
2. 3D Reconstruction
3. Motion Analysis
Bag-of-visual-words processing:
A common CV pipeline for object
classification
Converts an image into a vector, much like the bag-of-words model for text.
After that, you can apply standard ML techniques to build a classifier.
Another common pipeline:
Feature detection + correspondences
1. Find “features” in an image.
These are typically things like corners, edges, or just
very distinctive image patches.
Another common pipeline:
Feature detection + correspondences
1. Find “features” in an image.
2. Find correspondences between features in
similar images.
Blue line shows a correspondence between features in stereo images.
Another common pipeline:
Feature detection + correspondences
1. Find “features” in an image.
2. Find correspondences between features in
similar images.
3. Recover depth
Improved Stereo Vision
Using two (or more) cameras to recover the “depth”
of pixels in a scene is called Stereo Vision or Stereo
Reconstruction.
Some techniques to improve it:
- Structured light (like the Kinect)
- Other sensors (eg, laser range finders)
https://www.youtube.com/watch?v=eEhBor_r5eY&
feature=player_embedded
Robotics: Putting it all together
Agent




cameras
Light,
Laser,
GPS
Representation of beliefs and
goals
Estimation of state based on
previous state and sensor
information
Planning of actions to reach
goals
Learning from previous
examples to improve over
time.
motors
Motion
Environment
Robotics Quiz
For each of the following problems, which
technique from our class would you use to solve
it?
1. Determine the position of the robot, based
on the sensor reading at the current time
step, and the belief about the position at the
previous time step.
Robotics Quiz
For each of the following problems, which
technique from our class would you use to solve
it?
2. Given a road map, a belief about the starting
position, and actions for driving forward and
turning, determine a sequence of actions to
get you to a desired point on the map.
Robotics Quiz
For each of the following problems, which
technique from our class would you use to solve
it?
3. Given a camera feed aimed at an object on a
table, come up with a sequence of robotic
arm/finger motions that will pick up the
object.
Robotics Quiz
For each of the following problems, which
technique from our class would you use to solve
it?
4. Given a set of examples of robotic car
maneuvers in a fixed area (several city blocks,
say), some that successfully got to their goal,
and some that didn’t (crashed or failed to
reach the goal), determine the maneuver for
each location in the area.
Additional Robotics Questions
Representation:
How complicated is it (how many variables/dimensions do you
need) to represent the position and orientation of a robot car
on a map?
How many variables/dimensions do you need to represent the
position, orientation, change in position, and change in
orientation of a robot car on a map?
The position and orientation are called the kinematic state of
a robot.
The position, orientation, change in position, and change in
orientation are called the dynamic state of a robot.
Answer: Additional Robotics
Questions
Representation:
How complicated is it (how many variables/dimensions do you need)
to represent the position and orientation of a robot car on a map?
How many variables/dimensions do you need to represent the
position, orientation, change in position, and change in orientation of a
robot car on a map?
For a 2D world, the kinematic state requires 3 variables (dimensions):
1 for position on the x axis, 1 for position on the y axis, and 1 for the
compass direction (or angle away from North).
For a 2D world, the dynamic state requires 5 variables (dimensions):
3 for the kinematic state, 1 for forward velocity, and 1 for “turning
velocity”, or yaw.
Additional Robotics Questions
3D Representation:
How many variables/dimensions are needed for
the kinematic and dynamic states of a robot
helicoptor?
Many-D Representation: How many
variables/dimensions do you need for a robotic
arm that has six rotation joints?
Answer: Additional Robotics
Questions
3D Representation:
How many variables/dimensions are needed for the kinematic and
dynamic states of a robot helicoptor?
6 for kinematic, 12 for dynamic.
Many-D Representation: How many variables/dimensions do you
need for a robotic arm that has six rotation joints?
The answer really depends on the orientation of the joints with
respect to one another. But if each joint provides independent motion
from the previous joints, you would need 6 variables for kinematic
state (angle of each joint), plus 6 additional variables for dynamic state
(change in the angle of each joint).
Some robotic videos
$3000 DARPA robot hand (very cheap for a robot
hand):
http://www.youtube.com/watch?feature=player_e
mbedded&v=NvhCk6BvLBE
Weird robot:
http://www.youtube.com/watch?v=UIWWLg4wLEY
Download