APPLICATIONS OF PANORAMIC IMAGES : FROM 720 ° PANORAMA TO INTERIOR 3 D MODELS OF AUGMENTED REALITY

A series of panoramic images are usually used to generate a 720° panorama image. Although panoramic images are typically used for establishing tour guiding systems, in this research, we demonstrate the potential of using panoramic images acquired from multiple sites to create not only 720° panorama, but also three-dimensional (3D) point clouds and 3D indoor models. Since 3D modeling is one of the goals of this research, the location of the panoramic sites needed to be carefully planned in order to maintain a robust result for close-range photogrammetry. After the images are acquired, panoramic images are processed into 720° panoramas, and these panoramas which can be used directly as panorama guiding systems or other applications. In addition to these straightforward applications, interior orientation parameters can also be estimated while generating 720° panorama. These parameters are focal length, principle point, and lens radial distortion. The panoramic images can then be processed with closerange photogrammetry procedures to extract the exterior orientation parameters and generate 3D point clouds. In this research, VisaulSFM, a structure from motion software is used to estimate the exterior orientation, and CMVS toolkit is used to generate 3D point clouds. Next, the 3D point clouds are used as references to create building interior models. In this research, Trimble Sketchup was used to build the model, and the 3D point cloud was added to the determining of locations of building objects using plane finding procedure. In the texturing process, the panorama images are used as the data source for creating model textures. This 3D indoor model was used as an Augmented Reality model replacing a guide map or a floor plan commonly used in an on-line touring guide system. The 3D indoor model generating procedure has been utilized in two research projects: a cultural heritage site at Kinmen, and Taipei Main Station pedestrian zone guidance and navigation system. The results presented in this paper demonstrate the potential of using panoramic images to generate 3D point clouds and 3D models. However, it is currently a manual and labor-intensive process. A research is being carried out to Increase the degree of automation of these procedures.


Background
Point cloud is one of the intermediate data for mapping and three dimensional (3D) modeling.The increase of the popularity using point cloud comes after the Light Detection and Ranging (LiDAR) technology.In the field of digital archiving of architectures, LiDAR technology is widely used due to it's simple to operate machines and highly automated processing software.However, the price of the LiDAR system is pretty high compare with photogrammetry/computer vision solutions.As a result, our research team is on the quest of developing a streamline procedure for close-range photogrammetry generating 3D building models.This paper demonstrate our intermediate result, prove-of-concept, of creating point cloud from panoramic images and forming 3D model with this point cloud.
The technique used to create 3D models of architectures in the past decade is mainly LiDAR systems.LiDAR system scans the surface of the object and create point cloud.Point clouds are then processed with semi-automatic procedures to generate parametric 3D models.The procedure of acquiring point clouds is relatively streamlined, however, creating model from point cloud is not.After the 3D model is created, photos acquired on site are needed for the texturing process.Since the photos are acquired randomly without a standard operation procedure (SOP), the orientation of the photos are unknown, and spots of the building might be missing.These issues resulted in a painstaking manual operated texturing process.Even with systems having camera mounted directly on top of LiDAR scanner, the photo acquired by the camera is not a good candidate to use for texturing due to the long distance between LiDAR system and the target result in low resolution of the texturing photo.Hence, a set of photos acquired individually for model texturing is needed.
Photogrammetry technique is another way of extracting 3D information to create 3D models.The reason photogrammetry technology loses its popularity in close-range mapping to LiDAR system is because the high cost of human labor and low degree of automatic process.Efforts made by researchers around the world regarding close-range photogrammetry have significantly improve the degree of automation recently.However, there are still processes cannot be automated due to the in-situ conditions.One possible solution to minimize these unknown conditions is the use of panorama.In this research, we investigate the possibility to use panoramic images as data source of close-range photogrammetry, develop a procedure to process these panoramic images, create point cloud from this data source and finally create indoor 3D building models.
Point cloud is not the only way of creating 3D models.It is because the popularity of LiDAR systems, which creates point clouds, encourage researchers to develop point cloud processing and modeling software.From the photogrammetry point of view, line or plane features can be extracted directly from the images.Hence point cloud is not a data source in necessity for 3D modeling.Since the goal of this research is prove-of-concept for the use of panoramic images, we will stick with the mainstream procedure for generating 3D models.Which is creating point cloud from the panoramic images, and generating 3D models from this point cloud.

