Patent Publication Number: US-10762349-B2

Title: System for generating 3D images for image recognition based positioning

Description:
BACKGROUND OF THE INVENTION 
     Field of the Invention 
     The present invention relates to positioning methods and systems, i.e. methods and systems designed to identifying the position of a device triggering a location procedure. In detail, the present invention refers to Image Recognition Based—IRB—positioning. In more detail, the present invention relates to a method for generating 3D images to be used for IRB positioning. 
     Overview of the Related Art 
     Image Recognition Based positioning is a technology that may be advantageously implemented in Location Based Services—LBS—in order to achieve improved positioning and tracking capability. For example, LBS based on IRB positioning may be implemented for providing navigation services and/or augmented reality functionality services to a user. 
     IRB positioning technology allows identifying a position of a subject even in case the latter is located in environments, such as for example indoor and dense urban scenarios, where a positioning system, such as for example a Global Navigation Satellite System—GNSS, is not able to position the subject, or is able to position the subject with a low accuracy. 
     IRB positioning is based on an analysis of an image associated with a subject, e.g. a user equipment that acquired said image, which position is to be determined, for example a picture of the environment surrounding the subject. 
     An example of IRB positioning implemented in LBS may be found in Ghinamo Giorgio, Corbi Cecilia, Francini Gianluca, Lepsoy Skjalg, Lovisolo Piero, Lingua Andrea, and Aicardi Irene, “The MPEG7 Visual Search Solution for Image Recognition Based Positioning Using 3D Models”, Proceedings of the 27th International Technical Meeting of The Satellite Division of the Institute of Navigation (ION GNSS+ 2014), Tampa, Fla., September 2014, pp. 2078-2088, which describes a location algorithm for mobile phones based on image recognition. The use of Image Recognition Based positioning in mobile applications is characterized by the availability of a camera equipped on a user equipment to be located. Under this constraint, to estimate the camera position and orientation, a prior knowledge of 3D environment is needed in the form of a database of 3D (synthetic) images with associated spatial information and color information. 3D images of the database can be built by means of a 3D model, acquired for instance with a LiDAR (Light Detection And Ranging), preferably with a Terrestrial LiDAR Survey or TLS. Particularly, through the data acquired by the TLS a 3D model of an environment is obtained over which Image Recognition Based positioning is provided. The 3D model comprises a plurality of points, i.e. a cloud of points, each point being described by a set of spatial coordinates, derived from the TLS using attitude of the light beam, the distance from the LiDAR and the position of the LiDAR and by color associated with that point. Each 3D image is created by projecting a subset of the points of the cloud of points of the 3D model on an image plane (“synthetic plane”). 
     The proposed procedure to locate the camera can be divided in two steps, a first step is the selection from a database of the most similar 3D image to a query image acquired through the camera of the user equipment, and a second step calls for estimation of the position and orientation of the camera of the user equipment based on available 3D information on the reference image. In the location procedure the MPEG standard Compact Descriptors for Visual Search is used to select the image. 
     Ghinamo Giorgio, Corbi Cecilia, Lovisolo Piero, Lingua Andrea, Aicardi Irene, and Grasso Nives, “Accurate Positioning and Orientation Estimation in Urban Environment Based on 3D Models”, ICIAP 2015 18th International Conference on Image Analysis and Processing 7-11 Sep. 2015 Genova, Italy, Volume: ISCA 2015, describes a positioning algorithm for mobile phones based on image recognition. The use of image recognition based (IRB) positioning in mobile applications is characterized by the availability of a single camera for estimate the camera position and orientation. A prior knowledge of 3D environment is needed in the form of a database of images with associated spatial information that can be built projecting the 3D model on a set of synthetic solid images (range+RGB images). The IRB procedure proposed can be divided in two steps: the selection from the database of the most similar image to the query image used to locate the camera and the estimation of the position and orientation of the camera based on available 3D data on the reference image. The MPEG standard Compact Descriptors for Visual Search (CDVS) has been used to reduce hugely the processing time. 
     Lowe D., “Distinctive image features from scale-invariant key points”, International Journal of Computer Vision 60, pages 91-110, discloses a method for extracting distinctive invariant features from images that can be used to perform reliable matching between different views of an object or scene. The features are invariant to image scale and rotation, and are shown to provide robust matching across a substantial range of affine distortion, change in 3D viewpoint, addition of noise, and change in illumination. The features are highly distinctive, in the sense that a single feature can be correctly matched with high probability against a large database of features from many images. An approach to using these features for object recognition is also disclosed. The recognition proceeds by matching individual features to a database of features from known objects using a fast nearest-neighbor algorithm, followed by a geometric transform to identify clusters belonging to a single object, and finally performing verification through least-squares solution for consistent pose parameters. 
     WO 2015/011185 discloses a method for identifying key points in a digital image comprising a set of pixels. Each pixel has associated thereto a respective value of an image representative parameter. Said method comprises approximating a filtered image. Said filtered image depends on a filtering parameter and comprises for each pixel of the image a filtering function that depends on the filtering parameter to calculate a filtered value of the value of the representative parameter of the pixel. Said approximating comprises: a) generating a set of base filtered images; each base filtered image is the image filtered with a respective value of the filtering parameter; b) for each pixel of at least a subset of said set of pixels, approximating the filtering function by means of a respective approximation function based on the base filtered images; said approximation function is a function of the filtering parameter within a predefined range of the filtering parameter; the method further comprises, for each pixel of said subset, identifying such pixel as a candidate key point if the approximation function has a local extreme which is also a global extreme with respect to the filtering parameter in a respective sub-range internal to said predefined range. For each pixel identified as a candidate key point, the method further comprises: c) comparing the value assumed by the approximation function at the value of the filtering parameter corresponding to the global extreme of the pixel with the values assumed by the approximation functions of the adjacent pixels in the image at the values of the filtering parameters of the respective global extremes of such adjacent pixels, and d) selecting such pixel based on this comparison 
     S. Lepsoy, G. Francini, G. Cordara, and P. P. de Gusmao, “Statistical modelling of outliers for fast visual search”, IEEE International Conference on Multimedia and Expo (ICME), pages 1-6, 2011 discloses that matching of key points present in two images is an uncertain process in which many matches may be incorrect. The statistical properties of log distance ratio for pairs of incorrect matches are distinctly different from the properties of that for correct matches. Based on a statistical model, a goodness-of-fit test is proposed in order to establish whether two images contain views of the same object. The goodness-of-fit test can be used as a fast geometric consistency check for visual search. 
     WO 2012/113732 discloses an apparatus for determining model parameters, the apparatus comprising an object model transformer, a region comparator, and a model parameter determiner. The object model transformer is configured to receive an object model of a known object and to transform the object model based on a set of model parameters from a first frame of reference to a second frame of reference. The object model transformer is further configured to determine as result of this transformation a transformed object model comprising at least one region, the at least one region being associated to an object region of the object. The region comparator is configured to receive the transformed object model and an image depicting the object, to determine for a selected region of the transformed object model a region-related similarity measure representative of a similarity between the selected region and an image section of the image associated to the selected region via a transformation-dependent mapping. The model parameter determiner is configured to determine an updated set of model parameters on the basis of the region-related similarity measure and an optimization scheme. 
     R. Mautz and S. Tilch, “Survey of Optical Indoor Positioning Systems”, International Conference on Indoor Positioning and Indoor Navigation (IPIN), 21-23 Sep. 2011 provides a survey of current optical indoor positioning approaches. Different systems are briefly described and categorized based on how the images are referenced to the environment. 
     ISO/IEC DIS 15938-13 “Compact Descriptors for Visual MPEG-7 standard” MPEG 108—Valencia Spain, March-April 2014, specifies an image description tool designed to enable efficient and interoperable visual search applications, allowing visual content matching in images. Visual content matching includes matching of views of objects, landmarks, and printed documents, while being robust to partial occlusions as well as changes in viewpoint, camera parameters, and lighting conditions. 
     WO 2012/100819 discloses method for comparing a first image with a second image. The method comprises identifying first key points in the first image and second key points in the second image and associating each first key point with a corresponding second key point in order to form a corresponding key point match. For each pair of first key points, the method further comprises calculating the distance therebetween for obtaining a corresponding first length. Similarly, for each pair of second key points, the method comprises calculating the distance therebetween for obtaining a corresponding second length. The method further comprises calculating a plurality of distance ratios; each distance ratio is based on a length ratio between a selected one between a first length and a second length and a corresponding selected one between a second length and a first length, respectively. The method still further includes calculating a statistical distribution of the plurality of distance ratios and generating a model function expressing a statistical distribution of further distance ratios corresponding to a random selection of key points in the first and second images. The method includes comparing said statistical distribution of the plurality of distance ratios with said model function, and assessing whether the first image contains a view of an object depicted in the second image based on said comparison. 
     WO 2013/102488 discloses a method for comparing a first image with a second image, comprising: identifying first key points in the first image and second key points in the second image; forming matches between first and second key points by associating each first key point with a corresponding second key point; calculating a plurality of first distance ratios, each first distance ratio being based on the ratio of the distance between a pair of said first key points and the distance between a corresponding pair of said second key points matching the pair of first key points; arranging a distribution of values of said calculated plurality of first distance ratios in a histogram having a plurality of ordered bins each corresponding to a respective interval of values of the first distance ratios, the histogram enumerating for each bin a corresponding number of first distance ratios of the distribution having values comprised within the respective interval; generating an outlier density function expressing a statistical distribution of a plurality of second distance ratios corresponding to a random selection of key points pairs in the first and second images, said plurality of second distance ratios being based on the ratio of the distance between pairs of first key points in the first image and the distance between corresponding pairs of randomly selected second key points in the second image; discretizing said outlier density function by generating for each of said bin a corresponding outlier probability density value. The method further comprises: determining a number of correct key point matches, each formed by a first and a second key points corresponding to a same point of a same object depicted in the first and second images, said determining a number of correct key point matches including: determining a matrix, each element of said matrix corresponding to a respective pair of key point matches and having a value corresponding to the difference between the value of said histogram at the bin including the distance ratio of the respective pair of key point matches and the outlier probability density value corresponding to said bin, said outlier probability density value being weighted by means of a parameter; determining a value of the parameter such that the dominant eigenvector of the matrix is equal to a vector having elements of a first value if the pair of key point match is a correct key point match an of a second value if the pair of key point match is an incorrect key point match; determining the number of correct key point matches as an expression of the dominant eigenvalue associated to said dominant eigenvector, wherein for comparing said first image with said second image the determined number of correct key point matches is exploited. 
     Sikora, “Visual Standard for Content Description—An Overview”, IEEE Transactions on circuits and systems for video technology, Vol. 11, No. 6, June 2001 discloses that MPEG-7 Visual Standard under development specifies content-based descriptors that allow users or agents (or search engines) to measure similarity in images or video based on visual criteria, and can be used to efficiently identify, filter, or browse images or video based on visual content. More specifically, MPEG-7 specifies color, texture, object shape, global motion, or object motion features for this purpose. 
     S. Katz, A. Tal, R. Basri: “Direct Visibility of Point Sets”, ACM Transactions on Graphics, Vol. 26, No. 3, Article 24, July 2007 discloses a simple and fast operator, the Hidden Point Removal operator, which determines the visible points in a point cloud, as viewed from a given viewpoint. Visibility is determined without reconstructing a surface or estimating normals. It is shown that extracting the points that reside on the convex hull of a transformed point cloud, amounts to determining the visible points. This operator is general it can be applied to point clouds at various dimensions, on both sparse and dense point clouds, and on viewpoints internal as well as external to the cloud. It is demonstrated that the operator is useful in visualizing point clouds, in view-dependent reconstruction and in shadow casting. 
     SUMMARY OF THE INVENTION 
     The Applicant has observed that, generally, method and systems known in the art can be improved for identifying locations based on images with a better accuracy. Particularly, the Applicant has perceived that a need exists for automatically generating 3D images that comprise spatial and color information, to be exploited in IRB positioning in order to increase accuracy in an estimation of the position of a user equipment that provided a query image. 
     The automatically generated 3D images may for example be exploited for automatically updating, enriching a database of 3D images, exploited by IRB positioning, in order to increase availability of images (and thus rate of success of finding an image matching a query image) and accuracy in an estimation of the position of a user equipment that provided a query image. 
     The Applicant has found that new, or additional 3D images to be used in IRB positioning may be generated by processing query images, acquired by devices (user equipment) to be located, together with the cloud of points comprised in the 3D model of the environment. 
     In particular, the additional 3D images may be generated on the basis of query images combined with selected 3D images already comprised in a database of reference images generated by projecting the cloud of points on a synthetic plane. 
     Particularly, the Applicant has found that an additional 3D image may be dynamically generated by maximizing a similarity in terms of key points descriptors, i.e. a selected 3D image is processed in order to maximize a number of correctly matched key points with the key points extracted from a query image, thus obtaining the additional 3D image having a maximized number and a relative level of similarity of couples of key points of the additional 3D image and the query image starting from a selected 3D image chosen as a starting reference comprised in the database of 3D images. 
     Particularly, one aspect of the present invention proposes a method of positioning a user equipment located in an environment. The user equipment comprises a camera for acquiring digital images. The method comprises: defining a three-dimensional model of the environment through a cloud of points, each point being defined by a set of coordinates and a color information; having the user equipment acquiring a query image by capturing, by means of the camera, a portion of the environment; estimating an initial camera parameters configuration of the camera of the user equipment; evaluating a similarity between the query image and an initial three-dimensional image, said initial three-dimensional image being obtained from the three-dimensional model of the environment as seen by a virtual camera having said initial camera parameters configuration; modifying a camera parameters configuration of the virtual camera associated with the initial three-dimensional image in order to increase the similarity between the initial three-dimensional image and the query image up to a predetermined value, and generating an additional three-dimensional image based on the three-dimensional model of the environment, said additional three-dimensional image being obtained from the three-dimensional model of the environment as seen by a modified virtual camera having the modified camera parameters configuration. 
     Preferred features of the present invention are set forth in the dependent claims. 
     In one embodiment of the invention, estimating an initial camera parameters configuration of the camera of the user equipment comprises evaluating a similarity between the query image and three-dimensional images comprised in a database of images, each three-dimensional image being generated based on three-dimensional model of the environment as seen by a respective virtual camera having a respective camera parameters configuration; identifying a most similar three-dimensional image of the database of images among the three-dimensional images comprised in a database of images. Preferably, estimating an initial camera parameters configuration of the camera of the user equipment comprises estimating the initial camera parameters configuration of the camera of the user equipment based on respective camera parameters configuration of the respective virtual camera associated with the most similar three-dimensional image, and exploiting the most similar three-dimensional image as the initial three-dimensional image. 
     In one embodiment of the invention, identifying a most similar three-dimensional image of the database of images among the three-dimensional images comprised in a database of images comprises extracting local descriptors from the query image and from the three-dimensional images comprised in the database of images. Preferably, for the query image and for each one of the three-dimensional images comprised in the database of images comprises selecting local descriptors having the highest statistical characteristic values among all the local descriptors, and obtaining global descriptors as a statistical representation of a set local descriptors having the highest statistical characteristic values among all the local descriptors. Preferably, identifying a most similar three-dimensional image of the database of images among the three-dimensional images comprised in a database of images further comprises evaluating a global descriptors similarity score between each three-dimensional images comprised in the database of images and the query image; selecting a set of three-dimensional images having at least a minimum predetermined global descriptors similarity score. 
     In one embodiment of the invention, identifying a most similar three-dimensional image of the database of images among the three-dimensional images comprised in a database of images further comprises identifying as the most similar three-dimensional image of the database of images among the three-dimensional images comprised in a database of images the three-dimensional image of the set having the highest global descriptors similarity score. 
     In one embodiment of the invention, identifying as the most similar three-dimensional image of the database of images among the three-dimensional images comprised in a database of images the three-dimensional image of the set having the highest global descriptors similarity score comprises extracting key points from the query image and from the three-dimensional images comprised in the set; searching matches between key points of the query image and key points of each of the three-dimensional images comprised in the set; identifying as the most similar three-dimensional image of the database of images among the three-dimensional images comprised in set, the three-dimensional image of the set having the highest number of matching key points. 
     In one embodiment of the invention, extracting key points from the query image and from the three-dimensional images comprised in the set comprises for each key point, identifying a respective set of coordinates indicating a position of the key point within the three-dimensional model of the environment. 
     In one embodiment of the invention, the user equipment is arranged for exchanging signals with a data network. Preferably, estimating an initial camera parameters configuration of the camera of the user equipment estimating comprises exploiting the signals exchanged between the user equipment and the data network for estimating the initial camera parameters configuration of the camera of the user equipment. 
     In one embodiment of the invention, estimating an initial camera parameters configuration of the camera of the user equipment estimating comprises exploiting a Global Navigation Satellite System for estimating the initial camera parameters configuration of the camera of the user equipment. 
     In one embodiment of the invention, modifying a camera parameters configuration of the virtual camera associated with the initial three-dimensional image in order to increase the similarity between the initial three-dimensional image and the query image up to a predetermined value comprises searching the modified camera parameters configuration that corresponds to a local maximum of the similarity score with the query image. 
     In one embodiment of the invention, searching the modified camera parameters configuration that corresponds to a local maximum of the similarity score with the query image stopping the search when is found a modified camera parameters configuration that corresponds to a similarity score with the query image equal to, or greater than, a predetermined target threshold of the similarity score with the query image. 
     In one embodiment of the invention, the method further comprises performing the positioning of the user equipment based on the additional three-dimensional image. 
     In one embodiment of the invention, the method further comprises performing the positioning of the user equipment based on the most similar three-dimensional image of the database of images while modifying a camera parameters configuration of the virtual camera associated with the initial three-dimensional image in order to increase the similarity between the initial three-dimensional image and the query image up to a predetermined value, and generating an additional three-dimensional image based on the three-dimensional model of the environment, said additional three-dimensional image being obtained from the three-dimensional model of the environment as seen by a modified virtual camera having the modified camera parameters configuration. 
     In one embodiment of the invention, the method further comprising storing the additional three-dimensional image in a database of images, each three-dimensional image being generated based on three-dimensional model of the environment as seen by a respective virtual camera having a respective camera parameters configuration. 
     Another aspect of the present invention proposes a system for positioning a user equipment located in an environment, the user equipment comprising a camera for acquiring digital images, the system comprising an Image Recognition Based positioning subsystem arranged for receiving at least a query image from the user equipment and for identifying the position of the user equipment by performing the method according to the method of above. 
     In one embodiment of the invention, the Image Recognition Based positioning subsystem comprises a communication module arranged for providing and managing communications between the user equipment and the Image Recognition Based positioning subsystem, and a storage element storing a three-dimensional model of the environment through a cloud of points, each point being defined by a set of coordinates and a color information. 
     In one embodiment of the invention, the Image Recognition Based positioning subsystem further comprises an images database storing a plurality of three-dimensional images, each three-dimensional image being generated based on three-dimensional model of the environment as seen by a respective virtual camera having a respective camera parameters configuration; a visual search module arranged for comparing three-dimensional images comprised in the images database with the query image provided by the user equipment; a photogrammetry module arranged for estimating a position of the user equipment that provided the query image based on at least one three-dimensional image, and an image generation module arranged for generating an additional three-dimensional image to be added to the images database by processing query image and three-dimensional images. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       These and others features and advantages of the solution according to the present invention will be better understood by reading the following detailed description of an embodiment thereof, provided merely by way of non-limitative examples, to be read in conjunction with the attached drawings, wherein: 
         FIG. 1  schematically shows a system for providing Location Based Services according to an embodiment of the present invention; 
         FIG. 2  is a schematic block representation of a subsystem arranged for implementing an Image Recognition Based positioning according to an embodiment of the present invention, and 
         FIG. 3  is a schematic flowchart of an Image Recognition Based positioning and for improving an images Data Base according to an embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     With reference to the drawings, in  FIG. 1  there is schematically shown a system  100  for providing Location Based Services (LBS) according to an embodiment of the present invention. 
     The system  100  according to an embodiment of the invention is arranged for identifying a position of a User Equipment or UE  110  (e.g., a smartphone, a tablet, a laptop/notebook, etc.) which triggers (i.e., activates or requests) a Location Based Service (e.g., a navigation or a augmented reality software application instantiated in the UE  110 ), which may be provided by the system  100 . 
     The system  100  may be in communication relationship with the UE  110  by means of a data network. The data network may for example include a radio communications network, e.g. a mobile communications network (like a third-generation—3G—or fourth-generation—4G—mobile communications network), or a Wi-Fi network. In  FIG. 1 , reference numeral  115  schematizes a base station of a mobile communications network, whereas reference numeral  120  schematizes a wireless access point of a Wi-Fi network. 
     The system  100  is arranged for managing the provision of the Location Based Service and for exchanging information with the UE  110 , in order to ensure the Location Based Services. 
     The system  100  according to an embodiment of the invention comprises an Image Recognition Based, or IRB, positioning subsystem  130  arranged for identifying a position of the UE  110  on the basis of an image of a portion of the environment surrounding the UE  110 , simply indicated as ‘query image’ in the following. 
     The UE  110  should comprise the necessary elements to provide the query image, namely a camera element (e.g., an embedded digital camera not shown in the drawings) capable of capturing a (digital) image, and transmission apparatus (e.g., a radio transceiver) capable to transmit the query image to the IRB positioning subsystem  130 , e.g. through the data network. 
     Preferably, an IRB positioning (provided by the IRB positioning subsystem  130 ) may be exploited either alone or in combination with the rough positioning obtainable by exploiting wireless communication signals of the data network, e.g. the (initial) rough position of the UE  110  thus reducing a computational complexity of the location procedure (i.e., the initial rough positioning allows narrowing a geographic area of the environment to be considered for the IRB positioning). 
     The IRB positioning may be exploited for providing a highly reliable positioning of the UE  110 , particularly when the UE  110  is located in environments, such as for example indoor and/or in dense urban scenarios, in which case the size of the geographic area is limited (e.g., in the order of hundreds of square meters or lower) and other positioning expedients e.g., based on wireless communication signals of the data network and/or even Global Navigation Satellite Systems (GNSS) have an insufficient accuracy. 
     It should be noted that the system  100  may be preferably, although not limitatively, implemented as a system distributed over the cellular communication network, the WLAN, the UE  110  and/or one or more application servers connected or connectable to the cellular communication network, the WLAN and/or the Internet (not detailed in  FIG. 1 ). 
     Generally, the system  100 —particularly the IRB positioning subsystem  130 —may comprise functionalities implemented by software products (e.g., software applications, software agents, Application Programming Interfaces—API, etc.) instantiated on one or more circuitry (e.g., comprising one or more processor, controller, dedicated Application-Specific Integrated Circuits—ASIC, volatile and/or non-volatile memories, etc.) of devices comprised in the system  100  (e.g., UE  110 , radio base station  115 , wireless access gateway  120 ). Moreover, the application servers may comprise a single computer, or a network of distributed computers, either of physical type (e.g., with one or more dedicated computer network machines, such as for example a dedicated remote server, data center, one or more personal computers, etc.) or of virtual type (e.g., by implementing one or more virtual machines in one or more general purpose computer network machines, such as for example a dedicated remote server, data center, one or more personal computers, etc.) and connected or connectable to the cellular communication network and/or the WLAN. 
     The IRB positioning subsystem  130  according to an embodiment of the present invention is described in the following with reference to  FIG. 2 , which is a schematic block representation thereof. 
     The IRB positioning subsystem  130  preferably, although not limitatively, comprises an images Data Base, or images DB  205 , a communication module  215 , a visual search module  220 , a photogrammetric module  225  and an image generation module  230 . 
     The visual search module  220  is arranged for comparing 3D images  219  (described in the following) comprised in the images DB  205  with each query image  217  provided by the UE  110  in order to identify one or more 3D images similar to the query image  217  (as described in the following). Preferably, the visual search module  220  is arranged for identifying a 3D image  219 , among the 3D images of the images DB  205 , most similar to the query image  217  (as described in the following). 
     The photogrammetry module  225  is arranged for identifying a position associated with a (virtual) camera that acquired a 3D image  219  (as described in the following). Preferably, the photogrammetry module  225  may be exploited for identifying the position of the (virtual) camera that acquired the most similar 3D image  219  (as described in the following). 
     The image generation module  230  is arranged for generating additional 3D images  221  to be added to the images DB  205  by processing query images  217  and 3D images  219  (as discussed in the following). Preferably, the additional 3D images  221  may be generated while providing Location Based Services to a requesting UE  110 . 
     The images DB  205  comprises a plurality of 3D (synthetic) images, each 3D image being generated by a projection on a synthetic plane of a plurality, or ‘cloud’ of points of a 3D model of the environment, which also comprise respective spatial and color information (as described in the following). For example, the images DB  205  may be built as described in Ghinamo Giorgio, Corbi Cecilia, Francini Gianluca, Lepsoy Skjalg, Lovisolo Piero, Lingua Andrea, and Aicardi Irene: “The MPEG7 Visual Search Solution for Image Recognition Based Positioning Using 3D Models”, Proceedings of the 27th International Technical Meeting of The Satellite Division of the Institute of Navigation (ION GNSS+ 2014), Tampa, Fla., September 2014, pages 2078-2088. 
     The 3D model may be generated with a Terrestrial Laser Scanning (TLS) system comprising a LiDAR (Light Detection And Ranging) instrument, which also allows the acquisition of images of the generic environment area using e.g. an integrated camera. 
     The 3D images of the images DB  205  of a generic environment area may be created by processing the 3D model thereof. 
     A plurality of different scans of the generic environment area performed by the TLS system are acquired and exploited to build the 3D model of the corresponding environment, by mounting each scan in a single 3D model referred to a three-dimensional coordinates reference system. 
     It should be noted that, when multiple scans of the environment are considered and fused together, in order to avoid texture problems in the 3D images subsequently generated homogeneous scanning light exposure conditions should be achieved in between different scans for coincident environment sectors. Alternatively and/or in addition, in order to avoid texture problems during the subsequent 3D image generation a single scan may be considered. 
     As a result of the process, a cloud of (three-dimensional—3D) points of the environment area is built. Particularly, each point of the cloud is defined by a set of three-dimensional coordinates and color information. Color information is determined through the images acquired by the camera present in the LiDAR instrument. The term ‘color information’ is herein used to indicate that the points may be associated with a color chosen between at least two colors (e.g., the RGB color model), alternatively or in addition, the color information comprises a luminance information (i.e., a luminous intensity of each point). 
     Each 3D image of the images DB  205  is generated as if a virtual, or synthetic camera, acquired an image of a portion of the 3D model of the environment. Particularly, each 3D image of the images DB  205  is generated by projecting a subset of points of the cloud of points on a synthetic plane according to camera parameters configuration associated with the synthetic camera; i.e., each 3D image of the images DB  205  is generated from the three-dimensional model of the environment as seen by a virtual camera having a predetermined camera parameters configuration. The subset of points selected for generating each 3D image of the images DB  205  may be selected belonging to a convex surface, as described in S. Katz, A. Tal, R. Basri: “Direct Visibility of Point Sets”, ACM Transactions on Graphics, Vol. 26, No. 3, Article 24, July 2007. 
     Camera parameters comprise external orientation parameters corresponding to position and orientation of the synthetic camera. Camera parameters further comprise internal orientation parameters corresponding to focal length and principal point position (e.g., expressed in terms of pixel coordinates) of the synthetic camera. Camera parameters also comprise an indication of the resolution of the 3D image to be obtained and of the pixel size thereof. 
     Therefore, each pixel of a generic 3D image of the images DB  205  is associated with respective spatial information, which comprise for each pixel an indication of a distance from the synthetic camera, and color information of the captured detail for each single pixel. 
     Advantageously, in an embodiment of the present invention, the 3D images of the images DB  205  are analyzed for identifying key points thereof (e.g., based on the color information of the points of the cloud of points), and each identified key point is located within the reference system used in the 3D model based on the spatial information associated with the pixel comprised in the considered 3D image of the images DB  205 . 
     In order to provide an exhaustive coverage of the environment where the IRB positioning is implemented, the images DB  205  should comprise a sufficient number of 3D images for each modeled environment, associated with different camera positions, orientations and focal lengths. The number of 3D images that are deemed sufficient depends on an extent and features of the environment considered, and also depends on the purpose for which the IRB positioning is implemented. For example, the IRB positioning of a UE  110  located in an environment corresponding to a city street or square requires a lower number of 3D images (e.g., images may be generate with a 2 meters pitch) than the number of 3D images (e.g., images may be generate with a 20 centimeters pitch) required for an IRB positioning of a UE  110  for description of e.g. details of the furniture in indoor environments. 
     Advantageously, the images DB  205  or another storage element (not shown in  FIG. 2 ) stores the 3D model of the environment. 
     The communication module  215  is arranged for providing and managing communications between the UE  110  and the IRB positioning subsystem  130 . For example, the communication module  215  may be configured for exploiting at least one data network for establishing a communication with the UE  110  in order to receive query images and provide an indication of the position identified to the UE  110 . 
     Having generally described the system  100  for providing Location Based Services and the IRB positioning subsystem  130 , a procedure for identifying the position of the UE  110  by means of IRB positioning and for improving the images DB  205  according to an embodiment of the present invention is now described, by making reference to  FIG. 3 . 
     Initially (block  303 ), a query image  217  is received by the IRB positioning subsystem  130 ; the query image  217  is provided by the UE  110  which position is to be determined. 
     Preferably, the query image  217  is received by the communication module  215  of the IRB positioning subsystem  130  connected with the data network, and is then provided to the visual search module  220 . 
     In the IRB positioning subsystem  130 , the visual search module  220  compares (block  306 ) the query image  217  with 3D images  219  of the images DB  205 . 
     For example, as described in Ghinamo Giorgio, Corbi Cecilia, Francini Gianluca, Lepsoy Skjalg, Lovisolo Piero, Lingua Andrea, and Aicardi Irene: “The MPEG7 Visual Search Solution for Image Recognition Based Positioning Using 3D Models”, Proceedings of the 27th International Technical Meeting of The Satellite Division of the Institute of Navigation (ION GNSS+ 2014), Tampa, Fla., September 2014, pp. 2078-2088, MPEG CDVS visual search technology can be implemented for identifying, in the images DB  205 , a 3D image  219  having the highest similarity score with the query image. 
     Preferably, in order to select a most similar 3D image  219  of the images DB  205 , the following operations are performed by the visual search module  220 . 
     Local descriptors in the query image  217  and in the 3D images  219  included in the images DB  205  are considered (e.g., the local descriptors can be extracted from the images). 
     For example, the local descriptors of the query image  217  and of the 3D images  219  are described by a statistical characteristic (e.g., mean value, variance, etc.), and the local descriptors having the highest statistical characteristic values among all the local descriptors of the respective query image  217  and of the 3D image  219  are selected as the most significant local descriptors (e.g., as described in ISO/IEC DIS 15938-13 “Compact Descriptors for Visual MPEG-7 standard” MPEG 108—Valencia Spain, March-April 2014. 
     Global descriptors of the images (query image  217  and 3D images  219 ) are then obtained, from the local descriptors. Global descriptors provide a statistical representation of a set of most significant local descriptors extracted from the images. 
     The 3D images  219  of the images DB  205  are preliminary ranked based on a global descriptor fast screening aimed at assigning a global descriptors similarity score with the query image  217 . 
     As a result of the global descriptor fast screening, a number of 3D images  219  of the images DB  205  potentially similar to the query image  217  are selected. In other words, a set  307  of selected 3D images  219  having at least a minimum predetermined global descriptors similarity score is defined 
     Each one of the selected 3D images  219  of the set  307  is compared to the query image  217  in order to determine a matching between each selected 3D image  219  and the query image  217 . 
     Preferably, the comparison comprises exploiting key points of (e.g., extracted from) both a considered 3D image  219  and the query image  217 . For example, matches between key points of the two compared images are searched. The 3D image  219  and the query image  217  are considered matching images in case a predetermined sufficient number of matching key points is identified. Matching images are deemed representing substantially identical, or very similar, views of the same portion of the environment area. 
     The identified key points matches are preferably validated by a geometry check based on the concept that the statistical properties of log distance ratio for pairs of incorrect key points matches (i.e., “outliers”) are distinctly different from the statistical properties of log distance ratio for pairs of correct key points matches. For example, in order to assess that two images are matched images a sufficient number of matches should pass the geometry check. For avoiding false detection a number of matches that pass the geometry check superior to, e.g., 4÷6 has to be taken into account. With number of matches that pass the geometry check below 4÷6 the images may still be considered as matching images with good a probability, but false match detection may appear. 
     The selected 3D images  219  of the images DB  205  are then ranked by means of a similarity score with respect to the query image  217 . Preferably, the similarity score may be based on a number of validated key points matches and/or a reliability of each key points match (for example established by exploiting log distance ratios of matching key points in the query image and in the selected 3D images  219 . 
     The selected 3D image  219  having the highest similarity score may be considered the 3D image  219  of the images DB  205  most similar to the query image  217 . 
     It should be noted that the similarity scores of the selected 3D images  219  have not a deterministic value (apart for global descriptor and geometry check validation). Indeed, the similarity score of a selected 3D image  219  simply provides information about a potential similarity between the query image  217  and the selected 3D image  219 . 
     Therefore, it may happen that the selected 3D image  219  having the highest similarity score does not allow performing an estimation of a position of a camera of the UE  110  that took the query image  217  with a sufficient accuracy (e.g., a positioning error equal to, or lower than, 50 cm) as required by an application (e.g., indoor navigation or augmented reality) for which the LBS based on IRB positioning is provided. 
     In one embodiment of the invention, the highest similarity score is therefore compared with a confidence threshold (decision block  309 ) for determining whether the match between the identified most similar 3D image  219  (i.e., the selected 3D image  219  having the highest similarity score) and the query image  217  is sufficiently reliable; the aim of such comparison is to assess whether the query image  217  and the identified most similar 3D image  219  corresponds to a capture of substantially the same portion of environment from substantially the same point of view (in which case the generation of an additional 3D image could be omitted). 
     In the affirmative case (exit branch Y of decision block  309 ), i.e., if the highest similarity score is greater than the confidence threshold, the identified most similar 3D image  219  is considered a reliable match of the query image  217  and the IRB positioning of the UE  110  is then performed (block  312 ; by the image processing module  210 ) by the photogrammetry module  225 . 
     For example, the position of the UE  110  is estimated by the photogrammetry module  225  based on the spatial information of the identified most similar 3D image  219 . 
     Preferably, the photogrammetry module  225  is arranged for estimating external orientation parameters (position and orientation) comprised in a camera parameter configuration of the camera associated with the query image  217 . External orientation parameters may be obtained based on the resolution of a collinearity equation where the key points of the query image  217  are associated with the spatial information of matching key points in the most similar 3D image  219 . Internal orientation parameters (i.e., focal length, and principal point coordinates) may be also estimated in the procedure on order to improve the accuracy of external orientation parameters estimation. 
     The position of the UE  110  is considered as corresponding to the coordinates contained in the external orientation parameters estimated (possibly adjusted according to the internal orientation parameters). 
     In the negative case (exit branch N of decision block  309 ), i.e., if the highest similarity score is lower than the confidence threshold, the identified most similar 3D image  219  having the highest similarity score is not considered to be a sufficiently reliable match of the query image  217 . 
     Therefore, the image generation module  230  attempts to generate an additional 3D image  221  capable of providing a sufficiently reliable match of the query image  217 , i.e., an additional 3D image  221  having a similarity score greater than the confidence threshold or, at least, greater than the highest similarity score of the previously identified most similar 3D image  219 . 
     In more detail, a similar 3D images subset  313  of the selected 3D images  219  is built by a selection (block  315 ) among the previously selected 3D images  219  (it should be noted that the similar 3D images subset  313  of selected 3D images  219  may comprise a number of selected 3D images  219  ranging from a single selected 3D image  219  to all the previously selected 3D images  219 ). 
     Preferably, the selected 3D images  219  of the similar 3D images subset  313  are selected (e.g., by the image processing module  210 ) on the base of a similarity score obtained by the comparison with the query image  217  (performed at block  306 ). 
     For example, for successfully performing a location procedure selected 3D images  219  of the similar 3D images subset  313  preferably have a similarity score equal to, or greater than, four or five (4 or 5) when a CDVS-MPEG algorithm is exploited for evaluating the similarity score (i.e. the score is calculated based on the number of matched key points and/or similarity between couples of descriptors found during the fast screening between the selected 3D images  219  and the query image  217 ). 
     Preferably the image generation module  230  exploits spatial and color information, particularly respective camera parameters configuration of a respective synthetic camera associated with selected 3D image  219  of the similar 3D images subset  313 , in order to generate an additional 3D image  221  (characterized by a different camera parameters configuration of a corresponding synthetic camera) having an increased similarity score with the query image  217 . 
     For each selected 3D image  219  of the similar 3D images subset  313  to be processed (preferably starting from the previously identified most similar 3D image  219 , having the highest similarity score with the query image  217 ), a respective starting search point is built (block  318 ). 
     The starting search point is defined by a plurality of dimensions in a multidimensional space. Advantageously, at least part of the camera parameters described above may be used as dimension of the multidimensional space. For example, the starting search point may be defined by six (6) dimensions (i.e., a six dimensional space is considered plus in possible implementation the focal length as seventh dimension), namely the starting search point is described by six (6) coordinates: three (3) dimensional coordinates defining the position (in our three-dimensional space) of the camera that acquired the considered selected 3D image  219 , and three (3) attitude angles of the synthetic camera that captured the considered selected 3D image  219 . A point in the six dimensional space, identified by the six coordinates, corresponds to a certain camera parameters configuration. 
     In other words, the starting search point may be considered as the positioning of the synthetic camera associated with the most similar image for given query image. From another point of view, the starting search point may be considered as an (rough) evaluation of a (initial) camera parameters configuration associated with the camera of the user equipment  110  that acquired the query image  217 . 
     It should be noted that the focal length may be considered as a known parameter for the camera of the UE  110  to be located. 
     The starting search point is then processed (block  321 ) in order to obtain an increase in the similarity score (i.e., higher than the starting similarity score). 
     During the processing of the starting search point, the six (6) dimensional space is examined, i.e. the above-mentioned six coordinates are modified, in order to determine a modified camera parameters configuration—i.e., a set of six coordinates that identify a point of the six dimensional space—that corresponds (or approximates) a local maximum of the similarity score with the query image  217 . In other words, the starting search point based on camera parameters configuration of the most similar 3D image  219  is modified in order to obtain the modified camera parameters configuration, which combined with the cloud of points of the 3D model of the environment would generate the additional 3D image  221  substantially corresponding to the query image  217 . 
     This result may be achieved by implementing a maximum search sub-procedure comprising for example a tree approach and/or an operational research algorithm (e.g., as described in Stephen Boyd, Arpita Ghosh, and Alessandro Magnani “Branch and Bound Methods”, Notes for EE392o, Stanford University, 2003, and Lionel Lobjois, Michel Lemaitre “Branch and Bound Algorithm Selection by Performance Prediction”, AAAI-98 Proceedings, ONERA-CERT/DCSD-ENSAE, 1998). 
     In an alternative embodiment of the invention, the IRB sub-system  130  may be configure for stopping the maximum search sub-procedure before finding the local maximum of the similarity score with the query image  217 . For example, the IRB sub-system  130  may be configure for stopping the sub-procedure upon reaching a predetermined target threshold of the similarity score with the query image  217  (e.g., a target threshold value comprised between 5 and 7). This allows to reduce a total time required for performing the generation of the additional 3D image  221  at the same time ensuring a reliable matching between the query image  217  and the additional 3D image  221 . 
     Different operations are then performed depending on whether the image processing module  210  finds the modified camera parameters configuration corresponding to a local maximum of the similarity score or not (decision block  324 ). 
     If the modified camera parameters configuration corresponding to a local maximum of the similarity score is not found (exit branch N of the decision block  324 ), the image processing module  210  further checks (decision block  327 ) whether the whole similar 3D images subset  313  of selected 3D images  219  has been analyzed. 
     In the affirmative case (exit branch Y of the decision block  327 ); i.e., the whole similar 3D images subset  313  of selected 3D images  219  has been analyzed, the image processing module  210  concludes that is not possible to generate an additional 3D image  221  related to the query image  217 . Therefore, operation proceeds to block  312  wherein the IRB positioning of the UE  110  is performed (by the image photogrammetry module  225 ) by using the identified most similar 3D image  219  previously determined (even if the similarity score of such identified most similar 3D image  219  is lower than the confidence threshold). 
     In the negative case (exit branch N of the decision block  327 ); i.e., the whole similar 3D images subset  313  of selected 3D images  219  has not yet been analyzed, a next selected 3D image  219  of the similar 3D images subset  313  is selected for being analyzed (block  330 ) by the image generation module  230  and a new starting search point is built on the basis thereof, by returning to block  318 . 
     Preferably, the next selected 3D image  219  of the similar 3D images subset  313  selected for being processed is the image having a second highest similarity score (e.g., determined on the basis of the validation geometry check or, whether not available, on the global descriptor fast screening mentioned above) within the set of selected 3D images  219 . In other words, the selected 3D images  219  in the similar 3D images subset  313  are ranked in decreasing similarity scores. 
     Back to decision block  324 , if the modified camera parameters configuration corresponding to a local maximum of the similarity score is found (exit branch Y of the decision block  324 ), a corresponding additional 3D image  221  is generated (block  333 ) on the basis of the modified camera parameters configuration corresponding to such local maximum of the similarity score. In other words, the additional 3D image  221  is generated from the three-dimensional model of the environment as seen by a modified virtual camera having the modified camera parameters. 
     The camera parameters configuration corresponding to such local maximum of the similarity score are combined with the clouds of points of the 3D model in order to obtain the additional 3D image  221 . In other words the additional 3D image  221  is generated by projecting the cloud of points on the synthetic plane according to the modified camera parameters configuration corresponding to (or approximating) such local maximum of the similarity score. 
     The additional 3D image  221  just generated is then stored (block  336 ) in the images DB  205  of the IRB subsystem  130 . 
     Advantageously, the IRB positioning of the UE  110  may then be performed (by the photogrammetric module  225  as described above) by using the additional 3D image  221  just generated that actually has the highest similarity score with the query image  217  provided by the UE  110 . 
     Alternatively, whether the image generation module  230  has a limited computation capability, i.e. a computation capability not sufficient for generating in real-time, or near real-time, the additional 3D image  221 , the photogrammetry module  225  performs the IRB positioning of the UE  110  on the basis of the most similar selected image  219 , while the additional 3D image  221  is generated in background by the image generation module  230  and stored in the images DB  205  thus available for following IRB positioning procedures. 
     It should be noted that the procedure described above applies indifferently exploiting as starting search point similarity scores either defined by validation geometry checks or global descriptors. 
     Particularly, similarity scores defined by global descriptors may be used as starting search points when the validation geometric check yields a low similarity score (for example, lower than, or equal to, 2) between the 3D images  219  and the query image  217   
     Although in principle similarity scores defined on the basis of local descriptors could be used, they are less reliable than similarity scores defined on the basis of validation geometric checks, thus, using similarity scores defined on the basis of local descriptors, it may happen that a larger number of selected 3D images  219  are selected in the set  307  of selected 3D images  219  to build the similar 3D images subset  313  with respect to the case of similarity scores based on validation geometric checks. Nevertheless, if the sub-procedure for finding the local maximum of the similarity score with the query image  217  determines a sufficiently high value (e.g., a value equal to, or greater than, the target threshold mentioned above) the resulting additional 3D image  221  should be considered a reliable match of the query image  217 . 
     In addition, the procedure according to the present invention may also be applied when the accuracy of an estimated position of the UE  110  obtained, for example, by using collinearity equations (as described in Editor in Chief C. Mc Glone “Manual of Photogrammetry” 5th edition ASPRS, p 280-281) is not sufficient (e.g., a positioning error greater than 30/50 cm), which may occur in case key points in the query image  217  are far from the camera of the UE  110  and concentrated in a limited region of the query image  217 . 
     Regardless the manner in which the similarity scores are computed, it should be noted that general low similarity scores for the 3D images, are an indication that the image DB  205  provide a possible different perspective of the environment (i.e., the environment as seen by the synthetic camera associated with the 3D images  219  of the image DB  205 ) with respect to a perspective associated with the query image  217  (due to different respective camera parameters configurations). Moreover, in general, low similarity scores of 3D images of the database may be associated with 3D images generated based on a 3D model afflicted by ‘ambient noise’ (e.g., presence of people and/or vehicles, different lightning conditions during the TLS). Therefore, the image DB  205  could be improved (‘strengthen’) by storing additional 3D images  221  according to the present invention. Indeed, the additional 3D images  221  generated by the image generation module  230  during each iteration of the procedure, progressively increase the coverage of the environment and increase chances of finding higher similarity scores in subsequent IRB positioning procedures. 
     In one embodiment of the invention, a DOP (Dilution Of Precision) given by a variance-covariance matrix elements (i.e., coordinates of the 3D images  219  and of the query image  217 ) could be considered as a parameter that triggers the search procedure of the additional 3D image  221  to be added to the images DB  205  (i.e., the confidence threshold mentioned above could be based on the DOP). Indeed, the DOP (which is a result of the least squares algorithm solution of the collinearity equations, e.g. as described in Editor in Chief C. Mc Glone “Manual of Photogrammetry” 5th edition ASPRS, p 280-281) provides an indication of the accuracy of the camera parameters associated with a selected 3D image  219 . 
     It should be noted that, a selected 3D image  219  having a high similarity score with respect to the query image  217  corresponds to a low DOP (i.e., a better spatial distribution of key points is detected in the matching procedure between the query image and the additional image  221 ) and thus leading to more accurate estimation of external orientation parameters exploited for the positioning of the UE  110  that provides the query image  217 . 
     According to a different embodiment of the present invention, the positioning procedure may be implemented at least in part directly at the UE  110  (i.e., the image processing module  210  is at least partially implemented in the UE  110 ) which position is to be determined. 
     For example, the procedure may be executed by providing the UE  110  with a (possibly also partial) 3D model (e.g., the UE  110  may download the 3D model from the IRB subsystem  130  via the cellular communication network and/or the WLAN) of the environment area (which may be roughly determined by the system  100 ; e.g., by identifying the radio base station  115  of the cellular communication network and/or the wireless access point  120  of the WLAN to which the UE  110  is connected) and a downloaded set of 3D images  219  of the images DB  205  referred to the environment area. 
     The downloaded set of 3D images  219  of the images DB  205  may be considered a “basic” or “reduced” data base; i.e., a data base with a low number of 3D images  219  (e.g., 3D images  219  acquired at a physical distances one from the other in the order of meters, such as for example a physical distance comprised between 2-3 m for indoor environments, in order to maintain low a size—e.g., in terms of bytes transmitted—of the downloaded set of 3D images  219 ). 
     Advantageously, the procedure may be implemented even if the 3D images  219  of the downloaded set have, for example, a high level perspective coverage, i.e. the 3D images  219  shows the environment as seen from a greater distance than the environment as shown by the query image  219  (due to different respective camera parameters configurations associated with the 3D images  219  and the query image  217 ). 
     Such high level perspective coverage of the 3D images  219  implies a low similarity score (for example, a similarity score equal to, or lower than, 4) with respect to the query image  217 , nonetheless thanks to the procedure according to the present invention, starting from a downloaded set of 3D images  219  of the images DB  205  and from the 3D model, an additional 3D image  221  with good similarity with the query image  217  can be generated (possibly in real-time) at the UE  110 . 
     In another embodiment of the invention the IRB positioning is performed without exploiting the image DB  205 . A 3D image is estimated by projecting the 3D cloud of points according to camera parameters based on a rough positioning of the UE  110 . 
     A starting search point may be determined by means of a different positioning functionality of the system  100 . For example, spatial coordinates of the UE  110  may be obtained through an initial rough positioning of the UE  110  based on coordinates of one or more access gateways, such as the access gateway  120  of the Wi-Fi network, within a signal range of the UE  110 . In addition or alternative, an initial rough positioning of the UE  110  may be also provided by analysis of signals exchanged by the UE  110  with the radio base station  115  of the mobile communication network and/or or even by a GNSS. 
     An orientation of the UE  110  may be identified by means of a spatial orientation measurer, such as for example a magnetometer, equipped in the UE  110 . In other words, the starting point may be defined by the coordinates of the access gateway  120  in range and by the orientation information provided by the magnetometer of the UE  110 . 
     In this case, a ‘custom’ 3D image may be generated directly by the UE  110  by downloading only the 3D model of the environment without the need of any 3D images  219  of the images DB  205  (thus avoiding to implement images comparison procedures at the UE  110 ). 
     The custom 3D image is generated by projecting the cloud of points on the synthetic plane according to the spatial information of the starting search point previously determined. 
     Then by examining the six dimensional space, starting from the starting search point which is modified in order to identify a point that defines a camera parameters configuration corresponding to a local maximum (or a value equal to, or greater than, a target threshold) of the similarity score from a similarity score of custom 3D image with respect to the query image acquired by the same UE  110 . 
     Advantageously, the IRB positioning may be then carried out at the UE  110  exploiting external orientation parameters obtained based on the resolution of the collinearity equation where the key points of the query image  217  are associated with the spatial information of an additional image generated based on the modified camera parameters configuration corresponding to a local maximum of the similarity score (e.g., as described in Ghinamo Giorgio, Corbi Cecilia, Francini Gianluca, Lepsoy Skjalg, Lovisolo Piero, Lingua Andrea, and Aicardi Irene, “The MPEG7 Visual Search Solution for Image Recognition Based Positioning Using 3D Models”, Proceedings of the 27th International Technical Meeting of The Satellite Division of the Institute of Navigation (ION GNSS+ 2014), Tampa, Fla., September 2014, pp. 2078-2088. 
     Furthermore, in an embodiment of the invention, a procedure for generating additional 3D images  221  similar to what described above may also be executed offline (i.e., without interacting with any UE  110 ) in order to train the IRB positioning subsystem  130  and particularly the images DB  205  to practical condition of use. 
     In this case, in order to improve an images DB  205  having an unsatisfactory starting set of 3D images  219  (e.g., a low number of 3D images  219  and/or acquired at substantial distances one from the other with respect to an extension of the environment area), a set of ‘training images’ with no spatial information available (i.e., simple digital images, simulating query images  217 ) may be provided. 
     By applying a procedure substantially equal to procedure described above, starting from the training images, additional 3D images  221  may be generated, which may improve the images DB  205  increasing the number of 3D images thereof thereby allowing a more effective IRB positioning.