MANUAL
MANUAL
User Manual: Pdf
Open the PDF directly: View PDF .
Page Count: 11
Download | |
Open PDF In Browser | View PDF |
Tips on how to generate digital outcrop using SfM-MVS and extract attitudes of discontinuities using ply2atti and scanline 1 VIANA C.D. camila.duelis@gmail.com Institute of Geosciences / University of Sao Paulo ENDLEIN A. endarthur@gmail.com Institute of Geosciences / University of Sao Paulo January 22, 2018 1 This document contains additional information and modifications of the algorithms presented in ”DUELIS VIANA, C. et al. Algorithms for extraction of structural attitudes from 3D outcrop models. Computers and Geosciences, v. 90, p. 112-122, 2016”. The reader should address the same for more information. Contents 1 Introduction 2 2 System requirements 3 3 Workflow 3.1 Image Acquisition . . . . . . 3.2 Generating the digital model 3.3 Selecting planes . . . . . . . 3.4 Ply2atti and Scanline . . . . 3.4.1 ply2atti . . . . . . . 3.4.2 scanline . . . . . . . . . . . . . . . . . . and georeferencing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Troubleshooting 4.1 The mesh is distorted or loaded in “slices” on Meshlab . 4.2 The attitudes of the reference planes are different from ones measured on the model . . . . . . . . . . . . . . . . 4.3 Ply2atti can’t process the mesh . . . . . . . . . . . . . . 4.4 Ply2atti returned no data . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . 3 3 4 6 9 9 10 10 . . . 11 the . . . 11 . . . 11 . . . 11 Introduction In this guide we try to detail the procedures adopted for digital model generation, from photo acquisition to georeferencing, and structural attitudes extraction as shown on “Algorithms for extraction of structural attitudes from 3D outcrop models” (Computers & Geosciences, Volume 90, Part A, May 2016, Pages 112–122), available HERE. A test model (Validation Model, referred as Site 1 on the paper), consisting of wooden planes is used as an example. The instructions emphasize the necessary cautions when building 3D models from rock slopes and on the selection of planes and discontinuities from these models. The scripts used in this work are also available ( you can download ply2atti here and scanline here or install directly from the PyPI) . We present short manuals on how to use them and solutions to some of the issues that may arise during processing. 2 2 System requirements All instructions contained on this manual refer to commands used on a Windows 10 PC, tough both scripts should work on Linux and Mac. For the generation of complex models it is recommended to use a PC with an Intel Core i7 processor or higher and at least 8 GB of RAM, being 32 GB preferred. The following components must be installed for the workflow: • Python (2.7.x or 3.x): Python is an easy to use but powerful object oriented language. Available at www.python.org/downloads. • Numpy: numeric package for python that greatly facilitates and accelerate operations between vectors and matrices. Available at www. numpy.org. • NetworkX: a python package for creation, manipulation and analysis of graphs. Available at http://networkx.github.io. Both Numpy and NetworkX can also be installed by using the following commands from the command line: pip install numpy networkx 3 Workflow 3.1 Image Acquisition The acquisition of photographs for SfM processing is relatively simple, as the the placement of control points is not necessary for scene restitution. In the specific case of the ply2atti-scanline workflow the control points (GCP) are used for georeferencing, orienting and scaling the model. That said, some guidelines must be followed to increase the processing efficiency and reduce the noise on the resulting model, making necessary some planning according to the target application. We used Agisoft Photoscan software (Professional edition, version 1.0.1) for digital model generation. To maximize processing efficiency and reduce noise, Agisoft provides some guidelines that must be followed. For our application, the following instructions are the most relevant: • 5Mpx minimal resolution. Great results obtained with 12Mpx; • Avoid fish-eye and wide angle lenses; 3 • Pictures must be taken at maximal resolution; • Use of RAW images losslessy converted to TIFF (Tagged Image File Format). We used XnConvert software (available here ), but this step may be taken in any image processing package that supports this conversion without any quality loss; • Number of ”blind-zones” should be minimized since PhotoScan is able to reconstruct only geometry visible from at least three cameras. Camera positioning is another issue that requires attention. When photographing outcrops, Figure 1 represent advice on appropriate capturing scenario. Figure 1: Correct and incorrect camera positioning. 3.2 Generating the digital model and georeferencing The software Photoscan by Agisoft was chosen for the generation of the digital models. This is a commercial package, but it offers a 30 day test license and academic licenses. Other software can be used for this part, as the opensource VisualSFM, tough the model quality can vary from those obtained in this work (available at ccwu.me/vsfm/install.html). Photoscan has a very simple interface and an easy to use workflow. The tools used here are available on the Professional version. First it is necessary to load the images on the system, which can be done either by creating a chunk (Add Chunk) and inserting the images (Add Photos), or directly on the Workspace pane. Working in chunks allows creating parts of the 4 model separately, making the workload lighter (speeding up processing) and generating parts that can be merged in a single model afterwards. The next step, masking, is used to remove unnecessary parts of the scene. It is not required for the system to work, but it is recommended as it might enhance the model and processing speed. By double clicking on each picture, a new tab is opened with the selected photograph. Using the tool Intelligent Scissors the user selects a polygon that must be deleted (like trees, sky, objects, people) and then this selection is added to the mask with the tool Add Selection (Ctrl+Shift+A). The selected part is grayed out and will be ignored in the following steps of the processing (Fig. 2). Figure 2: To mask undesirable areas, use Inteligent Scissors (1), select the area (2) and click Add Selection (3). From this point it is necessary to follow the enabled operations in order in the menu Workflow. First the software will align the images (Align Photos) according to the features that are automatically extracted from the images and build a sparse point cloud together with the relative positions of the camera. Then the options Build Dense Cloud and Generate Mesh are enabled. Even though it is possible to reconstruct the mesh from sparse data, the quality of the surface might not be enough for geotechnical applications, especially if the software cannot recognize many features from the images (for example, in a rock with low variations of color). The tool Dense Cloud generates a high quality and high-density point cloud, comparable with those obtainable with LIDAR. The software uses the calculated 5 positions of the camera to build a depth map for each image and from these build a new cloud. The next step consists of generating a triangular mesh using the chosen point cloud (Generate Mesh). The dense cloud should be used for geotechnical applications, as it is more detailed. At last, the Build Texture tool adds color and textures to the faces generated in the previous step. The georeferencing can be made at the final stage – locating each GCP at the model – or at the beginning, locating them on each image. In both cases the procedure is made right-clicking on the GCP and selecting Create Marker. The point is automatically created at a table on the Reference pane, where its coordinates can be edited with a double click on the cell. To attribute the coordinates, click the Update button (Fig. 3). Figure 3: To add GCPs, right-click the desired point and select Create Marker (1). To insert coordinates, double click the cell at the Reference pane(2). Click Update (3) to update georeferencing. 3.3 Selecting planes The model built on Photoscan must be exported in either the .obj (wavefront obj file) or .stl (StereoLithography) (File>Export Model) formats and then loaded on Meshlab (File > Import Mesh), which is an opensource 3D Mesh and Point Cloud processing software that can process even large files. It is available at meshlab.sourceforge.net. 6 The user should then paint the planes to be measured using the ZPainting tool, with maximum hardness to obtain a pure color and reducing the brush size for better painting precision (Fig. 4). The structures can be separated with different colors and the user must take note of the RBG values of the used colors for the next step. The selection must be careful as not to make different planes with the same color share a vertex, which would make the script recognize these as the same plane. The model with the painted planes should be exported in the .ply format (Stanford Polygon) with binary encoding and no texture coordinates (Fig. 5). Figure 4: For plane selection use the ZPainting tool (1), place the hardness at its maximum value. Color in the surface (2), controlling brush size according to the need. In cases where planes are visible only by their traces, the placement of a virtual scanline is made manually on MeshLab using the PickPoints tool. First, the start-end points of the line are placed by right clicking on their respective locations. Afterwards, for each individual recognizable surface and trace along the scanline that crosses it, three points are placed: two at start-end and one mid-point. The points can be labeled on the tool, by giving them the same name for each plane. The digital surface texture and high point density ensures that, even for traces, the three selected points for each feature are extremely unlikely to be collinear, allowing a “three-point problem” solution. The selected points are then exported on a XML file with 7 Figure 5: Selected options to export a .ply on MeshLab. .pp termination by clicking Save on the PickPoints tool window. The .pp file stores X, Y, and Z coordinates of all the selected points – being scanline start-end points and three points per discontinuity – and point names (Fig. 6). Figure 6: Screenshot of sampling procedure using PickPoints tool on MeshLab. The green prism indicates the scanline start point. On the zoomed image the dashed lines indicate the discontinuities and the white numbers (“1” and “2” indexes) show the three selected points for each plane, as they appear on the screen. To select a feature, use the Pick Points tool. Select start-end points (S1 and S2) and three points for each trace, right clicking them. Use the Rename Point button to assign an index to the feature. Export the points by clicking Save. 8 3.4 Ply2atti and Scanline Both scripts are on the PyPi, the python package index, and can be installed using pip install ply2atti scanline This will download the scripts and add them to the scripts folder of the python installation, allowing them to be called from any command line if python was installed on the system path. Details on invoking the scripts might be seen by using the -h (--help) option: > ply2atti -h > scanline -h 3.4.1 ply2atti To use the ply2atti script on a .ply file that contain painted planes the following command can be used: > ply2atti -f INFILE R1,G1,B1 R2,G2,B2 ... Being INFILE the filename of the .ply file and R,G,B the RBG tuple of each color used to paint the planes. For example: > ply2atti -f example.ply 255,0,0 0,255,0 Will extract the planes painted with pure red (255,0,0) and pure green (0,255,0) from the mesh. Two files will be output, one containing only the attitudes of each plane and the other with full information, including the attitude, centroid and estimated persistence of the plane. All colors will be put together in the same file by default, but the option -split allows each color to be output to a different file set. To visualize the centroids of the calculated planes the CloudCompare software (available at http://www.danielgm.net/cc/) can be used. First the base .ply file should be opened (File> Open). Then, on the Open ASCII File window, set the first dropdown menu to coord. X (Fig. 7). Automatically the heading of the next columns will be replaced by coord. Y and coord. Z. Click OK. At the right pane (DB Tree) it is possible to visualize both files. You can chance point size clicking on the .txt file at the DB Tree pane and choosing the Point size option at the Properties window. 9 Figure 7: Loading the coordinates .txt file on Cloud Compare. 3.4.2 scanline The scanline script can be used as follow: > scanline INFLINE Using the default settings, the points named S1 and S2 will be used as the beginning and end of the scanline, respectively, and each trio of points with the same name will be used as a plane. As default, the results are output to the screen, which can either be copy/pasted or redirected to a text file as: > scanline example.pp > example\_out.csv Or the output filename can be given with the -out option, followed by the output filename. 4 Troubleshooting Aside from the errors that have solutions directly suggested by the software, some issues that may happen during processing must be highlighted. Their description and possible solutions are: 10 4.1 The mesh is distorted or loaded in “slices” on Meshlab If the model generated on Photoscan is not being correctly loaded on Meshlab the solution might be by reducing the large coordinates used for georeferencing. UTM coordinates are large and might not load correctly. On the tests that were made, cutting the first two numbers of each coordinate solved the problem. This solution does not alter neither the attitudes nor the scale of the model, only its geographical location. That way, to load the results on a GIS software or Google Earth it is recommended that the model be directly exported as a KMZ file from Meshlab. 4.2 The attitudes of the reference planes are different from the ones measured on the model In case the attitudes of the selected planes are not similar to the ones measured in the field, a possible solution might lie on the previous issue. For very large meshes Meshlab can’t load large coordinates, and as such it reduces them. In this process, the axes might be swapped, altering the attitudes. Ply2atti adopts the coordinate system where the X, Y and Z axis correspond to East, North and Up. It is possible to check the axis alignment on Meshlab by using the option View>Trackball>Reset TrackBall, or the shortcut Ctrl+H. That will make the program reset to the standard view, where X is the horizontal axis, positive to the right, Y is vertical, positive up, and Z is the orthogonal axis, positive out of the computer screen. If the axis do not coincide, it is recommended to change the coordinates, as explained above. 4.3 Ply2atti can’t process the mesh An error that was observed during testing that can be easily corrected. If ply2atti shows an error message and don’t process the mesh the issue must be with the file exported from Meshlab. Meshlab associates a texture to the .ply file when the model is exported, and to prevent that the TexCoord checkbox must be unchecked on the Wedge box on the export dialog. 4.4 Ply2atti returned no data If the output file contains no data, it is possible that the reference colors given to the script are incorrect, and as such it can’t locate the planes. It is important to check the RGB values of the colors used to paint the planes. 11
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.5 Linearized : No Page Count : 11 Page Mode : UseOutlines Author : Title : Subject : Creator : LaTeX with hyperref package Producer : pdfTeX-1.40.17 Create Date : 2018:01:22 17:48:03Z Modify Date : 2018:01:22 17:48:03Z Trapped : False PTEX Fullbanner : This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) kpathsea version 6.2.2EXIF Metadata provided by EXIF.tools