WO2022175602A1 - Method for geolocating and characterising signalling infrastructure devices - Google Patents

Method for geolocating and characterising signalling infrastructure devices Download PDF

Info

Publication number
WO2022175602A1
WO2022175602A1 PCT/FR2021/050290 FR2021050290W WO2022175602A1 WO 2022175602 A1 WO2022175602 A1 WO 2022175602A1 FR 2021050290 W FR2021050290 W FR 2021050290W WO 2022175602 A1 WO2022175602 A1 WO 2022175602A1
Authority
WO
WIPO (PCT)
Prior art keywords
objects
cones
panoramic
center
coordinates
Prior art date
Application number
PCT/FR2021/050290
Other languages
French (fr)
Inventor
Romain D'ESPARBES
Cédrik FERRERO
Original Assignee
Geosat
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Geosat filed Critical Geosat
Priority to PCT/FR2021/050290 priority Critical patent/WO2022175602A1/en
Publication of WO2022175602A1 publication Critical patent/WO2022175602A1/en

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/16Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using electromagnetic waves other than radio waves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • G06V20/582Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of traffic signs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • G06V20/584Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of vehicle lights or traffic lights
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C11/00Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
    • G01C11/04Interpretation of pictures
    • G01C11/06Interpretation of pictures by comparison of two or more pictures of the same area
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S2205/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S2205/01Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations specially adapted for specific applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20072Graph-based image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture

