Strategies to evaluate the visibility along an indoor path in a point cloud representation

: Many research works have been oriented to the formulation of different algorithms for estimating the paths in indoor environments from three-dimensional representations of space. The architectural configuration, the actions that take place within it, and the location of some objects in the space influence the paths along which is it possible to move, as they may cause visibility problems. To overcome the visibility issue, different methods have been proposed which allow to identify the visible areas and from a certain point of view, but often they do not take into account the user’s visual perception of the environment and not allow estimating how much may be complicated to follow a certain path. In the field of space syntax and cognitive science, it has been attempted to describe the characteristics of a building or an urban environment by the isovists and visibility graphs methods; some numerical properties of these representations allow to describe the space as for how it is perceived by a user. However, most of these studies are directed to analyze the environment in a two-dimensional space. In this paper we propose a method to evaluate in a quantitative way the complexity of a certain path within an environment represented by a three-dimensional point cloud, by the combination of some of the previously mentioned techniques, considering the space visible from a certain point of view, depending on the moving agent (pedestrian , people in wheelchairs, UAV, UGV, robot).


INTRODUCTION
In recent years, many research works are oriented towards the analysis of different algorithms and approaches to the paths planning within indoor environments. The aim of these studies and the applications are different. Many of them focus on realtime applications and assess the possibility of finding the shortest paths to reach a certain point (Wang et al., 2013); (Vanclooster et al., 2014) estimate what is the path with the least chance of getting lost using the less risky algorithm. Some of these algorithms have been adapted to assist disabled people with restricted mobility, and to allow them to move around the area inside of the buildings (Viswanathan et al., 2008). In some cases, these algorithms allow planning a route even in "complex environments" (Goetz et al., 2011). Indeed, it is needed to define what a complex environment or path is.
In the literature, when talking about navigation within complex environments, usually it refers to articulated environments, or consist of an alternation of corridors and rooms, which are spread over multiple floors connected by stairs or it is identified as a function of the number of nodes that compose the path (Wiener et al., 2004). Often, the definition of complex environment or path is taken for granted. Generally, it is necessary to distinguish between two issues: the complexity of internal furniture arrangement and the building design. The spaces are influenced by the presence of walls and their texture or corners, columns, stairs or ramps, etc., but also by the presence of furniture as well as by the moving objects or group of people (think, for example, to large and crowded public places such as stations, airports or offices). Van Bilsen (2008) stated that the most important complex sub-systems of any urban system are the users.
We believe that the ability to define the complexity of an environment is closely linked to the analysis of visibility conducted within the environment from the point of view of the subject. Moreover, it is important to identify which are the obstructions that occlude the visibility and that may prevent to see an obstacle along the path, to be able to eventually remove it, especially in the case of furnishing objects or other dynamic objects like people moving around the environment. The distance of unobstructed vision has to be compared with the distances necessary to a person or other agent (driving, flying) to stop safely in front of an unexpected obstacle, taking into account the dynamics model of the motion of the user. We define, then, complex as a situation in which the user is uncomfortable moving within an environment, in which there is not adequate visibility to prevent a possible collision with another user or with an object.
This contribution proposes an approach that allows qualitatively and quantitatively assess the complexity of a path or environment, following procedures based on a literary study, both relative to the analysis of visibility and information that can be extracted from the identification of obstructions to visibility.
A path can be complicated to navigate through, even in a less complex environment. Figure 1 shows two cases in which, in the same environment configuration, a path can assume a different level of complexity. In the case (a), a very narrow corridor could hardly be crossed by people using wheelchairs and also the visibility of the path is severely restricted by the corners. A common behavior of a pedestrian rounding a street corner would be to slow down the speed of movement (Benedikt, 1979).
However, by varying the width of the corridor, immediately, we have the perception of a more easily navigable environment, in which the visibility is obstructed only in part from the corners. Even by increasing the size of the corridor, of the case (b), it might lead to the same considerations, but in this case, at the center of the room would still be a critical, a column, which represents an obstacle to visibility. Therefore, a user might find himself to choose whether to take the shortest path but with a limited view or the more comfortable path, which guarantees almost always a good visibility.

Figure 1. Example of indoor paths configurations
Indeed, it is assumed that complex paths navigation requires a greater mental and computational effort (Wiener et al., 2004). Definitely, as confirmed by several studies, which is aimed at assessing the environmental cognition by an individual, people perceive differently distances and the spatial properties of architecture and objects, temporary and permanent. The knowledge of the level of complexity of different paths, estimated from a certain point of view, allows to compare them with each other and identify which is the least complicated and more comfortable to go through by a certain agent.

