INDOOR SPACE ROUTING GRAPHS : VISIBILITY , ENCODING , ENCRYPTION AND ATTENUATION

The conventional approach to path planning for indoor navigation is to infer routes from a subdivided floor map of the indoor space. The floor map describes the spatial geometry of the space. Contained in this floor map are logical units called subspaces. For the purpose of path planning the possible routes between the subspaces have to be modelled. Typical these models employing a graph structures, or skeletons, in which the interconnected subspaces (e.g., rooms, corridors, etc.) are represented as linked nodes, i.e. a graph. This paper presents a novel method for creating generalised graphs of indoor spaces that doesn’t require the subdivision of indoor space. The method creates the generalised graph by gradually simplifying/in-setting the floor map until a graph is obtained, a process described here as chained deflation. The resulting generalised graph allows for more flexible and natural paths to be determined within the indoor environment. Importantly the method allows the indoor space to be encoded and encrypted and supplied to users in a way that emulates the use of physical keys in the real world. Another important novelty of the method is that the space described by the graph is adaptable. The space described by the graph can be deflated or inflated according to the needs of the path planning. Finally, the proposed method can be readily generalised to the third dimension. The concept and logic of the method are explained. A full implementation of the method will be discussed in a future paper.


INTRODUCTION 1.1 Modelling indoor space
The conventional approach to path planning for indoor navigation is to infer routes from a subdivided floor map of the indoor space (e.g.Khan and Kolbe, 2013;Kruminaite and Zlatanova, 2014;and Jung and Lee, 2015).The floor map describes the geometry of the space.Space subdivision is done so that the logical units (subspaces) in the floor map can be identified.For the purpose of path planning the possible routes between the subspaces have to be modelled.Typical these models employ graph structures (e.g.Yang and Worboys, 2015), in which the interconnected subspaces (e.g., rooms, corridors, etc.) are represented as linked nodes.An example of this is shown in figure 1(d).
Alternatively indoor spaces can also be tessellated such that facets in the tessellation define the navigable space.A review of different models of indoor space is provided by Afyouni et al., 2012 andZlatanova et al., 2014.Irrespective of the way in which indoor space is represented, a routing model has to be constructed to aid path planning.The automated construction of a route model and importantly the reasoning/motivation behind the construction of the proposed route model are the subject of this paper.This paper first considers how route graphs are currently extracted and highlights the problems associated with current approaches to route extraction.Next the problem to be solved is developed and discussed.A novel approach to route graph extraction is proposed.An example is used to clarify the concept.Finally, important aspects of the method are discussed.

PREVIOUS WORK
Various methods have been proposed to create route models.The methods can be broadly distinguished based on their (1) representation of space, (2) interpretation of subspaces (3) the extraction/construction of the route model, and (4) the variation of movements that the route model affords.

The representation of indoor space
This is a region of space enclosed by walls.It is often represented in navigational models as being continuous and delineated by a crisp boundary, e.g., CAD floor plans.Continuous representations of indoor space have the benefit that any point within the indoor space can be reached.However, the downside of this is that it requires greater computational effort in finding optimal paths between source and destination points.
To reduce the computation effort of path finding some representations tessellate indoor space (e.g., a gridded space).The cost of this is that the representation of space becomes discrete and the smallest addressing of space is determined by the size of the tessellations.
To simplify path finding even further, some methods skeletonize indoor space.Abstractly the skeleton of a space can be thought of as a scaffolding around which the space is built.Practically, it is sometimes treated as the medial axis of the space.Whatever way in which it is defined, skeletons of indoor space are often stored in graphs, where the nodes represent the subspaces and movement between the subspaces is effected along the edges in the graph.Effectively, the graph edges represent the topological relationship between the subspaces.The number of possible routes can be increased by densifying the number of vertices (i.e., subspaces) in the graphs.

