Robotics
Robotics
Robotics
Lecture 2.2
Perception
● Perception is the process of taking sensor data and extracting useful information
from it
● It’s application to robotics is broad, and includes
○ Object detection for safety and social interactions
○ Localization
○ Pose estimation of objects for manipulation
○ Environment modeling
● We are going to look at predominantly classical computer vision techniques in this
lecture
Classical Computer Vision
● In classical computer vision, we are assuming that the features of an image we are trying
to identify can be modeled, and are using analytical methods to fit these models
● Classical computer vision techniques are useful and important
○ When our confidence in model assumptions is high, they can be very accurate, and have a much lower
implementation cost than machine learning techniques
○ Often machine learning techniques require some form of image pre-processing that depend on classical
techniques for feature extraction
● We are going to focus on
○ Edge detection: A very common and essential pre-processing technique
○ Model fitting with outliers: A very flexible technique across images, lidar data and more
● We are not going to cover
○ Corner and blob detection
○ Colour thresholding
○ Template matching
○ There is much more, but just to give you a taste
Machine Learning
● Machine learning allows us to produce models for prediction or classification
based on labelled data
● For example, if we want to detect a child’s voice from a directional microphone,
each datapoint of our dataset would have
○ An audio signal
○ A direction vector
○ A boolean, true if the audio wasa child’s voice
● And our trained model would
○ take in as input the audio and the direction
○ produce as output whether it was a child’s voice
● Machine learning models are often black box solutions. We won’t know from our
model what about the audio or direction makes a child’s voice detectable, we’ll
just know we can detect one.
Other Sensors
● Perception doesn’t just operate on 2D images, it also works on
○ 3D images and point clouds
○ Laser scans
○ Audio signals
○ Environmental sensors such as pressure, temperature, humidity
○ Motional sensors such as IMU, GPS
● Many algorithms for classical computer vision also apply to these sensors
● Machine learning also applies to these
● We will be focusing predominantly on
Classical Perception: Edge Detection
● Edges are important because many of
our models for things are based on
edges. For example
○ Identifying objects via their shape
○ Identifying patterns such as QR codes
○ Identifying lines such as the horizon or
planes such as a tabletop
● We know from neurological studies -
and personal experience - that the
brain uses edges to identify things
Canny Edge Detection
The Canny Edge Detection algorithm has the following steps