RELATED WORK
In the next sections, we will present different approaches to visibility analysis, conducted on a 3D point cloud, which could be used to assess the degree of complexity of a path, describing the respective advantages and disadvantages.

3D model of the environment
Today, it is possible to get three-dimensional information about the environment in the form of point clouds in a quick and easy way thanks to the various types of existing sensors (LiDAR, RGB, RGB-D sensors etc.). In addition, these sensors have reached such dimensions that they can be mounted on means, such as UAV and UGV, which allows an easy, rapid and automatic acquisition of the data, even in places where people cannot access. Therefore, we consider important to consider methodologies to extract useful information to identify the complexity of the paths from three-dimensional sparse or dense point clouds of the indoor environment. Furthermore, the point cloud is the raw data, which does not require further processing to be analyzed.

Field of view of the agent
Before presenting various approaches that could be used to quantify the complexity of a path, it is necessary to analyze what the point of view is from which perform the verifications. In addition to the position of an observer, it must be considered the height of the point of view. The space of view is determined by other features such as the visual angle, the maximum line of sight and also the activity being performed at that moment.
In this paper we will not consider universal values for these parameters, because we want to analyze various methodologies that can be adapted to different environments and, above all, to different users (pedestrian, disabled people, wheelchair people) or agents (UAV, UGV); what for a user might be an obstacle for others may not be. Furthermore, as will be described later, the field of view to be considered depends on the type of analysis that will be conducted; in some cases will be taken into account a three-dimensional field of view in other cases it will be considered a two-dimensional horizontal angle of view. While some studies are taken into account a line of sight.

Obstacle detection and visibility analysis
Today, several research studies have defined methodologies to compute the visibility of a 3D object. In particular, some of these approaches can be used to analyze the visibility and identify any obstructions or occlusions in a 3D model of the indoor environment. One of the easiest methods is to analyze the line of sight (LOS) between an observer and a target, in order to possibly find the obstruction between the beginning and the end of the line . This algorithm is mainly used in GIS systems, but does not allow to perform the analysis directly on the point cloud, but only on elevation models (TIN) or multipatch (Bassani et al., 2015).
With the aim of analyzing the visibility of a driver in a road field, Iglesias et al. (2016), have formulated an algorithm, based on the LOS method to detect occlusion from LiDAR point clouds. These obstructions are defined as the existence of a determined number of points of the 3D model that interrupts the LOS between the driver and the object that needs to be seen. They have created a cylindrical volume around each LOS; if the points detected inside the cylinder have a sufficient density, they are considered as representative of an occlusion ( Figure 2). This algorithm has been tested in an outdoor environment, but can easily be applied to the indoor case setting the field of view (FOV) at eye-level of the agent that is situated in the environment. However, the result of the analysis should be evaluated in the case the input data was a noisy or sparse cloud. A commonly used approach to evaluate the visibility from a certain point of view is that which perform the generation and the subsequent interrogation of a synthetic image. A synthetic image is a digital map, in which the pixel values are the coordinates (x, y, z) instead of the RBG information (Alsadik et al., 2014). Alsadick et al. (2014) describe a technique for generating synthetic images based on the method of Zbuffering. They apply the procedure to a voxel structure, by projecting the voxels to a grid plane and testing whether the 2D polygons represent the closest or farthest from that plane, but they do show that long computational times are required. Chiabrando et al. (2017), although with different purposes, propose an algorithm for generating RGB-D images, which are RGB digital images with known internal and external orientation parameters, where a distance between the projection center and the acquired objects are recorded for each pixel ( Figure 3). They created a software, ScanToRGBDImage, which allows to generate RGB-D images starting from a three-dimensional point cloud, defining as input parameters the external and internal parameters of the camera and the number of pixels and pixel size of the images. This procedure was tested using a LiDAR point cloud; it should then be validated in the case of noisy or sparse point cloud.
An interesting work is presented by Peters et al. (2015), who, starting from a 3D point cloud, propose an approach based on the Medial Axis Transform (MAT), which is the maximal set of balls tangent to the surface of shape at two points or more. The centers of these balls, commonly referred to as medial balls, form medial skeleton structure. In this way, they avoid the generation of a 3D model. The authors adapted the ball shrinking algorithm to construct view-dependent depth-map, projecting each medial ball center, rasterizing the ball to the viewport and finally performing a depth test for each pixel of the rasterized ball ( Figure 4). The depth map is then used to efficiently perform point visibility queries. Peters et al. (2015) argue that the algorithm depends on properly oriented point normal and that can be applied to both for LiDAR and noisy or non-homogeneous point clouds.