Extracting routes
A route is always represented as a polyline starting from a source point and ending at a destination point.In path planning the challenge is to use the representation of indoor space to extract the route model that provides all possible routes.Continuous and gridded representations of space lend themselves to force-field based methods of path finding.In such methods the indoor space is typically treated as an electric or magnetic field.The walls and agent moving through the space are given the same charge.The destination point is give an opposite charged.As an agent is attracted toward the destination point it moves between the walls.Because the walls and the agent are similarly charged, the agent is repelled and forced to move between the walls.Three examples of such an approach are presented by Li and Chou, 2001;Talzi et al., 2011 andXiao andHubbold, 1998.The main thrust of these approaches is to find shortest paths that avoid the agent bumping into walls and obstacles in the space.Their downside is that they are computationally expensive.
To reduce the computational cost of path finding other strategies mesh the floor space and then attempt to infer rooms, entrances, corridors and hallways.Graphs are then constructed based on the centre of these subspaces.Examples of such methods are presented by Khan et al., 2014;Mortari et al., 2014;Jung and Lee, 2015;and Boguslawski et al., 2016.Instead of using meshes other methods use the vertices from the floor plans to determine the vertices of the route graph, e.g., Yang and Worboys, 2015.Route extractions in tessellated space are a variation on the graph based methods.The notable observation about route graphs extracted in such spaces is that the graphs are dense and permit many routes to be determined between a source point and a destination point.
It should also be noted that to harness the advantages of the different methods hybrid route extraction methods have been developed.

Variations of movements within indoor space
Ideal the extracted route graph should be dense enough to allow optimal paths to be determined within the indoor space, but not it should not be so dense as to increase computational effort.Furthermore the route graph should prevent paths to be found that are not well behaved.For example a typical problem in path finding is that the shortest path between two points is likely to run along walls.This problem applies to methods based on continuous and tessellated space.

Summary
Extracted routes are almost always modelled as a polyline, i.e., a simple graph.This is as opposed to it being modelled as a function.Therefore, irrespective of whether route extraction algorithms/methods treat space as being continuous or discrete, the difference between route extraction algorithms/methods can be viewed mostly in terms of scale and resolution.This point is made for three reasons.
Firstly, the extracted route models are crisp graphs with thin edges.In the extract of the graph the geometry of the space is discarded or lost.This paper takes the view that for the purpose of navigation the association between the geometry of the space and the route model should be retained.Secondly, crisp route graphs reduce the choice of paths available to an agent.A more flexible approach is desirable and route extraction algorithms have been designed to extract routes based on the type of locomotion (e.g., Khan and Kolbe, 2013) or user preference.The view taken in this paper is that extracting crisp route graphs is premature.This paper further takes the view that the geometry of an indoor space and the skeleton of the indoor space are two states existing on a spectrum.Thus rather than extracting crisp route graphs, emphasis should instead be placed on modelling the functional relationship/transition between these states.This allows for path planning solutions.
Thirdly, current route extraction methods emphasise the optimization of route graphs for path planning and navigation.This paper takes the view that this too is a premature step in the path planning process.Instead it is argued that emphasis should first be place on the simplification of space and how the interpretation of space informs the simplification process.Furthermore, peripheral issues such as storage and encryption should also be considered in the simplification process.
The next section frames these three ideas into a problem.

Visibility
The drawback of representing indoor spaces as crisp graphs is that it severely limits navigation to the edges in the graph.In other words because subspaces are represented as single points, they only allow a point in the subspace to be reached.In this paper this will be referred to as the problem of visibility.In other words, an agent i.e. that which moves within the space, only sees space as a collection of points; never knowing the geometry of the spaces.A solution to this problem is to store the geometry of a subspace in a node.An agent who visits the node then has access to the geometry of the space.However, this may lead to a duplication of data.