Definitions

  • the present invention relates to a method for the geolocation and qualification of signaling infrastructure devices comprising detection and classification of discrete objects such as infrastructure devices traffic signs and in particular traffic signs with a view to integrating this data into a high resolution map.
  • Technical Field [0002] The invention relates to the field of producing high-definition 3D maps for the geolocation of autonomous vehicles by combining GPS/GNSS data, a high-definition map and movement data, in particular by inertial measurement unit.
  • PRIOR ART [0003] An autonomous vehicle must know its position relative to its environment in order to move. Its localization is possible by means of a GPS/GNSS. However, in the absence of GPS/GNSS and in the case of disturbed satellite signals, other methods are necessary to help a vehicle determine its position.
  • a high-definition (HD) on-board map fills in information gaps while providing a reliable description of the vehicle's 3D environment.
  • Current solutions for generating high-definition 3D maps and covering vast regions are tedious, require significant working time and the volume of data required for these maps remains high.
  • automated object recognition in LIDAR images and point clouds has progressed in recent years.
  • Cartography systems comprise a minimum of three types of data: geolocated data, 3D spatial measurements and 360° visualization with panoramic optical images. High-quality geolocation measurements are the foundation for creating maps accurate and precise.
  • LIDAR scanners provide dense, high-accuracy 3D point clouds that can represent the morphology of the environment and panoramic images provide complementary information, textures, signage, text and other visual details. [0006] This data together helps to create dense and highly detailed 3D maps. Mobile mapping systems generate more than 1 gigabyte of data per 50m which makes data management and processing complex, requires large capacity data storage platforms and powerful computing and video processing resources for processing data, visualization, navigation and manipulation of this data.
  • the method of the invention uses unit panoramic images, that is to say non-stereo, spherical or geolocated semi-spherical images taken successively and combines a classification part of objects based on neural networks and an algorithmic part of calculation position and dimensions of classified objects so as to simplify shooting and reduce the amount of data to be processed.
  • the present invention proposes a process for the geolocation of discrete objects from a succession of geolocated unitary panoramic images taken by a camera device 360° panorama of one or more mobile vehicles on the route of said vehicles, characterized in that it comprises: - at least one succession of steps for taking said unitary semi-spherical or spherical panoramic images by a mobile vehicle carrying a panoramic camera device carrying a geolocation system, - a succession of steps for recognizing and classifying objects, in said unitary panoramic images, carried out by means of deep learning models based on neural networks producing a detection and classification of objects in the panoramic images and producing the definition of selection boxes around subsets of pixels which contain the detected objects in the panoramic images and for each object in each panoramic image, a classification code and the coordinates i (vertical), j (horizontal) in number of pixels of a position marker of the selection frame of width w and ha uter h containing said object in said panoramic image; - a succession of steps for the geolocation of classified objects by
  • the method of the invention combines a classification part based on deep learning and a neural network, then an algorithmic part for calculating the position and confirming the validity of the positions of the objects to geolocate said objects from images.
  • semi-spherical pans over 360 unit degrees without the need for distance measurements or stereo shots.
  • the camera device carried by the mobile vehicle or vehicles comprising several cameras distributed in a spherical manner suitable for taking synchronized photos, dated and located by means of location and dating such as a GPS/GNSS system, the method can include taking photos periodically by the cameras of said camera device during the movement of the vehicle carrying them, said synchronized, dated and geolocated photos being processed in software suitable for constructing spherical panoramic images from said photos.
  • the camera device comprising five cameras pointing in directions spaced 72° apart in a horizontal plane around a vertical axis with respect to the rolling plane of the vehicle and a camera pointing upwards on the vertical axis, the photos simultaneous images taken by the 6 cameras are connected to produce a 360° spherical panoramic photo in a horizontal plane.
  • the method may include the fixing of an origin point with coordinates (0, 0) at the level of the panoramic images of width of W pixels by a height of H pixels, a step of recognizing and classifying said objects at the means of deep learning models based on neural networks producing a selection frame around a subset of pixels which contains the object detected in the panoramic image as well as its classification code and a memorization step: [0019 ] - of said selection frame of each object P detected, [0020] - the height h and the width w of this frame and, [0021] - the coordinates i (vertical), j (horizontal) in number of pixels of a position mark of the selection frame containing said object associated with the panoramic photos with respect to said point of origin.
  • the method may comprise the definition of the point of origin of coordinates (0, 0) of the panoramic image as the point at the top left of the panoramic image and the definition of the position marker i, j relating to the origin (0, 0) of the bounding box as the top left point of the bounding box.
  • the step of determining the position of the detected objects can in particular use: the position parameters of the cameras, which include the geolocated Cartesian coordinates (x0, y0, z0) of the center O of the camera device and the orientation ( ⁇ , ⁇ , ⁇ ) of each of the cameras of the camera device; - the height and width of the original panoramic image H, W; - borders of selection frames containing objects detected in panoramic images.
  • the position parameters of the cameras which include the geolocated Cartesian coordinates (x0, y0, z0) of the center O of the camera device and the orientation ( ⁇ , ⁇ , ⁇ ) of each of the cameras of the camera device; - the height and width of the original panoramic image H, W; - borders of selection frames containing objects detected in panoramic images.
  • the triangulation method preferably comprises the determination of the position of a particular detected object by means of a projection of a cone directed towards the center A of the selection frame of said object on said upper part of said surface of a sphere, said cone having as its apex the center of the camera device and the angle aperture ⁇ and comprises , for a given particular detected object, a calculation of intersections of pairs of cones generated in at least two distinct panoramic images comprising said object and taken at at least two different locations U0, V0, so as to calculating by triangulation a spatial distance between the particular object detected and the positions of the centers of the camera device at said at least two different places and calculating a geolocated position of said particular object detected.
  • the distance parameter D being expressed in meters and chosen according to the spatial frequency of taking photos to reduce the number of false detections.
  • the method advantageously comprises a validity analysis of IJ intersections in 3D of said cone projections in order to reduce the number of candidate objects detected and to identify the uniqueness of the objects and to determine whether the intersections are sufficiently close, a validity condition of a candidate object being the fact that the vectors and directors of the pairs of cones are separated by a distance less than a parameter d at the intersection IJ of the cones, the method further comprising an extraction as valid objects of representatives satisfying said validity analysis, the storage of their position in the global coordinate system, storing their predicted classification and storing their dimension.
  • the validity analysis advantageously includes a search for intersection nodes and a proximity calculation between the axes of the cones to determine whether the intersections are sufficiently close, by means of the generation of a tree KD of the points I and J and the selection from said tree KD of pairs of cones having a minimum distance less than a parameter d at the intersection IJ of the cones, the value in meters of said parameter d being chosen according to the size of the classes of objects detected , and comprising, for the condition that the intersections are sufficiently close, an algorithm for identifying points I and J of closest distance from the vectors and directors of the pairs of intersecting cones, an algorithm for constructing spheres of influence P , Q whose radius is the radius of the cone according to a perpendicular to the director axis of the cone around the points I and J called attachment points and an algorithm for validating the condition if the points I and J are mutually contained in the sphere of influence of the cone opposite the axes of the cones then being contained in the cone opposite to the intersection.
  • the method may comprise, for all the pairs of cones whose intersections are sufficiently close and whose direction vectors are mutually contained in the cones and when two or more attachment points have been found, a detection analysis of parasitic intersections, said analysis comprising the production of a graph: - for which each attachment point constitutes a node, - for which two nodes are connected if they satisfy the conditions of sufficiently close intersections and direction vectors mutually contained in the cones, said analysis further comprising for each connected component of the graph, a choice of the node having the maximum degree of links as representative of a single object and a sorting by decreasing degrees of connectivity of said representatives then an iterative process of validation and subtraction of the representative of the highest order and cones converging towards them, analysis of convergences of cones remaining and deletion of the representatives finding themselves without converging cones, said iterative process being reiterated until all the representatives have been validated or invalidated.
  • FIG.1 shows an example of a panoramic photograph
  • FIG. 2 shows a camera reference system diagram in spherical coordinates
  • FIG. 3 shows a global reference system diagram in Cartesian coordinates
  • FIG.4 shows an angular camera registration diagram
  • FIG. 5 shows an image diagram projected onto a sphere centered on the cameras
  • FIG. 6 shows panel processing according to one aspect of the application
  • FIG. 7 shows a representation of two solid angles converging towards a triangulated point; [0038] [Fig.8] shows an example of detection of objects on a trajectory; [0039] [Fig. 9] shows a flowchart of the steps of a first application process; [0040] [Fig. 10] shows a flowchart of the steps of a second application method; [0041] [Fig. 11] is a schematic representation of an imaging vehicle [0042] [Fig. 12] shows a graph corresponding to the detection of objects in FIG. 8. Description of the embodiments The drawings and the description below describe non-limiting examples of embodiment useful for understanding the invention. For the generation of HD maps, it is desirable to perform a detection and classification of roads and road signs from panoramic images.
  • the panoramic images 11 as shown in Figure 1 are taken from mobile vehicles 1 as shown schematically in Figure 11 equipped with panoramic cameras 2a, 2b, for example an assembly of cameras, called panoramic camera device, which may in particular comprise five cameras 2a pointing in directions spaced at 72° in a horizontal plane around a vertical axis relative to the rolling plane of the vehicle and a camera 2b pointing upwards on the vertical axis.
  • the cameras take synchronized photos, dated and localized by localization and dating means such as a GPS/GNSS system 3 and an inertial unit.
  • the GNSS/GPS antenna is normally positioned as close as possible to the inertial unit and in the vertical axis of the inertial unit and is found in the immediate vicinity of the camera block
  • the vehicle can also be equipped with a LIDAR device to scan the environment to generate point clouds for making 3D maps.
  • the 6 photos taken by the cameras are connected to produce a 360° panoramic photo in a horizontal plane.
  • the lower part of the photo contains no information due to the field of vision of the cameras but is used to complete the image over 180°.
  • the image is referenced to have a point of coordinates 0, 0 at the top left point and is W pixels wide by H pixels high, for example 1920 pixels in a horizontal direction and 1080 pixels in a vertical direction.
  • the cameras take photos in a synchronized manner during the movement of the vehicle carrying them, for example every two meters.
  • the unit images are processed in software adapted to construct a panoramic image from the six simultaneous images.
  • the problems associated with the recognition and positioning of objects such as panels on a map from panoramic images are, on the one hand, knowing whether the images of panels which are repeated in several panoramic images correspond to the same panel or to different panels and, on the other hand, the impossibility of knowing the real position of a panel from its image on a panoramic image.
  • the following description takes the example of traffic signs but the method described applies to any discrete object that we wishes to geolocate, such as traffic lights, bus stop shelters or other discrete objects whose geolocation is desired.
  • the necessary information on a panoramic image comprising at least one object to be geolocated is: the predicted class of the detected object, the coordinates in pixels of a selection frame of a sub-image comprising the object to be geolocated, the dimensions h, w of the selection frame of the sub-image, the name of the panoramic image, its orientation and its geolocation.
  • a prior step to the method of the present application is the creation of an MRP object recognition model, such as panels 400, in the form of a neural network by means of a learning base which contains examples of the classes of interest of these objects.
  • This panel recognition model 400 is then used to recognize the panels in panoramic images to be processed.
  • the classes of objects are in particular groupings of types of objects to be found.
  • a class can contain a type of object but also a family of objects.
  • a class can contain the type stop sign, but also a type of sign such as direction signs.
  • the granularity of the class may in particular vary according to the quantity of data available or to be processed.
  • the method begins with a succession of steps for taking panoramic images 11 by one or more mobile vehicles 1 carrying panoramic camera devices discussed above.
  • An example of a panoramic image is given in figure 1.
  • this image this image, the coordinates i, j in pixels of a point P are Cartesian coordinates from an origin point (0, 0) at the top left of the image.
  • the image also has W pixels in width which corresponds to 360° and H pixels in height over 180° with a lower black band 10 on the part of the image masked by the vehicle.
  • W pixels in width which corresponds to 360° and H pixels in height over 180° with a lower black band 10 on the part of the image masked by the vehicle.
  • a database or a file 300 with the classified objects in the images and the photos and positions of the cameras is then created. [0059] Next, an important part for the positioning of the objects detected and classified from mobile mapping images in a 3D map is to determine their geolocated coordinates.
  • the present application proposes performing a triangulation of the objects from two or more detections of these objects.
  • the triangulation performed uses the principle of parallax. A minimum of two images is required for this method to work. For each panel or object detected, it is necessary to determine its position with respect to the center of the group of cameras, with respect to the extrinsic camera parameters and its position in the panoramic image. [0061] Specific information associated with each panoramic image is thus necessary to extract the geolocation of the classified objects.
  • the camera position parameters which include the geolocated Cartesian coordinates of the center O of the group of cameras 100 (x0, y0, z0) according to figure 3 and the orientation of each of the six cameras ( ⁇ , ⁇ , ⁇ ) in the group of 6 cameras 100 according to FIG. 4; - The height and width of the original panoramic image (H, W) of Figure 1; - the borders of all the selection frames 13 containing the objects detected in the panoramic images such as the panel P represented in FIG. 6.
  • H, W original panoramic image
  • the borders of all the selection frames 13 containing the objects detected in the panoramic images such as the panel P represented in FIG. 6.
  • several transformations are necessary: - the image pixels must be identified in the spherical camera coordinates ( ⁇ , ⁇ , ⁇ ) according to FIG.
  • the spherical camera coordinates must be translated into Cartesian camera coordinates (X, Y, Z) according to FIG. 3 because the coordinates used to locate the vehicle, and therefore the center of the camera device 100, are Cartesian coordinates , and finally ; - the Cartesian camera coordinates must be translated into global coordinates (x0, y0, z0) according to figure 3 (for example the WGS-84 geodetic coordinates).
  • the expected result is the determination of the geolocation of a position P of the objects classified in global coordinates (x, y, z). In the following we will consider a road sign.
  • the term “sub-image” refers to a sub-set of the pixels of the panoramic image including the object to be geolocated, the selection frame framing the sub-image.
  • the position of the sub-image of the road sign with respect to the center of the camera can be considered as part of the surface of a sphere 120 (the panoramic image) with the camera device 100 at the center of this sphere. .
  • solid angles, cones 110 are generated as follows.
  • a solid corner opening can then be defined by the radial distance r between the center coordinates, A, of the bounding box and hence the traffic sign, to the nearest edge of the bounding box in Figure 6 according to the relation: [0068] [Math.2] [0069] [0070] with: [0071] [Math.3] [0072]
  • (i, j) are the coordinates of the highest pixel on the left of the sub-image 13 encompassing the panel
  • h and w are respectively the height and the width of the sub-image.
  • the angle ⁇ is: [0080] [Math.5] [0081] modulo ⁇
  • the width of the image corresponds to W in pixels and to 2 ⁇ in spherical coordinates and the height of the image corresponds to H in pixels and to ⁇ in spherical coordinates.
  • solid angles are generated by assigning a value 1 to the parameter ⁇ of the vector defining the axis of the cone in the spherical camera coordinates.
  • a distance parameter D is taken into account.
  • This search can be carried out by means of a KD tree on the points of the trajectories which makes it possible to accelerate the search for the pairs of cones which are close to each other.
  • KD tree is not mandatory, but it lightens the computation when the amount of data increases.
  • D is expressed in meters and its choice depends on the maximum distance at which it is considered that an object can no longer be detected in an image. Parameter D will be adapted by the operator according to the spatial frequency of the shots. For example for a panel object class, a vehicle taking pictures every 2m, D can be set to 100m.
  • the periodicity of the taking of photos is preferably determined according to a distance traveled by the vehicle, for example the photos are taken every meter or every two meters traveled.
  • the periodicity can be determined according to a temporal frequency, the vehicle speed then determining the interval in meters between the photos. For a vehicle traveling at 50 km/h and cameras taking photos at 14 fps, in this case we would obtain one photo per meter and a backup of one photo per 2 or 3 meters could be made.
  • FIG. 7 represents two vectors and central respectively to the cones 110a, 110b and corresponding to the detection of a panel in two images taken with the cameras in position U0 and in position V0.
  • the projections of the cones 110a, 110b are analyzed to determine the intersection points in 3D which represent the geolocated position of the objects in space.
  • the cone vectors are three-dimensional and due to inaccuracies in the measurements, the cone vectors may not intersect perfectly which creates several close intersections. Intersections are considered valid if several conditions are met: i - They must be sufficiently close; ii - The direction vectors are mutually contained in the cones and ; iii - The intersection is not a parasitic intersection.
  • condition i to determine if the intersections are close enough, a KD-Tree is generated and only the pairs of cones whose minimum distance 130 between their axes defined by the vectors and is less than a parameter d are considered to satisfy this condition.
  • the value of d in meters is chosen according to the size of the objects of a class of objects detected in the images.
  • condition ii according to which the direction vectors are mutually contained in the cones, the points I and J of closest distance are identified along the direction axes of the pairs of intersecting cones and spheres of influence are constructed.
  • P, Q whose radius is the radius of the cone according to a perpendicular to the director axis of the cone around these points called attachment points.
  • a general equation expresses the position of 3D points along their respective vector: [0119] [Math.15] [0120] As solid cones are defined by their apex M0 and a directional point MA, we have: [0121] [Math.16] [0122] [Math.17] [0123] A particular value of the variable t which defines the distance of the points on the line defined by the directional vector of the cone will define the position respectively of the point of attachment I or J.
  • the radius of the spheres for each vector can be calculated with: [0131] [Math.21] [0132] [Math.22]
  • the radius R F is used to define the sphere of influence at the level of point I, a similar calculation with tb makes it possible to calculate the sphere of influence at the level of point J.
  • intersection is such that the pairs of spheres for which the distance between their centers is less than d and that these centers are mutually contained in the opposite sphere, it is necessary to verify condition iii -
  • the intersection is not a parasitic intersection or a ghost panel.
  • a subsequent analysis is carried out to detect unique or parasitic intersections, that is to say false intersections as represented in FIG. 8 representing a simplified case where on the trajectory 200 a vehicle takes photos at the positions 200a, 200b, 200c, 200d, 200e, two panel x 201 and 202, the panel 201 being visible on the photos taken at points 200b, 200c, 200d, 200e while the panel 202 is visible in the photos taken at points 200a, 200b, 200c.
  • the branches Br of the graph are the connections between a node and all the other nodes together forming a connected component.
  • the node Rp having the maximum degree is chosen as representative of a unique object.
  • the representatives are then sorted by decreasing degree of degree of connectivity. To filter out the spurious points, the highest order representatives and the cones converging towards the latter are validated and removed. The remaining cone convergences are analyzed and, if one or more representatives are found without converging cones, these representatives are identified as a projection of a ghost or duplicated panel called a ghost projection and invalidated. The operation is repeated until all the representatives have been validated or invalidated. All representatives that pass the last test are then extracted as valid objects, their position in the global coordinate system is stored along with their predicted classification and dimension.
  • point 201 in FIG. 8 corresponds to an attachment point A1 with a representative Rp1 on the graph 600, point 202 to an attachment bridge A2 with a representative Rp2 and the point 203 to an attachment point A3 with an Rp3 representative.
  • the Rp1 representative with 11 bonds is validated and removed with its cones, then the Rp2 representative with 5 bonds is removed with its cones. There then remains the representative Rp3 which no longer has any cones and is therefore classified as a ghost projection and therefore invalidated.
  • the radius Rs of the highest-order represent makes it possible to evaluate the spatial dimension and the size of the object.
  • the output data are the geolocated coordinates (x, y, z) of the objects and in particular of the panels in the global coordinates, their predicted classification and a minimum dimension, r.
  • Another point dealt with by the filtering of parasitic points, described above, is the extraction of ghost objects when several cones have an intersection with a single cone. This happens due to a sensitivity of the method to parallax at small angles coupled with a profusion of cones which add background noise. Sufficient distance is needed between the viewpoints (image captures) to clearly distinguish the intersections of the cone vectors during the triangulation.
  • the parameter D which reduces the interference between the cones for the instances of panels of the same type that are close can be adapted according to the location of the panels.
  • D can be reduced in cities where the panel density is greater and increased outside cities. Since the cones are projected to infinity, following the path of the vehicle, especially in curves, roundabouts and lane intersections, reducing the search radius reduces background noise.
  • the value of D depends on the size of the objects and the frequency of image capture.
  • the aforementioned distance parameters D and d are introduced during the implementation of the method on an image set corresponding to a surface whose panels or other objects are to be geolocated.
  • Figure 10 describes, from the database of images with classified objects 300, the steps 305 of reading the selection frames of the objects and 310 reading the trajectories of the cameras having taken the images, the step 320 of constructing the cones 320 in parallel with the step 330 of creating the KD trees of proximity of the intersections, the step 340 of selecting the objects of a class to carry out the step 350 of searching for the pairs of cones of distance ⁇ D with respect to the origin of the photo taking into account the result of the step for creating the tree KD of the trajectory points then the step 355 of searching for the intersection nodes and the calculation of the proximity between the axes of the cones to define the nodes corresponding to probable objects.
  • step 360 of calculating the connected components with the generation of a graph 600 of all the node connections then a step 365 of selecting the maximum degree node for each connected component followed by a step 370 of ordering the representative nodes by descending degrees to carry out step 375 of filtering the dummy representatives by deleting the vectors already referenced for higher-order nodes and deleting the remaining single-vector nodes.
  • step 380 the output data are the objects for which the coordinates of the center of the object in global coordinates, and the radius of the object are stored in step 380.
  • a - the triangulation method is carried out with the criteria: 1) at least two images where the model has detected the same object, 2) the position in global coordinates of the center of the block of cameras is known 3) the camera orientation angles are known which makes it possible to calculate the position of the object detected in the image in a global frame.
  • B - The triangulation method projects the directional vectors, with their apex at the center of the block of cameras and searches for the crossings in 3D space as potential positions of the object.
  • C The determination of the uniqueness and validity of the object as well as the execution time performance are ensured thanks to the introduction of two parameters: D, a search distance for the pairs of vectors which cross which makes the algorithm more efficient in execution time and d, a distance threshold determining that at the crossing, the vectors are sufficiently close to reduce the candidate points of intersection.
  • D The method provides a method of filtering crosses by a voting system to identify among the candidates the most probable position of the objects.
  • E After having calculated the number of votes (degree of connectedness of a position) the points are ordered in rank. The projected vectors are attributed to the points by their decreasing degree of connectivity and the points having no more associated vectors are considered as false positives and not real positions.
  • the present application thus proposes a highly automated method for the recognition and geolocation of discrete objects such as signs, traffic lights or other infrastructure objects from panoramic images taken by one or more vehicles moving on traffic lanes.
  • the vehicles may in particular be motor vehicles moving on road traffic lanes or railway vehicles for geolocating railway signaling devices.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Electromagnetism (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Image Analysis (AREA)

Abstract

The invention relates to a method for geolocating discrete objects from panoramic images, comprising a succession of steps involving capturing the panoramic images by means of one or more moving vehicles carrying a panoramic camera device, a succession of steps involving recognising and classifying objects in the panoramic images, a succession of steps involving geolocating the classified objects using a method for triangulating the objects based on at least two panoramic images containing the classified objects and the positions (100a, 100b) of the panoramic cameras while capturing the panoramic images containing the classified objects.

Description

PROCEDE DE GEOLOCALISATION ET DE QUALIFICATION DE DISPOSITIFS D'INFRASTRUCTURE DE SIGNALISATION [0001] La présente invention concerne un procédé de géolocalisation et de qualification de dispositifs d'infrastructure de signalisation comportant une détection et une classification d'objets discrets tels que dispositifs d'infrastructure de signalisation et en particulier de panneaux de signalisation en vue de l'intégration de ces données dans une carte haute résolution. Domaine technique [0002] L'invention concerne le domaine de la réalisation de cartes 3D hautes définition pour la géolocalisation de véhicules autonomes en combinant des données GPS/GNSS, une carte haute définition et des données de déplacement notamment par centrale à inertie. Technique antérieure [0003] Un véhicule autonome doit connaitre sa position relativement à son environnement en sorte de se déplacer. Sa localisation est possible au moyen d'un GPS/GNSS. Toutefois, en l'absence de GPS/GNSS et dans le cas de signaux satellites perturbés, d'autres méthodes sont nécessaires en sorte d'aider un véhicule à déterminer sa position. Une carte embarquée à haute définition (HD) remplit les manques d'information tout en fournissant une description fiable de l'environnement 3D du véhicule. [0004] Les solutions actuelles pour générer des cartes 3D haute définition et couvrir de vastes régions, sont fastidieuses, nécessitent un temps de travail important et le volume de données nécessité pour ces cartes reste élevé. En parallèle, la reconnaissance d'objets automatisée dans les images et les nuages de points LIDAR a progressé dans les dernières années. [0005] Les systèmes de cartographie comportent un minimum de trois types de données : données géolocalisées, mesures spatiales 3D et visualisation à 360° avec des images optiques panoramiques. Des mesures de géolocalisation de haute qualité sont le fondement pour la création de cartes fidèles et précises. Pour ce faire, les scanners LIDAR fournissent des nuages de points 3D denses et de haute précision qui peuvent représenter la morphologie de l'environnement et les images panoramiques fournissent des informations complémentaires, textures, signalisation, textes et autres détails visuels. [0006] Ces données ensemble aident à créer des cartes 3D denses et très détaillées. Les systèmes de cartographie mobile génèrent plus d'1 gigaoctet de données par 50m ce qui rend la gestion et le traitement des données complexe, nécessite des plateformes de stockage de données de grande capacité et des ressources de calcul et de traitement vidéo puissantes pour le traitement des données, la visualisation, la navigation et la manipulation de ces données. [0007] Le traitement et l'analyse des données de cartographie mobile pour la réalisation de cartes haute définition est délicat et long pour plusieurs raisons : (1) la nature hétérogène et non structurée des nuages de points 3D, qui sont une technologie relativement récente, les rend difficiles à analyser, (2) les images 2D lorsqu'elles sont prises seules manquent d'informations spatiales, (3) la plupart des méthodes de classification et d'extraction de formes nécessitent une importante intervention d'un analyste humain et, (4) les logiciels autonomes utilisés pour réaliser des cartes HD sont intrinsèquement conçus comme des solutions verticales (5) la reconnaissance des objets discrets tels que dispositifs de signalisation et leur géolocalisation est complexe. [0008] Pour extraire certains objets comme les objets discrets, notamment de type panneaux ou autre élément de signalisation, il est préférable d'utiliser des images plutôt qu'un nuage de points notamment du fait que les nuages de points ne sont pas adaptés pour la reconnaissance de panneaux. [0009] Ceci passe par une reconnaissance de ces objets discrets et leur géolocalisation. [0010] Pour la géolocalisation il est connu par exemple du document US2018/188060 A1 de combiner des images de caméras et des cartes de profondeur ou nuages de points issues de capteurs de détection et de mesure de distance comme des lidars. Une telle technique nécessite de traiter une masse de données importante. [0011] Le document WO2018/140656 A1 décrit pour sa part de combiner des images panoramiques et des données de distance obtenues par des dispositifs de détection de distance par exemple de type lidar ou radar pour géolocaliser des objets. [0012] Enfin, le document FOOLADGAR FAHIMEH ET AL: "Geometrical Analysis of Localization Error in Stereo Vision Systems", IEEE SENSORS JOURNAL, IEEE SERVICE CENTER, NEW YORK, NY, US, vol .13, no.11, 1 novembre 2013 (2013-11-01), pages 4236-4246, XP011527941 propose des méthodes de calcul de position de cibles au moyen d'images stéréo. Exposé de l'invention [0013] La présente demande traite plus particulièrement de la géolocalisation de dispositifs de signalisation et en particulier de panneaux de signalisation dans des images et en particulier dans des images panoramiques et propose un procédé de géolocalisation en repères globaux d'objets discrets à partir d'images issues d'un système d'imagerie sphérique et non-stéréo avec des capteurs de positionnement et de géolocalisation embarqué sur un véhicule en mouvement. [0014] Le procédé de l'invention utilise des images panoramiques unitaires, c'est à dire non stéréo, sphériques ou semi-sphériques géolocalisées prises successivement et combine une partie de classification des objets à base de réseaux neuronaux et une partie algorithmique de calcul de position et de dimensions des objets classifiés en sorte de simplifier la prise de vue et de réduire la masse de données à traiter. [0015] Plus précisément la présente invention propose un procédé de géolocalisation d'objets discrets à partir d'une succession d'images panoramiques unitaires géolocalisées prises par un dispositif caméra panoramique à 360° d'un ou plusieurs véhicules mobiles sur le parcours desdits véhicules caractérisé en ce qu'il comprend : - au moins une succession d'étapes de prise desdites images panoramiques unitaires semi-sphériques ou sphériques par un véhicule mobile porteur d'un dispositif caméra panoramique et porteur d'un système de géolocalisation, - une succession d'étapes de reconnaissance et de classification d'objets, dans lesdites images panoramiques unitaires, réalisées au moyen de modèles d'apprentissage profond à base de réseaux neuronaux produisant une détection et une classification d'objets dans les images panoramiques et produisant la définition de cadres de sélection autour de sous-ensembles de pixels qui contiennent les objets détectés dans les images panoramiques et pour chaque objet dans chaque image panoramique, un code de classification et les coordonnées i (verticale), j (horizontale) en nombre de pixels d'un repère de position du cadre de sélection de largeur w et de hauteur h contenant ledit objet dans ladite image panoramique; - une succession d'étapes de géolocalisation des objets classifiés par un procédé de triangulation desdits objets à partir d'au moins deux desdites images panoramiques distinctes contenant lesdits objets classifiés et des positions des caméras panoramiques lors des prises d'images panoramiques contenant lesdits objet classifiés, lesdites étapes de géolocalisation comportant, pour une série d'images panoramiques, - une étape de détermination, dans chaque image panoramique de ladite série dans laquelle une classification d'objet est présente, de la position angulaire par rapport au centre de prise de vue des objets détectés, - au moins un changement de repère des coordonnées des objets dans les images en coordonnées cartésiennes terrestres en fonction des coordonnées des caméras à l'instant des prises de vue, - une projection de cônes réalisés à partir d'un angle α dirigé vers le centre A du cadre de sélection dudit objet, ayant pour apex le centre du dispositif caméra et une ouverture d'angle définie par le rayon r estimé par image, - un calcul d'intersections de paires de cônes générées dans au moins deux images panoramiques comportant ledit objet et prises à au moins deux endroits différents ; en sorte de calculer par triangulation une distance spatiale entre l'objet particulier détecté et les positions des centres du dispositif caméra auxdits au moins deux endroits différents et de calculer une position géolocalisée dudit objet particulier détecté. Le procédé de l'invention combine une partie de classification à partir d'apprentissage profond et d'un réseau de neurone puis une partie algorithmique de calcul de position et de confirmation de validité des positions des objets pour géolocaliser lesdits objets à partir d'images panoramiques semi sphériques sur 360 degrés unitaires sans besoin de mesures de distance ni de prises de vues stéréo. [0016] Le dispositif caméra porté par le ou les véhicules mobiles comportant plusieurs caméras réparties de manière sphérique adaptées à prendre des photos synchronisées, datées et localisées par des moyens de localisation et de datation tels qu'un système GPS/GNSS, le procédé peut comporter une prise de photos de manière périodique par les caméras dudit dispositif caméra lors du déplacement du véhicule qui les porte, lesdites photos synchronisées, datées et géolocalisées étant traitées dans un logiciel adapté à construire des images panoramiques sphériques à partir desdites photos. [0017] Le dispositif caméra comportant cinq caméras pointant dans des directions espacées de 72° dans un plan horizontal autour d'un axe vertical par rapport au plan de roulement du véhicule et une caméra pointant vers le haut sur l'axe vertical, les photos simultanées prises par les 6 caméras sont raccordées pour produire une photo panoramique sphérique sur 360° dans un plan horizontal. [0018] Le procédé peut comporter la fixation d'un point d'origine de coordonnées (0, 0) au niveau des images panoramiques de largeur de W pixels sur une hauteur de H pixels, une étape de reconnaissance et de classification desdits objets au moyen de modèles d'apprentissages profonds à base de réseaux neuronaux produisant un cadre de sélection autour d'un sous-ensemble de pixels qui contient l'objet détecté dans l'image panoramique ainsi son code de classification et une étape de mémorisation: [0019] - dudit cadre de sélection de chaque objet P détecté, [0020] - la hauteur h et la largeur w de ce cadre et, [0021] - les coordonnées i (verticale), j (horizontale) en nombre de pixels d'un repère de position du cadre de sélection contenant ledit objet associé aux photos panoramiques par rapport audit point d'origine. [0022] Le procédé peut comporter la définition du point d'origine de coordonnées (0, 0) de l'image panoramique comme le point en haut à gauche de l'image panoramique et la définition du repère de position i, j relatif à l'origine (0, 0) du cadre de sélection comme le point en haut à gauche du cadre de sélection. [0023] Le procédé de triangulation peut comporter pour une série d'images panoramiques, une étape de détermination de la position angulaire des objets détectés dans chaque image panoramique de ladite série dans laquelle une classification d'objet est présente par rapport au centre de prise de vue qui comprend à partir des dimensions du cadre de sélection : - un calcul de position du centre A estimé de chaque objet dans l'image panoramique ; - un calcul d'un rayon r estimé dudit objet tel que r est égal à la moitié de la plus petite des dimensions de largeur w et de hauteur h du cadre de sélection dans l'image panoramique et le calcul de position d'un point B sur le cadre de sélection et le plus proche du point A tel que AB=r ; - un calcul de la position angulaire du centre A de l'image dudit objet et du point B par rapport au centre O du groupe de caméras 100 dans les coordonnées sphériques caméra, l'image panoramique étant assimilée à une sphère de centre O puis, - le calcul d'un vecteur
Figure imgf000009_0002
joignant le centre des caméras O et le centre A de l'objet, le calcul d'un vecteur
Figure imgf000009_0003
joignant le centre des caméras O et le point B et le calcul d'un cône d'axe
Figure imgf000009_0004
et d'angle au sommet α tel que [Math.1]
Figure imgf000009_0001
en coordonnées cartésiennes caméra ; - une transformation dans les coordonnées globales cartésiennes terrestres et une mémorisation des coordonnées des vecteurs u^⃗ ^ du centre O des caméras et de l'angle α pour chaque objet de chaque image panoramique. [0024] L'étape de détermination de la position des objets détectés peut en particulier utiliser : - les paramètres de position des caméras, qui comprennent les coordonnées cartésiennes géolocalisées (x0, y0, z0) du centre O du dispositif caméra et l'orientation (Ω, Φ, Κ) de chacune des caméras du dispositif caméra ; - la hauteur et la largeur de l'image panoramique originale H, W ; - les bordures des cadres de sélection contenant des objets détectés dans les images panoramiques. [0025] L'image panoramique étant considérée comme la partie supérieure de la surface d'une sphère avec le dispositif caméra au centre de cette sphère, le procédé de triangulation comporte préférablement la détermination de la position d'un objet détecté particulier au moyen d'une projection d'un cône dirigé vers le centre A du cadre de sélection dudit objet sur ladite partie supérieure de ladite surface d'une sphère, ledit cône ayant pour apex le centre du dispositif caméra et l'ouverture d'angle α et comprend, pour un objet particulier détecté donné, un calcul d'intersections de paires de cônes générées dans au moins deux images panoramiques distinctes comportant ledit objet et prises à au moins deux endroits U0, V0 différents, en sorte de calculer par triangulation une distance spatiale entre l'objet particulier détecté et les positions des centres du dispositif caméra auxdits au moins deux endroits différents et calculer une position géolocalisée dudit objet particulier détecté. [0026] Préférablement, seules les paires de cônes dont la distance entre leurs apex est limitée par un paramètre de distance D sont prises en compte, le paramètre de distance D étant exprimé en mètres et choisi en fonction de la fréquence spatiale de prise de photos pour réduire le nombre de fausses détections. [0027] Le procédé comporte avantageusement une analyse de validité d'intersections I-J en 3D desdites projections de cônes afin de réduire le nombre de candidats objets détectés et identifier l'unicité des objets et déterminer si des intersections sont suffisamment proches, une conditions de validité d'un candidat objet étant le fait que les vecteurs
Figure imgf000010_0001
et
Figure imgf000010_0002
directeurs des paires de cônes soient distants d'une distance inférieure à un paramètre d à l'intersection I-J des cônes, le procédé comprenant en outre une extraction en tant qu'objets valides de représentants satisfaisant à ladite analyse de validité, le stockage de leur position dans le système de coordonnées globales, le stockage de leur classification prédite et le stockage de leur dimension. [0028] L'analyse de validité comporte avantageusement une recherche de nœuds d'intersection et un calcul de proximité entre les axes des cônes pour déterminer si des intersections sont suffisamment proches, au moyen de la génération d'un arbre K-D des points I et J et la sélection à partir dudit arbre K-D des paires de cônes ayant une distance minimale inférieure à un paramètre d à l'intersection I-J des cônes, la valeur en mètres dudit paramètre d étant choisie en fonction de la taille des classes d'objets détectées, et comportant, pour la condition selon laquelle les intersections sont suffisamment proches, un algorithme d'identification de points I et J de plus proche distance des vecteurs et directeurs des paires de cônes se croisant, un algorithme de construction de sphères d'influence P, Q dont le rayon est le rayon du cône selon une perpendiculaire à l'axe directeur du cône autour des points I et J appelés points d'attachement et un algorithme de validation de la condition si les points I et J sont mutuellement contenus dans la sphère d'influence du cône opposé les axes des cônes étant alors contenus dans le cône opposé à l'intersection. [0029] Le procédé peut comporter, pour toutes les paires de cônes dont les intersections sont suffisamment proches et dont les vecteurs directeurs sont mutuellement contenus dans les cônes et lorsque deux points d'attachement ou plus ont été trouvés, une analyse de détection d'intersections parasites, ladite analyse comportant la réalisation d'un graphe : - pour lequel chaque point d'attachement constitue un nœud, - pour lequel deux nœuds sont connectés s'ils satisfont les conditions intersections suffisamment proches et vecteurs directeurs mutuellement contenus dans les cônes, ladite analyse comportant en outre pour chaque composante connexe du graphe, un choix du nœud ayant le degré maximal de liaisons comme représentant d'un objet unique et un tri par degrés décroissants de connectivité desdits représentants puis un processus itératif de validation et de soustraction du représentant d'ordre les plus élevé et des cônes convergeant vers ces derniers, d'analyse de convergences de cônes restants et de suppression des représentants se retrouvant sans cônes convergents, ledit processus itératif étant réitéré jusqu'à ce que tous les représentants aient été validés ou invalidés. Brève description des dessins [0030] D'autres caractéristiques, détails et avantages de l'invention apparaîtront à la lecture de la description détaillée ci-après, et à l'analyse des dessins annexés, sur lesquels : [0031] [Fig.1] montre un exemple de photographie panoramique ; [0032] [Fig. 2] montre un schéma de système de repère caméra en coordonnées sphériques ; [0033] [Fig. 3] montre un schéma de système de repère global en coordonnées cartésiennes ; [0034] [Fig.4] montre un schéma de repérage angulaire caméras ; [0035] [Fig. 5] montre un schéma d'image projetée sur une sphère centrée sur les caméras ; [0036] [Fig. 6] montre un traitement de panneau selon un aspect de la demande ; [0037] [Fig. 7] montre une représentation de deux angles solides convergents vers un point triangulé ; [0038] [Fig.8] montre un exemple de détection d'objets sur une trajectoire ; [0039] [Fig. 9] montre un logigramme des étapes d'un premier procédé de la demande ; [0040] [Fig. 10] montre un logigramme des étapes d'un second procédé de la demande ; [0041] [Fig. 11] est une représentation schématique d'un véhicule de prise d'images [0042] [Fig. 12] montre un graphe correspondant à la détection d'objets de la figure 8. Description des modes de réalisation [0043] Les dessins et la description ci-après décrivent des exemples de réalisation non limitatifs utiles à la compréhension de l'invention. [0044] Pour la génération de cartes HD, il est souhaitable de procéder à une détection et une classification des routes et panneaux de signalisation à partir des images panoramiques. [0045] Les images panoramiques 11 telles que représentées en figure 1 sont prises à partir de véhicules mobiles 1 tels que représentés schématiquement à la figure 11 équipés de caméras panoramiques 2a, 2b, par exemple un assemblage de caméras, appelé dispositif caméra panoramique, qui peut notamment comporter cinq caméras 2a pointant dans des directions espacées de 72° dans un plan horizontal autour d'un axe vertical par rapport au plan de roulement du véhicule et une caméra 2b pointant vers le haut sur l'axe vertical. Les caméras prennent des photos synchronisées, datées et localisées par des moyens de localisation et de datation tels qu'un système GPS/GNSS 3 et une centrale inertielle. L'antenne de GNSS/GPS est normalement positionnée le plus près possible de la centrale inertielle et dans l'axe vertical de la centrale inertielle et se retrouve à proximité immédiate du bloc de caméras Le véhicule peut en outre être équipé d'un dispositif LIDAR pour scanner l'environnement pour générer des nuages de points de réalisation de cartes 3D. [0046] Les 6 photos prises par les caméras sont raccordées pour produire une photo panoramique sur 360° dans un plan horizontal. [0047] Verticalement, la partie inférieure de la photo ne comporte pas d'informations du fait du champ de vision des caméras mais est utilisée pour compléter l'image sur 180°. L'image est référencée pour avoir un point de coordonnées 0, 0 au point haut à gauche et a une largeur de W pixels sur une hauteur de H pixels, par exemple 1920 pixels selon une direction horizontale et 1080 pixels selon une direction verticale. [0048] Les caméras prennent des photos de manière synchronisée lors du déplacement du véhicule qui les porte, par exemple tous les deux mètres. Les images unitaires sont traitées dans un logiciel adapté à construire une image panoramique à partir des six images simultanées. [0049] Les problématiques associées à la reconnaissance et au positionnement d'objets comme des panneaux sur une carte à partir d'image panoramiques sont, d'une part, de savoir si les images de panneaux qui se répètent dans plusieurs images panoramiques correspondent au même panneau ou à des panneaux différents et, d'autre part, l'impossibilité de connaître la position réelle d'un panneau à partir de son image sur une image panoramique. [0050] La description qui suit prend l'exemple des panneaux de signalisation mais la méthode décrite s'applique à tout objet discret que l'on souhaite géolocaliser, comme des feux de signalisation, des abris d'arrêt autobus ou autres objets discrets dont la géolocalisation est souhaitée. [0051] Le procédé a également été testé dans des environnements ferroviaires pour géolocaliser des bornes et des dispositifs au sol. Des marquages au sol ponctuels pourraient en outre être géolocalisés par la présente méthode, comme les carrés des lignes de "cédez le passage", les symboles de vélo sur les bandes cyclables, les bouches d'égouts. Toutefois, plus les objets à détecter sont grands, moins la géolocalisation est précise. [0052] De manière générale, les informations nécessaires sur une image panoramique comportant au moins un objet à géolocaliser sont : la classe prédite de l'objet détecté, les coordonnées en pixels d'un cadre de sélection d'une sous-image comprenant l'objet à géolocaliser, les dimensions h, w du cadre de sélection de la sous-image, le nom de l'image panoramique, son orientation et sa géolocalisation. [0053] Une étape préalable au procédé de la présente demande est la création d'un modèle de reconnaissance d'objets MRP, comme des panneaux 400, sous forme d'un réseau neuronal au moyen d'une base d'apprentissage qui contient des exemplaires des classes d'intérêt de ces objets. Ce modèle de reconnaissance de panneaux 400 est ensuite utilisé pour reconnaitre les panneaux dans des images panoramiques à traiter. [0054] Les classes d'objets sont notamment des regroupements de types d'objets à trouver. En fonction de la taille de la base de données et du nombre des échantillons, une classe peut contenir un type d'objet mais aussi une famille d'objets. Par exemple, pour des panneaux, une classe peut contenir le type panneau stop, mais aussi un type de panneau tel que panneaux de direction. La granularité de la classe peut notamment varier en fonction de la quantité de données disponibles ou à traiter. [0055] Selon la présente demande, le procédé commence par une succession d'étapes de prise des images panoramiques 11 par un ou plusieurs véhicules mobiles 1 porteurs de dispositifs caméra panoramique discutés plus haut. Un exemple d'image panoramique est donné à la figure 1. Dans cette image cette image, les coordonnées i, j en pixels d'un point P sont des coordonnées cartésiennes à partir d'un point d'origine (0, 0) en haut à gauche de l'image. [0056] L'image fait en outre W pixels en largeur ce qui correspond à 360° et H pixels en hauteur sur 180° avec une bande inférieure 10 noire sur la partie d'image masquée par le véhicule. [0057] Une fois les images prises et sauvegardées dans une base de données ou un fichier 500, selon la figure 9, des d'étapes d'inférence, par le modèle sur les nouvelles images à traiter, réalisent une reconnaissance et une classification d'objets 410 dans les images panoramiques au moyen du réseau de neurones. Ceci permet de reconnaitre les classes des objets détectés, par exemple des classes de panneaux, la classe feu de signalisation etc. A chaque objet détecté dans chaque image, va être associée la classe détectée. De même, un cadre de sélection comme représenté à la figure 6 discutée plus bas va donner les dimensions maximales de l'objet dans l'image correspondante. [0058] Une base de données ou un fichier 300 avec les objets classifiés dans les images et les photos et positions des caméras est alors créé. [0059] Ensuite une partie importante pour le positionnement des objets détectés et classifiés à partir d'images de cartographie mobile dans une carte 3D est de déterminer leurs coordonnées géolocalisées. Pour ce faire la présente demande propose d'effectuer une triangulation des objets à partir de deux détections ou plus de ces objets. [0060] La triangulation effectuée utilise le principe de la parallaxe. Un minimum de deux images est nécessaire pour que cette méthode fonctionne. Pour chaque panneau ou objet détecté, il faut déterminer sa position par rapport au centre du groupe de caméras, par rapport aux paramètres extrinsèques caméras et sa position dans l'image panoramique. [0061] Des informations particulières associées à chaque image panoramique sont ainsi nécessaires pour extraire la géolocalisation des objets classifiés. - Les paramètres de position des caméras, qui comprennent les coordonnées cartésiennes géolocalisées du centre O du groupe de caméras 100 (x0, y0, z0) selon la figure 3 et l'orientation de chacune des six caméras (Ω, Φ, Κ) dans le groupe des 6 caméras 100 selon la figure 4 ; - La hauteur et la largeur de l'image panoramique originale (H, W) de la figure 1; - les frontières de tous les cadres de sélection 13 contenant les objets détectés dans les images panoramiques comme le panneau P représenté en figure 6. Pour la géolocalisation, plusieurs transformations sont nécessaires : - les pixels d'images doivent être repérés dans les coordonnées sphériques caméra (ρ, θ, φ) selon la figure 2 où les caméras 100 sont disposées au point origine O du repère ; - les coordonnées sphériques caméra doivent être traduites en coordonnées cartésiennes caméra (X, Y, Z) selon la figure 3 du fait que les coordonnées utilisées pour repérer le véhicule, et donc le centre du dispositif de prise de vue 100, sont des coordonnées cartésiennes, et enfin ; - les coordonnées cartésiennes caméra doivent être traduites en coordonnées globales (x0, y0, z0) selon la figure 3 (par exemple les coordonnées géodésiques WGS-84). [0062] Le résultat attendu est la détermination de la géolocalisation d'une position P des objets classifiés en coordonnées globale (x, y, z). [0063] Dans la suite on considèrera un panneau de signalisation. [0064] Pour géolocaliser les panneaux, il y a lieu de déterminer la position de chaque panneau détecté par rapport au centre de la caméra et par rapport à l'image panoramique. Des angles solides 110 sont projetés depuis le centre de la caméra 100 dit apex, vers le centre A du cadre de sélection 13 du panneau détecté appelé la sous image comme représenté en figure 5. [0065] On appelle « sous-image » un sous-set des pixels de l'image panoramique incluant l'objet à géolocaliser, le cadre de sélection encadrant la sous image. [0066] La position de la sous image du panneau de signalisation par rapport au centre de la caméra peut être considérée comme une partie de la surface d'une sphère 120 (l'image panoramique) avec le dispositif caméra 100 au centre de cette sphère. [0067] Pour chaque sous image, des angles solides, les cônes 110, sont générés de la manière suivante. De manière conservatrice, une ouverture d'angle solide peut alors être définie par la distance radiale r entre les coordonnées centrales, A, du cadre de sélection et donc du panneau de signalisation, au bord le plus proche du cadre de sélection de la figure 6 selon la relation : [0068] [Math.2] [0069]
Figure imgf000017_0001
[0070] avec : [0071] [Math.3] [0072]
Figure imgf000017_0002
[0073] Ici, (i, j) sont les coordonnées du pixel le plus haut à gauche de la sous image 13 englobant le panneau, h et w sont respectivement la hauteur et la largeur de la sous image. Les coordonnées du point A dans l'image sont verticalement Ai=i+h/2 et horizontalement Aj=j+w/2. Ceci permet aussi de définir un point B du cadre de sélection le plus proche de A sur le périmètre défini par le rayon r. [0074] La transformation des coordonnées en pixels du point A central de la sous image de coordonnées (Ai, Aj) en coordonnées sphériques caméra (transformation partielle, car il n'y a pas de dimension de profondeur) est réalisée ensuite comme suit : [0075] Dans le plan horizontal l'angle φ est : [0076] [Math.4] [0077] modulo 2π
Figure imgf000018_0001
[0078] Pour cette formule, comme le centre de l'image correspond à un angle φ0=0, on doit soustraire 2Ajπ/W de π pour obtenir la valeur de l'angle φ. [0079] Dans le plan vertical l'angle θ est : [0080] [Math.5] [0081] modulo π
Figure imgf000018_0002
[0082] Dans ce calcul la largeur de l'image correspond à W en pixels et à 2π en coordonnées sphériques et la hauteur de l'image correspond à H en pixels et à π en coordonnées sphériques. [0083] Pour chaque sous-image, des angles solides (des cônes) sont générés en affectant une valeur 1 au paramètre ρ du vecteur définissant l'axe du cône dans les coordonnées sphériques caméra. [0084] Pour se replacer dans le système de coordonnées global, plusieurs transformations sont réalisées. [0085] Les coordonnées cartésiennes caméra sont exprimées en coordonnées sphériques caméra sous la forme : [0086] [Math.6] [0087] X = ρ sin(θ) cos(φ), [0088] [Math.7] [0089] Y = ρ sin(θ) sin(φ), [0090] [Math.8] [0091] Z = ρ cos(θ) [0092] avec ρ=1 deux vecteurs
Figure imgf000018_0003
et B sont définis tels que en utilisant les
Figure imgf000018_0004
angles déterminés pour les points A et B on ait : [0093] [Math.9] [0094]
Figure imgf000019_0001
[0095] [Math.10] [0096]
Figure imgf000019_0002
[0097] avec une origine en (0, 0, 0) centre de l'ensemble de caméras. [0098] L'angle entre ces deux vecteurs unitaires permet de calculer l'ouverture de l'angle solide à partir du produit scalaire de ces deux vecteurs tel que : [0099] [Math.11]
Figure imgf000019_0003
[0100] Enfin, le vecteur du cône, est transformé dans les coordonnées
Figure imgf000019_0007
globales : [0101] [Math.12]
Figure imgf000019_0004
[0102] Où R est la matrice de rotation utilisant les paramètres extrinsèques de la caméra : [0103] [Math.13] [0104]
Figure imgf000019_0005
[0105] soit aussi: [0106] [Math.14]
Figure imgf000019_0006
[0107] et RT la matrice transposée. [0108] Ainsi, pour chaque image panoramique, des vecteurs, partant du centre du groupe de cameras (x0,y0,z0) de la figure 3 en coordonnées globales au moment de la prise de cette image et pointant vers le centre du panneau (xA,yA,zA) en coordonnées globales tel que vu dans l'image panoramique, créent des lignes orientée dans l'espace. Chaque image panoramique produit ainsi un cône centré sur la ligne allant du centre de cette image au point A d'un'objet dans cette image et d'angle d'ouverture α. [0109] Pour une classe d'objets donnée issue de la classification, une recherche d'intersections des cônes, issus à partir d'une série d'images panoramiques et des données de trajectoires pour les points de prises des images contenant des objets détectés, est ensuite réalisée. Ceci permet de calculer une distance spatiale entre le ou les objets détectés et les positions du centre de la caméra au moment des prises de photos par triangulation. Pour réduire le nombre de fausses détections, seules les paires de cônes dont les apex sont séparés d'une distance 204 selon la figure 8 inférieure à un paramètre de distance D sont prises en compte. Cette recherche peut être réalisée au moyen d'un arbre K-D sur les points des trajectoires qui permet d'accélérer la recherche des paires de cônes qui sont proches entre eux. Un tel arbre K-D n'est pas obligatoire, mais il allège le calcul quand la quantité de données augmente. D est exprimé en mètres et son choix dépend de la distance maximale à laquelle on considère qu'on ne peut plus détecter un objet sur une image. Le paramètre D va être adapté par l'opérateur en fonction de la fréquence spatiale des prises de vues. Par exemple pour une classe d'objets panneaux, un véhicule prenant des photos tous les 2m, D peut être défini à 100m. [0110] La périodicité de la prise des photos est préférablement déterminée en fonction d'une distance parcourue par le véhicule, par exemple les photos sont prises tous les mètres ou tous les deux mètres parcourus. Dans certaines configurations la périodicité peut être déterminée selon une fréquence temporelle, la vitesse de véhicule déterminant alors l'intervalle en mètres entre les photos. Pour un véhicule qui roule à 50 km/h et des caméras qui prennent les photos à 14 fps, on obtiendrait dans ce cas une photo par mètre et une sauvegarde d'une photo par 2 ou 3 mètres pourrait être réalisée. [0111] La figure 7 représente deux vecteurs
Figure imgf000020_0001
et
Figure imgf000020_0002
centraux respectivement aux cônes 110a, 110b et correspondant à la détection d'un panneau dans deux images prises avec les caméras en position U0 et en position V0. Pour réduire le nombre de candidats détectés et identifier l'unicité d'un objet, les projections des cônes 110a, 110b sont analysées pour déterminer les points d'intersections en 3D qui représentent la position géolocalisée des objets dans l'espace. [0112] Comme les vecteurs cônes sont tridimensionnels et du fait d'imprécisions dans les mesures, les vecteurs cônes peuvent ne pas se croiser parfaitement ce qui crée plusieurs intersections proches. Des intersections sont considérées comme valides si plusieurs conditions sont réunies : i - Elles doivent être suffisamment proches ; ii - Les vecteurs directeurs sont mutuellement contenus dans les cônes et ; iii - L'intersection n'est pas une intersection parasite. [0113] Pour la condition i, déterminer si des intersections sont suffisamment proches, un arbre K-D (KD-Tree en anglais) est généré et seules les paires de cônes dont la distance minimale 130 entre leurs axes définis par les vecteurs et est inférieure à un paramètre d sont considérées comme satisfaisant cette condition. La valeur de d en mètres est choisie en fonction de la taille des objets d'une classe d'objets détectée dans les images. [0114] Pour la condition ii, selon laquelle les vecteurs directeurs sont mutuellement contenus dans les cônes, on identifie les points I et J de plus proche distance le long des axes directeurs des paires de cônes se croisant et on construit des sphères d'influence P, Q dont le rayon est le rayon du cône selon une perpendiculaire à l'axe directeur du cône autour de ces points appelés points d'attachement. La condition est satisfaite si les points I et J sont mutuellement contenus dans les sphères d'influence P, Q prises en compte et ces points I et J sont dits mutuellement connectés. [0115] Pour toutes les paires de cônes qui satisfont aux deux conditions i et ii, lorsque deux points d'attachement ou plus ont été trouvés, une position en coordonnées globales est calculée pour chaque point d'attachement. [0116] Un segment de droite IJ orthogonal aux deux lignes formées par les vecteurs et directeurs de chaque cône relie les deux droites formées par
Figure imgf000022_0001
Figure imgf000022_0002
lesdits vecteurs. [0117] Le problème revient à minimiser la distance || J – I ||2 du segment de droite IJ. Il y a lieu de déduire la position des points d'attachement en coordonnées globales au travers de l'équation selon laquelle le produit scalaire des deux vecteurs perpendiculaires est nul. [0118] Une équation générale exprime la position des points 3D le long de leur vecteur respectif : [0119] [Math.15]
Figure imgf000022_0003
[0120] Comme les cônes solides sont définis par leur apex M0 et un point directionnel MA, on a : [0121] [Math.16]
Figure imgf000022_0004
[0122] [Math.17]
Figure imgf000022_0005
[0123] Une valeur particulière de la variable t qui définit la distance des points sur la ligne définie par le vecteur directionnel du cône va définir la position respectivement du point d'attachement I ou J. [0124] Comme le produit scalaire de deux vecteurs directionnels orthogonaux entre eux est nul, on a pour
Figure imgf000022_0006
et
Figure imgf000022_0007
: [0125] [Math.18]
Figure imgf000022_0008
[0126] [Math.19]
Figure imgf000022_0009
[0127] En réécrivant les produits scalaires avec l'équation générale de ligne de vecteur où : [0128] [Math.20]
Figure imgf000023_0001
[0129] Puis en évaluant les équations de produit scalaire avec les points connus des vecteurs
Figure imgf000023_0002
et
Figure imgf000023_0003
et en réalisant une égalité entre les équations, il est possible de résoudre les équations premièrement pour tA, puis pour tB afin d'obtenir les coordonnées globales des points d'attachement I et J. [0130] Une fois que les paramètres tA et tB le rayon des sphères pour chaque vecteur peuvent être calculés avec : [0131] [Math.21]
Figure imgf000023_0004
[0132] [Math.22]
Figure imgf000023_0005
[0133] Le rayon RF est utilisé pour définir la sphère d'influence au niveau du point I, un calcul similaire avec tb permet de calculer la sphère d'influence au niveau du point J. Le rayon Rs est alors l'analogue dimensionnel de r dans l'équation r=(min (w,h)/2 plus haut. [0134] Une fois que les intersections de cônes aux points I et J ont été déterminées, c'est à dire lorsque l'intersection est telle que les couples de sphères pour lesquelles la distance entre leurs centre est inférieure à d et que ces centres sont mutuellement contenus dans la sphère opposée, il faut vérifier la condition iii - L'intersection n'est pas une intersection parasite ou un panneau fantôme. [0135] Pour ce faire, une analyse ultérieure est réalisée pour détecter les intersections uniques ou parasites c'est-à-dire de fausses intersections comme représenté en figure 8 représentant un cas simplifié où sur la trajectoire 200 un véhicule prend des photos aux positions 200a, 200b, 200c, 200d, 200e, de deux panneaux 201 et 202, le panneau 201 étant visible sur les photos prises aux points 200b, 200c, 200d, 200e tandis que le panneau 202 est visible sur les photos prises aux points 200a, 200b, 200c. On voit que dans ce cas, un vecteurs issu d'une photo du panneau 201 en position 200b et un vecteur issu d'une photo du panneau 202 prise au point 200c se coupent en 203. Dans ce cas, l'intersection au point 203 correspond à un panneau fantôme. Ceci vient du fait que dans la réalité, un cône peut avoir une intersection avec plusieurs autres cônes ce qui génère un point d'attachement représentant la position possible d'un objet. Dans un tel cas il y a lieu de supprimer les intersections parasites pour ne garder que les intersections valides aux points 201 et 202. Pour supprimer les points correspondant à un panneau fantômes, un graphe 600 comme représenté en figure 12 pour lequel chaque point d'attachement Ap constitue un nœud est réalisé. Les branches Br du graphe sont les connexions entre un nœud et tous les autres nœuds formant ensemble un composant connexe. Pour chaque composant connexe, le nœud Rp ayant le degré maximal est choisi comme représentant d'un objet unique. Les représentants sont alors triés par degrés décroissants de degré de connectivité. [0136] Pour filtrer les points parasites, les représentants d'ordre les plus élevés et les cônes convergeant vers ces derniers sont validés et retirés. Les convergences de cônes restant sont analysées et, si un ou plusieurs représentants se retrouvent sans cônes convergents, ces représentants sont identifiés comme une projection d'un panneau fantôme ou dupliqué dite projection fantôme et invalidés. L'opération est réitérée jusqu'à ce que tous les représentants aient été validés ou invalidés. Tous les représentants qui réussissent le dernier test sont ensuite extraits comme objets valides, leur position dans le système de coordonnées globales est stockée ainsi que leur classification prédite et leur dimension. Il y a lieu de noter que stocker la dimension mesurée permet ensuite de vérifier automatiquement si la taille des objets détectés est cohérente avec leur taille théorique inhérente à leur classe. [0137] Par exemple dans la figure 12, le point 201 de la figure 8 correspond à un point d'attachement A1 avec un représentant Rp1 sur le graphe 600, le point 202 à un pont d'attachement A2 avec un représentant Rp2 et le point 203 à un point d'attachement A3 avec un représentant Rp3. Le représentant Rp1 ayant 11 liaisons est validé et retiré avec ses cônes puis le représentant Rp2 ayant 5 liaisons est retiré avec ses cônes. Il reste alors le représentant Rp3 qui n'a plus de cônes et est donc classé comme projection fantôme et donc invalidé. [0138] Par ailleurs le rayon Rs du représentent d'ordre le plus élevé permet d'évaluer la dimension spatiale et la taille de l'objet. [0139] Pour faciliter l'élimination de panneaux fantômes dues à des projections de cônes se croisant à des distances beaucoup plus éloignées ou se croisant avec des cônes d'autres panneaux de signalisation, il est possible d'adapter D la distance maximale entre les apex de cônes pris en compte en fonction de la densité des panneaux de signalisation et de réduire D à l'intérieur des villes où la densité de panneaux est grande par rapport aux scènes en dehors des villes où la densité de panneaux est plus faible. [0140] Une fois que l'algorithme d'extraction de signalisation routière a terminé le traitement d'une image panoramique, les sous-images qui n'ont pas pu être triangulées et localisées sont documentées dans un journal séparé pour une vérification manuelle. [0141] L'algorithme de localisation des panneaux de signalisation de la présente demande dépend de transformations géométriques fondamentales et d'une méthode de triangulation tridimensionnelle contrainte. [0142] Les données de sortie sont les coordonnées géolocalisées (x, y, z) des objets et notamment des panneaux dans les coordonnées globales, leur classification prédite et une dimension minimale, r. [0143] Un autre point traité par le filtrages des points parasites, décrit plus haut est l'extraction d'objets fantômes lorsque plusieurs cônes ont une intersection avec un cône unique. Ceci arrive du fait d'une sensibilité de la méthode à la parallaxe aux petits angles couplée à une profusion de cônes qui ajoutent du bruit de fond. Il faut une distance suffisante entre les points de vue (prises d'images) pour bien distinguer les intersections des vecteurs cônes pendant la triangulation. [0144] Par ailleurs, pour éviter de calculer des intersections avec des cônes trop éloignés les uns des autres, le paramètre D qui réduit les interférences entre les cônes pour les instances de panneaux de même type proches peut être adapté en fonction de la localisation des panneaux. D peut être réduit en ville où la densité de panneaux est plus grande et augmenté hors des villes. Puisque les cônes sont projetés à l'infini, selon la trajectoire du véhicule, particulièrement dans les courbes, ronds-points et intersections de voies, réduire le rayon de recherche réduit le bruit de fond. La valeur de D dépend de la taille des objets et de la fréquence de capture des images. [0145] Les paramètres de distance D et d précités sont introduits lors de l'implémentation du procédé sur un jeu d'image correspondant à une surface dont les panneaux ou autres objets sont à géolocaliser. [0146] L'ensemble de ces opérations est synthétisé en figure 10 qui décrit, à partir de la base de donnée des images avec objets classifiés 300 les étapes 305 de lecture des cadres de sélections des objets et 310 lecture des trajectoires des caméras ayant prises les images, l'étape 320 de construction des cônes 320 en parallèle à l'étape 330 de création des arbres K-D de proximité des intersections, l'étape 340 de sélection des objets d'une classe pour réaliser l'étape 350 de recherche des couples de cônes de distance <D par rapport à l'origine de la photo en prenant en compte le résultat de l'étape de création de l'arbre K-D des points de trajectoire puis l'étape 355 de recherche des nœuds d'intersection et le calcul de la proximité entre les axes des cônes pour définir les nœuds correspondant à des objets probables. [0147] Ces étapes sont suivies d'une étape 360 de calcul des composants connexes avec la génération d'un graphe 600 de toutes les connexions de nœuds puis une étape 365 de sélection du nœud de degré maximal pour chaque composant connexe suivie d'une étape 370 d'ordonnancement des nœuds représentatifs par degrés descendants pour réaliser l'étape 375 de filtrage des représentants factices par suppression des vecteurs déjà référencés pour des nœuds d'ordre supérieur et suppression des nœuds à vecteur unique restants. [0148] A la fin de cette opération, les données de sortie sont les objets dont on mémorise à l'étape 380 les coordonnées du centre de l'objet en coordonnées globales, et le rayon de l'objet. [0149] Pour résumer, [0150] A - la méthode de triangulation est réalisée avec les critères : 1) au minimum deux images où le modèle a détecté le même objet, 2) la position en coordonnées globales du centre du bloc des cameras est connu 3) les angles d'orientation de caméras sont connus ce qui permet de calculer la position de l'objet détecté dans l'image dans un repère global. [0151] B - La méthode de triangulation projette les vecteurs directionnels, avec leurs apex au centre du bloc de cameras et recherche les croisements en espace 3D comme positions potentielles de l'objet. [0152] C - La détermination de l'unicité et validité de l'objet ainsi que la performance de temps d'exécution sont assurés grâce à l'introduction de deux paramètres : D, une distance de recherche pour les paires des vecteurs qui se croisent qui rend l'algorithme plus performante en temps d'exécution et d, un seuil de distance déterminant qu'au croisement, les vecteurs sont suffisamment proches pour réduire les candidats points d'intersection. [0153] D - Le procédé prévoit une méthode de filtrage des croisements par une système de vote pour identifier parmi les candidats la position la plus probable des objets. [0154] E - Après avoir calculé le nombre de votes (degré de connexité d'une position) les points sont ordonnés en rang. Les vecteurs projetés sont attribués aux points par leurs degré de connexité décroissant et les points n'ayant plus vecteurs associés sont considérés comme faux positifs et non des positions réelles. [0155] Une fois que toutes les classes d'objets existants dans les objets ont été traitées, le résultat est une base de données 390 des objets intégrables dans une carte 3D. [0156] La présente demande propose ainsi un procédé grandement automatisé pour la reconnaissance et la géolocalisation d'objets discrets tels que des panneaux, des feux de signalisation ou autres objets d'infrastructure à partir d'images panoramiques prises par un ou plusieurs véhicules se déplaçant sur des voies de circulation. Les véhicules peuvent être notamment des véhicules automobiles se déplaçant sur des voies de circulation routières ou des véhicules ferroviaires pour géolocaliser des dispositifs de signalisation ferroviaires.
The present invention relates to a method for the geolocation and qualification of signaling infrastructure devices comprising detection and classification of discrete objects such as infrastructure devices traffic signs and in particular traffic signs with a view to integrating this data into a high resolution map. Technical Field [0002] The invention relates to the field of producing high-definition 3D maps for the geolocation of autonomous vehicles by combining GPS/GNSS data, a high-definition map and movement data, in particular by inertial measurement unit. PRIOR ART [0003] An autonomous vehicle must know its position relative to its environment in order to move. Its localization is possible by means of a GPS/GNSS. However, in the absence of GPS/GNSS and in the case of disturbed satellite signals, other methods are necessary to help a vehicle determine its position. A high-definition (HD) on-board map fills in information gaps while providing a reliable description of the vehicle's 3D environment. [0004] Current solutions for generating high-definition 3D maps and covering vast regions are tedious, require significant working time and the volume of data required for these maps remains high. In parallel, automated object recognition in LIDAR images and point clouds has progressed in recent years. [0005] Cartography systems comprise a minimum of three types of data: geolocated data, 3D spatial measurements and 360° visualization with panoramic optical images. High-quality geolocation measurements are the foundation for creating maps accurate and precise. To do this, LIDAR scanners provide dense, high-accuracy 3D point clouds that can represent the morphology of the environment and panoramic images provide complementary information, textures, signage, text and other visual details. [0006] This data together helps to create dense and highly detailed 3D maps. Mobile mapping systems generate more than 1 gigabyte of data per 50m which makes data management and processing complex, requires large capacity data storage platforms and powerful computing and video processing resources for processing data, visualization, navigation and manipulation of this data. [0007] The processing and analysis of mobile mapping data for the production of high definition maps is difficult and time-consuming for several reasons: (1) the heterogeneous and unstructured nature of 3D point clouds, which are a relatively recent technology , makes them difficult to analyze, (2) 2D images when taken alone lack spatial information, (3) most classification and feature extraction methods require significant human analyst intervention, and , (4) the stand-alone software used to make HD maps are inherently designed as vertical solutions (5) the recognition of discrete objects such as signaling devices and their geolocation is complex. [0008] To extract certain objects such as discrete objects, in particular of the panel type or other signaling element, it is preferable to use images rather than a point cloud, in particular because point clouds are not suitable for sign recognition. [0009] This requires recognition of these discrete objects and their geolocation. [0010] For geolocation, it is known for example from document US2018/188060 A1 to combine camera images and depth maps or point clouds from detection and distance measurement sensors such as lidars. Such a technique requires the processing of a large mass of data. [0011] The document WO2018/140656 A1 describes for its part combining panoramic images and distance data obtained by distance detection devices, for example of the lidar or radar type, to geolocate objects. Finally, the document FOOLADGAR FAHIMEH ET AL: "Geometrical Analysis of Localization Error in Stereo Vision Systems", IEEE SENSORS JOURNAL, IEEE SERVICE CENTER, NEW YORK, NY, US, vol.13, no.11, November 1, 2013 (2013-11-01), pages 4236-4246, XP011527941 proposes methods for calculating the position of targets by means of stereo images. Presentation of the invention [0013] The present application deals more particularly with the geolocation of signaling devices and in particular of road signs in images and in particular in panoramic images and proposes a method of geolocation in global marks of objects discrete from images from a spherical and non-stereo imaging system with positioning and geolocation sensors on board a moving vehicle. The method of the invention uses unit panoramic images, that is to say non-stereo, spherical or geolocated semi-spherical images taken successively and combines a classification part of objects based on neural networks and an algorithmic part of calculation position and dimensions of classified objects so as to simplify shooting and reduce the amount of data to be processed. [0015] More specifically, the present invention proposes a process for the geolocation of discrete objects from a succession of geolocated unitary panoramic images taken by a camera device 360° panorama of one or more mobile vehicles on the route of said vehicles, characterized in that it comprises: - at least one succession of steps for taking said unitary semi-spherical or spherical panoramic images by a mobile vehicle carrying a panoramic camera device carrying a geolocation system, - a succession of steps for recognizing and classifying objects, in said unitary panoramic images, carried out by means of deep learning models based on neural networks producing a detection and classification of objects in the panoramic images and producing the definition of selection boxes around subsets of pixels which contain the detected objects in the panoramic images and for each object in each panoramic image, a classification code and the coordinates i (vertical), j (horizontal) in number of pixels of a position marker of the selection frame of width w and ha uter h containing said object in said panoramic image; - a succession of steps for the geolocation of classified objects by a process of triangulation of said objects from at least two of said distinct panoramic images containing said classified objects and positions of the panoramic cameras when taking panoramic images containing said classified objects , said geolocation steps comprising, for a series of panoramic images, - a step of determining, in each panoramic image of said series in which an object classification is present, the angular position with respect to the shooting center detected objects, - at least one change of reference of the coordinates of the objects in the images in terrestrial Cartesian coordinates according to the coordinates of the cameras at the time of the shots, - a projection of cones made from an angle α directed towards the center A of the selection frame of said object, having as its apex the center of the camera device and an angle aperture defined by the radius r estimated per image, - a calculation of intersections of pairs of cones generated in at least two panoramic images comprising said object and taken at at least two different places; so as to calculate by triangulation a spatial distance between the particular object detected and the positions of the centers of the camera device at said at least two different places and to calculate a geolocated position of said particular object detected. The method of the invention combines a classification part based on deep learning and a neural network, then an algorithmic part for calculating the position and confirming the validity of the positions of the objects to geolocate said objects from images. semi-spherical pans over 360 unit degrees without the need for distance measurements or stereo shots. [0016] The camera device carried by the mobile vehicle or vehicles comprising several cameras distributed in a spherical manner suitable for taking synchronized photos, dated and located by means of location and dating such as a GPS/GNSS system, the method can include taking photos periodically by the cameras of said camera device during the movement of the vehicle carrying them, said synchronized, dated and geolocated photos being processed in software suitable for constructing spherical panoramic images from said photos. [0017] The camera device comprising five cameras pointing in directions spaced 72° apart in a horizontal plane around a vertical axis with respect to the rolling plane of the vehicle and a camera pointing upwards on the vertical axis, the photos simultaneous images taken by the 6 cameras are connected to produce a 360° spherical panoramic photo in a horizontal plane. [0018] The method may include the fixing of an origin point with coordinates (0, 0) at the level of the panoramic images of width of W pixels by a height of H pixels, a step of recognizing and classifying said objects at the means of deep learning models based on neural networks producing a selection frame around a subset of pixels which contains the object detected in the panoramic image as well as its classification code and a memorization step: [0019 ] - of said selection frame of each object P detected, [0020] - the height h and the width w of this frame and, [0021] - the coordinates i (vertical), j (horizontal) in number of pixels of a position mark of the selection frame containing said object associated with the panoramic photos with respect to said point of origin. [0022] The method may comprise the definition of the point of origin of coordinates (0, 0) of the panoramic image as the point at the top left of the panoramic image and the definition of the position marker i, j relating to the origin (0, 0) of the bounding box as the top left point of the bounding box. [0023] The triangulation method may comprise for a series of panoramic images, a step of determining the angular position of the objects detected in each panoramic image of said series in which an object classification is present with respect to the center of of view which comprises from the dimensions of the selection frame: - a calculation of the position of the estimated center A of each object in the panoramic image; - a calculation of an estimated radius r of said object such that r is equal to half of the smaller of the width w and height h dimensions of the selection frame in the panoramic image and the position calculation of a point B on the bounding box and closest to point A such that AB=r; - a calculation of the angular position of the center A of the image of said object and of point B with respect to the center O of the group of cameras 100 in the spherical camera coordinates, the panoramic image being assimilated to a sphere with center O then, - the calculation of a vector
Figure imgf000009_0002
joining the center of the cameras O and the center A of the object, the calculation of a vector
Figure imgf000009_0003
joining the center of cameras O and point B and calculating an axis cone
Figure imgf000009_0004
and vertex angle α such that [Math.1]
Figure imgf000009_0001
in Cartesian camera coordinates; - a transformation into the terrestrial Cartesian global coordinates and a memorization of the coordinates of the vectors u^⃗ ^ of the center O of the cameras and of the angle α for each object of each panoramic image. [0024] The step of determining the position of the detected objects can in particular use: the position parameters of the cameras, which include the geolocated Cartesian coordinates (x0, y0, z0) of the center O of the camera device and the orientation (Ω, Φ, Κ) of each of the cameras of the camera device; - the height and width of the original panoramic image H, W; - borders of selection frames containing objects detected in panoramic images. [0025] The panoramic image being considered as the upper part of the surface of a sphere with the camera device at the center of this sphere, the triangulation method preferably comprises the determination of the position of a particular detected object by means of a projection of a cone directed towards the center A of the selection frame of said object on said upper part of said surface of a sphere, said cone having as its apex the center of the camera device and the angle aperture α and comprises , for a given particular detected object, a calculation of intersections of pairs of cones generated in at least two distinct panoramic images comprising said object and taken at at least two different locations U0, V0, so as to calculating by triangulation a spatial distance between the particular object detected and the positions of the centers of the camera device at said at least two different places and calculating a geolocated position of said particular object detected. [0026] Preferably, only the pairs of cones whose distance between their apexes is limited by a distance parameter D are taken into account, the distance parameter D being expressed in meters and chosen according to the spatial frequency of taking photos to reduce the number of false detections. [0027] The method advantageously comprises a validity analysis of IJ intersections in 3D of said cone projections in order to reduce the number of candidate objects detected and to identify the uniqueness of the objects and to determine whether the intersections are sufficiently close, a validity condition of a candidate object being the fact that the vectors
Figure imgf000010_0001
and
Figure imgf000010_0002
directors of the pairs of cones are separated by a distance less than a parameter d at the intersection IJ of the cones, the method further comprising an extraction as valid objects of representatives satisfying said validity analysis, the storage of their position in the global coordinate system, storing their predicted classification and storing their dimension. The validity analysis advantageously includes a search for intersection nodes and a proximity calculation between the axes of the cones to determine whether the intersections are sufficiently close, by means of the generation of a tree KD of the points I and J and the selection from said tree KD of pairs of cones having a minimum distance less than a parameter d at the intersection IJ of the cones, the value in meters of said parameter d being chosen according to the size of the classes of objects detected , and comprising, for the condition that the intersections are sufficiently close, an algorithm for identifying points I and J of closest distance from the vectors and directors of the pairs of intersecting cones, an algorithm for constructing spheres of influence P , Q whose radius is the radius of the cone according to a perpendicular to the director axis of the cone around the points I and J called attachment points and an algorithm for validating the condition if the points I and J are mutually contained in the sphere of influence of the cone opposite the axes of the cones then being contained in the cone opposite to the intersection. [0029] The method may comprise, for all the pairs of cones whose intersections are sufficiently close and whose direction vectors are mutually contained in the cones and when two or more attachment points have been found, a detection analysis of parasitic intersections, said analysis comprising the production of a graph: - for which each attachment point constitutes a node, - for which two nodes are connected if they satisfy the conditions of sufficiently close intersections and direction vectors mutually contained in the cones, said analysis further comprising for each connected component of the graph, a choice of the node having the maximum degree of links as representative of a single object and a sorting by decreasing degrees of connectivity of said representatives then an iterative process of validation and subtraction of the representative of the highest order and cones converging towards them, analysis of convergences of cones remaining and deletion of the representatives finding themselves without converging cones, said iterative process being reiterated until all the representatives have been validated or invalidated. Brief description of the drawings [0030] Other characteristics, details and advantages of the invention will appear on reading the detailed description below, and on analyzing the appended drawings, in which: [0031] [Fig.1 ] shows an example of a panoramic photograph; [0032] [Fig. 2] shows a camera reference system diagram in spherical coordinates; [0033] [Fig. 3] shows a global reference system diagram in Cartesian coordinates; [0034] [Fig.4] shows an angular camera registration diagram; [0035] [Fig. 5] shows an image diagram projected onto a sphere centered on the cameras; [0036] [Fig. 6] shows panel processing according to one aspect of the application; [0037] [Fig. 7] shows a representation of two solid angles converging towards a triangulated point; [0038] [Fig.8] shows an example of detection of objects on a trajectory; [0039] [Fig. 9] shows a flowchart of the steps of a first application process; [0040] [Fig. 10] shows a flowchart of the steps of a second application method; [0041] [Fig. 11] is a schematic representation of an imaging vehicle [0042] [Fig. 12] shows a graph corresponding to the detection of objects in FIG. 8. Description of the embodiments The drawings and the description below describe non-limiting examples of embodiment useful for understanding the invention. For the generation of HD maps, it is desirable to perform a detection and classification of roads and road signs from panoramic images. The panoramic images 11 as shown in Figure 1 are taken from mobile vehicles 1 as shown schematically in Figure 11 equipped with panoramic cameras 2a, 2b, for example an assembly of cameras, called panoramic camera device, which may in particular comprise five cameras 2a pointing in directions spaced at 72° in a horizontal plane around a vertical axis relative to the rolling plane of the vehicle and a camera 2b pointing upwards on the vertical axis. The cameras take synchronized photos, dated and localized by localization and dating means such as a GPS/GNSS system 3 and an inertial unit. The GNSS/GPS antenna is normally positioned as close as possible to the inertial unit and in the vertical axis of the inertial unit and is found in the immediate vicinity of the camera block The vehicle can also be equipped with a LIDAR device to scan the environment to generate point clouds for making 3D maps. The 6 photos taken by the cameras are connected to produce a 360° panoramic photo in a horizontal plane. [0047] Vertically, the lower part of the photo contains no information due to the field of vision of the cameras but is used to complete the image over 180°. The image is referenced to have a point of coordinates 0, 0 at the top left point and is W pixels wide by H pixels high, for example 1920 pixels in a horizontal direction and 1080 pixels in a vertical direction. [0048] The cameras take photos in a synchronized manner during the movement of the vehicle carrying them, for example every two meters. The unit images are processed in software adapted to construct a panoramic image from the six simultaneous images. [0049] The problems associated with the recognition and positioning of objects such as panels on a map from panoramic images are, on the one hand, knowing whether the images of panels which are repeated in several panoramic images correspond to the same panel or to different panels and, on the other hand, the impossibility of knowing the real position of a panel from its image on a panoramic image. The following description takes the example of traffic signs but the method described applies to any discrete object that we wishes to geolocate, such as traffic lights, bus stop shelters or other discrete objects whose geolocation is desired. The method has also been tested in railway environments to geolocate terminals and devices on the ground. Punctual markings on the ground could also be geolocated by this method, such as the squares of the "give way" lines, the bicycle symbols on the cycle lanes, the manholes. However, the larger the objects to be detected, the less accurate the geolocation. [0052] In general, the necessary information on a panoramic image comprising at least one object to be geolocated is: the predicted class of the detected object, the coordinates in pixels of a selection frame of a sub-image comprising the object to be geolocated, the dimensions h, w of the selection frame of the sub-image, the name of the panoramic image, its orientation and its geolocation. A prior step to the method of the present application is the creation of an MRP object recognition model, such as panels 400, in the form of a neural network by means of a learning base which contains examples of the classes of interest of these objects. This panel recognition model 400 is then used to recognize the panels in panoramic images to be processed. The classes of objects are in particular groupings of types of objects to be found. Depending on the size of the database and the number of samples, a class can contain a type of object but also a family of objects. For example, for signs, a class can contain the type stop sign, but also a type of sign such as direction signs. The granularity of the class may in particular vary according to the quantity of data available or to be processed. According to the present application, the method begins with a succession of steps for taking panoramic images 11 by one or more mobile vehicles 1 carrying panoramic camera devices discussed above. An example of a panoramic image is given in figure 1. In this image this image, the coordinates i, j in pixels of a point P are Cartesian coordinates from an origin point (0, 0) at the top left of the image. [0056] The image also has W pixels in width which corresponds to 360° and H pixels in height over 180° with a lower black band 10 on the part of the image masked by the vehicle. [0057] Once the images have been taken and saved in a database or a file 500, according to FIG. 9, inference steps, by the model on the new images to be processed, carry out recognition and classification of 410 objects in the panoramic images by means of the neural network. This makes it possible to recognize the classes of the detected objects, for example classes of signs, the class of traffic lights, etc. With each object detected in each image, the detected class will be associated. Similarly, a bounding box as shown in Figure 6 discussed below will give the maximum dimensions of the object in the corresponding image. A database or a file 300 with the classified objects in the images and the photos and positions of the cameras is then created. [0059] Next, an important part for the positioning of the objects detected and classified from mobile mapping images in a 3D map is to determine their geolocated coordinates. To do this, the present application proposes performing a triangulation of the objects from two or more detections of these objects. The triangulation performed uses the principle of parallax. A minimum of two images is required for this method to work. For each panel or object detected, it is necessary to determine its position with respect to the center of the group of cameras, with respect to the extrinsic camera parameters and its position in the panoramic image. [0061] Specific information associated with each panoramic image is thus necessary to extract the geolocation of the classified objects. - The camera position parameters, which include the geolocated Cartesian coordinates of the center O of the group of cameras 100 (x0, y0, z0) according to figure 3 and the orientation of each of the six cameras (Ω, Φ, Κ) in the group of 6 cameras 100 according to FIG. 4; - The height and width of the original panoramic image (H, W) of Figure 1; - the borders of all the selection frames 13 containing the objects detected in the panoramic images such as the panel P represented in FIG. 6. For geolocation, several transformations are necessary: - the image pixels must be identified in the spherical camera coordinates (ρ, θ, φ) according to FIG. 2 where the cameras 100 are arranged at the origin point O of the marker; - the spherical camera coordinates must be translated into Cartesian camera coordinates (X, Y, Z) according to FIG. 3 because the coordinates used to locate the vehicle, and therefore the center of the camera device 100, are Cartesian coordinates , and finally ; - the Cartesian camera coordinates must be translated into global coordinates (x0, y0, z0) according to figure 3 (for example the WGS-84 geodetic coordinates). The expected result is the determination of the geolocation of a position P of the objects classified in global coordinates (x, y, z). In the following we will consider a road sign. To geolocate the panels, it is necessary to determine the position of each panel detected with respect to the center of the camera and with respect to the panoramic image. Solid angles 110 are projected from the center of the camera 100 called apex, towards the center A of the selection frame 13 of the detected panel called the sub-image as represented in figure 5. [0065] The term “sub-image” refers to a sub-set of the pixels of the panoramic image including the object to be geolocated, the selection frame framing the sub-image. [0066] The position of the sub-image of the road sign with respect to the center of the camera can be considered as part of the surface of a sphere 120 (the panoramic image) with the camera device 100 at the center of this sphere. . For each sub-image, solid angles, cones 110, are generated as follows. Conservatively, a solid corner opening can then be defined by the radial distance r between the center coordinates, A, of the bounding box and hence the traffic sign, to the nearest edge of the bounding box in Figure 6 according to the relation: [0068] [Math.2] [0069]
Figure imgf000017_0001
[0070] with: [0071] [Math.3] [0072]
Figure imgf000017_0002
Here, (i, j) are the coordinates of the highest pixel on the left of the sub-image 13 encompassing the panel, h and w are respectively the height and the width of the sub-image. The coordinates of point A in the image are vertically Ai=i+h/2 and horizontally Aj=j+w/2. This also allows to define a point B of the bounding box closest to A on the perimeter defined by the radius r. The transformation of the coordinates in pixels of the central point A of the sub-image of coordinates (Ai, Aj) into spherical camera coordinates (partial transformation, because there is no depth dimension) is then carried out as follows: In the horizontal plane the angle φ is: [0076] [Math.4] [0077] modulo 2π
Figure imgf000018_0001
For this formula, since the center of the image corresponds to an angle φ0=0, 2Ajπ/W must be subtracted from π to obtain the value of the angle φ. [0079] In the vertical plane the angle θ is: [0080] [Math.5] [0081] modulo π
Figure imgf000018_0002
In this calculation, the width of the image corresponds to W in pixels and to 2π in spherical coordinates and the height of the image corresponds to H in pixels and to π in spherical coordinates. For each sub-image, solid angles (cones) are generated by assigning a value 1 to the parameter ρ of the vector defining the axis of the cone in the spherical camera coordinates. [0084] To return to the global coordinate system, several transformations are carried out. [0085] The Cartesian camera coordinates are expressed in spherical camera coordinates in the form: [0086] [Math.6] [0087] X = ρ sin(θ) cos(φ), [0088] [Math.7] [0089 ] Y = ρ sin(θ) sin(φ), [0090] [Math.8] [0091] Z = ρ cos(θ) [0092] with ρ=1 two vectors
Figure imgf000018_0003
and B are defined such that using the
Figure imgf000018_0004
angles determined for points A and B we have: [0093] [Math.9] [0094]
Figure imgf000019_0001
[0095] [Math.10] [0096]
Figure imgf000019_0002
[0097] with an origin at (0, 0, 0) center of the set of cameras. [0098] The angle between these two unit vectors makes it possible to calculate the opening of the solid angle from the scalar product of these two vectors such as: [0099] [Math.11]
Figure imgf000019_0003
[0100] Finally, the vector of the cone is transformed into the coordinates
Figure imgf000019_0007
global: [0101] [Math.12]
Figure imgf000019_0004
[0102] Where R is the rotation matrix using the extrinsic parameters of the camera: [0103] [Math.13] [0104]
Figure imgf000019_0005
[0105] or also: [0106] [Math.14]
Figure imgf000019_0006
[0107] and R T the transposed matrix. [0108] Thus, for each panoramic image, vectors, starting from the center of the group of cameras (x0,y0,z0) of FIG. 3 in global coordinates at the time of taking this image and pointing towards the center of the panel ( xA,yA,zA) in global coordinates as seen in the panoramic image, create lines oriented in space. Each panoramic image thus produces a cone centered on the line going from the center of this image to point A of an object in this image and with an opening angle α. [0109] For a given class of objects resulting from the classification, a search for intersections of the cones, resulting from a series of panoramic images and trajectory data for the points taken from the images containing the detected objects , is then performed. This makes it possible to calculate a spatial distance between the object or objects detected and the positions of the center of the camera at the time of the photos taken by triangulation. To reduce the number of false detections, only the pairs of cones whose apexes are separated by a distance 204 according to FIG. 8 less than a distance parameter D are taken into account. This search can be carried out by means of a KD tree on the points of the trajectories which makes it possible to accelerate the search for the pairs of cones which are close to each other. Such a KD tree is not mandatory, but it lightens the computation when the amount of data increases. D is expressed in meters and its choice depends on the maximum distance at which it is considered that an object can no longer be detected in an image. Parameter D will be adapted by the operator according to the spatial frequency of the shots. For example for a panel object class, a vehicle taking pictures every 2m, D can be set to 100m. The periodicity of the taking of photos is preferably determined according to a distance traveled by the vehicle, for example the photos are taken every meter or every two meters traveled. In certain configurations, the periodicity can be determined according to a temporal frequency, the vehicle speed then determining the interval in meters between the photos. For a vehicle traveling at 50 km/h and cameras taking photos at 14 fps, in this case we would obtain one photo per meter and a backup of one photo per 2 or 3 meters could be made. FIG. 7 represents two vectors
Figure imgf000020_0001
and
Figure imgf000020_0002
central respectively to the cones 110a, 110b and corresponding to the detection of a panel in two images taken with the cameras in position U0 and in position V0. To reduce the number of candidates detected and identify the uniqueness of an object, the projections of the cones 110a, 110b are analyzed to determine the intersection points in 3D which represent the geolocated position of the objects in space. As the cone vectors are three-dimensional and due to inaccuracies in the measurements, the cone vectors may not intersect perfectly which creates several close intersections. Intersections are considered valid if several conditions are met: i - They must be sufficiently close; ii - The direction vectors are mutually contained in the cones and ; iii - The intersection is not a parasitic intersection. For condition i, to determine if the intersections are close enough, a KD-Tree is generated and only the pairs of cones whose minimum distance 130 between their axes defined by the vectors and is less than a parameter d are considered to satisfy this condition. The value of d in meters is chosen according to the size of the objects of a class of objects detected in the images. For condition ii, according to which the direction vectors are mutually contained in the cones, the points I and J of closest distance are identified along the direction axes of the pairs of intersecting cones and spheres of influence are constructed. P, Q whose radius is the radius of the cone according to a perpendicular to the director axis of the cone around these points called attachment points. The condition is satisfied if the points I and J are mutually contained in the spheres of influence P, Q taken into account and these points I and J are said to be mutually connected. For all the pairs of cones which satisfy the two conditions i and ii, when two or more attachment points have been found, a position in global coordinates is calculated for each attachment point. A line segment IJ orthogonal to the two lines formed by the vectors and directors of each cone connects the two lines formed by
Figure imgf000022_0001
Figure imgf000022_0002
said vectors. The problem amounts to minimizing the distance || J–I || 2 of line segment IJ. It is necessary to deduce the position of the attachment points in global coordinates through the equation according to which the scalar product of the two perpendicular vectors is zero. [0118] A general equation expresses the position of 3D points along their respective vector: [0119] [Math.15]
Figure imgf000022_0003
[0120] As solid cones are defined by their apex M0 and a directional point MA, we have: [0121] [Math.16]
Figure imgf000022_0004
[0122] [Math.17]
Figure imgf000022_0005
[0123] A particular value of the variable t which defines the distance of the points on the line defined by the directional vector of the cone will define the position respectively of the point of attachment I or J. [0124] As the scalar product of two vectors directional orthogonal to each other is zero, we have for
Figure imgf000022_0006
and
Figure imgf000022_0007
: [0125] [Math.18]
Figure imgf000022_0008
[0126] [Math.19]
Figure imgf000022_0009
[0127] By rewriting the scalar products with the general vector line equation where: [0128] [Math.20]
Figure imgf000023_0001
[0129] Then by evaluating the scalar product equations with the known points of the vectors
Figure imgf000023_0002
and
Figure imgf000023_0003
and by realizing an equality between the equations, it is possible to solve the equations firstly for tA, then for tB in order to obtain the global coordinates of the attachment points I and J. [0130] Once the parameters tA and tB the radius of the spheres for each vector can be calculated with: [0131] [Math.21]
Figure imgf000023_0004
[0132] [Math.22]
Figure imgf000023_0005
The radius R F is used to define the sphere of influence at the level of point I, a similar calculation with tb makes it possible to calculate the sphere of influence at the level of point J. The radius Rs is then the dimensional analogue of r in the equation r=(min (w,h)/2 above. Once the intersections of cones at points I and J have been determined, i.e. when the intersection is such that the pairs of spheres for which the distance between their centers is less than d and that these centers are mutually contained in the opposite sphere, it is necessary to verify condition iii - The intersection is not a parasitic intersection or a ghost panel. To do this, a subsequent analysis is carried out to detect unique or parasitic intersections, that is to say false intersections as represented in FIG. 8 representing a simplified case where on the trajectory 200 a vehicle takes photos at the positions 200a, 200b, 200c, 200d, 200e, two panel x 201 and 202, the panel 201 being visible on the photos taken at points 200b, 200c, 200d, 200e while the panel 202 is visible in the photos taken at points 200a, 200b, 200c. We see that in this case, a vector from a photo of panel 201 in position 200b and a vector from a photo of panel 202 taken at point 200c intersect at 203. In this case, the intersection at point 203 corresponds to a ghost panel. This comes from the fact that in reality, a cone can have an intersection with several other cones which generates an attachment point representing the possible position of an object. In such a case, it is necessary to delete the parasitic intersections to keep only the valid intersections at points 201 and 202. To delete the points corresponding to a ghost panel, a graph 600 as represented in FIG. 12 for which each point of attachment Ap constitutes a knot is achieved. The branches Br of the graph are the connections between a node and all the other nodes together forming a connected component. For each connected component, the node Rp having the maximum degree is chosen as representative of a unique object. The representatives are then sorted by decreasing degree of degree of connectivity. To filter out the spurious points, the highest order representatives and the cones converging towards the latter are validated and removed. The remaining cone convergences are analyzed and, if one or more representatives are found without converging cones, these representatives are identified as a projection of a ghost or duplicated panel called a ghost projection and invalidated. The operation is repeated until all the representatives have been validated or invalidated. All representatives that pass the last test are then extracted as valid objects, their position in the global coordinate system is stored along with their predicted classification and dimension. It should be noted that storing the measured dimension then makes it possible to automatically check whether the size of the detected objects is consistent with their theoretical size inherent to their class. For example in FIG. 12, point 201 in FIG. 8 corresponds to an attachment point A1 with a representative Rp1 on the graph 600, point 202 to an attachment bridge A2 with a representative Rp2 and the point 203 to an attachment point A3 with an Rp3 representative. The Rp1 representative with 11 bonds is validated and removed with its cones, then the Rp2 representative with 5 bonds is removed with its cones. There then remains the representative Rp3 which no longer has any cones and is therefore classified as a ghost projection and therefore invalidated. Furthermore, the radius Rs of the highest-order represent makes it possible to evaluate the spatial dimension and the size of the object. To facilitate the elimination of ghost signs due to projections of cones crossing at much further distances or crossing with cones of other traffic signs, it is possible to adapt D the maximum distance between the apex of cones taken into account depending on the density of traffic signs and reduce D inside cities where the density of signs is large compared to scenes outside cities where the density of signs is lower. [0140] Once the traffic sign extraction algorithm has finished processing a panoramic image, the sub-images that could not be triangulated and located are documented in a separate log for manual verification. The traffic sign localization algorithm of the present application depends on fundamental geometric transformations and on a constrained three-dimensional triangulation method. The output data are the geolocated coordinates (x, y, z) of the objects and in particular of the panels in the global coordinates, their predicted classification and a minimum dimension, r. Another point dealt with by the filtering of parasitic points, described above, is the extraction of ghost objects when several cones have an intersection with a single cone. This happens due to a sensitivity of the method to parallax at small angles coupled with a profusion of cones which add background noise. Sufficient distance is needed between the viewpoints (image captures) to clearly distinguish the intersections of the cone vectors during the triangulation. Furthermore, to avoid calculating intersections with cones that are too far apart from each other, the parameter D which reduces the interference between the cones for the instances of panels of the same type that are close can be adapted according to the location of the panels. D can be reduced in cities where the panel density is greater and increased outside cities. Since the cones are projected to infinity, following the path of the vehicle, especially in curves, roundabouts and lane intersections, reducing the search radius reduces background noise. The value of D depends on the size of the objects and the frequency of image capture. The aforementioned distance parameters D and d are introduced during the implementation of the method on an image set corresponding to a surface whose panels or other objects are to be geolocated. All of these operations are summarized in Figure 10 which describes, from the database of images with classified objects 300, the steps 305 of reading the selection frames of the objects and 310 reading the trajectories of the cameras having taken the images, the step 320 of constructing the cones 320 in parallel with the step 330 of creating the KD trees of proximity of the intersections, the step 340 of selecting the objects of a class to carry out the step 350 of searching for the pairs of cones of distance <D with respect to the origin of the photo taking into account the result of the step for creating the tree KD of the trajectory points then the step 355 of searching for the intersection nodes and the calculation of the proximity between the axes of the cones to define the nodes corresponding to probable objects. These steps are followed by a step 360 of calculating the connected components with the generation of a graph 600 of all the node connections then a step 365 of selecting the maximum degree node for each connected component followed by a step 370 of ordering the representative nodes by descending degrees to carry out step 375 of filtering the dummy representatives by deleting the vectors already referenced for higher-order nodes and deleting the remaining single-vector nodes. At the end of this operation, the output data are the objects for which the coordinates of the center of the object in global coordinates, and the radius of the object are stored in step 380. [0149] To summarize, [0150] A - the triangulation method is carried out with the criteria: 1) at least two images where the model has detected the same object, 2) the position in global coordinates of the center of the block of cameras is known 3) the camera orientation angles are known which makes it possible to calculate the position of the object detected in the image in a global frame. [0151] B - The triangulation method projects the directional vectors, with their apex at the center of the block of cameras and searches for the crossings in 3D space as potential positions of the object. [0152] C - The determination of the uniqueness and validity of the object as well as the execution time performance are ensured thanks to the introduction of two parameters: D, a search distance for the pairs of vectors which cross which makes the algorithm more efficient in execution time and d, a distance threshold determining that at the crossing, the vectors are sufficiently close to reduce the candidate points of intersection. [0153] D—The method provides a method of filtering crosses by a voting system to identify among the candidates the most probable position of the objects. [0154] E - After having calculated the number of votes (degree of connectedness of a position) the points are ordered in rank. The projected vectors are attributed to the points by their decreasing degree of connectivity and the points having no more associated vectors are considered as false positives and not real positions. [0155] Once all the classes of objects existing in the objects have been processed, the result is a database 390 of the objects that can be integrated into a 3D map. [0156] The present application thus proposes a highly automated method for the recognition and geolocation of discrete objects such as signs, traffic lights or other infrastructure objects from panoramic images taken by one or more vehicles moving on traffic lanes. The vehicles may in particular be motor vehicles moving on road traffic lanes or railway vehicles for geolocating railway signaling devices.

