ArticleslgStudy

computer science

Structure from motion

Structure from motion 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 Structure from motion rather than just read about it. In short: Structure from motion (SfM) is a photogrammetric range imaging technique for estimating three-dimensional structures from two-dimensional image sequences that may be coupled with local motion signals. It is a classic problem studied in the fields of computer vision and visual perception.

Structure from motion — main illustration
Structure from motion — illustration

Key takeaways

  • Structure from motion 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 Structure from motion to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Structure from motion from memory before moving on to harder problems.

Reference excerpt

Structure from motion (SfM) is a photogrammetric range imaging technique for estimating three-dimensional structures from two-dimensional image sequences that may be coupled with local motion signals. It is a classic problem studied in the fields of computer vision and visual perception. In computer vision, the problem of SfM is to design an algorithm to perform this task. In visual perception, the problem of SfM is to find an algorithm by which biological creatures perform this task.

Principle

Humans perceive a great deal of information about the three-dimensional structure in their environment by moving around it. When the observer moves, objects around them move different amounts depending on their distance from the observer. This is known as motion parallax, and this depth information can be used to generate an accurate 3D representation of the world around them. Finding structure from motion presents a similar problem to finding structure from stereo vision. In both instances, the correspondence between images and the reconstruction of 3D object needs to be found. To find correspondence between images, features such as corner points (edges with gradients in multiple directions) are tracked from one image to the next. One of the most widely used feature detectors is the scale-invariant feature transform (SIFT). It uses the maxima from a difference-of-Gaussians (DOG) pyramid as features. The first step in SIFT is finding a dominant gradient direction. To make it rotation-invariant, the descriptor is rotated to fit this orientation. Another common feature detector is the SURF (speeded-up robust features). In SURF, the DOG is replaced with a Hessian matrix-based blob detector. Also, instead of evaluating the gradient histograms, SURF computes for the sums of gradient components and the sums of their absolute values. Its usage of integral images allows the features to be detected extremely quickly with high detection rate. Therefore, comparing to SIFT, SURF is a faster feature detector with drawback of less accuracy in feature positions. Another type of feature recently made practical for structure from motion are general curves (e.g., locally an edge with gradients in one direction), part of a technology known as pointless SfM, useful when point features are insufficient, common in man-made environments. The features detected from all the images will then be matched. One of the matching algorithms that track features from one image to another is the Lucas–Kanade tracker. Sometimes some of the matched features are incorrectly matched. This is why the matches should also be filtered. RANSAC (random sample consensus) is the algorithm that is usually used to remove the outlier correspondences. In the paper of Fischler and Bolles, RANSAC is used to solve the location determination problem (LDP), where the objective is to determine the points in space that project onto an image into a set of landmarks with known locations. The feature trajectories over time are then used to reconstruct their 3D positions and the camera's motion. An alternative is given by so-called direct approaches, where geometric information (3D structure and camera motion) is directly estimated from the images, without intermediate abstraction to features or corners. There are several approaches to structure from motion. In incremental SfM, camera poses are solved for and added one by one to the collection. In global SfM, the poses of all cameras are solved for at the same time. A somewhat intermediate approach is out-of-core SfM, where several partial reconstructions are computed that are then integrated into a global solution.

Applications

Geosciences Structure-from-motion photogrammetry with multi-view stereo provides hyperscale landform models using images acquired from a range of digital cameras and optionally a network of ground control points. The technique is not limited in temporal frequency and can provide point cloud data comparable in density and accuracy to those generated by terrestrial and airborne laser scanning at a fraction of the cost. Structure from motion is also useful in remote or rugged environments where terrestrial laser scanning is limited by equipment portability and airborne laser scanning is limited by terrain roughness causing loss of data and image foreshortening. The technique has been applied in many settings such as rivers, badlands, sandy coastlines, fault zones, landslides, and coral reef settings. SfM has been also successfully applied for the assessment of changes and large wood accumulation volume and porosity in fluvial systems, the characterization of rock masses through the determination of some properties as the orientation, persistence, etc. of discontinuities. as well as for the evaluation of the stability of rock cut slopes. A full range of digital cameras can be utilized, including digital SLR's, compact digital cameras and even smart phones. Generally though, higher accuracy data will be achieved with more expensive cameras, which include lenses of higher optical quality. The technique therefore offers exciting opportunities to characterize surface topography in unprecedented detail and, with multi-temporal data, to detect elevation, position and volumetric changes that are symptomatic of earth surface processes. Structure from motion can be placed in the context of other digital surveying methods.

… excerpt ends here. Continue reading the full article.

Illustrations

Structure from motion: Real photo x SfM with texture color x SfM with simple shader. Made with Python Photogrammetry Toolbox GUI and rendered in Blender with Cycles.
Real photo x SfM with texture color x SfM with simple shader. Made with Python Photogrammetry Toolbox GUI and rendered in Blender with Cycles.
Structure from motion: Bezmiechowa airfield 3D digital surface model extracted from data collected during 30min flight of Pteryx UAV
Bezmiechowa airfield 3D digital surface model extracted from data collected during 30min flight of Pteryx UAV

Worked examples

Example 1 — a first encounter with Structure from motion

Start with the simplest possible case. Write down what Structure from motion 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 Structure from motion 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 Structure from motion 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 Structure from motion

In research
Structure from motion 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 Structure from motion 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
Structure from motion is common in secondary-school and first-year university syllabi. It links to neighbouring topics 3D imaging, Geometry in computer vision, Motion in computer vision, so understanding it makes those chapters shorter.
In everyday life
Look for Structure from motion 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.

Affiliate

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

How to study Structure from motion in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Structure from motion 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 Structure from motion out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Structure from motion in simple terms?

Structure from motion (SfM) is a photogrammetric range imaging technique for estimating three-dimensional structures from two-dimensional image sequences that may be coupled with local motion signals. It is a classic problem studied in the fields of computer vision and visual perception.

Why does Structure from motion 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 Structure from motion?

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 Structure from motion.

Tags

  • 3D imaging
  • Geometry in computer vision
  • Motion in computer vision
  • Photogrammetry

Keep exploring