Attenuated navigation and personalised navigation
A problem that has recently received attention is route selection based on the personality of the agent navigating the space, e.g., Goetz and Zipf, 2011.A precursor to personalised navigation is attenuated navigation.As an agent moves between subspaces, the agent's perception of the nature and extent of the space is not constant.This was the subject of a previous work done by the author (Sithole and Zlatanova, 2016).In the work, it was observed that agents conceived of spaces as having the qualities of position, location, place or area.It was further proposed that while all spaces and subspaces simultaneous possess these qualities, from the perspective of the agent only one of these qualities is dominant at any moment in time.This tendency during navigation to shift from one perception of space to another was referred to as attenuated navigation.It was also proposed that it's this quality that lends itself to the idea of personalized navigation.This raises the question of how attenuation influences an agent's construction of the cognitive map (Moeser, 1988) of an indoor space.A possible for the attenuation of indoor space is proposed in section 3.3.

Storing indoor maps
Extracting the skeleton of an indoor space leads to the graph and geometry of the space being stored separately.Therefore, when requesting navigational information an agent has to be provided with both the skeleton and the geometry of the space.However, if the geometry of a space can be reconstructed from the skeleton, only the skeleton has to be passed to the agent.In this paper, encoding the geometry of the space in the skeleton will be referred to as the encoding problem.

Securing indoor maps
Security and privacy are common concerns when disseminating indoor maps to users.For this reason indoor maps have to be served to only those who should have them and it is often desirable to exclude from maps those places that should be hidden from agents without the necessary permissions.A means to achieve security and privacy is to encrypt subspaces.
Encryption is closely associated with the encoding problem.Typically the map server (the provider of the map of the indoor space) provides permissions to registered clients that wish to access subspaces.The disadvantage of this approach to achieving security is that it places the burden of security on the map server, which has to grant permissions and authenticate access every time entry into a space is requested.
An alternative approach is to grant keys as is done in the real world.In this case all subspaces require a key, and an agent can only enter (see) those spaces for which they have a key, i.e. the agent needs the appropriate virtual keys to decode and access corresponding subspaces.Here the purpose of encryption is to distribute the burden of secure navigation between the map server and the client.In this paper the will be referred to as the encryption problem.

Summary of the problem
In summary this paper aims to solve the following problem: Given a map of an indoor space, extract a skeleton/graph that enables the attenuation of indoor space, encodes the geometry of indoor space, and facilitates the encryption of subspaces.The following section proposes one way in which the problem may be solved.

The concept model
The proposed solution imagines space to be a membrane.This membrane is capable of being deflated (like a balloon) to such an extent that it collapses to its most minimal form (lowest energy state).This membrane can then be re-inflated so that it assumes its original form (highest energy state).
In this analogy the lowest energy state is the skeleton of the space (stored in a graph).The solution aims to find this skeleton that is capable of being reversed to obtain the original space, i.e., the skeleton should be inflatable to the original space.This concept is demonstrated in figure 1.
This concept can be generalised by the function, (  ,   ).
= (  ,   ) (1) Where   is the trace (outline) of the original space and   is the trace of the deflated space.The scalar variable  is the deflation factor which is in the range   to   .When  =   the skeleton of the space is obtained, i.e. the lowest energy state.
When  =   the skeleton inflates to   , the original space, i.e. the highest energy state.Thus the deflation factor is a scaling between the continuous space   and the skeleton.
As will be shown later, while in concept it is possible to deflate the entire space as shown in equation 1, in practice subspaces will have to be deflated separately and in stages.This necessary to support encoding and encryption.
The application of the concept to the problems of visibility, encoding, encryption and attenuation will now be explained.Visibility: Deflating space generates the concept of visibility.
Visibility can be thought as the extent to which space is reachable.Space becomes reachable to the extent that it is deflated.Thus deflation becomes the mechanisms for controlling the reachability of space.When  =   the entire space is visible/reachable.When  =   only a point in the space is visible/reachable.
At this point how the deflated space is navigated is left intentionally undefined.This allows greater flexibility in path finding within the deflated space.
Given a set of deflation factors { 1 ,  2 ,  3 , … ,   } such that   <  1 <  2 <  3 < ⋯ <   , this yields n deflated spaces that form a level set.Therefore, if the space deflates to the centre of the room, this implies that for an agent the centre of the room has greater visibility/reach than the walls of the room.
Implicit to the space deflation concept is the assumption that resources and activities are located more to the centre of a room than to its outer edges.This is consistent with how most agents navigate within indoor spaces, i.e., the tendency to move within the middle of a space than along walls.However, as will be explained in section 4.8 this is a weak assumption and will have to be mitigated where resources and activities are located close to walls.
Encoding and Encryption: From the ability to deflate and inflate space also emerges the concept of the encoding of space.Spaces and subspaces can be represented by a sequence of deflation functions with associated deflation factors.In this setup the deflation factors serve as one component of encryption keys and only those clients with the appropriate keys are able to deflate a space and thus enter it.
Attenuation: Attenuation can be thought of as a function of the visibility and access (encryption) to the entire space.The greater the visibility and access, the greater the agent's conception of space.For example standing in a foyer has a different feel to standing in a room.Knowing the visibility at each node allows an attenuation grade to be formulated.The formulation of the degree of attenuation based on the visibility and access will user defined.

