Photogrammetry is now possible using consumer devices, and the applications are vast.
Continuing improvement in digital cameras—including those in cell phones—and in photogrammetry algorithms have enabled dozens of consumer and professional photogrammetric applications. Among the professional ones is PhotoModeler, which produces accurate maps, drawings, CAD data, 3D models, and photos draped on 3D models.
Its applications include engineering, surveying, architecture, industrial measurement, manufacturing, accident reconstruction, forensics, gaming, and animation.
A user takes photos of an object—say, a fire hydrant, a boat, or a house—from different positions and angles, loads them into PhotoModeler on a computer, and chooses a processing method.
Processing options include manual marking, which is when the user manually codes common features among photos. This is appropriate for objects with distinct points, sharp corners and edges, etc.
There’s also coded target detection, which automatically marks coded targets, enabling models to solve quickly and automatically. This is appropriate when highly accurate 3D XYZ points are needed at key locations and the subject has a complex surface without distinct feature points.
SmartMatch is an automated process that generates dense point clouds from overlapping photos. This is appropriate for subjects with a random natural texture, such as sculptures, walls, or vegetation.
The final option, SmartMatch/DSM – Aerial, is an automated process that generates dense point clouds and surfaces from overlapping aerial photos. This is appropriate for aerial images of areas without manmade structures.
As soon as the processing is complete, the user can visualize the model; rotate it on its three axes; analyze it; measure distances, areas, and volumes on it; and export it to 3D, CAD, or GIS software.
This process is very difficult to accomplish efficiently and with high accuracy when using dozens or hundreds of photos, creating thousands or even millions of points. PhotoModeler’s engineers have been fine-tuning their software’s algorithms for more than 20 years.
While high-end, calibrated cameras will produce the best results, images from uncalibrated consumer cameras, photo archives, and surveillance video cameras suffice for most applications, including: • creating diagrams of accident scenes, • measuring the depth of the crush on a vehicle’s panel to estimate the force of impact and the speed of the vehicle that hit it, • reconstructing crime scenes, • creating 3D models for use in 3D printers and CNC routers, • measuring kitchens and baths to manufacture and install counter tops and cabinets, and • measuring boats to manufacture and install covers, biminis, decking, etc.
Point Matching and Calibration
Generally, photogrammetry is based on identifying matching points across photographs, then computing the positions of those points in 3D space using geometry. This requires knowing where the points are imaged on each photo, several parameters of the camera used to take the photos, and the relative positions and angles of the camera when the photos were captured.
Once they have the matching locations of multiple points on two or more photos, photogrammetry programs use mathematics to calculate the camera’s positions and angles. They start with a rough approximation, then refine it to achieve higher accuracy using the bundle adjustment algorithm, taking advantage of the massive processing power of modern computers. They continue to adjust the solution until they achieve an optimal bundle of light rays between all points and camera positions.
Additionally, high-accuracy results require camera calibration, which is the process of measuring the relevant parameters for each camera: its focal length, pixel size, lens distortion, etc. For this reason, rather than relying on the published specs for each make and model of camera, PhotoModeler calculates the actual measurements of each individual camera from pictures taken by it.
“Every camera coming off the production line—whether it is your phone, a DSLR camera, or a point-and-shoot digital camera—is slightly different,” explains Alan Walford, the company’s founder and president. “So, if you want to get an accurate measurement result, you must calibrate the specific camera you have in your hand.”
The SmartMatch feature in Photomodeler’s Premium version includes an autocalibration process that runs in the background.
Using It with a Smart Phone
I tested PhotoModeler Premium with my LG Nexus 5X phone by taking 187 photos of my condominium’s clubhouse, which took about 10 minutes. (I probably could have achieved similar results with as few as 40 photos.)
I then uploaded the photos to my Acer laptop, which runs an Intel Core i5-6200 CPU at 2.3 GHz with 8 GB of RAM, imported them into PhotoModeler Premium, and ran the SmartMatch feature.
In just under an hour, it created about 34,000 points. (This process, however, can take from a few seconds to many hours, depending on the number of photos, their resolution, and the subject of the photos.)
I then sent the model I created, together with my original photos, to James Hargrave, a PhotoModeler technical support engineer, whose computer is more powerful than mine. He ran the program’s “create cloud/mesh” process, which used the previous set of points to create a model with about 7.7 million points.
The program has no way of knowing on its own the real-world measurements of objects it models. For example, a car could be a real one or a toy. To scale my model, however, all I had to do was take a few measurements in the real world with a tape measure, then draw those same lines in the model and assign them those measurements. I measured the width of a door frame, the width of a window, and the distance between the corners of two wings of the clubhouse, then entered those measurements in the model.
Having scaled it, I was then able to use the model to measure the areas of various surfaces on the clubhouse, such as a section of roof, by simply drawing polygons on it.
In the late 1980s and early 1990s, Walford, an engineer and computer scientist, was working for a satellite and aerial photogrammetry company in Vancouver, B.C.
“Back then, all the processing of satellite and aerial images was done through very large and clunky mainframe computers,” he recalls. “I saw the potential for desktop PCs, which were getting increasingly powerful, to run photogrammetry algorithms. I also saw on the horizon the potential for digital cameras, which didn’t exist yet, especially consumer ones.”
In late 1990, Walford founded Eos Systems, Inc., now doing business as PhotoModeler Technologies. In 1992-93, he developed PhotoModeler’s bundle adjustment algorithm, which is the algorithm in any photogrammetry software package that marries all the light rays from the camera and solves for positions in 3D. Very early in 1994, the company released its first software.
“Back then, graphic user interfaces were new, and even bringing in images and having enough memory to do the processing that you needed was challenging,” says Walford.
A quarter century later, of course, the power of the PC has grown enormously. “However, we are always pushing the envelope in terms of what computers have with regards to memory and CPU. First, we moved from small format to large format, then from manual matching to automated matching.”
In addition to accuracy, which remains its principal strength, PhotoModeler’s evolution is toward increasing automation.
“One our first steps in that area,” Walford says, “was coded targets: the ability to look for circular barcodes that users can put down in photographs to get very precise measurements but also more automatically, just a few points at a time.”
Currently, one of PhotoModeler’s main markets is still its original one: forensics—police use for accident and crime scene reconstruction. Today, however, it is also used widely in fabrication and manufacturing processes.
“The introduction of UAV-based cameras, ten years ago or so, has changed the market as well,” Walford adds.