Terrestrial LiDAR vs. Close-range Photogrammetry
Although both LiDAR and photogrammetry systems can create point clouds, the mechanism is entirely different.LiDAR system measure distance accurately and robustly within its measuring range.However, the measurement of scan angles are relatively inaccurate.On the other hand, photogrammetry uses the angles measured from images of the same point to intersect the rays in the object space to calculate the coordinate.As a result, they are having totally different error models.Generally speaking, the accuracy of LiDAR point cloud only related to the LiDAR system itself and the distance between the laser source and the target.On the contrary, point cloud created by photogrammetry method is highly dependent on the intersection condition of the photos.The distribution of LiDAR points is a result of scanning process.The points are uniformly spaced along a sphere from the perspective of the system center.Point cloud generated from photogrammetry uses dense matching technique, it creates matched corresponding points between images pixel by pixel.In texture rich areas, the matching result is accurate and robust, however, in areas where textures are lacking, it is less accurate and the results are noisy.
Generally speaking, the point cloud acquired by close-range photogrammetry technology is noisy and less robust than the point cloud extracted by LiDAR system.Under this circumstances, most of the software creating 3D models from point clouds does not work well with photogrammetry point cloud.For instance, Pointools plug-in for Sketup is one of the software we have been using by or laboratory for reconstruct 3D models from LiDAR point cloud in the past, because the noisiness of the point cloud created by photogrammetry technique, it is difficult to lock on to the correct corner point.This example shows that these LiDAR point cloud processing software need to be improved specifically for photogrammetry point cloud in order to streamline the process flow and achieve the best accuracy of 3D models.

Panoramic Images
A set of panoramic images are the data source to form a panorama.Within a panorama, the panoramic images cover the zenith and nadir is usually called a 720° panorama.While acquiring panoramic images, in order to maintain a gap-free panorama, projection center of all images have to be stationary in theory.However, under this circumstances, the depth of a feature point in a set of panoramic images cannot be acquired.Multiple panorama sites are needed to acquire the depth information.In this research, we used the panoramic images acquired for tour guiding system.There are multiple sites within an indoor environment, however, the determining of the location of panorama sites is purely based on the aspect of exhibition.Without considering the image network or intersection condition.

Procedure
First step of the procedure is the acquisition of panoramic images.Second, stitching panoramic images into panoramas, to retrieve the interior orientation parameters.Next, panoramic images been processed with aerial triangulation procedure.Then, dense matching is performed to create point cloud.Finally, process for 3D building model creating and texturing is performed.

Data Acquisition
Multiple hardware devices can be used to acquire panoramic image.There are motorized and manual panorama heads from varies of manufactures.In this research, Gigapan, a motorized panorama head is used to capture the images.Depend on different camera lens used, adjustment is needed for Gigapan in order to keep the projection center stationary while the panorama head is rotating.The number of images for a panorama site is depend on the focal length of the lens used.In this research, a 45mm lens is used with a full frame Digital Single-Lens Reflex (DSLR) camera.Under this circumstances, 96 photos are needed to establish a panorama (without nadir).Since the images will be use as textures of 3D models, High Dynamic Range (HDR) mode is used for texture rich representation.In HDR mode, three images are taken instead of one, result in 288 images acquired for each panorama site.

Stitching of Panoramic Images
There are two purposes for this process, first, estimate the interior orientation of the camera, and second, create panorama photo for latter 3D model texturing process.In this research, image stitching is done using Kolor Autopano software.After processing, the software can provide focal length, coordinates of principal point, and parameters of lens distortion.Since no control points are needed in this process, accurate interior parameters is a must in order to create a 3D model with correct scale.