Logical model
In this section the logic (the basis of an implementation) of the proposed navigation model is explained using a simple floor map.This is shown in figure 2. The floor map contains one room connected to a corridor by an entrance.Thus the space is made of three subspaces, i.e. the room, the entrance and the corridor, as shown in figure 2(b).
The space is described by a single closed polyline, as shown in figure 2(a).Note that this representation is different from conventional geometric representations that describe each subspace with a polygon.In fact at this point there is no notion of subspaces and the space is dealt with in its entirety.The only requirement is that vertices that belong to entrances be labelled as such.This is because entrances serve as interfaces between navigable subspaces.Thus for the purpose of continuity in the navigation between subspaces their deflation has to be treated differently.This will be explained shortly.
Figure 2(c) shows a partial deflation of the room.Here the deflation of the room is achieved by in-setting the polyline boundary of the room by a fixed perpendicular distance from the polyline of the space.It should be noted that the deflation of the space can be done in other ways and is not limited to a fixed distance in-setting.Some examples of curve simplification are provided by Cignoni et al., 1998 andHaunert andWolff, 2008.To ensure geometric consistency and continuity between the deflated room and the entrance, the entrance is simultaneously deflated with the room.This is done such that the line segment, LRE, at the boundary between the room and the entrance remain of the same length.The deflation of the entrance in this instance has to induce vertices a' and b' in the polyline of the corridor.As will be shown this is necessary so that the deflation of the corridor is well behaved.In this way the skeleton of the space is determined.From the sequence of deflations it can be appreciated that the skeleton given by (  ,   ) in equation 1 should be a chain of deflation functions.

Visibility:
The first important observation to make here is that without knowing the last deflation in the chain, the space can't be deflated.In the example provided without knowing the last deflation of the room, the entire room can't be deflated.Furthermore, an agent's view of the space can be controlled by how much of the deflation chain they are offered.The deflation chain is therefore the mechanism by which the visibility is controlled.

Encoding and encryption:
Once the deflation chain is in place, it can be encoded and encrypted.Note here that to deflate the room the agent must have a key for each link in the deflation chain.Thus to fully deflate a room an agent needs a combination key.

