Direct-Access Pattern Interface for Geometric Networks Modeling

In this paper we propose a novel approach for identification and monitoring of moving objects within a geometric network modeled by straight line segments. The approach can also be used for supplying the objects with directions or other useful information about the surrounding environment. The moving objects are equipped with direct-access pattern interface devices that provide dynamic environment-oriented information and/or static feature-related information. Within the framework of the proposed model, a number of real-life interrelated tasks are considered and possible applications are discussed.


Introduction
Various real-life problems involve networks that can be modeled by a set of straight-line segments.These may be networks of the streets in a city; corridors in a building; tunnels in a mine, nuclear plant, or a military facility; a complex system of pipes in a factory; a map of possible routes for a robot motion in certain environment, or similar.In many cases, modeling is extended by considering moving objects along the edges of such a geometric network.These may represent cars running on streets; humans walking in a city or along corridors or tunnels; mobile robots, or other entities.Geometric networks are further extended by adding special facilities called controllers that are placed at certain locations.Controllers usually represent specialized monitoring equipment such as cameras and motion sensors but may also stand for guards or policemen (possibly equipped with proper technology.)Many tasks of great practical importance are often formulated as geometric networks so that optimization and efficiency problems could be properly addressed.The modeling, design, and implementation of such geometric networks, however, requires appropriate software and specialized hardware support for tracking and extraction of information regarding the involved objects and the surrounding environment.In many applications it is also desirable that moving objects themselves are enabled with capabilities to obtain and process such information.In this work we present a novel geometric network infrastructure, where the involved moving objects and the surrounding environments can automatically be identified by appropriate portable or fixed devices, which provide real-time (dynamic) and/or archival (static) information.In addition, a reliable access to various object features, location data, and directions are secured.The model establishes a strong synergy between the physical and the digital worlds (the latter serving as an infrastructure of the former), and supports the intelligent communication between human and computer worlds.The paper is organized as follows.In Section 2 we consider the problem of efficient monitoring of the network by an optimal (minimal) number of controllers.Since the proposed solutions to some of the considered problems are technology-dependent, in Section 3 we briefly discuss on the existing possibilities and justify our choice of technology.Then, in Section 4, we discuss the ways of identifying the moving objects and providing them with information about the surrounding environment.In Section 5 we consider related questions, such as possibilities for searching in noisy patterns and the use of massive parallelization for increased efficiency.We also clarify some additional open problems and discuss other possible applications.