Isovists and visibility graphs
The approaches described so far allow us to verify what is visible from a certain point of view and what are the obstructions to the visibility, but what can be deduced from these methodologies is a subjective assessment of the space that an observer sees in front of him.
In this section, we describe the isovist method and visibility graphs that relate the spatial properties of the environment with the spatial behavior. This type of approaches provide a description of the space from the point of view of the user, as they perceive it, interact with it and move through (Turner et al., 2001) and allow to extract several quantitative descriptors that reflect the properties of the corresponding space. Figure 5. An isovist polygon, incorporating the visible area from a generating location (Turner et al., 2001).
The isovist theory was born several decades ago in the field of cognitive science. One of the proponents of this approach was Benedikt (1979) that defines an isovist as a set of visible points from a vantage point ( Figure 5). An isovist is a geometrical representation of space, a polygon, as can be seen from one observation point bounded by occluding surfaces (Van Bilsen, 2008).
In many studies, isovist analysis is limited to two dimensions in a horizontal plane (Benedikt, 1979;Weitkamp, 2011). However, to obtain numerical information about the environment is necessary to assess the relationships between isovist in areas where polygons overlap. Benedikt (1979) derived and explored several numerical properties of isovists, such as area, perimeter, occlusion, variance, skewness, and circularity 1 , which represent perceptual and cognitive factors, and mapped them in order to generate a mathematical scalar field (isovist field) ( Figure 6). Figure 6. An example of an isovist field of isovist area (Turner et al., 2001).
The fields can be provided with contour lines, which are lines connecting points of equivalent value. In an area where the density of contour lines is high, the view changes rapidly. According to Benedikt (1979), a small number of isovists are sufficient to describe the whole environment. Examining the numerical properties of isovists the author concluded that circularity is a measure of compactness/complexity of the environment. Turner et al. (2001) developed the technique of visibility graph analysis (VGA) (Figure 7), which considers the global properties of the environment, by computing the intervisibility of positions regularly distributed on a grid over the whole environment. Figure 7. An example of a first-order visibility graph, showing the pattern of connections for a simple configuration (Turner et al., 2001).
The current study introduces the third dimension considering at eye-level perspective from the floor. What they want to take into account are the dynamic aspects of the movement. They analytically described three measures of graph structural properties: neighborhood size, which could be the equivalent of isovist, clustering coefficient, and the mean shortest path length. After having performed many tests in indoor environments they stated that the clustering coefficient, which is a local measure of 1 Refer to Benedikt (1979) p. 53 for a detailed description of these values.
the graph depending on the relation between vertices in a neighborhood, indicates how much of an observer's visual field will be retained or lost as he moves away from that point. The clustering coefficient is, therefore, potentially related to the decision-making process in wayfinding and navigation within complex configuration. It also measures how much objects of varying sizes disrupt the space, allowing to understand how much a space is perceived. Whereas the mean shortest path length can be considered as the average number of turns plus one required for a journey within the space; it allows to quantify the visual accessibility of every location in the spatial system. Benedikt (1979) and Turner et al. (2001) performed many tests in a real indoor environment without comparing results with the real human perception. Another unaddressed problem that occurs is the lack of an estimation of the error one makes using a discretization, because, in this way, many aspects of human observation cannot be accommodated.
The approach proposed by Wiener et al. (2004) consists of a combination the isovist method and that of visibility graphs to extract some of the indoor environment descriptors. The authors created 16 virtual environments from which they extracted the characteristic values and then compared with behavioral data of the participants to the experiment, in order to qualitatively interpret these statistical relations. Different descriptors have been identified: neighborhood size, number of vertices, openness, jaggedness, clustering coefficient, revelation coefficient 2 . From these tests, it was found that taken together, jaggedness, clustering coefficient, revelation and openness ratio can be seen as measures describing similar aspects of environmental complexity. In particular, the number of vertices was the best predictor for rated complexity.
Also Van Bilsen (2008) proposes a link between isovist and visibility graphs, but he tries to apply the method to the third dimension. The author describes in detail how to achieve the characteristic descriptors of the model presenting a mathematical framework called IBVA (Isovist Based Visibility Analysis). This framework offers a continuous description of space, so it can evaluate errors of a model with a grid configuration. He defines a volumetric isovist as a set of radial lines, starting from the eye and ending at visible surfaces. Since the IBVA framework promotes the use of 3D isovists, a 3D version of the main descriptors is given. However, his research work is theoretical and does not present the experimental results of the framework.
Some three-dimensional isovist analyses are described in Fisher-Gewirtzmann et al. (2003). They introduced an interesting space descriptor, the Spatial Openness Index (SOI) as the volume of free space potentially measured from all possible observation points. The work is focused on the perception of the urban environment from the inside of a building. They present a tool in Java, which analyses a CAD environment by a three-dimensional viewing angle, which improves the simulation of human visual perception. The 3D viewing angle can be represented by a polyhedron and, calculating the volume bounded within it, represents it's SOI.
The SOI of a certain urban level from a building is defined as the sum of the spatial openness values calculated from each floor of the building.
They have defined the SOI threshold values, by measuring the geometric parameters of a building environment and comparing them with subjective studies Weitkamp (2011) tries to estimate the perceived landscape openness taking into account three isovist variables: the minimum radial, the maximum radial and the average radial.
These calculated values were compared with the perceived openness during an experiment with 32 participants, which confirmed that the average radial is strictly correlated with the openness. Weitkamp (2011) also tries to propose a procedure to evaluate how much the variation of openness can be explained by a combination of the 2D variables with a multiple regression analysis. The test was repeated in a static and dynamic mode, considering a sequence of locations in which people could perceive transitions and variations in landscape openness. Three types of statistical analysis were proposed to derive the variables from the isovists: average, variation and prominence.
The average analysis produces one general description of landscape openness for a unit. The variation analysis produces a description that reflects the variation in openness within a unit. The prominence analysis selects a specific line of sight, isovist or sequence of isovists within a unit, which represents the character of landscape openness for that unit. A disadvantage of this calculation method is that only the horizontal viewing angle is taken into account. Besides, it was only validated in open landscapes.