Attenuation:
The second important observation to make here is that the deflation of the room and the deflation of the corridor are independent of each other.If a further concept of stiffness is applied to the idea of the inflation of space, i.e. the resistance of space to being inflated, then attenuation can be defined in terms of (1) the resistance to inflation or the degree to which an agent is able to inflate the space in their proximity, and (2) how deep the agent is in the graph (skeleton of the space).Disengaging the deflation of the room from the deflation of the corridor makes it possible to define the complexity of their deflations differently.This difference in complexity can be used as the basis for formulating a measure for attenuation.How such a measure might be formulated is the subject of further investigation.
To help clarify how the differential in the complexity of two subspaces lends itself to the concept of attenuation consider figures 2(h) and 3. Comparing figure 2(h) and figure 3 it is notable that in the latter the corridor is deflated.An agent standing in the room is deeper in the graph of the space and has a lesser visibility of the room.An agent standing in the corridor has a greater visibility of the space and it is less deeper into the graph.Because of this difference an agent standing in the room and another in the corridor will experience the spaces differently.
Figure 3.A partial deflation of the corridor.

Limitations of the concept
In this paper space has been treated as a membrane capable of being deflated.This treatment of space (for the purpose of navigation) is presented as (1) an alternative to the subdivision of indoor space and (2) a generalisation of graphs of indoor space.
While the concept has its strengths, there are aspects to it that merit further investigation.This section will consider and discuss some of these aspects

In-setting vs Out-setting
In figure 2 the deflation of space was achieved by in-setting.In this simple case this is possible because the entire space can be represented by a single closed polyline.However, as is often the case, real world spaces are complex and will have to be represented by more than one closed polyline.Therefore, to achieve deflation some spaces may have to be in-set while others will have to be out-set.
To appreciate the reason for this, the purpose of the space has to be taken into consideration.As the navigable space is deflated it recedes from the walls.Conversely, the walls can be thought of as pushing away the navigable space and causing it to contract.Spaces covered by obstacles (e.g., furniture) are unnavigable and behave similarly to walls (which are also unnavigable spaces).An example of this is shown in figure 4. Just as with walls, navigable space has to recede from these obstacles, so that the eventual skeleton lies between the obstacles and the walls.The effect of this is that when deflating space the area around obstacles have to be out-set.
Knowing when to apply an in-set or out-set to polylines is solved by labelling those vertices that belong to obstacles.If all the vertices of a polyline are labelled as 'obstacle', then the polyline is out-set.

Holes
As noted obstacles have the effect of creating holes in the navigable space.In figure 5 two tables in a room create holes in the floor space.
Space deflation is conceptually able to accommodate holes in the space.However, the practical implementation of space deflation may not be well behaved when there are holes in the space.Two treatments of holes will be used to explain why this is so.
Boolean operations: This is a simple treatment of holes.The navigable space is first deflated after which the out-set area around the obstacle is subtracted from the deflated space.This leads to a clumsy extraction of the skeleton of the space that may fail if the out-set space exceeds the extent of the deflated space.

Deflation of floor space and Inflation of the obstacle space:
This approach first partitions the floor space.The result of the partitions are contiguous closed polylines.An example of this is shown in figure 5.This approach is unsatisfactory for two reasons.Firstly, the partitioning has to be optimized for the deflation.Secondly, a principal motivation for space deflation is to avoid space subdivision.Space partitioning violates this motivation.Therefore, a better treatment of holes has to be found.Another issue that arises from the presence of holes in space is the problem of balancing the deflation of the space.As has been noted, in a deflation space recedes from the walls.If this recession happens everywhere at the same rate, islands may be formed as shown in figure 6.For the purpose of navigation this may be undesirable.In figure 6, the rate of deflation may have to be balanced so that subspace N deflates at the same rate as W, S and E.
Figure 6.The problem of balancing the deflation of space.Subspaces W, E and S will fully deflate before N. When this happens the partial deflation of N becomes an island.

Windows
Floor plans typically contain windows, see figure 7. Windows present as discontinuities in the outline of space.The simplest solution to handling windows is to ignore them in the outline.An example of this is shown in figure 7(a).Here the vertices of the window are not captured in the outline a to h.This is not a satisfactory solution if the navigation model has to consider all entrances (windows can be thought of as entrances), especially so in 3D navigation models.

