3. Process for Producing Elevation Orthophotographs: The Example of the Early Christian Church of Mirine
p. 75-98
Texte intégral
3.1. Introduction: the special relevance of MicMac for processing elevations
1MicMac is a very efficient and versatile software that can be proposed as an alternative to Metashape, which is currently the most commonly used program for the production of orthophotographs in archaeology. However, this latter software has a major drawback as regards its use in scientific contexts: it produces results that are difficult if not impossible to reproduce (especially when using a GPU) (Pamart et al. 2019). Likewise, in order to produce vertical orthophotographs the user must carry out a large number of interventions directly on the cloud point or in post-processing to obtain a result (masks, manual orientation of the model, manual scaling of the result, etc.) The production of orthophotographs necessarily involves meshing and texturing the 3D model, which in turn implies interpolations and additions that can lead to potential changes and inaccuracies in the resultant data. These aspects set limits on the evaluation of the reliability and reproducibility of the results, which depend as much on the quality of the data set as on the rigour of the users. Despite a rather unappealing command-line interface, MicMac allows one to obtain reliable and reproducible readings: the software does not compensate for any gaps in the acquisition in an opaque manner, and it does not require the user to intervene on the model.
2Vertical orthophotographs are produced by mathematical calculations of solid geometry, which we will look at in greater detail below. In broad terms, this consists in the calculation of a new temporary Cartesian and local space, based on georeferencing: the user enters the plan (i.e., the wall, the section, the façade etc.) from which he/she wishes to produce the orthophotograph, which allows a switch from a georeferenced orthophotograph, based on the horizontal plan of the model, to a vertical, but non-georeferenced, orthophotograph.
3.2. Experimental framework
3The photogrammetry protocol presented here is a result of our research into the virtual architectural reconstruction of an Early Christian church at Mirine in Croatia (fig. 29). It is part of the Mirine-Fulfinum archaeological site, located near the village of Omišalj on Krk Island. The church of Mirine (fig. 30) was built on the edge of the ancient city of Fulfinum, founded ex nihilio in the 1st century AD. The plan of the church presents a Latin cross, with a single nave and flat chevet, flanked to the north and south by two small liturgical chambers. The nave was entered from a vestibule, with a tower to the south. The arms of the transept are essentially square and thus do not extend far from the nave. The edifice was constructed in opus incertum using uncut local limestone blocks, and measures roughly 30 m in length by 12 m in width – not counting the vestibule and the arms of the transept – and is preserved to a height of 5 to 9 m. The atrium, which was added in a second phase of building against the tower and the church, is less well preserved and measures 25 m on each side.
4The church was partially surveyed after the Second World War, but the first architectural study was conducted in the 1970s by Ante Šonje (Šonje 1978). He carried out a general study of form and stylistics that placed the construction of the church in the mid-5th century. The church was only excavated in 1993, continuing until 2005, under the supervision of Nino Novak (Bully, Čaušević-Bully 2011). Unfortunately, these excavations were not regularly published and there are no excavation reports. There are only two publications which provide an idea of Novak’s line of research (Novak, Bložić 1995; Novak 1999). First of all, he focused on issues linked to the foundation of the city of Fulfinum and its relations with Curicum (Krk) before it was abandoned and the Mirine complex was constructed. The initial publication mentions six surveys in the nave and tower. The second concentrates solely on the graphic reconstruction of the church’s chancel, and does not touch upon the excavations that were ongoing at the same time.
5Currently the church is no longer the object of systematic excavations. Nonetheless, nearby sectors, and especially the church with three apses, have been excavated by Morana Čaušević-Bully since 2016 as part of the EFR’s KVARNER programme. Questions raised during the study of constructions around the church have reawakened interest in Mirine: along with geophysical prospections conducted in the nave and atrium in 2012, airborne data acquisition intended for a comprehensive photogrammetry survey was undertaken in 2016 by Matthieu Thivet. The aim of this campaign of photogrammetry coverage was to draft a plan of the remains and develop a 3D model. Unfortunately, given the objectives of these initial surveys, we could not use them in our study because the photos were taken at a high angle and too far from the vestiges. That same year a final trench was opened in the atrium on the basis of geophysical prospections, but it proved unfruitful.
6The master’s thesis on which this protocol is based intended to review the data gathered regarding the church, despite the large bibliography involved (Gnirs 1914; Szabo 1930; Šonje 1978; Novak, Bložić 1995; Chevalier 1995a; Chevalier 1995b; Novak 1999; Bully, Čaušević-Bully 2011; Čaušević-Bully 2013), and especially the works proposing graphic reconstruction. Certain architectural issues had never truly been tackled: reconstructions of the existing volumes had only focused on aspects of the external facades, and on the chancel. Any questions concerning the evolution of the building as regards its architecture or layout had never really been asked. The difficulty of this task lay in the fact that the church had been restored and partially rebuilt shortly after the excavations, and this situation was made worse because the digs had never been published and there was no proper record of the state of the building before restoration. Thus, one of the first stages involved passing a critical eye over the authenticity of the masonry, which would not have been possible without elevation surveys.
7Given the large dimensions, we naturally turned towards digital survey methods, including photogrammetry.
3.3. Specific nature of acquisition for elevations
8The prior decisions to be made as regards the choice of equipment, guidelines of the preparation and acquisition protocol, as well as the topography, hardly change from that which has already been presented in the preceding section. Here, we will present our own specific acquisition conditions.
9Given our research issues, we planned for a resolution of about 1cm/pixel. In the knowledge that the walls were more or less the same and free of any elaborate decoration, it was not necessary to be any more precise, even though, as things turned out, we managed a resolution of 1 mm/pixel. Photo acquisition was conducted for most of the elevations using a DJI Phantom 4 Pro drone. In other places, such as the western façade, acquisition was with a Canon EOS 6D digital camera with a fixed focus 24 mm lens fitted on a pole. This choice was due to the accessibility from land and air, especially because of the thick vegetation around the church, the limited space in places to step back from the walls, and because of the great heights involved.
10Nevertheless, not all of the building was covered by photogrammetry, for three reasons: some elevations were very difficult to access, whatever the equipment used; these were considered inessential to our study; and the ensemble of the building was also surveyed using a terrestrial laser scanner. The use of both methods was particularly relevant in our case, since we were interested in the masonry in order to evaluate its authenticity, and we needed a full survey that would give us the edifice’s dimensions and volumes as a basis for our reconstruction.
Acquisition conditions
11We conducted the acquisition of each elevation in such a way as to be able to process each one independently. We shall see below that it is possible to extract several orthophotomosaics from the same point cloud, but this requires a lot of computing power and storage capacity, as well as time-consuming preparation of the data. Our choice also held the advantage of being able to test the newly acquired set in case of any doubt: portable computers have less power and storage than a desktop machine. In our case, the sets did not exceed fifty or so photos, with a few exceptions. We were therefore able to check if our processing was satisfactory while we were on site, even if it meant complementing the set if necessary.
12If the dimensions of the elevations being surveyed allow, the setting of GCPs is really no different from the procedures in plan-view orthophotographs. At Mirine, we were unaware of the recommendations regarding placing GCPs, and we used four, which we tried to distribute over the area that was accessible on foot and with a ladder. Specialists recommend at least five GCPs, and up to a maximum of ten if there are topographic levels to be covered (Girod 2018, p. 31-32). It is advisable to place four at the corners and one in the centre of the objective. If the elevations are very high, place the upper two as high as possible.
13As with plan-view orthophotographs, follow an S-shaped progression, moving the camera sensor sideways (right, left, from top or bottom), while being careful to take the photos as perpendicular as possible to the wall, and thus ensuring a small angle of incidence (fig. 31). It is, of course, useful to have a drone or a pole at hand for the highest inaccessible parts. When the camera’s angle of incidence vis-à-vis the objective is too large, anomalies will appear in the processing that make the results difficult to read.
Environmental constraints
14It is essential to avoid the appearance of vegetation in the photos: movement caused by the wind prevents correct correlation between images, and leaves lead to anomalies during processing. If vegetation zones cannot be avoided, go around them, even if it means taking more photos. For example, at Mirine, the northern face of the north lateral wall required 150 shots because of the vegetation because we could not stand back far enough in order to take only fifty or so as with the other elevations. In addition, we were not able to process the exterior wall of the tower because the branches of a tree standing right in front prevented photos being taken, either because the leaves were in the field of vision, or because we could not handle the camera correctly. As a general rule, any element that is sensitive to wind or that might move should be carefully avoided, immobilised, or removed from the scene, likewise with people, moving vehicles, animals, etc. (Van Dongen 2011).
15The northern face of the north lateral wall was particularly troublesome. Apart from the vegetation, the sky was clear and the church in full sun on the day of acquisition, and so we had to wait for the end of the day to avoid cast shadows. However, given that the wall is oriented north-north-west, some photos were inevitably taken into the light. Backlighting should be avoided since is not good for processing, especially if photos show reflections and light dispersion through the lens, which take the form of a light artefact on the image (such as halos). Thus, we did not use photos that had been too affected this way even if it meant gaps in the processing because of less coverage.
3.4. Processing
16The protocol presented here largely reiterates what has gone before, and so we will try not to repeat most of the commands. We will present the protocol starting from the first change in the command chain. The commands are the same until the stage entitled “Geopositioning of the model – Final adjustment of camera orientation” with the tool Campari. The rest of the processing procedure is taken directly from a MicMac wiki tutorial focussed on elevations, which can be consulted at: https://micmac.ensg.eu/index.php/Pierrerue_tutorial. While it is illustrated using orthoimage computing of a building’s elevations, this protocol is also suitable for stratigraphic sections, with a particularity that we shall explain in the following sub-section (cf. 3.5).
3.4.1. Truncating point clouds before densifying oriented point clouds
Command
mm3d SaisieMasqQT sparse_cloud_geo.ply
Description
17SaisieMasqQT – This tool is a graphical user interface for creating a mask. The mask can be applied to a point cloud or a photo.
18sparse_cloud_geo.ply – This is the name of the file on which we want to apply the mask. The file name does not have to be written into the command because a file can be dragged and dropped directly into the tool window. However, for the sake of reproducibility of results, we recommend that the name be written into the process.
NB
19At this stage, a mask is created to lighten the computing of the dense cloud. This is not necessary when calculating a planar orthophotomosaic since the edges of the object under survey do not pose a problem. On the other hand, when surveying elevations or sections, one must focus the calculation exclusively on the surface of interest and avoid calculating elements from other surfaces. Processing will be lighter and the results more legible.
20To create a mask, open editing mode with F9 and draw a polygon, then apply an action. All shortcuts and actions can be consulted by typing F1. Be careful that the mask corresponds to the area to be processed and not the area to be ignored. If one does not pay attention to this, the end results could be totally wrong. The polygon appears in green on the images. Points in the point cloud that are not part of the mask will become grey/purple after validation (fig. 32). Some settings, including language (English, French or Spanish), can be modified and saved for future use.
Production
21This command produces two XML files: sparse_cloud_geo_polyg3d.xml et sparse_cloud_geo_selectionInfo.xml 3D and 2D data of the selection polygon.
3.4.2. Point cloud densification
Command
mm3d C3DC MicMac ".*JPG" CAL-Terrain Masq3D=sparse_cloud_geo.ply Out=dense_cloud.ply
Description
22C3DC –Automatic point cloud densification tool using oriented images.
23MicMac – This argument defines the point cloud reconstruction method. It is a mid-density multistereoscopic mode. For every image, the correlation computing applies to all possible pairs with a definition divided by four (ZoomF=4). For higher density, use the argument BigMac (ZoomF=2); for low density, QuickMac (ZoomF=8).
24".*JPG" – All images are involved in the calculations.
25CAL-Terrain – The command is based on the definitive calibration and orientation directory.
Production
26The command produces the dense_cloud.ply file, a dense point cloud in PLY format viewable in CloudCompare. The files MMByPairFile.xml and MMByPairCAWSI.xml also appear in the work directory: they save the stereoscopic pairs used for the reconstruction. Two new directories are created: PIMs-MicMac and Pyram. In fact, C3DC calculates the depth maps for every image using the PIMs tool, which is held in the first. The second saves sub-sampled copies of each photo whatever the selected C3DC mode.
3.4.3. Input of mask defining the orthophotograph plan
Command
mm3d SaisieMasqQT 1.JPG Attr=plan
Description
27SaisieMasqQT – The same graphical interface mentioned above, used here to create a 2D mask (fig. 33). Any photo from the set will work, as long as the area to be used to calculate the new plan is featured. Similar to geometric projections in architecture, this plane is the one in front of which the final “view” must be. It is not necessary to mark an area covering the entire plan; any sort of polygon will be enough for MicMac to determine the average plan.
281.JPG – A single photo is needed, the most relevant to identify the reference plan.
29Attr=plan – This argument defines the suffix to be applied to the image corresponding to the mask. The command adds the suffix _Masq by default to all masks, thus allowing them to be differentiated if several masks are produced.
NB
30In order to calculate elevation orthophotographs with MicMac, the vertical axis of the plane should be facing towards the surface, as we would be when standing in front of a wall (even if it is on a slant), or perpendicular to the plane one wants to feature in the orthophotograph. This stage defines the plane in relation to which the “view” will be placed using an image. When making a planar orthophotograph, the vertical axis is pre-defined by georeferencing and does not need to be modified, and so no intervention is needed.
3.4.4. Calculating a temporary reference space
31This stage, combined with the preceding, is what distinguishes MicMac in the processing of vertical orthophotographs, since it provides mathematically reliable and reproducible results without any manual interaction with the model. It involves recalculating temporary Cartesian coordinates from georeferencing without changing the orientation of the model. You have a choice between two solutions according to the results that you wish to obtain and/or the object that you are surveying. The outcome will depend upon the argument that defines orientation: HOR or HORVy.
Command
mm3d RepLocBascule ".*JPG" Ori-CAL-Terrain HOR Repere-elevation.xml PostPlan=_Masqplan
or
mm3d RepLocBascule ".*JPG" Ori-CAL-Terrain HORVy Repere-elevation.xml PostPlan=_Masqplan
Description
32RepLocBascule – This tool creates a temporary refence point without changing the orientation of the model.
33Ori-CAL-Terrain – The command is based upon the definitive calibration and orientation directory.
34HOR – This argument moves the Ox axis at the intersection between the horizontal plane fixed by georeferencing and the average plane defined by the mask in the preceding stage. The Oy axis becomes perpendicular to the average plane defined by the mask. This argument is of relevance if you need the “point of view” to be placed facing the area defined in the mask. This argument is also relevant for surveying a stratigraphic section, or any other surface that is not perfectly vertical (fig. 34).
35HORVy – This argument shifts the Oy axis, which becomes the vertical axis while preserving horizontality. Ox is also moved at the intersection of the horizontal plane defined by georeferencing and the average plane defined by the mask as with HOR, but HORVy changes the coordinates of Oy which then has the characteristics of a strictly vertical axis. In fact, one can see in the Repere-elevation.xml file that its X, Y and Z coordinates are 0, 0 and 1. Select this argument to draw stone-by-stone or for all standard technical architecture documentation (fig. 35).
36Repere-elevation.xml – Name of the XML file holding data relating to the temporary reference point.
37PostPlan=_Masqplan – This argument calls up the mask produced in the preceding stage by entering only the suffix given to the image name.
Production
38This command produces an XML file: Repere-elevation.xml. It gathers the temporary Cartesian coordinate data that will then be used to produce the orthophotomosaics, the view of which will be oriented according to your requirements.
3.4.5. Producing the orthophotographs
Command
mm3d PIMs2MNT MicMac DoOrtho=1 Repere=Repere-elevation.xml
Description
39PIMs2MNT – This tool calculates firstly the depth maps for each image (using the PIMs, Per Image Matching tool) leading to the production of a DTM.
40MicMac – This argument must strictly correspond to the definition selected in stage 3 .4.2. The different possible options are the same as those for the C3DC tool.
41DoOrtho=1 – This argument asks the tool to recompose an orthophotograph for each photo because it does not do so as a matter of course.
42Repere=Repere-elevation.xml – Without this argument, the new local reference point that has previously been calculated is not taken into account.
Production
43This command produces four new directories. The files that will serve in the following calculation are stored directly in PIMs-ORTHO. It brings together all the orthophotograph mosaics and the depth map of every image as well as the World georeferencing (.tfw) and XML file corresponding to each mosaic. PIMs-TmpBasc, PIMs-TmpMnt and PIMs-TmpMntOrtho are temporary directories.
3.4.6. If several point clouds are modelled at the same time (optional)
Description
44Pat="elevation1.*JPG" – This argument, added to the previous command, calculates the orthophotomosaic for only part of a point cloud, using only the images concerned.
NB
45This option requires a slightly more laborious preparation of the data set beforehand. The photos of each part must be named with a prefix. One must be careful of the case, and avoid accents, spaces and other special characters. Here we have used the prefix elevation1 as an example, but the name chosen for each wall during the survey is certainly more appropriate so as not to get lost. The command Tapas must be applied for each part if the camera settings have been changed, for example, to give a better depth of field during the acquisition of external corners. It is also advisable to not include photos of corners in the calculation. Indeed, the resultant orthophotomosaic risks being stretched because of the angle of incidence of the view point vis-a-vis the object surface.
46We advise against modelling the entirety of the object under study if there is a large number of elevation orthophotomosaics to be calculated. This would require very great computing power and would not save that much time. It is better to process each elevation individually if one does not have a high-performance work station and good storage capacity. Nonetheless, it can be done if the building is small or if one is surveying a small group of contiguous elevations presenting a limited area acquired with a small number of photos (less than fifty). Should the site absolutely require a complete 3D model, it is then definitely more appropriate to obtain coverage using a terrestrial laser scanner rather than with photogrammetry.
47This argument is indispensable if you are modelling several elevations at the same time, otherwise PIMs2MNT will not function. In fact, calculating the orthophotograph is only possible with photos taken by a camera whose maximum angle of incidence in relation to the average plane is that defined in stage 3.4.3. Within PIMs2MNT it is predefined at 1 radian (roughly 57°) and cannot be modified in the command. As a result, any photo in the set that exceeds this angle of incidence will prevent PIMs2MNT from calculating the orthophoto.
3.4.7. Producing the orthophotomosaic
Command
mm3d Tawny PIMs-ORTHO/
Description
48Tawny – This tool automatically assembles the orthophotographs to produce an orthophotomosaic.
49PIMs-ORTHO/ – Indicates which directory holds the orthophotographs that are to be assembled.
Production
50This command produces two files in the directory PIMs-ORTHO: Orthophotomosaic.tiff, the final result of processing (fig. 36), and Orthophotomosaic.tfw. This latter holds the World coordinates of the orthophotomosaic. The first line indicates the ground sample distance in metres. The last two lines correspond to the shortened X and Y coordinates of the pixel in the bottom left-hand corner of the image.
NB
51Here, with the shift in reference point, these coordinates no longer reflect any geographic reality, however, one must be careful: the TIFF file must always be with the corresponding World file in the same directory and must have exactly the same name (except the extension). Indeed, in order to be able to process the orthophotomosaic within a GIS, the World file gives access directly to an image in real size with no manipulation by the user.
3.4.8. Assembling orthophotomosaic tiles (optional)
Command
mm3d ConvertIm PIMs-ORTHO/Orthophotomosaic.tif
Description
52ConvertIm – When the orthophotomosaic is greater than 1 GB, MicMac cuts the image into several tiles. This command allows for automatic reassembly.
53PIMs-ORTHO/Orthophotomosaic.tif – This argument automatically searches for the tiles in the file Orthophotomosaic.tif in the directory PIMs-ORTHO.
NB
54This command produces the file Orthophotomosaic_Out.tif in the directory PIMs-ORTHO. One must remember to rename the World file Orthophotomosaic.tfw as Orthophotomosaic_Out.tfw in order to be able to use the processed results thereafter.
3.5. Archaeological sections: a special case
55When producing orthophotographs of archaeological sections, all the preceding stages are the same as for elevation orthophotographs, as in the preceding chapter. Here, we will only review stage “3.4.4 Calculating a temporary reference space” in the case of archaeological sections. This stage, combined with the preceding (see 3.4.3), is what distinguishes MicMac in the processing of vertical orthophotographs, since it provides mathematically reliable and reproducible results without any manual interaction with the model. It involves recalculating temporary Cartesian coordinates from georeferencing without changing the orientation of the model.
Command
mm3d RepLocBascule ".*JPG" Ori-CAL-Terrain HOR Repere-elevation.xml PostPlan=_Masqplan
Description
56RepLocBascule – This tool creates a temporary directory without changing the orientation of the model.
57Ori-CAL-Terrain – The command is based on the definitive calibration and orientation directory.
58HOR – This argument moves the Ox axis at the intersection between the horizontal plane fixed by georeferencing and the average plane defined by the mask in the preceding stage. The Oy axis becomes perpendicular to the average plane defined by the mask. This argument is of relevance if you need the “point of view” to be placed facing the area defined in the mask. This argument is also relevant for surveying a stratigraphic section, or any other surface that is not perfectly vertical (fig. 30).
59Repere-elevation.xml – Name of the XML file which will store the data relating to the temporary directory.
60PostPlan=_Masqplan – This argument calls up the mask produced in the previous stage by entering only the suffix applied to the image name.
Production
61This command produces an XML file: Repere-elevation.xml. It gathers the temporary Cartesian coordinate data that will then be used to produce the orthophotomosaics, the view of which will be oriented according to your requirements
NB
62Usually, the command string continues from stage 3.4.5. For more information on how they function, and on possible optional commands and arguments, see the preceding chapter.
mm3d PIMs2MNT MicMac DoOrtho=1 Repere=Repere-elevation.xml
mm3d Tawny PIMs-ORTHO/
Le texte seul est utilisable sous licence Licence OpenEdition Books. Les autres éléments (illustrations, fichiers annexes importés) sont « Tous droits réservés », sauf mention contraire.
Michelet, à la recherche de l’identité de la France
De la fusion nationale au conflit des traditions
Aurélien Aramini
2013
Fantastique et événement
Étude comparée des œuvres de Jules Verne et Howard P. Lovercraft
Florent Montaclair
1997
L’inspiration scripturaire dans le théâtre et la poésie de Paul Claudel
Les œuvres de la maturité
Jacques Houriez
1998