Photogrammetry/Regard3D

This learning resource will support you in creating a 3D Model from a bunch of images.

Image 1 of your object from multiple angles - the chessboard paper below the object supports Regard3D in detecting the 3D scene. The scan can also be performed without this paper below the scanned object
Image 2 of your object from multiple angles
Image 3 of your object from multiple angles

Regard3D

edit

Regard3D is an OpenSource photogrammetry software, that creates a 3D model from a bunch of images.

Webbased Demos of Results

edit

Workflow for Photogrammetry

edit

Remarks for taking images

edit
  • It is important to take 40 to 60 of photos/images and from multiple angles to create good quality of the 3D model. More images need more computation time but you will get a better quality of your 3D model.
  • place a structured surface under your object you want to scan. It helps Regard3D to identify spatial link between the set of images (see demo on the right with a chess board like surface the has unique markers on the edges to support identification of 3D geometry). The surface can be removed after the calculation of the 3D model within Regard3D.
  • avoid direct sunlight and shades in your images
  • provide all the images with same constant light (make some corrections e.g. in GIMP)
  • avoid reflections on the objects (remove reflection with GIMP's Clone tool (Youtube)[2] if necessary)

Karlsburg Images and Models

edit
Source Object 3D Model
 
Karlsburg Durlach - Germany
Regard3D - Generate 3D Model with just 14 images from different angles from the ground (no drone images) without the cleanup of the 3D mesh
 
(1) Regard3D Screenshot - Start Screen
 
(2) Regard3D Screenshot - Create New Project
 
(3) Regard3D Screenshot - Add Picture Set
 
(4) Regard3D Screenshot - Added Pictures
 
(5) Regard3D Screenshot - Press Button (Compute Matches)
 
(6) Regard3D Screenshot - Set Parameters for Matching Process
 
(7) Regard3D Screenshot - Show Matching Results
 
(8) Regard3D Screenshot - Start Triangulation and set Triangulation Parameter
 
(9) Regard3D Screenshot - Show Triangulated Points - Preparation for Calculation of Point Cloud
 
(10) Regard3D Screenshot - Calculation of Point Cloud - Time intensive Process
 
(11) Regard3D Screenshot - Point Cloud Setting - Set Colorisation Method to "TEXTURE"
 
(12) Regard3D Screenshot - View final Model

3D Object for Images

edit

Regard3D uses a set of images as a source to create a 3D object for it. The images will be recorded from different angles and different height. In this course you will learn to create a 3D model with Regard3D. Regard3Dis an OpenSource photogrammetry software, that creates a 3D model from a bunch of images.

Webbased Demos of Results

edit

Workflow for Photogrammetry

edit

Remarks for taking images

edit
  • (Number of Images) It is important to take 40 to 60 images and from multiple angles, to create good quality of the 3D model. More images need more computation time, but you will get a better quality of your 3D model.
  • (Buildings) 3D models of higher buildings (like the Castle in Durlach, example) miss some 3D points in upper area of the building. Snapshots from different heights are not always possible (e.g. snapshots from the top of another building close by)
  • (Drones) Drones can help to take images from different heights for different angles and distances from the scanned building.
  • (Small Objects) For smaller objects place a structured surface under your object you want to scan (e.g. chess grid with unique markers at the edges). It helps Regard3D to identify spatial locations of points and the mathing between the set of images (see demo on the right with a chess board like surface the has unique markers on the edges to support identification of 3D geometry). The surface can be removed after the calculation of the 3D model within Regard3D.
  • (Sunlight and Shades) avoid direct sunlight and shades in your images, because they might be detected as edges from a 3D objects and photogrammetry could create artefacts for the shades.
  • (Constant Light) Illumination of an object located outside may differ due to changes in the cloud or adaptation of the image brightnes by the camera (if bright objects or the sun is visible in the camera image). It is recommended to provide all the images with same constant brightness or make some corrections with an image processing software (e.g. Open Source software GIMP)
  • (Reflections) avoid reflections on the objects, because those reflections can be regarded as 3D points in the point cloud and these reflections could create artefacts in the generated 3D model. You can remove reflections with GIMP's Clone tool (Youtube)[2] if necessary)

For the 3D-point cloud the Castle Karlsburg in Karlruhe-Durlach, Germany was used and approx 14 images from different angle on the square were used with Regard3D. No drone was available to get images from a higher altitude.

Subsection

edit

Workflow with Screenshots

edit

The images on the right show a workflow with Regard3D step by step.

  • (1) Regard3D Start: Start Regard3D,
  • (2) Regard3D-New Project: Create a new project in Regard3D,
  • (3) Regard3D-Add Picture Set: add a set of picutres taken with you digital camera from different angles,
  • (4) Regard3D-Check Camera Sensor Width: after adding the a set of picutres, check in the list by scrolling to the right, if the camera sensor width is available in the camera sensor database. Sensor Width is the last column in the image (so scroll to right)
    • Image File Name
    • Image Size
    • Camera Maker
    • Camera Model
    • Focal Length
    • Sensor Width (required info about camera is coming from the Camera Sensor Database)
  • (5) Regard3D - Compute Matches: Compute Matches tries to identify a common points in different images in the loaded set of images. The reference points are the key info for reconstruction of the 3D model from the set of images.
  • (6) Regard3D - Set Parameters for Key Point Matching: create a triangulation of dense point cloud including texture point cloud.
  • (7) MeshLab; Cleanup the calculated 3D model with MeshLap.

Final Step: Cleaning the Point Cloud (MeshLab)

edit
  • Removing Artefacts in the point cloud,
  • Noise Removal in the point cloud
  • Optimize the mesh
    • size reduction
    • Texture optimization

The task mentioned above can be performed with OpenSource software MeshLab.

OpenSource Resources for Learning Resource

edit

3D Models

edit

3D Models can be added to a Photogrammetry Model (e.g. vehicles, plants, steam engine...)

Programming Task

edit

The following learning task are for advanced learner, that want to improve the results of Regard3D. Nevertheless it is a good software design exercise to analyse at least to the beginning of 3D model improvement.

  • Pattern recognition: Buildings consist of repeating symmetric elements. Explain a method,
    • how you could fill missing 3D points/voxels by identification of similar geometric elements in the 3D model in a building,
    • how to use symmetry assumption of a building and use them for correction of artefacts,
    • due to the assumption that some parts of the surface have some geometric properties (lines, circle, square, rectangles, ...) interpolation
  • Small Structure Injection: Assume we have a 3D model of a window that was scanned before with a higher resolution or was generated artificially (e.g. in Blender). Now we consider a Small Structure Injection (SSI) in a 3D model.
    • compare roughly scanned objects/surfaces with existing 3D models that might be identified in the 3D model and create an index between 0 and 1 that tells you similar the scanned surface from Regard3D is in comparsion to the reference 3D models that represent smaller elements.
    • define a threshold, when a smaller structure
    • replace the recognize part in the Regard 3D model with the injected part of the already existing 3D model with high resolution - this improves the grade of detail for the scanned model artificially.
    • The result looks better, but what are the consequences of this method? E.g. artefacts are more difficult to detect.
    • Apply the Small Structure Injection to leaves and twigs of a tree. What are pattern recognition concepts, to detect tree from 3D shape, color, ...? Is SSI an acceptable method for trees or plants in general and what are the requirements and constraints of such use-cases?

Videos

edit

See also

edit

References

edit
  1. 1.0 1.1 Regard3D Homepage - (accessd 2017/11/18) - http://www.regard3d.org
  2. 2.0 2.1 GIMP Tutorial - Removing an Object from an Image - by Aubrey Watt (2013) - Youtube Video https://www.youtube.com/watch?v=mXV6KKfOBAk
  3. Eduardo Cortez (2019) Regard3D Tutorial - from Installation to 3D Object - URL: https://www.youtube.com/watch?v=QOjy6oPnLDA (assessed 2020/02/07)
  4. Alan's Art Log (2018) How to Scan Objects into 3D Models II - Settings and Setup Comparisons - URL: https://www.youtube.com/watch?v=7pGJ8rWiecw (assessed 2020/02/07)