Claims

Revendications [Revendication 1] Procédé de géolocalisation d'objets discrets à partir d'une succession d'images panoramiques (11) unitaires géolocalisées prises par un dispositif caméra panoramique à 360° d'un ou plusieurs véhicules mobiles sur le parcours desdits véhicules caractérisé en ce qu'il comprend : - au moins une succession d'étapes (510) de prise desdites images panoramiques unitaires semi-sphériques ou sphériques par un véhicule mobile porteur d'un dispositif caméra panoramique et porteur d'un système de géolocalisation, - une succession d'étapes (410) de reconnaissance et de classification d'objets, dans lesdites images panoramiques unitaires, réalisées au moyen de modèles d'apprentissage profond à base de réseaux neuronaux produisant une détection et une classification d'objets dans les images panoramiques et produisant la définition de cadres de sélection autour de sous-ensembles de pixels qui contiennent les objets détectés dans les images panoramiques et pour chaque objet dans chaque image panoramique, un code de classification et les coordonnées i (verticale), j (horizontale) en nombre de pixels d'un repère de position du cadre de sélection de largeur w et de hauteur h contenant ledit objet dans ladite image panoramique; - une succession d'étapes (305 à 380) de géolocalisation des objets classifiés par un procédé de triangulation desdits objets à partir d'au moins deux desdites images panoramiques distinctes contenant lesdits objets classifiés et des positions des caméras panoramiques lors des prises d'images panoramiques contenant lesdits objet classifiés, Lesdites étapes de géolocalisation comportant, pour une série d'images panoramiques, - une étape de détermination, dans chaque image panoramique de ladite série dans laquelle une classification d'objet est présente, de la position angulaire par rapport au centre de prise de vue des objets détectés, - au moins un changement de repère des coordonnées des objets dans les images en coordonnées cartésiennes terrestres en fonction des coordonnées des caméras à l'instant des prises de vue, - une projection de cônes (110) réalisés à partir d'un angle α dirigé vers le centre A du cadre de sélection dudit objet, ayant pour apex le centre du dispositif caméra et une ouverture d'angle définie par le rayon r estimé par image, - un calcul d'intersections de paires de cônes (110a, 110b) générées dans au moins deux images panoramiques comportant ledit objet et prises à au moins deux endroits différents (100a, 100b) ; en sorte de calculer par triangulation une distance spatiale entre l'objet particulier détecté et les positions des centres du dispositif caméra auxdits au moins deux endroits différents et de calculer une position géolocalisée dudit objet particulier détecté. [Revendication 2] Procédé de géolocalisation selon la revendication 1 pour lequel, le dispositif caméra porté par le ou les véhicules mobiles (1) comportant plusieurs caméras (2a, 2b) réparties de manière sphérique adaptées à prendre des photos synchronisées, datées et localisées par des moyens de localisation et de datation (3) tels qu'un système GPS/GNSS, le procédé comporte une prise de photos de manière périodique par les caméras dudit dispositif caméra lors du déplacement du véhicule qui les porte, lesdites photos synchronisées, datées et géolocalisées étant traitées dans un logiciel adapté à construire des images panoramiques sphériques à partir desdites photos. [Revendication 3] Procédé de géolocalisation selon la revendication 2 pour lequel le dispositif caméra comportant cinq caméras (2a) pointant dans des directions espacées de 72° dans un plan horizontal autour d'un axe vertical par rapport au plan de roulement du véhicule et une caméra (2b) pointant vers le haut sur l'axe vertical, les photos simultanées prises par les 6 caméras sont raccordées pour produire une photo panoramique sphérique sur 360° dans un plan horizontal. [Revendication 4] Procédé de géolocalisation selon l'une quelconque des revendications précédentes comportant la fixation d'un point d'origine de coordonnées (0, 0) au niveau des images panoramiques de largeur de W pixels sur une hauteur de H pixels, une étape (410) de reconnaissance et de classification desdits objets au moyen de modèles d'apprentissages profonds à base de réseaux neuronaux produisant un cadre de sélection autour d'un sous- ensemble de pixels qui contient l'objet détecté dans l'image panoramique ainsi son code de classification et une étape de mémorisation: - dudit cadre de sélection (13) de chaque objet P détecté, - la hauteur h et la largeur w de ce cadre et, - les coordonnées i (verticale), j (horizontale) en nombre de pixels d'un repère de position du cadre de sélection contenant ledit objet associé aux photos panoramiques par rapport audit point d'origine. [Revendication 5] Procédé de géolocalisation selon la revendication 4 comportant la définition du point d'origine de coordonnées (0, 0) de l'image panoramique comme le point en haut à gauche de l'image panoramique et la définition du repère de position i, j (13a) relatif à l'origine (0, 0) du cadre de sélection comme le point en haut à gauche du cadre de sélection. [Revendication 6] Procédé de géolocalisation selon la revendication 4 ou 5 pour lequel le procédé de triangulation comporte pour une série d'images panoramiques, une étape de détermination de la position angulaire des objets détectés dans chaque image panoramique de ladite série dans laquelle une classification d'objet est présente par rapport au centre de prise de vue qui comprend à partir des dimensions du cadre de sélection : - un calcul de position du centre A estimé de chaque objet dans l'image panoramique ; - un calcul d'un rayon r estimé dudit objet tel que r est égal à la moitié de la plus petite des dimensions de largeur w et de hauteur h du cadre de sélection dans l'image panoramique et le calcul de position d'un point B sur le cadre de sélection et le plus proche du point A tel que AB=r ; - un calcul de la position angulaire du centre A de l'image dudit objet et du point B par rapport au centre O du groupe de caméras 100 dans les coordonnées sphériques caméra, l'image panoramique étant assimilée à une sphère de centre O puis, - le calcul d'un vecteur
Figure imgf000032_0001
joignant le centre des caméras O et le centre A de l'objet, le calcul d'un vecteur joignant le centre des caméras O et le point B et le
Figure imgf000032_0003
calcul d'un cône d'axe et d'angle au sommet α tel que
Figure imgf000032_0002
[Math.23]
Figure imgf000032_0004
en coordonnées cartésiennes caméra ; - une transformation dans les coordonnées globales cartésiennes terrestres et une mémorisation des coordonnées des vecteurs u^⃗ ^ du centre O des caméras et de l'angle α pour chaque objet de chaque image panoramique. [Revendication 7] Procédé de géolocalisation selon la revendication 6 pour lequel l'étape de détermination de la position des objets détectés utilise: - les paramètres de position des caméras, qui comprennent les coordonnées cartésiennes géolocalisées (x0, y0, z0) du centre O du dispositif caméra et l'orientation (Ω, Φ, Κ) de chacune des caméras (2a, 2b) du dispositif caméra ; - la hauteur et la largeur de l'image panoramique originale H, W ; - les bordures des cadres de sélection (13) contenant des objets détectés dans les images panoramiques. [Revendication 8] Procédé de géolocalisation selon la revendication 6 ou 7 pour lequel, l'image panoramique étant considérée comme la partie supérieure de la surface d'une sphère (120) avec le dispositif caméra (100) au centre de cette sphère, le procédé de triangulation comporte la détermination de la position d'un objet détecté particulier au moyen d'une projection d'un cône (110) dirigé vers le centre A du cadre de sélection dudit objet sur ladite partie supérieure de ladite surface d'une sphère, ledit cône ayant pour apex le centre du dispositif caméra et l'ouverture d'angle α et comprend, pour un objet particulier détecté donné, un calcul d'intersections de paires de cônes (110a, 110b) générées dans au moins deux images panoramiques distinctes comportant ledit objet et prises à au moins deux endroits U0, V0 différents, en sorte de calculer par triangulation une distance spatiale entre l'objet particulier détecté et les positions des centres du dispositif caméra auxdits au moins deux endroits différents et calculer une position géolocalisée dudit objet particulier détecté. [Revendication 9] Procédé de géolocalisation selon la revendication 8 pour lequel seules les paires de cônes dont la distance entre leurs apex est limitée par un paramètre de distance D sont prises en compte, le paramètre de distance D étant exprimé en mètres et choisi en fonction de la fréquence spatiale de prise de photos pour réduire le nombre de fausses détections. [Revendication 10] Procédé de géolocalisation selon la revendication 8 ou 9 pour lequel le procédé comporte une analyse de validité d'intersections I-J en 3D desdites projections de cônes afin de réduire le nombre de candidats objets détectés et identifier l'unicité des objets et déterminer si des intersections sont suffisamment proches,, une conditions de validité d'un candidat objet étant le fait que les vecteurs
Figure imgf000033_0001
et
Figure imgf000033_0002
directeurs des paires de cônes (110a, 110b) soient distants d'une distance inférieure à un paramètre d à l'intersection I-J des cônes, le procédé comprenant en outre une extraction en tant qu'objets valides de représentants satisfaisant à ladite analyse de validité, le stockage de leur position dans le système de coordonnées globales, le stockage de leur classification prédite et le stockage de leur dimension. [Revendication 11] Procédé de géolocalisation selon la revendication 10 pour lequel l'analyse de validité comporte une recherche (355) de nœuds d'intersection et un calcul de proximité entre les axes des cônes pour déterminer si des intersections sont suffisamment proches, au moyen de la génération d'un arbre K- D des points I et J et la sélection à partir dudit arbre K-D des paires de cônes ayant une distance minimale (130) inférieure à un paramètre d à l'intersection I-J des cônes, la valeur en mètres dudit paramètre d étant choisie en fonction de la taille des classes d'objets détectées, et comportant (355), pour la condition selon laquelle les intersections sont suffisamment proches, un algorithme d'identification de points I et J de plus proche distance des vecteurs et
Figure imgf000033_0004
directeurs des
Figure imgf000033_0003
paires de cônes se croisant, un algorithme de construction de sphères d'influence P, Q dont le rayon est le rayon du cône selon une perpendiculaire à l'axe directeur du cône autour des points I et J appelés points d'attachement et un algorithme de validation de la condition si les points I et J sont mutuellement contenus dans la sphère d'influence du cône opposé, les axes des cônes étant alors contenus dans le cône opposé à l'intersection. [Revendication 12] Procédé de géolocalisation selon la revendication 11 comportant, pour toutes les paires de cônes dont les intersections sont suffisamment proches et dont les vecteurs directeurs sont mutuellement contenus dans les cônes opposés à l'intersection et lorsque deux points d'attachement ou plus ont été trouvés, une analyse de détection d'intersections parasites, ladite analyse comportant une étape (360) de réalisation d'un graphe (600): - pour lequel chaque point d'attachement constitue un nœud, - pour lequel deux nœuds sont connectés s'ils satisfont les conditions intersections suffisamment proches et vecteurs directeurs mutuellement contenus dans les cônes, ladite analyse comportant en outre pour chaque composante connexe (A1, A2, A3) du graphe (600), un choix (365) du nœud (Rp1, Rp2, Rp3) ayant le degré maximal de liaisons comme représentant d'un objet unique et un tri (370) par degrés décroissants de connectivité desdits représentants puis un processus itératif de validation et de soustraction du représentant d'ordre les plus élevé et des cônes convergeant vers ces derniers, d'analyse de convergences de cônes restants et de suppression des représentants se retrouvant sans cônes convergents (375), ledit processus itératif étant réitéré jusqu'à ce que tous les représentants aient été validés ou invalidés.
Claims [Claim 1] Process for the geolocation of discrete objects from a succession of geolocated unitary panoramic images (11) taken by a 360° panoramic camera device of one or more mobile vehicles on the route of said vehicles, characterized in that it comprises: - at least a succession of steps (510) for taking said unitary semi-spherical or spherical panoramic images by a mobile vehicle carrying a panoramic camera device and carrying a geolocation system, - a succession of steps (410) for recognizing and classifying objects, in said unitary panoramic images, carried out by means of deep learning models based on neural networks producing a detection and classification of objects in the panoramic images and producing the definition of selection boxes around subsets of pixels which contain the objects detected in the panoramic images and for each o bjet in each panoramic image, a classification code and the coordinates i (vertical), j (horizontal) in number of pixels of a position marker of the selection frame of width w and height h containing said object in said panoramic image ; - a succession of steps (305 to 380) for the geolocation of classified objects by a process of triangulation of said objects from at least two of said distinct panoramic images containing said classified objects and positions of the panoramic cameras during the image captures panoramic images containing said classified objects, said geolocation steps comprising, for a series of panoramic images, - a step of determining, in each panoramic image of said series in which an object classification is present, the angular position relative to the shooting center of the detected objects, - at least one change of reference of the coordinates of the objects in the images in terrestrial Cartesian coordinates according to the coordinates of the cameras at the time of the shots, - a projection of cones (110) made from an angle α directed towards the center A of the selection frame of said object, having as its apex the center of the camera device and an angle opening defined by the radius r estimated by image , - a calculation of intersections of pairs of cones (110a, 110b) generated in at least two panoramic images comprising said object and taken at at least two different locations (100a, 100b); so as to calculate by triangulation a spatial distance between the particular object detected and the positions of the centers of the camera device at said at least two different places and to calculate a geolocated position of said particular object detected. [Claim 2] Geolocation method according to claim 1 for which, the camera device carried by the mobile vehicle or vehicles (1) comprising several cameras (2a, 2b) distributed in a spherical manner adapted to take synchronized photos, dated and localized by location and dating means (3) such as a GPS/GNSS system, the method comprises taking photos periodically by the cameras of said camera device while the vehicle carrying them is moving, said photos being synchronized, dated and geolocated being processed in software suitable for constructing spherical panoramic images from said photos. [Claim 3] Geolocation method according to Claim 2, for which the camera device comprising five cameras (2a) pointing in directions spaced apart by 72° in a horizontal plane around a vertical axis with respect to the rolling plane of the vehicle and a camera (2b) pointing upwards on the vertical axis, the simultaneous photos taken by the 6 cameras are connected to produce a 360° spherical panoramic photo in a horizontal plane. [Claim 4] Geolocation method according to any one of the preceding claims comprising the fixing of a point of origin with coordinates (0, 0) at the level of the panoramic images of width of W pixels by a height of H pixels, a step (410) of recognizing and classifying said objects by means of deep learning models based on neural networks producing a selection frame around a sub- set of pixels which contains the object detected in the panoramic image as well as its classification code and a step of memorizing: - said selection frame (13) of each object P detected, - the height h and the width w of this frame and, the coordinates i (vertical), j (horizontal) in number of pixels of a position marker of the selection frame containing said object associated with the panoramic photos with respect to said point of origin. [Claim 5] Geolocation method according to claim 4 comprising the definition of the point of origin of coordinates (0, 0) of the panoramic image as the point at the top left of the panoramic image and the definition of the position marker i, j (13a) relative to the origin (0, 0) of the bounding box as the top left point of the bounding box. [Claim 6] Geolocation method according to claim 4 or 5 for which the triangulation method comprises, for a series of panoramic images, a step of determining the angular position of the objects detected in each panoramic image of the said series in which a classification of object is present with respect to the shooting center which comprises from the dimensions of the selection frame: - a calculation of the position of the estimated center A of each object in the panoramic image; - a calculation of an estimated radius r of said object such that r is equal to half of the smaller of the width w and height h dimensions of the selection frame in the panoramic image and the position calculation of a point B on the bounding box and closest to point A such that AB=r; - a calculation of the angular position of the center A of the image of said object and of point B with respect to the center O of the group of cameras 100 in the spherical camera coordinates, the panoramic image being assimilated to a sphere with center O then, - the calculation of a vector
Figure imgf000032_0001
joining the center of the cameras O and the center A of the object, the calculation of a vector joining the center of the cameras O and the point B and the
Figure imgf000032_0003
calculation of a cone with axis and vertex angle α such that
Figure imgf000032_0002
[Math.23]
Figure imgf000032_0004
in Cartesian camera coordinates; - a transformation into the terrestrial Cartesian global coordinates and a memorization of the coordinates of the vectors u^⃗ ^ of the center O of the cameras and of the angle α for each object of each panoramic image. [Claim 7] Geolocation method according to claim 6 for which the step of determining the position of the detected objects uses: - the position parameters of the cameras, which include the geolocated Cartesian coordinates (x0, y0, z0) of the center O of the camera device and the orientation (Ω, Φ, Κ) of each of the cameras (2a, 2b) of the camera device; - the height and width of the original panoramic image H, W; - the borders of the selection frames (13) containing objects detected in the panoramic images. [Claim 8] Geolocation method according to claim 6 or 7 for which, the panoramic image being considered as the upper part of the surface of a sphere (120) with the camera device (100) at the center of this sphere, the triangulation method includes determining the position of a particular sensed object by means of a projection of a cone (110) directed toward the center A of the bounding box of said object onto said upper portion of said surface of a sphere , said cone having as its apex the center of the camera device and the angle aperture α and comprises, for a given particular detected object, a calculation of intersections of pairs of cones (110a, 110b) generated in at least two panoramic images distinct comprising said object and taken at at least two different locations U0, V0, so as to calculate by triangulation a spatial distance between the particular detected object and the positions of the centers of the device camera at said at least two different locations and calculate a geolocated position of said particular detected object. [Claim 9] Geolocation method according to claim 8 for which only the pairs of cones whose distance between their apexes is limited by a distance parameter D are taken into account, the distance parameter D being expressed in meters and chosen as a function the spatial frequency of taking photos to reduce the number of false detections. [Claim 10] Geolocation method according to claim 8 or 9 for which the method comprises a validity analysis of IJ intersections in 3D of said projections of cones in order to reduce the number of candidate objects detected and to identify the uniqueness of the objects and to determine if intersections are close enough, one condition for the validity of an object candidate being the fact that the vectors
Figure imgf000033_0001
and
Figure imgf000033_0002
directors of the pairs of cones (110a, 110b) are separated by a distance less than a parameter d from the intersection IJ of the cones, the method further comprising extracting as valid objects representatives satisfying said validity analysis , storing their position in the global coordinate system, storing their predicted classification, and storing their dimension. [Claim 11] Geolocation method according to claim 10 for which the validity analysis includes a search (355) for intersection nodes and a calculation of proximity between the axes of the cones to determine whether intersections are sufficiently close, by means of of the generation of a K-D tree of the points I and J and the selection from said KD tree of the pairs of cones having a minimum distance (130) less than a parameter d at the intersection IJ of the cones, the value in meters of said parameter d being chosen as a function of the size of the classes of objects detected, and comprising (355), for the condition according to which the intersections are sufficiently close, an algorithm for identifying points I and J of closest distance from the vectors and
Figure imgf000033_0004
directors of
Figure imgf000033_0003
pairs of intersecting cones, an algorithm for constructing spheres of influence P, Q whose radius is the radius of the cone according to a perpendicular to the director axis of the cone around the points I and J called attachment points and an algorithm validation of the condition if the points I and J are mutually contained in the sphere of influence of the opposite cone, the axes of the cones then being contained in the opposite cone at the intersection. [Claim 12] Geolocation method according to claim 11 comprising, for all the pairs of cones whose intersections are sufficiently close and whose direction vectors are mutually contained in the cones opposite the intersection and when two or more attachment points have been found, an analysis for detecting parasitic intersections, said analysis comprising a step (360) of producing a graph (600): - for which each attachment point constitutes a node, - for which two nodes are connected if they satisfy the conditions of sufficiently close intersections and direction vectors mutually contained in the cones, said analysis further comprising for each connected component (A1, A2, A3) of the graph (600), a choice (365) of the node (Rp1, Rp2, Rp3) having the maximum degree of links as a representative of a single object and a sorting (370) by decreasing degrees of connectivity of said representatives then an iterative process of validating determination and subtraction of the highest order representative and of the cones converging towards the latter, of analysis of convergences of remaining cones and of deletion of the representatives found without converging cones (375), said iterative process being reiterated until that all representatives have been validated or invalidated.
PCT/FR2021/050290 2021-02-18 2021-02-18 Method for geolocating and characterising signalling infrastructure devices WO2022175602A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/FR2021/050290 WO2022175602A1 (en) 2021-02-18 2021-02-18 Method for geolocating and characterising signalling infrastructure devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/FR2021/050290 WO2022175602A1 (en) 2021-02-18 2021-02-18 Method for geolocating and characterising signalling infrastructure devices