Aerial Triangulation
Aerial Triangulation is a process of estimating the position and attitude, namely exterior orientation parameters, of each photo for latter point cloud generation process.A structure from motion (SFM) software VisualSFM (Wu, 2011, andWu et al., 2011) is used in this research.

Dense Matching
In this research, CMVS (Furukawa and Ponce, 2010) software is used to create point cloud.CMVS is integrated seamlessly with VisualSFM, and the point cloud can also be display in VisualSFM.There are multiple algorithm and software for dense matching.CMVS is capable of handling large amount of input photos and create billions of points within a project with ordinary personal computers.

3D Model Creating and Texturing
Pointools plugin for SketchUp is been tested to establish 3D model manually.However, after several attempt identifying a corner point with Pointools and failed, we realize that the noisiness of the point cloud created by photogrammetry technique made the digitizing process almost impossible.In order to overcome the issue of noisy point cloud, RANdom SAmple Consensus (RANSAC, Fischler and Bolles, 1981) algorithm is used to find planes.After the plane with majority of points is been selected, all the points belong to this plan is removed and reprocess the point cloud with RANSAC, until all major planes are been identified.Next, the intersecting line of connected planes, for example ground surface and wall surface, is calculated.Then, these lines are drawn manually in Sketchup.With manual editing of the lines into surfaces, the 3D building model is established.
Texturing process uses images from panorama as data source.When texturing ground surface, panorama is projected with planer transformation and select the projection axial as nadir (Figure 1).Other surfaces are processed in a similar fashion, by projecting the panorama with a planer transformation, with the projection axial parallel to the normal of the texturing surface.Then, these projected panorama images are use as texture images in Sketchup.

EXPERIMENT
This 3D building modeling and texturing process is been tested at a culture heritage site at Kinmen called Tsai family ancestral shrine.It is a traditional southern Fukien styled architecture.All the original photographs are selected to perform the panorama stitching process, and the interior orientation parameters are calculated.Then, the original photograph with Exposure Value (EV) of zero is selected to perform the aerial triangulation process by using the previously calculated parameters as initial value.The dense matching process is performed afterwards.Since traditional southern Fukien architecture is more complicated than modern concrete building, the 3D building modeling process is trickier than we have discussed previously.
There are three levels of ground surfaces connected with stairs, and two gable roof main structure connected with two gable roofed corridor.After 20 surfaces been identified by RANSAC algorithm, we have determine the seven major planes to construct the building.Three ground level surfaces, two walls and two surfaces belong to the gable roof of the main court room.Small surfaces such as a step within stairs is not identified.To accurately determine the location of the break line of a step, points belong to a ground level is compressed into two dimension along the normal vector of the surface and rasterized to create an image (Figure 2).Then this image is textured on to the 3D model (Figure 3) and the edges of the point cloud image is the break line of the stairs.This technique can be used to determine the location of the object that can be seen from point cloud but cannot retrieve the plane equation by RANSAC.Similar process is performed and pillars, furniture, and decoration items can be located.

CONCLUSION
Please keep in mind that this research is a prove-of-concept for using panoramic images to create 3D building model.All of the processes are done semi-automatically or manually, and the details are not attended.The preliminary result shows that the 3D building model can be created using this procedure, and panorama image can be used as texture as well.In the future, we will be investigating the accuracy of the created model and the possibility of automate the procedure of 3D building modeling from panoramic images.

Figure 1 .
Figure 1.Example of ground surface used as textures.

Figure 2 .
Figure 2. Point cloud rasterized image of one of the ground levels.

Figure 3 .
Figure 3. Point cloud rasterized image used as texture to determine the break line of stairs and edge of stage.Finally, the panorama images are used as model textures.However, pillars may create a deformed column on the texturing image, and the void of the nadir of the panorama needed to be fixed.These areas needed to be patched with another panorama image from different site.The 3D building model of Tsai family ancestral shrine constructed is shown in Figure4.

Figure 4 .
Figure 4. 3D building model constructed by proposed procedure.