3D scanning is the act of mapping an object, structure, or area, and describing it in the form of x, y, and z coordinates - a format known as a “point cloud”.
Basically it can be divided into 2 main approaches.
- Photogrammetry
- Laser scanning
There are 2 main approaches for 3D reconstruction by using photogrammetry. They are SLAM(Simultaneous localization and mapping) and SFM(Structure from Motion)
They have the following key differences in practice.
- Realm-time efficiency
- SLAM is supposed to work in real-time on an ordered sequence of images
- SFM approaches often have to work on an unordered set of images often computed in the cloud with little to no time constraints and might employ different cameras (e.g. reconstructing notable landmarks, Eiffel tower perhaps from community photos)
- Scalability
- SFM approaches have been scaled to work on the “planet” level. Researchers have applied SfM to Google Street View photos simultaneously reconstructing some portion of our whole inhabited planet
- large scale visual SLAM is typically restricted to trajectories of a few kilometers.
- Imageset requirement
- SLAM always works with ordered image set
- SFM usually uses unordered image set. Since you don’t have an ordered set of images in SfM, and your image set (e.g. all images of Rome available on Flickr) might be huge, its a challenge to retrieve near-by images, and add images one by one to a growing graph while accounting for potential outlier images so that robust reconstruction maybe performed.
Given a large photo collection of a single outdoor structure (such as a large theater / stadium), build the 3D model of the structure and determine the posture of each camera. This collection of photographs is processed off-line, and the time required for large-scale structural reconstruction ranges from hours to days.
A experiment to reconstruct a jar as following:
Intel i5-3230M CPU 8GG ROM
Image amount: 65
Image quality: 1024 * 768
Photographing time: 10min
Processing time: 30min
Temporary file size: 350M
With in SLAM solution there are the following solutions. Tango is a basically a Dense visual SLAM using RGB-D Method and provides a stable estimation result by combining internal sensor information. In addition Apple's ARKit and Goolge's ARCore is basiclly a LSD-SLAM method.
Name | Method | Map density | Global optimization | Loop closure |
---|---|---|---|---|
Mono-SLAM | Feature | Sparse | No | No |
PTAM | Feature | Sparse | Yes | No |
ORB-SLAM | Feature | Sparse | Yes | Yes |
DTAM | Direct | Dense | No | No |
LSD-SLAM | Direct | Semi-dense | Yes | Yes |
SVO | Semi-direct | Sparse | No | No |
DSO | Direct | Sparse | No | No |
KinectFusion | RGB-D | Dense | Yes | Yes |
ElasticFusion | RGB-D | Dense | Yes | Yes |
SLAM++ | RGB-D | Dense | Yes | Yes |
Dense visual SLAM | RGB-D | Dense | Yes | Yes |
A 10 sqm living room
Asus Zenfone Tango AR
Airsquire capturing tool
Cost: $800
Capturing time: 5 min
Processing time: real-time
File size: 50 MB
Accuracy: 2.5cm
Three-dimensional laser scanning can be used to collect spatial location of points rapidly and abundantly, and obtain three-dimensional coordinates of the target surface.
The rock shelter is located in a region known as West Angeles in Western Australia. It is approximately 50m long, 20m deep and between 1.6 and 3m high. An interactive 360x180 panorama of the site can be experienced below.
Laser scanner -- Leica C10(green light, 532nm)
Cost: 27000.00 USD
Capturing time: 1 day
Processing time: Several days
File size: Several GB
Accuracy: 10m/2mm;25m/3.5mm for Faro Focus S 150/350
- https://www.quora.com/What-is-the-difference-between-SfM-and-Visual-SLAM
- http://blog.csdn.net/linczone/article/details/46237197
- https://developers.google.com/tango/apis/c/reconstruction/reference/
- https://link.springer.com/article/10.1186/s41074-017-0027-2
- http://paulbourke.net/miscellaneous/laservs3d/
- http://www.itailai.com/html/article/620.html