ArticleslgStudy

computer science

Visual odometry

Visual odometry is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Visual odometry rather than just read about it. In short: In robotics and computer vision, visual odometry is the process of determining the position and orientation of a robot or other computer-based system by analyzing a set of camera images taken by the system of its environment. It has been used in a wide variety of robotic applications, such as on the Mars Exploration Rovers.

Visual odometry — main illustration
Visual odometry — illustration

Key takeaways

  • Visual odometry belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Visual odometry to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Visual odometry from memory before moving on to harder problems.

Reference excerpt

In robotics and computer vision, visual odometry is the process of determining the position and orientation of a robot or other computer-based system by analyzing a set of camera images taken by the system of its environment. It has been used in a wide variety of robotic applications, such as on the Mars Exploration Rovers. Uses for visual odometry include augmented reality and robotics. It is called visual-inertial odometry (VIO) if it uses an inertial measurement unit.

Overview In navigation, odometry is the use of data from the movement of actuators to estimate change in position over time through devices such as rotary encoders to measure wheel rotations. While useful for many wheeled or tracked vehicles, traditional odometry techniques cannot be applied to mobile robots with non-standard locomotion methods, such as legged robots. In addition, odometry universally suffers from precision problems, since wheels tend to slip and slide on the floor creating a non-uniform distance traveled as compared to the wheel rotations. The error is compounded when the vehicle operates on non-smooth surfaces. Odometry readings become increasingly unreliable as these errors accumulate and compound over time. Visual odometry is the process of determining equivalent odometry information using sequential camera images to estimate the distance traveled. Visual odometry allows for enhanced navigational accuracy in robots or vehicles using any type of locomotion on any surface.

Types There are various types of VO.

Monocular and stereo Depending on the camera setup, VO can be categorized as Monocular VO (single camera), Stereo VO (two camera in stereo setup).

Feature-based and direct method Traditional VO's visual information is obtained by the feature-based method, which extracts the image feature points and tracks them in the image sequence. Recent developments in VO research provided an alternative, called the direct method, which uses pixel intensity in the image sequence directly as visual input. There are also hybrid methods.

Visual inertial odometry If an inertial measurement unit (IMU) is used within the VO system, it is commonly referred to as Visual Inertial Odometry (VIO).

Algorithm Most existing approaches to visual odometry are based on the following stages.

Acquire input images: using either single cameras., stereo cameras, or omnidirectional cameras. Image correction: apply image processing techniques for lens distortion removal, etc. Feature detection: define interest operators, and match features across frames and construct optical flow field. Feature extraction and correlation. Use correlation, not long term feature tracking, to establish correspondence of two images. Construct optical flow field (Lucas–Kanade method). Check flow field vectors for potential tracking errors and remove outliers. Estimation of the camera motion from the optical flow. Choice 1: Kalman filter for state estimate distribution maintenance. Choice 2: find the geometric and 3D properties of the features that minimize a cost function based on the re-projection error between two adjacent images. This can be done by mathematical minimization or random sampling. Periodic repopulation of trackpoints to maintain coverage across the image. An alternative to feature-based methods is the "direct" or appearance-based visual odometry technique which minimizes an error directly in sensor space and subsequently avoids feature matching and extraction. Another method, coined 'visiodometry' estimates the planar roto-translations between images using Phase correlation instead of extracting features.

Egomotion

Egomotion is defined as the 3D motion of a camera within an environment. In the field of computer vision, egomotion refers to estimating a camera's motion relative to a rigid scene. An example of egomotion estimation would be estimating a car's moving position relative to lines on the road or street signs being observed from the car itself. The estimation of egomotion is important in autonomous robot navigation applications.

Overview The goal of estimating the egomotion of a camera is to determine the 3D motion of that camera within the environment using a sequence of images taken by the camera. The process of estimating a camera's motion within an environment involves the use of visual odometry techniques on a sequence of images captured by the moving camera. This is typically done using feature detection to construct an optical flow from two image frames in a sequence generated from either single cameras or stereo cameras. Using stereo image pairs for each frame helps reduce error and provides additional depth and scale information. Features are detected in the first frame, and then matched in the second frame. This information is then used to make the optical flow field for the detected features in those two images. The optical flow field illustrates how features diverge from a single point, the focus of expansion. The focus of expansion can be detected from the optical flow field, indicating the direction of the motion of the camera, and thus providing an estimate of the camera motion. There are other methods of extracting egomotion information from images as well, including a method that avoids feature detection and optical flow fields and directly uses the image intensities.

See also Dead reckoning Odometry Optical flow Optical motion capture Perspective-n-Point

References

Illustrations

Visual odometry: The optical flow vector of a moving object in a video sequence
The optical flow vector of a moving object in a video sequence
Visual odometry: VIO is widely used in commercial quadcopters, which provide localization in GPS denied situations.
VIO is widely used in commercial quadcopters, which provide localization in GPS denied situations.
Visual odometry: Egomotion estimation using corner detection
Egomotion estimation using corner detection

Worked examples

Example 1 — a first encounter with Visual odometry

Start with the simplest possible case. Write down what Visual odometry claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Visual odometry before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Visual odometry ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Visual odometry

In research
Visual odometry appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Visual odometry in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Visual odometry is common in secondary-school and first-year university syllabi. It links to neighbouring topics Motion in computer vision, Robotic sensing, Surveying, so understanding it makes those chapters shorter.
In everyday life
Look for Visual odometry outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “Visual odometry” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Visual odometry in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Visual odometry means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Visual odometry out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Visual odometry in simple terms?

In robotics and computer vision, visual odometry is the process of determining the position and orientation of a robot or other computer-based system by analyzing a set of camera images taken by the system of its environment. It has been used in a wide variety of robotic applications, such as on th…

Why does Visual odometry matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Visual odometry?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Visual odometry.

Tags

  • Motion in computer vision
  • Robotic sensing
  • Surveying

Keep exploring