Monitoring a Moving Object within a Network
Monitoring a moving object as long as it is within the network may serve different purposes, e.g., identification for security reasons, tracking for steering assistance and guidance, etc.The geometric network monitoring problem can be formulated as follows: given a finite set of straight line segments, find a minimum number of points so that every segment contains at least one chosen point.To explain this, let us consider some physical structure that can be modeled by a finite set of straight line segments.We want to find a minimum number of locations at which to place "guards" in a way that any point of the structure can be "seen" by at least one guard (assuming guards may have infinite or limited visibility range in all directions, but cannot see around corners).(See Fig. 1.)For brevity, we call this problem Guarding a Set of Segments (GSS).GSS is germane to the set cover (SC), vertex cover (VC) and edge cover (EC) problems [1].These are extensively studied fundamental combinatorial problems that play a central role in combinatorial optimization and complexity theory.It should be noted that we can find applications of GSS anywhere, where a planar embedding of the graph is relevant or the vertices of the graph represent objects with geometric locations.GSS can be formulated as a special case of the set cover problem, under certain conditions, as well as a vertex cover problem or edge cover problem, under other conditions.However, GSS also features certain essential differences (see [1]) that make its study challenging.Note that GSS also belongs to the class of the Art-Gallery Problems [2], varieties of which have been studied for at least four decades.Recent studies provide examples of art-gallery problems defined on sets of segments with possible applications to efficient wireless communication.
A comparatively simple practical application is the problem of locating signal transmitters in a metropolitan area network in order to achieve line-of-sight propagation of the GPS signal.A standard way of resolving the non-line-of-sight problem is by installing a large number of transmitters which can assure that the signal goes around the obstacles.Clearly, minimization of the number of transmitters is desirable, both for financial reasons and in view of the fact that a transmitter has negative impact on people in close proximity.Thus, minimizing the number of transmitters would lower the overall cost and the effect on people's health.Regarding the pursued applications, some subtasks are of special importance namely i) elaborate the case when guards have limited radius of visibility, and ii) investigate GSS complexity and approximability on random sets of line segments.
We have shown that GSS is an NP-hard problem [1].For getting acquainted with the theory of computational complexity and the basic complexity classes, such as P, NP, and the classes of the NP-complete and NP-hard problems, the reader is referred to [3].The page limit allows us to mention here only that no efficient (polynomial time) algorithms are known for NP-complete/hard problems and it is strongly believed that such algorithms do not exist.Thus, the existence of efficient (polynomial time) algorithms for GSS is very unlikely.Because of this, we have developed and experimented with three efficient approximation algorithms for the problem [4][5][6][7].
We have also determined subclasses of problems which admit efficient exact solution [1,2,4].This leads to another important subtask, namely iii) find new polynomial GSS subclasses and design new efficient approximation algorithms.
In addition to the theoretical considerations, we have developed a specialized computational system (available in the repository http://gss-project.googlecode.com)that facilitates our theoretical studies and supports related implementations and experimental work.

Choice of Technology
Reliable identification and environment aware tracking is highly challenging in respect to the choices we make regarding methods and technologies to be employed.In this section we thus try to justify our choice of the foundation technology used in this work by drawing parallels and comparing it with other existing technologies.

Review of technologies for identification and environment aware tracking
Existing GPS systems employ satellite-based signals that are heavily influenced by the surrounding environment.GPS is generally not applicable in indoor scenarios when broadcast signals are not able to pass through thick walls of buildings and/or penetrate underground.Another problem is the accuracy of GPS, which is in the rate of meters.Other options might be the cell phone networks that can be used for obtaining location information, although this is still rather imprecise and expensive.Radio frequency identification (RFID) might be another option but problems with tagging metal objects and surfaces that interfere with the radio waves are of serious concern.Widely used materials, like aluminum foil, for example, easily block radio signals and may render the RFID system unusable.
Optical localization methods on the other hand are free of the above deficiencies.The Bokode [8], for example, uses a tiny lenselet and a matrix to record information in a very small area, which can be read by an ordinary out-of-focus camera from significant distance and from different angles.It needs, however, active lighting either by embedded LED or a polarized flash light.The class of passive optical codes on the other hand includes standard 1D and 2D barcodes and various image codes that are routinely used for product identification and accounting.Such codes, however, may be quite unreliable if no special background or quiet zones are employed.For example, small defects in the marker areas can easily render a QR-code unusable despite the redundancy of the encoded data.They also obscure part of the surface and thus can negatively impact the appearance of the presented content.To address those issues, we need an encoding scheme that allows for covering of large surfaces and blending with the existing content.While several such approaches exist, we have decided to take advantage of the Cluster Pattern Interface technology (CLUSPI) [9] co-invented and patented by one of the authors of this work.CLUSPI addresses the problems discussed above by employing clusters of graphical primitives that are adjustable to different contents and surfaces.

CLUSPIour choice of technology
CLUSPI belongs to the class of merged codes or codes that can be blended with the existing content and thus printed on any surface without disturbing its visual appearance.Such codes are 011613-3 JJAP Conf.Proc.(2016) 011613 usually made of very small components that are practically invisible for the unarmed eye.Merged codes do not require any dedicated area, but still physically cover some small portion of the digitally encoded surface.The CLUSPI codes physically cover less than 1% of the encoded area, while ensuring reliable position and orientation recognition.CLUSPI secures uniform area coverage with no artifacts and visually disturbing components.Positioning data is reported in 0.1 millimeter units and rotational data is reported in 0.1 degrees, which is superior to any of the technologies considered in the previous section.Based on that, multiple data sets (e.g., URL addresses) can be easily attached to a small surface area and even to a single point, if rotations are used to discriminate between them, which offers significant advantages over the traditional bar codes that only support a single link.CLUSPI technology has already been employed for different purposes in a number of projects, such as parking simulation and guidance system, Flexible Scanning Tablet for handheld Electro-Magnetic Acoustic Transducer (EMAT) probes for 2D and 3D image reconstruction, in a software system for providing newsputer-enabling support to publishers and readers, in business applications, for Computer-Supported Collaborative Learning, in an electronic multimedia dictionary, positioning methods for mobile security robots or automated floor cleaning robots in large office buildings and hospitals, as well as for navigation of inspectors or mobile robots and for electric plant inspection (see, e.g., [10][11][12][13]).

Mathematics of CLUSPI
The theoretical foundation of CLUSPI code belongs to nonlinear algebra and combinatorics on strings.It is based on the so-called Linear Feedback Shift Register sequences (or shift-register sequences, for short).These are widely used in various applications, e.g., in cryptography and wireless communication.For CLUSPI purposes a special class of shift-register sequences, sometimes referred to as Σ-sequences, is used.A sequence of this class is generated from a polynomial of a certain degree and has the property that patterns of specific lengths are unique within the sequence.Let a primitive polynomial P(x) of degree m ≥ 2 be given.The coefficients of P(x) are 0's or 1's and all operations on such polynomials are performed by modulo 2. Using P(x), one can construct (in a sophisticated way whose description is too involved to be presented here) a Σ-sequence of length 2 m + m − 2. Under the assumption of primitiveness of P(x), the (shortest) period of the so-constructed sequence S is 2 m − 1.Moreover, every m-subsequence of S is met in S only once.This uniqueness property of the Σ-sequence, together with other heuristic techniques, is used for obtaining encoding and decoding schemes of CLUSPI.

Using CLUSPI for Object and Environment Identification
It is assumed here that the objects moving along the edges of the network (such as cars or robots) will be equipped with an appropriate carrier of the encoded object characteristics (e.g., by covering certain part of the object surface by practically invisible CLUSPI patterns carrying the information needed).The controllers, on the other hand, will be furnished with reading cameras and corresponding decoding software, by which they can identify and extract information about a moving object.Now consider a task, which involves obtaining directions to facilitate the further motions of an object (e.g.assistive steering and receiving instructions for actions).We assume that geometric network locations of potential interest are known and can be equipped with practically invisible CLUSPI patterns that could be read and decoded by cameras and software available to the moving objects.The number and locations of the controllers used for identifying moving objects is optimized by solving the GSS problem considered in Section 2. Depending on the span of the cameras used, while providing objects with environmental information, the number of locations for posting informative patterns can be a subject of optimization too.Having the above model, we can formulate further theoretical problems to be considered and which apply to both tasks above.

Searching noisy patterns
Optical extraction of CLUSPI codes embedded in physical object and environments often leads to noisy patterns.To ensure reliable decoding, we need efficient algorithms for search of noisy patterns in Σ-sequences that can be implemented on embedded platforms.In the following we derive three important problems that need to be addressed in this respect.When using a CLUSPI device, the camera reads a p × q-rectangular pattern, which is a folded representation of pattern sequence P of length m = p • q.Then the pattern is searched in a Σ-sequence S. Note however that, for alignment and orientation independency, the camera reads a number of neighboring positions to the pattern P. With this observation in mind, we can consider the possibility of having some position (or positions) of the pattern damaged and therefore non-readable.Consider an m-pattern P that contains a single non-readable element (a "gap").Then, this pattern will have two occurrences in S rather than a single occurrence.On the other hand, it may be possible that a pattern longer than m has a unique occurrence in S. The first problem is thus formulated as i) identify a pattern size that guarantees its uniqueness in presence of gaps.Then we could extend the pattern with certain extra elements read by the camera and thus assure successful identification of the searched position.Such a result would in particular imply a simple way of identifying the shortest unique pattern that contains P as a prefix.Note also that if a pattern with a certain number of gaps is sufficiently long, then it may be possible to recover its unknown values.The second problem is thus formulated as ii) find a necessary condition for a pattern length so that a pattern with a number of gaps in it to be restorable.Finally, it is not hard to realize that the efficiency of the Σ-sequence generation and the subsequent searches depend on the choice of the primitive polynomial P(x).The third problem is thus formulated as iii) choose an appropriate primitive polynomial for maximizing the speed of the computational processes.