Publications (1)

Publication Number Publication Date
WO2022175602A1 true WO2022175602A1 (en) 2022-08-25

Family

ID=74884984

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2021/050290 WO2022175602A1 (en) 2021-02-18 2021-02-18 Method for geolocating and characterising signalling infrastructure devices

Country Status (1)

Country Link
WO (1) WO2022175602A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116047567A (en) * 2023-04-03 2023-05-02 长沙金维信息技术有限公司 Deep learning assistance-based guard and inertial navigation combined positioning method and navigation method
US20230154212A1 (en) * 2021-11-12 2023-05-18 Zebra Technologies Corporation Method on identifying indicia orientation and decoding indicia for machine vision systems

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180188060A1 (en) 2016-12-30 2018-07-05 DeepMap Inc. Traffic Sign Feature Creation for High Definition Maps Used for Navigating Autonomous Vehicles
WO2018140656A1 (en) 2017-01-26 2018-08-02 Matterport, Inc. Capturing and aligning panoramic image and depth data
US20200082561A1 (en) * 2018-09-10 2020-03-12 Mapbox, Inc. Mapping objects detected in images to geographic positions
EP3832338A1 (en) * 2019-12-02 2021-06-09 Geosat Method for geolocation and qualification of signalling infrastructure devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180188060A1 (en) 2016-12-30 2018-07-05 DeepMap Inc. Traffic Sign Feature Creation for High Definition Maps Used for Navigating Autonomous Vehicles
WO2018140656A1 (en) 2017-01-26 2018-08-02 Matterport, Inc. Capturing and aligning panoramic image and depth data
US20200082561A1 (en) * 2018-09-10 2020-03-12 Mapbox, Inc. Mapping objects detected in images to geographic positions
EP3832338A1 (en) * 2019-12-02 2021-06-09 Geosat Method for geolocation and qualification of signalling infrastructure devices

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
FOOLADGAR FAHIMEH ET AL.: "IEEE SENSORS JOURNAL", vol. 13, 1 November 2013, IEEE SERVICE CENTER, article "Geometrical Analysis of Localization Error in Stereo Vision Systems", pages: 4236 - 4246
FOOLADGAR FAHIMEH ET AL: "Geometrical Analysis of Localization Error in Stereo Vision Systems", IEEE SENSORS JOURNAL, IEEE, USA, vol. 13, no. 11, 1 November 2013 (2013-11-01), pages 4236 - 4246, XP011527941, ISSN: 1530-437X, [retrieved on 20130925], DOI: 10.1109/JSEN.2013.2264480 *
HU YITAO ET AL: "ALPS accurate landmark positioning at city scales", USER INTERFACE SOFTWARE AND TECHNOLOGY, ACM, 2 PENN PLAZA, SUITE 701 NEW YORK NY 10121-0701 USA, 12 September 2016 (2016-09-12), pages 1147 - 1158, XP058518369, ISBN: 978-1-4503-4531-6, DOI: 10.1145/2971648.2971674 *
RUBINO COSIMO ET AL: "Lifting 2D Object Detections to 3D: A Geometric Approach in Multiple Views", 13 October 2017, INTELLIGENT ROBOTICS AND APPLICATIONS; [LECTURE NOTES IN COMPUTER SCIENCE; LECT.NOTES COMPUTER], SPRINGER INTERNATIONAL PUBLISHING, CHAM, PAGE(S) 561 - 572, ISBN: 978-3-030-89846-5, ISSN: 0302-9743, XP047613222 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230154212A1 (en) * 2021-11-12 2023-05-18 Zebra Technologies Corporation Method on identifying indicia orientation and decoding indicia for machine vision systems
US11995900B2 (en) * 2021-11-12 2024-05-28 Zebra Technologies Corporation Method on identifying indicia orientation and decoding indicia for machine vision systems
CN116047567A (en) * 2023-04-03 2023-05-02 长沙金维信息技术有限公司 Deep learning assistance-based guard and inertial navigation combined positioning method and navigation method