PROPOSED APPROACH
Following the research studies described above, about isovists and visibility graphs theories, we would like to propose a strategy for evaluating the complexity of a path represented by a three-dimensional point cloud, as perceived by an agent moving through this path.
As seen before, different analysis allow to extract descriptors of the environment, calculated from one or more viewpoints, but these were mostly focused on the perception of the architecture of the building or of the landscape. However these methods, like those described in section 2.4 do not take into account the dynamics of motion within an environment; while, a possible temporal extension was already mentioned (Benedikt, 1979) in the light of observer movement, no examples were found in literature of an actually dynamic 3D environment being analysed through isovists.
There are numerous other algorithms (eg Díaz ) that allow to identify obstacles in an environment specifically designed for indoor navigation in real-time, but many of these do not relate the perception and the user's point of view with the environment or the ability to assess the complexity of the whole.
Our proposal involves the construction of a sequence of nodes, which represent the accessible positions of the hypothesized path navigable by a certain agent (human, wheelchair, UAV, etc.), in a three-dimensional point cloud. The height of the nodes should correspond to the "eye-level" of the agent; while the step between nodes depends on the agent, his estimated speed and on the stopping sight distance needed to avoid collisions with other objects or agents.
With this configuration, two analysis could be performed. In a first step, we consider only the visual interconnections between nodes, creating a visibility graph, as the method proposed by Varoudis et al. (2014), who, consider a grid of nodes that covers the entire three-dimensional space, distinguishing between accessible and non-accessible points. In our case, we will consider as accessible points only the nodes of the path ( Figure  8). Figure 8. Representation of the three-dimensional grid for the 3D visibility graph approach In this way it is possible to calculate the properties described by Turner et al. (2001), at eye level, but also the 3D integration index, introduced by Varoudis et al. (2014), which represent the average number of turns plus one required to move in space, and the 3D connectivity index, which allows to evaluate how the variation of volume influences the visibility. Subsequently, it is provided the generation in sequence of isovists calculated from the nodes of the path (Figure 9), considering the agent's visual field, oriented in the direction of movement. Figure 9. 3D isovist field generation.
A similar calculation is already conducted by Omnivista software (Conroy et al., 2001), which calculates 2D Isovists from the perspective of a person who moves within the environment, allowing to extract all the attributes of isovists. The technique of the isovist fields, as described by Benedikt (1979), but in a three-dimensional configuration, could itself be used to evaluate the least-cost path, by tracing a path in an isovist field and analyzing how the property variest along the path. However this procedure does not allow to define the complexity of the path, as it does not take into account the point of view of the agent.
Our proposal is to generate three-dimensional volumetric isovists, which would be represented as polyhedrons. A configuration like this allows to extract their 3D descriptor, as those mathematically described by van Bilsen (2008), and to calculate the Spatial Openness Index, as the sum of the volume of each isovist along the path. The ability to evaluate the variation of isovist properties is very important, as it allows to understand how visibility varies along a path and, therefore, define its complexity and which could be the most critical areas that can be encountered while travelling through it.
The Table summarizes for each step of our approach which are the three-dimensional descriptors of the environment which is possible to calculate.

