Photogrammetry/Regard3D

From Wikiversity
Jump to navigation Jump to search
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

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

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 image need more computations 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)


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]

  • It is important to 40 to 60 of images and from multiple angles, to create good quality of the 3D model. More image need more computations 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)[4] 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 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?

See also[edit]

References[edit]

  1. Regard3D Homepage - (accessd 2017/11/18) - http://www.regard3d.org
  2. GIMP Tutorial - Removing an Object from an Image - by Aubrey Watt (2013) - Youtube Video https://www.youtube.com/watch?v=mXV6KKfOBAk
  3. Regard3D Homepage - (accessd 2017/11/18) - http://www.regard3d.org
  4. GIMP Tutorial - Removing an Object from an Image - by Aubrey Watt (2013) - Youtube Video https://www.youtube.com/watch?v=mXV6KKfOBAk