Similar Documents

Publication Publication Date Title
US10475232B2 (en) Three-dimentional plane panorama creation through hough-based line detection
US20200401617A1 (en) Visual positioning system
Remondino et al. State of the art in high density image matching
US9998660B2 (en) Method of panoramic 3D mosaicing of a scene
Wang et al. Automated road sign inventory system based on stereo vision and tracking
KR102200299B1 (en) A system implementing management solution of road facility based on 3D-VR multi-sensor system and a method thereof
CN113706480B (en) Point cloud 3D target detection method based on key point multi-scale feature fusion
JP2010530997A (en) Method and apparatus for generating road information
CA2899728A1 (en) Statistical point pattern matching technique
CN109596121B (en) Automatic target detection and space positioning method for mobile station
EP3252615A1 (en) Method and system for determining cells crossed by a measuring or viewing axis
Verykokou et al. Oblique aerial images: a review focusing on georeferencing procedures
Wang et al. Accurate georegistration of point clouds using geographic data
EP2724203A1 (en) Generation of map data
WO2022175602A1 (en) Method for geolocating and characterising signalling infrastructure devices
Zhou et al. Developing and testing robust autonomy: The university of sydney campus data set
EP3832338A1 (en) Method for geolocation and qualification of signalling infrastructure devices
EP3729327A1 (en) Method for recognising objects in a three dimensional scene
CN113838129B (en) Method, device and system for obtaining pose information
EP4352693A1 (en) Method for reconstructing a 3d model of a building roof by analyzing images acquired by remote sensing
FR3097072A1 (en) HIGH-RESOLUTION CARD GENERATION PROCESS FROM POINT CLOUDS
Al-Durgham The registration and segmentation of heterogeneous Laser scanning data
Amigo et al. Automatic context learning based on 360 imageries triangulation and 3D LiDAR validation
Deliry et al. Accuracy evaluation of UAS photogrammetry and structure from motion in 3D modeling and volumetric calculations
Dayamit et al. Digital elevation model from non-metric camera in UAS compared with lidar technology

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21712558

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: CONSTATATION DE LA PERTE D'UN DROIT CONFORMEMENT A LA REGLE 112(1) CBE (OEB FORM 1205A EN DATE DU 12/12/2023)