I -3D visibility graph analysis
-Accessible nodes of the path -3D grid of inaccessible points -Direct and indirect edges between points -Point cloud 3D integration (number of turns), 3D connectivity (how the variation of volume influences the visibility) (Varoudis et al., 2014) Intervisibility between nodes of the path -Line of sight analysis

II -3D isovists analysis
-Nodes of the path -3D isovists (polyhedrons) -Point cloud -FOV Volume, visible area, occluded area, total area, maximum radius, minimum radius, average radial length, compactness, drift, standard deviation, skewness, 3D clustering coefficient (van Bilsen, 2008) SOI (Fisher-Gweritzmann et al., 2003) Table 1. Synthesis of the input data and numerical descriptors, which is possible to extract by the proposed approach; in bold are marked indexes that best describe the complexity of the path.
In this contribution, it is proposed a method to assess the complexity of the paths, which has not yet been implemented and tested. It is still necessary to discuss how to overcome some problems.
One of the proposed model input data is the path, represented by nodes in the space. In that regard, it is necessary to define what is the optimal degree of discretization for a path. It was assumed that the nodes are placed at a distance function of the agent's speed that moves along the route. It is believed, therefore, necessary to verify whether this discretization is adequate, if it generates a fairly accurate result and, possibly, what could be the error made by placing a node at each corner, reducing the number of connections between the nodes and number of isovists.
It is also necessary to define what is the direction in which to build the isovists. In the case of a straight path is easy to assume that the agent looks in the direction of the next node, in particular in the case in which the nodes are placed only to the path corners. If the best solution would be to place a certain number of nodes in the space between two corners, considering, for example, the previous node to the one placed on the corner, it is possible that a human does not look in front of him, but also may turn his gaze in direction of the node next to that at the corner, increasing the FOV.
Another issue that still needs to be resolved is that of the generation and calculation of isovists from a 3D point cloud. Culagovsky (2007) presents a software for three-dimensional isovists analysis from a CAD model, implemented in the MaxScript programming language. The Grasshopper component IsoVist allows to create the isovists and also obtain the coordinates of the obstacles, but it requires as input data a 3D surface. Finally, three-dimensional isovists mesh could be represented the software Leica Cyclone, but it does not allow to calculate their properties. Further analysis will be focused on overcoming this issue. However, as suggested by Dalton et al. (2015), a LiDAR scan acquired at a certain height and a certain FOV is itself an isovist. By processing the point cloud data it could be, indeed, possible to directly obtain the volume of the isovist and the three-dimensional surface area. An approach to extract these information could be that proposed by Verbree et al. (2003), which allow to reconstruct a surface through the Delaunay Tetrahedronised Irregular Network (DTEN) algorithm. The approach presented in their paper takes into account also the observation lines, i.e. the lines-of-sight between the observer and the targets (the measured points). These observation lines add the information needed to extract the Surface TIN (STIN) from this DTEN. The observation lines can also be artificial or simulated; this means, that it could be possible to reconstruct the polyhedron, which represents the isovist, from a given viewpoint in any point cloud. Nevertheless, this method still needs to be tested on a noisy point cloud.

CONCLUSION AND DISCUSSION
In this study, several strategies to analyse and evaluate the complexity of a path are evaluated. Each method allows to extract important characteristics of a 2D or 3D environment and information about the presence of obstacles or less visible areas.
We propose a new approach to estimate the complexity of a path based on isovist. Our proposed approach considers threedimensional point cloud representation, in which an agent is moving. It still needs to be applied and validated in a real case study. Future work will investigate, how to implement the proposed procedure of the generation of isovists in a point cloud environment.
Such a simulation based on the extraction of environment descriptors from high-resolution data should be, therefore, compared with the correspondent subjective perception (by an agent) in the real world. We expect that the different methodologies analyzed in this article (sections 2.3, 2.4, 2.5) should be integrated in order to obtain a description of the environment, from different points of view. The indoor environment is too complex to be described by objective parameters alone or to be evaluated by metrical tools. Qualitative evaluations can change according to the eye of the specific observer and the activity carried out in a place. Moreover, the research work conducted so far have emphasized that to get information on the architectural complexity is necessary to combine 2D and 3D analysis.
Finally, a challenge that has not yet been resolved, even from the point of view of the acquisition of the data, is the one relates to the walls and transparent objects. Through LiDAR and photogrammetric techniques, it is not possible to obtain information relating to this type of surfaces. In addition, these elements can be considered as obstacles to the movement, but must also take into account the fact that a glazed surface does not represent an occlusion to visibility.