Function chaining vs function nesting
So far the deflation of space has been presented as a chaining of deflation functions.However, a better modelling of deflation might be to nest the deflation functions.This is a more natural expression of the deflation of the space as it better captures the cascading effect of deflation.How this might be implemented, and the benefits and drawbacks thereof will have to be studied.

Managing many keys
As mentioned already, each link in the deflation chain generates a key.Thus for an entire space many keys will have to be generated.How these keys will be managed and allocated to agents will have to be studied.This problem is not unlike the situation in the real world where records of keys allocated to users of a space have to be kept.

Extension to 3D
Conceptually the space deflation concept can be readily generalised to the third dimension.Here the notions of in-setting an out-setting are replaced by the notion of extrusion.Problems that may arise with implementations in the third dimension need to be explored.

Not always equal distance
The concept of the deflation of space relies on the assumption that resources and activities of interest are located toward the centre of the space, i.e. away from the walls.But this is not always the case.For example shelves and file cabinets are located near walls.In a space deflation such resources and activities would become unreachable.
A solution to this problem may be to treat resources and activities as inverses (or polar opposites) of obstacles.Obstacles deflate space by pushing away the space around them.Resources and activities have to achieve the opposite.Therefore, if sections along a space's polyline are labelled as 'resource' or 'activity', such sections should cause the space around them not to deflate.

Managing vertex labels
As noted in sections 4.3 and 4.8 the vertices of some polylines will have to be labelled.This has to be done to either dampen or increase the rate of deflation.The problem that arises is that vertex labels have to be managed during edge collapses.Moreover vertex labels have to be managed so that they are recovered in the space inflation.This is because in the space deflation concept, the encoding of indoor space has to be lossless.

Real world application
This section has presented some of the problems that are likely to arise in the implementation of the space deflation concept.
Further unanticipated problems are likely to arise.In this regard the research is ongoing and in future the space deflation will be implemented for (1) a single floor space, (2) a multi floor space and finally (3) a 3D space.The results will be published when they become available.

CONCLUSION
Current approaches to indoor navigation require a space subdivision as a basis for creating graphs of indoor space.This paper proposes a novel generalised graphing of space based on the concept of deflating space.
The concept has several benefits.(1) Space subdivision is not required.
(2) The space can be encoded in the generalised graph/skeleton of the space.Because of this the geometry of the space is implicitly stored in the graph.This allows for greater flexibility in describing paths through a space.
(3) Modifications in the geometry of space do not require wholesale re-computation of the space subdivision.(4) The proposed method is generalizable to the third dimension.( 5) The method can be used to yield a space subdivision if need be.
An example application of the concept for a simple scenario has been presented.Future work will implement and test the concept for a real world building.
Finally, once fully realised the proposed method has applications beyond indoor navigation.The ability to encode and encrypt indoor space has uses in many other applications that store and disseminate floor maps to users, e.g.indoor mapping applications on the internet.
Figure 1.The concept of space deflation.The space is gradually deflated onto a skeleton.
Figure 2. A simple floor map showing one room, an entrance and a corridor.The floor plan is stored and represented as a closed polyline.Steps (a) to (g) show the variations in the deflation of the floor plan.Notably the room and corridor don't have to be deflated to the same degree.

Figure 2
Figure 2(d) shows the deflation of the corridor.Notable here is that as in figure 2(c) the corridor and the room don't have to be deflated to the same degree.This offers flexibility in how the two subspaces can be navigated.Continued deflation of the corridor

Figure 4 .
Figure 4. Two tables in a room.Three polylines are used to represent this space, one for the floor and one for each table.

Figure 5 .
Figure 5. Partitioning space to account for holes in the space.The floor space has been partitioned into three contiguous spaces to manage the holes.
Figure 7.The treatment of windows in the outline of a spaceThe alternative is to include the vertices of the windows in the outline, as shown in figure7(b).However, the increased number of vertices in the outline has the undesirable effect of needlessly increasing the deflation chain.Furthermore increased number of vertices complicate the treatment of holes as discussed in section 4.3.