Towards parallelization
In the practical implementation of CLUSPI, the binary Σ-sequence S has been generated by an irreducible polynomial of degree m = 12.That is, the sequence length equals n = |S| = 2 12 + 10 = 4106.With these comparatively small dimensions, the search of an m-pattern within the n-sequence is immediate, even if a naive search strategy is used.The values m = 12 and n = 4106 have been chosen with practical reasons in mind.Specifically, these values serve well for encoding and decoding of information on printed materials of up to A0+ paper size which is about the largest employed in the industry.However, for direct encoding of surfaces of larger size (such as walls of rooms and entire buildings, for example), these values would be insufficiently small.To assure reasonable functionality of the CLUSPI technology applied to surfaces of any possible size met in practice, one can choose the value of m to be as large as m = 20 or even m = 30.Then, patterns should be searched in considerably longer sequences of length in the order of 2 20 > 10 6 to 2 30 > 10 9 .In that case, the search may not be immediate even if advanced sequential pattern matching algorithms are used.This difficulty can be surmounted by designing appropriate parallel searching techniques.We can thus formulate the following two tasks, namely i) develop efficient parallel algorithms for searching patterns in Σ-sequences by taking advantage of the special structure and properties of the latter, and ii) establish a balance (a reasonable trade-off) between the number of processors and parallel computation time.

Hardware implementation and applications
A contemporary mobile phone camera could be used as a CLUSPI input device.Latest Smartphone models have enough memory to hold large amounts of information, and presumably enough computing power to perform the required object identification and decoding.They support high-quality audio and are equipped with high-resolution screens, suitable for displaying not only texts but also pictures and video content.Embedded applications of CLUSPI on various Smartphone have therefore enormous potential and looking for new possible applications will be an important point of interest.Assistive localization based on cell phone cameras, for example, can help people find their way in large shopping complexes or in subways, etc. autonomously e.g.irrespectively of connectivity and GPS signal availability.This may prove to be vital in saving human lives by showing emergency exits and providing other essential guidance in the case of large-scale emergency situations such as earthquake, fires, violent terrorist attacks, and other disasters.

Conclusion
In this note we considered issues related to monitoring and identification of moving objects within a geometric network.We briefly commented some initial results and discussed open problems.Addressing these theoretical questions and implementing the solutions to a working prototype will be pursued in the following stage of this research project.

Fig. 1 .
Fig. 1.The lines depict the segments in the model, while the small circles represent a minimum set of "guards" that "see" all segments.