WO2005010820A9 - Procede et dispositif automatise de perception avec determination et caracterisation de bords et de frontieres d'objets d'un espace, construction de contours et applications - Google Patents

Procede et dispositif automatise de perception avec determination et caracterisation de bords et de frontieres d'objets d'un espace, construction de contours et applications

Info

Publication number
WO2005010820A9
WO2005010820A9 PCT/FR2004/002047 FR2004002047W WO2005010820A9 WO 2005010820 A9 WO2005010820 A9 WO 2005010820A9 FR 2004002047 W FR2004002047 W FR 2004002047W WO 2005010820 A9 WO2005010820 A9 WO 2005010820A9
Authority
WO
WIPO (PCT)
Prior art keywords
edge
points
stn
image
signal
Prior art date
Application number
PCT/FR2004/002047
Other languages
English (en)
Other versions
WO2005010820A3 (fr
WO2005010820A2 (fr
Inventor
Patrick Pirim
Original Assignee
Holding Bev Sa
Patrick Pirim
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 Holding Bev Sa, Patrick Pirim filed Critical Holding Bev Sa
Publication of WO2005010820A2 publication Critical patent/WO2005010820A2/fr
Publication of WO2005010820A9 publication Critical patent/WO2005010820A9/fr
Publication of WO2005010820A3 publication Critical patent/WO2005010820A3/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • 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/588Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/59Context or environment of the image inside of a vehicle, e.g. relating to seat occupancy, driver state or inner lighting conditions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions

Definitions

  • the present invention relates to a method and an automated perception device for the determination and characterization of edges and borders of objects of a space, construction of contours and applications. of object boundaries of a space which is analyzed, space with its objects being materialized by electrical signals evolving over time in the form of sequences organized into sub-sequences of data.
  • the invention also allows, for synthesis purposes, the construction of contours from the edges determined and characterized by the analysis.
  • the invention can be implemented in various applications, some examples of which will be given with, in particular, the detection and characterization of lane limits for a vehicle and for road safety, scene surveillance, determination of an optical center, a coefficient of distortion and the correction of the geometric optical distortion as well as the determination of a rotation, of a translation between two successive representations and the stabilization / registration of video images and, finally, in the characterization of movement and distance measurement.
  • the invention thus allows the automated analysis of a space containing objects and which is materialized in electrical signals with sequences and sub-sequences by a transducer as well as a synthesis of objects from the results of the analysis.
  • the transducer is adapted to the space, for example for a visual space, the transducer is a video camera or for a sound space, the transducer is a microphone with spectral analyzer.
  • the invention is more particularly suitable for use with space-time neurons, called STN units or also called STN modules which allow the analysis of signal parameters by calculating histograms.
  • STN units space-time neurons
  • Methods and devices are already known for processing data streams, in particular video streams, making it possible, in real time, to locate, locate and / or extract from their context objects or parts of objects corresponding to certain criteria in a space, including an image of a scene.
  • the selection criteria can be extremely varied, it can be a speed, a shape, a color ... or a combination of these criteria.
  • the STN units each process the input data related to the parameters by a function (f 0 g) to produce individually, under the dependence of a retro-annotation, an classification output value S and these output values, all together, form a retro-annotation available on a bus.
  • each of these STN units constitutes and updates a set of reg a analysis registers providing statistical information on the corresponding parameter.
  • the choice of the parameter processed and the retro-annotation used by each STN module, the content of the analysis output register as well as the function (f 0 g) that it fulfills, are determined by via API (Application Program Interface) software.
  • API Application Program Interface
  • a time processing unit 5 produces data in relation to the monitored parameters and characterizing the data representing the analyzed space, in particular signals L (light), T (hue), S (saturation), V M v ⁇ (speed of movement), D VT (direction of movement) each associated with each pixel of the space in a synchronous manner and where a spatial processing unit 6 makes it possible to carry out predefined axis changes for spatial data x, y. It is indeed indicated there that the position of a pixel in space is represented with respect to a system of axes. Depending on the shape, orientation, ...
  • STN calculation modules which receive data via a data bus and which are interconnected on a feedback bus carrying classification results.
  • WO00 / 1 1610 (“image processing apparatus and method”) giving means with temporal and spatial processing making it possible to locate a moving area and its speed and direction as a function of parameters which may be the luminance, the hue, the saturation. ..
  • image processing apparatus and method giving means making it possible to identify the orientation of a line in an image and a road application (detection of line or vehicle).
  • image processing apparatus and method giving means making it possible to identify the orientation of a line in an image and a road application (detection of line or vehicle).
  • the method described which consists in seeking an optimization of the RMAX / NBPTS ratio of a histogram according to projections according to particular orientations has the disadvantage of requiring parallel (or iterative) searches to find the direction of the optimization and , above all, it cannot be applied to objects having strong convexities (the principle of calculation does not allow an optimization in the case of an object which is circular).
  • WO ⁇ 1 / 63557 presenting a configurable modular implementation with control unit, data bus, retro-annotation bus and histogram calculation unit and which implements self-adaptation, anticipation and learning.
  • the maximum RMAX of the histogram, the position of said maximum POSRMAX is determined from the histogram calculated and stored in a memory of the unit, a number of NBPTS points in the histogram.
  • Classification limits are also determined which make it possible to delimit an area of interest for the parameter and it has been proposed to take as a criterion for determining the limits, a ratio of the maximum of the histogram, for example RMAX / 2, and to obtain the limits by scanning the data of the memory from the origin in search of the limits of zones corresponding to the criterion.
  • a criterion for determining the limits a ratio of the maximum of the histogram, for example RMAX / 2
  • RMAX / 2 a ratio of the maximum of the histogram
  • FR02 / 10067, FR02 / 10066, FR02 / 10065, FR02 / 10064 disclose other embodiments and, for example, with regard to STN modules, in addition to self-adaptation, anticipation and learning, production of multi-linear STN modules (a single module that can directly process a complex parameter instead of associating modules each processing a single parameter), multi-class STN modules (several maximum RMAX and POSRMAX positions being determined and classified automatically ) or, with regard to the applications of the STN modules, dynamic recruitment, the variation in resolution making it possible to hierarchically appear, as the return to a high basic resolution, hierarchical perception information or, the definition of LABELS by recognition, identification and memorization of object perception characteristics (LABELS can then be compared to a perception in progress for ur facilitate and / or recognize particular objects and allow a conceptualization of recognition).
  • LABELS can then be compared to a perception in progress for ur facilitate and / or recognize particular objects and allow a conceptual
  • edge using, in addition, a particular matrix which is a Gaussian matrix for the determination of edge before determination of the orientation of edge.
  • the present invention therefore relates to an automated method of perceiving an object in a space-time space represented by a set of data associated with pixels or points evolving in time and represented at a succession of moments T, said data being in the form of a digital signal composed of a series of binary numbers associated with synchronization signals making it possible to define the moment T of the space and the position in this space with which the data received at a given instant are associated, the digital signal comprising sequences periodicals organized in successive sequences of data, said data being characterized by at least one parameter, said method comprising a first step in which, on the one hand, the digital signal is characterized in the form of time signals representative of said parameters over time during the said period and, on the other hand, we produce in conc orders a spatial signal representative of the coordinates of the successive data of the digital signal, said data coordinates being Cartesian (X, Y), polar (p, ⁇ ) or module-distance (/ ?, LD), said method comprising a second analysis step during at least one sequence of the digital
  • the data source produces a digital signal composed of a series of binary numbers associated with synchronization signals making it possible to define the moment T of the space and the position in this space with which the data received at a given instant are associated, the digital signal comprising periodic sequences organized into successive sub-sequences of data.
  • the data to be collected can come from several sources and be analyzed together (for example a camera and one or more gyroscopes).
  • the space that is analyzed can be any, real or virtual, such as a visual space (objects are for example faces, cars, traffic lanes ...), a sound space (objects are for example sounds, phonemes %), a tactile space, a proprioceptive space (articulation positions of an articulated robot) ...
  • the data source can be a transducer to reproduce a tangible real space in the form of a digital signal comprising objects or can be a means allowing to create a virtual space comprising objects (a space resulting from a perception, a simulation of space, a reconstitution of memorized space ...) In the first case of transducer and As examples, this can be a camera, a camera, an imager ...
  • the spatial signal classification signal comes from a classifier receiving the spatial signal as an input, the classifier being a circuit dedicated to classification without histogram calculation
  • the spatial signal classification signal comes from another STN module receiving the spatial signal as input and the STN modules are organized as a couple, the first STN module of the couple receiving the time signal as a parameter input (s) and the second STN module of the couple receiving the spatial signal as a parameter (s) , the output of the first STN module being returned as the retro-annotation input of the second STN module and the output of the second STN module being returned as the retro-annotation input of the first STN module, the spatial signal at the parameter input of the second STN module of the couple undergoes an angle rotation operation ⁇ for change of coordinate axes,
  • angle of rotation ⁇ can be zero which corresponds to an absence of effective rotation
  • the angle value ⁇ of the time edge signal oriented as a parameter input of a first STN module of at least one pair of STN modules is sent and the results of the histogram calculation are used on the angles ⁇ of the first STN module to modify the angle ⁇ of rotation for the following sequence and for the analysis of the orientation angle ⁇ in the first STN module receiving the oriented edge signal, only the points whose Val- ⁇ is equal to the first validation value, - one determines for each pair of STN modules analyzing the edge signal oriented at least one zone barycenter (BarZ ⁇ ) and one zone orientation ⁇ ,
  • a new time signal of edge orientation variation which characterizes the variation ⁇ of angle of edge points of objects is calculated from the oriented edge time signal, said calculation consisting to make for each point considered a difference in absolute value between the values of angles ⁇ of two points of adjacent edges situated on either side of the point considered on the same line passing through the point considered, line function of the angle ⁇ of the point considered, in order to obtain information on the local curvature of the edge, that is to say in the case of a two-dimensional space by taking into account adjacent points included in a 3 ⁇ 3 matrix centered on the edge point considered, and we associate a binary validation or non-validation value, Val- ⁇ taking a first validation value if the variation is valid and taking a second non-validation value otherwise, a varia tion being valid if, during the calculation, the point considered and the adjacent points as a function of the angle ⁇ of the point considered all have the first validation value for Val- ⁇ , (the temporal signal of edge orientation variation consists of the
  • the temporal signal of edge orientation variation is sent at the input of a parameter of an STN module receiving as retro-annotation input at least one spatial signal classification signal
  • the spatial signal classification signal can come either from a classifier receiving as input the spatial signal, the classifier being a circuit dedicated to classification without histogram calculation, or from another STN module receiving as input the spatial signal, and for the analysis of the variation ⁇ of the orientation angle in the STN module receiving the time edge variation variation signal, only the points whose Val- ⁇ is equal to the first validation value are taken into account, - in the case pairs of STN modules processing the temporal edge variation signal, the first STN module of the couple receiving as input of parameter (s) the edge orientation variation signal and the second STN module of the co uple receiving as input of parameter (s) the spatial signal having undergone an angle rotation operation ⁇ for change of coordinate axes, the output of the first STN module being returned as retro-annotation input of the second STN module and the the output of the second STN module being returned to the retro-
  • - for each pair of STN modules (12A.12B) analyzing the edge orientation variation signal is determined at least one zone barycenter (BarZ ⁇ " ) and a variation ⁇ , - an oriented edge is determined as a function of the variation of the orientation of said edge, an additional STN module being added to a pair of STN modules analyzing the edge orientation signal ⁇ , said additional STN module receiving as a parameter input ( s) the temporal signal of edge orientation variation and at the annotation input, the classification signal produced at the output of the second STN module of the torque and said additional STN module producing at output a classification signal sent at the retro input.
  • additional annotation of the first STN module of the couple is determined at least one zone barycenter (BarZ ⁇ " ) and a variation ⁇ , - an oriented edge is determined as a function of the variation of the orientation of said edge, an additional STN module being added to a pair of STN modules analyzing the edge orientation signal ⁇ , said additional STN module receiving as a parameter input ( s)
  • the step of analyzing the oriented edge time signal with progressive recruitment of couples of STN modules is repeated over several sequences over a sequence of sequences in order to determine a series of oriented edges and so that: during the first sequence with a first pair of STN modules we use a zero rotation angle et and that in the second sequence, a new pair of STN modules is implemented with a rotation angle ⁇ resulting from the histogram calculation of the first couple in the first sequence and the classification output signal of the second STN module of the first couple being sent as feedback input for inhibition of the second STN module of the new couple, and so on, a new couple being implemented in each new sequence, l angle of rotation ⁇ for the new couple resulting from the histogram calculation by a previous couple to the previous sequence, the second STN module of the new couple receiving in e retro-annotation input for inhibition of all the classification outputs of the second STN modules implemented,
  • STN modules are simulated by calculation in an electronic circuit of the microprocessor type or of the digital signal processor (DSP) type, - a dynamically configurable dedicated electronic integrated circuit is implemented, comprising at least means of calculation in wired logic of time parameters and spatial parameters and a set of STN modules in wired logic on parameter bus and feedback bus and under dependence on an application program,
  • DSP digital signal processor
  • At least one zone barycenter and a zone orientation are determined for each pair of STN modules and a synthesis phase is carried out making it possible to construct a contour by adjusting a curve with respect to the barycenters,
  • Labels are also determined by memorizing the results of analysis and / or synthesis of objects.
  • edges - using oriented edges for which the variation of orientation ⁇ of edge is particularly high, said edges then corresponding to corners of objects, as attachment points with respect to a 3D mesh object file in order to produce a synthesis animation
  • the synthesis animation consists of a temporal adaptive projective or Euclidean reconstruction using a triangulation of the hanging points
  • the digital signal is produced by a transducer producing images, space is a scene and its dimension is two, and the digital signal is sent so that the first sub-sequences sent of a sequence include dots / pixels representing objects in space closest to the transducer,
  • the transducer is chosen from: - a video camera producing images in the form of digital signals in periodic sequences organized in successive sequences of data, - a digital photographic camera producing images in the form of digital signals in periodic sequences organized in subsequences successive data, - an imager producing images in the form of digital signals in periodic sequences organized in successive sequences of data, - an image recording medium reader producing images in the form of digital signals in periodic sequences organized in successive sequences of data - a radar or sonar producing images in the form of digital signals in periodic sequences organized in successive sub-sequences of data,
  • the imager is, for example, of the image digitizer, digital photocopier, facsimile transmission device, etc. type, producing images in the form of digital signals in periodic sequences organized in successive sub-sequences of data, PROCEDE / APPLICATION A L 'ANALYSIS
  • the space represented is a road and that there is at least one camera in the rear view mirror of a vehicle, the camera being oriented towards the front of the vehicle and at least two lane limits are determined laterally to the vehicle from determined oriented edges,
  • the space represented is a road and there is at least one camera lateral to the vehicle, said camera being oriented laterally and rearward and being in a side mirror,
  • a turn of a traffic lane is characterized by an arc of a circle and at least the radii of its radii are calculated lateral limits, the presence of a turn being detected by a linear offset from the H position of the crossing point of straight lines of successive paired zones in the same sequence,
  • a device for rotating the vehicle lighting is placed in the headlight of the vehicle in order to illuminate the traffic lane in the turn, - equations for changing the reference mark allowing to pass from a representation in the reference mark of the camera towards a horizontal road reference mark seen from above and centered on the vehicle and vice versa,
  • a search is made for the driver of the vehicle falling asleep, the driver's face being captured by part of the camera,
  • the space represented is a place comprising objects and there is at least one transducer oriented not vertically towards said place so that the objects are seen in perspective in images of said transducer and the horizon is determined of said place by searching for at least two points (Fo, Fi) each corresponding to the crossing of a group of lines comprising at least two, and preferably at least three, lines carried by edges of orientations which are substantially similar but not equal and determined in the images, the edges of a group having values of angle ⁇ of orientation of the edge included in a range of close non-equal values and having variations ⁇ of angle of orientation substantially zero corresponding to edges substantially straight / straight, the horizon being a straight line passing through said at least two points,
  • said two groups are selected so that the orientations edges of the first group are substantially different from the orientations of the edges of the second group and, preferably, the orientations of the two groups are substantially perpendicular to each other, so that the two points are substantially distant from each other,
  • an orthonormal reference frame u, v of the first axis carried by the horizon and of the second axis perpendicular to the first and passing through the optical center of the image is determined and, from the image considered in said orthonormal reference frame u, v and obtained by rotation of the initial image, equations for changing the reference frame are determined making it possible to move from a representation in the reference frame u, v to a horizontal reference frame corresponding to a top view of the place and vice versa,
  • the reference point of origin is preferably the central point of the image in the matrix, and during subsequent iterative passages in the first phase, the reference point of origin is the optical center calculated in the second phase just preceding, and during the pre 1st passage in the second phase, the initial preset value of the position of the current optical center is preferably the central point of the image in the matrix, and during subsequent iterative passages in the second phase, the initial preset
  • the geometric optical barrel or barrel of image distortion is corrected in a third correction phase by displacement of each of the pixels P in polar reference according to the corresponding value ⁇ on an axis passing through said pixel and the optical center ( x 0 , yo).
  • being calculated with the value E of the distortion coefficient obtained in the first phase and the optical center (xo, yo) obtained in the second phase,
  • a - in the first phase or the phase of calculating the distortion coefficient the following steps are carried out: a) an initial value Ei is assigned to the distortion coefficient, b) an edge of the object is determined on the image, said edge being chosen from the edges of the longest objects and those furthest from the point of origin of reference according to a projective distance, c) determining at least three points P1 (x ⁇ , yi), P2 (x 2 , y 2 ), P3 (X 3 , y 3 ) ... distinct and distributed on said edge, d) we calculate in polar coordinates, relative to the reference point of origin for each point P1 (x ⁇ , yi), P2 (x 2 , y 2 )
  • displaced points being P1 (x' ⁇ , y't), P2 (x ' 2 , y' 2 ), P3 (x ' 3 , y's) -, g) a linearity test is carried out between the displaced points P1 (x' ⁇ , y'i), P2 (x' 2 , y'2), P3 (x ' 3> y '3) -.
  • an alignment index la indicating the deviation of said displaced points from an alignment on a fictitious common straight line, - in the case where the alignment index la is less than a threshold ⁇ of linearity, keep as the distortion coefficient E the last value Ej and we leave the calculation phase of the distortion coefficient, - otherwise, we modify the value of Ej in such a way that by going back to step e) , the alignment index ends up decreasing,
  • the predefined initial value O (x, y) is assigned to the current optical center, the predefined initial value 0 (x, y) preferably corresponding to the central point of the image in the matrix, i) a first object edge is determined on the image, said first edge being chosen from the edges of objects which are longest and furthest from the optical center current along a projective distance, j) at least three points P 1 (x ⁇ , yi), P2 (x 2 , y 2 ), P3 (X 3 , y 3 ) ...
  • a second object edge is determined on the image, said second edge being chosen from the edges of image objects which are the longest and furthest from the current optical center according to a projective distance, said first and second edges further having intersecting directions, the directions preferably being substantially perpendicular to each other, the orientations of the edges being assimilated to the directions,
  • step Ti an additional step Ti) between steps i) and j) consisting of an edge determination success test, the method stopping at said step Ti) if it is impossible to determine edge in step i) ,
  • step Tk) between steps k) and I) consisting of an edge determination success test, the method stopping at said step Tk) if it is impossible to determine edge in step k) ,
  • steps c) and d) consisting of a success test for determining at least three points on the edge, with, if it is impossible to determine at least three points, return to the 'step b),
  • steps j) and k) consisting of a success test for determining at least three points on the edge, with, if it is impossible to determine at least three points, return to the 'step i),
  • steps I) and m) consisting of a success test for determining at least three points on the edge, with, if it is impossible to determine at least three points, return to the 'step k),
  • step Te ' between steps c) and d), preferably between steps Te) and d), consisting of a linearity test between the three points P1 (x ⁇ , yi), P2 (x 2 , y 2 ), P3 (x 3 , y3) --- by calculating an alignment index indicating the deviation of said points from an alignment on a fictitious common line, and, in case the linearity index is below a threshold, return to step b) for determining on the image of a new line of an object of the scene, said new line not having yet been the subject of steps, - an additional step Tj ') between steps j) and k), preferably between steps Tj) and k), consisting of a linearity test between the three points P1 (x ⁇ , yi), P2 (x 2 , y 2 ), P3 (X 3 , y 3 ) ...
  • step i) for determining on the image of a new line of an object of the scene, said new line having not yet been the subject of steps, - a additional step TI ') between steps I) and m), preferably between steps TI) and m), consisting of a linearity test between the three points Pa (x a , y a ), Pb (Xb, yb) , Pc (x c , y c ) --- by calculating an alignment index indicating the deviation of said points from an alignment on a fictitious common line, and, in case the linearity index is lower at a threshold, back in step k) for determining on the image of a new line of an object of the scene, said new line having not yet been the subject of steps,
  • the first phase is dynamically executed continuously for each image, known as the distortion coefficient E calculation phase
  • the second phase known as the optical center calculation phase (x 0 , yo) on the image
  • the objective has at least one state (in particular focal if it is variable and / or aperture of the diaphragm if it is variable) and that at least one calibration by acquisition is carried out through the objective in at least one state of '' at least one image of a scene comprising objects delimited by horizontal and vertical straight lines (in particular a test pattern), determination and storage of the values of the coefficient of distortion E and of position of the optical center O (x 0 , y 0 ) for at least said one state of the objective and, for the subsequent images of scenes, the memorized values corresponding to the current state of the objective are directly used for position correction of the points of the images according to the third phase of correction without again determining said values on the subsequent images,
  • At least three STN modules are used, each having a parameter input (s), a retro-annotation input and a classification output, a first STN module receiving a spatial signal as a parameter input X, Y coordinates of pixels, a second STN module receiving as a parameter input an edge orientation time signal ⁇ , a third STN module receiving as a parameter input edge variation time signal ⁇ , the first receiving the output in its retro-annotation input classification of the second, the classification output of the first being sent as a retro-annotation input of the second and as a retro-annotation input of the third, the second also receiving as a retro-annotation input the classification output of the third in order to being able to determine an object edge included in a zone Z 0 ⁇ i, j) of the image given by the classification output of the first STN module, said edge having at least an orientation ⁇ and a curvature ⁇ determined,
  • the classification output signal of the first STN module of the three STN modules is used, having already determined an area (Z 0 ) of the edge, retro-annotation input of a spatial STN module of a new space-time pair of STN modules, and in the new space-time couple of STN modules, the point corresponds to a barycenter of a portion of the edge already determined and whose orientations are in a part of the range of orientation values of said already determined edge, the range of orientation values of said already determined edge being divided into as many independent parts as there are edge points to be determined,
  • FIGS 16, 46 and 47 PROCESS / APPLICATION TO IMAGE STABILIZATION - application to the determination of a rotation between two representations of a space-time space represented by a set of data associated with pixels or points evolving in the time and represented at a succession of moments T, said data being in the form of a digital signal composed of a series of binary numbers associated with synchronization signals making it possible to define the moment T of the space and the position in this space with which the data received at a given instant are associated, the digital signal comprising periodic sequences organized in successive sequences of data, in which at least one STN module is used, at least the / one of the STN modules receiving at the parameter input a time signal characterizing an edge ⁇ orientation and at the retro-annotation input at least two time signal classification signals, the first for selecting the corresponding edge ⁇ orientation at edges with little or no curvature, i.e.
  • the translation on all the axes of the reference frame is determined in parallel, as many STN modules receiving as a parameter input a spatial projection signal characterizing a projection on the particular reference axis and at the input of retro-annotation at least two signals time signal classification, the first for selection of ⁇ edge orientations corresponding to edges with strong curvature, that is to say corners, the second for selection of module p of edge points corresponding to points having values of modulus among the highest, that is to say of strong contrast, being implemented as of axes and as much comparison of histogram being made as of axes,
  • the pixels or points of the representation of space can be put in the form of a digital image matrix with two dimensions of referential axes X and Y, and that in addition, one selects only oriented edges included in a determined area of the image both for determining the rotation and the translation, at least one spatial classification signal being sent as retro-annotation input of the corresponding STN module producing the histograms,
  • classification bounds are used which result from a prior determination of the distribution of the modules of point points edges in order to be able to obtain a number of points of selected edges included in a range of determined values, (for the corners, one uses a number of points of corners sufficient so that the determination is significant, that one has, for example, at least 30 corners, but not too many to not take into account corners which are in reality only noise, preferably the terminals are chosen according to the total number of edge points and a distribution of the edges oriented in groups: lines, curves and corners)
  • the offset between histograms is determined by the difference between the POSRAMXt position of the maximum of the histogram of the selected edge orientations of the current representation and the POSRMAXM position of the maximum of the histogram of the edge orientations selected from the previous representation,
  • the difference between histograms is determined by calculating a curve of correlation between the two histograms of the selected edge orientations, the rotation value being given either by the position of the maximum of the correlation curve, or by the position of the median of the correlation curve, - for determining the translation, the shift of the histograms along each of the axes is determined by calculating a correlation curve between the two histograms current representation and previous representation, the translation values being given either by the position of the maximum of the corresponding correlation curve, or by the position of the median of the corresponding correlation curve,
  • the correction of the shake is carried out while also taking into account the rotation and translation values of images prior to the previous image, said values making it possible to calculate a damping factor, the rotation and translation values for the correction of the shake of the current image being the rotation and translation values determined between the previous image and the current image modified by the damping factor,
  • the transducer includes a memory with a number M of shooting pixels greater than the number of pixels of the useful image produced and the correction consists in moving a useful image window in the shooting memory according to the determined rotation and translation values, APPLICATION TO THE CHARACTERIZATION OF THE MOVEMENT OF AN OBJECT IN RELATION TO A TRANSDUCER (DISTANCE MEASUREMENT, TRANSLATION, ROTATION)
  • the digital signal identified obj comes from a LABEL memory obtained by perception
  • the perception of the object results either from a direct perception, either from a previous and memorized perception, or from a perception created by calculation ,
  • a temporal signal is produced in the perception space which is a signal of edge orientation variation from the signal (, LD) and zones and barycentres in the perception space are determined as a function of the variation of edge orientation.
  • the invention also relates to an automated device for perceiving an object which comprises means allowing at least the execution of the preceding methods and / or previous applications according to one or more of their declensions possibly combined according to all the technically possible possibilities.
  • FIG. 1 shows, in general, a device according to the invention for determining and locating, in a scene, an oriented edge forming part of a desired border, as well as possibly the curvature of this edge , in order to identify and delimit this border, with the use of a camcorder, as an image converter, to observe the scene and convert it into a succession of video-type frames, this device comprising a time processing unit and at at least one spatial frame processing unit, as well as at least one pair of looped STN modules which cooperate with the processing units,
  • FIG. 2 illustrates a variant of a portion of FIG. 1, comprising an MOS imager substituted for the camcorder thereof,
  • FIGS. 4 and 5 show the successive phases of the treatment, respectively for the orientation and for the curvature of an edge, in the device of FIG. 1, possibly modified according to FIG. 2,
  • FIG. 6 and 7 show the flowchart illustrating the steps of the treatment method according to the invention, respectively for the orientation and for the curvature of an edge, with implementation of the device of Figure 1 (possibly modified according Figure 2),
  • FIG. 8 represents the visualization of the discrete angular value of the tangent at a point with an oriented edge and its immediate vicinity, for each of the validated pixels,
  • FIG. 9 illustrates the calculation of the angular variation of a border, by implementing a square matrix of 3 ⁇ 3 pixels, from the results obtained in FIG. 8,
  • - Figure 10 shows the visualization of the variation of the angular value, therefore the curvature, of an oriented edge, for each of the validated pixels, with its legend in Figure 10a
  • - Figure 1 1 shows the relationship between the processing in continuous flow of the pixels in the time processing unit of FIG. 1 (possibly modified according to FIG. 2) and its displayed spatial representation
  • FIG. 12 illustrates a preferred embodiment of the time processing unit of the device according to FIG. 1,
  • FIG. 13 shows a preferred embodiment of the two units in Figure 12 calculating the scalar product of the pixel value and the derivation function, for a given spatial resolution
  • - Figures 14 and 15 represent the values of parameters for the derivation functions, respectively along the x-axis and along the y-axis, implemented to determine, for the aforementioned spatial resolution, said scalar product, in the embodiment of FIG. 13,
  • FIG. 16 illustrates the multiplication of the single angular spatial processing unit and of the pair 1 1A.1 1 B of STN modules of FIG.
  • FIG. 18 illustrates an extension of a device according to the invention and using a triplet of STN modules to perform the coupling, for a pixel position, of the orientation and the curvature of the treated edge, with the curvature as a criterion classification, in order to choose between rectilinear, curved or cuneiform borders,
  • FIG. 19 represents an extension of the device according to the invention with the aim of combining analysis and synthesis
  • FIGS. 20 and 21 represent the contour obtained by implementing a cubic curve, respectively Hermitian and of Béziers, with the device of FIG. 19,
  • FIGS. 22 and 23 illustrate the summary result of the analytical calculations of a contour, respectively not closed and closed, constituted by a series of oriented edges, from the values perceived previously, by implementation of the device according to FIG. 19,
  • - Figures 24 to 35 illustrate the application of the invention to driving assistance provided to the driver of a vehicle on a road and, in particular: - Figure 24 shows the display of the parameters obtained by determining and the location of a straight portion of taxiway (or road) limits by implementing a device according to all of FIGS. 1 (possibly modified according to FIG. 2), 16 and 19, as well as possibly 18 ,
  • FIGS. 25 and 26 illustrate the mathematical definition of the parameters of the right portion of taxiway (or road) limits according to FIG. 24, as viewed respectively by the image converter and vertically from the vehicle,
  • - Figure 27 shows the flowchart describing the operations performed on the two triplets of input data from the device used in Figure 24 to obtain the views of Figures 25 and 26 in order to analyze and synthesize of a road
  • - Figure 28 illustrates an application of the invention to the perception of a curved portion of a traffic lane (or road) limit by implementing the provisions according to Figures 24 to 27
  • - Figure 29 shows schematically the curved portion of FIG. 28 seen from above,
  • FIG. 30 illustrates the flow diagram making it possible to determine, for said curved portion of the lane (or road) limit, the transition from the representation according to FIG. 28 to that according to FIG. 29,
  • FIG. 31 shows a visualization of the two limits of the traffic lane of a curved portion of road, as obtained by implementing the arrangements according to Figures 24 to 30, - Figure 32 illustrates the calculated representation of the road curve portion of Figure 31 seen from above,
  • FIG. 33 is a representation of the label or label of this curved portion of the route in FIGS. 31 and 32,
  • FIG. 34 and 35 illustrate the application of the invention to present to the driver of a motor vehicle, a panoramic view of the overall environment of the vehicle, Figure 34 schematically showing the means used and Figure 35 this view itself,
  • FIGS. 36 to 39 illustrate the application of the invention to the detection of the tendency to fall asleep of a driver of a vehicle traveling on a road and, in particular:
  • FIG. 36 which schematically represents the means used for this detection, comprising at least one image converter in a device according to Figure 1 (possibly modified according to Figure 2), optionally further comprising one or more of the above modifications ,
  • FIG. 37 which illustrates what the image converter used in the assembly of FIG. 36 sees
  • FIGS. 38 and 39 which represent two possible embodiments of the assembly of FIG. 36, respectively with a single converter and an optical reflecting reflection element for the face of the driver and with two image converters,
  • FIGS. 43a and 43b which represents the implementation of STN modules for determination of an area comprising a edge having desired properties as well as histograms, FIGS. 43a and 43b, calculated by these STN modules,
  • FIG. 44 which represents the implementation of STN modules with progressive recruitment for determining more and more precise zones comprising oriented edges having sought-after properties as well as histograms calculated by these STN modules
  • FIG. 45 which represents a method for determining an alignment index for three points
  • - Figure 46 which represents a first version of the device for determining and correcting optical distortion with an automated perception system for determining and characterizing oriented edges of objects
  • - Figure 47 which represents a second version of the device for determining and correction of optical distortion with an automated perception system for the determination and characterization of oriented edges of objects
  • - Figures 48 to 51 illustrate an application to the analysis of a scene in the form of images of a geographic location with:
  • FIG. 48 which represents the determination on an image of a horizon line of the place
  • FIG. 49 which represents the image of FIG. 48 after rotation for horizontal adjustment of the horizon line, as well as the reference frame u, v linked to said horizon line,
  • FIG. 50 which represents, after a change of reference frame, in a horizontal plan reference frame from above, the construction or synthesis of the scene from the oriented edges of objects in the area
  • FIG. 51 which still represents, in a horizontal plane reference system in top view, the use of the synthesis of the place for coherent perception of moving objects
  • FIGS. 52 to 61 illustrate an application for stabilizing images having a shake with:
  • FIG. 52 which represents a method of implementing STN module (s) for determining the rotation component of the shake
  • FIGS. 53 and 54 which represent two histograms for the distribution of the edge orientations between two successive images
  • FIG. 55 which represents a method of implementing STN modules to determine the translation component of the shake
  • FIG. 58 which represents a material core for calculating points of a correlation curve between two histograms
  • FIG. 61 which represents the sequence of images of FIG. 60 but with a frame of reference based on the origin of the last image
  • FIG. 62 which represents the perception on a scene image of a zone Z 0 of image comprising sub-zones
  • - Figure 63 which represents the hierarchy of perception with a part of the perception graph constituted by the links between barycentres of zones
  • - Figure 64 which represents in the spatial reference frame p LD a series of perceptions carried out on images of the scene taken at different distances and showing an invariance allowing in particular during a subsequent perception to determine the distance at which the image was taken or, again, to facilitate the recognition of a subsequent perception in relation to a set of previous perceptions (for example face recognition or classification / affiliation of objects with respect to others previously known)
  • - Figures 65 and 66 which represent the analogy between the use of the temporal parameter of luminance (Lum or L) associated with a spatial reference x, y and a parameter Obj corresponding to the perception of FIG.
  • the invention applies, in general, to the processing of a stream of digital signals output by an appropriate source (in particular transducer or results of a processing system similar to that described here) observing the evolution, in a space-time space, of a given phenomenon (in particular visual, sound, odorous or other) represented by at least one representative parameter, and translating this phenomenon into a digital electrical signal structured in successive periodic time sequences, which each represent the phenomenon during a short given period of time, themselves divided into successive spatial sub-sequences, the temporal sequences being processed in a temporal processing unit and the spatial sub-sequences being processed in at least one angular spatial processing unit in order to determine and characterize an oriented edge which corresponds to a spatial location where occurs t an abrupt variation in the value of said parameter.
  • an appropriate source in particular transducer or results of a processing system similar to that described here
  • observing the evolution, in a space-time space, of a given phenomenon in particular visual, sound, odorous or other
  • a given phenomenon in
  • one of the aims of the invention in the case of a visual type phenomenon, is to characterize edges of objects by their orientation and variation of orientation, in particular to detect, during an analysis activity, in a scene, a succession of oriented edges or chain of oriented edges (or border), determined by the variation of the brightness (possibly coloring) at these edges and place, still during the analysis, end to end the edges successively detected in order to deduce by reconstruction, during a synthesis activity, a contour.
  • edges which follow one another continuously (uninterrupted) to form a border does not pose any difficulty because we pass directly from one edge to the next. However, the edges may not follow each other continuously.
  • a particularly effective method is based on the search for specific criteria (orientations, relative arrangement of barycenters ...) concerning a border having been previously analyzed and which are memorized by the system or pre-configured in the application.
  • These criteria are preferably presented in the form of LABELS.
  • FIG. 1 a preferred embodiment of a device according to the invention has been illustrated for determining and locating an edge oriented C.
  • This device essentially comprises: - a signal generator 1, constituted by : a camcorder 2 providing a conventional digital video signal S (PI) t, a function of time t, which comprises a succession of frames constituting a succession of time sequences, which each represent the scene observed during the duration of a frame, each consisting by a succession of lines constituting a succession of spatial sub-sequences, each consisting of a succession of image points or pixels PI, and an electronic control unit 3, which separates, from this video signal S (PI) t, on the one hand, the image signals DATA ( i, j, t), functions of time t and of pixel positions i and j, respectively of row and column, and, on the other hand, the conventional signals of frame synchronization ST and line synchronization SL, and which comprises a clock 4 delivering, at regular intervals, equal to the time interval between two successive pixels, clock signals CL for the synchronization of the successive pixels P (i, j);
  • a sequencer 5 which receives the signals ST, SL and CL from the signal generator 1 and deduces therefrom three signals for sequencing the processing, namely the signals INIT for starting or initializing the processing, CALCULATION of processing proper (after INIT ) for a predetermined number of P (i, j) of the sequence and finally RESULTS for recording the results of the treatment carried out during the CALCULATION phase;
  • a time processing unit 6 comprising at least two subunits 6A and 6B, namely: a subunit 6A which, on the basis of the signal DATA (i, j, t) received from unit 3, determines, for each pixel P (i, j) and at time t, at least one signal corresponding to a parameter of the DATA signal (i, j, t), or in the present case of a visual phenomenon, at least the signal L ( i, j, t) of luminance, as well as possibly the MVT (ij) signals of movement (or displacement) and / or of direction of movement and / or, in the case of a color video signal, T (i , j) of hue and S (i, j) of saturation (or another pair of signals allowing, with the signal L (i, j, t), to reconstruct the color), these signals also being a function of time t (not shown in brackets), and - a sub-unit 6B for angular determination and characterization which, from the
  • this last angle ⁇ 1, ⁇ 2 ... being defined by the value of ⁇ resulting from the result of the processing of the previous sequence in the subunit 6B and the units STN 1 1A and 1 1 B discussed below (for example ⁇ 1 resulting from the processing of the first frame, ⁇ 2 resulting from the processing of the second frame, etc.), and which determines, from the pixel positions i and j received from unit 7, the pixel X and Y coordinates after a rotation of this angle, namely by example X ⁇ 1 (i, j) and Y ⁇ 1 (i, j), for ⁇ 1; in case unit 6 comprises a sub-unit 6C, which determines ⁇ and its validation flag Val- ⁇ (i, j), unit 8 comprises, in addition to the rotation module 9 which performs angle rotations ⁇ , a similar module 10 which performs a rotation calculation of angle ⁇ on the Cartesian coordinates x and y of position i and j of pixel, this angle being equal to zero during the initial
  • a pair of STN units with registers (of the types specified below), namely a two-unit unit 1 1A, with double data input e2, and a single-line unit 1 1 B, with single data input e1, connected in a loop, the classification data output s of each being connected to a retro-annotation input r of the other, the unit STN 1 1A receiving, on its double data input e2, the successive outputs of the rotation module 9, such as the pair X ⁇ 1 (i, j) -Y ⁇ 1 (i, j) for ⁇ 1, and debiting, on its data output s, the portion Z ⁇ 1 (i, j) of edge zone oriented C (which, in FIG.
  • the device according to Figure 1 comprises, in addition to the pair of STN units 11A and 1 1 B, a similar pair of looped STN units 12A and 12B, which receive respectively, on their inputs e2 and e1, signals of type X ⁇ and Y ⁇ of the modular O and ⁇ of the subunit 6C; and
  • microcontroller or microprocessor 13 which controls the entire system including the sub-unit 6B, with an application program (API), by performing, for this purpose, the reading (arrow F1) of the data recorded in the registers Reg of units STN 1 1A and 1 1 B, namely the position of the maximum POSRMAX line or, better, the position of the median POSMED, of the histogram of the corresponding data calculated during the validation of the signal CALCUL and corresponding respectively to the value of the barycenter BarZ ⁇ l of the zone Z ⁇ 1 (unit 1 1 A) and at the value ⁇ 1, ⁇ 2 ...
  • API application program
  • the present invention gives the possibility of using at the input of STN modules the new time parameters which are the on-board module p, l orientation ⁇ of edge, the variation of orientation ⁇ of board, their corresponding validation signals Val- ⁇ and Val- ⁇ . It is thus possible to make applications implementing all or part of these time parameters.
  • the use of the signals produced by the sub-units 6B and 6C in particular in associations of couples of two STN modules / units (or spatiotemporal neurons, these terms being equivalent), a first dealing with temporal data (in particular the orientation angle ⁇ or the angle variation ⁇ ), and a second dealing with spatial data (in particular the position X, Y of the pixels), can be done in an isolated manner, that is to say in an application in which one uses only the orientations of the edges or in an application in which one implements only the variations of orientations of the edges or it can be done in an application in which one implements the orientations of the edges and their variations.
  • the input signals of the system 520 are sent, on the one hand, to a time processing unit 50 and, on the other hand , in a sequencing unit 90.
  • the time processing unit 50 are generated signals representative of parameters of the input signal such as brightness, hue, saturation and movement (speed and direction).
  • the sequencer unit 90 allows the generation of signals making it possible to ensure the system operating steps (initialization, calculations, results) such as INIT (initialization), "WRITE" (equivalent of CALCULATION for this request) and "END” (equivalent of RESULT for this request).
  • a spatial processing unit 96 makes it possible to generate signals according to a particular reference frame PO to P15.
  • the signals of the units 50 and 96 are sent on a data bus 510 which is related to a matrix organization of STN modules 1 a00 to 1 a33 which produce retro-annotation signals on a bus 1 1 1.
  • the functional configuration of the STN modules (choice of input parameters, retro-annotation, calculation methods, results, etc.) is dependent on a 513 control unit with an embedded application program and an interface for application program (API).
  • Other functional elements are present (which can be used in the present application) such as a display control block 365, a screen 80, a cursor block 366, a semi-graphic memory 367.
  • the angular spatial processing unit 8 uses angle values ⁇ which result from calculations of couples of STN modules.
  • These modules 9 and 10 of the unit 8 (as well as of the unit 7) of FIG. 1 ultimately correspond to spatial processing units.
  • FIG. 2 illustrates a variant 1a of the signal generator 1 of FIG. 1; the signal generator 1a in FIG. 2 comprises, on the one hand, a CMOS or CCD imager, referenced 2a, or a "webcam” of another type, whose output signal DATA (i, j, t) , which reproduces the succession of observed scenes, does not, unlike the output signal S (PI) t of the camcorder 2 of FIG.
  • FIGS. 1 and 2 are the same DATA signals (i, j, t) intended for the time processing unit 6, and ST, SL and CL, intended for the unit 7 of positional spatial processing, which are debited by the two signal generators 1 and 1 a.
  • FIG. 1 of the international patent application publication number WO-01/63557 (A2) and to the description of this figure.
  • the signal generator 1 of FIG. 1 The signal generator 1 of FIG.
  • a camcorder 1 of any type or more generally a transducer translating successive views of a scene into a succession of representative digital electrical signals; more particularly, in the preferred embodiments envisaged below, these signals consist of conventional digital video signals, in black and white or in color, comprising: on the one hand, image image signals DATA (i, j , t) formed by a succession of frames (in the case of interlaced frames two by two, hereinafter “successive frames" the successive frames of the same nature, that is to say one frame out of two) which each represent a view of a scene at an “instant” (duration of a frame, generally 1/25, 1/50, 1/30 or 1/60 of a second) given and are themselves constituted by a succession of lines which each comprise a succession of image points or pixels P (i, j) (arranged in a rectangular matrix and each represented by a location of row i and column j), and on the other hand, conventional frame synchronization signals ST (at the start of each frame) and line
  • the electrical control unit 3 separates the image signals DATA (i, j, t), on the one hand, and the synchronization signals ST and SL, on the other hand, by successively carrying out the following operations as in a conventional separator of the type of that of a television receiver: a) separation, by limitation of amplitude (“amplitude clipping”), of the image information DATA (i) and all the synchronization information ST and SL; b) separation of the frame synchronization information ST, on the one hand, and the line synchronization information SL, on the other hand; and c) elimination by amplitude limitation, in each of these synchronization signals ST and SL, of the noise signals of greater amplitude than these synchronization signals.
  • amplitude clipping amplitude clipping
  • the subunit 6A of unit 6 determines at least the luminance L (x, y, t) of the video signal DATA (i, j, t) (x and y being the Cartesian coordinates which correspond to the pixel positions i and j and t the time coordinate), while the subunit 6B, determines, from successive values of this luminance L (x, y, t), frame by frame, the values successive of the angle ⁇ (i, j), that is to say the angle of the tangent of a possible oriented edge with the axis Ox, using the variation of luminance on either side of this edge (in particular edge of a dark object on a lighter background or conversely edge of a light object on a darker background), the signal ⁇ (i, j) being accompanied by its validation flag Val- ⁇ (ij) when the difference in luminance on either side of the edge exceeds a determined threshold value (but which can be adjusted to the nature of the scene observed).
  • the edge corresponds to an area of significant variation of the luminance parameter L (x, y, t) of the video signal.
  • the invention can also be implemented by considering another parameter or another combination of parameters.
  • an edge can be defined as for example a zone of significant speed variation with MVT (movement) in place of L (luminance), of color jump with T (hue) in place of L, of temperature in the case of a transducer producing a video type signal from which a temperature parameter can be extracted, etc.
  • MVT moving
  • T color jump
  • T temperature in the case of a transducer producing a video type signal from which a temperature parameter can be extracted, etc.
  • an edge can be defined from a combination of parameters such as, for example, a significant variation in brightness AND a change in color.
  • an edge corresponds to an area where a significant variation of the brightness occurs
  • an edge is therefore defined by a characteristic and detectable variation of at least one parameter of the transducer signal.
  • the positional spatial processing unit 7 deduces, from the synchronization signals ST and SL and from the clock signal CL (coming, all three, from the signal generator 1 ), the subsequences i, j identifying the positions of pixel following the Cartesian coordinates x and y of the pixel matrix of a frame.
  • the angular spatial processing rotation module 9 performs an angle rotation ⁇ on the input Cartesian coordinates (in x and in y) representing the pixel positions i and j to obtain the output coordinates X and Y after such rotation, by subjecting the pair of input coordinates to the symbolic operation X r (iJ) cos ⁇ sin ⁇ (U) -sin ⁇ cos ⁇ x J
  • the angle ⁇ a successively, during the sequences, the values 0, ⁇ 1, ⁇ 2 ... (these latter angular values being determined, from the pair of blocks STN 1 1 A and 1 1 B by the microprocessor 13, as explained).
  • the angular spatial processing module 10 (when it exists) performs a rotation of angle ⁇ in the same way as the rotation module 9 using the symbolic formula above in which however the angle ⁇ is replaced by the angle ⁇ .
  • Modules, such as 9 and 10, for angular spatial processing operating on the Cartesian coordinates are well known and implemented, for example, under the name of "space transform", in the published international patent applications WO01 / 63557 in relation to FIGS. 26 and 27 (unit 60) and the corresponding description and in WO98 / 05002 in relation to FIG. 12 and the corresponding description.
  • pairs of looped STN units such as 1 1 A- 1 1 B and 12A-12B
  • they are described in the international patent application publication number WO02 / 69265 with reference to FIG. 7 thereof (see also the description in relation to Figure 41 of the present application) and in the French patent application FR02 / 10066, with reference to Figures 41 (for the pair looped) and 20 and 23a-23b (for uni-linear and bi-linear units respectively).
  • each STN unit has a single input e1 or a double input e2 (bilinear STN module) of data, for the parameters to be processed, an output s of classification, a feedback input r (connected to output s of the other STN unit of the pair in the case of a looped pair of STN units), a group of registers Reg in which the results of the characteristic values sought are written from the histogram of the input data , a processing function f 0 g, in particular for the register, and an API with command and control program which determines, among other things, the function f 0 g.
  • e1 or a double input e2 Bilinear STN module
  • this edge B is delimited by the zone Z ⁇ l, of barycenter BarZ ⁇ l and comprised between the two BorneA and the two BorneB, along the axes OX ⁇ 1 and OY ⁇ 1, deduced from the axes Ox, Oy by the rotation of angle ⁇ 1, and at time t-DT, namely during the previous frame, DT designating the duration of a frame.
  • the second pair (if any) of STN units 12A- 12B it allows, when it reveals a strong curvature, corresponding to a very high ⁇ , for example for ⁇ 2 resulting from the processing of the second frame, to a value ⁇ 2 (i, j) very high, to determine a zone Z ⁇ 2 of strong curvature of the border C between four terminals (not illustrated), analogous to the two Terminals A (BorneA) and the two Terminals B (BorneB), in X and in Y , of the zone framing the edge B, the barycenter BarZ ⁇ l of this zone making it possible to locate a corner K (or wedge-shaped edge) of the border C and therefore at least one reference point well located in the scene observed.
  • ⁇ (i, j) corresponds to the difference between ⁇ (i + k, j +
  • a high difference indicates a significant angle variation for a border, which corresponds to a corner, a zero difference indicates an absence of angle variation and therefore a border which is on a straight line, between these difference values, we obtain an indication of a more or less pronounced curvature for the border.
  • Figure 4 is an extension of Figure 3 illustrating the implementation of the device of Figure 1 (possibly modified according to Figure 2) to locate a geometric figure in the shape of a semicircle, taken by way of example, in a scene observed.
  • FIG. 4 which concerns the angle ⁇ and its validation flag Val- ⁇ , we have represented: - along four successive horizontal bands, from top to bottom, the initial time sequence, denoted I, and the three following time sequences, denoted respectively II, I II and IV, (these four sequences being constituted by four successive frames of video signal of the same nature, in the particular case envisaged), and - along two vertical bands, from left to right, the CALCULATION phase and the RESULTS phase of the same sequence, this second vertical band being subdivided into two columns, one representing the results obtained by the bi-li ⁇ éaire unit STN 1 1 1A and the other the results obtained by the uni-linear unit SNT2 1 1 B.
  • the first horizontal strip which represents the initial sequence I, from the start, illustrates, in its first vertical strip, the frame general rectangular (the semi-circular figure to be determined has not yet been identified), and, in its second vertical strip, the classifiers of the units STN1 1 1A and STN2 1 1 B completely open (by making a "full screen” representation ”)
  • the first unit for the Cartesian coordinates X and Y , being open from 0 to I and from 0 to J as terminals in x, on the one hand, and terminals in y, on the other hand, as illustrated (I and J representing the number of pixels respectively by line and by column in a frame), while the second unit, for the angle of rotation ⁇ , is open from 0 to 180 ° as terminals in ⁇ .
  • the fourth sequence is, in general followed by one or more additional sequences taking place in a similar manner, but not shown in FIG. 4. While in FIG. 4, the determination of the angle of rotation ⁇ intended for the module has been explained. of rotation 9 as an angle ⁇ , FIG.
  • the first horizontal band which represents the sequence I, after starting, illustrates, in its first vertical band, the general rectangular frame (the semi-circular figure to be determined has not yet been identified) and, in its second band vertical, the classifiers of the units STN 1 12A and STN2 12B completely open for all the possible values of the parameters (respectively the Cartesian coordinates and the variation ⁇ of the angle ⁇ of orientation) in order to be able to perceive the totality of the information
  • the first unit for the Cartesian coordinates X and Y, being open from 0 to I and from 0 to J as BorneA and BorneB in X, on the one hand, and in Y, on the other hand, as illustrated (I and J representing the number of pixels respectively per line and per column in a frame), while the second unit, for the variation ⁇ of the angle ⁇ of orientation, is open from 0 to 180 ° as that BorneA and BorneB in ⁇ .
  • this histogram comprises three peaks denoted E, F, G from left to right from the abscissa 0; the peak E, in the immediate vicinity of this abscissa, represents a variation ⁇ 1 of zero angle (apart from the measurement fluctuations), that is to say a portion of rectilinear border, namely that denoted E 'in the column CALCULATION of this second horizontal strip; the peak F represents a variation ⁇ 1 of constant angle (aux measurement fluctuations) and relatively small, that is to say a curved border portion, here circular, namely that noted F 'in the column CALCULATION of this second horizontal strip; and finally the peak G represents a variation ⁇ 1 of strong angle, namely that of the two corners G 'and G "in the column CALCULATION of the said band.
  • the peak E we then consider a portion of rectilinear border
  • a peak of type F corresponding to a variation of average angle
  • circular portions or more generally curved
  • the angle variation ⁇ can be used to perform filtering (selection) for edge processing as will be explained later in relation to the Figure 18.
  • the third horizontal band which represents the third sequence II I, illustrates, in its first vertical band, a tighter framing of the semi-circular border by the four BorneA and BorneB in X and in Y and illustrates, in its RESULTS column , - on the one hand, in the first column relating to the unit STN1 12A, the very narrow frame of BarZ2, barycenter of the chosen peak G and for the corner G1 on the left, this barycenter having been determined during the sequence previous II, and - on the other hand, in the second column relating to the unit STN2 12B, the histogram determined by this unit for this corner G1, narrower than the histogram of the peak G (for the two corners G 'and G ") determined by said unit during the previous sequence II, the histogram relating to the corner G 'making it possible to define a new value of variation ⁇ of angle, namely ⁇ 2, and a new barycenter BarZ2, which will be used in the subsequent sequence IV.
  • the fourth horizontal band which represents this fourth sequence IV, is analogous to the previous sequence III, however using BarZ2 and ⁇ 2 and determining ⁇ 3 and BarZ3.
  • the fourth sequence is, in general, followed by one or more additional sequences taking place in an analogous manner, but not shown in FIG. 5, making it possible to obtain an increasingly precise and possibly evolving definition of the corner G ′ chosen.
  • We will proceed in an analogous manner p or follow the corner G "or if we choose to focus on peak E or peak F of the second horizontal band, second column relating to STN2, rather than on peak G '.
  • FIG. 1 possibly modified according to FIG. 2
  • FIG. 6 For the orientation angle ⁇ , is illustrated by the flow diagram of FIG. 6 and, on the other hand, in relation to FIGS. 3 and 5, for the angle variation ⁇ , is illustrated by the flow diagram of FIG. 7.
  • FIGS. 6 and 7 On the flow diagrams of FIGS. 6 and 7, the calculations and operations of which are included in this description by reference, there are the references of the schematic blocks 6B, 6C, 9, 10, 11A, 1 1 B, 12A, 12B and 13 and the arrows F1 and F2 in FIG. 1.
  • FIG. 6 the three treatments T1, T2 and T3 are shown, cooperating simultaneously, which make it possible to extract and to position successive oriented edges defining a desired border.
  • the first processing T1 operates two orthogonal filterings so as to convert each pixel into a vector of Z-axis with multiple variables.
  • the second T2 processing relates to the spatial monitoring of the T1 processing, with a plane orientation conforming to the orientation of the edge.
  • the third processing T3 is of the spatio-temporal type and consists of a cooperative grouping to detect perceptually homogeneous areas of the image using the pair of units STN1 11A and STN2 1 1 B. Block 21 in FIG.
  • FIG. 6 illustrates an initial image IM (t) at time t comprising a matrix of IJ pixels having abscissas i varying from 0 to 1-1 along a horizontal axis Ox and ordinates varying from 0 to J-1 along a vertical axis Oy.
  • Each pixel P (i, j) at time t is defined by a light intensity L (i, j, t) specific to the image.
  • the initial image IM (t) according to the parameter (s) considered and in this example with L (x, y, t), is processed with a reduced spatial resolution of dimension W defined by a square pattern sxs, whose side s is equal to (2W + 1) u and is centered on a current pixel P (i, j), formula in which u is here the module of the unit vector separating two consecutive pixels and W a positive integer determining the spatial resolution.
  • the invention associates two functions depending on a two-dimensional Gauss function such that: in which x and y are the coordinates in a coordinate system centered on the current pixel P (i, j) in the pattern [(iW, j-
  • a validity test of the module is made by unit 24 which validates (sets to 1 ) a flag (flag) Val- ⁇ if this module is greater than a single S1 and sets the flag to 0 otherwise.
  • the second processing T2, carried out in the rotation module 9, consists in performing a plane rotation by a change of coordinates, the new coordinates X (i, j, ⁇ ), Y (ij ⁇ ) being determined from the old coordinates i , j and the angle ⁇ using the rotation matrix:
  • the angle of rotation ⁇ is used for the convergence of computation.
  • the third treatment T3 uses the two units STN 11A and 1 1 B looped one on the other, successively for the three phases INIT, CALCULATION and RESULTS: - in the INIT phase, the INIT signal commands, for each STN unit, the zeroing of the histogram calculation memory; - in the CALCULATION phase, for each of the pixels, take place in two stages: a) the calculation of the validation of the classifier of each STN unit and b) the updating of the histogram in each of the STN units 1 1 A , STN 1 1 B according to the validation of the classification of the other STN unit; and - in the RESULTS phase, the validity of the processing is first verified during the sequence, by determining whether the number of elements in the histogram is greater
  • the pixel-to-pixel extraction of the value of the slope of the oriented edge allows the calculation of local variation ⁇ of this slope value, corresponding to the result ⁇ , by using the flowchart in Figure 7.
  • the data processing diagram according to this flowchart in Figure 7 for the determination of ⁇ (angle variation) of the angle ⁇ is analogous to that implemented in the flowchart of FIG. 6 for the determination of the angle ⁇ itself, except the processing T1 and the use of the registers to obtain the results, namely the ⁇ .
  • the processing T1 of FIG. 7 takes up the results of the processing T1 of FIG.
  • FIG. 8 to 10 represent the display of the values of the angle of orientation ⁇ and the angle variation ⁇ for the neighboring pixels of a semicircular border portion according to FIGS. 4 and 5, by implementing the method according to the flowcharts of FIGS. 6 and 7, as well as the 3 ⁇ 3 matrix pixels illustrating the main axes of orientation offset by 45 °. More specifically, in FIG. 8, the values, in abscissa between 10 and 17 and ordinate between 20 and 30, have been indicated, the values, in degrees, of the angle ⁇ (calculated by the subunit 6B of FIG.
  • this angle is small (of the order of 20), relatively constant and oriented substantially at 0 ° (horizontal arrow pointing to the right) for the pixels neighboring a portion rectilinear border, that it increases suddenly for the pixels in the region of the corner G 'of the border, the angles exceeding 90 ° (vertical arrows, then directed towards the left) and that finally it keeps relatively high values for the pixels surrounding the curvilinear border portion.
  • the relationship between the “exact” value of the angle indicated in FIG. 8 and the orientation of the arrow for each pixel will be explained with reference to FIG.
  • the interval containing the value of the angle ⁇ is used for the calculation of ⁇ using the pixels adjacent to the tangent for which Val- ⁇ has a non-zero value.
  • the value of ⁇ calculated at the position P (i, j) corresponds to the difference in absolute value of the angles of these adjacent pixels.
  • FIG. 10 is a representation, for the pixels lying between the same coordinates as those of FIG. 8, of the values of ⁇ , the grayed-out pixels (for which Val- ⁇ is different from zero) more or less dark illustrating the ranges of values of ⁇ according to the legend of figure 10a.
  • Figure 1 1 shows an electronic embodiment of the calculations performed in a unit 6 comprising a sub-unit 6C of calculation ⁇ and its validation flag using a flow processing mode of digital data sequence with sub-sequences, as before, each sequence corresponding to a scrolling of I columns and J lines consecutively, which requires delays of rows and columns in order to have, for each elementary cycle separating two successive pixels (determined by the pixel clock CL) all the data necessary for the calculation of the transfer function performed by the unit 6, namely IxJ elementary cycles of clocks CL per image frame IM (t), that is to say of sequence, present.
  • FIG. 11 illustrates the unit 6 divided into its sub-units 6A, 6B, and 6C, delivering at outputs ⁇ T (i, j), MVT (ij), ⁇ (i, j), Val- ⁇ (ij), ⁇ (i, j), Val- ⁇ (ij), from the input data L, while the right part of this same figure represents the visualization of the scanned IM (t) image by this input stream L and moving by one pixel, per clock cycle CL, from the position P (0,0) in line, starting again from column 0, line by line, until the position P (I-1, J-1) which corresponds to the end of IxJ elementary cycles; the position P (i) corresponds, to a pixel already completely processed in the unit 6 and from the input data L, therefore with a delay of 8 lines and 9 columns.
  • the subunit 6A has been described in the PCT application publication number WO-98/05002 has a unit referenced 57 in FIG. 11, delivering two signals CO and DP, CO corresponding to a temporal variation, therefore here at ⁇ T , and DP signaling a characteristic overshoot of a detection sensitivity threshold, therefore here at VAL (not represented in FIG. 11), and a unit referenced 58 in FIG. 11, which, from twice eight lines delay R "1 of the signal ⁇ T, analyzes a spatial matrix of 17x17 pixels, (17 being equal to 2x8 + 1) and delivers a signal of direction and possible intensity of movement per pixel, the latter being called here MVT (ij) at the center of the matrix Ma.
  • the delay between the data DATA and the outputs ⁇ T (i, j) and MVT (i) is therefore 8 rows and 9 columns, DATA being therefore equal to DATA (i -9, j-
  • sub-units 6B and 6C are done with respect to the final position of the results in P (i, j), being synchronous with the results of sub-unit 6A, which requires line delay units R and C of column, the numerical index assigned to each of the units indicating the duration of the corresponding delay in number of rows and / or columns respectively. Therefore, to facilitate understanding, we will carry out the description below in reverse, starting with the last processing, namely the calculation of ⁇ (i, j) and Val- ⁇ (i, j). This treatment is performed on a 3x3 matrix, called
  • the valid value in P (i, j) is delayed by one line and two columns with respect to the entry Val- ⁇ , ⁇ .
  • the Val- ⁇ and ⁇ values are obtained from the values of u and v calculated by the units 22a and 22b, by making a calculation in polar coordinates during a clock cycle; the delay between the input data u and v and the result Val- ⁇ and ⁇ is one column, which corresponds to the CyC1 cycle.
  • the values u and v, at the center of the matrix Mb in the CyC1 cycle, are obtained from a scalar product between the data of the input stream L and a square pattern of size 2W + 1 requiring a delay of 2W rows and 2W + 1 columns to obtain the first result of the (2W + 1) 2 data corresponding to the spatial position (W + 1, W) for a start of the sequence at the spatial position 0.0 .
  • W 3
  • it takes a scrolling of 2W lines, then a scrolling of 2W + 1 columns or (6I + 7) pixels to have the first result of the calculation in position i, j (4, 3), corresponding to the input data for cycle number 6I + 7.
  • the matrix Mb represents the position of the elements calculated in the image IM (t).
  • the result u and v in the CyC1 cycle is that for the instantaneous position of the input data L in the CyB cycle. There is therefore a delay of 3 lines and four columns between the entry and the result.
  • This processing adds (41 + 3) cycles to the (1 + 3) previous cycles.
  • the longest treatment requires (51 + 6) cycles to validate the first result; then, at each clock cycle, a new result is produced, except during the first W line start cycles.
  • the DATA input data is the same for subunits 6A and 6B by delaying this data by the difference between CyA and CyB cycles, i.e.
  • P (i, j) is compensated by a harmonization of the synchronization signals i and j in the unit 7, by introducing a delay equal to the calculation time, that is to say in the present case, (91 + 8) pixel clock cycles.
  • Figure 12 illustrates in detail the calculations included in subunits 6B and 6C of unit 6 presented in the previous figure.
  • a digital signal L (x, y, t) originating from a data flow DATA sequence pixel to pixel by a clock CL, delayed by four lines and by two columns is introduced into the subunit 6B at L0 and is delayed of the duration R of a line, ie I columns, at the passage of each of the delay units 25.
  • the input signal in FIG. 12 corresponds to the current instant, the calculated position P (i, j) being delayed by four lines and by seven columns, it is therefore mentioned as L (i + 7, j + 4, t).
  • the value chosen for W determines the number of delay units required, which is equal to 2W.
  • W we have chosen W equal to three, hence the six line delay units 25 shown in FIG. 12, and therefore the 2W + 1 input signals, called L0 to L6 (the first not delayed, the second delayed by R, the third by 2R, and so on), applied to unit 27.
  • the signal L4 is constituted by L (i + 7, j, t).
  • a column delay unit 26 imposes a delay of seven columns on the signal L4 which becomes, at the output of this delay unit, L (i, j) function of t, (this is the output L (i, j) of the subunit 6A of FIG. 1).
  • the units 22a and 22b perform orthogonal filtering, for the functions above and for a given spatial resolution W, by performing a scalar product, which represents an average weighted by the light intensities in the configuration of parameter values of the spatial resolution according to FIGS.
  • Unit 6C calculates the spatial variation of the signal ⁇ around the position P (i, j) at the center of a 3x3 matrix and therefore the signal Val- ⁇ , ⁇ is cascaded into two line delay units R in order to generate three input signals called L0 to L2, applied to the subunit 6C which has, for each of these inputs, two registers with shift columns in cascade, the nine values of ⁇ then used for the calculation of ⁇ .
  • the calculation being made at position P (i, j) and the result Val- ⁇ (i), ⁇ (i, j) is directly exploitable.
  • FIG. 13 represents the set of calculation elements necessary for the dot product between a square pattern of size 2W + 1 and the associated data originating from the input data stream.
  • calculation elements are organized according to a square matrix of the same size, with a first accumulation of the scalar product per line in parallel, and, a global accumulation, by the summers 48 of all the preceding primary accumulations, at the following clock cycle.
  • the basic element e ( at , b) generally consists of three inputs, two calculation functions, and two storage registers imposing a delay of one clock cycle for the next element. An exception is made for each end of line: the first element does not yet have a line cumulation element, and the last element does not need to delay the input data flow.
  • This basic element ⁇ (a,) therefore consists of: - a digital input corresponding to L (b) delayed by (a) columns and stored in a delay register 44 one column for the next column element.
  • Z "1 corresponds to a delay of one column.
  • a digital input corresponding to the value G (a, b) selected in the matrix 2W + 1 of the dot product (the scanning of the matrix is from -W to + W).
  • a first pair of STNs recovers the most represented orientation ⁇ 50
  • the control unit 13 then recruits another pair of STNs with inhibition of the zone Z50 previously found, and initializes the process described in FIG. 3, a second zone Z30 is then found and the control unit 13 repeats the process with recruitment of a new couple STN which makes it possible to find a third zone Z10, the recruitment stops when the number of points of oriented edges becomes less than a threshold S1.
  • the angular spatial processing unit 8 of FIG. 1 therefore comprises, in addition, in this extension, at least three modules 8a, 8b, 8c of angular spatial processing which perform calculations of angle rotation on the rectangular Cartesian coordinates x and y of position i and j of pixel.
  • the angle corresponding to each of the rotation calculations is represented by a value ⁇ 50, ⁇ 30, ⁇ 10, entered in the corresponding module.
  • ⁇ 50, ⁇ 30, ⁇ 10 entered in the corresponding module.
  • These values are provided by the functional combination of the 6B angular determination and characterization subunit of FIG. 1 with the STN couples recruited in order to produce, during successive cycles, the edge angle values ⁇ 50, ⁇ 30 and ⁇ 10 as well as the zones and the corresponding barycenters.
  • FIG. 16 there is shown on the right-hand side of FIG. 16 a vertical line symbolizing a digital data bus making it possible to recover the results of calculations of the registers of the STN modules.
  • Figure 17 shows the result of the previous processing.
  • Each Zi zone is labeled by its orientation ai and its center BarZi with coordinates Xzi and Yzi in the oriented coordinate system ai.
  • FIG. 18 shows another extension of the invention which can be applied to the device of FIG. 1 or of FIG. 16 for example and which makes it possible to perform border filtering (selection) having one or more specific curvatures: straight / straight and / or curved and / or wedge. It consists in taking into account the curvature of the edge (variations of the orientation ⁇ ) to perform the extractions of border areas.
  • the angle variation ⁇ is analyzed in an STN 17 module and compared with at least one threshold value to produce a signal which makes it possible to validate or not the STN module 16 of the couple of STN 15 and 16 which corresponds to Figure 1 to the couple STN 1 1A, 1 1 B and in Figure 16 to the couple STN 15, 16 (or 25, 26, or 35, 36 depending on whether or not we want to take into account the curvature of the edge for the corresponding area).
  • the histogram for analyzing angle variations can present three main peaks and classes corresponding to rectilinear / straight edges, curves or corners. To select more particularly one of the three types of edges, for example the corners, it may be advantageous to use thresholds of values of ⁇ resulting from a calculation and a test rather than one or absolute values.
  • FIG. 19 corresponds to an extension of the invention which has hitherto been seen essentially in its analysis part, with the introduction of a summary part.
  • the block 100 of FIG. 19 corresponds to an extension of the invention which has hitherto been seen essentially in its analysis part, with the introduction of a summary part.
  • a unit 200 recovers the various objects perceived from the scene coming from the analysis block 100, in the form of a series of data packets, each of the objects being at least defined by an orientation and associated with a barycenter BarZ ⁇ i of coordinates Xzi and Yzi. In a variant, the length of the zone Z ⁇ i is also associated with the preceding data in the data packets.
  • a specific treatment is carried out making it possible to reconstitute (synthesize) shapes related to the objects perceived and this result is transmitted to the outside for later use.
  • the LABEL can be generated by perception of objects in a system with STN modules as we will see in relation to Figures 65 and 66, they can also be generated by calculation according to LABEL generation rules in relation to what can produce an STN module system. Note that it is possible, in particular when one wishes to memorize labels, to carry out several analyzes of a scene and to average the results obtained in order to improve precision. The averaging of the analysis results can also be carried out systematically or only in certain applications such as for example those where the transducer, in particular a camera, can vibrate or move unintentionally. It can also be noted in FIG.
  • Figures 20 and 21 show the elements useful for image synthesis.
  • Figure 20 is shown a single cubic curve Q Hermitian allowing to join P1 and P4 which are two control points with R1 and R4 for derivatives at the control points.
  • FIG. 1 is shown a single cubic curve Q Hermitian allowing to join P1 and P4 which are two control points with R1 and R4 for derivatives at the control points.
  • control points correspond to the barycenters and the derivatives are obtained from the angle values ⁇ resulting from the analysis, Izi and Jzi represent a point of controls P ⁇ , and tan ( ⁇ i) the associated derivative R ⁇ .
  • a first calculation ensures a plane rotation from -ai in order to have all the control points in the same basic frame of reference l, J and to make it possible to pass a portion of curve as defined above between the checkpoints.
  • FIG. 22 is an example of the result of such a processing which made it possible to synthesize a Cbe-1 curve passing through three barycenters of three zones.
  • the first environmental analysis application considers a transducer moving in an environment and, by way of example, an implementation will be described concerning automobile traffic and more particularly the recognition and characterization of traffic lanes and the positioning vehicles in relation to and between traffic lanes.
  • Objects that are perceived in the environment have certain relationships with each other and with the horizon known a priori (shape of the road in particular). From the perception which makes it possible to acquire knowledge of the environment of a vehicle it is possible to act on the vehicle or on the driver, even on the environment.
  • a vehicle is equipped with a video camera which produces images which are sent in a system with spatio-temporal characterization of the image data and to STN modules receiving such characterization data.
  • an application can be implemented on any type of mobile object moving in an environment such as for example a ship or a mobile robot and that the images, if they generally come from shooting devices, can correspond in certain applications to other types of data such as radar, sonar data or data from any device making it possible to obtain a representation of the environment by a set of data associated with pixels or points and in the form of signals with sequences and subsequences.
  • the notion of mobility of the transducer is relative because if the application is especially useful for analysis of an environment in which the transducer moves, nothing prevents the implementation of the application while the transducer is fixed.
  • the second application concerning scene analysis is similar to the first in that it is also intended to apprehend an environment but, this time, the transducer is fixed unlike the previous application where, in general, it moves in the environment.
  • the horizon is not known a priori nor the shape of the objects seen in perspective.
  • the environment is therefore limited to a place with fixed shooting giving images of objects with perspective (non-vertical camera).
  • the application consists of a perspective analysis of the objects of the place.
  • fixed transducer is relative in the sense that it can possibly move (for example in rotation) or modify its focal length (mechanically or electronically, for example with a digital zoom) but, in this case, this results in a number limited types of shooting which can each be treated as if the transducer were fixed at said location.
  • focal length variation it will be possible to place our in a data representation repository for the analysis which ensures an invariance despite the focal length modification by recalculating the intrinsic parameters ⁇ u and ⁇ v of the transducer.
  • This type of application is particularly intended for the surveillance of geographic location such as: store, parking, crossroads, port, airport ...
  • the transducer can be a camera, a radar , a sonar or any device making it possible to obtain a representation of the environment by a set of data associated with pixels or points and in the form of signals with sequences and sub-sequences.
  • the third application concerns the determination of a distortion coefficient and an optical center then the correction of the geometric optical distortion in barrel or in a barrel on digital images obtained with a transducer comprising a lens with an optical center.
  • the fourth application concerns the determination of a rotation and a translation between successive images and the stabilization of images by readjustment in order to remove the involuntary shake (tremor, instabilities ...) during video shooting and in particular in portable cameras such as cameras, digital cameras, camcorders or the like which may be subject to untimely movement.
  • the fifth application relates to the characterization of the movement of an object with respect to a transducer with in particular the calculation of distance, detection of translation and rotation and provides an improvement to a method presented in patent application FR-2,843,471 which relates perception by defocusing.
  • Figures 24, 25 and 26 describe the geometric relationship between the road and its image, as well as the explicit and implicit representation of the curves formed by the track edges and their image.
  • the camera is modeled by a simple central projection on the plane of the matrix of points of the image of the camera and the system uses in this example four two-dimensional Cartesian landmarks (or frames of reference (planes): - Landmark of the camera image point matrix (l, J Figure 24 or 25 for example), - Landmark of the camera focal length (u, v Figure 24 or 25 for example) - Vehicle marker, - Road marker seen from above centered on vehicle V (x v , there v Figure 26 for example), Figure 24 is a representation of the image perceived by the device of Figure 1 and its extensions.
  • the data produced by the analysis made it possible to determine two Z zones at and Z b matched closest to the vehicle carrying the camera as well as their barycenters and their on-board orientations. These two zones materialize the edges of the traffic lane (for example the white lateral lines, continuous or not). Each zone is associated with a triplet of values ⁇ at X 2a Y Z a ⁇ for Z at and ⁇ b, X Z b, Yzb ⁇ for Z. From these triplets of values it is possible to calculate the equation of the lines d at and D b and the coordinates I H .JH of their crossing point which we noted H (vanishing point) in Figure 24. These two lines d at and D b form a triangle with vertex H upwards.
  • FIG. 25 represents the mathematical model corresponding to the previous view in FIG.
  • Each zone Za and Zb is perceived by a pair k of modules STN and the results of the pairs, the triplets ( ⁇ k, Xzk, Yzk) (1.1) which are in a particular orientation frame (the coordinates i, j having been passed through a rotation module 9 (of angle ⁇ ) of the unit 8 of angular spatial processing) are returned to a frame i, j by the inverse rotation function (1 .2) (of angle - ⁇ ) to give the triplets ( ⁇ k, izk, jzk) (1 .3).
  • Figure 31 (matrix reference), meanwhile, has two lateral limits.
  • the perceived areas of traffic lane limit (s), determined by the analysis system, have different orientations and their barycentres m, n, o (or m at ,not at o at and mb, n, ⁇ b if we consider the two lateral limits) are connected in the figures by a synthesized curve.
  • the first barycenter zone m (or m at , nr) b) with the line dm carried by said zone (or the lines) defines a vanishing point in V h , U 0 .
  • the second zone of barycenter n (or n at , nb) with the line dn (or the lines dn at dn b ) defines a vanishing point V h , a ⁇ ⁇ u -
  • the third barycenter zone o (or o at o b ) with the line do (or the lines do at ,do b ) defines a vanishing point V h ,at 2 ⁇ u-
  • the deviations a ⁇ u. and a 2 ⁇ u on the horizontal correspond to a rotation as described above.
  • equations of lines are calculated from triplets of results related to each perceived traffic lane limit area determined by image analysis.
  • the two-by-two crossing points of the lines no longer arrive at the same location (the previous point H) for the lines carried by the perceived zones of lane limit in the curvature region of the road but are distributed along the horizontal V h .
  • the number of lines can also vary in depending on the number of lanes for the same traffic direction.
  • the device will therefore be required on the one hand to determine the limits of the lane on which the vehicle is traveling, the closest lateral edges, also, as the case may be, the limits (possibly common on one side) of the other lanes from more distant edges (on a horizontal).
  • the road is flat and that the vanishing points H are found approximately on a horizontal (axis u in this case).
  • Figure 33 gives a symbolic representation, in the form of an image corresponding to a LABEL or label, of a lane object (Label_Route) in the case of a road with a bend.
  • the LABEL can be obtained by synthesis by applying curves as defined above in relation to FIGS. 20 to 23 on the data provided by the device of the invention during the analysis of the scene.
  • a simpler way to define such a LABEL is to consider the different rectangles defined by the lines passing through the different zones perceived in the bend (as we proposed for the straight road by considering a rectangle). In this case we will only consider portions of rectangles which are laterally bounded by an area (it is then preferable to calculate the length of the area during the analysis and to transmit this data with the angle and position of the barycenter) , these different portions of rectangles being associated with each other (OR). For example, using Figure 31, the rectangle portion defined by the barycenter zones m at and M b stops upwards appreciably along a line passing over the upper ends of the barycenter zones m at and M b .
  • the portion of rectangle defined by the zones of barycenter n at and N b begins downward substantially along a line passing through the lower ends of said barycenter zones n at and N b and stops upward substantially along a line passing over the upper ends of said n center-of-center zones at and N b .
  • the labels correspond to symbolic representations of objects or parts of objects in space, either in the form of raw data sets resulting from analysis, in particular positions of barycentres, angles, etc., either in the form of more advanced representations, in particular resulting from synthesis like the parameters of the curves obtained or, in the limit, in the form of image.
  • labels which are stored allow the identification of objects or parts of objects as they are perceived by the device by detection in the perception of a correspondence between the perception data and the stored label data. It is understood that it is preferable that the labels be represented in the form of raw data in order to facilitate the detection of a correspondence and to avoid an additional step which may consist of a synthesis from the data perceived to seek the correspondence with a resulting stored label. also of a synthesis.
  • a camera has been considered which is located on the vehicle, for example in the interior mirror, and oriented towards the front.
  • FIG. 34 gives an example of implementation of the invention in a driver's road vehicle 500.
  • a front camera towards the front of the vehicle is used, or even, in addition, a or two lateral in the mirrors (possibly also making it possible to complete the lane departure function mainly obtained with the front camera).
  • FIG. 34 three cameras are shown: a front towards the front (field of vision 501) and two lateral towards the rear and the corresponding side (field of vision 503 for one), with their respective fields of vision which include broken lines lateral to the vehicle and delimiting the lane traffic.
  • the data streams produced by these cameras are sent to the device of the invention shown diagrammatically inside the vehicle in the form of two functional blocks, the first 100 for analysis, the second, 505 for synthesis, visualization and / or actuation of 'effectors (braking, steering ).
  • the device of the invention after analysis and synthesis can present to the driver the environment of the vehicle in the form of an image representing the vehicle 500 on the road, seen from above, as in FIG. 35. In this FIG.
  • the vehicle of the conductor 500 is symbolized by a gray block and the various traffic lanes by treads delimited by lines, here continuous but which may be discontinuous depending on the type of separation lines (continuous or not) of the space and which have been synthesized on the image presented.
  • the other vehicles 502 and 504 perceived in space are synthesized in the form of blocks distinguished from the driver's vehicle.
  • Lane departure alerts as part of the lane departure function can be generated based on the position of the driver's vehicle in the tread and / or position of the vehicle in relation to the lateral lanes of the taxiway . Apart from the position of the vehicle itself, the trajectory of the vehicle relative to the tread or the delimitation lines can be taken into account for this type of alert.
  • Anti-collision alerts can be generated based on the distance of the vehicles from each other and their respective relative trajectories.
  • the trajectory can be estimated as a function of the general past direction of the vehicle and / or a transducer can be connected to the steering wheel of the driver's vehicle.
  • Applications of the invention are thus possible, such as tracking and anticipating the trajectory of a vehicle in any space (air, sea, land) and in particular road or rail (the structure of the tracks is known a priori) for alerts. anti-collision or monitoring of compliance with signaling.
  • anti-collision alerts are enabled by the detection of other vehicles (or aircraft or ships) according to the trajectory (and possibly speed) of the vehicle (or aircraft or ship) which comprises the invention, or even also in function trajectories of these other vehicles (and possibly their speeds) according to known methods in particular in the surveillance of air or maritime traffic.
  • These other vehicles can be detected forwards but also rearwards in case a side camera (s) are used. It is understood that in the case of air or maritime vehicles the camera can be replaced by a radar as conventionally used in these fields.
  • Figure 48 shows an image of a place (in Figures 48 and 49 the images are stylized to simplify the reproduction of the figures, in reality the images are in grayscale or in color) obtained by a transducer which is a camera.
  • This place is a place in a city that has parking spaces marked by lines on the ground and that is surrounded by buildings. Pedestrians or cars can move in said place.
  • Oriented edges and more particularly two as shown (or more than two) groups of at least two or more (preferably three as shown) are determined on the image (orthonormal reference frame of camera x, y).
  • robustness while limiting calculations) oriented edges with particular characteristics the edges of each group have close orientations and weak or zero edge orientation variations (these are straight or almost straight) and between at least two groups the general orientations are very different, for example substantially perpendicular. Due to the perspective of the objects on the images, the three lines carried by the determined edges of each group intersect at a first point Fo (x0, yO) and a second point F-i (x1, y1). The virtual line passing through the two points Fo and F is considered to be the horizon line of the place.
  • FIG. 49 still represents the same image as that of FIG. 48 but after rotation to bring the horizon line horizontal.
  • a reference frame u, v orthonormed one of whose axes, the axis u in this case, is carried by the horizon line and the other axis, v in this case, passes through the optical center of the image.
  • the origin of the frame of reference u, v is therefore the crossing of the horizon with the line passing through the optical center.
  • FIG. 50 constitutes the reconstruction of the scene using the method described in relation to FIGS. 25 and 26 from results relating to the determined zones containing the edges considered (dimension of zone, orientation, etc.) by perception of the context of the scene. In subsequent stages, searches for objects with particular characteristics (shape, color, movement, etc.) can be carried out and these objects replaced on the horizontal representation of the place.
  • figure 51 shows the path of a moving object within this horizontal representation of the place (movement in a known context).
  • the STN module system according to the implementation methods explained above for the determination of oriented edges having particular characteristics (here the edges useful for determining the points carrying the horizon line: edges of variation in orientation weak or null, of similar orientation for those of a group, of different orientations for different groups) allows a simple and elegant realization.
  • detection and incorporation by object synthesis (or transformation of the reference frame limited to the object on the image) on the horizontal representation is simple since one can perceive objects of particular characteristics as a function of an input parameter of an STN module (speed for detecting a mobile object for example) and combine the parameters (and possibly retro-annotations) to refine the detection.
  • a selection of shape and / or particular size of object for example: a bipedal human is a form higher than broad, a quadruped dog type longer than tall, a vehicle has rounded shapes such as wheels Certainly, in addition to the use of the speed parameter which makes it possible to determine moving objects, one can use a selection of shape and / or particular size of object (for example: a bipedal human is a form higher than broad, a quadruped dog type longer than tall, a vehicle has rounded shapes such as wheels ”) which will be selected by STN modules looking for moving objects having such criteria.
  • optical means such as simple or complex lenses, active (for example with variation of focal length and / or, optionally, of optical diaphragm) or passive (in particular focal length) fixed).
  • optical means which are here called generically “objectives”, have more or less significant defects depending on their quality and causing deformations, here called distortions, of the images acquired with respect to the initial scene.
  • geometric distortion which, according to its meaning, is called barrel or pincushion distortion.
  • This type of distortion is mainly present on the sides of the image and distorts the straight lines of the scenes in curved curves, concave or convex as the case may be, towards the edge of the images.
  • the images thus acquired can be used to perform scene analyzes, to be used for calculations (analysis of the road environment, calculation of agricultural areas for example) and it is then understood that such geometric distortions can lead to errors in the corresponding results. It is therefore useful to be able to correct them.
  • a means of correcting the geometric distortion can allow the use of medium quality lenses in digital cameras and therefore of much lower cost than high quality lenses with very low geometric distortion, the correction then done digitally.
  • the correction to be made to the pixel P (x, y) considered of the image with respect to the optical center is proportional to a coefficient E of distortion and to the cube of the module p defining the position of the pixel P (x , y) with respect to the optical center (x 0 , yo).
  • At least one edge line of an object of the image is determined on an image of a scene comprising at least one object structured visually by edge lines. which one can find at least three points distributed at a distance from each other along said edge line, the line is chosen to be among the longest and the most distant from the optical center (without however passing through the optical center) and , for example, a line close to an edge of the image and oriented generally substantially parallel to said edge of the image, then the value of the coefficient E is firstly calculated by an iterative process of correction of position of the points then secondly the optical center (x 0 , yo) by an iterative process of moving the position of the optical center and correcting the position of said points.
  • the three points of the line correspond to barycenters of sub-zones Zi, Z 2 , Z 3 determined in the Zo zone containing the line.
  • STN modules are implemented in a progressive manner by recruitment from a low resolution making it possible to determine a large zone Zo containing a line of a certain curvature then, then, inside this zone Z 0 smaller areas Z1, Z 2 , Z 3 framing portions of the line and whose barycentres are the points distributed on the line and which are used for calculations.
  • These distributed points corresponding to the barycenters are identified in polar coordinates with respect to an Oxo.yo reference point by their modules pi, p 2 , P 3 .
  • FIG. 45 shows a method for determining an alignment index for three points by comparison (absolute difference) of the slopes P1 and P2 of two lines joining two by two the three displaced points and having the central point in common. , or respectively the two lines (x '1, y'1) - (x'2, y'2) of slope P1 and (x'2, y'2) - (x'3, y'3) of slope P2.
  • the histogram in figure 43a is relatively wide with an oriented edge line whose point orientations are distributed between ⁇ at and ⁇ b, this line corresponds for example to the line determined in the zone Zo (initial image or after already a displacement but insufficient or excessive points).
  • the histogram of the zone containing the line, figure 43b tightened and its maximum amplitude RMAX increased (the number of points NBPTS is appreciably constant from one sequence to another, except when the shot is broken).
  • the three STN modules 15, 16, 17 make it possible to lock a line constituting an oriented edge whose variations in orientation are chosen to be small (preferably not completely zero otherwise the line would already be a straight line) and therefore a line slightly curved. Care will have been taken to select this edge according to the criteria useful for the calculation phase considered (far from the center of the image / close to an edge of the image and of adequate general orientation).
  • This Zo zone containing an oriented edge presenting certain criteria can come from the analysis of the whole image or, more usually, over a part of this image corresponding to an already determined zone (for example a zone of specific color or specific location, especially near an edge of the image).
  • This line is in zone Zo and its general edge orientation ⁇ 0 .
  • the coefficient E which is used to correct the image is modified iteratively from one sequence to the next, as will be seen in FIGS. 46 and 47, in order to obtain an increase in RMAX on the histogram of distribution of the edge orientations. until a threshold is exceeded for RMAX.
  • the software loop was presented for the determination of E. It is however transposable to the determination of the optical center by iteratively modifying, at first, Xo for an edge in a first direction parallel to one of the axes of the reference frame x, y then, in a second step, y 0 for an edge in a second direction parallel to the other axis of the reference frame x, y. Conversely we can start by modifying y 0 .
  • Xo for an edge in a first direction parallel to one of the axes of the reference frame x, y
  • y 0 for an edge in a second direction parallel to the other axis of the reference frame x, y.
  • the area encompassing the line has a width which varies and which is minimal in the case of a correct displacement leading to a straight line and therefore that the shape of the histogram for this area serves as a criterion for determining whether the displacement is correct or not with an end of iteration when the histogram has a particularly narrow and high peak for the angular distribution.
  • a correction means depending on values of E (distortion coefficient) and xo.yo (optical center) is arranged upstream of the STN module system which can therefore receive corrected data or no (depending on the values E and x 0 , Yo).
  • E disortion coefficient
  • xo.yo optical center
  • Figure 44 gives an example of progressive recruitment of STN modules to determine a Z zone 0 first then inside Z 0 , zones Zi, Z 2 , Z 3 as shown in Figure 42.
  • the first step corresponds to the implementation of the three STN modules 15, 16, 17 in the upper and left part of Figure 44.
  • This structure with three STN modules is similar to that which has has been described in relation to Figure 18.
  • this first step is already the result of determinations of areas of larger size (following a perception of more general level), in particular of an area close to a given image edge and / or at a distance from a central reference point (selection of a particular image area to search for lines there).
  • the three STN modules make it possible to determine an area containing an oriented edge whose curvature is not too great (in particular not forming a corner).
  • the first STN module 15 preferably bilinear, receives a complex spatial parameter corresponding to the X, Y coordinates of the pixels of the image and produces a classification signal Z 0 (i) corresponding to the Zo zone.
  • This Zoo.j) classification signal is sent on a first retroannotation input of the second STN module 16 receiving as input an orientation time parameter (angle) ⁇ of the edge points to produce a classification signal ⁇ 0 (i ⁇ j) looping over a retroannotation input of the first STN module 15.
  • the third STN module 17 which is limited to the zone Z 0 by reception as a retroannotation input of the classification signal Zo (i) from the module STN 15 and which receives a time parameter ⁇ of angle angle variation of the edge points, produces a classification signal sent to a second retroannotation input of the second module STN 16.
  • the line found in the zone Zo having a slightly varying curvature, peak H ⁇ 0 is narrow between ⁇ at and ⁇ b .
  • zone Z 0 The line determined in zone Z 0 with the required characteristics (far from the center of the image / close to an edge of the image and adequate general orientation), we can, in a second step, recruit new STN modules in pairs to determine the zones Zi, Z 2 , Z 3 , inside this zone Z 0 , which corresponds to the couples represented on the right part of Figure 44.
  • the orientations of the edge points in Z 0 (already seen in relation to the histogram on the right of the three STN modules 15, 16, 17) that we have divided into three with angles of orientation ⁇ at - ⁇ vs for and ⁇ vs - ⁇ d for Z 2 and ⁇ c t - ⁇ for Z 3 .
  • the top one corresponds to that produced by the STN module 16 of the three STN modules 15, 16, 17 and, following down, the following histogram corresponds to the zone Zi (first pair of modules from from the top), then the next, to the one corresponding to zone Z 2 (second pair of modules from the top) and, finally, the last one at the bottom, to the one corresponding to zone Z 3 (third pair of modules from the top).
  • Each of the pairs of STN modules consists of a first STN module 15, preferably bilinear, which receives a complex spatial parameter corresponding to the coordinates X, Y of the pixels of the image and produces a classification signal Zi (j) Z 2 (i) ... corresponding to zone Z ⁇ Z 2 ...
  • This classification signal is sent to a retroannotation input of the second STN 16 module of the couple receiving as input an orientation time parameter (angle) ⁇ of the edge points to produce a classification signal ⁇ 1 (i ⁇ j) ⁇ 2 (i ⁇ j) ... looping through a first retroannotation input of the first STN 15 module of the couple.
  • the first module STN 15 of the couple receives at the retroannotation input the classification signal Zo (i.j).
  • the position of the barycenters of the Z zones ⁇ to Z3 thus determined is provided by the registers of the first STN modules 15 of the pairs. This information can then be used to calculate the distortion coefficient and then the position of the optical center.
  • STN modules can also be implemented in the manner described in relation to Figures 16 and 17 with progressive exclusion of zones (one or more previous zones inhibiting a search for a next zone ).
  • the pairs of STN modules correspond to a recruitment of a first STN module in the spatial domain with the parameter (X, Y) and of a second in the temporal domain with the orientation parameter.
  • the fact of implementing an STN module receiving spatial data input can allow the effective selection of the edge in certain areas of the image and in particular far from the center / close to an image edge and which is sufficiently extended.
  • the explicit method consists in implementing the following phases and steps:
  • a - in the first phase the following steps are carried out: (initialization) a) an initial value Ej is assigned to the distortion coefficient, (determination of lines and points) b) a line of an object of the scene, said line being chosen from the lines of the longest image objects and the most distant from the reference point of origin according to a projective distance, Tb) an additional step between steps b) and c) consisting of a line determination success test, the method stopping at said step Tb) if it is impossible to determine a line at step b), c) at least three points P1 (x ⁇ , yi), P2 (x 2 , y 2 ), P3 (X3, y 3 ) ... are determined and distributed on said line,
  • Te) an additional step between steps c) and d) consisting of a success test for determining at least three points on the line, with in case of impossibility of determining at least three points, return to step b), Te ') an additional step between steps c) and d) and preferably between steps Te) and d), consisting of a linearity test between the three points P1 (x ⁇ , yO, P2 (x 2 , y 2 ), P3 (x 3 , y 3 ) ...
  • ⁇ pi, ⁇ p 2 , ⁇ p 3 . .. corresponding along an axis passing by the reference point of origin and the corresponding point the displaced points being P ⁇ X'L y'i), P2 (x ' 2> y' 2 ), P3 ( x ' 3) y' 3 ) -, g) a linearity test is carried out between the displaced points P1 (x' ⁇ , y'i), P2 (x ' 2 , y' 2 ), P3 (x ' 3l y ' 3 ) ...
  • step B - in the second phase the following steps are carried out: (initialization) h) the predefined initial value 0 (x, y) is assigned to the current optical center, the predefined initial value 0 (x, y) preferably corresponding to the central point of the image in the matrix, (determination of lines and points) i) a first line of an object of the scene is determined on the image, said first line being chosen from the lines of the most longest and most distant from the current optical center according to a projective distance, Ti) an additional step between steps i) and j) consisting of a line determination success test, the method stopping at said step Ti) in the event impossibility of line determination in step i), j) at least three points P1 (x ⁇ , yi), P2 (x 2 , y 2 ), P3 (x 3 , y3) .
  • Tj an additional step between steps j) and k) consi stant in a success test of determination of at least three points on the line, with in case of impossibility of determination of at least three points, return to step i), Tj ') an additional step between the steps j) and k) and preferably between steps Tj) and k), consisting of a linearity test between the three points P1 (X ⁇ , yO, P2 (x 2 , y 2 ), P3 (x 3 , y 3 ) ...
  • step i) for determination on the image of a new line of an object of the scene, said new line having not yet been the subject of steps, k) a second line of an object of the scene is determined on the image , said second line being chosen from the lines of the longest image objects and the most distant from the current optical center by a projective distance, said first and second lines further having intersecting directions, the directions preferably being substantially perpendicular to each other, preferably the slopes of the lines being assimilated to the directions,
  • Tk an additional step between steps k) and I) consisting of a line determination success test, the method stopping at said step Tk) if it is impossible to determine a line in step k), I) at least three points Pa (x a , y a ), Pb (x b , y b ), Pc (x c , y c ) --- distinct and distributed over said second line, the first line being less inclined as the second line with respect to a first axis, X or Y, than with respect to a second axis, Y or X, of the two referential axes X, Y of the matrix,
  • TI an additional step between steps I) and m) consisting of a success test for determining at least three points on the line, with in case of impossibility of determining at least three points, return to step k), TI ') an additional step between steps I) and m), preferably between steps TI) and m), consisting of a linearity test between the three points Pa (x a , y a ), Pb (x b , y), Pc (x c , y c ) ...
  • step k) for determination on the image of a new line of an object of the scene, said new line having not yet been the subject of steps, * for a first coordinate of the optical center: (iterative calculations) m) we calculate in polar coordinates, relative to the current optical center 0 (x, y), for each point P1 (x ⁇ , yi), P2 (x 2 , y 2 ), P3 (X3, y 3 ) ---, the values of the modules pi, p 2 , P3--.
  • the displaced points being P1 (x' ⁇ , y'i), P2 (x ' 2 , y' 2 ), P3 (x ' 3 , y' 3 ) ..., p) we perform a linearity test between the displaced points P1 (x' ⁇ , y ', P2 (x' 2 , y ' 2 ), P3 (x' 3 , y'3) ... by calculating a first index of lai alignment indicating the deviation of said displaced points from an alignment on a fictitious common straight line,
  • a linearity test is carried out between the displaced points Pa (x ' a , y'a), Pb (x' b , y'b), Pc (x ' c , yO) ---, by calculating a second alignment index la 2 indicating the difference said points displaced with respect to an alignment on a fictitious common straight line,
  • the second coordinate xo or y 0 is kept on the first axis for the current position 0 (x, y), - in the otherwise, we move the current optical center 0 (x, y) parallel to the first axis, X or Y, and we go back to step q) so that iteratively the alignment index 2 ends up decrease, C - in a third phase, called the correction phase, the distortion is corrected by displacement of each of the pixels P (x, y) of the image according to the corresponding value ⁇ on an axis passing through said pixel and the optical center (x 0 , yo), ⁇ being calculated with the value E of the distortion coefficient obtained in the first phase and the optical center (xo, yo) obtained in the second phase.
  • the first phase and / or the second phase can also be executed in a generally iterative manner in order to refine the results: at the end of the second phase we can r move to the first using the determined position of the optical center to recalculate the coefficient of distortion then, possibly, go back to the second phase to refine the position of the optical center and, then, possibly start again.
  • the phases implement iterations and iterates the phases. There will therefore be additional tests intended for such global iterative loopings with, for example, iteration as long as a result (distortion coefficient or position of the optical center) varies significantly from one global iterative cycle to the next.
  • the distortion coefficient is first determined, then the optical center.
  • a reference point is used, in particular when one searches for lines which are among the longest and most distant from such a reference point which is preferably taken central to the image or substantially central. This reference point is preferred central because it is a good initial estimate of the optical center.
  • this reference point can change as a function of the results of the determination of the distortion and of the optical center in the event of iteration for refinement of said determination: at the first pass, the central point of the image is used, then during subsequent passages, the optical center determined just above is used.
  • a reference point central
  • two lines must be considered which are preferably perpendicular (or close to perpendicularity) to one another.
  • the modifications of Ej or of the position of the current optical center are carried out in constant steps at each iteration in order to simplify the process.
  • the step can be adapted to each iteration by an estimated calculation of the step correction to be made.
  • a limit is set on the number of possible returns for each of the steps Tb, Tb ', Ti, Ti', Tk, Tk 'in order to avoid searches that are too long.
  • an application threshold S ⁇ of the correction the correction being carried out in the third phase, known as the correction phase, only for values of ⁇ greater than the application threshold S ⁇ .
  • the direct method which consists in starting from the image with distortion to produce the corrected image can lead to a corrected image having “holes”: pixel areas or missing pixels. It may then be useful to implement interpolation in order to fill these "holes”.
  • a sensor or transducer making it possible to obtain images in the form of signals with sequences and sub-sequences of data (in particular of the video type), - a device for correcting the distortion (performing (a correction proper by moving the points of the image if necessary) as a function of a value E of distortion coefficient and of an optical center position xO, yO,
  • the STN module system dynamically produces the correction parameters by continuous calculation on the images (fixed or mobile) arriving and conveyed by the data signal leaving the correction device.
  • This device is particularly suitable for the implementation of the simplified method of iterative determination of the correction parameters E and xO, yO since it makes it possible to provide a corrected image (more or less according to the E and xo.yo supplied) to the system with STN modules.
  • the correction parameters E and xO, yO are recalculated only when a distortion is determined (in particular by performing a linearity test on image border lines) and, in the absence of distortion, the previously calculated correction parameters are retained. Otherwise, the STN module system receiving a correctly corrected video signal would produce invalid correction parameter values (corresponding to an absence of correction to be performed) which it would return to the correction device which would then output a video signal with distortion, hence instability of the quality of the video signal.
  • the correction parameters E and xO, yO must be recalculated, to do so from the signal coming directly from the sensor or, then, at the output of the correction device but without correction (the correction parameters being such that there is no correction or a specific signal inhibiting the correction), in order to start from the raw sensor signal.
  • the STN module system detects that it is necessary to recalculate new correction parameters, it can first of all force the values of the parameters sent to the correction device to obtain an absence of correction and then calculate the correction parameters from the received uncorrected image.
  • the STN module system can calculate the new correction parameters as a function of the previous ones to obtain an adequate correction (taking into account the current correction of the corrected image received) of the signal. Indeed, in the contrary case, an instability of the correction could occur because the correction parameters would be calculated on a signal already corrected but insufficiently or badly. It is understood that initially, before the correction parameters have been determined, the output signal from the correction device is identical to the output signal from the sensor. It is possible, in a variant, that the correction parameters are calculated only during calibration operations and then stored, in particular on a scene corresponding to a test pattern, and that they are used subsequently by the correction device without dynamic recalculation by the STN module system, parameters for each image when necessary.
  • the objective of the scene acquisition means can be in several states (for example variation of focal length and / or aperture of diaphragm), it is preferable to carry out calibrations for each (or a part) of these states to obtain as many correction parameters as there are states then, for correction, use the memorized parameters corresponding to the current state of the objective. It is only if the variation in geometric distortion is insignificant as a function of the variations in the states of the lens that we can be satisfied with only a value memorized for the coefficient of distortion and the optical center, respectively.
  • Figure 46 represents a device in which the objective presents several states by variation of focal length (command of adjustment of focal length acting on the objective).
  • the correction can be carried out dynamically (whenever necessary) or use memorized correction parameters obtained following a prior calibration of the device. In the latter case, as already explained, it is advantageous to take account of the states of the objective both during calibration and for subsequent corrections.
  • Figure 47 shows a device equivalent to that of Figure 46 but in which the objective is associated with the sensor in a common device.
  • the objective can only be in one state or if it has several states, these are not adjustable and known to the STN module system.
  • the device is, for example a camcorder, which produces a video signal.
  • the apparatus may be a video recorder, DVD player (more generally a player for video data obtained by a means comprising a transducer with objective) having recorded images obtained by a camcorder or the like.
  • APPLICATION TO THE STABILIZATION OF IMAGES The shake on video images which is corrected thanks to the application of the determination and characterization of oriented edges is considered to have a component of rotation and a component of translation from one image to the next. The correction application based on the invention will therefore first determine each of these components.
  • FIG. 52 shows a way to get the rotation component.
  • an STN 124 module receiving at the input of the parameter an edge orientation signal ⁇ , receives at the retroannotation input signals for area classification, edge orientation variation and edge signal module to calculate histograms for the distribution of the edge orientations shown in FIG. 53 for that of a current frame and in FIG. 54 for that of a previous frame.
  • the histograms thus produced relate only to data for which the classification signals sent in retroannotation from the STN module are valid (correspond to an image area, a variation in orientation and a particular module). Due to the rotating component of the shake, the orientation distribution histograms are shifted from one image to another and, in particular, we can take into account the shift of the peak position with maximum amplitude of l histogram (POSRMAX, RMAX) as rotation value Rot.
  • POSRMAX, RMAX maximum amplitude of l histogram
  • the zone classification signals represented as coming from blocks 120 from parameter X and 121 from parameter Y, the edge orientation classification classification signals represented as coming from a block 122 from the parameter ⁇ and the edge signal module classification signals represented as coming from a block 123 from the parameter p can be provided by specific classification units (independent of modules STN) or come from classification outputs of STN modules.
  • the two blocks 100 and 101 providing the spatial zone classification signals from the spatial signals X and Y can be either two monolinear STN modules (one for the parameter X, another for the parameter Y ), or a single bilinear STN module receiving an bilinear signal X, Y as an input parameter.
  • the four classification signals for retro-annotation on the STN 124 module allow the taking into account (the values mentioned are indicative): - an area of the image (spatial parameters X, Y) between pixels 0 and 600 for X and 0 and 480 for Y (blocks 120 and 121), it should be noted that two variables of displacement depla for x and for y (depla x and depla y ) in order to possibly be able to shift the spatial area to be considered (note that we could also have used two variables to define the width of the area along x and according to y in order to make the position and size of the spatial area to be considered completely configurable) - oriented edges whose orientation variation is rather small, between 0 and 50 for ⁇ (block 122) in the case of a value coded over 10 bits, which corresponds to substantially straight lines, (remember that for ⁇ or ⁇ , these values are to be considered only if
  • - oriented edge module of relatively high value between 300 and 1023 for p (block 123), values corresponding to edges of high contrast for coding of data on 10 bits (0 to 1023). It can be seen that it is thus possible to limit the determination of the rotation to a particular area of the image, for example the center of the image or in an area with a high density of oriented edge. In the latter case, the classification taking into account are the result of an analysis of the edge distribution histogram by at least one pair (X, Y, ⁇ ) or a triplet (X, Y, ⁇ , ⁇ ) of STN modules.
  • the other classification taking into account can be the results of analyzes concerning the quantitative distribution of straight, curved edges and corners (in case of small quantity of straight lines or will widen the taking into account towards more curved edges and inversely), and concerning the modulus p of the edges (in the event of small quantity of edges with strong modules one will widen the taking into account towards the weak modules and conversely).
  • the component of rotation has been determined, we will calculate the translation component by focusing this time on the corners (particularly high orientation variations) of the oriented edges. This part is shown in Figure 55 with an arrangement of STN modules and Figure 56 with the corner distribution histograms obtained.
  • Classification signals sent as input for retroannotation of STN modules are implemented as in the determination of the component rotation with spatial area (classification of the spatial signals X, Y), of variation of orientation (classification of the temporal signal ⁇ ) but this time for a range of high values (1/8 to 3/8 of 360 °) corresponding to corners (variation of orientation of edges between 45 ° and 135 °), and of modulus of edges (classification of signal p) in blocks 120, 121, 130, 131.
  • the various methods already presented specific classifiers, STN modules, associations of STN modules, etc.) for obtaining these classification signals can be implemented (however, corners are selected here, so ⁇ high).
  • the lower bound pi of the range of selection of modules p is a variable determined using a module STN 134 as a function of the number of edge points NBPTS in order to consider only edge points having a strong contrast for the parameter used to determine the edges (the brightness in this case).
  • depla x and depla y two displacement variables depla for x and for y (depla x and depla y ) in order to be able to possibly shift the spatial area to be considered.
  • These classification signals making it possible to select a spatial area of corners with high edge modules, are sent as retroannotation input of a first STN 135 module intended for determining the translation along the X axis and at the reverse annotation input of a second STN 137 module intended for determining the translation along the Y axis.
  • the spatial parameters sent as a parameter input for each of the STN 133 and 134 modules undergo a rotation with Rot value determined previously in relation to FIGS. 52 to 54 in rotation blocks 133 and 136.
  • the histograms of spatial distribution of the corners are represented in FIG. 56. It suffices then to compare the corresponding distribution histograms of the previous image and l current image along each axis, ie HX (t-1) with HX (t) and HY (t-1) with HY (t), to know the translation along the corresponding axis. As before, we can take into account the shift of the maximum peak of the histograms (POSRMAX, RMAX). We will now see that it is also possible to calculate a correlation function to determine the offset between the histograms.
  • Figures 57, 58 and 59 represent a method for determining the offset between histograms by correlation for both the rotation component and the translation component.
  • FIG. 58 represents a material kernel 120 for calculating points of a correlation curve between two histograms
  • FIG. 59 represents the integration of the material kernel of FIG. 58 within a correlation unit for calculating a curve of correlation between two histograms as well as two examples of correlation curves.
  • the operating flow diagram of this assembly is given in FIG. 57 (the brackets [] signify an indirect addressing on the flow diagram of FIG. 57).
  • a first addressable memory makes it possible to store the histogram h (t-1) in relation to a previous image and a second addressable memory the histogram h (t) of the current image (histograms either of distribution of the edge orientations, or of distribution of corners along the X axis, or along the Y axis).
  • these memories are specific memories of the hardware kernel or, in a variant which has the disadvantage of being more complex, memories of STN modules which are modified consequently to recover the data of the histogram and to be able to carry out the calculations of the points of the correlation curve.
  • By addressing the memories it is possible to load the data of the histograms by Din and to re-read them by Dout.
  • An addressing means makes it possible to introduce a displacement d between the histogram data which allows scanning in reading with progressive shift between data of the memories.
  • the kernel for calculating points of a correlation curve between two histograms in addition to the histogram data, needs the value d of the offset between memory data, i the counting index for scanning memories, R a signal of reset the accumulator and CK a clock signal.
  • the core 120 of FIG. 58 is integrated into the correlation unit of FIG.
  • FIG. 59 which includes counting systems for the signals d (reset to zero by Init) and i (incremented by Inc d) and a memory for storing the points of the correlation curve.
  • Two examples of calculated correlation curves and as they can be found in the memory of correlation curve points are shown on the right-hand side of FIG. 59 (FIGS. 59a and 59b).
  • the upper curve in FIG. 59a represents an ideal case where the correlation is clear and presents a single marked peak (the successive images were identical apart from the shake) and, in this case, the position of the peak in da gives the offset between the histograms (rotation or translation as appropriate).
  • the maximum can be obtained by analysis in an STN module of the point signal of the correlation curve (POSRMAX, RMAX).
  • the transducer producing the images comprises a shooting memory of size greater than the useful images finally produced: the transducer comprises a number M of shooting pixels (for example 1024 ⁇ 1024) greater than the number of pixels of the useful video image finally sent or recorded (for example 800x600).
  • a stabilization calculation memory which is larger than the size of the useful image (the transducer sending shots in the calculation memory from which we put implement the application).
  • a stabilization modality which consists in moving (taking into account the translation and rotation) a useful image window in the shooting memory of the transducer (or the calculation memory) to produce the useful picture.
  • a stabilization modality is shown in Figures 60 and 61 with, in addition, a depreciation calculation which will now be explained.
  • FIG. 60 represents the result of these rotation and translation operations between an image with the start of the sequence as a frame of reference.
  • FIG. 61 represents the same result but having as reference the last image received and containing a fixed sequence of previous images.
  • the images are stabilized by filtering the translation and rotation components of the memorized sequence, which corresponds to an average position at time t0 comprised in a space of dimension M (shooting memory space transducer or calculation memory).
  • the filtering or damping value is chosen so that the stabilized image (useful image of size less than M) is always in this space M.
  • the space M corresponds to the size of the transducer matrix video, exceeding the mega pixel in general, the size of the useful image being smaller taking into account the maximum admissible bit rate for a real-time video signal.
  • a correction can be applied directly to the digital images in the transducer, the STN module system or in a separate unit located at the output of the transducer or other source of video signals ( in a manner equivalent to the methods presented in Figures 46 and 47).
  • electromechanical means adaptive optics or controlled mobile transducer
  • electromechanical means are controlled to correct the shake optically and no longer purely electronically / digitally as in the previous cases.
  • APPLICATION TO THE CHARACTERIZATION OF THE MOVEMENT OF AN OBJECT IN RELATION TO A TRANSDUCER DISTANCE MEASUREMENT, TRANSLATION, ROTATION
  • speed V MV ⁇ and direction D M v ⁇ of movement it was indicated that it was possible to use parameters of speed V MV ⁇ and of direction D M v ⁇ of movement.
  • the method of calculating these parameters in particular described in WO98 / 05002 means that we actually apprehend that part of the possible relative movements of the objects relative to the transducer.
  • This particular space / frame of reference corresponds to a space / frame of perception which has as its axes the module p, - of the vector uniting two barycenters of areas perceived hierarchically and the logarithm of the distance LDj n between the area of the object (origin of the vector ) and the camera.
  • a perception space (, LD) in addition to the distance measurement, makes it possible to apprehend the relative movement of the object in translation towards or away from the transducer or the rotation of the object on himself. It is possible to analyze the hierarchical perception of the scene in this perception space (?, LD) by applying the present invention to it and by characterizing oriented edges and edge orientation variations.
  • Such an analysis can make it possible to determine the type of movement of an object (translation or rotation) or to calculate the distance of the object relative to the transducer or, again, to facilitate recognition in particular with respect to previous representations in said object. space of perception.
  • the present application processes data in a module perception space / reference frame -distance (p.LD) of axes carrying, for the first, the logarithm LD of the distance from the point of origin of the vector and, for the second, carrying the modulus p of the vectors connecting the barycentres.
  • a first level of perception makes it possible to determine a general zone Zo of barycenter BarZ 0 then a second level of perception, in the zone Zo makes it possible to determine three zones Z 10 , Z 20 , Z 30 of respective barycenters BarZio, Bar Z 20 , BarZ3o-
  • These two levels of perception can for example correspond to a refocusing process as in application FR-2,843,471 or to a more classic hierarchical analysis (progressive recruitment of STN modules: the level having determined Z 0 forcing the following in said area with other selection criteria, for example first color for Zo and other color for the next level).
  • This perception takes place in a Cartesian space X, Y.
  • the hierarchical representation (graph) of perception formed by the modules p1, p2, p3 of the vectors connecting the determined barycenters (here from one level of perception to the next) is given in Figure 63.
  • each sequence or image gives a level of perception tree with several vector modules p, -.
  • the object obj at this moment / level of perception is characterized by three modules p1, p2, ⁇ 3.
  • the coefficient of homothety can also be useful on its own if one knows a priori a real dimension of the object (for example for an object which is a car, one generally knows its real width approximately and starting from a perception from the front of a car we can determine the distance at which it is in relation to the transducer).
  • a perception having resulted in a representation of scene / object in hierarchical form and considered this time in a space / reference frame of perception (p, LD) we apply the process schematized right part of figure 65 and which derives from the application of the flowchart of FIG.
  • FIG. 65 a diagrammatic representation of the application of the flow diagram of FIG. 6 to the signal carrying the luminosity Lum as that seen at the beginning of the description is shown, and elements already described in relationship with FIGS. 1 and 2 and in particular the unit 6B which makes it possible to produce the time signals ⁇ and Val- ⁇ .
  • the perception systems on the left and that on the right in FIG. 65 implement a unit 6B according to the invention. Note in FIG.
  • the object signal comes from a perception of a signal carrying the brightness (or other parameter in variants) and that this perception stored in the form of identified LABEL carrying information of module p, and of distance LDjieris stored in a memory 202a, the writing of which is synchronized on the frames / images (a certain number of processed frames / images are required to obtain sufficiently developed hierarchical links).
  • These LABELs are produced by the microprocessor 13 of the system by calculating the modules p, - and association with the distance values LD in as shown diagrammatically by the arrow F3 for recovering the barycenter values originating from perception.
  • the identified LABEL of objects are stored at the corresponding address p, -, LD (the binary signal Wr allows either writing or reading).
  • the perception system on the left-hand side of FIG. 65 has an entry (not shown) for the distance data (LD in ) which will be associated with the Pi modules.
  • LD in the distance data which will be associated with the Pi modules.
  • a live perception given that the device on the right of FIG.
  • the flowchart 6 adapted to the perception space (, LD) is used every N images and therefore benefits from a time of N times the image duration for its execution.
  • the memory 202a is therefore read at the end of these N images.
  • the re-reading of the memory 202a storing the LABEL produces the object signal obj which is processed according to the invention for determination of oriented edges.
  • the sequencer 203a produces in particular the spatial signals p and LD as the sequencer 3a produces the spatial signals x, y.
  • the hierarchical representation of figure 63 gives three modular points for respectively p1, p2, p3 in an area Z obj and if we start again the hierarchical representation of the same perceived object at different distances from the camera (LD in different), the corresponding modular points will each be aligned respectively on a straight line.
  • the left or right perception system of FIG. 66 implements units 6B and 6C according to the invention to produce in addition signals ⁇ and Val- ⁇ .
  • perception in the Cartesian space (x, y, L) in the system on the left side of FIG. 66 results in LABELs which are stored in a memory 202a from where will be read again a signal obj (perception space) processed in the system of the right part of figure 66.
  • a rotation of the object on itself in the perception space is manifested by a variation in the differential position of the modular points and this is manifested by a widening of the zone Z 0b j (in the reference frame p 'LD' there is a widening of the histogram of the modules and the zone M ob j remains substantially positioned at the same place with respect to the axis LD 'which can be detected by position of the corresponding peak in the histogram) or by a variation in edge orientation marked for one or more of the modular points (variation in pi).
  • the changes in shape of the histograms which are different between the two cases (displacement in translation of approximation / distance or rotation) can be detected specifically and provide information on the type of movement.
  • the invention can be generalized in the sense that the method for determining oriented edges and all the applications which result therefrom can operate on scenes or reconstructed objects, in particular from LABELS which were previously obtained following a scene analysis or other, LABELS being condensed representations of scenes or objects by their distinctive perceptual characteristics.
  • LABELS corresponding to various faces can be defined by relations of perceptual characteristics (arrangements of barycentres, size of zones, colors of zones ...) which can allow a reconstruction of the faces.
  • the reconstruction can be more or less elaborated towards a graphic representation (or other depending on the type of scene: visual, auditory or other types of perceptions) seeking to reproduce the reality of human perception.
  • a graphic representation or other depending on the type of scene: visual, auditory or other types of perceptions

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Closed-Circuit Television Systems (AREA)

Abstract

L'invention concerne un dispositif et un procédé automatisés de perception d'un objet dans un espace spatio-temporel représenté par un signal numérique comportant des séquences périodiques organisées en sous séquences successives de données, dans lequel on caractérise le signal par des signaux temporels et on produit en concordance un signal spatial, on met en œuvre sous contrôle d'un programme applicatif, au moins un couple (11A,11B) (12A,12B) (15,16) (25,26) (35,36) de neurones spatio-temporels. Selon l'invention on détermine et caractérise des bords d'objets avec, d'une part, un signal temporel de bord orienté, valeur d'angle α d'orientation du bord en un point avec un axe de coordonnées, et, d'autre part, une valeur binaire de validation ou non, Val-α associée à α. On peut également caractériser les bords avec un signal de variation d'orientation δα de bords associé à un signal de validation Val-δα correspondant. Des applications à la détection et caractérisation de limites de voie de circulation pour un véhicule et à la sécurité routière, à la surveillance de scène, à la correction de la distorsion optique géométrique, à la stabilisation d'images vidéo avec bougé et à la caractérisation de mouvements, sont également présentées.

Description

Procédé et dispositif automatisé de perception avec détermination et caractérisation de bords et de frontières d'objets d'un espace, construction de contours et applications La présente invention concerne un procédé ainsi qu'un dispositif automatisé de perception pour la détermination et caractérisation de bords et de frontières d'objets d'un espace qui est analysé, l'espace avec ses objets étant matérialisé par des signaux électriques évoluant dans le temps sous forme de séquences organisées en sous séquences de données. L'invention permet également, à des fins de synthèse, la construction de contours à partir des bords déterminés et caractérisés par l'analyse. L'invention peut être mise en œuvre dans diverses applications dont quelques exemples seront donnés avec notamment la détection et caractérisation de limites de voie de circulation pour un véhicule et pour la sécurité routière, la surveillance de scène, la détermination d'un centre optique, d'un coefficient de distorsion et la correction de la distorsion optique géométrique ainsi que la détermination d'une rotation, d'une translation entre deux représentations successives et la stabilisation/recalage d'images vidéo et, enfin, à la caractérisation de mouvement et la mesure de distance. L'invention permet ainsi l'analyse automatisée d'un espace contenant des objets et qui est matérialisé en signaux électriques avec séquences et sous séquences par un transducteur ainsi qu'une synthèse d'objets à partir de résultats de l'analyse. Le transducteur est adapté à l'espace, par exemple pour un espace visuel, le transducteur est une caméra vidéo ou pour un espace sonore, le transducteur est un microphone avec analyseur spectral. L'invention est plus particulièrement adaptée pour être utilisée avec des neurones spatio-temporels, dits unités STN ou encore appelés modules STN qui permettent l'analyse de paramètres d'un signal par calcul d'histogrammes. On connaît déjà des procédés et dispositifs de traitement de flux de données, notamment flux vidéo, permettant, en temps réel, de repérer, localiser et/ou d'extraire de leur contexte des objets ou parties d'objets correspondants à certains critères dans un espace, notamment une image d'une scène. Les critères de sélections peuvent être extrêmement variés, il peut s'agir d'une vitesse, d'une forme, d'une couleur... ou d'une combinaison de ces critères. Dans certains d'entre eux il est proposé l'analyse statistique des critères sélectionnés. Ces dispositifs peuvent être utilisés pour faciliter l'appréhension d'une scène ou d'un phénomène par un observateur ou pour commander un automatisme à partir des informations ainsi extraites. On connaît ainsi par la demande FR01 /02539 publiée sous le numéro FR2.821 .459 (WO02/069265), « un procédé et un dispositif de repérage d'un objet par sa forme, sa dimension et/ou son orientation » et dans lequel des signaux numériques représentant par des paramètres des objets d'un espace sont analysés par un ensemble d'unités ou modules élémentaires de calcul d'histogramme du même type, encore appelées unités/modules STN (neurones spatio-temporels). Ces unités STN sont fonctionnellement interconnectées entre- elles afin de produire des résultats d'analyse des paramètres. Les unités STN traitent chacune des données d'entrée en rapport avec les paramètres par une fonction (f0g) pour produire individuellement, sous la dépendance d'une rétro- annotation, une valeur de sortie S de classification et ces valeurs de sortie, toutes ensembles, forment une rétro- annotation disponible sur un bus. En même temps, chacune de ces unités STN constitue et met à jour un ensemble de registres d'analyse rega fournissant des informations statistiques sur le paramètre correspondant. Le choix du paramètre traité et la rétro-annotation utilisée par chaque module STN , le contenu du registre de sortie d'analyse ainsi que la fonction (f0g) qu'il remplit, sont déterminés par l'intermédiaire d'un logiciel API (Application Program Interface). Parmi les interconnections fonctionnelles des modules STN, des associations de modules STN permettant d'obtenir des résultats pour des combinaisons de paramètres (Figures 2 à 6 de FR2.821.459), et l'association d'un module STN traitant des données temporelles, notamment le mouvement MVT, et d'un module STN traitant des données spatiales, notamment la position X-Y (Figure 7 de FR2.821.459), ont été présentées. Cette association de modules STN avec traitement de paramètres spatiaux X,Y et paramètre temporel MVT est reprise pour information sur la figure 41 de la présente demande. Enfin une association de modules STN dans une application à la reconnaissance de visage (Figure 13 de FR2.821.459) à également été présentée. L'analyse des signaux numériques représentant l'espace et qui est effectuée selon cette même demande est hiérarchique par décomposition progressive des objets de l'espace qui y sont perçus et analysés. On y propose de déterminer d'abord la forme générale d'un objet en mouvement par rapport à un fond relativement stable, puis rechercher à l'intérieur de cette forme générale des éléments caractéristiques par leur teinte, leur couleur, leur position relative... Une telle approche permet l'élaboration rapide d'applications multiples mettant en jeu le repérage d'un objet. Ces applications peuvent être développées, soit à partir d'une formalisation antérieure ayant dégagé les caractéristiques significatives de l'objet et qui sont donc recherchées dans l'espace, soit, grâce à une fonction d'apprentissage par l'examen de l'espace dans lequel un objet est présent, le dispositif extrayant des paramètres caractéristiques de l'objet. Toujours dans cette demande FR2.821.459, la structure et le fonctionnement détaillé d'un module STN (ou unité STN , ces termes étant équivalents) ont été expliqués, notamment en relation avec les Figures 1 , 3, 4 de l'annexe et selon plusieurs modalités dont l'auto-adaptation, l'anticipation et l'apprentissage. De même on y a expliqué la réalisation d'un dispositif associant plusieurs modules STN en relation matricielle avec la Figure 32 de l'annexe où une unité de traitement temporel 5 produit des données en relation avec les paramètres suivis et caractérisant les données représentant l'espace analysé, notamment des signaux L (lumière), T (teinte), S (saturation), VMvτ (vitesse du mouvement), D VT (direction du mouvement) associés chacun à chaque pixel de l'espace de manière synchrone et où une unité de traitement spatial 6 permet d'effectuer des changement d'axe prédéfinis pour des données spatiales x,y. Il y est en effet indiqué que la position d'un pixel dans l'espace est représentée par rapport à un système d'axes. Selon la forme, l'orientation, ... des objets dans la scène, certains systèmes d'axes fournissent de meilleurs résultats que les autres et il est donc proposé de choisir des axes permettant d'obtenir des histogrammes optimisés, c'est-à-dire présentant un maximum particulièrement marqué. C'est le rôle de l'unité « Space transform » qui y est décrite. On connaît également : - WO98/05002 pour « procédé et dispositif fonctionnant en temps réel, pour le repérage et la localisation d'une zone en mouvement relatif dans une scène, ainsi que pour la détermination de la vitesse et la direction du déplacement » . Ce dispositif met en œuvre des unités de traitement spatial et temporel qui, recevant un signal S(PI) de type vidéo, produisent un certain nombre de paramètres pour chaque pixel. Il s'agit par exemple de la vitesse V d'un mouvement, de la direction DL dudit mouvement, d'une constante de temps CO, et d'un paramètre binaire de validation VL en plus du signal vidéo retardé VR et des différents signaux de synchronisation de trame, de ligne et de pixel regroupés sous la dénomination F. Des histogrammes de ces paramètres permettant la constitution, la manipulation et l'exploitation d'informations statistiques sont calculés par des modules de calculs STN qui reçoivent des données par un bus de données et qui sont interconnectés sur un bus de rétro- annotation véhiculant des résultats de classification. - WO00/1 1610 (« image processing apparatus and method ») donnant des moyens avec traitement temporel et spatial permettant de localiser une zone en mouvement et sa vitesse et direction en fonction de paramètres pouvant être la luminance, la teinte, la saturation.... - WO00/1 1609 (« image processing apparatus and method ») donnant des moyens permettant d'identifier l'orientation d'une ligne dans une image et une application routière (détection de ligne ou de véhicule). Toutefois, la méthode décrite qui consiste à rechercher une optimisation du rapport RMAX/NBPTS d'un histogramme selon des projections selon des orientations particulières présente l'inconvénient de nécessiter des recherches en parallèles (ou itératives) pour trouver le sens de l'optimisation et, surtout, elle ne peut pas s'appliquer à des objets présentant de fortes convexités (le principe de calcul ne permet pas une optimisation dans le cas d'un objet qui est circulaire).
- WOÛ1/63557 présentant une mise en œuvre modulaire configurable avec unité de contrôle, bus de données, bus de rétro-annotation et unité de calcul d'histogramme et qui met en œuvre une auto-adaptation, une anticipation et un apprentissage. Dans une unité STN telle que décrite dans WO01 /63557, pour un paramètre donné, on détermine à partir de l'histogramme calculé et stocké dans une mémoire de l'unité, le maximum RMAX de l'histogramme, la position dudit maximum POSRMAX, un nombre de points NBPTS de l'histogramme. On détermine également des bornes de classification qui permettent de délimiter une zone d'intérêt pour le paramètre et il a été proposé de prendre comme critère pour détermination des bornes, un ratio du maximum de l'histogramme, par exemple RMAX/2, et d'obtenir les bornes par un balayage des données de la mémoire depuis l'origine à la recherche des limites de zones correspondant au critère. - WO02/075659 (« method and device for adapting the sensitivity for detecting a parameter carried by a signal ») donnant des moyens permettant d'adapter un signal utilisé pour détecter un mouvement et décrivant également la structure et le fonctionnement des modules STN. - FR02/10067, FR02/10066, FR02/10065, FR02/10064, divulguent d'autres modes de réalisations et, par exemple, en ce qui concerne les modules STN, en plus de l'auto- adaptation, l'anticipation et l'apprentissage, la réalisation de modules STN multilinéaires (un seul module pouvant traiter directement un paramètre complexe au lieu d'associer des modules traitants chacun un paramètre simple), de modules STN multiclasses (plusieurs maximum RMAX et positions POSRMAX étant déterminés et classés automatiquement) ou, en ce qui concerne les applications des modules STN, le recrutement dynamique, la variation de résolution permettant de faire apparaître hiérarchiquement, au fur et à mesure du retour à une résolution de base élevée, des informations de perception hiérarchiques ou, encore, la définition de LABELS par reconnaissance, identification et mémorisation de caractéristiques de perception d'objets (les LABELS peuvent être ensuite comparés à une perception en cours pour la faciliter et/ou reconnaître des objets particuliers et permettre une conceptualisation de la reconnaissance). Toutes ces réalisations du module STN ont eu pour but d'optimiser les calculs statistiques et de permettre plus de souplesse dans l'association fonctionnelle des modules STN et dans l'utilisation des résultats obtenus. On comprend qu'il soit donc possible d'utiliser des modules STN et des associations de modules plus ou moins évolués en fonction des besoins. Parmi les signaux permettant de caractériser les données de représentation de l'espace spatio-temporel, les bords d'objets présents dans l'espace peuvent être particulièrement utiles dans l'analyse automatisée de l'espace. On connaît par BALLARD D H et Al. «Computer vision» ENGLEWOOD CLIFFS, NJ, USA, PRENTICE-HALL, USA, 1982, XP002283575, ISBN : 0-13-165316-4 (page 76 à 80) des moyens de détermination de tels bords par calcul matriciel. Toutefois, si une information de bord, en soit, peut aider à l'analyse de la représentation, d'autres informations sont nécessaires pour l'analyse et c'est ce que propose de fournir la présente invention avec un signal temporel d'orientation de bord en utilisant, de plus, une matrice particulière qui est une matrice gaussienne pour la détermination de bord avant détermination de l'orientation de bord. La présente invention concerne donc un procédé automatisé de perception d'un objet dans un espace spatiotemporel représenté par un ensemble de données associées à des pixels ou points évoluant dans le temps et représentés à une succession de moments T, lesdites données étant sous forme d'un signal numérique composé d'une suite de nombres binaires associés à des signaux de synchronisation permettant de définir le moment T de l'espace et la position dans cet espace auxquels les données reçues à un instant donné sont associées, le signal numérique comportant des séquences périodiques organisées en sous séquences successives de données, lesdites données étant caractérisables par au moins un paramètre, ledit procédé comportant une première étape dans laquelle, d'une part, on caractérise le signal numérique sous forme de signaux temporels représentatifs desdits paramètres au cours du temps pendant ladite période et, d'autre part, on produit en concordance un signal spatial représentatif des coordonnées des données successives du signal numérique, lesdites coordonnées étant cartésiennes (X,Y), polaires (p,θ) ou module-distance (/?,LD), ledit procédé comportant une seconde étape d'analyse pendant au moins une séquence du signal numérique et dans laquelle on met en œuvre sous contrôle d'un programme applicatif, au moins un neurone spatio-temporel, dit module STN, recevant des données en entrée de paramètre(s) et produisant par calcul d'histogrammes, en fonction d'au moins une entrée de rétro- annotation, des résultats statistiques dans des registres et, en sortie, des résultats de classification, au moins le/un des modules STN recevant en entrée de paramètre(s) au moins un signal temporel et en entrée de rétro-annotation au moins un signal de classification de signal spatial. Selon l'invention, lors de la première étape, en complément des signaux temporels initiaux, on calcule un nouveau signal temporel de bord orienté qui caractérise la présence ou non de points correspondants à des bords d'objets, ledit calcul consistant à associer à chaque point, d'une part, au moins une valeur d'angle α d'orientation du bord en ce point d'avec un axe de coordonnées, soit dans le cas d'un espace à deux dimensions par calcul de α=arctg(u/v) avec u et v des dérivées directionnelles du premier ordre pour deux directions orthogonales du ou des signaux temporels initiaux servant à calculer le nouveau signal temporel de bord orienté et, d'autre part, une valeur binaire de validation ou non-validation, Val-α associée à α et prenant une première valeur de validation si le module
Figure imgf000010_0001
dudit point est supérieur à un seuil S1 , l'indice i s'étendant à la dimension de l'espace, soit dans le cas d'un espace à deux dimensions p = V(u + v ) _ et prenant une seconde valeur de non-validation dans le cas contraire, afin de permettre une détermination et caractérisation de bords d'objets.
(le signal temporel d'orientation de bord est constitué des valeurs α et Val-α, il peut être constitué de données résultant de concaténant de ces valeurs : par exemple bit de poids fort = Val-α et les autres bits de α) La source de données produit un signal numérique composé d'une suite de nombres binaires associés à des signaux de synchronisation permettant de définir le moment T de l'espace et la position dans cet espace auxquels les données reçues à un instant donné sont associées, le signal numérique comportant des séquences périodiques organisées en sous séquences successives de données. Les données à percevoir peuvent provenir de plusieurs sources et être analysées ensemble (par exemple une caméra et un ou plusieurs gyroscopes). L'espace qui est analysé peut être quelconque, réel ou virtuel, comme par exemple un espace visuel (les objets sont par exemple des visages, des voitures, des voies de circulation... ), un espace sonore (les objets sont par exemple des sons, des phonèmes... ), un espace tactile, un espace proprioceptif (positions d'articulations d'un robot articulé) ... La source de données peut être un transducteur pour reproduire sous forme de signal numérique un espace réel tangible comportant des objets ou peut être un moyen permettant de créer un espace virtuel comportant des objets (un espace résultant d'une perception, une simulation d'espace, une reconstitution d'espace mémorisé...) Dans le premier cas de transducteur et à titre d'exemples, celui-ci peut être une caméra, un appareil photo, un imageur... pour un espace qui est visuel, un appareil d'analyse fréquentielle pour un espace qui est sonore, un système d'analyse de pression (gant instrumentalisé tactile par exemple) pour un espace qui est tactile, un système d'analyse de position (capteurs de positions d'articulations ou d'effecteurs de robot, gyroscope...) pour un espace proprioceptif... Dans le second cas de moyen permettant de créer un espace virtuel et à titre d'exemples, celui-ci peut être un automate de perception (notamment du type à modules STN), un simulateur informatique d'espace visuel, sonore ou autre, un calculateur permettant de déterminer des positions d'articulations à partir d'images de robots articulés... Dans divers modes de mise en œuvre de l'invention, les moyens suivants pouvant être utilisés seuls ou selon toutes les combinaisons techniquement envisageables, sont employés:
- pour le calcul d'un nouveau signal temporel de bord orienté on utilise un sous-ensemble des données du/des signaux temporels initiaux avec une résolution spatiale réduite par un filtrage passe-bas desdites données par application d'une fonction de filtrage multidimensionnelle, la résolution étant fonction de la valeur d'un paramètre de résolution W, - dans le cas d'un espace à deux dimensions, u et v sont calculés par les produits scalaires suivants avec L correspondant aux données, fx et fy correspondant à deux matrices de dérivation intégrant un filtrage spatial gaussien suivant deux axes orthonormés: m=W n=W m=W n=W
U(iJ. = 2 ι 2~l ('t»JM ) *X(/+»ι.>+π) V(U.t) = 2-W a {i+mj+nj) V (i+mj+n) ii—W n=-W ©t m=-W n≈-W
- le signal de classification de signal spatial provient d'un classifieur recevant en entrée le signal spatial, le classifieur étant un circuit dédié à la classification sans calcul d'histogramme, - le signal de classification de signal spatial provient d'un autre module STN recevant en entrée le signal spatial et les modules STN sont organisés en couple, le premier module STN du couple recevant en entrée de paramètre(s) le signal temporel et le second module STN du couple recevant en entrée de paramètre(s) le signal spatial, la sortie du premier module STN étant renvoyée en entrée de rétro-annotation du second module STN et la sortie du second module STN étant renvoyée en entrée de rétro-annotation du premier module STN, - le signal spatial en entrée de paramètre du second module STN du couple subit une opération de rotation d'angle θ pour changement d'axes de coordonnées,
(on doit noter que l'angle de rotation θ peut être nul ce qui correspond à une absence de rotation effective)
- pendant une séquence, on envoie la valeur d'angle α du signal temporel de bord orienté en entrée de paramètre d'un premier module STN d'au moins un couple de modules STN et on utilise les résultats du calcul d'histogramme sur les angles α du premier module STN pour modifier l'angle θ de rotation pour la séquence suivante et pour l'analyse de l'angle d'orientation α dans le premier module STN recevant le signal de bord orienté, on ne prend en compte que les points dont Val-α est égal à la première valeur de validation, - on détermine pour chaque couple de modules STN analysant le signal de bord orienté au moins un barycentre de zone (BarZα) et une orientation de zone α,
- en outre, lors de la première étape, on calcule à partir du signal temporel de bord orienté un nouveau signal temporel de variation d'orientation de bord qui caractérise la variation δα d'angle de points de bords d'objets, ledit calcul consistant à effectuer pour chaque point considéré une différence en valeur absolue entre les valeurs d'angles α de deux points de bords adjacents situés de part et d'autre du point considéré sur une même ligne passant par le point considéré, ligne fonction de l'angle α du point considéré, afin d'obtenir une information sur la courbure locale du bord, soit dans le cas d'un espace à deux dimensions par prise en compte de points adjacents compris dans une matrice 3x3 centrée sur le point de bord considéré, et on y associe une valeur binaire de validation ou non-validation, Val-δα prenant une première valeur de validation si la variation est valide et prenant une seconde valeur de non-validation dans le cas contraire, une variation étant valide si, lors du calcul, le point considéré et les points adjacents fonction de l'angle α du point considéré ont tous la première valeur de validation pour Val-α, (le signal temporel de variation d'orientation de bord est constitué des valeurs δα et Val-δα, -α, il peut être constitué de données résultant de concaténant de ces valeurs : par exemple bit de poids fort = Val-δα et les autres bits de δα)
- pendant une séquence, on envoie le signal temporel de variation d'orientation de bord en entrée de paramètre d'un module STN recevant en entrée de rétro-annotation au moins un signal de classification de signal spatial, le signal de classification de signal spatial pouvant provenir soit d'un classifieur recevant en entrée le signal spatial, le classifieur étant un circuit dédié à la classification sans calcul d'histogramme, soit d'un autre module STN recevant en entrée le signal spatial, et pour l'analyse de la variation δα de l'angle d'orientation dans le module STN recevant le signal temporel de variation d'orientation de bord, on ne prend en compte que les points dont Val-δα est égal à la première valeur de validation, - dans le cas de couples de modules STN traitant le signal temporel de variation d'orientation de bord , le premier module STN du couple recevant en entrée de paramètre(s) le signal de variation d'orientation de bord et le second module STN du couple recevant en entrée de paramètre(s) le signal spatial ayant subit une opération de rotation d'angle γ pour changement d'axes de coordonnées, la sortie du premier module STN étant renvoyée en entrée de rétro-annotation du second module STN et la sortie du second module STN étant renvoyée en entrée de rétro-annotation du premier module STN, l'angle de rotation γ reste constant au cours des séquences,
- on détermine pour chaque couple de modules STN ( 12A.12B) analysant le signal de variation d'orientation de bord au moins un barycentre de zone (BarZδ«) et une variation δα, - on détermine un bord orienté en fonction de la variation de l'orientation dudit bord, un module STN supplémentaire étant ajouté à un couple de modules STN analysant le signal d'orientation α de bord, ledit module STN supplémentaire recevant en entrée de paramètre(s) le signal temporel de variation d'orientation de bord et en entrée de rétro- annotation le signal de classification produit en sortie du second module STN du couple et ledit module STN supplémentaire produisant en sortie un signal de classification envoyé en entrée de rétro-annotation supplémentaire du premier module STN du couple,
- on répète au cours du temps sur plusieurs séquences l'étape d'analyse du signal temporel de bord orienté avec recrutement progressif de couples de modules STN afin de déterminer une suite de bords orientés et de façon à ce que: pendant la première séquence avec un premier couple de modules STN on utilise un angle de rotation θ nul et que à la deuxième séquence, un nouveau couple de modules STN est mis en œuvre avec un angle de rotation θ résultant du calcul d'histogramme du premier couple à la première séquence et le signal de sortie de classification du second module STN du premier couple étant envoyé en entrée de rétro-annotation pour inhibition du second module STN du nouveau couple, et ainsi de suite, un nouveau couple étant mis en œuvre à chaque nouvelle séquence, l'angle de rotation θ pour le nouveau couple résultant du calcul d'histogramme par un couple précédent à la séquence précédente, le second module STN du nouveau couple recevant en entrée de rétro- annotation pour inhibition l'ensemble des sorties de classification des seconds module STN mis en œuvre,
- les modules STN sont simulés par calcul dans un circuit électronique du type microprocesseur ou du type processeur de signaux numériques (DSP), - on met en œuvre un circuit intégré électronique dédié configurable dynamiquement comportant au moins des moyens de calcul en logique câblée de paramètres temporels et de paramètres spatiaux et un ensemble de modules STN en logique câblée sur bus de paramètres et bus de rétro- annotation et sous la dépendance d'un programme applicatif,
- on détermine pour chaque couple de modules STN au moins un barycentre de zone et une orientation de zone et on exécute une phase de synthèse permettant de construire un contour par ajustement d'une courbe par rapport aux barycentres,
- on détermine en outre des labels par mémorisation de résultats d'analyse et/ou de synthèse d'objets. ,
- on utilise des bords orientés pour lesquels la variation d'orientation δα de bord est particulièrement élevée, lesdits bords correspondant alors à des coins d'objets, comme points d'accroché par rapport à un fichier d'objet maillé 3D afin de produire une animation de synthèse,
- l'animation de synthèse consiste en une reconstruction projective ou euclidienne adaptative temporellement par utilisation d'une triangulation des points d'accroché,
- le signal numérique est produit par un transducteur produisant des images, l'espace est une scène et sa dimension est deux, et on envoie le signal numérique de façon à ce que les premières sous-séquences envoyées d'une séquence comportent des points/pixels représentant des objets de l'espace les plus proches du transducteur,
- le transducteur est choisi parmi : - une caméra vidéo produisant des images sous forme de signaux numériques en séquences périodiques organisées en sous séquences successives de données, - un appareil photographique numérique produisant des images sous forme de signaux numériques en séquences périodiques organisées en sous séquences successives de données, - un imageur produisant des images sous forme de signaux numériques en séquences périodiques organisées en sous séquences successives de données, - un lecteur de support d'enregistrement d'images produisant des images sous forme de signaux numériques en séquences périodiques organisées en sous séquences successives de données - un radar ou un sonar produisant des images sous forme de signaux numériques en séquences périodiques organisées en sous séquences successives de données,
- l'imageur est par exemple du type numériseur d'images, photocopieur numérique, appareil de transmission de télécopies... , produisant des images sous forme de signaux numériques en séquences périodiques organisées en sous séquences successives de données, PROCEDE/APPLICATION A L'ANALYSE
D'ENVIRONNEMENT
- application au suivi et à l'anticipation de la trajectoire d'un véhicule dans un environnement routier dans lequel au moins un transducteur qui est une caméra orientée vers l'avant du véhicule et un espace à deux dimensions sont mis en œuvre,
- application à une alerte anti-collision par détection d'autres véhicules en fonction d'au moins la trajectoire du véhicule comportant le dispositif de l'invention, - application à la sécurité routière dans laquelle le visage du conducteur du véhicule est en outre analysé pour détection d'endormissement,
- l'espace représenté est une route et que l'on dispose au moins une caméra dans le rétroviseur d'un véhicule, la caméra étant orientée vers l'avant du véhicule et on détermine au moins deux limites de voie de circulation latéralement au véhicule à partir de bords orientés déterminés,
- l'espace représenté est une route et on dispose au moins une caméra latéralement au véhicule, ladite caméra étant orientée latéralement et vers l'arrière et étant dans un rétroviseur latéral,
- on détermine pour chaque bord orienté d'un couple de modules STN au moins un barycentre de zone et une orientation de zone et on détermine parmi lesdites zones des zones appariées de limite de voie de circulation et pour chaque zone appariée de limite de voie on détermine l'équation d'une droite portée par ladite zone et on calcule la position H du point de croisement desdites droites, - on caractérise un virage d'une voie de circulation par un arc de cercle et on calcule au moins les rayons de ses limites latérales, la présence d'un virage étant détectée par un décalage linéaire de la position H du point de croisement de droites de zones appariées successives dans une même séquence,
- en cas de détection d'un virage on actionne un dispositif de rotation de l'éclairage du véhicule disposé dans le phare du véhicule en vue d'éclairer la voie de circulation dans le virage, - on détermine en outre des équations de changement de repère permettant de passer d'une représentation dans le repère de la caméra vers un repère horizontal route vue de dessus et centré sur le véhicule et inversement,
- en outre on effectue une recherche de l'endormissement du conducteur du véhicule, le visage du conducteur étant capté par une partie de la caméra,
- en outre on effectue une recherche de l'endormissement du conducteur du véhicule, le visage du conducteur étant capté par une seconde caméra, PROCEDE/APPLICATION A LA SURVEILLANCE DE
SCENE
- l'espace représenté est un lieu comportant des objets et l'on dispose au moins un transducteur orienté non verticalement vers ledit lieu afin que les objets soient vus en perspective dans des images dudit transducteur et on détermine l'horizon dudit lieu par recherche d'au moins deux points (Fo, F-i) correspondants chacun au croisement d'un groupe de droites comportant au moins deux, et de préférence au moins trois, droites portées par des bords d'orientations sensiblement voisines mais non égales et déterminés dans les images, les bords d'un groupe ayant des valeurs d'angle α d'orientation du bord comprises dans une gamme de valeurs proches non égales et ayant des variations δα d'angle d'orientation sensiblement nulles correspondant à des bords sensiblement rectilignes/droits, l'horizon étant une droite passant par lesdits au moins deux points,
- pour deux des au moins deux points de détermination de l'horizon et obtenus à partir des croisements d'un premier et d'un second groupes de droites portées par les bords orientés, on sélectionne lesdits deux groupes de manière à ce que les orientations des bords du premier groupe soient sensiblement différentes des orientations des bords du second groupe et, de préférence, que les orientations des deux groupes soient sensiblement perpendiculaires entre elles, afin que les deux points soient sensiblement éloignés l'un de l'autre,
- on détermine un repère orthonormé u,v de premier axe porté par l'horizon et de deuxième axe perpendiculaire au premier et passant par le centre optique de l'image et, à partir de l'image considérée dans ledit repère orthonormé u,v et obtenue par rotation de l'image initiale, on détermine des équations de changement de repère permettant de passer d'une représentation dans le repère u,v vers un repère horizontal correspondant à une vue de dessus du lieu et inversement,
- le centre optique est estimé au centre de l'image,
- le centre optique est déterminé par calcul,
- à partir d'une perception de bords orientés de l'image dont au moins les variations δα d'orientations de bords sont dans une gamme déterminée de valeurs et, de préférence, une gamme de valeurs sensiblement nulles correspondant à des bords rectilignes/droits ou très faiblement courbés et en appliquant les équations de changement de repère, on crée par synthèse un modèle de représentation synthétique du lieu vue de dessus et on perçoit ensuite dans les images du transducteur des objets en mouvement et on reporte en appliquant les équations de changement de repère lesdits objets en mouvement dans ledit modèle, PROCEDE/APPLICATION A LA DETERMINATION DE LA DISTORSION OPTIQUE GEOMETRIQUE
- application à un procédé de détermination d'un coefficient E de distorsion optique géométrique en barillet ou en tonneau sur au moins une image sous forme d'un signal numérique obtenu avec un transducteur comportant un objectif ayant une possible distorsion optique, les pixels de l'image pouvant être mis sous forme d'une matrice numérique image à deux dimensions d'axes référentiels X et Y, chaque pixel de l'image entre des bords de l'image pouvant être référencé par sa position P cartésienne P(x, y) ou polaire P(p, θ) dans la matrice dans laquelle on modélise la distorsion optique géométrique par un déplacement de module Δ = E.p3 des pixels P en référence polaire entre l'image avec distorsion et l'image sans distorsion, E étant le coefficient de distorsion et p le module du pixel P(x, y) par rapport au centre optique 0(xo, yo) dans l'image, et dans une phase de calcul du coefficient de distorsion E, on calcule le coefficient de distorsion par un processus itératif consistant à déplacer selon la modélisation et par rapport à un point d'origine de référence au moins trois points d'un bord d'un objet de la scène en modifiant itérativement une valeur initiale du coefficient de distorsion jusqu'à ce que lesdits au moins trois points se retrouvent sensiblement alignés sur une droite, le point d'origine de référence étant préférentiellement le point central de l'image dans la matrice, le bord orienté étant choisi parmi les bords des objets de l'image les plus longs et les plus éloignée du point d'origine de référence selon une distance projective, les au moins trois points du bord étant distincts et répartis sur ledit bord, et on met en œuvre pour la détermination de bords et de points sur lesdits bords, au moins un module STN recevant des données en entrée de paramètre(s) et produisant par calcul d'histogrammes, en fonction d'au moins une entrée de rétro-annotation, des résultats statistiques dans des registres et, en sortie, des résultats de classification, au moins une des données utilisée en entrée de paramètre(s) étant un signal de bord orienté caractérisant une orientation de bord parmi l'ensemble des données caractérisant l'image, - application à un procédé de détermination d'un coefficient E de distorsion optique géométrique en barillet ou en tonneau et d'un centre optique (x0, yo) sur au moins une image numérique sous forme d'un signal numérique obtenu avec un transducteur comportant un objectif avec un centre optique et ayant une possible distorsion optique, les pixels de l'image pouvant être mis sous forme d'une matrice numérique image à deux dimensions d'axes référentiels X et Y, chaque pixel de l'image entre des bords de l'image pouvant être référencé par sa position P cartésienne P(x, y) ou polaire P(p, θ) dans la matrice, dans laquelle on modélise la distorsion optique géométrique par un déplacement de module Δ = E.p3 des pixels P en référence polaire entre l'image avec distorsion et l'image sans distorsion, E étant le coefficient de distorsion et p le module du pixel P(x, y) par rapport au centre optique 0(xo, yo) dans l'image, et : - dans une première phase, dite phase de calcul du coefficient de distorsion E, on calcule le coefficient de distorsion par un processus itératif consistant à déplacer selon la modélisation et par rapport à un point d'origine de référence au moins trois points d'un bord d'un objet de la scène en modifiant itérativement une valeur initiale du coefficient de distorsion jusqu'à ce que lesdits au moins trois points se retrouvent sensiblement alignés sur une droite, le point d'origine de référence étant préférentiellement le point central de l'image dans la matrice, le bord orienté étant choisi parmi les bords des objets de l'image les plus longs et les plus éloignée du point d'origine de référence selon une distance projective, les au moins trois points du bord étant distincts et répartis sur ledit bord, - dans une deuxième phase, dite phase de calcul du centre optique (xo, yo) sur l'image, on calcule la position du centre optique par un processus itératif consistant à modifier itérativement la position d'un centre optique courant de valeur initiale prédéfinie et à déplacer selon la modélisation avec le coefficient de distorsion précédemment calculé au moins trois points d'un premier bord et au moins trois points d'au moins un second bord jusqu'à ce que lesdits points correspondants se retrouvent sensiblement alignés sur une droite correspondante, la valeur initiale prédéfinie du centre optique courant étant préférentiellement le point central de l'image dans la matrice, le premier bord et le second bord étant choisis parmi les bords des objets de l'image les plus longs et les plus éloignés de la valeur initiale prédéfinie du centre optique courant selon une distance projective et ayant en outre des directions se croisant, les directions étant de préférence sensiblement perpendiculaires entre-elles, les au moins trois points de chacun des bords étant distincts et répartis sur le bord correspondant, et on met en œuvre pour la détermination de bords et de points sur lesdits bords, au moins un module STN recevant des données en entrée de paramètre(s) et produisant par calcul d'histogrammes, en fonction d'au moins une entrée de rétro-annotation, des résultats statistiques dans des registres et, en sortie, des résultats de classification, au moins une des données utilisée en entrée de paramètre(s) étant un signal de bord orienté caractérisant une orientation de bord parmi l'ensemble des données caractérisant l'image, - on affine le calcul du coefficient de distorsion et le calcul de la position du centre optique par itération de la première et de la deuxième phase tant que la variation en valeur absolue du coefficient de distorsion d'une itération à la précédente et/ou la variation en valeur absolue de la position du centre optique d'une itération à la précédente est/sont supérieurs à des seuils de fin d'itération respectifs, et lors du premier passage dans la première phase, le point d'origine de référence est préférentiellement le point central de l'image dans la matrice, et lors des passages ultérieurs itératifs dans la première phase, le point d'origine de référence est le centre optique calculé dans la deuxième phase juste précédente, et lors du premier passage dans la deuxième phase, la valeur initiale prédéfinie de la position du centre optique courant est préférentiellement le point central de l'image dans la matrice, et lors des passages ultérieurs itératifs dans la deuxième phase, la valeur initiale prédéfinie de la position du centre optique courant est le centre optique calculé dans la deuxième phase précédente,
- en outre on corrige la distorsion optique géométrique en barillet ou en tonneau d'images dans une troisième phase de correction par déplacement de chacun des pixels P en référence polaire selon la valeur Δ correspondante sur un axe passant par ledit pixel et le centre optique (x0, yo). Δ étant calculé avec la valeur E du coefficient de distorsion obtenu à la première phase et le centre optique (xo, yo) obtenu à la deuxième phase,
- pour ce qui concerne les phases correspondantes, respectivement selon la phase considérée:
A - dans la première phase ou la phase de calcul du coefficient de distorsion, on effectue les étapes suivantes : a) on attribue une valeur initiale Ei au coefficient de distorsion, b) on détermine sur l'image un bord d'objet, ledit bord étant choisi parmi les bords d'objets les plus longes et les plus éloignés du point d'origine de référence selon une distance projective, c) on détermine au moins trois points P1 (xι , yi), P2(x2, y2) , P3(X3, y3) ... distincts et répartis sur ledit bord, d) on calcule en coordonnées polaires, par rapport au point d'origine de référence pour chaque point P1 (xι , yi), P2(x2, y2)
, P3(x3, y3). •• . les valeurs des modules p^\ , p2, P3- . , e) on calcule en coordonnées polaires pour chaque point P1 (xι , yi ), P2(x2, y2) , P3(x3, y3)--. , les valeurs des déplacements correspondants ΔP1 = Ej.pι3, Δp2=Ej.p2 3,
Figure imgf000024_0001
f) on déplace les points P1 (xι , yi), P2(x2 > y2) , P3(x3( y3) -- , considérés en référence polaire d'une distance ΔP1 , Δp2, Δp3... correspondante le long d'un axe passant par le point d'origine de référence et le point correspondant, les points déplacés étant P1 (x'ι , y't), P2(x'2, y'2) , P3(x'3, y's)- , g) on effectue un test de linéarité entre les points déplacés P1 (x'ι , y'i), P2(x'2, y'2) , P3(x'3 > y'3) -. par calcul d'un indice d'alignement la indiquant l'écart desdits points déplacés par rapport à un alignement sur une droite commune fictive, - dans le cas où l'indice d'alignement la est inférieur à un seuil ε de linéarité, on garde comme coefficient de distorsion E la dernière valeur Ej et on quitte la phase de calcul du coefficient de distorsion, - dans le cas contraire, on modifie la valeur de Ej d'une manière telle qu'en repassant itérativement à l'étape e), l'indice d'alignement la finisse par diminuer,
B - dans la deuxième phase on effectue les étapes suivantes : h) on attribue la valeur initiale prédéfinie O(x, y) au centre optique courant, la valeur initiale prédéfinie 0(x, y) correspondant de préférence au point central de l'image dans la matrice, i) on détermine sur l'image un premier bord d'objet, ledit premier bord étant choisi parmi les bords d'objets les plus longs et les plus éloignés du centre optique courant selon une distance projective, j) on détermine au moins trois points P 1 (xι , yi), P2(x2, y2) , P3(X3, y3) ... distincts et répartis sur ledit premier bord , k) on détermine sur l'image un second bord d'objet, ledit second bord étant choisi parmi les bords d'objets de l'image les plus longs et les plus éloignés du centre optique courant selon une distance projective, lesdits premier et second bords ayant en outre des directions se croisant, les directions étant de préférence sensiblement perpendiculaires entre-elles, les orientations des bords étant assimilées aux directions,
I) on détermine au moins trois points Pa(xa, ya), P (Xb, y_>) , Pc(xc, yc)... distincts et répartis sur ledit second bord, I premier bord étant moins incliné que le second bord par rapport à un premier axe, X ou Y, que par rapport à un second axe, Y ou X, des deux axes référentiels X, Y de la matrice, * pour une première coordonnée du centre optique : m) on calcule en coordonnées polaires, par rapport au centre optique courant 0(x, y), pour chaque point P1 (xι , yi), P2(x2, y2) , P3(x3, y3) -.. les valeurs des modules pi , p2, p ... , n) on calcule en coordonnées polaires pour chaque point P1 (xι , y , P2(x2, y2) , P3(x3, ys) ... , les valeurs des déplacements correspondants ΔP 1 = E.pι3, Δp2=E.p2 3, Δp3=E.p3 3... , E étant le coefficient de distorsion obtenu à la première phase, o) on déplace les points P1 (xι , y , P2(x2, y2) , P3(x3, y3)... considérés en référence polaire, d'une distance Δp-i , Δp2, ΔP3... correspondante selon un axe passant par le centre optique courant 0(x, y) de l'image et le point correspondant, les points déplacés étant P1 (x , y'i), P2(x'2 ) y'2) , P3(x'3, y's)- . p) on effectue un test de linéarité entre les points déplacés
P1 (x'ι , y'i), P2(x'2, y'a) , P3(x'3, y'3)... par calcul d'un premier indice d'alignement lai indiquant l'écart desdits points déplacés par rapport à un alignement sur une droite commune fictive, - dans le cas où l'indice d'alignement lai est inférieur à un seuil ε' de linéarité, on garde la première coordonnée yo ou xo sur le second axe pour la position courante O(x, y) et on passe à l'étape suivante, - dans le cas contraire, on déplace le centre optique courant O(x, y) parallèlement au second axe, Y ou X, et on repasse à l'étape m) de manière à ce qu'itérativement l'indice d'alignement lai finisse par diminuer, * pour la seconde coordonnée du centre optique : q) on calcule en coordonnées polaires, par rapport au centre optique courant 0(x, y) avec la première coordonnée calculée précédemment, pour chaque point Pa(xa, ya), Pb(x , yb), Pc(xc, yc)- - , les valeurs des modules ρa, pb, Pc--- , r) on calcule en coordonnées polaires pour chaque point Pa(xa, ya), Pb(xb, y ), Pc(xc, yc)- - , les valeurs des déplacements correspondants Δpa=E.ρa 3, Δpb≈E.pb 3, Δpc≈E.pc 3... , E étant le coefficient de distorsion obtenu à la première phase, s) on déplace les points Pa(xa, ya), Pb(xb, y ), Pc(xc, yc)--. considérés en référence polaire, d'une distance Δpa, Δpb, ΔPc... correspondante selon un axe passant par le centre optique courant 0(x, y) de l'image et le point correspondant, les points déplacés étant Pa(x'a, y'a), Pb(x'b. y'b). Pc(x'c, yO)- , t) on effectue un test de linéarité entre les points déplacés Pa(x'a, y'a), Pb(x'b, y'b), Pc(x'c, y'c)- - , par calcul d'un second indice d'alignement la2 indiquant l'écart desdits points déplacés par rapport à un alignement sur une droite commune fictive, - dans le cas où l'indice d'alignement la2 est inférieur à un seuil ε" de linéarité, on garde la seconde coordonnée xo ou yo sur le premier axe pour la position courante 0(x, y), - dans le cas contraire, on déplace le centre optique courant 0(x, y) parallèlement au premier axe, X ou Y, et on repasse à l'étape q) de manière à ce qu'itérativement l'indice d'alignement la2 finisse par diminuer,
- on met en œuvre une fonction de calcul et de test générique sur des paramètres d'entrée pour produire en sortie une valeur, la fonction de calcul générique permettant d'exécuter respectivement les étapes m) à p) ou les étapes q) à t) en fonction des paramètres d'entrée, respectivement première ligne, second axe, centre optique courant et seuil ε' ou seconde ligne, premier axe, centre optique courant et seuil ε" et produisant respectivement la première ou la seconde coordonnée, - la fonction de calcul générique fait appel à au moins une sous fonction permettant : - le calcul des valeurs des modules pi... des points Pi de la ligne, le calcul des valeurs des déplacements correspondants Δp,=E. pj3... , - le déplacement des points Pi de la ligne considérés en référence polaire d'une distance Δpj... correspondante le long d'un axe passant par le point d'origine de référence et ledit point Pj de la ligne, ladite sous fonction étant utilisable pour les étapes d) e) f) ou m) n) o) ou q) r) s),
- on met en œuvre en outre au moins une des étapes supplémentaires suivantes selon la phase considérée : - une étape supplémentaire Tb) entre les étapes b) et c) consistant en un test de réussite de détermination de bord, le procédé s'arrêtant à ladite étape Tb) en cas d'impossibilité de détermination de bord à l'étape b),
- une étape supplémentaire Ti) entre les étapes i) et j) consistant en un test de réussite de détermination de bord, le procédé s'arrêtant à ladite étape Ti) en cas d'impossibilité de détermination de bord à l'étape i),
- une étape supplémentaire Tk) entre les étapes k) et I) consistant en un test de réussite de détermination de bord, le procédé s'arrêtant à ladite étape Tk) en cas d'impossibilité de détermination de bord à l'étape k),
- une étape supplémentaire Te) entre les étapes c) et d) consistant en un test de réussite de détermination d'au moins trois points sur le bord, avec en cas d'impossibilité de détermination d'au moins trois points, retour à l'étape b),
- une étape supplémentaire Tj) entre les étapes j) et k) consistant en un test de réussite de détermination d'au moins trois points sur le bord, avec en cas d'impossibilité de détermination d'au moins trois points, retour à l'étape i),
- une étape supplémentaire TI) entre les étapes I) et m) consistant en un test de réussite de détermination d'au moins trois points sur le bord, avec en cas d'impossibilité de détermination d'au moins trois points, retour à l'étape k),
- une étape supplémentaire Te') entre les étapes c) et d), de préférence entre les étapes Te) et d), consistant en un test de linéarité entre les trois points P1 (xι , yi), P2(x2, y2) , P3(x3, y3)--- par calcul d'un indice d'alignement indiquant l'écart desdits points par rapport à un alignement sur une droite commune fictive, et, au cas où l'indice de linéarité est inférieur à un seuil, retour à l'étape b) pour détermination sur l'image d'une nouvelle ligne d'un objet de la scène, ladite nouvelle ligne n'ayant pas encore fait l'objet d'étapes, - une étape supplémentaire Tj') entre les étapes j) et k), de préférence entre les étapes Tj) et k), consistant en un test de linéarité entre les trois points P1 (xι , yi), P2(x2, y2) , P3(X3, y3) ... par calcul d'un indice d'alignement indiquant l'écart desdits points par rapport à un alignement sur une droite commune fictive, et, au cas où l'indice de linéarité est inférieur à un seuil, retour à l'étape i) pour détermination sur l'image d'une nouvelle ligne d'un objet de la scène, ladite nouvelle ligne n'ayant pas encore fait l'objet d'étapes, - une étape supplémentaire TI') entre les étapes I) et m), de préférence entre les étapes TI) et m), consistant en un test de linéarité entre les trois points Pa(xa, ya), Pb(Xb, yb), Pc(xc, yc) --- par calcul d'un indice d'alignement indiquant l'écart desdits points par rapport à un alignement sur une droite commune fictive, et, au cas où l'indice de linéarité est inférieur à un seuil, retour à l'étape k) pour détermination sur l'image d'une nouvelle ligne d'un objet de la scène, ladite nouvelle ligne n'ayant pas encore fait l'objet d'étapes,
- le nombre de points déterminés sur chaque bord d'un objet de l'image est de trois,
- on calcule l'indice d'alignement I (I, la-i , la2 respectivement) comme étant la valeur absolue de la différence des pentes P1 et P2 de deux droites fictives, soit l=|P1 -P2|, la première droite fictive de pente P1 joignant un premier point extrême (P1 (x'ι , y'i) ou Pa(x'a, y'a) respectivement) des trois points déterminés déplacés (P1 (x'ι , y'i), P2(x'2, y'2), P3(x'3) y'3) ou Pa(x'a, y'a), Pb(x'b, y'b), Pc(x'c, y'c) respectivement) et le point intermédiaire (P2(x'2, y'2) ou Pb(x'b, y'b) respectivement) des trois points déterminés déplacés, soit P1 =(y'ι-y'2)/(x'ι-x'2) ou P1
Figure imgf000029_0001
respectivement, et la seconde droite fictive de pente P2 joignant le second point extrême (P3(x'3, y'3) ou Pc(x'c, y'c) respectivement) des trois points déterminés déplacés et le point intermédiaire (P2(x'2, y'2) ou Pb(x'b, y'b) respectivement) des trois points déterminés déplacés, soit P2=(y'2-y'3)/(x'2-x'3) ou P2=(yVy'c)/(x,b-x'c) respectivement,
- on calcule la nouvelle position cartésienne des points après déplacement à partir de leurs positions cartésiennes initiales en passant par des coordonnées polaires comprenant un module p et un angle α par rapport à une origine, le calcul étant du type : - pour un point initial de coordonnées cartésiennes (Xj, yι): p=((XrOx)2 + (yrOy)2)1/2 α≈Arctg ((y Oy)/(Xj-Ox)) (Ox, Oy) étant les coordonnées cartésiennes de l'origine, - pour le déplacement Δ : Δ = E.p3 - pour la nouvelle position du point de coordonnées cartésiennes (x'i, y'j), résolution de x'i, y'i à partir des équations : p+Δ = ((x Ox)2 + (y\-Oy)2)1 2 α≈Arctg ((y'j-Oy)/(x'j-Ox))
- on exécute dynamiquement en continu pour chaque image la première phase, dite phase de calcul du coefficient de distorsion E, et la deuxième phase, dite phase de calcul du centre optique (x0, yo) sur l'image, - en alternative, pour la détermination du centre optique, dans la deuxième phase, on obtient les deux coordonnées xo et yo du centre optique en une seule série d'étapes dans laquelle : z) - on détermine en coordonnées polaires, par rapport au centre optique courant 0(x, y), pour chaque point d'au moins deux bords sensiblement perpendiculaires entre-eux, les valeurs des modules, - on calcule pour chaque point d'au moins des deux bords sensiblement perpendiculaires entre-eux, les valeurs des déplacements correspondants, on déplace lesdits points d'une distance Δ correspondante selon un axe passant par le centre optique courant O(x, y) de l'image et le point correspondant, - on effectue des calculs de linéarité entre les points déplacés d'au moins des deux bords sensiblement perpendiculaires entre-eux par calcul d'un indice d'alignement par ligne correspondante, et on déplace le centre optique courant O(x, y) selon une direction dans le plan de l'image et on repasse itérativement à l'étape z) de manière à ce que chacun des indices d'alignement finisse par diminuer et tant que lesdits indices d'alignement sont supérieurs à un seuil de fin d'itération, les coordonnées xo et yo du centre optique étant alors données par la position du centre optique courant 0(x, y),
- l'objectif présente au moins un état (notamment focale si elle est variable et/ou ouverture du diaphragme si elle est variable) et que l'on effectue au moins un étalonnage par acquisition à travers l'objectif dans au moins un état d'au moins une image d'une scène comportant des objets délimités par des lignes droites horizontales et verticales (notamment une mire), détermination et mémorisation des valeurs du coefficient de distorsion E et de position du centre optique O(x0, y0) pour au moins ledit un état de l'objectif et, pour les images ultérieures de scènes, on utilise directement les valeurs mémorisées correspondant à l'état courant de l'objectif pour correction de position des points des images selon la troisième phase de correction sans déterminer à nouveau lesdites valeurs sur les images ultérieures,
- pour la détermination de bords on met en œuvre au moins trois modules STN ayant chacun une entrée de paramètre(s), une entrée de rétro-annotation et une sortie de classification, un premier module STN recevant en entrée de paramètre un signal spatial de coordonnées X,Y de pixels, un deuxième module STN recevant en entrée de paramètre un signal temporel d'orientation α de bord, un troisième module STN recevant en entrée de paramètre un signal temporel de variation δα d'orientation de bord, le premier recevant dans son entrée de rétro-annotation la sortie de classification du deuxième, la sortie de classification du premier étant envoyée en entrée de rétro-annotation du deuxième et en entrée de rétro-annotation du troisième, le deuxième recevant en outre en entrée de rétro-annotation la sortie de classification du troisième afin de pouvoir déterminer un bord d'objet compris dans une zone Z0<i,j) de l'image donnée par la sortie de classification du premier module STN , ledit bord ayant au moins une orientation α et une courbure δα déterminées,
- pour la détermination d'un des points sur un bord déjà déterminé d'un d'objet, on utilise le signal de sortie de classification du premier module STN des trois modules STN ayant déjà déterminé une zone (Z0) du bord, en entrée de rétro-annotation d'un module STN spatial d'un nouveau couple spatio-temporel de modules STN, et dans le nouveau couple spatio-temporel de modules STN, le point correspond à un barycentre d'une portion du bord déjà déterminé et dont les orientations sont dans une partie de la gamme des valeurs d'orientation dudit bord déjà déterminé, la gamme des valeurs d'orientation dudit bord déjà déterminé étant divisée en autant de parties indépendantes que de points de bords à déterminer,
- on dispose en amont d'un système à calcul de signaux temporels et spatiaux de caractérisation et à modules STN configurable sous contrôle d'un programme applicatif, un dispositif de correction de la distorsion en fonction d'une valeur E de coefficient de distorsion optique géométrique et d'une position x0,y0 de centre optique, la valeur E et la position xO.yO étant fournies par le système à modules STN, et pour la détermination de bords orientés on met en œuvre dans le système à modules STN au moins trois modules STN ayant chacun une entrée de paramètre, une entrée de rétro- annotation et une sortie de classification, un premier module STN recevant en entrée de paramètre(s) un signal spatial de coordonnées X,Y de pixels, un deuxième module STN recevant en entrée de paramètre un signal temporel de valeur d'angle α d'orientation de bord, un troisième module STN recevant en entrée de paramètre(s) un signal temporel de variation δα d'angle d'orientation de bord, le premier recevant dans son entrée de rétro-annotation la sortie de classification du deuxième, la sortie de classification du premier étant envoyée en entrée de rétro-annotation du deuxième et en entrée de rétro-annotation du troisième, le deuxième recevant en outre en entrée de rétro-annotation la sortie de classification du troisième afin de pouvoir déterminer un bord d'objet compris dans une zone Zo(i ) de l'image donnée par la sortie de classification du premier module STN, ledit bord ayant au moins une orientation α et une courbure δα déterminées, et on modifie itérativement la valeur E ou la position x0,y0 respectivement selon la phase considérée, tout en analysant l'histogramme produit par le deuxième module STN à la recherche d'un histogramme présentant un pic sensiblement au maximum signalant l'obtention d'un alignement des points de bords en alternative de la détermination d'au moins trois points du bord déterminé, de leurs déplacements et du calcul d'un indice d'alignement desdits points déplacés, (Cf. figures 16, 46 et 47) PROCEDE/APPLICATION A LA STABILISATION D'IMAGES - application à la détermination d'une rotation entre deux représentations d'un espace spatio-temporel représenté par un ensemble de données associées à des pixels ou points évoluant dans le temps et représentés à une succession de moments T, lesdites données étant sous forme d'un signal numérique composé d'une suite de nombres binaires associés à des signaux de synchronisation permettant de définir le moment T de l'espace et la position dans cet espace auxquels les données reçues à un instant donné sont associées, le signal numérique comportant des séquences périodiques organisées en sous séquences successives de données, dans laquelle on met en œuvre au moins un module STN, au moins le/un des modules STN recevant en entrée de paramètre un signal temporel caractérisant une orientation α de bord et en entrée de rétro-annotation au moins deux signaux de classification de signal temporel, le premier pour sélection d'orientation δα de bord correspondant à des bords à faible ou nulle courbure, c'est-à-dire bords sensiblement rectilignes, le second pour sélection de module p de points de bord correspondant à des points ayant des valeurs de module parmi les plus élevées, c'est-à-dire de fort contraste, et on réalise deux histogrammes de répartition des orientations des bords sélectionnés sur deux représentations successives de l'espace et on compare l'histogramme de répartition des orientations de bords sélectionnés de la représentation courante avec l'histogramme de répartition des orientations des bords sélectionnés de la représentation précédente, le décalage entre les deux histogrammes donnant l'angle de rotation Rot,
(l'application peut être mise en œuvre sur des espaces à deux ou plus dimensions, notamment pour déterminer des rotations volumiques)
- application à la détermination d'une translation entre deux représentations d'un espace spatio-temporel représenté par un ensemble de données associées à des pixels ou points évoluant dans le temps et représentés à une succession de moments T, lesdites données étant sous forme d'un signal numérique composé d'une suite de nombres binaires associés à des signaux de synchronisation permettant de définir le moment T de l'espace et la position dans cet espace auxquels les données reçues à un instant donné sont associées, le signal numérique comportant des séquences périodiques organisées en sous séquences successives de données, dans laquelle, pour un axe référentiel particulier de la représentation, on met en œuvre au moins un module STN , au moins le/un des modules STN recevant en entrée de paramètre un signal spatial de projection caractérisant une projection sur l'axe référentiel particulier et en entrée de rétro-annotation au moins deux signaux de classification de signal temporel, le premier pour sélection d'orientations δα de bord correspondant à des bords à forte courbure, c'est-à-dire des coins, le second pour sélection de module p de points de bord correspondant à des points ayant des valeurs de module parmi les plus élevées, c'est-à-dire de fort contraste, et on réalise deux histogrammes de répartition des points de coins sélectionnés sur deux représentations successives de l'espace, le signal spatial de projection étant corrigé par rotation pour une des représentations de l'espace d'une possible rotation Rot ayant pu avoir lieu entre les deux représentations successives, et on compare l'histogramme de répartition des points de coins sélectionnés de la représentation courante avec l'histogramme de répartition des points de coins sélectionnés de la représentation précédente, le décalage entre les deux histogrammes donnant la valeur de translation selon l'axe particulier, (l'application peut être mise en oeuvre sur des espaces à deux ou plus dimensions, notamment pour déterminer des translations volumiques)
- on détermine en parallèle la translation sur l'ensemble des axes du référentiel, autant de modules STN recevant en entrée de paramètre un signal spatial de projection caractérisant une projection sur l'axe référentiel particulier et en entrée de rétro-annotation au moins deux signaux de classification de signal temporel, le premier pour sélection d'orientations δα de bord correspondant à des bords à forte courbure, c'est-à-dire des coins, le second pour sélection de module p de points de bord correspondant à des points ayant des valeurs de module parmi les plus élevées, c'est-à-dire de fort contraste, étant mis en œuvre que d'axes et autant de comparaison d'histogramme étant faite que d'axes,
- les pixels ou points de la représentation de l'espace peuvent être mis sous forme d'une matrice numérique image à deux dimensions d'axes référentiels X et Y, et qu'en outre, on ne sélectionne que des bords orientés compris dans une zone déterminée de l'image aussi bien pour la détermination de la rotation que de la translation, au moins un signal de classification spatial étant envoyé en entrée de rétro- annotation du module STN correspondant produisant les histogrammes,
- au moins pour produire le signal de classification temporel de sélection de module p de points de bord et au moins pour la détermination de la rotation, on utilise des bornes de classification qui résultent d'une détermination préalable de la répartition des modules de points de bords afin de pouvoir obtenir un nombre de points de bords sélectionnés compris dans une gamme de valeurs déterminées, (pour les coins, on utilise un nombre de points de coins suffisant pour que la détermination soit significative, que l'on ait, par exemple, au moins 30 coins, mais pas trop pour ne pas prendre en compte des coins qui ne sont en réalité que du bruit, de préférence les bornes sont choisies en fonction du nombre total de points de bords et d'une répartition des bords orientés dans des groupes : droites, courbes et coins)
- pour la détermination de la rotation, le décalage entre histogrammes est déterminé par la différence entre la position POSRAMXt du maximum de l'histogramme des orientations de bords sélectionnés de la représentation courante et la position POSRMAXM du maximum de l'histogramme des orientations de bords sélectionnés de la représentation précédente,
- pour la détermination de la rotation, le décalage entre histogrammes est déterminé par un calcul d'une courbe de corrélation entre les deux histogrammes des orientations de bords sélectionnés, la valeur de rotation étant donnée soit par la position du maximum de la courbe de corrélation, soit par la position de la médiane de la courbe de corrélation, - pour la détermination de la translation, le décalage des histogrammes selon chacun des axes est déterminé par un calcul d'une courbe de corrélation entre les deux histogrammes représentation courante et représentation précédente, les valeurs de translation étant données soit par la position du maximum de la courbe de corrélation correspondante, soit par la position de la médiane de la courbe de corrélation correspondante,
- application de la détermination de la rotation et de la détermination de la translation dans le cas où les pixels ou points de la représentation de l'espace peuvent être mis sous forme d'une matrice numérique image à deux dimensions d'axes référentiels X et Y, à la stabilisation d'images successives avec bougé entre les images, dans laquelle la représentation de l'espace sous forme d'un signal numérique est obtenue par un transducteur produisant des images, et l'on modélise le bougé par une rotation et par une translation, la rotation étant déterminée en premier afin d'obtenir la valeur de rotation Rot utilisée pour correction dans la détermination de la translation et on utilise les valeurs de rotation et de translation pour corriger le bougé de l'image courante,
- on effectue la correction du bougé en prenant en outre en compte des valeurs de rotation et de translation d'images antérieures à l'image précédente, lesdites valeurs permettant de calculer un facteur d'amortissement, les valeurs de rotation et de translation pour la correction du bougé de l'image courante étant les valeurs de rotation et de translation déterminées entre l'image précédente et l'image courante modifiées par le facteur d'amortissement,
- dans le cas où, en outre, on ne sélectionne que des bords orientés compris dans une zone déterminée de l'image aussi bien pour la détermination de la rotation que de la translation, le transducteur comporte une mémoire avec un nombre M de pixels de prise de vue supérieur au nombre de pixels de l'image utile produite et la correction consiste à déplacer une fenêtre image utile dans la mémoire de prise de vue selon les valeurs de rotation et de translation déterminées, APPLICATION A LA CARACTERISATION DU MOUVEMENT D'UN OBJET PAR RAPPORT A UN TRANSDUCTEUR (MESURE DE DISTANCE, TRANSLATION, ROTATION)
- application à un procédé de caractérisation de mouvements d'un objet par rapport à un transducteur, l'objet dans un espace étant représenté par un ensemble de données obtenues par le transducteur et associées à des pixels ou points évoluant dans le temps et représentés à une succession de moments T, lesdites données étant sous forme d'un signal numérique composé d'une suite de nombres binaires associés à des signaux de synchronisation permettant de définir le moment T de l'espace et la position dans cet espace auxquels les données reçues à un instant donné sont associées, le signal numérique comportant des séquences périodiques organisées en sous séquences successives de données, lesdites données étant caractérisables par au moins un paramètre, ledit procédé comportant une première étape dans laquelle, d'une part, on caractérise le signal numérique sous forme de signaux temporels représentatifs desdits paramètres au cours du temps pendant ladite période et, d'autre part, on produit en concordance un signal spatial représentatif des coordonnées des données successives du signal numérique, ledit procédé comportant une seconde étape d'analyse pendant au moins une séquence du signal numérique et dans laquelle on met en œuvre sous contrôle d'un programme applicatif, au moins un neurone spatio-temporel, dit module STN, recevant des données en entrée de paramètre(s) et produisant par calcul d'histogrammes, en fonction d'au moins une entrée de rétro- annotation, des résultats statistiques dans des registres et, en sortie, des résultats de classification, au moins le/un des modules STN recevant en entrée de paramètre(s) au moins un signal temporel et en entrée de rétro-annotation au moins un signal de classification de signal spatial, dans laquelle l'espace est un espace de perception ( , LD), la perception de l'objet consistant en une suite hiérarchique de zones perçues et leurs barycentres dans un espace cartésien ou polaire et pouvant être représentée sous une forme d'un graphe de vecteurs reliant hiérarchiquement les barycentres de zones perçues, une donnée de logarithme de la distance du barycentre d'origine de vecteur au transducteur étant associée à chaque vecteur, l'espace de perception ayant un repère de premier axe correspondant au logarithme LD de la distance du point d'origine du vecteur au transducteur et de second axe correspondant au module p des vecteurs reliant les barycentres, le signal numérique p,,LΩm véhiculant des points modulaires de perception et on produit au moins un signal temporel qui est un signal d'orientation de bord à partir du signal numérique,
- le signal numérique /σ/, LDjn est identifié,
- le signal numérique identifié obj provient d'une mémoire de LABEL obtenus par perception, - la perception de l'objet résulte soit d'une perception en direct, soit d'une perception antérieure et mémorisée, soit d'une perception crée par calcul,
- on produit en outre dans l'espace de perception un signal temporel qui est un signal de variation d'orientation de bord à partir du signal ( ,LD) et on détermine des zones et barycentres dans l'espace de perception en fonction de la variation de l'orientation de bord. L'invention concerne également un dispositif automatisé de perception d'un objet qui comporte des moyens permettant au moins l'exécution des procédés précédents et/ou des applications précédentes selon une ou plusieurs de leurs déclinaisons éventuellement combinées selon toutes les possibilités techniquement envisageables. La présente invention va maintenant être exemplifiée dans la description qui suit, sans pour autant en être limité, et en relation avec les figures suivantes:
- la figure 1 représente, dans sa généralité, un dispositif selon l'invention pour la détermination et la localisation, dans une scène, d'un bord orienté faisant partie d'une frontière recherchée, ainsi qu'éventuellement de la courbure de ce bord, afin de repérer et délimiter cette frontière, avec mise en œuvre d'un caméscope, comme convertisseur d'image, pour observer la scène et la convertir en une succession de trames de type vidéo, ce dispositif comportant une unité de traitement temporel et au moins une unité de traitement spatial des trames, ainsi qu'au moins une paire de modules STN bouclées qui coopèrent avec les unités de traitement,
- la figure 2 illustre une variante d'une portion de la figure 1 , comportant un imageur MOS substitué au caméscope de celle-ci,
- la figure 3 illustre deux bords orientés, l'un courbe et l'autre cunéiforme (c'est-à-dire en forme de coin), tels qu'obtenus par mise en œuvre du dispositif de la figure 1 , éventuellement modifié selon la figure 2, - les figures 4 et 5 montrent les phases successives du traitement, respectivement pour l'orientation et pour la courbure d'un bord, dans le dispositif de la figure 1 , éventuellement modifié selon la figure 2,
- les figures 6 et 7 représentent l'organigramme illustrant les étapes du procédé de traitement selon l'invention, respectivement pour l'orientation et pour la courbure d'un bord, avec mise en œuvre du dispositif de la figure 1 (éventuellement modifié selon la figure 2), - la figure 8 représente la visualisation de la valeur angulaire discrète de la tangente en un point d'un bord orienté et de son voisinage immédiat, pour chacun des pixels validés,
- la figure 9 illustre le calcul de la variation angulaire d'une frontière, par mise en œuvre d'une matrice carrée de 3X3 pixels, à partir des résultats obtenus dans la figure 8,
- la figure 10 représente la visualisation de la variation de la valeur angulaire, donc la courbure, d'un bord orienté, pour chacun des pixels validés, avec sa légende sur la figure 10a, - la figure 1 1 montre la relation entre le traitement en flot continu des pixels dans l'unité de traitement temporel de la figure 1 (éventuellement modifiée selon la figure 2) et sa représentation spatiale affichée,
- la figure 12 illustre un mode de réalisation préféré de l'unité de traitement temporel du dispositif selon la figure 1 ,
- la figure 13 représente un mode de réalisation préféré des deux unités de la figure 12 effectuant le calcul du produit scalaire de la valeur du pixel et de la fonction de dérivation, pour une résolution spatiale donnée, - les figures 14 et 15 représentent les valeurs de paramètres pour les fonctions de dérivation, respectivement suivant l'axe des x et suivant l'axe des y, mises en œuvre pour déterminer, pour la résolution spatiale précitée, ledit produit scalaire, dans le mode de réalisation de la figure 13, - la figure 16 illustre la multiplication de l'unique unité de traitement spatial angulaire et de la paire 1 1A.1 1 B de modules STN de la figure 1 , en vue de la détermination d'une succession de plusieurs bords orientés, pour former la frontière à déterminer, - la figure 17 est une représentation des bords orientés successifs, mis bout à bout pour former ladite frontière, obtenus par mise en œuvre du dispositif de la figure 1 (éventuellement modifié selon la figure 2), avec multiplication de certaines unités selon la figure δ, - la figure 18 illustre une extension d'un dispositif selon l'invention et utilisant un triplet de modules STN pour réaliser le couplage, pour une position de pixel, de l'orientation et de la courbure du bord traité, avec la courbure comme critère de classification, afin de choisir entre des frontières rectilignes, courbes ou cunéiformes,
- la figure 19 représente une extension du dispositif selon l'invention dans le but de combiner analyse et synthèse,
- les figures 20 et 21 représentent le contour obtenu en mettant en œuvre une courbe cubique, respectivement hermitienne et de Béziers, avec le dispositif de la figure 19,
- les figures 22 et 23 illustrent le résultat résumé des calculs analytiques d'un contour, respectivement non fermé et fermé, constitué par une suite de bords orientés, à partir des valeurs perçues précédemment, par mise en œuvre du dispositif selon la figure 19,
- les figures 24 à 35 illustrent l'application de l'invention à l'assistance à la conduite apportée au conducteur d'un véhicule sur une route et, en particulier: - la figure 24 représente la visualisation des paramètres obtenus par la détermination et la localisation d 'une portion droite de limites de voie de circulation (ou route) par mise en œuvre d'un dispositif selon l'ensemble des figures 1 (éventuellement modifiée selon la figure 2), 16 et 19, ainsi qu'éventuellement 18,
- les figures 25 et 26 illustrent la définition mathématique des paramètres de la portion droite de limites de voie de circulation (ou route) selon la figure 24, telle que vue respectivement par le convertisseur d'image et à la verticale du véhicule,
- la figure 27 représente l'organigramme décrivant les opérations effectuées sur les deux triplets de données d'entrée en provenance du dispositif mis en œuvre dans la figure 24 pour obtenir les vues des figures 25 et 26 afin de faire l'analyse et la synthèse d'une route, - la figure 28 illustre une application de l'invention à la perception d'une portion courbe d'une limite de voie de circulation (ou route) par mise en œuvre des dispositions selon les figures 24 à 27, - la figure 29 représente schématiquement la portion courbe de la figure 28 vue de dessus,
- la figure 30 illustre l'organigramme permettant de déterminer, pour ladite portion courbe de limite de voie de circulation (ou route), le passage de la représentation selon la figure 28 à celle selon la figure 29,
- la figure 31 représente une visualisation des deux limites de la voie de circulation d'une portion courbe de route, telle qu'obtenue par mise en œuvre des dispositions selon les figures 24 à 30, - la figure 32 illustre la représentation calculée de la portion courbe de route de la figure 31 vue de dessus,
- la figure 33 est une représentation du label ou étiquette, de cette portion courbe de la route des figures 31 et 32,
- les figures 34 et 35 illustrent l'application de l'invention pour présenter, au conducteur d'un véhicule automobile, une vue panoramique de l'environnement global du véhicule, la figure 34 montrant schématiquement les moyens mis en œuvre et la figure 35 cette vue elle-même,
- les figures 36 à 39 illustrent l'application de l'invention à la détection de la tendance à l'endormissement d'un conducteur de véhicule roulant sur une route et, en particulier:
- la figure 36 qui représente schématiquement les moyens mis en œuvre pour cette détection, comprenant au moins un convertisseur d'image dans un dispositif selon la figure 1 (éventuellement modifié selon la figure 2), comportant éventuellement en outre une ou plusieurs des modifications précitées,
- la figure 37 qui illustre ce que voit le convertisseur d'image mis en œuvre dans le montage de la figure 36, - les figures 38 et 39 qui représentent deux possibilités de réalisation du montage de la figure 36, respectivement avec un seul convertisseur et un élément optique de réflexion de renvoi pour le visage du conducteur et avec deux convertisseurs d'image,
- les Figures 40 et 41 illustrent, quant à elles, l'état de la technique connu du domaine de l'invention tel que l'on peut, par exemple, le retrouver dans la demande FR-2.821.459 qui a précédemment été mentionnée, - les figures 42 à 47 illustrent une application de l'invention à la détermination de la distorsion optique géométrique avec :
- la figure 42 qui représente la détermination sur une image d'une ligne et de trois points sur la ligne ainsi que le déplacement des points, - la figure 43 qui représente la mise en œuvre de modules STN pour détermination d'une zone comportant un bord ayant des propriétés recherchées ainsi que des histogrammes, figures 43a et 43b, calculés par ces modules STN,
- la figure 44 qui représente la mise en œuvre de modules STN avec recrutement progressif pour détermination de zones de plus en plus précises comportant des bords orientés ayant des propriétés recherchées ainsi que des histogrammes calculés par ces modules STN,
- la figure 45 qui représente une modalité de détermination d'un indice d'alignement pour trois points,
- la figure 46 qui représente une première version du dispositif de détermination et correction de la distorsion optique avec système automatisé de perception pour la détermination et caractérisation de bords orientés d'objets, et - la figure 47 qui représente une seconde version du dispositif de détermination et correction de la distorsion optique avec système automatisé de perception pour la détermination et caractérisation de bords orientés d'objets, - les figures 48 à 51 illustrent une application à l'analyse d'une scène sous forme d'images d'un lieu géographique avec :
- la figure 48 qui représente la détermination sur une image d'une ligne d'horizon du lieu,
- la figure 49 qui représente l'image de la figure 48 après rotation pour mise à l'horizontale de la ligne d'horizon, ainsi que le référentiel u,v lié à ladite ligne d'horizon,
- la figure 50 qui représente après changement de référentiel, dans un référentiel plan horizontal en vue de dessus, la construction ou synthèse de la scène à partir des bords orientés d'objets de la zone,
- la figure 51 qui représente toujours dans un référentiel plan horizontal en vue de dessus, l'utilisation de la synthèse du lieu pour perception cohérente d'objets en déplacement,
- les figures 52 à 61 illustrent une application de stabilisation d'images présentant un bougé avec:
- la figure 52 qui représente une modalité de mise en œuvre de module(s) STN pour déterminer la composante rotation du bougé,
- les figures 53 et 54 qui représentent deux histogrammes de répartition des orientations de bord entre deux images successives,
- la figure 55 qui représente une modalité de mise en œuvre de modules STN pour déterminer la composante translation du bougé,
- la figure 56 qui représente deux histogrammes de répartition spatiale de coins extraits de bords orientés entre deux images successives ainsi que la correction de la composante rotation, - la figure 57 qui donne un organigramme logiciel pour calcul d'une courbe de corrélation entre deux histogrammes,
- la figure 58 qui représente un noyau matériel pour calcul de points d'une courbe de corrélation entre deux histogrammes,
- la figure 59 qui représente l'intégration du noyau matériel de la figure 58 au sein d'une unité de corrélation pour calcul d'une courbe de corrélation entre deux histogrammes ainsi que deux exemples de courbes de corrélation,
- les figures 59a et 59b qui représentent deux exemples de courbes de corrélation, - la figure 60 qui représente un exemple de bougé pour une séquence d'images stabilisées avec comme référentiel l'origine de la première image dans un transducteur ayant une mémoire de prise de vue de taille supérieure aux images,
- la figure 61 qui représente la séquence d'images de la figure 60 mais avec un référentiel basé sur l'origine de la dernière image,
- les figures 62 à 66 illustrent une application au calcul de distances avec:
- la figure 62 qui représente la perception sur une image de scène d'une zone Z0 d'image comportant des sous zones
BarZio, BarZ2o et BarZ30,
- la figure 63 qui représente la hiérarchisation de la perception avec une partie de graphe de perception constitué par les liens entre barycentres de zones, - la figure 64 qui représente dans le référentiel spatial p LD une suite de perceptions effectuées sur des images de la scène prises à des distances différentes et montrant une invariance permettant notamment lors d'une perception ultérieure de déterminer la distance à laquelle l'image a été prise ou, encore, de faciliter la reconnaissance d'une perception ultérieure par rapport à un ensemble de perceptions antérieures (par exemple reconnaissance de visage ou classification/affiliation d'objets par rapport à d'autres préalablement connus), - les figures 65 et 66 qui représentent l'analogie entre l'utilisation du paramètre temporel de luminance (Lum ou L) associé à un repère spatial x,y et un paramètre Obj correspondant à la perception de la figure 63, associé à un repère p.LD par une méthode équivalente au procédé de traitement selon les organigrammes des figures 6 et 7. L'invention s'applique, d'une manière générale, au traitement d'un flot de signaux numériques débités par une source appropriée (notamment transducteur ou résultats d'une système de traitement analogue à celui décrit ici) observant l'évolution, dans un espace spatio-temporel, d'un phénomène donné (notamment visuel, sonore, odorant ou autres) représenté par au moins un paramètre représentatif, et traduisant ce phénomène en un signal électrique numérique structuré en séquences temporelles périodiques successives, qui représentent chacune le phénomène pendant une courte période de temps donnée, découpées elles-mêmes en sous- séquences spatiales successives, les séquences temporelles étant traitées dans une unité de traitement temporel et les sous-séquences spatiales étant traitées dans au moins une unité de traitement spatiale angulaire afin de déterminer et caractériser un bord orienté qui correspond à une localisation spatiale où se produit une variation brusque de la valeur dudit paramètre. Un objet de l'espace est délimité par un ensemble de bords formant une frontière. On considérera, dans la description détaillée qui va suivre de modes de réalisation préférés de l'invention illustrés sur les figures correspondantes, essentiellement le cas où le phénomène est de type visuel (espace à deux dimensions) et où les signaux électriques numériques représentent les images successives d'une scène observées par un transducteur vidéo et traitées soit en direct, soit après mémorisation (enregistrement). On va donc décrire maintenant l'invention en détail, dans ses modes de réalisation préférés, dans le cas de l'observation d'une scène au moyen d'un caméscope (éventuellement après stockage sur un support approprié et lecture de celui-ci, par exemple au moyen d'un magnétoscope ou d'un lecteur de DVDs) ou d'une webcam à imageur de type CMOS. On rappelle que l'un des buts de l'invention, dans le cas d'un phénomène de type visuel, est de caractériser des bords d'objets par leur orientation et variation d'orientation pour notamment détecter au cours d'une activité d'analyse, dans une scène, une succession de bords orientés ou chaîne de bords orientés (ou frontière), déterminés par la variation de la luminosité (éventuellement de la coloration) au niveau de ces bords et de placer, toujours lors de l'analyse, bout à bout les bords successivement détectés afin d'en déduire par reconstruction, au cours d'une activité de synthèse, un contour. Notons que le cas de bords qui se suivent d'une manière continue (ininterrompue) pour former une frontière ne pose pas de difficulté car on passe directement d'un bord au suivant. Par contre, il se peut que les bords ne se suivent pas d'une manière continue. Dans ce cas, outre la mise en œuvre de critères de recherche du type association de bords présentant des caractéristiques communes (orientation, couleur par exemple) et/ou étant proches selon un critère de seuil absolu ou relatif (par rapport aux autres bords), une méthode particulièrement efficace est basée sur la recherche de critères spécifiques (orientations, disposition relative de barycentres... ) concernant une frontière ayant été préalablement analysée et qui sont mémorisés par le système ou pré-configurés dans l'application. Ces critères sont de préférence présentés sous forme de LABELS. Sur la figure 1 , on a illustré un mode de réalisation préféré d'un dispositif, selon l'invention, pour la détermination et la localisation d'un bord orienté C. Ce dispositif comprend essentiellement: - un générateur de signaux 1 , constitué par: un caméscope 2 fournissant un signal vidéo numérique classique S(PI)t, fonction du temps t, qui comporte une succession de trames constituant une succession de séquences temporelles, qui représentent chacune la scène observée pendant la durée d'une trame, constituées chacune par une succession de lignes constituant une succession de sous-séquences spatiales, constituées chacune par une succession de points images ou pixels PI, et une unité électronique de commande 3, qui sépare, de ce signal vidéo S(PI)t, d'une part, les signaux d'image DATA(i,j,t), fonctions du temps t et des positions de pixel i et j, respectivement de ligne et de colonne, et, d'autre part, les signaux classiques de synchronisation de trame ST et de synchronisation de ligne SL, et qui comporte une horloge 4 débitant, à intervalles réguliers, égaux à l'intervalle de temps entre deux pixels successifs, des signaux d'horloge CL pour la synchronisation des pixels P(i,j) successifs;
- un séquenceur 5 qui reçoit les signaux ST, SL et CL du générateur de signaux 1 et en déduit trois signaux de séquencement du traitement, à savoir les signaux INIT de début ou d'initialisation du traitement, CALCUL de traitement proprement dit (après INIT) pendant un nombre prédéterminé de P(i,j) de la séquence et enfin RESULTATS d'inscription des résultats du traitement réalisé pendant la phase CALCUL;
- une unité 6 de traitement temporel comportant au moins deux sous-unités 6A et 6B, à savoir: - une sous-unité 6A qui, à partir du signal DATA(i,j,t) reçu de l'unité 3, détermine, pour chaque pixel P(i,j) et au temps t, au moins un signal correspondant à un paramètre du signal DATA(i,j,t), soit dans le cas présent d'un phénomène visuel, au moins le signal L(i,j,t) de luminance, ainsi qu'éventuellement les signaux MVT(i.j) de mouvement (ou déplacement) et/ou de direction de mouvement et/ou, dans le cas d'un signal vidéo en couleur, T(i,j) de teinte et S(i,j) de saturation (ou un autre couple de signaux permettant, avec le signal L(i,j,t), de reconstituer la couleur), ces signaux étant également fonction du temps t (non figuré entre les parenthèses), et - une sous-unité 6B de détermination et caractérisation angulaire qui, à partir du signal L(i,j,t) élaboré dans la sous- unité 6A, détermine le signal α(i,j), coordonnée polaire d'angle d'orientation α des pixels PI, de positions i,j, relativement à un axe Ox, avec son drapeau (flag) ou signal de validation Val-α(i ), et éventuellement ρ(i,j), coordonnée polaire de module de ces pixels relativement à l'origine O, et, en outre éventuellement, pour certaines applications: - une sous-unité 6C de détermination et caractérisation de la variation angulaire qui, à partir de l'angle α élaboré dans la sous-unité 6B, détermine δα(i,j), variation spatiale de l'angle α autour de α(i,j), cette variation donnant une indication sur la courbure du bord et donc de la frontière à l'emplacement correspondant, avec son drapeau (flag) ou signal de validation Val-δα(i.j); - deux unités successives 7 et 8 de traitement spatial, à savoir: - une unité 7 de traitement spatial positionnel qui, à partir des signaux ST, SL et CL reçus du générateur de signaux 1 , détermine les positions i et j de pixel dans une trame et - une unité 8 de traitement spatial angulaire comportant au moins un module de rotation 9 pour un traitement spatial angulaire qui effectue un calcul de rotation d'angle θ sur les coordonnées cartésiennes rectangulaires x et y de position i et j de pixel, cet angle étant égal à zéro pendant la séquence d'initialisation et successivement, en fonction de la valeur du d rapeau (flag) de validation Val-α(i,j), égal à α1 , α2...pendant les séquences ultérieures, ce dernier angle α1 , α2... étant défini par la valeur de α issue du résultat du traitement de la séquence précédente dans la sous-unité 6B et les unités STN 1 1A et 1 1 B discutées ci-après (par exemple α1 résultant du traitement de la première trame, α2 résultant du traitement de la deuxième trame, etc.), et qui détermine, à partir des positions de pixel i et j reçues de l'unité 7, les coordonnées X et Y de pixel après une rotation de cet angle, à savoir par exemple XΘ1 (i,j) et YΘ1 (i,j), pour α1 ; au cas où l'unité 6 comporte une sous-unité 6C, qui détermine δα et son drapeau (flag) de validation Val-δα(i,j), l'unité 8 comporte, en plus du module de rotation 9 qui réalise des rotations d'angle θ, un module 10 analogue qui effectue un calcul de rotation d'angle γ sur les coordonnées cartésiennes x et y de position i et j de pixel, cet angle étant égal à zéro pendant la séquence d'initialisation et ensuite, pendant les séquences ultérieures, soit maintenu égal à zéro, soit porté successivement à δα1 , δα2... en fonction de la valeur du drapeau (flag) Val-δα(i );
- une paire d'unités STN à registres (de types précisés ci- dessous), à savoir une unité bi-liπéaire 1 1A, à double entrée de données e2, et une unité uni-linéaire 1 1 B, à simple entrée de données e1 , connectées en boucle, la sortie de données de classification s de chacune étant connectée à une entrée de rétro-annotation r de l'autre, l'unité STN 1 1A recevant, sur sa double entrée de données e2, les sorties successives du module de rotation 9, telles que la paire XΘ1 (i,j)-YΘ1 (i,j) pour α1 , et débitant, sur sa sortie de données s, la portion Zα1 (i,j) de zone de bord orienté C (qui, sur la figure 3, correspond à une orientation du bord C d'angle α1 ), fonction de l'angle θ de rotation (Θ=0,α1 , α2...), tandis que l'unité STN 1 1 B reçoit, sur sa simple entrée de données e1 , l'angle α(i,j), déterminé par la sous-unité 6B, et débite, sur sa sortie s, la classification α1 (i,j) de l'angle α(i, ,j); lorsque l'unité 6 comporte une sous- unité 6C, qui détermine δα et son drapeau (flag) de validation Val-δα(i,j), et donc l'unité 8 comporte un module de rotation 10, qui débite le résultat d'une rotation d'angle δα, le dispositif selon la figure 1 comporte, en plus de la paire d'unités STN 11A et 1 1 B, une paire analogue d'unités STN bouclées 12A et 12B, qui reçoivent respectivement, sur leurs entrés e2 et e1 , des signaux de type Xγ et Yγ du modulel O et γ de la sous-unité 6C; et
- un micro-contrôleur ou microprocesseur 13 qui contrôle l'ensemble du système y compris la sous-unité 6B, avec un programme applicatif (API), en effectuant, à cet effet, la lecture (flèche F1 ) des données inscrites dans les registres Reg des unités STN 1 1A et 1 1 B, à savoir la position de la raie maximale POSRMAX ou, mieux, la position de la médiane POSMED, de l'histogramme des données correspondantes calculées pendant la validation du signal CALCUL et correspondant respectivement à la valeur du barycentre BarZαl de la zone Zα1 (unité 1 1 A) et à la valeur α1 , α2... de l'orientation locale du bord C (unité STN1 1 B), ainsi que le nombre NBPTS de données participant au calcul des histogrammes, et l'inscription (flèche F2), à partir de la deuxième séquence opérationnelle, de l'angle θ de rotation de plan dans le module de rotation 9 (après la première séquence pour laquelle θ=0), soit α1 ,α2.. si NBPTS est supérieur à un seuil S1 , soit zéro dans le cas contraire; le microprocesseur contrôlant d'une manière analogue le système avec la sous-unité 6C, lorsqu'elle existe, à partir de la lecture de la paire d'unités STN 12A et 12 B, qui existent alors également, et avec inscription de l'angle γ de rotation de plan dans le module de rotation 10. Par rapport à la combinaison fonctionnelle de modules STN telle que présentée sur la Figure 40 de l'état de la technique qui est tirée de l'annexe de la demande FR2.821 .459, on constate, dans la présente demande qui, elle, traite des paramètres caractéristiques d'un bord, c'est à dire d'une transition particulière de la valeur d'un paramètre (ou d'une combinaison de paramètres), la présence, d'une part, d'une sous-unité 6B de détermination et de caractérisation angulaire et, d'autre part d'une sous unité 6C de détermination et caractérisation de variation angulaire. Ces sous-unités 6B et 6C (ainsi que la 6A) de la Figure 1 correspondent in fine à des unités de traitement temporelles. Ainsi, outre les paramètres temporels déjà connus comme par exemple L, T, S, VMvτ, DMVT, la présente invention donne la possibilité d'utiliser en entrée de modules STN les nouveaux paramètres temporels que sont le module p de bord, l'orientation α de bord, la variation d'orientation δα de bord, leurs signaux de validation correspondants Val-α et Val- δα. Il est ainsi possible de réaliser des applications mettant en œuvre tout ou partie de ces paramètres temporels. Notons que l'utilisation des signaux produits par les sous-unités 6B et 6C, notamment dans des associations de couples de deux modules/unités STN (ou neurones spatiotemporels, ces termes étant équivalents), un premier traitant des données temporelles (notamment l'angle d'orientation α ou la variation d'angle δα), et un second traitant des données spatiales (notamment la position X,Y des pixels), peut se faire d'une manière isolée, c'est à dire dans une application dans laquelle on ne met en œuvre que les orientations des bords ou dans une application dans laquelle on ne met en œuvre que les variations d'orientations des bords ou elle peut se faire dans une application dans laquelle on met en œuvre les orientations des bords et leurs variations. Ainsi, sur la Figure 1 avec les deux couples de modules STN et les sous-unités 6B et 6C, on a représenté une application dans laquelle on met en œuvre les orientations des bords (utilisation de α et Val-α dans le couple de modules STN 1 1A et 1 1 B) et leurs variations (utilisation de δα et Val-δα dans le couple de modules STN 12A et 12B). De même on doit noter qu'en fonction des besoins de l'application l'angle de rotation du/des modules de rotation 9 peut être laissé à 0 (absence de rotation) ou à une autre valeur ou, encore, évoluer au cours des séquences en fonction de perceptions précédentes. Pour comparaison, sur la Figure 40 provenant de l'annexe de la demande FR2.821 .459, les signaux d'entrée du système 520 sont envoyés, d'une part, dans une unité de traitement temporel 50 et, d'autre part, dans une unité séquenceur 90. Dans l'unité de traitement temporel 50 sont générés des signaux représentatifs de paramètres du signal d'entrée tel que la luminosité, la teinte, la saturation et le mouvement (vitesse et direction). L'unité séquenceur 90 permet la génération de signaux permettant d'assurer les étapes de fonctionnement du système (initialisation, calculs, résultats) tels que INIT (initialisation), « WRITE » (équivalent de CALCUL pour la présente demande) et « END » (équivalent de RESULTAT pour la présente demande). Une unité de traitement spatial 96 permet de générer des signaux selon un référentiel particulier PO à P15. Les signaux des unités 50 et 96 sont envoyés sur un bus 510 de données qui est en relation avec une organisation matricielle de modules STN 1 a00 à 1 a33 qui produisent des signaux de rétro- annotation sur un bus 1 1 1. La configuration fonctionnelle des modules STN (choix des paramètres d'entrée, de rétro annotation, modalités de calcul, résultats... ) est sous la dépendance d'une unité de contrôle 513 avec un programme de supervision embarqué (« embedded application ») et une interface de programme applicatif (API). D'autres éléments fonctionnels sont présents (qui peuvent être utilisés dans la présente demande) tels qu'un bloc de commande de visualisation 365, un écran 80, un bloc curseur 366, une mémoire semi-graphique 367. Toujours pour comparaison, par rapport aux unités rotationnelles 96 de la Figure 40; dans la présente demande l'unité de traitement spatial angulaire 8 avec ses modules de rotation 9 et 10, utilise des valeurs d'angle θ qui résultent de calculs de couples de modules STN. Ces modules 9 et 10 de l'unité 8 (ainsi que de l'unité 7) de la Figure 1 correspondent in fine à des unités de traitement spatiales. Enfin, en ce qui concerne les couples de modules STN de la Figure 1 , on peut retrouver une association approchante sur la Figure 41 provenant de la demande FR2.821.459, où un premier module STN 91 recevant du bus 510 un signal de mouvement, travaille dans le domaine temporel, et un second module STN 92 recevant un signal de position X,Y, travaille dans le domaine spatial. Ces deux modules sont interconnectés entre eux par rétro annotation 93, 94, chacun validant l'autre, afin de produire un signal ZA de zone 94 et un signal de vitesse V1 correspondant. La figure 2 illustre une variante 1 a du générateur de signaux 1 de la figure 1 ; le générateur de signaux 1 a de la figure 2 comprend, d'une part, un imageur CMOS ou CCD, référencé 2a, ou une « webcam » d'un autre type, dont le signal de sortie DATA(i,j,t), qui reproduit la succession de scènes observées, ne comporte pas, contrairement au signal de sortie S(PI)t du caméscope 2 de la figure 1 , de signaux de synchronisation ST et SL, et, d'autre part, une unité électronique de commande 3a qui génère les signaux de synchronisation de trame ST et de synchronisation de ligne SL, en plus des signaux d'horloge CL synchronisant les pixels. On peut donc constater que, alors que dans le mode de réalisation de la figure 1 , on prévoit la séparation, à partir du signal S(PI)t débité par le caméscope 2, des signaux de synchronisation ST et SL et des signaux d'image DATA(i,j,t) par l'unité de commande 3 qui, par ailleurs génère le signal d'horloge CL, le caméscope ayant un rôle de maître vis-à-vis de l'unité électronique de commande, au contraire, dans le mode de réalisation de la figure 2, c'est l'unité de commande électronique 3a qui asservit l'imageur 2a. Mais toutefois, dans les deux modes de réalisation des figures 1 et 2, ce sont les même signaux DATA(i,j,t) à destination de l'unité 6 de traitement temporel, et ST, SL et CL, à destination de l'unité 7 de traitement spatial positionnel, qui sont débités par les deux générateurs de signaux 1 et 1 a. A ce sujet, on pourra se référer à la figure 1 de la demande de brevet internationale numéro de publication WO-01 /63557 (A2) et à la description de cette figure. On va décrire maintenant plus en détail les unités des figures 1 et 2 et leurs composants. Le générateur de signaux 1 de la figure 1 comporte un caméscope 1 de type quelconque ou plus généralement un transducteur traduisant des vues successives d'une scène en une succession de signaux électriques numériques représentatifs; plus particulièrement, dans les modes de réalisation préférés envisagés ci-après, ces signaux sont constitués par des signaux vidéo numériques classiques, en noir et blanc ou en couleurs, comportant: d'une part, des signaux d'image DATA(i,j,t) formés par une succession de trames (dans le cas de trames entrelacées deux par deux, on appellera ci-après « trames successives » les trames successives de même nature, c'est à dire une trame sur deux) qui représentent chacune une vue d'une scène à un « instant » (durée d'une trame, soit en général 1 /25, 1 /50, 1 /30 ou 1 /60 de seconde) donné et sont constitués elles mêmes par une succession de lignes qui comportent chacune une succession de points-images ou pixels P(i,j) (disposés suivant une matrice rectangulaire et représentés chacun par un emplacement de ligne i et de colonne j), et d'autre part, des signaux classiques de synchronisation de trame ST (au début de chaque trame) et de synchronisation de ligne SL (au début de chaque ligne). L'unité électrique de commande 3 sépare les signaux d'image DATA(i,j,t), d'une part, et les signaux de synchronisation ST et SL, d'autre part, en réalisant successivement les opérations suivantes comme dans un séparateur classique du type de celui d'un récepteur de télévision: a) séparation, par limitation d'amplitude (« amplitude clipping » ), de l'information d'image DATA(i ) et de l'ensemble des informations de synchronisation ST et SL; b) séparation de l'information de synchronisation de trame ST, d'une part, et de l'information de synchronisation de ligne SL, d'autre part; et c) élimination par limitation d'amplitude, dans chacun de ces signaux de synchronisation ST et SL, des signaux de bruit de plus forte amplitude que ces signaux de synchronisation. Notons que dans le cas d'un transducteur, une caméra dans l'exemple donné, produisant des signaux analogiques, un moyen de numérisation desdits signaux est mis en œuvre afin de produire des signaux numériques représentatifs du type précédent. On obtient donc ainsi les signaux DATA(i,j,t), ST et SL bien séparés en sortie du générateur de signaux 3, qui débite également les signaux d'horloge CL, régulièrement espacés, à la fréquence d'horloge pixel. La structure de l'unité 6 est détaillée sur les figures 1 1 et 12 (la figure 12 représentant la structure détaillée de deux unités de la figure 1 1 ) et, de ce fait, le fonctionnement détaillé de l'unité 6 sera décrit ci-après avec référence à ces deux figures. Il suffit pour le moment de préciser que la sous- unité 6A de l'unité 6 détermine au moins la luminance L(x,y,t) du signal vidéo DATA(i,j,t) (x et y étant les coordonnées cartésiennes qui correspondent aux positions i et j de pixel et t la coordonnée de temps), tandis que la sous-unité 6B, détermine, à partir des valeurs successives de cette luminance L(x,y,t), trame par trame, les valeurs successives de l'angle α(i,j), c'est-à-dire l'angle de la tangente d'un bord orienté éventuel avec l'axe Ox, en utilisant la variation de luminance de part et d'autre de ce bord (en particulier bord d'un objet sombre sur fond plus clair ou inversement bord d'un objet clair sur un fond plus sombre), le signal α(i,j) étant accompagné de son drapeau (flag) de validation Val-α(i.j) lorsque la différence de luminance de part et d'autre du bord dépasse une valeur de seuil déterminée (mais pouvant être ajustée à la nature de la scène observée). Dans cet exemple, le bord correspond à une zone de variation importante du paramètre luminance L(x,y,t) du signal vidéo. L'invention peut également être mise en oeuvre en considérant un autre paramètre ou une autre combinaison de paramètre. Ainsi, un bord peut être défini comme par exemple une zone de variation importante de vitesse avec MVT (mouvement) à la place de L (luminance), de saut de couleur avec T (teinte) à la place de L, de température dans le cas d'un transducteur produisant un signal de type vidéo dont on peut extraire un paramètre température, etc.. En dehors de tels paramètres considérés isolément, on peut définir un bord à partir d'une combinaison de paramètres comme par exemple une variation importante de la luminosité ET un changement de couleur. Enfin si on considère plus particulièrement dans l'exemple détaillé de réalisation qu'un bord correspond à une zone où se produit une variation importante de la luminosité, on peut, au lieu de la variation considérer, au choix, une gamme de valeur(s) particulière(s) de la luminosité ou des valeurs inférieures à un seuil ou des valeurs supérieures à un seuil. Dans sa généralité, un bord est donc défini par une variation caractéristique et détectable d'au moins un paramètre du signal du transducteur. Avantageusement la sous-unité 6C, lorsqu'elle existe, détermine, à partir de l'angle α(i,j) (calculé par le module 6B), la variation spatiale δα(i,j) de cet angle entre deux pixels voisins, ainsi que son drapeau (flag) de validation Val-δα(i.j) lorsque cette variation spatiale est effective (les deux valeurs α(i+k,j+l) et α(i+k,j+l) avec k={-1 ,0, 1 } et l={-1 ,0, 1 } adjacentes à la valeur α(i,j) dans l'orientation de cette valeur existent et permettent donc le calcul de δα(i,j) égal à la valeur absolue de la différence entre ces deux valeurs adjacentes). La valeur de l'angle α(i,j) et son drapeau (flag) Val-α(i ) sont débités par la sous-unité 6B sur l'entrée e1 du bloc STN2 1 1 B, tandis que la valeur de δα et son drapeau (flag) Val- δα(i,j) sont débités par la sous-unité 6C (lorsqu'elle existe) sur l'entrée e1 du bloc STN2 12B. L'unité de traitement spatial positionnel 7 (par exemple de type connu en réception de signaux de télévision) déduit, des signaux de synchronisation ST et SL et du signal d'horloge CL (en provenance, tous les trois, du générateur de signaux 1 ), les sous-séquences i,j repérant les positions de pixel suivant les coordonnées cartésiennes x et y de la matrice de pixels d'une trame. Le module de rotation 9 de traitement spatial angulaire effectue une rotation d'angle θ sur les coordonnées cartésiennes d'entrée (en x et en y) représentant les positions i et j de pixel pour obtenir les coordonnées de sortie X et Y après une telle rotation, en soumettant le couple de coordonnées d'entrée à l'opération symbolique X r(iJ) cos θ sin θ (U) -sin θ cos θ x J Dans cette formule l'angle θ a successivement, au cours des séquences, les valeurs 0,α1 , α2... (ces dernières valeurs angulaires étant déterminées, à partir du couple de blocs STN 1 1 A et 1 1 B par le microprocesseur 13, comme exposé). Le module 10 de traitement spatial angulaire (lorsqu'il existe) effectue une rotation d'angle γ de la même manière que le module de rotation 9 en utilisant la formule symbolique ci-dessus dans laquelle toutefois l'angle θ est remplacé par l'angle γ. Des modules, tels que 9 et 10, de traitement spatial angulaire opérant une rotation sur les coordonnées cartésiennes sont bien connus et mis en œuvre, par exemple, sous le nom de « space transform », dans les demandes de brevet international publiées WO01 /63557 en relation avec les figures 26 et 27 (unité 60) et la description correspondante et dans WO98/05002 en relation avec la figure 12 et la description correspondante. Quant aux paires d'unités STN bouclées, telles que 1 1 A- 1 1 B et 12A-12B, elles sont décrites dans la demande de brevet internationale numéro de publication WO02/69265 avec référence à la figure 7 de celle-ci (voir également la description en relation à la Figure 41 de la présente demande) et dans la demande de brevet français FR02/10066, avec référence aux figures 41 (pour la paire bouclée) et 20 et 23a-23b (pour les unités uni-linéaire et bi- linéaire respectivement). On rappellera seulement que chaque unité STN comporte une unique entrée e1 ou une double entrée e2 (module STN bilinéaire) de données, pour les paramètres à traiter, une sortie s de classification, une entrée de rétro-annotation r (connectée à la sortie s de l'autre unité STN de la paire dans le cas d'une paire bouclée d'unités STN), un groupe de registres Reg dans lesquels s'inscrivent les résultats des valeurs caractéristiques recherchées à partir de l'histogramme des données d'entrée, une fonction de traitement f0g, notamment pour le registre, et une API avec programme de commande et contrôle qui détermine, entre autres, la fonction f0g. Dans le cas du dispositif selon la figure 1 , cela correspond à l'API (programme) exécuté par le microprocesseur 13 ayant comme entrée la flèche F1 (lecture des registres) et comme sortie la flèche F2 (notamment configuration fonctionnelle des modules entre-eux : paramètres, signaux de classification et de rétroannotation à utiliser, bornes, inscriptions dans les modules de rotation 9 et éventuellement 10). Se référant maintenant à la figure 3, sur laquelle on a porté les résultats obtenus par la mise en œuvre du dispositif selon la figure 1 (éventuellement modifié selon la figure 2), on constate que le bord orienté B, faisant partie de la frontière C à déterminer et correspondant à l'angle α, a été rendu sensiblement parallèle à l'axe OXα1 déduit de l'axe originel Ox par une rotation d'axes d'angle α1 , préalablement déterminé à cet effet (comme expliqué ci-après avec référence à la figure 4). Plus précisément ce bord B est délimité par la zone Zαl , de barycentre BarZαl et comprise entre les deux BorneA et les deux BorneB, suivant les axes OXα1 et OYα1 , déduits des axes Ox, Oy par la rotation d'angle α1 , et au temps t-DT, à savoir lors de la trame antérieure, DT désignant la durée d'une trame. Quant à la seconde paire (éventuelle) d'unités STN 12A- 12B, elle permet, lorsqu'elle révèle une forte courbure, correspondant à un δα très élevé, par exemple pour α2 résultant du traitement de la deuxième trame, à une valeur δα2(i,j) très élevé, de déterminer une zone Zδα2 de forte courbure de la frontière C entre quatre bornes (non illustrées), analogues aux deux Bornes A (BorneA) et aux deux Bornes B (BorneB), en X et en Y, de la zone encadrant le bord B, le barycentre BarZδαl de cette zone permettant de localiser un coin K (ou bord cunéiforme) de la frontière C et donc au moins un point repère bien localisé dans la scène observée. En effet, δα(i,j) correspond à la différence entre α(i+k,j+|) et α(i+k,j+l) avec k={-1 ,0, 1 } et l={-1 ,0, 1 }, valeurs inscrites dans une matrice de 3x3 pixels de centre α(i,j) dans l'orientation de celle-ci (voir la figure 9 et sa description ci- après). Une différence élevée indique une variation d'angle importante pour une frontière, ce qui correspond à un coin, une différence nulle indique une absence de variation d'angle et donc une frontière qui est sur une droite, entre ces valeurs de différence, on obtient une indication d'une courbure plus ou moins prononcée pour la frontière. La figure 4 est une extension de la figure 3 illustrant la mise en œuvre du dispositif de la figure 1 (éventuellement modifié selon la figure 2) pour repérer une figure géométrique en forme de demi-cercle, prise à titre d'exemple, dans une scène observée. Sur cette figure 4, qui concerne l'angle α et son drapeau (flag) de validation Val-α, on a représenté: - suivant quatre bandes horizontales successives, de haut en bas, la séquence temporelle initiale, notée I , et les trois séquences temporelles suivantes, notées respectivement II , I II et IV, (ces quatre séquences étant constituées par quatre trames successives de signal vidéo de même nature, dans le cas particulier envisagé), et - suivant deux bandes verticales, de gauche à droite, la phase CALCUL et la phase RESULTATS d'une même séquence, cette seconde bande verticale étant sub-divisée en deux colonnes, l'une représentant les résultats obtenus par l'unité bi-liπéaire STN 1 1 1A et l'autre les résultats obtenus par l'unité uni-linéaire SNT2 1 1 B. La première bande horizontale, qui représente la séquence initiale I , à partir du démarrage, illustre, dans sa première bande verticale, le cadre général rectangulaire (la figure en demi-cercle à déterminer n'ayant pas encore été repérée), et, dans sa seconde bande verticale, les classifieurs des unités STN1 1 1A et STN2 1 1 B complètement ouverts (en réalisant une représentation « plein écran ») pour toutes les valeurs possibles des paramètres (respectivement les coordonnés cartésiennes et l'angle de rotation) afin de pouvoir percevoir la totalité de l'information, la première unité, pour les coordonnées cartésiennes X et Y, étant ouverte de 0 à I et de 0 à J en tant que bornes en x, d'une part, et bornes en y, d'autre part, comme illustré (I et J représentant le nombre de pixels respectivement par ligne et par colonne dans une trame), tandis que la seconde unité, pour l'angle de rotation α, est ouverte de 0 à 180° en tant que bornes en α. La deuxième bande horizontale, qui représente la deuxième séquence II, illustre, dans sa première bande verticale de la phase CALCUL, la frontière en demi-cercle relativement aux axes de coordonnées initiaux (pour θ=0), tel que perçu en totalité à partir du calcul des valeurs de l'angle α et de son drapeau (flag) Val-α, et, dans sa seconde bande verticale, - d'une part, dans sa première colonne pour l'unité STN 1 1 1 A, les BorneA et les BorneB en X et en Y (fonctions du temps t) encadrant le demi-cercle à repérer, relativement aux mêmes axes de coordonnées que dans la première bande horizontale de la séquence I, et - d'autre part, dans sa seconde colonne pour l'unité STN2 1 1 B, l'histogramme des valeurs de l'angle de rotation à impartir en vue d'aligner la frontière rectiligne du demi-cercle avec l'axe des abscisses après rotation d'angle α, cet histogramme révélant, par son pic RMAX et la position POSRMAX de celui-ci, la valeur de l'angle α1 à choisir en tant qu'angle θ à utiliser dans le module de rotation 9 pour la séquence suivante, à savoir la troisième séquence. En outre, le calcul du cumul du nombre de points ou pixels suivant les deux axes X et Y arrêté à la demi-somme de ce nombre, à savoir NBPTS, permet de définir la position du barycentre BarZ1 de la frontière en demi-cercle à la fin de cette deuxième séquence. La troisième bande horizontale, qui représente la troisième séquence III, illustre, dans sa première bande verticale, la rotation des coordonnées d'un angle Θ=α1 déterminé au cours de la phase calcul de la séquence précédente (à savoir la deuxième séquence), avec les BorneA et BorneB en X et en Y et le barycentre BarZ calculés suivant les nouveaux axes de coordonnées (ayant subi une rotation d'angle α1 par rapport aux axes d'origine), et dans sa seconde bande verticale des opérations de calcul similaires à celles effectuées dans la même bande au cours de la deuxième séquence, mais relativement aux nouvelles coordonnées, le bord rectiligne du demi-cercle étant parallèle au nouvel axe des abscisses en ce qui concerne l'unité STN1 et par conséquent l'histogramme pour définir α2 étant très étroit et pointu entre les Bornes Aα et Bα, en ce qui concerne l'unité STN2. La quatrième bande horizontale, qui représente la quatrième séquence IV, est analogue à la troisième bande horizontale III, mais après une rotation de Θ=α2 (et non plus de α1 ), angle déterminé par l'histogramme de la troisième séquence; l'histogramme, encore mieux délimité, de cette quatrième phase définit, par l'abscisse de son pic, soit POSRMAX, l'angle de rotation α3 qui sera utilisé par le module de rotation 9 en tant que nouvel angle θ de rotation des axes de coordonnées. La quatrième séquence est, en général suivie d'une ou plusieurs séquences supplémentaires se déroulant de manière analogue, mais non représentées sur la figure 4. Alors que sur la figure 4 on a exposé la détermination de l'angle de rotation α destiné au module de rotation 9 en tant qu'angle θ, la figure 5 concerne la détermination de la variation δα de l'angle de rotation destiné à l'unité de traitement rotationnel 10 en tant qu'angle γ, lorsque le dispositif de la figure 1 comporte en outre la sous-unité 6C, la paire d'unités STN 1 12A et STN2 12B et le module de rotation 10. Sur cette figure 5, on a représenté, comme sur la figure
4: - suivant quatre bandes horizontales successives, de haut en bas, la séquence temporelle initiale (après le démarrage), notée I, et les trois séquences temporelles suivantes, notées respectivement I I, III et IV, et - suivant deux bandes verticales, de gauche à droite, la phase CALCUL et la phase RESULTATS d'une même séquence, cette seconde bande verticale étant sub-divisée en deux colonnes, l'une représentant les résultats obtenus par l'unité bi-linéaire STN 1 12A et l'autre les résultats obtenus par l'unité uni-linéaire SNT2 12B. La première bande horizontale, qui représente la séquence I , après le démarrage, illustre, dans sa première bande verticale, le cadre général rectangulaire (la figure en demi-cercle à déterminer n'ayant pas encore été repérée) et, dans sa seconde bande verticale, les classifieurs des unités STN 1 12A et STN2 12B complètement ouverts pour toutes les valeurs possibles des paramètres (respectivement les coordonnés cartésiennes et la variation δα de l'angle α d'orientation) afin de pouvoir percevoir la totalité de l'information, la première unité, pour les coordonnées cartésiennes X et Y, étant ouverte de 0 à I et de 0 à J en tant que BorneA et BorneB en X, d'une part, et en Y, d'autre part, comme illustré (I et J représentant le nombre de pixels respectivement par ligne et par colonne dans une trame), tandis que la seconde unité, pour la variation δα de l'angle α d'orientation, est ouverte de 0 à 180° en tant que BorneA et BorneB en δα. L'utilisation de la valeur de l'angle de rotation γ est facultative et on choisira, pour la suite de l'exposé relatif à la figure 5, de conserver γ=0 dans les séquences II, III et IV ultérieures. La deuxième bande horizontale, qui représente la deuxième séquence II, illustre, dans sa première bande verticale de la phase CALCUL, la frontière en demi-cercle relativement aux axes de coordonnées initiaux (pour γ=0), avec sa portion telle que perçue en totalité à partir du calcul des valeurs de variation δα de l'angle α et de son drapeau (flag) Val-δα, et, dans sa seconde bande verticale, - d'une part, dans sa première colonne pour l'unité
STN 1 12A, les BorneA et BorneB en X et en Y encadrant le demi-cercle à repérer, relativement aux mêmes axes de coordonnées que dans la première bande horizontale de la séquence I (du fait que γ a été maintenu à 0), et - d'autre part, dans sa seconde colonne pour l'unité
STN2 12B, l'histogramme des valeurs de variation δα1 de l'angle d'orientation; on constate que, dans le cas de la figure en demi-cercle choisie, à titre d'exemple, cet histogramme comporte trois pics notés E, F, G de gauche à droite à partir de l'abscisse 0; le pic E, au voisinage immédiat de cette abscisse, représente une variation δα1 d'angle nulle (aux fluctuations de mesure près), c'est-à-dire une portion de frontière rectiligne, à savoir celle notée E' dans la colonne CALCUL de cette seconde bande horizontale; le pic F représente une variation δα1 d'angle constante (aux fluctuations de mesure près) et relativement faible, c'est-à- dire une portion de frontière de forme courbe, ici circulaire, à savoir celle notée F' dans la colonne CALCUL de cette deuxième bande horizontale; et enfin le pic G représente une variation δα1 d'angle forte, à savoir celle des deux coins G' et G" dans la colonne CALCUL de la dite bande. On peut choisir de s'intéresser, suivant la scène observée et la frontière à repérer, soit uniquement à l'un des trois pics E, F, G, soit successivement à deux de ces pics ou aux trois pics. Lorsqu'on choisit le pic E, on considère alors une portion de frontière rectiligne, par contre lorsqu'on choisit un pic de type F correspondant à une variation d'angle moyenne, on considère alors des portions circulaires (ou plus généralement courbes) et on peut repérer, dans une scène, des portions de frontière circulaires (ou plus généralement courbes), telles que des roues (automobiles par exemple) ou des têtes (humains par exemple) par exemple. Ainsi, la variation d'angle δα peut servir à réaliser un filtrage (sélection) pour le traitement des bords comme cela sera expliqué ultérieurement en relation avec la Figure 18. Pour le mode de réalisation illustré sur la figure 5, on a choisi de sélectionner le pic G représentatif de coins (lieux de forte variation d'angle et donc de forte courbure) et on a donc représenté, dans la portion RESULTATS de cette seconde bande, BorneA et BorneB encadrant le pic G, notées au temps t BorneA(δα,t) et Borne B(δα,t) pour δα=δα1. La troisième bande horizontale, qui représente la troisième séquence II I, illustre, dans sa première bande verticale, un encadrement plus serré de la frontière en demi- cercle par les quatre BorneA et BorneB en X et en Y et illustre, dans sa colonne RESULTATS, - d'une part, dans la première colonne relative à l'unité STN1 12A, l'encadrement très étroit de BarZ2, barycentre du pic G choisi et pour le coin G1 de gauche, ce barycentre ayant été déterminé au cours de la séquence précédente I I, et - d'autre part, dans la seconde colonne relative à l'unité STN2 12B, l'histogramme déterminé par cette unité pour ce coin G1 , plus étroit que l'histogramme du pic G (pour les deux coins G' et G") déterminé par ladite unité pendant la séquence précédente II, l'histogramme relatif au coin G' permettant de définir une nouvelle valeur de variation δα d'angle, à savoir δα2, et un nouveau barycentre BarZ2, qui seront utilisés dans la séquence ultérieure IV. La quatrième bande horizontale, qui représente cette quatrième séquence IV, est analogue à la séquence antérieure III en utilisant toutefois BarZ2 et δα2 et en déterminant δα3 et BarZ3. La quatrième séquence est, en général, suivie d'une ou plusieurs séquences supplémentaires se déroulant de manière analogue, mais non représentées sur la figure 5, permettant d'obtenir une définition de plus en plus précise et éventuellement évolutive du coin G' choisi. On procédera d'une manière analogue pour suivre le coin G" ou si l'on choisit de s'intéresser au pic E ou au pic F de la seconde bande horizontale, seconde colonne relative à STN2, plutôt qu'au pic G'. Le fonctionnement du dispositif selon la figure 1 (éventuellement modifié selon la figure 2), d'une part, en relation avec les figures 3 et 4, pour l'angle d'orientation α, est illustré par l'organigramme de la figure 6 et, d'autre part, en relation avec les figures 3 et 5, pour la variation δα d'angle, est illustré par l'organigramme de la figure 7. Sur les organigrammes des figures 6 et 7, dont les calculs et opérations sont englobés dans la présente description par référence, on retrouve les références des blocs schématiques 6B, 6C, 9, 10, 11A, 1 1 B, 12A, 12B et 13 et les flèches F1 et F2 de la figure 1 . Sur la figure 6, on a représenté les trois traitements T1 , T2, et T3, coopérant simultanément, qui permettent d'extraire et de positionner des bords successifs orientés définissant une frontière recherchée. Le premier traitement T1 opère deux filtrages orthogonaux de manière à convertir chaque pixel en un vecteur d'axe Z à variables multiples. Le second traitement T2 concerne le suivi spatial du traitement T1 , avec une orientation de plan conforme à l'orientation du bord. Le troisième traitement T3 est du type spatio-temporel et consiste en un regroupement coopératif pour détecter des zones de l'image perceptivement homogènes à l'aide du couple d'unités STN1 11A et STN2 1 1 B. Le bloc 21 de la figure 6 illustre une image initiale IM(t) à l'instant t comprenant une matrice de I.J pixels ayant des abscisses i variant de 0 à 1-1 le long d'un axe horizontal Ox et des ordonnées variant de 0 à J-1 le long d'un axe vertical Oy. Chaque pixel P(i, j) à l'instant t est défini par une intensité lumineuse L(i, j, t) propre à l'image. Dans le traitement T1 , l'image initiale IM(t) selon le (ou les) paramètre(s) considéré(s) et dans cet exemple avec L(x,y,t), est traitée avec une résolution spatiale réduite de dimension W définie par un motif carré sxs, dont le coté s est égal à (2W+1 )u et est centré sur un pixel courant P(i,j), formule dans laquelle u est ici le module du vecteur unitaire séparant deux pixels consécutifs et W un nombre entier positif déterminant la résolution spatiale. Par exemple, sur la figure 6, W est égal à 3 et le motif carré autour du point P(i,j) comprend les (2W+1 )2 = 49 pixels P(i-W -W) à P(i+W,j+W) des figures 14 et 15, décrites ci-après. En pratique, aucun motif n'est associé aux pixels sur les lignes de l'image ayant pour ordonnées 0 à W-1 , et (l-1)-(W-1) à (1-1) et sur les colonnes de l'image ayant pour abscisses 0 à W-1 et (J-1 )- (W-1 ) à (1-1 ). La taille de la résolution spatiale W peut être par exemple choisie entre 2 et 16. Dans le traitement T1 , pour une résolution spatiale donnée W, l'invention associe deux fonctions dépendant d'une fonction de Gauss bi-dimensionπelle telle que:
Figure imgf000069_0001
dans laquelle x et y sont les coordonnées dans un repère centré sur le pixel courant P(i,j) dans le motif [(i-W,j-
W), (i+W,j+W)], et s, représentant l'écart type de la fonction gaussienne, est calculé en fonction de la résolution spatiale donnée par la formule σ = 0,3217 * W + 0,481 Pour chaque pixel P(i,j) et avec une résolution spatiale donnée W, la dérivée directionnelle du premier ordre est calculée pour deux directions orthogonales, telles que les axes Ox et Oy, dans le domaine spatial du motif associé.
Figure imgf000069_0002
En posant fr = dG(x,y) et ^ = dG(x,y) dx dy Les dérivées partielles en x et y pour chaque pixel courant P(i,j), les unités 22a et 22b (discutées ci-après) réalisent des filtrages orthogonaux pour les fonctions précédentes et pour une résolution spatiale donnée W selon le produit scalaire suivant, qui représente une moyenne pondérée par les intensités lumineuses L(x,y,t) pour la résolution spatiale W autour du pixel courant, l'unité 22a calculant u(i,j,t) et l'unité 22b calculant v(i,j,t): m-JP n=W . . m≈W n=W
U '.j.0 = 2J *-O+m.j+n,t) *X(/+»ι,./+M) β* V(i.j.t) ~ 2-ι 2-ι +m.J+n,') ^ (i+m +n) m≈-W n≈-W m≈-W n=-W formules dans lesquelles: L(i,j,t) est l'intensité lumineuse du pixel P(i,j) dans l'image IM(t), fx(i,j) et fy(i,j) sont les deux fonctions dérivées directionnelles du premier ordre pour les deux directions orthogonales telles que celles des axes Ox et Oy, et u(i,j) et v(i,j) sont les gradients orthogonaux calculés pour le pixel P(i, j). Le gradient VG(x,y), perpendiculaire au bord, extrait par les dérivées directionnelles u et v pour la position de pixel P(i,j), possède un module égal à
Figure imgf000070_0001
et un angle α correspondant à la tangente au bord, donné par la formule classique u α = Arctg — ces calculs étant effectués par l'unité 23. Un test de validité du module est fait par l'unité 24 qui valide (met à 1) un drapeau (flag) Val-α si ce module est supérieur à un seul S1 et met le drapeau (flag) à 0 dans le cas contraire. Le second traitement T2, réalisé dans le module de rotation 9, consiste à effectuer une rotation de plan par un changement de coordonnées, les nouvelles coordonnées X(i,j,θ),Y(i.j.θ) étant déterminées à partir des anciennes coordonnées i,j et de l'angle θ à l'aide de la matrice de rotation:
Figure imgf000070_0002
L'angle de rotation θ sert à la convergence du calcul. Ainsi pour un angle θ égal à zéro, correspondant à un bord orienté de pente α nulle, X(i,j) = i et Y(i,j) = j. Le troisième traitement T3 utilise les deux unités STN 11A et 1 1 B bouclées l'une sur l'autre, successivement pour les trois phases INIT, CALCUL et RESULTATS: - dans la phase INIT, le signal INIT commande, pour chaque unité STN, la mise à zéro de la mémoire de calcul de l'histogramme; - dans la phase CALCUL, se déroulent, pour chacun des pixels, en deux temps: a) le calcul de la validation du classifieur de chaque unité STN et b) la mise à jour de l'histogramme dans chacune des unités STN 1 1 A, STN 1 1 B en fonction de la validation de la classification de l'autre unité STN; et - dans la phase RESULTATS s'effectuent d'abord la vérification de la validité du traitement durant la séquence, en déterminant si le nombre d'éléments de l'histogramme est supérieur à un seuil S2; puis, si la réponse à cette question est oui: a) la mise à jour des bornes de classification en fonction du résultat de l'histogramme, b) la sélection de la position de la raie maximale de l'histogramme de l'angle α de l'unité STN 1 1 B en tant que valeur θ pour le module 9 de rotation de plan et c) éventuellement, en option, la détermination de la médiane de l'histogramme pour déterminer le barycentre de la zone et l'orientation du bord; d) dans l'unité STN bilinéaire 1 1A : - le repositionnement du barycentre correspondant à la variation angulaire entre le résultat trouvé et la valeur antécédente, -la mise à jour des bornes de classification dans ce nouveau référentiel, sinon, les bornes de classifications sont réinitialisées et la valeur de θ est remise à 0. L'extraction pixel à pixel de la valeur de la pente du bord orienté permet le calcul de variation locale δα de cette valeur de pente, correspondant au résultat δα, par mise en œuvre de l'organigramme de la figure 7. Le synoptique de traitement des données selon cet organigramme de la figure 7 pour la détermination de δα (variation d'angle) de l'angle α est analogue à celui mis en œuvre dans l'organigramme de la figure 6 pour la détermination de l'angle α lui-même, excepté le traitement T1 et l'exploitation des registres pour obtenir les résultats, à savoir les δα. On ne décrira donc maintenant que les différences de l'organigramme de la figure 7 relativement à celui de la figure 6. Le traitement T1 de la figure 7 reprend les résultats du traitement T1 de la figure 6, à savoir les valeurs trouvées pour l'angle α lorsque Val-α n'est pas nul, et opère une série de tests suivant quatre orientations possibles décalées de 180°:4=45°, par exemple sur la Figure 9(o), est<->ouest (A0), nord-est<->sud-ouest (A45), nord<->sud (A90), nord-ouest<- >sud-est (A135) à partir d'un pixel P(i,j) afin de calculer une variation éventuelle d'angle représentatif de la courbure (et la valeur de cette variation lorsqu'elle apparaît), la représentation de ces orientations étant illustrée sur la figure 9(o) décrite ci-après (en tant que A0, A45, A9o, A135, respectivement). On considère ici quatre éléments car on s'intéresse à des orientations et non des sens ou directions. A partir de la valeur de α(i,j) pour la position choisie comme centrale du pixel P(i,j), un premier test de présence d'un bord est effectué par interrogation de la valeur de Val- α(i,j) pour le pixel P(i,j): a) si Val-α(i ) est nul, le traitement T se termine et force Val-δα=0 en sortie en tant que résultat de T1 , tandis que b) si, au contraire, Val-α(i.j) est différent de zéro, un deuxième test détermine l'orientation quantifiée de l'angle α, en P(i,j), de la tangente du bord, selon l'une des quatre orientations possibles précitées, l'une de ces quatre orientation déterminant les valeurs de α à prendre en compte dans les deux positions adjacentes de pixel par rapport à P(i,j) dans le prolongement de la tangente à la courbe de frontière à partir de cette valeur α(i,j). Un troisième test de validité de ces deux valeurs adjacentes est réalisé en déterminant si les Val-α pour ces deux valeurs de α en ces deux positions voisines sont nuls ou non: a) si ces deux Val-α sont nuls, le traitement T1 est terminé et force Val-δα(i,j)=0 en sortie en tant que résultat de
T1 b) si, au contraire, au moins un de ces Val-α n'est pas nul, le traitement T1 calcule la valeur absolue de la différence entre deux valeurs de α voisines et il se termine en débitant, en sortie, cette valeur absolue en tant que δα(i ), ainsi que le drapeau (flag) correspondant Val-δα(i,j)=0. Comme indiqué précédemment, avec référence à la figure 5, on garde en général γ nul pour les séquences postérieures à la première et dans ce cas le traitement T2 est neutre avec X=x et Y=y, c'est-à-dire les coordonnées de i et j. Enfin le traitement T3 de l'organigramme de la figure 7, pour réaliser le suivi de zone, correspond à celui de l'organigramme de la figure 6. Les figures 8 à 10 représentent la visualisation des valeurs de l'angle d'orientation α et de la variation δα d'angle pour les pixels voisins d'une portion de frontière en demi- cercle selon les figures 4 et 5, par mise en œuvre du procédé selon les organigrammes des figures 6 et 7, ainsi que la matrice de 3x3 pixels illustrant les axes principaux d'orientation décalés de 45°. Plus précisément, sur la figure 8 on a indiqué, pour les pixels d'abscisses comprises entre 10 et 17 et d'ordonnées comprises entre 20 et 30, les valeurs, en degrés, de l'angle α (calculé par la sous-unité 6B de la figure 1 ) au voisinage de ladite portion de frontière, plus précisément ceux pour lesquels Val-α n'est pas nul et qui sont en grisé; on constate que, conformément à ce qui a été indiqué antérieurement, cet angle est faible (de l'ordre de 20), relativement constant et orienté sensiblement à 0° (flèche horizontale pointant vers la droite) pour les pixels voisins d'une portion rectiligne de frontière, qu'il augmente brusquement pour les pixels dans la région du coin G' de la frontière, les angles dépassant 90°(flèches verticales, puis dirigées vers la gauche) et qu'enfin il garde des valeurs relativement élevées pour les pixels entourant la portion curviligne de frontière. La relation entre la valeur « exacte » de l'angle indiquée sur la figure 8 et l'orientation de la flèche pour chaque pixel va être expliqué avec référence à la figure 9 sur laquelle on a représenté sur l'image 9(o), une matrice carrée de 3x3 pixels centrée sur le pixel central P(i,j) de référence, noté e, encadré de huit pixels f, c, b, a, d, g, h et i suivant quatre orientations décalées de 180°:4=45°, notées Ao, A 5, A90,
A partir de cette position e, si Val-α est différent de zéro, la valeur de l'angle α est lue et comparée à quatre intervalles délimités par les quatre paires de bornes successives parmi les cinq bornes B-22,5, B22.5, B67.5, B1 12.5, et B157.5 correspondant aux pixels f, c, b et a représentés par les images 9(a), 9(b), 9(c) et 9(d) de la figure 9, (et les quatre intervalles opposés correspondant aux pixels d, g, h et i). Les flèches des pixels de la figure 8 représentent les huit directions centrales possibles des quatre intervalles selon les images 9(a), 9(b), 9(c) et 9(d) de la figure 9, à savoir A0 à A135, suivant que la valeur de α est comprise dans l'un de ces intervalles; ainsi les valeurs de α de 18° à 22° (de la figure 8) encadrant une portion rectiligne de frontière sont comprises dans l'intervalle limité par les bornes -22,5° et +22,5° et correspondent donc à une flèche orientée de e vers f, donc horizontale et pointant vers la droite, tandis que les valeurs de α de 127° à 154° (de cette figure) encadrant une portion curviligne de frontière, inclinée par rapport à l'axe des abscisses, sont comprises dans l'intervalle limité par les bornes 1 12,5° et 157,5° et correspondent donc à une flèche orientée de e vers a, donc oblique pointant vers le haut et à gauche (direction nord-ouest). Par ailleurs l'intervalle contenant la valeur de l'angle α sert au calcul de δα en utilisant les pixels adjacents à la tangente pour lesquels Val-α a une valeur non nulle. Dans ce cas, la valeur de δα calculée à la position P(i,j) correspond à la différence en valeur absolue des angles de ces pixels adjacents. La figure 10 est une représentation, pour les pixels compris entre les mêmes coordonnées que ceux de la figure 8, des valeurs de δα, les pixels grisés (pour lesquels Val-α est différent de zéro) plus ou moins foncés illustrant les gammes de valeurs de δα suivant la légende de la figure 10a. On retrouve des valeurs très faibles (de 0 à 2) de δα (variation d'angle) pour les pixels entourant la portion rectiligne de frontière éloignée du coin G', des valeurs assez élevées de cette variation d'angle δα (de 13 à 17) pour les pixels entourant la portion curviligne de frontière éloignée du coin G' et des valeurs très élevées de δα (supérieures en général à 27) au voisinage de ce coin G'. Les traitements temporels de calcul, pour chaque pixel
P(i,j), d'une valeur de tangente à un bord , à savoir l'angle α, et de sa valeur de variation (indicative de courbure), à savoir δα, selon les organigrammes des figures 6 et 7 avec mise en œuvre des tableaux des figures 8 à 10 peuvent avantageusement être réalisés par les ensembles illustrés sur les figures 1 1 , 12 et 15 (qui illustrent un mode de réalisation préféré de l'unité 6 de la figure 1 ) avec mise en œuvre des tableaux selon les figures 13 et 14. La figure 1 1 représente un mode de réalisation électronique des calculs effectués dans une unité 6 comportant une sous-unité 6C de calcul δα et de son drapeau (flag) de validation en utilisant un mode de traitement en flot de données numériques séquence avec sous-séquences, comme précédemment, chaque séquence correspondant à un défilement de I colonnes et J lignes consécutivement, ce qui nécessite des retards de lignes et de colonnes afin d'avoir, pour chaque cycle élémentaire séparant deux pixels successifs (déterminé par l'horloge pixel CL) toutes les données nécessaire au calcul de la fonction de transfert réalisée par l'unité 6, à savoir IxJ cycles élémentaires d'horloges CL par trame d'image IM(t), c'est-à-dire de séquence, présentes. La partie gauche de la figure 1 1 illustre l'unité 6 répartie en ses sous-unités 6A, 6B, et 6C, débitant en sorties ΔT(i,j), MVT(i.j), α(i,j), Val-α(i.j), δα(i,j), Val-δα(i.j), à partir de la donnée d'entrée L, tandis que la partie droite de cette même figure représente la visualisation de l'image IM(t) balayée par ce flot d'entrée L et se déplaçant d'un pixel, par cycle d'horloge CL, à partir de la position P(0,0) en ligne, en recommençant par la colonne 0, ligne par ligne, jusqu'à la position P(I-1 ,J-1 ) qui correspond à la fin de IxJ cycles élémentaires; la position P(i ) correspond, à un pixel déjà complètement traité dans l'unité 6 et à partir de la donnée d'entrée L, donc avec un retard de 8 lignes et 9 colonnes. La sous-unité 6A, a été décrite dans la publication de demande PCT numéro WO-98/05002 possède une unité référencée 57 sur la figure 1 1 , délivrant deux signaux CO et DP, CO correspondant à une variation temporelle, donc ici à ΔT, et DP signalant un dépassement caractéristique d'un seuil de sensibilité de détection, donc ici à VAL (non représenté sur la figure 1 1 ), et une unité référencée 58 sur la figure 1 1 , qui, à partir de deux fois huit lignes de retard R"1 du signal ΔT, analyse une matrice spatiale de 17x17 pixels, (17 étant égal à 2x8+1 ) et délivre un signal de direction et d'intensité de mouvement éventuel par pixel, ce dernier étant dénommé ici MVT(i.j) au centre de la matrice Ma. Le retard entre les données DATA et les sorties ΔT(i,j) et MVT(i ) est donc de 8 lignes et de 9 colonnes, DATA étant donc égal à DATA(i-9,j-
8). Le fonctionnement des sous-unités 6B et 6C se fait par rapport à la position finale des résultats en P(i,j), en étant synchrones avec les résultats de la sous-unité 6A, ce qui nécessite des unités à retard R de ligne et C de colonne, l'indice numérique affecté à chacune des unités indiquant la durée du retard correspondant en nombre de lignes et/ou de colonnes respectivement. De ce fait, pour faciliter la compréhension on va effectuer la description ci-après à l'envers, en commençant par le dernier traitement, à savoir le calcul de δα(i,j) et de Val-δα(i,j). Ce traitement s'opère sur une matrice 3x3, dénommé
Me, dans l'image IM(t), ce qui nécessite un retard de 2 lignes et de 2 colonnes pour effectuer un calcul valide au cycle suivant, correspondant à la position centrale de la matrice décalée (retardée) d'une colonne, soit un retard total de 21+3 entre la valeur d'entrée Val-α, α étant le résultat du calcul précédent, et la première valeur Val-δα(i ) et δα(i,j) valide à la position P(i,j), centre de la matrice 3x3, d'où la position de cette matrice Me par rapport à P(i,j) au cycle (jxl+i) et une position instantané de la donnée d'entrée Val-α, α au cycle CyC2. La valeur valide en P(i,j) est retardée de une ligne et de deux colonnes par rapport à l'entrée Val-α, α. Les valeurs Val-α et α sont obtenues à partir des valeurs de u et de v calculées par les unités 22a et 22b, en faisant un calcul en coordonnées polaires pendant un cycle horloge; le retard entre les donnée d'entrée u et v et le résultat Val-α et α est d'une colonne, ce qui correspond au cycle CyC1 . Les valeurs u et v, au centre de la matrice Mb au cycle CyC1 , sont obtenues à partir d'un produit scalaire entre les données du flot d'entrée L et un motif carré de taille 2W+1 nécessitant un retard de 2W lignes et de 2W+1 colonnes pour obtenir le premier résultat des (2W+1 )2 données correspondant à la position spatiale (W+1 ,W) pour un démarrage de la séquence à la position spatiale 0,0. Par exemple, pour une valeur de W=3, il faut un défilement de 2W lignes, puis un défilement de 2W+1 colonnes soit (6I+7) pixels pour avoir le premier résultat du calcul en position i,j =(4,3), correspondant à la donnée d'entrée du cycle numéro 6I+7. Pour une position spatiale générique P(i,j), la matrice Mb représente la position des éléments calculés dans l'image IM(t). Le résultat u et v au cycle CyC1 est celui pour la position instantanée de la donnée d'entrée L au cycle CyB. Il y a donc un retard de 3 lignes et de quatre colonnes entre l'entrée et le résultat. Ce traitement rajoute (41+3) cycles aux (1+3) cycles précédents. En résumé, le traitement le plus long nécessite (51+6) cycles poui- valider le premier résultat; ensuite, à chaque cycle horloge, un nouveau résultat est élaboré, excepté pendant les W premiers cycles de début de ligne. La donnée d'entrée DATA est la même pour les sous- unités 6A et 6B en retardant cette donnée de la différence entre les cycles CyA et CyB, soit 4 lignes et deux colonnes, représentés par le retard colonne 60 et les 4 lignes à retard 59. Les calculs étant synchronisés, il ne reste qu'à synchroniser les résultats sur la position P(i,j): - Val-δα, δα est par construction à la bonne place, et donc sa sortie est directe. - Val-α, α est valide au cycle CyC2 et donc il faut retarder ce résultat d'une ligne, soit la valeur prise après un retard d'une ligne, et de deux colonnes, d'où l'introduction d'une unité retard colonne 61 , pour être à la position P(i,j). - L est valide au cycle CyB, il faut donc retarder cette donnée de quatre lignes, soit sa valeur prise après quatre retard d'une ligne, et de sept retards d'une colonne, d'où l'ajout d'une unité retard colonne 62, pour être à la position
P(i.j). En général, le retard entre l'entrée DATA et la position
P(i,j) est compensé par une harmonisation des signaux de synchronisations i et j dans l'unité 7, en introduisant un retard égal au temps de calcul, soit dans le cas présent, (91+8) cycles horloge pixel. La figure 12 illustre en détail les calculs inclus dans les sous-unités 6B et 6C de l'unité 6 présentées dans la figure précédente. Un signal numérique L(x,y,t), issu d'un flot de données DATA séquence pixel à pixel par une horloge CL, retardé de quatre lignes et de deux colonnes est introduit dans la sous-unité 6B en L0 et est retardé de la durée R d'une ligne, soit I colonnes, au passage de chacune des unités à retard 25. Etant donné que l'on travaille en flot continu et avec des blocs électroniques, ce qui provoque des retards internes successifs, tant en lignes qu'en colonnes, dans les opérations électroniques, le signal d'entrée sur la figure 12 correspond à l'instant actuel, la position P(i,j) calculé étant en retard de quatre lignes et de sept colonnes, il est donc mentionné en tant que L(i+7,j+4,t). La valeur choisie pour W détermine le nombre d'unités à retard nécessaires, qui est égal à 2W. A titre d'exemple non limitatif, on a choisi W égal à trois, d'où les six unités à retard lignes 25 présentent sur la figure 12, et donc les 2W+1 signaux d'entrées, dénommés L0 à L6 (le premier non retardé, le deuxième retardé de R, le troisième de 2R, et ainsi de suite), appliqués à l'unité 27. Ainsi le signal L4 est constitué par L(i+7,j,t). Par ailleurs une unité à retard colonne 26 impose un retard de sept colonnes au signal L4 qui devient, en sortie de cette unité à retard, L(i,j) fonction de t, (c'est la sortie L(i,j) de la sous-unité 6A de la figure 1 ). Pour chaque pixel courant P(i,j), les unités 22a et 22b réalisent des filtrages orthogonaux, pour les fonctions précédentes et pour une résolution spatiale donnée W, en effectuant un produit scalaire, qui représente une moyenne pondérée par les intensités lumineuses dans la configuration de valeurs de paramètres de la résolution spatiale selon les figures 14 et 15 autour du pixel courant, l'unité 22a calculant u, à l'aide de la configuration matricielle 27a pour fx donnée à la figure 14, et l'unité 22b calculant v à l'aide de la configuration matricielle 27b pour fy donnée à la figure 15 avec: m-W n≈W m=W n=W U(i,j,t) = -( 2-f *-O+mJ+nJ) fX-U+mJ+n) β* V(i,j,t) = -ι zL *-,V+m +nJ) fy (i+m +n) m=-W n=-W m—W n≈-W Le gradient δG(x,y) qui est normalement perpendiculaire au bord extrait par les dérivées directionnelles u et v pour la position de pixel P(i,j) extrait, est rendu parallèle au bord en utilisant le fait que le produit de pentes perpendiculaires est égal à moins un, donc ici le rapport u/v correspond à une variation dx/dy, possède un module égal à:
Figure imgf000080_0001
et un angle α correspondant à la tangente au bord, donné par la formule classique: u α = Arctg —
Ces calculs sont effectués par l'unité 23 avec une méthode de calcul CORDIC en un cycle horloge. Un test de validité du module ainsi calculé est également fait par l'unité 24 qui valide, met à 1 , un drapeau (flag) Val-α si ce module est supérieur à un seul S1 , le drapeau (flag) étant nul dans le cas contraire. Les sorties Val-α, α, et p, sont en avance d'une ligne et de deux colonnes par rapport à la position P(i,j), le signal p est donc retardé d'une durée R-1 égale à une ligne et d'une durée C-2 égale à deux colonnes et devient ρ(i,j), il en est de même pour le signal Val-α, α qui devient Val-α(i ) et α(i,j). L'unité 6C calcule la variation spatiale du signal α autour de la position P(i,j) au centre d'une matrice 3x3 et donc le signal Val-α, α est introduit en cascade dans deux unités retard ligne R afin de générer trois signaux d'entrées dénommés L0 à L2, appliqués à la sous-unité 6C qui possède, pour chacune de ces entrées, deux registres à décalage colonnes en cascade, les neuf valeurs de α servant alors pour le calcul de δα. Le calcul étant fait à la position P(i,j) et le résultat Val-δα(i ), δα(i,j) est directement exploitable. La figure 13 représente l'ensemble des éléments de calcul nécessaire au produit scalaire entre un motif carré de taille 2W+1 et les données associées issues du flot de données d'entrée. Ces éléments de calcul sont organisés suivant une matrice carrée de même taille, avec un premier cumul du produit scalaire par ligne en parallèle, et, un cumul global, par les sommateurs 48 de tous les cumuls primaires précédents, au cycle d'horloge suivant. L'élément de base e(a,b) est constitué en général par trois entrées, deux fonction de calcul, et deux registres de mémorisation imposant un retard d'un cycle horloge pour l'élément suivant. Une exception est faite pour chaque extrémité de ligne: le premier élément ne possède pas encore d'élément de cumul ligne, et le dernier élément n'a pas besoin de retarder le flot de données d'entrée. Cet élément de base β(a, ) est donc constitué par: - une entrée numérique correspondant à L(b) retardé de (a) colonnes et mémorisé dans un registre 44 de retard une colonne pour l'élément de colonne suivante. Sur la Figure 13 Z"1 correspond à un retard d'une colonne. - une entrée numérique correspondant à la valeur G(a,b) sélectionnée dans la matrice 2W+1 du produit scalaire (le balayage de la matrice est de -W à +W). - une unité 45 de multiplication entre les valeurs des deux entrées précédentes et - une unité 46 d'addition entre le résultat de la multiplication précédente et le résultat de l'addition de l'élément de colonne antécédente, la sortie de cette unité 46 étant mémorisée dans un registre retard colonne 47 pour l'élément de la colonne suivante. On va maintenant présenter un exemple d'utilisation des signaux α et δα en relation avec la figure 16 qui représente une extension de la figure 1 , à savoir l'utilisation multiple de couples STN en vue d'extraire plusieurs zones d'une frontière telle que représentée en figure 17. Sur la figure 16, un premier couple de STN récupère l'orientation la plus représentée α50, l'unité de contrôle 13 recrute alors un autre couple de STN avec en inhibition la zone Z50 précédemment trouvée, et initialise le processus décrit en figure 3, une seconde zone Z30 est alors trouvée et l'unité de contrôle 13 recommence le processus avec recrutement d'un nouveau couple STN qui permet de trouver une troisième zone Z10, le recrutement s'arrête lorsque le nombre de points de bords orientés devient inférieur à un seuil S1 . L'unité 8 de traitement spatial angulaire de la Figure 1 comporte donc, en plus, dans cette extension, au moins trois modules 8a, 8b, 8c de traitement spatial angulaire qui effectuent des calculs de rotation d'angle sur les coordonnées cartésiennes rectangulaires x et y de position i et j de pixel. L'angle correspondant à chacun des calculs de rotation est représenté par une valeur Θ50, Θ30, Θ10, introduite dans le module correspondant. Ces valeurs sont fournies par la combinaison fonctionnelle de la sous-unité 6B de détermination et caractérisation angulaire de la Figure 1 avec les couples STN recrutés afin de produire au cours de cycles successifs les valeurs d'angle de bords α50, α30 et α10 ainsi que les zones et les barycentres correspondants. On a enfin représenté sur la partie droite de la figure 16 une ligne verticale symbolisant un bus de données numériques permettant de récupérer les résultats de calculs des registres des modules STN. La figure 17 représente le résultat du traitement précédent. Chaque zone Zi est étiquetée par son orientation ai et son centre BarZi de coordonnées Xzi et Yzi dans le repère orienté ai. Plus généralement, le procédé mis en œuvre avec le dispositif précédemment décrit et ses variantes consiste à effectuer en plusieurs étapes, sur au moins un signal temporel (luminosité dans l'exemple) et un signal spatial (coordonnées des points), les opérations successives suivantes sur l'ensemble des points de la représentation matricielle fournie par le transducteur: a) la détermination d'au moins un point correspondant à un bord par détection, dans le signal temporel, d'une variation correspondant à une modification significative de la valeur dudit paramètre, le calcul de la valeur de l'angle α du bord en ce point avec un premier axe de coordonnées, α=arctg(u/v) avec u et v des dérivées directionnelles du premier ordre pour deux directions orthogonales dans le signal temporel afin de produire un nouveau signal temporel d'orientation de bord, une donnée de validation Val-α fonction d'un seuil S1 étant associée, b) le traitement statistique des valeurs des angles α dans un couple de modules STN, un premier temporel recevant l'angle et le second spatial recevant les coordonnées du point après rotation (d'angle nul pour la première séquence) afin d'obtenir la valeur la plus fréquente de l'angle définissant l'orientation privilégiée du(des) bord(s), c) la rotation de la représentation matricielle du signal spatial, une rotation d'un angle égal à ladite valeur la plus fréquente de l'angle de manière à rendre l'orientation du bord sensiblement parallèle audit premier axe de coordonnées, d) un nouveau un traitement statistique dans un couple de modules STN des positions des valeurs dudit angle calculées précédemment afin d'obtenir au moins la position la plus fréquente définissant une zone (Z50, Z3o, Z10) de position entre des bornes (BorneAαt, BorneBαt) de l'orientation privilégié et la position barycentrique (BarZα50, BarZα30, BarZα10) desdites positions, les opérations précédentes à l'intérieur de la zone de position bornée en cours pouvant être répétées afin d'affiner la zone ou en excluant la zone précédemment trouvée afin de déterminer plusieurs zones. Sur la figure 18 on a représenté une autre extension de l'invention qui peut être appliquée au dispositif de la figure 1 ou de la figure 16 par exemple et qui permet de réaliser un filtrage (sélection) de frontière présentant une ou des courbures particulières: rectiligne/droite et/ou courbée et/ou coin. Elle consiste à prendre en compte la courbure du bord (variations de l'orientation δα) pour effectuer les extractions de zones de frontières. A cette fin, la variation d'angle δα est analysée dans un module STN 17 et comparé à au moins une valeur de seuil pour produire un signal qui permet de valider ou non le module STN 16 du couple de STN 15 et 16 qui correspond sur la figure 1 au couple STN 1 1A, 1 1 B et sur la figure 16 au couple STN 15, 16 (ou 25, 26, ou 35, 36 suivant que l'on veuille ou non prendre en compte la courbure du bord pour la zone correspondante). Ainsi on obtient un couplage, pour une position de pixel, de l'orientation et de la courbure du bord traité, avec la courbure comme critère de classification, afin de choisir entre les frontières rectilignes ou courbes ou cunéiformes (éventuellement combinées). Avec une telle configuration fonctionnelle il est notamment possible de percevoir et suivre des objets dont la frontière est courbe, comme par exemple une roue de véhicule ou un visage. C'est ainsi qu'en fonction des plages de sélection on pourra sélectionner des bords d'objets correspondant à des lignes droites (gamme de valeurs de variation d'orientation nulles ou faibles) et/ou des coins (gamme de valeurs de variation d'orientation les plus élevées) et/ou, entre les deux, des lignes plus ou moins incurvées. Comme on l'a vu, l'histogramme d'analyse des variations d'angle peut présenter trois pics et classes principales correspondant à des bords rectilignes/droits, courbes ou des coins. Pour sélectionner plus particulièrement un des trois types de bords, par exemple les coins, il peut être avantageux d'utiliser des seuils de valeurs de δα résultant d'un calcul et d'un test plutôt qu'une ou des valeurs absolues. Ces calculs et test permettent de sélectionner des seuils qui donnent un nombre de coins compris dans une gamme de valeur prédéterminée suffisamment élevée pour avoir un nombre de coins significatif mais pas trop pour éviter de prendre en compte du bruit (des coins qui n'en sont pas). La gamme de valeurs peut être choisie en fonction de la scène à analyser: par exemple si l'on recherche un immeuble à toit plat dans une scène au moins quatre coins sont à prendre en considération (vue de face) ou six (vue en biais). On peut ainsi adapter les seuils de prise en compte des éléments de la scène. La figure 19 correspond à une extension de l'invention qui a été vue jusqu'à présent essentiellement dans sa partie analyse, avec introduction d'une partie de synthèse. Le bloc 100 de la figure 19 correspond schématiquement au dispositif et procédé, dans toutes leurs variantes, précédemment décrits et effectuant l'analyse de la scène. Une unité 200 récupère les différents objets perçus de la scène provenant du bloc 100 d'analyse, sous la forme d'une série de paquets de données, chacun des objets étant au moins défini par une orientation et associé à un barycentre BarZαi de coordonnées Xzi et Yzi. Dans une variante, la longueur de la zone Zαi est aussi associée aux données précédentes dans les paquets de données. A l'intérieur de l'unité 200 est effectué un traitement spécifique permettant de reconstituer (synthétiser) des formes en rapport avec les objets perçus et ce résultat est transmis vers l'extérieur pour une utilisation ultérieure. En plus des paquets de données d'analyse provenant du bloc 100 et représentés par une flèche pointant vers l'unité 200, on a représenté, en retour vers le bloc 100, des données ZJabel résultant du traitement dans l'unité 200 et qui correspondent à des représentations précédemment identifiées et mémorisées d'objets ou parties d'objets particuliers de la scène, ces objets mémorisés sont transmis sous forme de LABEL qui sont des paquets de données identifiés (numéro ou intitulé de LABEL par exemple) caractérisant l'objet mémorisé sous forme, par exemple, d'un barycentre, une orientation, une taille, un nombre de points, un module p, une distance LD et/ou d'autres caractéristiques perceptibles par le bloc d'analyse, ces LABEL étant alors classiquement utilisés dans le bloc d'analyse soit pour aider à la perception, soit pour identifier spécifiquement les objets correspondants par comparaison. Si les LABEL peuvent être générés par perception d'objets dans un système à modules STN comme on le verra en relation avec les figures 65 et 66, il peuvent également être générés par calcul selon des règles de génération de LABEL en rapport avec ce que peut produire un système à modules STN. Notons qu'il est possible, en particulier lorsque l'on souhaite mémoriser des labels, d'effectuer plusieurs analyses d'une scène et de moyenner les résultats obtenus afin d'améliorer la précision. Le moyennage des résultats d'analyse peut également être effectué systématiquement ou seulement dans certaines applications comme par exemple celles où le transducteur, notamment une caméra, peut vibrer ou bouger non intentionnellement. On peut également noter sur la Figure 19 qu'une représentation en trois dimensions, 3D, est également possible en utilisant dans les blocs 300 et 400, les données concernant les variations d'angle produites par analyse dans le bloc 100 et en particulier les coins. On a en effet montré que l'utilisation des coins permet des reconstructions particulièrement robustes et efficaces, notamment en considérant les relations entre les divers coins qui sont conservées malgré de possibles variations de l'angle de prise de vue et/ou de focale dans le cas d'images. L'ouvrage « Perception visuelle par imagerie vidéo » sous la direction de Michel Dhome, ISBN 2-7462-0662-5, donne des exemples de reconstructions à partir de points à type de coins. Pour ce qui concerne l'animation de synthèse à partir de coins on peut notamment consulter dans cet ouvrage, dans le chapitre 5, la reconstruction 3D et la modélisation 3D. Le traitement de synthèse qui va maintenant être explicité permet notamment une représentation en deux dimensions, 2D, de la scène par reconstruction. Afin de mieux présenter le traitement de synthèse qui est effectué, une présentation générale des outils utilisés, notamment la mise en œuvre de courbes permettant de joindre et/ou d'ajuster un tracé de courbe à des points, est maintenant effectuée. Les figures 20 et 21 représentent les éléments utiles à la synthèse d'image. Sur la Figure 20 est représentée une unique courbe cubique Q hermitienne permettant de joindre P1 et P4 qui sont deux points de contrôle avec R1 et R4 pour dérivées aux points de contrôle. Sur la figure 21 , une courbe de Béziers cubique, qui est une courbe hermitienne particulière, joint les points d'extrémités P1 et P4 avec pour dérivées aux extrémités R1 et R4, approximant une ligne polygonale de 4 points de contrôle P1 , P2, P3 et P4, tel que R1 =3(P2-P1 ) et R4=3(P4-P3). On comprend alors qu'à partir de tels outils que sont ces courbes et les méthodes permettant de les faire passer par ou en relation d'ajustement par certains points et en utilisant pour points de contrôles et leurs dérivées successives les données reçues dans les paquets de données provenant de l'analyse, il est possible de passer de l'analyse à la synthèse. Les points de contrôle correspondent alors aux barycentres et les dérivées sont obtenues à partir des valeurs d'angle α résultant de l'analyse, Izi et Jzi représentent un point de contrôle Pα, et tan(αi) la dérivée associée Rα. Pour le traitement de synthèse, un premier calcul assure une rotation de plan de -ai afin d'avoir tous les points de contrôle dans un même référentiel de base l,J et permettre de faire passer une portion de courbe telle que définie précédemment entre les points de contrôle. La figure 22 est un exemple de résultat d'un tel traitement qui a permis de synthétiser une courbe Cbe-1 passant par trois barycentres de trois zones. Il est possible d'utiliser d'autres types de courbes, notamment, telles que les B-splines ou les courbes B-splines non uniformes rationnelles (NURBS) découlant des courbes de Béziers précédemment décrites, et qui permettent de synthétiser des objets encore plus complexes tel que celui montré à titre d'exemple sur la figure 23. La synthèse peut être générique et prévoir la reconstruction de tout type d'objet d'une scène et tout type de relation entre les objets de la scène. On comprend alors que la reconnaissance des objets et la synthèse peuvent être plus coûteux en temps et matériel. La synthèse peut être spécialisée en ce sens que l'espace, notamment la scène observée, et les objets qui peuvent s'y trouver aient des caractéristiques particulières qui sont connues à priori. C'est par exemple le cas dans des applications d'aide à la navigation de véhicules terrestres, maritimes ou aériens qui à partir d'observation visuelle par caméra, radar ou autres moyens de capter l'espace, dans lequel les objets, leurs relations et la structuration de ces objets, notamment de la route, des voies aériennes ou d'une piste, d'un chenal maritime ou canal sont en nombre limité et connus à priori et peuvent être mémorisés sous forme de labels. Des applications des outils et procédés précédemment décrits de détermination et caractérisation de bords orientés vont maintenant être présentés. La première application d'analyse d'environnement considère un transducteur se déplaçant dans un environnement et, à titre d'exemple, il sera décrit une mise en oeuvre concernant la circulation automobile et plus particulièrement la reconnaissance et caractérisation de voies de circulations et le positionnement des véhicules par rapport aux voies de circulation et entre-eux. Les objets qui sont perçus dans l'environnement ont certaines relations entre-eux et avec l'horizon connues à priori (forme de la route notamment). A partir de la perception qui permet d'acquérir une connaissance de l'environnement d'un véhicule il est possible d'agir sur le véhicule ou sur le conducteur, voire sur l'environnement. Dans cette application, un véhicule est équipé d'une caméra vidéo qui produit des images qui sont envoyées dans un système à caractérisation spatio-temporelle des données image et à modules STN recevant de telles données de caractérisation. On comprend qu'une telle application peut être mise en œuvre sur tout type d'objet mobile se déplaçant dans un environnement comme par exemple un navire ou un robot mobile et que les images si elles proviennent généralement de dispositifs de prise de vue, peuvent correspondre dans certaines applications à d'autres types de données comme par exemple des données radar, sonar ou provenant de tout appareil permettant d'obtenir une représentation de l'environnement par un ensemble de données associées à des pixels ou points et sous forme de signaux avec séquences et sous-séquences. La notion de mobilité du transducteur est relative car si l'application est surtout utile pour analyse d'un environnement dans lequel se déplace le transducteur, rien n'empêche de mettre en œuvre l'application alors que le transducteur est fixe. La deuxième application qui concerne l'analyse de scène s'apparente à la première en ce sens qu'elle est également destinée à appréhender un environnement mais, cette fois, le transducteur est fixe contrairement à la précédente application où, en général, il se déplace dans l'environnement. De plus, dans cette application, l'horizon n'est pas connu à priori ni la forme des objets vus en perspective. Ici, l'environnement est donc limité à un lieu avec prise de vue fixe donnant des images d'objets avec perspective (caméra non verticale). L'application consiste en une analyse de perspective des objets du lieu. La notion de transducteur fixe est relative en ce sens qu'il peut éventuellement se déplacer (par exemple en rotation) ou modifier sa focale (mécaniquement ou électroniquement, par exemple avec un zoom numérique) mais, dans ce cas, cela aboutit à un nombre limité de types de prise de vue qui peuvent être traitées chacun comme si le transducteur était fixe sur ledit lieu. Dans des variantes plus évoluées, notamment dans le cas de variation de focale, on pourra se placer dans un référentiel de représentation des données pour l'analyse qui assure une invariance malgré la modification de focale en recalculant les paramètres intrinsèques βu et βv du transducteur. Ce type d'application est notamment destiné à de la surveillance de lieu géographique comme par exemple: magasin, parking, carrefour, port, aéroport... afin d'analyser d'une manière semi-automatique ou, de préférence, automatique, des événements s'y déroulant comme par exemple: stationnement de consommateur devant certains produits, libération de place, non-respect des feux de signalisation, mouvement de navires, occupation des pistes... Encore une fois le transducteur peut être une caméra, un radar, un sonar ou tout appareil permettant d'obtenir une représentation de l'environnement par un ensemble de données associées à des pixels ou points et sous forme de signaux avec séquences et sous-séquences. La troisième application concerne la détermination d'un coefficient de distorsion et d'un centre optique puis la correction de la distorsion optique géométrique en barillet ou en tonneau sur des images numériques obtenues avec un transducteur comportant un objectif avec un centre optique. Elle peut être mise en œuvre qu'il y ait ou non réellement une distorsion dans l'objectif, ne serait-ce que pour déterminer le centre optique de l'objectif dans l'image. La quatrième application concerne la détermination d'une rotation et d'une translation entre images successives et la stabilisation d'images par recalage afin de supprimer le bougé involontaire (tremblement, instabilités... ) lors de prises de vues vidéo et notamment dans les appareils de prise de vue portables du type appareil photo, caméra numérique, caméscope ou autres et qui peuvent subir des mouvements intempestifs. Elle peut être utilisée sur des suites d'images de type vidéo classique pour visualisation/enregistrement/transmission de séquences vidéo recalées ou, également, pour créer une image unique à partir d'une série d'images obtenues d'une même scène comme par exemple en astronomie où plusieurs images d'une même portion du ciel ou d'un astre sont combinées en une seule afin de réduire le bruit. L'application en question permet une plus grande liberté de pointage et de suivi des astres pour l'instrument optique au cours du temps. Toujours dans cette dernière application, au lieu de produire en sortie une suite d'image séquentiellement, on gardera en mémoire les images recalées pour combinaison ultérieure ou on fera la combinaison au fur et à mesure du calcul d'images recalées pour sortie finale directe d'une image combinée. La cinquième application concerne la caractérisation du mouvement d'un objet par rapport à un transducteur avec notamment le calcul de distance, détection dé translation et de rotation et apporte un perfectionnement à une méthode présentée dans la demande de brevet FR-2.843.471 qui concerne la perception par défocalisation. Elle consiste, dans ses grandes lignes, à mettre en œuvre les outils de détermination de bords orientés mais, au lieu de se placer dans l'espace cartésien X,Y (ou polaire) et d'utiliser pour analyse des paramètres spatiaux de type X,Y correspondant aux positions de pixels pour la luminance dans, à se placer dans un espace de perception module-distance (p,LD) et à utiliser des paramètres qui sont respectivement p,- (module d'un vecteur étendu entre un barycentre BarZo de zone d'un niveau de perception et un barycentre BarZ10 ou BarZ2o ou BarZ3o d'un niveau de perception juste ultérieur) et LDin (log de la distance de l'objet à la caméra) correspondant, à une échelle temporelle inférieure (sur plusieurs trames), aux objets définis par leurs arbres de perception respectifs : pour une première trame la perception donnant les modules Poι - -Po3, pour une deuxième trame donnant les modules pιo --pi5, etc. Enfin, ces différentes applications peuvent être combinées entre-elles et par exemple dans une application à la conduite automobile avec une caméra dans un véhicule, une correction de distorsion géométrique et de recalage d'images peut être mise en œuvre sur les images destinées à l'analyse de trajectoire routière. L'utilisation d'un composant comportant un système avec des moyens de caractérisation spatio-temporelle de données (X,Y et MVT, L, T, S, α, p, δα... ) et des modules STN et divers bus dont de rétroannotation et sous le contrôle d'un programme applicatif par l'intermédiaire d'une interface de type API est alors particulièrement intéressante car toutes ces procédures peuvent être exécutées dans le même composant. Un tel composant et système de l'état de la technique est représenté sur la figure 40 qui est tirée de la demande FR-2.821.459, ce composant étant toutefois adapté à la présente invention pour produire des signaux temporels supplémentaires conformes à la présente invention, notamment d'orientation et de variation d'orientation de bords orientés. On doit noter que si l'on explicite ces applications avec des traitements d'images, l'invention ainsi que ces applications peuvent être mises en œuvre très généralement sur des représentations d'un environnement par un ensemble de données associées à des pixels ou points et sous forme de signaux avec séquences et sous-séquences et, par exemple, également sur des résultats de perceptions ou sur des synthèses à partir de perceptions. APPLICATION A L'ANALYSE D'ENVIRONNEMENT Dans le cas de véhicules automobiles, les bords de voie de circulation sont des objets dont certaines caractéristiques (lignes de délimitation, disposition des lignes... ) sont connues à priori. C'est ainsi que les figures 24, 25 et 26 décrivent la relation géométrique qui existe entre la route et son image, ainsi que la représentation explicite et implicite des courbes formées par les bords de voie et de leur image. Pour décrire le plus simplement possible la relation géométrique qui existe entre la route et son image, la caméra est modélise par une simple projection centrale sur le plan de la matrice des points de l'image de la caméra et le système utilise dans cet exemple quatre repères (ou référentiels) cartésiens bidimensionnels (plans): - Repère de la matrice des points de l'image de la caméra (l,J Figure 24 ou 25 par exemple), - Repère de la focale caméra (u,v Figure 24 ou 25 par exemple) - Repère du véhicule, - Repère de la route vue de dessus centré sur le véhicule V (xv,yv Figure 26 par exemple), La figure 24 est une représentation de l'image perçue par le dispositif de la figure 1 et ses extensions. Les données produites par l'analyse ont permis de déterminer deux zones Za et Zb appariées les plus proches du véhicule transportant la caméra ainsi que leurs barycentres et leurs orientations de bord. Ces deux zones matérialisent les bords de la voie de circulation (par exemple les lignes blanches latérales continues ou non). A chaque zone est associé un triplet de valeurs {αa,X2a,YZa} pour Za et {αb,XZb,Yzb} pour Z . A partir de ces triplets de valeurs il est possible de calculer l'équation des droites da et db et les coordonnées I H .JH de leur point de croisement que l'on a noté H (point de fuite) sur la Figure 24. Ces deux droites da et db forment un triangle à sommet H vers le haut. On peut alors également calculer le décalage D du point H par rapport à l'origine du repère de la focale caméra (0,u,v) ainsi que la relation entre les deux origines de repères matrice et caméra: uo.Vh. La focale caméra correspond au centre optique de la caméra, ce centre optique qui peut être calculé comme on le verra ultérieurement, peut éventuellement être approximé par le point de centre de la matrice image. Notons que si d'autres zones de limite de voie de circulation que Za et Zb avaient été perçues sur une telle route droite, les droites correspondantes à da et db mais pour ces zones supplémentaires, se seraient croisées sensiblement au même point H (à la précision et résolution près qui décroissent pour les objets les plus éloignés de la caméra). La figure 25 représente le modèle mathématique correspondant à la vue précédente de la figure 24 dans le cas de repères matrice (l,J) et caméra (u,v). On a représenté sur cette Figure 25 les équations des droites da et d dans le repère caméra u,v, soit u=aι βu+a0au/βv)v et à u=aι βu+a0b(βu/βv)v, et le décalage horizontal du point H, soit aι βu, dans ce même repère. Cette figure 25 est à mettre en relation avec la figure 26 qui représente le modèle mathématique de l'environnement du véhicule cette fois dans un autre repère qui est celui de la route vue de dessus centré sur le véhicule V d'axes de repère xv,yv- On y a représenté cette fois les équations des droites da et db dans ce repère, soit
Figure imgf000094_0001
On peut montrer qu'il existe une relation homomorphique entre ces repères caméra (u,v Figure 25) et route (xv,yv Figure 26) pour les objets de la scène. Les relations permettant de passer d'un repère à l'autre sont données aux Figures 25 (2.1 ) et 26 (2.2). On peut constater que lorsque le véhicule se translate le long de l'axe xv sur la route (Figure 26), alors le triangle défini par les droites da et db (Figure 25) tourne, et inversement. De même, lorsque le véhicule tourne sur la route (Figure 26) alors le point H se translate le long de l'axe u (Figure 25) et inversement. On peut donc passer d'un référentiel à l'autre par de simples opérations mathématiques à la portée de tout homme du métier, ce dernier pouvant même classiquement trouver des relations entre le repère caméra et encore d'autres repères. Ainsi, à partir des résultats issus du calcul du dispositif de l'invention avec les STN et le processeur 13, il est possible de faire correspondre la scène perçue telle que représentée à la figure 24 avec le modèle mathématique de la figure 25 et finalement d'effectuer un changement de repère pour une représentation telle que celle de la figure 26 par l'exécution de l'organigramme de la figure 27 qui va maintenant être détaillé. En se référant à la figure 27 on a l'organigramme de déterminations des paramètres de représentation en fonction des différents repères mis en jeu. Chaque zone Za et Zb est perçue par un couple k de modules STN et les résultats des couples, les triplets (αk, Xzk, Yzk) (1.1 ) qui sont dans un repère d'orientation particulière (les coordonnées i,j ayant été passées à travers un module de rotation 9 (d'angle θ) de l'unité 8 de traitement spatial angulaire) sont remis dans un repère i,j par la fonction de rotation (1 .2) inverse (d'angle -θ) pour donner les triplets (αk, izk, jzk) (1 .3). On peut alors déduire les équations des droites passant par ces coordonnées (izk, jzk )et de pente d'angle αk par les équations en (1 .4). Ces droites se croisent au point de fuite H de coordonnées iH,JH calculées par les équations (1.5). On pose alors que Vh=jh (le point H est sur une horizontale passant par l'origine du repère caméra O.u.v) et que le décalage D de H par rapport à l'origine du repère caméra est égal à ÎH-Uo-comme ind iqué en (1 .6) On remarque en effet que quand un point au sol s'éloigne pour tendre vers l'infini, son image converge vers un point de la ligne d'horizon d'ordonnée VH égal à jΗ et si le véhicule est bien aligné sur la voie de circulation, alors u0 est égal à i , et un écart D correspondant à une orientation du véhicule sur la voie est calculable comme indiqué en (1.6). On pose alors les équations des droites da et db dans le repère caméra u,v comme étant égales respectivement à u=aι βu+a0a(βu/βv)v et à u=aι βu+aobu/βv)v. On peut alors déduire les relations suivantes exprimées en (1.7): ai βu≈D, aoau/βv)=tanαa et
Figure imgf000096_0001
On peut alors calculer les paramètres des équations de droites cette fois dans le repère route xv,yv comme représenté sur la Figure 26, droites d'équation
Figure imgf000096_0002
respectivement grâce aux opération indiquées en (1 .8) de la Figure 27. Si certains objets de la scène ont des dimensions connues, notamment la largeur de la voie de circulation (distance L sur la Figure 26) et la longueur d'un élément de bande latérale discontinue (B sur les Figures 25 et 26), il est alors possible d'étalonner le système par les calculs indiqués en (1 .9) Figure 27. Le système de transformation de coordonnées (2.1 ) de la figure 25 ainsi défini est très simple et c'est une transformation homographique particulière (c'est à dire que chaque coordonnée est un rapport de transformation linéaire de coordonnées, de même dénominateur) entre les points de l'image sous la ligne d'horizon et les points du sol devant le véhicule. La transformation inverse (2.2) de la figure 26 qui fait passer d'un point de l'image à un point au sol est aussi homographique. On note que dans cette configuration particulière, seulement quatre paramètres doivent être estimés pour complètement caractériser la transformation entre le sol et l'image: βu, βv, u0, VH et que par connaissance de caractéristiques spécifiques de la voie de circulation telle que L, la largeur de voie et B la longueur d'un élément de la bande discontinue, il est possible d'estimer βu et βv. H est également simple de passer du repère matrice (l,J) au repère caméra (u,v) et inversement avec Uo, Vh. On peut également indiquer que dans le cas de limites de voie de circulation qui sont parallèles entre-elles, la différence tanαa-tanαb est une constante. Il est alors possible, lorsque qu'il n'y a plus de perception d'une des limites de voie, de pouvoir effectuer des analyses complémentaires dans la région estimée de présence de la limite qui a été perdue. Il est également possible d'améliorer la rapidité de perception en concentrant l'analyse sur la région estimée de l'une des limites par rapport à l'autre. La possibilité d'anticipation offerte par mise en oeuvre de modules STN ayant cette faculté peut être utilisée dans ce dernier cas: le système anticipant vers la région estimée d'apparition d'une perception de limite de voie de circulation. Dans le cas d'une route droite, la perception des limites de la voie de circulation correspond à un triangle qui est une figure relativement simple. On peut alors mémoriser cette figure sous forme d'un LABEL définissant les caractéristiques du triangle (relations entre coins, entre barycentres de zones, paramètres des droites... ) pour comparaison ultérieure. On peut noter que ce sont les zones perçues les plus proches de la caméra (du véhicule) qui donnent le maximum de précision par rapport à d'autres zones détectées plus éloignées. Il est donc particulièrement intéressant de pouvoir commencer à analyser les images de la scène en commençant par les points de la matrice correspondant aux objets les plus proches afin d'obtenir un résultat précis le plus rapidement possible. En effet, dans l'exemple présenté où l'origine du repère matriciel est en haut à gauche, il faut attendre la réception de la plus grande partie de l'image pour pouvoir commencer à travailler sur les points donnant les résultats les plus précis. On propose donc de mettre en œuvre un transducteur qui envoie les séquences et sous séquences de données dans le système d'analyse en commençant par les points correspondant à des objets les plus proches de la caméra. Un tel résultat peut par exemple être obtenu avec un transducteur dont la matrice de captage est balayée à l'envers, c'est à dire en commençant en bas à droite (ou gauche) au lieu d'en haut à gauche comme ce qui est fait classiquement. On peut également obtenir le même résultat en retournant la caméra pour avoir une image inversée, le bas de la scène étant alors analysé en premier. Jusqu'à présent on a considéré une voie de circulation qui est droite. Le dispositif de l'invention peut également être utilisé dans le cas où la voie de circulation s'infléchie et donc que la route présente un virage ou tournant. La figure 28 (repère matriciel) représente un tel cas simplifié où l'on ne considère que la limite droite de la voie de circulation. La Figure 31 (repère matriciel), quant à elle, est avec deux limites latérales. Sur ces deux Figures 28 et 31 les zones perçues de limite(s) de voie de circulation, déterminées par le système d'analyse, présentent des orientations différentes et leurs barycentres m, n, o (ou ma,na,oa et mb,n ,θb si l'on considère les deux limites latérales) sont reliés sur les figures par une courbe synthétisé. La première zone de barycentre m (ou ma,nr)b) avec la droite dm portée par ladite zone (ou les droites) définit un point de fuite en Vh,U0. La deuxième zone de barycentre n (ou na,nb) avec la droite dn (ou les droites dna,dnb) définit un point de fuite Vh,aι βu- La troisième zone de barycentre o (ou oa,ob) avec la droite do (ou les droites doa,dob) définit un point de fuite Vh,a2βu- Les écarts a^u. et a2βu sur l'horizontale correspondent à une rotation tel que cela a été décrit précédemment. Ces points de fuite (équivalents de H) sont obtenus en mettant en œuvre les opérations présentées pour le cas d'une route droite et notamment l'organigramme de la Figure 27. Ainsi, comme précédemment des équations de droites sont calculées à partir de triplets de résultats liés à chaque zone perçue de limite de voie de circulation déterminée par analyse de l'image. Toutefois, sur la Figure 28 (ou 31 ) et contrairement au cas de la route droite, les points de croisement deux à deux des droites n'arrivent plus au même emplacement (le point H précédent) pour les droites portées par les zones perçues de limite de voie dans la région de courbure de la route mais se répartissent le long de l'horizontale Vh. On peut donc déterminer simplement l'existence d'un virage, en première intention, par la variation d'orientation αm αn α0 des zones de limite de voie de circulation ou, en seconde intention, par calcul des points de fuite (H) pour les différentes zones perçues et en particulier les points de fuite de zones appariées (ma,mb ou na,nb ou oa,ob Figure 31 ) qui ne correspondent alors plus pour les différentes zones, le décalage aιβu évoluant. Il est également possible de déterminer les caractéristiques du virage, notamment son commencement et les rayons des deux limites de voie de circulation par des calculs qui vont maintenant être présentés. A cette fin, on utilise une procédure simplifiée qui considère par hypothèse que la courbure de la voie de circulation est un arc de cercle et qui utilise deux points (barycentres de zones) adjacents pour ajuster ledit arc de cercle. Cette hypothèse est représentée sur la figure 29 où on a représenté dans un repère du type route, mais avec une origine liée au barycentre m pour faciliter l'explication, la limite de voie de circulation passant par les barycentres m, n, o des zones perçues et qui était vue dans le repère matriciel sur la Figure 28. Comme précédemment, à chaque zone perçue par un couple de modules STN, un triplet (αk, Xzk, Yzk) est associé. Comme précédemment, on effectue une opération de rotation -θ permettant de replacer les triplets dans un repère l ,J puis on détermine selon les modalités expliquées précédemment (organigramme de la Figure 27) les paramètres pour pouvoir calculer les relations (2.1) et (2.2) (Figures 25 et 26) permettant de passer d'un repère matriciel ou caméra (Figure 28) vers un repère route (Figure 29) et réciproquement. Connaissant ces relations on peut alors calculer le rayon de l'arc de cercle passant par un des points (barycentres), sur la Figure 29 le point n, par R=xn/(1 -sinα1 ), la droite passant par le centre du cercle et le point n ayant une pente -1/a1. On peut également calculer la distance d du début du virage par rapport au véhicule par d=yn+(xn- R)/tanα1 . L'organigramme de la Figure 30 résume ces étapes de calcul. Dans un premier temps on considère la zone perçue la plus proche de la caméra et on considère que la route est encore droite entre le véhicule et le barycentre de cette zone, point m en l'espèce. Il en résulte que sur une représentation en repère route simplifié, le point m est sur une droite verticale, que l'on a donc fait croiser pour simplifier les calculs et l'explication l'axe xv à l'origine 0 (de ce fait la droite Om est sur l'axe yv). On considère la zone suivante perçue, de barycentre n en l'espèce, qui est située en xn.yn dans le repère route simplifié par application des équations (2.1 ) (2.2) de changement de repère. On peut alors calculer le rayon R et la distance du virage comme indiqué ci-dessus. La Figure 32 (repère route) est la pendante de la Figure 31 (repère matrice). Pour simplifier les explications et calculs en relation avec les Figures 29 et 30 on a considéré en repère route simplifié le point m sur l'axe yv. En pratique et comme vu dans le cas de la route droite, l'origine 0 du repère route est centré sur le véhicule et les points ma et rτib sont donc situés latéralement par rapport à l'origine dans un tel repère. Les calculs du rayon du virage et de la distance de début de virage doivent donc prendre en compte ce décalage par rapport à l'origine par rapport aux formules simplifiées d'explication. Sur cette Figure 32 on a déterminé les deux rayons intérieur Rint et extérieur Rext du virage et la distance au début du virage (distance verticale de l'origine 0 à ligne horizontale en pointillés). Enfin, concernant le nombre de zones à considérer, pour une route avec virage, sur les Figures 28 (ou 31) on a considéré trois (ou six pour les deux limites de voie) zones. Toutefois, comme on l'a vu, la méthode de calcul du rayon de la limite de voie de circulation utilise deux points (barycentres de zone) à chaque fois et on peut donc limiter le nombre de zones à percevoir à un minimum de deux. Les outils introduits précédemment permettent d'obtenir des résultats relativement simplement dans le cas de virage sur la voie de circulation. Toutefois, en acceptant des calculs plus importants, il est possible d'utiliser une méthode mathématique qui considère plus de deux zones à la fois et/ou des courbes qui sont plus complexes que des arcs de cercle. Les exemples d'application à la détermination de limites de voie de circulation ont été basés sur un cas simplifié dans lequel on ne détecte que deux séries de bords orientés correspondants aux limites de voie. Dans la pratique, le dispositif présenté peut être amené à détecter plusieurs séries de bords orientés correspondants à diverses lignes continues ou non de segmentation/délimitation de chaussée. Si l'on peut trouver sur une voie a sens unique seulement deux lignes latérales, le plus souvent sur une voie à double sens on trouve deux lignes latérales et une ligne centrale de séparation de sens de circulation, le nombre de lignes pouvant également varier en fonction du nombre de voies pour un même sens de circulation. Le dispositif sera donc amené d'une part à déterminer les limites de la voie sur laquelle le véhicule circule, les bords latéraux les plus proches, aussi, selon les cas, les limites (possiblement commune d'un coté) des autres voies à partir de bords plus éloignés (sur une horizontale). De même dans ces exemples, on a considéré que la route est plate et que les points de fuite H se retrouvent approximativement sur une horizontale (axe u en l'espèce). Toutefois, dans la pratique, la route peut présenter des ondulations plus ou moins prononcée qui font que le point de fuite peut se déplacer également verticalement et on en tient donc compte par l'intermédiaire d'une tache de supervision contrôlant Uo et vh. La figure 33 donne une représentation symbolique, sous forme d'image correspondant à un LABEL ou étiquette, d'un objet voie de circulation (Label_Route) dans le cas d'une route avec virage. Le LABEL peut être obtenu par synthèse en appliquant des courbes telles que définies précédemment en relation avec les figures 20 à 23 sur les données fournies par le dispositif de l'invention lors de l'analyse de la scène. Une manière plus simple de définir un tel LABEL est de considérer les différents rectangles définis par les droites passant par les différentes zones perçues dans le virage (comme on l'a proposé pour la route droite en considérant un rectangle). Dans ce cas on ne considérera que des portions de rectangles qui sont limités latéralement par une zone (il est alors préférable de calculer la longueur de la zone lors de l'analyse et de transmettre cette donnée avec l'angle et la position du barycentre), ces différentes portions de rectangles étant associées entre-elles (OU). Par exemple, en reprenant la Figure 31 , la portion de rectangle défini par les zones de barycentre ma et mb s'arrête vers le haut sensiblement le long d'une ligne passant sur les extrémités supérieures des zones de barycentre ma et mb. De même, la portion de rectangle défini par les zones de barycentre na et nb commence vers le bas sensiblement le long d'une ligne passant par les extrémités inférieures desdites zones de barycentre na et nb et s'arrête vers le haut sensiblement le long d'une ligne passant sur les extrémités supérieures desdites zones de barycentre na et nb. Et ainsi de suite. On rappelle que les labels correspondent à des représentations symboliques d'objets ou parties d'objet de l'espace, soit sous forme d'ensembles de données brutes résultant d'analyse, notamment positions de barycentres, angles, etc., soit sous forme de représentations plus évoluées, notamment résultant de synthèse comme les paramètres des courbes obtenues ou, à la limite, sous forme d'image. Ces labels qui sont mémorisés permettent l'identification d'objets ou parties d'objet au fur et à mesure de leur perception par le dispositif par détection dans la perception d'une correspondance entre les données de perception et les données de labels mémorisés. On comprend qu'il est préférable que les labels soient représentés sous forme de données brutes afin de faciliter la détection d'une correspondance et éviter une étape supplémentaire pouvant consister en une synthèse à partir des données perçues pour rechercher la correspondance avec un label mémorisé résultant lui aussi d'une synthèse. Dans la description précédente des procédés mis en œuvre pour déterminer les limites de voie de circulation on a considéré une caméra qui est situé sur le véhicule, par exemple dans le rétroviseur intérieur, et orientée vers l'avant. On comprend bien que les moyens indiqués puisse également être appliqués avec des caméras orientées vers l'arrière et, par exemple, dans un ou les deux rétroviseurs latéraux, le défilement de la route et les rotations se trouvant toutefois inversés par rapport à ceux d'une caméra orientée vers l'avant. La figure 34 donne un exemple de mise en œuvre de l'invention dans un véhicule 500 routier d'un conducteur. Selon le type d'application souhaité qui concerne plus particulièrement la sécurité, notamment suivi de voie, anti- collision frontale, voire encore anti-collision latérale, une caméra frontale, vers l'avant du véhicule est utilisée, voire, en plus, une ou deux latérales dans les rétroviseurs (permettant éventuellement également de venir compléter la fonction de suivi de voie principalement obtenue avec la caméra frontale). Sur la figure 34 on a représenté trois caméras: une frontale vers l'avant (champ de vision 501 ) et deux latérales vers l'arrière et le coté correspondant (champ de vision 503 pour l'une), avec leurs champs de vision respectifs qui englobent des lignes discontinues latérales au véhicule et délimitant la voie de circulation. Les flux de données produits par ces caméras sont envoyés vers le dispositif de l'invention schématisé à l'intérieur du véhicule sous forme de deux blocs fonctionnels, le premier 100 pour analyse, le second, 505 pour synthèse, visualisation et/ou actionnement d'effecteurs (freinage, direction...). Le dispositif de l'invention après analyse et synthèse peut présenter au conducteur l'environnement du véhicule sous forme d'une image représentant le véhicule 500 sur la route, vu de dessus, comme sur la figure 35. Sur cette figure 35, le véhicule du conducteur 500 est symbolisé par un pavé grisé et les différentes voies de circulation par des bandes de roulement délimitées par des lignes, ici continues mais pouvant être discontinues en fonction du type de lignes de séparation (continues ou non) de l'espace et qui ont été synthétisé sur l'image présentée. Les autres véhicules 502 et 504 perçus dans l'espace sont synthétisés sous forme de pavés se distinguant du véhicule du conducteur. Des alertes de perte de trajectoire dans le cadre de la fonction suivi de trajectoire peuvent être générées en fonction de la position du véhicule du conducteur dans la bande de roulement et/ou position du véhicule par rapport aux lignes de délimitation latérales de la voie de circulation. En dehors de la position elle-même du véhicule, la trajectoire du véhicule par rapport à la bande de roulement ou les lignes de délimitation peut être prise en compte pour ce type d'alerte. Des alertes anticollision peuvent être générées en fonction de la distance des véhicules entre-eux et de leurs trajectoires relatives respectives. La trajectoire peut être estimée en fonction de la direction générale passée du véhicule et/ou un transducteur peut être relié au volant du véhicule du conducteur. Des applications de l'invention sont ainsi possibles à type de suivi et anticipation de la trajectoire d'un véhicule dans un espace quelconque (aérien, maritime, terrestre) et notamment routier ou ferroviaire (la structure des voies est connue à priori) pour alertes anticollision ou surveillance du respect de la signalisation. De plus, des alertes anti-collision sont permises par la détection des autres véhicules (ou aéronefs ou navires) en fonction de la trajectoire (et éventuellement vitesse) du véhicule (ou aéronef ou navire) qui comporte l'invention, voire également en fonction des trajectoires de ces autres véhicules (et éventuellement de leurs vitesses) selon des modalités connues notamment dans la surveillance du trafic aérien ou maritime. Ces autres véhicules peuvent être détectés vers l'avant mais également vers l'arrière au cas où une/des caméra latérales seraient mises en œuvre. On comprend bien que dans le cas de véhicules aériens ou maritimes la caméra puisse être remplacée par un radar tel que classiquement utilisé dans ces domaines. Les exemples d'applications précédents qui sont principalement en relation avec la sécurité peuvent être combinées à d'autres et notamment à la détection de l'endormissement du conducteur comme expliqué dans les demandes W099/36893 et W099/36894 et auxquelles on pourra éventuellement se référer. On a donc représenté plusieurs modalités de mise en œuvre pratique d'une telle combinaison sur les figures 36 à 39. Pour détection de l'endormissement, le visage du conducteur doit être filmé et le positionnement de la caméra dans le rétroviseur intérieur est particulièrement intéressant. De même, le positionnement de la caméra frontale pour filmer la route dans le rétroviseur est intéressant car la route est alors vue d'un point relativement haut. Une telle configuration avec prise de vue du visage du conducteur et de la route vers l'avant à partir du rétroviseur est représenté sur la figure 36. On peut donc profiter de la présence de ces moyens de prise de vue dans le rétroviseur pour simplifier le traitement des vues en n'utilisant qu'un seul dispositif selon l'invention pour assurer toutes les fonctions de sécurité souhaitées en relation avec une prise de vue vers l'avant et avec la détection de l'endormissement. A cette fin, le dispositif perçoit une image qui correspond à la figure 37 avec sur la partie gauche le visage et sur la partie droite la route à l'avant. Un tel résultat peut être obtenu d'une manière simplifiée avec un seul transducteur 2a de type caméra et un moyen de réflexion de renvoi optique soit pour la route, soit pour le visage. Sur la Figure 38, c'est la dernière configuration qui est représentée avec renvoi pour le visage avec un prisme réflecteur 180° qui permet de renvoyer sur une première partie du transducteur (caméra) le visage, l'autre partie du transducteur recevant directement la route. Des moyens de mise au point permettent la mise au point rapprochée sur le visage d'une part, et la mise au point lointaine pour la route. En alternative, deux transducteurs 2a peuvent être utilisés comme représentés sur la figure 39. Dans ce dernier cas, les transducteurs sont de préférence synchronisés entre eux afin de faciliter le traitement des deux images reçues séparément. APPLICATION A LA SURVEILLANCE DE SCENE Dans cette application, les objets pouvant se trouver dans le lieu capté par le transducteur n'ont pas de propriétés entre-eux ou de relations avec l'horizon connues à priori autre que la perspective. On s'attachera donc dans un premier temps à déterminer l'horizon du lieu observé par le transducteur et c'est relativement à cet horizon que les objets vus en perspective dans le lieu seront repérés. On changera ensuite de référentiel pour faciliter l'analyse et pouvoir mieux positionner les objets les un par rapport aux autres et notamment les objets mobiles dans la scène. La figure 48 montre une image d'un lieu (sur les figures 48 et 49 les images sont stylisées pour simplifier la reproduction des figures, en réalité les images sont en niveaux de gris ou en couleurs) obtenu par un transducteur qui est une caméra. Ce lieu est une place dans une ville qui comporte des emplacements de stationnement repérés par des lignes au sol et qui est entourée de bâtiments. Des piétons ou des automobiles peuvent se déplacer dans ledit lieu. On détermine sur l'image (référentiel orthonormé de la caméra x, y) des bords orientés et plus particulièrement deux comme représenté (ou plus de deux) groupes d'au moins deux ou plus (de préférence trois comme représenté afin d'augmenter la robustesse tout en limitant les calculs) bords orientés présentant des caractéristiques particulières : les bords de chaque groupe ont des orientations voisines et des variations d'orientation de bord faible ou nulles (ce sont des droites ou quasi-droites) et entre au moins deux groupes les orientations générales sont très différentes, par exemple sensiblement perpendiculaires. Du fait de la perspective des objets sur les images, les trois lignes portées par les bords déterminés de chaque groupe se croisent en un premier point Fo (x0, yO) et un second point F-i (x1 , y1 ). La ligne virtuelle passant par les deux points Fo et F est considérée comme étant la ligne d'horizon du lieu. La figure 49 représente toujours la même image que celle de la figure 48 mais après rotation pour mise à l'horizontale de la ligne d'horizon. On défini un référentiel u,v orthonormé dont l'un des axes, l'axe u en l'espèce, est porté par la ligne d'horizon et l'autre axe, v en l'espèce, passe par le centre optique de l'image. L'origine du référentiel u,v est donc le croisement de l'horizon avec la droite passant par le centre optique. Par des formules de calcul de changement de référentiel et de rotation déjà vus et expliqué en relation avec les figures 24 à 27, on peut calculer dans le repère u,v les équations des bords et les droites portées par ces bords qui se croisent effectivement sur les deux points F0 et Fi et qui servirons à une représentation simplifiée de la scène. Ces équations sont du type u=b0(βu/βv)v+b1 βu pour H 1 et u=cO(βu/βv)v+d βu pour V1. Les droites H1 et V1 étant perpendiculaires entre-elles, le produit des pentes b1 et d est égal à moins un. A partir de ce repère u,v lié à l'horizon, on peut effectuer une autre transformation de référentiel pour passer dans une représentation horizontale vue de dessus de la scène avec les bords précédemment considérés du lieu comme représenté sur la figure 50. Les lignes portées par les bords considérés et référencées V1 et H1 sont repérées sur les deux figures 49 et 50. L'origine du référentiel orthonormé de la figure 50 est la caméra. La figure 50 constitue la reconstruction de la scène à l'aide de la méthode décrite en relation avec les figures 25 et 26 à partir de résultats concernant les zones déterminées contenant les bords considérés (dimension de zone, orientation...) par perception du contexte de la scène. Dans des étapes ultérieures, des recherches d'objets présentant des caractéristiques particulières (forme, couleur, mouvement... ) peuvent être effectuées et ces objets replacés sur la représentation à l'horizontale du lieu. C'est ainsi que figure 51 on a représenté le trajet d'un objet mobile au sein de cette représentation horizontale du lieu (déplacement dans un contexte connu). On comprend que le système à modules STN selon les modalités de mise en œuvre précédemment expliquées pour la détermination de bords orientés présentant des caractéristiques particulières (ici les bords utiles à la détermination des points portant la ligne d'horizon: bords de variation d'orientation faible ou nulle, d'orientation voisine pour ceux d'un groupe, d'orientations différentes pour des groupes différents) permet une réalisation simple et élégante. De plus, la détection et l'incorporation par synthèse d'objet (ou transformation de repère limitée à l'objet sur l'image) sur la représentation horizontale est simple puisque l'on peut percevoir des objets de caractéristiques particulières en fonction d'un paramètre d'entrée d'un module STN (vitesse pour détecter un objet mobile par exemple) et combiner les paramètres (et éventuellement rétroannotations) pour affiner la détection. Ainsi, outre l'utilisation d u paramètre vitesse qui permet de déterminer des objets mobiles, on peut utiliser une sélection de forme et/ou de taille particulière d'objet (par exemple : un humain bipède est une forme plus haute que large, un quadrupède de type chien plus long que haut, un véhicule possède des formes arrondies que sont les roues... ) qui seront sélectionnés par des modules STN recherchant des objets mobiles ayant de tels critères. APPLICATION A LA DETERMINATION DE LA DISTORSION OPTIQUE GEOMETRIQUE Les moyens d'acquisition de scènes de type appareil photographique ou caméra vidéo, voire même les appareils de numérisation d'images ou textes papier comme les imageurs, numériseurs informatiques ou les photocopieuses numériques, mettent en œuvre des capteurs permettant de convertir des informations lumineuses (photons) en signaux électriques ainsi que des moyens optiques à type de lentilles simples ou complexes, actives (par exemple à variation de focale et/ou, éventuellement, de diaphragme optique) ou passive (notamment focale fixe). Malgré les progrès en optique, ces moyens optiques que l'on nomme ici d'une manière générique « objectifs », présentent des défauts plus ou moins importants selon leur qualité et entraînant des déformations, ici appelées distorsions, des images acquises par rapport à la scène initiale. On s'intéresse ici plus particulièrement à la distorsion géométrique qui, selon son sens, est qualifiée de distorsion en barillet ou en coussinet. Ce type de distorsion est surtout présent sur les cotés de l'image et déforme les lignes droites des scènes en courbes incurvées, concaves ou convexes selon le cas, vers le bord des images. Or, outre l'aspect esthétique, les images ainsi acquises peuvent être utilisées pour effectuer des analyses de scène, servir à des calculs (analyse d'environnement routier, calcul de surfaces agricoles par exemple) et on comprend alors que de telles distorsions géométriques puissent entraîner des erreurs dans les résultats correspondants. Il est donc utile de pouvoir les corriger. Par ailleurs, un moyen de correction de la distorsion géométrique peut permettre l'utilisation d'objectifs de qualité moyenne dans des appareils de prise de vue numérique et donc de coût bien moindre que des objectifs de haute qualité à très faible distorsion géométrique, la correction s'effectuant alors numériquement. On propose donc un moyen de détermination et correction de la distorsion géométrique en barillet ou coussinet qui fait application du procédé (ou un système selon le cas) automatisé de perception pour la détermination et caractérisation de bords orientés d'objets d'un espace analysé, l'espace avec ses objets étant matérialisé par des signaux électriques évoluant dans le temps sous forme de séquences organisées en sous séquences de données de type vidéo ou équivalent. L'application à la correction de la distorsion optique géométrique est basée sur le fait que l'on peut modéliser mathématiquement la distorsion géométrique et que, en coordonnées polaires et par rapport au centre optique de l'objectif sur l'image de la scène, la correction de position Δ à apporter à chaque pixel de l'image numérisée est de la forme Δ = Ep3 en coordonnées polaires. En d'autres termes, la correction à apporter au pixel P(x, y) considéré de l'image par rapport au centre optique est proportionnelle à un coefficient E de distorsion et au cube du module p définissant la position du pixel P(x, y) par rapport au centre optique (x0, yo). On détermine à cette fin sur une image d'une scène comportant au moins un objet structuré visuellement par des lignes de bords au moins une ligne de bord d'un objet de l'image et sur laquelle on peut trouver au moins trois points répartis à distance les uns des autres le long de ladite ligne de bord, la ligne est choisie comme étant parmi les plus longues et les plus éloignées du centre optique (sans toutefois passer par le centre optique) et, par exemple, une ligne proche d'un bord de l'image et orientée globalement sensiblement parallèlement audit bord de l'image, puis on calcule dans un premier temps la valeur du coefficient E par un processus itératif de correction de position des points puis dans un second temps le centre optique (x0, yo) par un processus itératif de déplacement de la position du centre optique et correction de position desdits points. On peut alors utiliser les paramètres de correction: E, coefficient de distorsion, et (xo, y0), position du centre optique, obtenus pour corriger les positions des pixels des images. Le centre optique n'étant pas connu à priori, on effectue ces calculs initialement par rapport au point central de l'image qui est une estimation de la position du centre optique. Si on dispose d'un autre moyen d'estimation du centre optique à priori, on pourra prendre cette estimation comme position initiale pour les calculs. Pour effectuer la détermination puis la correction on met en œuvre un système à modules STN qui est programmé aussi bien structurellement (relations entre modules) que fonctionnellement (notamment paramètres et rétroannotations traitées). On a représenté sur la figure 42 la détermination sur une image d'une ligne (A) dans une zone Z0 comme étant un bord orienté d'un objet et de trois points répartis sur la ligne ainsi que le déplacement D des points par calcul de valeurs de déplacement Δi , Δ2, Δ3 à partir des valeurs de modules p1 , p2, p3 par rapport à un centre optique (estimé ou calculé) Oxo.yo aboutissant à une première ligne virtuelle (C) en petits pointillés dans le cas d'un déplacement excessif (ligne courbée du bas) obtenu au cours d'une itération et une seconde ligne virtuelle (B) en pointillés fins dans le cas d'un déplacement correct (ligne droite) en fin d'itération. Les trois points de la ligne correspondent à des barycentres de sous- zones Zi , Z2, Z3 déterminées dans la zone Zo contenant la ligne. Des modules STN sont mis en œuvre d'une manière progressive par recrutement depuis une résolution faible permettant de déterminer une grande zone Zo contenant une ligne d'une certaine courbure puis, ensuite, à l'intérieur de cette zone Z0 des zones plus petites Z1 , Z2, Z3 encadrant des portions de la ligne et dont les barycentres sont les points répartis sur la ligne et qui servent aux calculs. Ces points répartis correspondants aux barycentres sont repérés en coordonnées polaires par rapport à un point de référence Oxo.yo par leurs modules pi, p2, P3. Avec le coefficient de distorsion E, il est possible de calculer les déplacements Δ1, Δ2, Δ3 des points de la ligne (barycentres) et de vérifier si les points déplacés sont alignés ou non avec un test sur un indice d'alignement. On a représenté sur la figure 45 une modalité de détermination d'un indice d'alignement pour trois points par comparaison (différence absolue) des pentes P1 et P2 de deux droites joignant deux à deux les trois points déplacés et ayant le point central en commun, soit respectivement les deux droites (x' 1 , y'1 )-(x'2,y'2) de pente P1 et (x'2, y'2)- (x'3,y'3) de pente P2. L'indice d'alignement I correspond à la valeur absolue de la différence des pentes P1 et P2 des deux droites, soit l=|P1 -P2|, avec P1 =(y'ι-y'2)/(x'ι-x'2) et P2=(y'2- y'3)/(χ'2-χ'3). Un premier procédé simple de détermination du coefficient E et du centre optique, mais de convergence lente (une itération sur la valeur du coefficient E par séquence ou trame), est explicité par la figure 43 avec une association de trois modules STN du type de celle de la figure 18 et avec deux histogrammes, figures 43a et 43b, donnant la répartition (nombre de pixels) des orientations de bord dans la zone déterminée par l'association de modules. On considère cette fois que l'on applique d'une itération à l'autre (en pratique une séquence ou trame par itération) le coefficient de correction E à la zone (ou l'image comme on le verra ultérieurement avec les figures 46 et 47) pour déplacement des points de la zone et on analyse les variations de l'histogramme. L'histogramme figure 43a, est relativement large avec une ligne de bord orienté dont les orientations de points se répartissent entre αa et αb, cette ligne correspond par exemple à la ligne déterminée dans la zone Zo (image initiale ou après déjà un déplacement mais insuffisant ou excessif des points). Après une séquence avec application d'un coefficient de correction E de valeur permettant un déplacement correct, l'histogramme de la zone contenant la ligne, figure 43b, s'est resserré et son amplitude maximale RMAX a augmenté (le nombre de points NBPTS est sensiblement constant d'une séquence à l'autre sauf rupture dans la prise de vue). On peut donc définir un critère d'arrêt d'itération lié à l'amplitude maximale de l'histogramme et éviter d'avoir à calculer explicitement les déplacements de points et des indices d'alignement des points déplacés. Ainsi, figure 43, les trois modules STN 15, 16, 17 permettent de verrouiller une ligne constituant un bord orienté dont les variations d'orientation sont choisies faibles (de préférence non complètement nulles sinon la ligne serait déjà une droite) et donc une ligne légèrement courbée. On aura pris soin de sélectionner ce bord selon les critères utiles à la phase de calcul considérée (éloigné du centre de l'image / proche d'un bord de l'image et d'orientation générale adéquate). Cette zone Zo contenant un bord orienté présentant certains critères peut provenir de l'analyse de l'image dans sa totalité ou, le plus habituellement, sur une partie de cette image correspondant à une zone déjà déterminée (par exemple une zone de couleur spécifique ou d'emplacement spécifique, notamment proche d'un bord de l'image). Cette ligne est dans la zone Zo et son orientation générale de bord α0. On modifie itérativement, d'une séquence à la suivante le coefficient E qui sert à la correction de l'image comme on le verra avec les figures 46 et 47, pour obtenir une augmentation de RMAX sur l'histogramme de répartition des orientations de bords jusqu'à ce qu'un seuil soit dépassé pour RMAX. La boucle logicielle suivante donnée à titre d'exemple permet de déterminer par itération E à partir d'une zone déjà repérée et contenant un bord ayant les critères nécessaires à la phase de calcul: a - première séquence : " E = Einit, - correction de l'image avec E, - construction de l'histogramme, - lecture de RMAX, b - séquence suivante : - incrémentation de E - correction de l'image avec E incrémenté, - construction de l'histogramme, - lecture de RMAX, - si RMAX courant (RMAXT) est supérieur à RMAX de la précédente séquence (RMAXT-ι) alors retour en b, sinon passe en c c - séquence suivante : - décrémentation de E - correction de l'image avec E décrémenté, - construction de l'histogramme, - lecture de RMAX, - si RMAX courant (RMAXT) est supérieur à RMAX de la précédente séquence (RMAXT-ι) alors retour en c, sinon passe en d d - test de boucle - si premier passage, repasse en b, sinon sortie avec valeur courante de E. Dans une variante on peut, en plus, modifier la valeur d'incrémentation/décrémentation de E lors du test de boucle pour affiner le résultat: les premiers incréments et décréments étant relativement importants et réduits progressivement lorsque l'on se rapproche de la valeur E pour une correction (déplacement) correcte. Le test de fin de boucle sera adapté en conséquence. On doit noter qu'à la place de RMAX, on peut considérer le rapport NBPTS/RMAX qui cette fois diminue lorsque l'on se rapproche de la solution et est invariant par rapport à la dimension de la ligne considérée. Cela évite les effets d'une variation de NBPTS d'une séquence à l'autre (variations toutefois généralement faibles). On adapte alors les procédures et programmes précédents en tenant compte de l'inversion du sens de la variation du rapport NBPTS/RMAX par rapport au sens de la variation de RMAX. La boucle logicielle a été présentée pour la détermination de E. Elle est toutefois transposable à la détermination du centre optique en modifiant itérativement, dans un premier temps, Xo pour un bord selon une première direction parallèle à l'un des axes du référentiel x,y puis, dans un deuxième temps, y0 pour un bord selon une deuxième direction parallèle à l'autre axe du référentiel x,y. Inversement on peut commencer par modifier y0. Ainsi, pour cette méthode simple, on a vu sur la figure 42 que la zone englobant la ligne (image ou virtuelle) a une largeur qui varie et qui est minimale dans le cas d'un déplacement correct aboutissant à une ligne droite et donc que la forme de l'histogramme concernant cette zone sert de critère pour déterminer si le déplacement est correct ou non avec une fin d'itération lorsque l'histogramme présente un pic particulièrement étroit et haut pour la répartition angulaire. On voit donc qu'il existe un moyen particulièrement simple (test de linéarité qui correspond ici à une analyse de l'histogramme) de déterminer si le déplacement est correct ou non grâce à l'utilisation des données d'orientation α et de variation δα d'orientation de bord comme montré en relation avec la figure 43 et où, comme représenté aux figures 46 et 47, un moyen de correction fonction de valeurs de E (coefficient de distorsion) et xo.yo (centre optique) est disposé en amont du système à modules STN qui peut donc recevoir des données corrigées ou non (en fonction des valeurs E et x0,yo). Outre la méthode simple de détermination du coefficient de distorsion et du centre optique, présentée ci-dessus en relation avec les figures 43, 46 et 47, consistant à suivre l'évolution d'histogrammes en fonctions de valeurs de coefficient E et de position de centre optique, il est possible de mettre en œuvre une méthode explicite présentée en relation avec les figures 44 et 45 consistant à déterminer des points sur un bord, déplacer les points et calculer un indice d'alignement. La Figure 44 donne un exemple de recrutement progressif de modules STN pour déterminer une zone Z0 dans un premier temps puis, à l'intérieur de Z0, des zones Zi , Z2, Z3 telles que représentées sur la figure 42. Le premier temps correspond à la mise en œuvre des trois modules STN 15, 16, 17 de la partie haute et gauche de la Figure 44. Cette structure à trois modules STN s'apparente à celle qui a été décrite en relation avec la Figure 18. En général ce premier temps est déjà le résultat de déterminations de zones de taille supérieure (suite à une perception de niveau plus général), notamment d'une zone proche d'un bord donné d'image et/ou à distance d'un point de référence central (sélection d'une zone image particulière pour y rechercher des lignes). Les trois modules STN permettent de déterminer une zone contenant un bord orienté dont la courbure n'est pas trop importante (notamment ne formant pas un coin). Le premier module STN 15 de préférence bilinéaire reçoit un paramètre spatial complexe correspondant aux coordonnées X,Y des pixels de l'image et produit un signal de classification Z0(i ) correspondant à la zone Zo. Ce signal de classification Zoo.j) est envoyé sur une première entrée de rétroannotation du deuxième module STN 16 recevant en entrée un paramètre temporel d'orientation (angle) α des points des bords pour produire un signal de classification α0(iιj) bouclant sur une entrée de rétroannotation du premier module STN 15. Afin de pouvoir considérer plus particulièrement des bords orientés formant des lignes de courbure pas trop importante, le troisième module STN 17 qui est limité à la zone Z0 par réception en entrée de rétroannotation du signal de classification Zo(i ) du module STN 15 et qui reçoit un paramètre temporel δα de variation d'angle des points de bords, produit un signal de classification envoyé sur une seconde entrée de rétroannotation du deuxième module STN 16. Sur la droite des trois modules STN on a représenté l'histogramme de répartition des angles (orientations) des points des bords pour la zone Z0 et qui est produit par le module STN 16. La ligne trouvée dans la zone Zo ayant une courbure variant peu, le pic Hα0 est étroit entre αa et αb. La ligne déterminée dans la zone Z0 présentant les caractéristiques requises (éloigné du centre de l'image / proche d'un bord de l'image et d'orientation générale adéquate), on peut, dans un deuxième temps, recruter de nouveaux modules STN par paires afin de déterminer les zones Zi , Z2, Z3, à l'intérieur de cette zone Z0, ce qui correspond aux couples représentés à la partie droite de la Figure 44. Dans cet exemple, pour la détermination de trois zones à l'intérieur de Zo, on a considéré la répartition des orientations des points de bord dans Z0 (déjà vue en relation avec l'histogramme à droite des trois modules STN 15, 16, 17) que l'on a divisée en trois avec des angles d'orientation αac pour
Figure imgf000117_0001
et αc-αd pour Z2 et αct-α pour Z3. Afin de mieux rendre compte de la division en trois de la répartition angulaire d'orientation des points de bord de Zo, on a augmenté la résolution horizontale (angles) des quatre histogrammes de la partie gauche de la Figure 44 par rapport à l'histogramme de la partie haute et droite de cette même figure et qui a été commenté ci-dessus. De ces quatre histogrammes, celui du haut correspond à celui produit par le module STN 16 des trois modules STN 15, 16, 17 et, à la suite en descendant, l'histogramme suivant correspond à la zone Zi (premier couple de modules à partir du haut), puis le suivant, à celui correspondant à la zone Z2 (deuxième couple de modules à partir du haut) et, enfin, le dernier en bas, à celui correspondant à la zone Z3 (troisième couple de modules à partir du haut). Chacun des couples de modules STN est constitué d'un premier module STN 15 de préférence bilinéaire qui reçoit un paramètre spatial complexe correspondant aux coordonnées X,Y des pixels de l'image et produit un signal de classification Zi(j ) Z2(i )... correspondant à la zone Zι Z2... Ce signal de classification est envoyé sur une entrée de rétroannotation du deuxième module STN 16 du couple recevant en entrée un paramètre temporel d'orientation (angle) α des points de bord pour produire un signal de classification α1 (iιj) α2(iιj) ... bouclant sur une première entrée de rétroannotation du premier module STN 15 du couple. Afin de considérer plus particulièrement la zone Z0, le premier module STN 15 du couple reçoit en entrée de rétroannotation le signal de classification Zo(i.j). La position des barycentres des zones Z\ à Z3 ainsi déterminées est fournie par les registres des premiers modules STN 15 des couples. On peut alors utiliser ces informations pour calculer le coefficient de distorsion puis la position du centre optique. On comprend qu'il est ainsi possible de déterminer autant de zones dans Zo et donc de points (barycentres) sur la ligne de Z0 que l'on veut par recrutement d'autant de- couples de modules STN. On comprend également que cet exemple de mise en œuvre de couples de modules STN pour détermination des points sur la ligne est indicatif et qu'il existe d'autres manières de mettre en œuvre les modules STN pour aboutir à la détermination de lignes et de points adéquats pour l'application à la correction de la distorsion optique géométrique. C'est ainsi que l'on peut aussi mettre en œuvre des modules STN de la manière qui a été décrite en relation avec les Figures 16 et 17 avec exclusion progressive de zones (une ou plusieurs zones précédentes inhibant une recherche d'une zone suivante). On peut remarquer que les couples de modules STN correspondent à un recrutement d'un premier module STN dans le domaine spatial avec le paramètre (X,Y) et d'un second dans le domaine temporel avec le paramètre d'orientation. De même, le fait de mettre en œuvre un module STN recevant une donnée spatiale en entrée peut permettre la sélection effective de bord dans certaines zones de l'image et notamment éloignée du centre / proche d'un bord d'image et qui soit suffisamment étendue. La méthode explicite consiste à mettre en œuvre les phases et étapes suivantes :
A - dans la première phase on effectue les étapes suivantes : (initialisation) a) on attribue une valeur initiale Ej au coefficient de distorsion, (détermination de lignes et points) b) on détermine sur l'image une ligne d'un objet de la scène, ladite ligne étant choisie parmi les lignes des objets de l'image les plus longues et les plus éloignées du point d'origine de référence selon une distance projective, Tb) une étape supplémentaire entre les étapes b) et c) consistant en un test de réussite de détermination de ligne, le procédé s'arrêtant à ladite étape Tb) en cas d'impossibilité de détermination de ligne à l'étape b), c) on détermine au moins trois points P1 (xι , yi), P2(x2, y2) , P3(X3, y3)... distincts et répartis sur ladite ligne,
Te) une étape supplémentaire entre les étapes c) et d) consistant en un test de réussite de détermination d'au moins trois points sur la ligne, avec en cas d'impossibilité de détermination d'au moins trois points, retour à l'étape b), Te') une étape supplémentaire entre les étapes c) et d) et de préférence entre les étapes Te) et d), consistant en un test de linéarité entre les trois points P1 (xι , yO, P2(x2, y2) , P3(x3, y3)... par calcul d'un indice d'alignement indiquant l'écart desdits points par rapport à un alignement sur une droite commune fictive, et, au cas où l'indice de linéarité est inférieur à un seuil, retour à l'étape b) pour détermination sur l'image d'une nouvelle ligne d'un objet de la scène, ladite nouvelle ligne n'ayant pas encore fait l'objet d'étapes, (calculs itératifs) d) on calcule en coordonnées polaires, par rapport au point d'origine de référence pour chaque point P1 (x-ι , yi), P2(x2, y2) , P3(x3, y3) --- , les valeurs des modules p^ p2, p3... , e) on calcule en coordonnées polaires pour chaque point P1 (xι , yO, P2(x2, y2) , P3(x3, ys) -- , les valeurs des déplacements correspondants Δp-i≈Ej.pi3, Δp2=Ej.p2 3,
Figure imgf000120_0001
f) on déplace les points P1 (xι , yi), P2(x2, y2) , P3(x3, y3)... , considérés en référence polaire d'une distance Δpi , Δp2, Δp3... correspondante le long d'un axe passant par le point d'origine de référence et le point correspondant, les points déplacés étant P^X'L y'i), P2(x'2 > y'2) , P3(x'3 ) y'3)- , g) on effectue un test de linéarité entre les points déplacés P1 (x'ι , y'i), P2(x'2, y'2) , P3(x'3l y'3)... par calcul d'un indice d'alignement la indiquant l'écart desdits points déplacés par rapport à un alignement sur une droite commune fictive, - dans le cas où l'indice d'alignement la est inférieur à un seuil ε de linéarité, on garde comme coefficient de distorsion E la dernière valeur Ei et on quitte la phase de calcul du coefficient de distorsion,
- dans le cas contraire, on modifie la valeur de Ej d'une manière telle qu'en repassant itérativement à l'étape e), (ou on peut remonter à l'étape d) au lieu de e) mais cela est moins efficace) l'indice d'alignement la finisse par diminuer,
B - dans la deuxième phase on effectue les étapes suivantes : (initialisation) h) on attribue la valeur initiale prédéfinie 0(x, y) au centre optique courant, la valeur initiale prédéfinie 0(x, y) correspondant de préférence au point central de l'image dans la matrice, (détermination de lignes et points) i) on détermine sur l'image une première ligne d'un objet de la scène, ladite première ligne étant choisie parmi les lignes des objets de l'image les plus longues et les plus éloignées du centre optique courant selon une distance projective, Ti) une étape supplémentaire entre les étapes i) et j) consistant en un test de réussite de détermination de ligne, le procédé s'arrêtant à ladite étape Ti) en cas d'impossibilité de détermination de ligne à l'étape i), j) on détermine au moins trois points P1 (xι , yi ), P2(x2, y2) , P3(x3, y3)..- distincts et répartis sur ladite première ligne, Tj) une étape supplémentaire entre les étapes j) et k) consistant en un test de réussite de détermination d'au moins trois points sur la ligne, avec en cas d'impossibilité de détermination d'au moins trois points, retour à l'étape i), Tj') une étape supplémentaire entre les étapes j) et k) et de préférence entre les étapes Tj) et k), consistant en un test de linéarité entre les trois points P1 (Xι , yO, P2(x2, y2) , P3(x3, y3)... par calcul d'un indice d'alignement indiquant l'écart desdits points par rapport à un alignement sur une droite commune fictive, et, au cas où l'indice de linéarité est inférieur à un seuil, retour à l'étape i) pour détermination sur l'image d'une nouvelle ligne d'un objet de la scène, ladite nouvelle ligne n'ayant pas encore fait l'objet d'étapes, k) on détermine sur l'image une seconde ligne d'un objet de la scène, ladite seconde ligne étant choisie parmi les lignes des objets de l'image les plus longues et les plus éloignées du centre optique courant selon une distance projective, lesdites première et seconde lignes ayant en outre des directions se croisant, les directions étant de préférence sensiblement perpendiculaires entre-elles, de préférence les pentes des lignes étant assimilées aux directions,
Tk) une étape supplémentaire entre les étapes k) et I) consistant en un test de réussite de détermination de ligne, le procédé s'arrêtant à ladite étape Tk) en cas d'impossibilité de détermination de ligne à l'étape k), I) on détermine au moins trois points Pa(xa, ya), Pb(xb, yb) , Pc(xc, yc)--- distincts et répartis sur ladite seconde ligne, la première ligne étant moins inclinée que la seconde ligne par rapport à un premier axe, X ou Y, que par rapport à un second axe, Y ou X, des deux axes référentiels X, Y de la matrice,
TI) une étape supplémentaire entre les étapes I) et m) consistant en un test de réussite de détermination d'au moins trois points sur la ligne, avec en cas d'impossibilité de détermination d'au moins trois points, retour à l'étape k), TI') une étape supplémentaire entre les étapes I) et m), de préférence entre les étapes TI) et m), consistant en un test de linéarité entre les trois points Pa(xa, ya), Pb(xb, y ) , Pc(xc, yc) ... par calcul d'un indice d'alignement indiquant l'écart desdits points par rapport à un alignement sur une droite commune fictive, et, au cas où l'indice de linéarité est inférieur à un seuil, retour à l'étape k) pour détermination sur l'image d'une nouvelle ligne d'un objet de la scène, ladite nouvelle ligne n'ayant pas encore fait l'objet d'étapes, * pour une première coordonnée du centre optique : (calculs itératifs) m) on calcule en coordonnées polaires, par rapport au centre optique courant 0(x, y), pour chaque point P1 (xι , yi) , P2(x2, y2) , P3(X3, y3)--- , les valeurs des modules pi , p2, P3--. , n) on calcule en coordonnées polaires pour chaque point P1 (xι , yi), P2(x2, y2) , P3(x3, y3)--- , les valeurs des déplacements correspondants Δpi ≈E.pi3, Δp2=E.p2 3, Δp3=E.p33.-- , E étant le coefficient de distorsion obtenu à la première phase, o) on déplace les points P1 (xι , yi ), P2(x2, y2) , P3(x3, y3)... considérés en référence polaire, d'une distance Δpi , Δp2, Δp3... correspondante selon un axe passant par le centre optique courant 0(x, y) de l'image et le point correspondant, les points déplacés étant P1 (x'ι , y'i), P2(x'2, y'2) , P3(x'3, y'3) ... , p) on effectue un test de linéarité entre les points déplacés P1 (x'ι , y' , P2(x'2, y'2) , P3(x'3, y'3) ... par calcul d'un premier indice d'alignement lai indiquant l'écart desdits points déplacés par rapport à un alignement sur une droite commune fictive,
- dans le cas où l'indice d'alignement lai est inférieur à un seuil ε' de linéarité, on garde la première coordonnée yσ ou x0 sur le second axe pour la position courante 0(x, y) et on passe à l'étape suivante, - dans le cas contraire, on déplace le centre optique courant 0(x, y) parallèlement au second axe, Y ou X, et on repasse à l'étape m) de manière à ce qu'itérativement l'indice d'alignement lai finisse par diminuer, * pour la seconde coordonnée du centre optique : (calculs itératifs) q) on calcule en coordonnées polaires, par rapport au centre optique courant 0(x, y) avec la première coordonnée calculée précédemment, pour chaque point Pa(xa, ya), Pb(xb, yb) , Pc(xc, yc) .- , les valeurs des modules pa, pb, ρc -- , r) on calcule en coordonnées polaires pour chaque point Pa(xa, ya), Pb(Xb, yb) , Pc(xc, yc) -- , les valeurs des déplacements correspondants Δpa=E.pa , Δpb=E.pb , Δpc≈E.pc 3... , E étant le coefficient de distorsion obtenu à la première phase, s) on déplace les points Pa(xa, ya), Pb(Xb, y ) , Pc(xc, y )--- considérés en référence polaire, d'une distance ΔPa, ΔPb, Δpc... correspondante selon un axe passant par le centre optique courant 0(x, y) de l'image et le point correspondant, les points déplacés étant Pa(x'a, y'a), Pb(x'b, y'b) , Pc(x'c, yO)- , t) on effectue un test de linéarité entre les points déplacés Pa(x'a, y'a), Pb(x'b, y'b) , Pc(x'c, yO)--- , par calcul d'un second indice d'alignement la2 indiquant l'écart desdits points déplacés par rapport à un alignement sur une droite commune fictive,
- dans le cas où l'indice d'alignement la2 est inférieur à un seuil ε" de linéarité, on garde la seconde coordonnée xo ou y0 sur le premier axe pour la position courante 0(x, y), - dans le cas contraire, on déplace le centre optique courant 0(x, y) parallèlement au premier axe, X ou Y, et on repasse à l'étape q) de manière à ce qu'itérativement l'indice d'alignement la2 finisse par diminuer, C - dans une troisième phase, dite phase de correction, on corrige la distorsion par déplacement de chacun des pixels P(x, y) de l'image selon la valeur Δ correspondante sur un axe passant par ledit pixel et le centre optique (x0, yo), Δ étant calculé avec la valeur E du coefficient de distorsion obtenu à la première phase et le centre optique (xo, yo) obtenu à la deuxième phase. La première phase et/ou la deuxième phase peuvent être également exécutée d'une manière globalement itérative afin d'affiner les résultats : à la fin de la deuxième phase on pourra repasser à la première en utilisant la position déterminée du centre optique pour calculer à nouveau le coefficient de distorsion puis, éventuellement, repasser en deuxième phase pour affiner la position du centre optique et, ensuite, éventuellement recommencer. On se trouve alors avec une hiérarchie d'itérations: les phases mettent en œuvre des itérations et on itère les phases. On disposera donc de tests supplémentaires destinés à de tels bouclages itératifs globaux avec, par exemple, itération tant qu'un résultat (coefficient de distorsion ou position du centre optique) varie de façon significative d'un cycle itératif global au suivant. On peut également prévoir une limitation du nombre de répétition de cycles itératifs globaux au cas où l'on serait dans des conditions telles qu'il y aurait variation significative persistante au cours des cycles itératifs globaux. On peut noter dans le procédé décrit, que l'on détermine d'abord le coefficient de distorsion puis ensuite le centre optique. Au cours des étapes on utilise un point de référence, notamment lorsque l'on recherche des lignes qui soient parmi les plus longues et les plus éloignées d'un tel point de référence qui est pris préférence central à l'image ou sensiblement central. Ce point de référence est préféré central car il est une bonne estimation initiale du centre optique. On comprend alors que ce point de référence puisse évoluer en fonction des résultats de la détermination de la distorsion et du centre optique en cas d'itération pour affinement de ladite détermination : au premier passage on utilise le point central de l'image puis lors des passages ultérieurs, on utilise le centre optique déterminé juste précédemment. D'une manière équivalente, mais qui évite d'avoir à utiliser un point de référence (central) pour la détermination des lignes, on peut aussi considérer les lignes proches de bords de l'image et dont la pente est faible et l'orientation sensiblement globalement parallèle au bord d'image considéré (par recherche de bords orientés sensiblement droits d'orientations particulières dans une zone particulière donc fonction des valeurs des paramètres X,Y). De même, dans certaines étapes du procédé, on doit considérer deux lignes qui sont, de préférence, perpendiculaires (ou voisine de la perpendicularité) entre elles. Pour déterminer de telles lignes, on peut utiliser les pentes des lignes (rapport des pentes par exemple) aussi bien que les directions des lignes (angle de croisement des directions), ces notions étant considérées comme des équivalentes dans le contexte de cette détermination. On a vu que lors des itérations on doit parvenir à obtenir un alignement plus ou moins parfait (selon un seuil de linéarité) sur une droite (fictive) des points déplacés. Pour déterminer les modifications, soit du coefficient de distorsion Ej à chaque itération, soit de la position du centre optique courant à chaque itération, selon la phase considérée, on peut appliquer le principe suivant: si les points déplacés se retrouvent sur une ligne (fictive) plus concave par rapport au centre de l'image (ou centre optique), soit on considère que E, est trop petit (il faut donc l'augmenter à l'itération suivante), soit que le centre optique courant est trop proche de la ligne (il faut donc l'éloigner à l'itération suivante). Dans le cas où les points déplacés se retrouvent sur une ligne plus convexe par rapport au centre de l'image (ou centre optique), les modifications sont inversées. De préférence, les modifications de Ej ou de la position du centre optique courant sont effectuées par pas constants à chaque itération afin de simplifier le procédé. Toutefois dans une version plus évoluée, on peut adapter le pas à chaque itération par un calcul estimatif de la correction de pas à effectuer. De préférence, certaines des étapes précédentes pouvant être réitérées, on fixe une limite au nombre de retours possibles pour chacune des étapes Tb, Tb', Ti, Ti', Tk, Tk' afin d'éviter des recherches trop longues. De même, on peut fixer un seuil d'application SΔ de la correction, la correction n'étant effectuée dans la troisième phase, dite phase de correction, que pour des valeurs de Δ supérieures au seuil d'application SΔ. En alternative à la variante précédente, on peut même éviter de calculer Δ pour certains des pixels de l'image en délimitant une zone autour du centre optique et fonction du seuil d'application et des valeurs E et ( o, yo), zone dans laquelle un tel calcul n'est pas nécessaire car il n'y a pas besoin de correction (Δ inférieur au seuil d'application). On a indiqué un certain nombre de tests afin d'éviter des calculs si, par exemple, les points déterminés de la ligne considérée sont suffisamment alignés sur l'image initiale censée présenter une distorsion, c'est-à-dire que la ligne est droite ou pratiquement droite. Il peut cependant être utile d'effectuer les calculs de détermination de la distorsion, ne serait-ce que pour déterminer le centre optique du système même si les lignes de bords orientés utiles (éloignées du centre/proche d'un bord image et suffisamment longues) sont initialement toutes droites et l'image sans distorsion. Les tests en questions peuvent donc être omis dans ce cas. On peut noter qu'en ce qui concerne la troisième phase dite de correction, le procédé direct qui consiste à partir de l'image avec distorsion pour produire l'image corrigée peut conduire à une image corrigée présentant des « trous » : zones de pixels ou pixels manquants. Il peut alors être utile de mettre en œuvre des interpolation afin de combler ces « trous ». On peut également utiliser un procédé indirect qui considère la position des pixels dans la mémoire d'image corrigée pour déterminer leurs valeurs en remontant à l'image avec distorsion par mise en œuvre d'une fonction inverse de celle de la méthode directe en utilisant les résultats de coefficient et de centre optique déterminés. On a donc vu que la méthode explicite telle que décrite en relation avec la Figure 44 nécessite des calculs de droites et tests d'alignement entre au moins trois points aussi bien pour détermination de E puis ensuite du centre optique, voire aussi avec de nouvelles itérations pour affinage des résultats, ce qui est relativement lourd du point de vue calcul. Il peut donc être préférable de mettre en œuvre pour cette application à la correction de distorsion optique géométrique, la méthode simplifié limitant les calculs en s'intéressant aux histogrammes produits quant on calcule une image (ou une zone contenant la ligne) corrigée en modifiant la valeur de E (ou du centre optique selon la phase) d'une trame à l'autre pour obtenir un histogramme qui soit le plus étroit possible, soit un rapport NBPTS/RMAX le plus petit possible ou un RMAX le plus grand possible comme on l'a vu en relation avec la figure 43. Il est également possible de combiner/panacher les deux méthodes précédentes (recrutement de couples de modules STN et calculs de déplacement des barycentres et tests d'alignement ou correction et analyse du rapport NBPTS/RMAX ou de RMAX): l'une pour E, l'autre pour le centre optique ou inversement, voire l'une pour dégrossissage (premières déterminations de E et du centre optique) et l'autre pour affinage (répétition des itérations de détermination). Pour une mise en œuvre pratique, le dispositif représenté à la Figure 46 peut être utilisé. De la partie gauche de la Figure 46 à la partie droite on a représenté :
- un objectif à focale variable réglable,
- un capteur ou transducteur permettant d'obtenir des images sous forme de signaux avec séquences et sous séquences de données (notamment du type vidéo), - un dispositif de correction de la distorsion (effectuant (a correction proprement dite en déplaçant les points de l'image si nécessaire) en fonction d'une valeur E de coefficient de distorsion et d'une position de centre optique xO, yO,
- un système à modules STN permettant de caractériser spatialement et temporellement les données et comportant des modules STN programmables, ledit système étant destiné à déterminer la valeur E du coefficient de distorsion et la position de centre optique xO, yO. Le système à modules STN produit dynamiquement les paramètres de correction par calcul continu sur les images (fixes ou mobiles) arrivant et véhiculées par le signal de données sortant du dispositif de correction. Ce dispositif est particulièrement adapté à la mise en œuvre de la méthode simplifiée de détermination itérative des paramètres de correction E et xO, yO puisqu'elle permet de fournir une image corrigée (plus ou moins selon les E et xo.yo fournis) au système à modules STN. De préférence, dans cette configuration, on ne recalcule les paramètres de correction E et xO, yO que lorsqu'une distorsion est déterminée (notamment en effectuant un test de linéarité sur des lignes de bordure d'image) et, en l'absence de distorsion, les paramètres de correction précédemment calculés sont conservés. En effet, sinon, le système à module STN recevant un signal vidéo corrigé correctement produirait des valeurs de paramètres de correction invalides (correspondant à une absence de correction à effectuer) qu'il renverrait dans le dispositif de correction qui sortirait alors un signal vidéo avec distorsion, d'où instabilité de la qualité du signal vidéo. Dans une variante non représentée, il peut être utile lorsque les paramètres de correction E et xO, yO doivent être recalculés, de le faire à partir du signal venant directement du capteur ou, alors, en sortie du dispositif de correction mais sans correction (les paramètres de correction étant tels qu'il n'y a pas de correction ou un signal spécifique inhibant la correction), afin de repartir du signal capteur brut. Dans ce dernier cas, lorsque le système à modules STN détecte qu'il est nécessaire de recalculer de nouveaux paramètres de correction, il peut dans un premier temps forcer les valeurs des paramètres envoyés au dispositif de correction pour obtenir une absence de correction et ensuite faire le calcul des paramètres de correction à partir de l'image non corrigée reçue. En alternative le système à modules STN peut calculer les nouveaux paramètres de correction en fonction des précédents pour obtenir une correction adéquate (tenant compte de la correction courant de l'image corrigée reçue) du signal. En effet, dans le cas contraire, une instabilité de la correction pourrait se produire car les paramètres de correction seraient calculés sur un signal déjà corrigé mais insuffisamment ou mal. On comprend qu'initialement, avant que les paramètres de correction aient été déterminés, le signal de sortie du dispositif de correction est identique au signal de sortie du capteur. II est possible, dans une variante, que les paramètres de correction soient calculés seulement lors d'opérations d'étalonnage puis mémorisés, notamment sur une scène correspondant à une mire, et qu'ils soient utilisés ultérieurement par le dispositif de correction sans recalcul dynamique par le système à modules STN des paramètres pour chaque image lorsque cela est nécessaire. Dans un tel cas, si l'objectif du moyen d'acquisition de scènes peut être dans plusieurs états (par exemple variation de focale et/ou d'ouverture de diaphragme), il est préférable d'effectuer des étalonnages pour chacun (ou une partie) de ces états pour obtenir autant de paramètres de correction que d'états puis, pour la correction utiliser les paramètres mémorisés correspondant à l'état courant de l'objectif. Ce n'est que si la variation de distorsion géométrique est insignifiante en fonction des variations des états de l'objectif que l'on pourra se contenter que d'une valeur mémorisée pour respectivement le coefficient de distorsion et le centre optique. De même, il se peut que pour l'objectif mis en œuvre, le centre optique reste constant malgré les variations d'état de l'objectif, on a alors intérêt à éviter de recalculer à chaque fois (dynamiquement ou lors d'un nouvel étalonnage) la position du centre optique. La Figure 46 représente un dispositif dans lequel l'objectif présente plusieurs états par variation de focale (commande de réglage de focale agissant sur l'objectif). On a vu que la correction peut s'effectuer dynamiquement (chaque fois que cela est nécessaire) ou utiliser des paramètres de correction mémorisés obtenus suite à un étalonnage préalable du dispositif. Dans ce dernier cas, comme déjà expliqué, on a intérêt à tenir compte des états de l'objectif à la fois lors de l'étalonnage et pour les corrections ultérieures. La Figure 47 représente un dispositif équivalent à celui de la figure 46 mais dans lequel l'objectif est associé au capteur dans un appareil commun. L'objectif ne peut être que dans un seul état ou s'il a plusieurs états, ces derniers ne sont pas réglables et connus du système à modules STN. L'appareil est, par exemple un caméscope, qui produit un signal vidéo. En alternative du caméscope, l'appareil peut être un magnétoscope, lecteur de DVD (plus généralement un lecteur de données vidéo obtenues par un moyen comportant un transducteur avec objectif) ayant enregistré des images obtenues par un caméscope ou autre. APPLICATION A LA STABILISATION D'IMAGES Le bougé sur images vidéo qui est corrigé grâce à l'application de la détermination et caractérisation de bord orientés est considéré comme ayant une composante de rotation et une composante de translation d'une image à la suivante. L'application de correction basée sur l'invention va donc déterminer dans un premier temps chacune de ces composantes. Comme pour de nombreuses applications de l'invention, on verra que cette dernière peut être mise en œuvre concrètement de diverses manières étant donné qu'il est possible d'obtenir des déterminations d'objets, dont des bords orientés, ayant des caractéristiques particulières, de plusieurs façon selon notamment les combinaisons fonctionnelles de modules STN que l'on a choisi d'employer et selon l'importance des calculs annexes que l'on a choisi d'effectuer dans les moyens de calculs classiques associés (microprocesseur pour API). La figure 52 montre un moyen pour obtenir la composante rotation. A cette fin, un module STN 124 recevant en entrée de paramètre un signal α d'orientation de bord, reçoit en entrée de rétroannotation des signaux de classification de zone, de variation d'orientation de bord et de module de signal de bord pour calculer des histogrammes de répartition des orientations de bord représentés figure 53 pour celui d'une trame courante et figure 54 pour celui d'une trame précédente. Les histogrammes ainsi réalisés ne concernent que des données dont les signaux de classification envoyés en rétroannotation du module STN sont valides (correspondent à une zone d'image, une variation d'orientation et un module particuliers). Du fait de la composante en rotation du bougé, les histogrammes de répartition d'orientation sont décalés d'une image à l'autre et, en particulier, on peut prendre en compte le décalage du de la position pic d'amplitude maximale de l'histogramme (POSRMAX, RMAX) comme valeur de rotation Rot. On verra qu'il est également possible de mettre en œuvre un calcul d'une fonction de corrélation entre les histogrammes. On considère que la scène filmée est toujours la même ou varie lentement et qu'il n'y a pas eu de rupture dans le film, c'est à dire un passage d'une scène à une autre parce que, par exemple dans un film enregistré, l'opérateur a cessé de filmer une première scène puis ensuite à repris le film sur une autre scène. Si cela était le cas, la correction de bougé ne s'appliquerait pas au moment du changement de scène. Un tel changement de scène peut par exemple être déterminé par une modification importante des statistiques images ou par le résultat d'une fonction de corrélation entre deux images successives. Toujours sur la figure 52, les signaux de classification de zone représentés comme provenant de blocs 120 à partir du paramètre X et 121 à partir du paramètre Y, les signaux de classification de variation d'orientation de bord représentés comme provenant d'un bloc 122 à partir du paramètre δα et les signaux de classification de module de signal de bord représentés comme provenant d'un bloc 123 à partir du paramètre p (module du gradient des pixels), peuvent être fournis par des unités de classification spécifiques (indépendantes de modules STN) ou provenir de sorties de classification de modules STN. Dans ce dernier cas, on comprend que les deux blocs 100 et 101 fournissant les signaux de classification de zone spatiale à partir des signaux spatiaux X et Y peuvent être soit deux modules STN monolinéaires (un pour le paramètre X, un autre pour le paramètre Y), soit un seul module STN bilinéaire recevant en paramètre d'entrée un signal bilinéaire X,Y. De même, au lieu d'envoyer quatre (ou moins selon que l'on veuille ou non limiter la détermination de la rotation à une zone spatiale ou non, c'est-à-dire prendre en compte ou non les signaux spatiaux X, Y, voire ne pas tenir compte du module p) signaux en entrée de rétroannotation du module STN 124, on peut y envoyer un seul signal mais résultant d'une sortie de classification d'une combinaison fonctionnelle de modules STN de classification combinée de zone spatiale (paramètres X et Y), de variation d'orientation (paramètre δα) et de module de bord (paramètre p). On peut, alternativement, envoyer deux signaux de classification en entrée de rétroannotation du module STN 124, le premier résultant d'une combinaison fonctionnelle de trois modules STN du type de celle de la figure 18 (pour une zone spécifique de variation d'orientation particulière) et le second de classification du module p. Sur la figure 52, les quatre signaux de classification pour rétroannotation sur le module STN 124 permettent la prise en compte (les valeurs mentionnées sont indicatives): - d'une zone de l'image (paramètres spatiaux X,Y) comprise entre les pixels 0 et 600 pour X et 0 et 480 pour Y (blocs 120 et 121 ), il faut noter que l'on a introduit deux variables de déplacement depla pour x et pour y (deplax et deplay) afin de pouvoir éventuellement décaler la zone spatiale à considérer (notons que l'on aurait pu également utiliser deux variables pour définir la largeur de la zone selon x et selon y afin de rendre complètement paramétrable la position et la taille de la zone spatiale à considérer) - de bords orientés dont la variation d'orientation est plutôt faible, comprise entre 0 et 50 pour δα (bloc 122) dans le cas d'une valeur codée sur 10 bits, ce qui correspond à des lignes sensiblement droites, (on rappelle que pour α ou δα, ces valeurs sont à considérer que si Val-α ou Val-δα respectivement indiquent que ce sont des valeurs valides)
- de module de bord orienté de valeur relativement élevée comprise entre 300 et 1023 pour p (bloc 123), valeurs correspondant à des bords de fort contraste pour un codage des données sur 10bits (0 à 1023). On voit qu'il est ainsi possible de limiter la détermination de la rotation à une zone particulière de l'image, par exemple le centre de l'image ou dans une zone â forte densité de bord orienté. Dans ce dernier cas, les bornes de prise en compte de classification sont le résultat d'une analyse d'histogramme de répartition de bords par au moins un couple (X, Y, α) ou un triplet (X, Y, α, δα) de modules STN. De même, les autres bornes de prise en compte de classification peuvent être les résultats d'analyses concernant la répartition quantitative des bords droits, courbés et coins (en cas de faible quantité de droites ou élargira la prise en compte vers des bords plus courbés et inversement), et concernant le module p des bords (en cas de faible quantité de bords à fort modules on élargira la prise en compte vers les faibles modules et inversement). Une fois la composante de rotation déterminée, on va calculer la composante translation en s'intéressant cette fois aux coins (variations d'orientation particulièrement élevées) des bords orientés. Cette partie est représentée sur la figure 55 avec un agencement de modules STN et la figure 56 avec les histogrammes de répartition de coins obtenus. Des signaux de classification envoyés en entrée de rétroannotation de modules STN sont mis en œuvre comme dans la détermination de la composante rotation avec zone spatiale (classification des signaux spatiaux X, Y), de variation d'orientation (classification du signal temporel δα) mais cette fois pour une gamme de valeurs élevées (1 /8 à 3/8 de 360°) correspondant à des coins (variation d'orientation de bords entre 45° et 135°), et de module de bords (classification du signal p) dans les blocs 120, 121 , 130, 131. Les diverses modalités déjà présentées (classifieurs spécifiques, modules STN, associations de modules STN... ) d'obtention de ces signaux de classification peuvent être mises en œuvre (cependant on sélectionne des coins ici, donc δα élevés). Notons qu'afin d'améliorer le traitement en ayant un nombre suffisant de coins pertinents, la borne inférieure pi de la gamme de sélection de modules p est une variable déterminée grâce à un module STN 134 en fonction du nombre de points de bords NBPTS afin de ne considérer que des points de bords présentant un fort contraste pour le paramètre ayant servi à la détermination de bords (la luminosité en l'espèce). On peut se fixer par exemple un seuil Pi qui permettra d'obtenir par exemple environ 30 coins. Encore une fois, on a introduit deux variables de déplacement depla pour x et pour y (deplax et deplay) afin de pouvoir éventuellement décaler la zone spatiale à considérer. Ces signaux de classification permettant de sélectionner une zone spatiale de coins à modules de bords de valeurs élevées, sont envoyés en entrée de rétroannotation d'un premier module STN 135 destiné à la détermination de la translation selon l'axe X et en entrée de rétroannotation d'un second module STN 137 destiné à la détermination de la translation selon l'axe Y. Afin de tenir compte du fait qu'entre deux images successives il y a pu y avoir une rotation (composante rotation du bougé) pour l'image courante par rapport à la précédente, les paramètres spatiaux envoyés en entrée de paramètre de chacun des modules STN 133 et 134 subissent une rotation de valeur Rot déterminée précédemment en relation avec les figures 52 à 54 dans des blocs de rotation 133 et 136. Les histogrammes de répartition spatiale des coins (image et selon les axes x et y) sont représentés à la figure 56. Il suffit alors de comparer les histogrammes de répartition correspondants de l'image précédente et l'image courante selon chacun des axes, soit HX(t-1 ) avec HX(t) et HY(t-1 ) avec HY(t), pour connaître la translation selon l'axe correspondant. Comme précédemment on peut prendre en compte le décalage du pic maximum des histogrammes (POSRMAX, RMAX). On va maintenant voir qu'il est également possible de calculer une fonction de corrélation pour déterminer le décalage entre les histogrammes. Les figures 57, 58 et 59 représentent une modalité de détermination du décalage entre histogrammes par corrélation aussi bien pour la composante rotation que la composante translation. La figure 58 représente un noyau matériel 120 pour calcul de points d'une courbe de corrélation entre deux histogrammes et la figure 59 représente l'intégration du noyau matériel de la figure 58 au sein d'une unité de corrélation pour calcul d'une courbe de corrélation entre deux histogrammes ainsi que deux exemples de courbes de corrélation. L'organigramme de fonctionnement de cet ensemble est donné à la figure 57 (les crochets [] signifient un adressage indirect sur l'organigramme de la figure 57). Une première mémoire adressable permet de stocker l'histogramme h(t-1 ) en rapport avec une image précédente et une seconde mémoire adressable l'histogramme h(t) de l'image courante (histogrammes soit de répartition des orientations de bord, soit de répartition de coins selon l'axe X, soit selon l'axe Y). De préférence, ces mémoires sont des mémoires spécifiques du noyau matériel ou, dans une variante qui présente l'inconvénient d'être plus complexe, des mémoires de modules STN qui sont modifiés en conséquence pour récupérer les données de l'histogramme et pouvoir effectuer les calculs des points de la courbe de corrélation. Par adressage des mémoires, il est possible de charger par Din les données des histogrammes et de les relire par Dout. Les données relues sont envoyées dans un multiplieur c=axb dont la sortie c est envoyée sur un accumulateur (additionneur) destiné à fournir en sortie la valeur calculée Max d'un point de la courbe de corrélation. Un moyen d'adressage permet d'introduire un déplacement d entre les données d'histogrammes ce qui permet des balayages en lecture avec décalage progressifs entre données des mémoires. Le noyau de calcul de points d'une courbe de corrélation entre deux histogrammes, outre les sonnées d'histogrammes, a besoin de la valeur d du décalage entre données mémoires, i l'indice de comptage pour balayage des mémoires, R un signal de remise à zéro de l'accumulateur et CK un signal d'horloge. Le noyau 120 de la figure 58 est intégré à l'unité de corrélation de la figure 59 qui comporte des systèmes de comptage pour les signaux d (remise à zéro par Init) et i (incrémenté par Inc d) et une mémoire de stockage des points de la courbe de corrélation. Deux exemples de courbe de corrélation calculées et telles que l'on peut les trouver dans la mémoire de points de courbe de corrélation sont représentés sur la partie droite de la figure 59 (figures 59a et 59b). La courbe du haut figure 59a représente un cas idéal où la corrélation est nette et présente un pic unique marqué (les images successives étaient identiques en dehors du bougé) et, dans ce cas, la position du pic en da donne le décalage entre les histogrammes (rotation ou translation selon le cas). Le maximum peut être obtenu par analyse dans un module STN du signal de points de la courbe de corrélation (POSRMAX, RMAX). Dans le cas d'une courbe de corrélation moins nette et qui présente plusieurs pic et/ou un pic large peu marqué comme représenté figure 59b on peut avoir intérêt à prendre comme valeur de décalage entre histogrammes la médiane de la courbe de corrélation qui, comme précédemment, peut être déterminée par analyse dans un module STN. Dans une modalité d'application particulière, le transducteur produisant les images comporte une mémoire de prise de vue de taille supérieure aux images utiles finalement produites: le transducteur comporte un nombre M de pixels de prise de vue (par exemple 1024x1024) supérieur au nombre de pixels de l'image utile vidéo finalement envoyée ou enregistrée (par exemple 800x600). On peut également considérer d'une manière équivalente le cas d'une mémoire de calcul de stabilisation qui soit plus grande que la taille de l'image utile (le transducteur envoyant des prises de vue dans la mémoire de calcul à partir de laquelle on met en œuvre l'application). Dans ces cas, on met en œuvre une modalité de stabilisation qui consiste à déplacer (en tenant compte de la translation et rotation) une fenêtre image utile dans la mémoire de prise de vue du transducteur (ou la mémoire de calcul) pour produire l'image utile. On a représenté une telle modalité sur les Figures 60 et 61 avec, en plus, un calcul d'amortissement qui va maintenant être expliqué. Dans l'exemple d'application donné ci-dessus on a considéré deux images successives dont la courante pour les calculs. Dans une variante, on peut prendre en compte d'autres images antérieures par le biais de valeurs antérieures de rotation et de translation pour lisser la correction appliquée entre les deux images successives dont la courante. C'est ainsi que l'on peut calculer un facteur d'amortissement tenant compte de ces valeurs antérieures, les valeurs de rotation et de translation pour la correction du bougé de l'image courante étant les valeurs de rotation et de translation déterminées entre l'image précédente et l'image courante modifiées par le facteur d'amortissement. A titre d'exemple de prise en compte de facteur d'amortissement on peut considérer une relation du type de celle qui est mise en œuvre pour lisser les images pour la paramètrisation spatio-temporelle du signal vidéo (comme dans WO98/05002). Ce type de relation est Vt=Vt.1+(Rt-V,-1)/τ avec V correspondant respectivement aux variables considérées (translation selon x ou y ou rotation), entre l'image courante (t) et l'image précédente (t-1 ) avec amortissement et R un point de référence (par exemple le centre optique pour x et y) et τ un paramètre en 2n dont on peut faire varier la valeur entre une valeur élevée lorsque l'image est sensiblement au point de référence et une valeur faible (jusqu'à 1 lorsque n prend la valeur 0) lorsque l'image s'approche par translation d'un bord de la mémoire de prise de vue (la mémoire de prise de vue est de taille supérieure à la taille de l'image). Grâce à un tel amortissement on fait en sorte d'éviter que l'image ne sorte de la mémoire de prise de vue (la correction est maximale) pour la translation. Pour ce qui est de la rotation, on fait en sorte de prendre une référence qui tend à ramener vers l'horizontale les bords qui sont sensés être horizontaux (les objets réels ont généralement des bords avec des directions préférentielles horizontales et verticales dans la réalité qui donnent des pics marqués sur des histogrammes de répartition d'orientation de bords lors d'une perception et on fait en sorte de recaler ces pics sur leurs valeurs multiples de 90° correspondantes: 0°, 90°, 180° et/ou 270°). La figure 60 représente le résultat de ces opérations de rotation et de translation entre une image avec comme référentiel le début de la séquence. La figure 61 représente le même résultat mais ayant comme référentiel la dernière image reçue et contenant une séquence fixée d'images antérieures. De ce fait, la stabilisation des images s'opère par filtrage des composantes de translation et rotation de la séquence mémorisée, ce qui correspond à une position moyenne à l'instant tO comprise dans un espace de dimension M (espace mémoire de prise de vue du transducteur ou de la mémoire de calcul). La valeur de filtrage ou d'amortissement est choisie de telle sorte que l'image stabilisée (image utile de taille inférieure à M) soit toujours dans cet espace M. En général, l'espace M correspond à la taille de la matrice du transducteur vidéo, dépassant le méga pixel en général, la taille de l'image utile étant plus petite compte tenu du débit maximal admissible pour un signal vidéo temps réel. Ces opérations sont de préférences effectuées avec un système à modules STN. Une fois les valeurs de rotation et de translation entre images ainsi déterminées, on peut appliquer une correction directement sur les images numériques dans le transducteur, le système à modules STN ou dans une unité distincte disposée en sortie du transducteur ou autre source de signaux vidéo (d'une manière équivalente aux modalités présentées aux figures 46 et 47).
Dans une autre variante toutefois plus lourde à mettre en œuvre, des moyens électromécaniques (optique adaptable ou transducteur mobile commandé) sont commandés pour corriger le bougé optiquement et non plus purement électroniquement/numériquement comme dans les cas précédents. APPLICATION A LA CARACTERISATION DU MOUVEMENT D'UN OBJET PAR RAPPORT A UN TRANSDUCTEUR (MESURE DE DISTANCE, TRANSLATION, ROTATION) On a indiqué dans la présentation de l'état de la technique, qu'il était possible de mettre en oeuvre des paramètres de vitesse VMVτ et de direction DMvτ de mouvement. Toutefois, la méthode de calcul de ces paramètres (notamment décrite dans WO98/05002) fait que l'on appréhende en réalité qu'une partie des mouvements relatifs possibles des objets par rapport au transducteur. En particulier la composante de mouvement vers ou en éloignement des objets par rapport au transducteur ne peut pas être déterminée par cette méthode connue. D'autre part, dans la demande de brevet FR-2.843.471 qui concerne la perception par défocalisation/refocalisation on avait montré qu'il était possible de définir une perception sous forme de liens hiérarchiques (graphe de vecteurs unissant des barycentres comme par exemple figure 63) reliant les différentes perceptions et niveaux de perception (zones perçues avec barycentres comme par exemple figure 62) d'un objet d'une scène et qui, dans un espace/référentiel particulier, donne une invariance en homothétie quelle que soit la distance à laquelle les images du même objet de la scène sont acquises par une caméra. Cet espace/référentiel particulier correspond à un espace/référentiel de perception qui a pour axes le module p,- du vecteur unissant deux barycentres de zones perçues hiérarchiquement et le logarithme de la distance LDjn entre la zone de l'objet (origine du vecteur) et la caméra. Comme on va le voir, un tel espace de perception ( ,LD), outre la mesure de distance, permet d'appréhender le mouvement relatif de l'objet en translation vers ou en éloignement par rapport au transducteur ou la rotation de l'objet sur lui-même. Il est possible d'analyser la perception hiérarchique de la scène dans cet espace de perception ( ?,LD) en y appliquant la présente invention et en y caractérisant des bords orientés et variations d'orientation de bords. Une telle analyse peut permettre de déterminer le type de mouvement d'un objet (translation ou rotation) ou de calculer la distance de l'objet par rapport au transducteur ou, encore, de faciliter la reconnaissance notamment par rapport à des représentations antérieures dans ledit espace de perception. Par rapport à la description qui a été faite en relation avec les organigrammes des figures 6 et 7 qui traitent des données provenant d'un référentiel cartésien X,Y avec la luminance, la présente application traite des données dans un espace/référentiel de perception module-distance (p.LD) d'axes portant, pour le premier, le logarithme LD de la distance du point d'origine du vecteur et, pour le second, portant le module p des vecteurs reliant les barycentres. On appliquera donc ici les organigrammes des figures 6 et 7 dans lesquels toutefois on remplacera x par p et y par LD, L (luminosité) étant ici remplacé par un paramètre identifiant le label (par exemple une valeur numérique d'identification codée sur 8 bits). La perception de l'objet peut être en direct comme on le verra en relation avec les figures 65 et 66 ou résulter d'une perception antérieure mémorisé ou, encore, être le résultat d'un calcul (dans l'espace de perception). Les figures 62 à 64 donnent un exemple concret d'application dans le cas d'une perception entre deux niveaux de hiérarchisation pour simplifier. Figure 62, un premier niveau de perception permet de déterminer une zone générale Zo de barycentre BarZ0 puis un second niveau de perception, dans la zone Zo permet de déterminer trois zones Z10, Z20, Z30 de barycentres respectifs BarZio, Bar Z20, BarZ3o- Ces deux niveaux de perception peuvent par exemple correspondre à un processus de refocalisation comme dans la demande FR- 2.843.471 ou à une analyse plus classique hiérarchique (recrutement progressif de modules STN: le niveau ayant déterminé Z0 forçant les suivants dans ladite zone avec des critères de sélection autres, par exemple première couleur pour Zo et autre couleur pour le niveau suivant). Cette perception se fait dans un espace cartésien X,Y. La représentation hiérarchique (graphe) de perception formée par les modules p1, p2, p3 des vecteurs reliant les barycentres déterminés (ici d'un niveau de perception au suivant) est donnée figure 63. Lors de la perception, chaque séquence ou image donne un niveau d'arbre de perception avec plusieurs modules de vecteurs p,-. Dans l'exemple de la figure 63, l'objet obj à ce moment/niveau de perception est caractérisé par trois modules p1, p2, ρ3. calculés à partir des barycentres de zones perçues (BarZ0 d'origine et BarZ10, BarZ20, BarZ3o)- Sur la figure 64, on a représenté cette fois dans l'espace de perception p, LD des points modulaires correspondant aux modules précédents p1, p2, p3 pour un niveau de perception donné mais l'objet se déplaçant par rapport au transducteur (mouvement de l'objet M0bj)- On peut voir sur la figure 64 pour plusieurs perceptions du même objet s'éloignant du transducteur que les points modulaires dans l'espace de perception se déplacent en parallèle sur des droites, la pente des droites donnant accès à un coefficient d'homothétie qui peut permettre (après un étalonnage nécessitant quelques perceptions en déplacement avec mesures de distances pour connaître l'équation des droites) lors d'une nouvelle perception sans connaissance de la distance (LD) de retrouver la distance pour cette nouvelle perception. Le coefficient d'homothétie peut également être utile à lui seul si l'on connaît à priori une dimension réelle de l'objet (par exemple pour un objet qui est une voiture, on connaît en général sa largeur réelle approximativement et à partir d'une perception par l'avant d'une voiture on pourra déterminer la distance à laquelle elle se trouve par rapport au transducteur). A partir d'une perception ayant aboutie à une représentation de scène/objet sous forme hiérarchique et considérée cette fois dans un espace/référentiel de perception (p,LD), on applique le procédé schématisé partie droite de la figure 65 et qui dérive de l'application de l'organigramme de la figure 6 (détermination d'orientation de bord) où, au lieu du signal portant la luminosité Lum (luminosité) et x, y, on utilise à la place, un signal obj portant les paramètres p,- et LDj„ et d'identification d'objet. Pour comparaison, sur la partie gauche de la figure 65 on a représenté schématiquement l'application de l'organigramme de la figure 6 au signal portant la luminosité Lum tel que cela été vu au début de la description et on retrouve des éléments déjà décrits en relation avec les figures 1 et 2 et notamment l'unité 6B qui permet de produire les signaux temporels α et Val-α. Les systèmes de perception de gauche et celui de droite de la figure 65 mettent en œuvre une unité 6B selon l'invention. On remarque sur la figure 65 que le signal objet provient d'une perception d'un signal portant la luminosité (ou autre paramètre dans des variantes) et que cette perception stockée sous forme de LABEL identifiés portants des informations de module p, et de distance LDj„ est stockée dans une mémoire 202a dont l'écriture est synchronisée sur les trames/images (il faut un certain nombre de trames/images traitées pour obtenir des liens hiérarchiques suffisamment développés). Ces LABEL sont produits par le microprocesseur 13 du système par calcul des modules p,- et association aux valeurs de distance LDin tel que schématisé par la flèche F3 de récupération des valeurs de barycentre provenant de la perception. Dans la mémoire 202a, les LABEL identifiés d'objets sont stockés à l'adresse p,-, LD, correspondante (le signal Wr binaire permet soit l'écriture, soit la lecture). Le système de perception de la partie gauche de la figure 65 comporte une entrée (non représentée) pour les données de distance (LDin) qui seront associées aux modules Pi. En alternative ou combinaison il est possible de récupérer ces données de distance LDjn ultérieurement comme représenté sur la partie droite de la figure 65 avec une unité 204 de production du signal LDin. Ainsi, dans le cas d'une perception en direct, étant donné que le dispositif sur la droite de la figure 65 travaille sur une perception hiérarchique d'objets de la scène qui nécessite une analyse sur plusieurs images (ou trames ou séquences) successives, un nombre de N images par exemple, pour aboutir à un résultat significatif (par exemple obtenu par refocalisation), l'organigramme 6 adapté à l'espace de perception ( ,LD) est employé toutes les N images et bénéficie donc d'un temps de N fois la durée d'image pour son exécution. La mémoire 202a est donc lue au bout de ces N images. On va maintenant voir que la relecture de la mémoire 202a stockant les LABEL produit le signal objet obj qui est traité selon l'invention pour détermination de bords orientés. Le système à module STN de la partie droite de la figure 65 utilise les données obj provenant de la mémoire 202a qui sert à stocker les LABEL (un multiplexeur 234 permet d'aiguiller les signaux d'adressage en lecture ou écriture en fonction du signal Wr). Le séquenceur 203a produit notamment les signaux spatiaux p et LD comme le séquenceur 3a produit les signaux spatiaux x, y. Dans le référentiel de perception (p,LO), figure 64, la représentation hiérarchique de la figure 63 donne trois points modulaires pour respectivement p1, p2, p3 dans une zone Zobj et si l'on recommence la représentation hiérarchique du même objet perçu à des distances différentes de la caméra (LDin différent), les points modulaires correspondants seront alignés chacun respectivement sur une droite. Une analyse par système à module STN d'une telle perception dans l'espace de perception (partie droite de la figure 65) ramène une zone Z0bj de barycentre Bar-Z0bj- Un mouvement de translation Mobj de l'objet (vers ou s'éloignant du transducteur) perçu après traitement correspondant à la partie droite de la figure 65 (application de l'organigramme de la figure 6 au signal label objet et traitement dans des modules STN) correspond à une translation des points modulaires compris dans la zone Z0bj selon une courbe sensiblement linéaire dans une zone M0bj (dans le référentiel p',LD' on a un pic d'histogramme étroit pour les modules pi). Jusqu'à présent on a vu l'effet d'une translation d'un objet par rapport au transducteur (éloignement ou rapprochement) avec un traitement de bord orienté selon l'invention dans le cas d'un objet perçu représenté dans un espace de perception (p,LD). On va maintenant considérer en relation avec la figure 66 le cas d'une rotation sur lui-même de l'objet qui provoque cette fois des modifications différentielles (dans le cas de la translation elles étaient identiques) des valeurs de modules de vecteurs ρ1, p2, p3. Cette fois on applique en plus l'organigramme de la figure 7 (détermination de variation d'orientation de bord) comme schématisé par le bloc supplémentaire 6C. Comme précédemment, on a représenté des systèmes de perception (mais d'une manière simplifiée par deux blocs 6B 6C) avec, à gauche de la figure 66 le cas de l'utilisation des paramètres spatial x,y et temporel Lum (luminosité) et, à droite, le cas de l'application au paramètre label d'objet obj. Dans les deux cas, le système de perception de gauche ou de droite de la figure 66 met en œuvre des unités 6B et 6C selon l'invention pour produire en plus des signaux δα et Val-δα. Comme précédemment la perception dans l'espace cartésien (x,y, L) dans le système de la partie gauche de la figure 66 aboutit à des LABEL qui sont stockés dans une mémoire 202a d'où sera relu un signal obj (espace de perception) traité dans le système de la partie droite de la figure 66. Cette fois, une rotation de l'objet sur lui-même dans l'espace de perception (p, LD) se manifeste par une variation de position différentielle des points modulaires et cela se manifeste par un élargissement de la zone Z0bj (dans le référentiel p' LD' on a un élargissement de l'histogramme des modules et la zone Mobj reste sensiblement positionnée au même endroit par rapport à l'axe LD' ce qui peut être détecté par position du pic correspondant d'histogramme) ou par une variation d'orientation de bord marquée pour un ou plusieurs des points modulaires (variation de pi). Les changements de forme des histogrammes qui sont différents entre les deux cas (déplacement en translation de rapprochement/éloignement ou en rotation) peuvent être détectés spécifiquement et fournir des informations sur le type de mouvement.
Dans la description de l'invention et de ses applications, on a considéré des images d'objets traitées dans un système permettant la détermination de bords orientés. Ces images ont été considérées comme provenant de l'extérieur du système et provenant d'un transducteur. On comprend cependant que ces images peuvent résulter d'une connaissance interne au système d'une représentation et notamment sous forme de LABELS. Les labels permettent de créer et mémoriser une représentation symbolique provenant en général d'une analyse d'un environnement extérieur physique et concret (mais pas spécifiquement, un moyen de génération interne pouvant être mis en œuvre pour créer selon certaines règles de nouveaux labels ne correspondant donc pas forcement à une réalité extérieure concrète mais pouvant s'en approcher plus ou moins selon les règles mises en œuvre). Ainsi, l'invention est généralisable en ce sens que le procédé de détermination de bords orientés et de toutes les applications qui en découlent, peuvent fonctionner sur des scènes ou des objets reconstruits, notamment à partir de LABELS qui ont été précédemment obtenus suite à une analyse de scène ou autre, les LABELS étant des condensés de représentation de scènes ou d'objets par leurs caractéristiques distinctives perceptives. Par exemple, des LABELS correspondants à divers visages peuvent être définis par des relations de caractéristiques perceptives (dispositions de barycentres, tailles de zones, couleurs de zones... ) qui peuvent permettrent une reconstruction des visages. Dans la détermination de bords orientés sur une scène reconstruite ou sur un objet reconstruit à partir de LABELS, la reconstruction peut être plus ou moins élaborée vers une représentation graphique (ou autre selon le type de scène: visuelle, auditive ou autres types de perceptions) cherchant à reproduire la réalité de la perception humaine. Dans le cas d'une reconstruction simplifiée, par exemple limitée à des courbes joignant des barycentres (par exemple droites, ajustement de courbe entre barycentres...), et s'éloignant donc de la perception humaine, il est également possible de mettre en œuvre la détermination de bords orientés et autres applications.

Claims

REVENDICATIONS
1 . Procédé automatisé de perception d'un objet dans un espace spatio-temporel représenté par un ensemble de données associées à des pixels ou points évoluant dans le temps et représentés à une succession de moments T, lesdites données étant sous forme d'un signal numérique composé d'une suite de nombres binaires associés à des signaux de synchronisation permettant de définir le moment T de l'espace et la position dans cet espace auxquels les données reçues à un instant donné sont associées, le signal numérique comportant des séquences périodiques organisées en sous séquences successives de données, lesdites données étant caractérisâmes par au moins un paramètre, ledit procédé comportant une première étape dans laquelle, d'une part, on caractérise le signal numérique sous forme de signaux temporels représentatifs desdits paramètres au cours du temps pendant ladite période et, d'autre part, on produit en concordance un signal spatial représentatif des coordonnées des données successives du signal numérique, lesdites coordonnées étant cartésiennes (X,Y), polaires (ρ,θ) ou module-distance (p, LD), ledit procédé comportant une seconde étape d'analyse pendant au moins une séquence du signal numérique et dans laquelle on met en œuvre sous contrôle d'un programme applicatif, au moins un (1 1 A) (1 1 B) (12A) (12B) (15) (16) (25) (26) (35) (36) neurone spatiotemporel, dit module STN (STN 1 ) (STN2), recevant des données en entrée de paramètre(s) et produisant par calcul d'histogrammes, en fonction d'au moins une entrée de rétro- annotation, des résultats statistiques dans des registres et, en sortie, des résultats de classification, au moins le/un des modules STN (1 1 B) (12B) (16) (26) (36) (STN2) recevant en entrée de paramètre(s) au moins un signal temporel et en entrée de rétro-annotation au moins un signal de classification de signal spatial, caractérisé en ce que lors de la première étape, en complément des signaux temporels initiaux, on calcule (6B) un nouveau signal temporel de bord orienté qui caractérise la présence ou non de points correspondants à des bords d'objets, ledit calcul consistant à associer à chaque point, d'une part, au moins une valeur d'angle, α d'orientation du bord en ce point d'avec un axe de coordonnées, soit dans le cas d'un espace à deux dimensions par calcul de α=arctg(u/v) avec u et v des dérivées directionnelles du premier ordre pour deux directions orthogonales du ou des signaux temporels initiaux servant à calculer le nouveau signal temporel de bord orienté et, d'autre part, une valeur binaire de validation ou non-validation, Val-α, associée à α et prenant une première valeur de validation si le module
Figure imgf000150_0001
dudit point est supérieur à un seuil S1 , l'indice i s'étendant à la dimension de l'espace, soit dans le cas d'un espace à deux dimensions
P = V(U + v ) ( et prenant une seconde valeur de non-validation dans le cas contraire, afin de permettre une détermination et caractérisation de bords d'objets.
2. Procédé selon la revendication 1 , caractérisé en ce que pour le calcul (6B) d'un nouveau signal temporel de bord orienté on utilise un sous-ensemble des données du/des signaux temporels initiaux avec une résolution spatiale réduite par un filtrage passe-bas desdites données par application d'une fonction de filtrage multidimensionnelle, la résolution étant fonction de la valeur d'un paramètre de résolution W.
3. Procédé selon la revendication 2, caractérisé en ce que dans le cas d'un espace à deux dimensions, u et v sont calculés par les produits scalaires suivants avec L correspondant aux données, fx et fy correspondant à deux matrices de dérivation intégrant un filtrage spatial gaussien suivant deux axes orthonormés:
U .J. i'+m +nj) fy (,+mj+n)
Figure imgf000150_0002
4. Procédé selon la revendication 1 , 2 ou 3, caractérisé en ce que le signal de classification de signal spatial provient d'un classifieur recevant en entrée le signai spatial, le classifieur étant un circuit dédié à la classification sans calcul d'histogramme.
5. Procédé selon la revendication 1 , 2 ou 3, caractérisé en ce que le signal de classification de signal spatial provient d'un autre module STN (1 1A) (12A) ( 15) (25) (35) (STN 1) recevant en entrée le signal spatial et les modules STN sont organisés en couple, le premier module (1 1 B) (12B) (16) (26) (36) STN (STN2) du couple recevant en entrée de paramètre(s) le signal temporel et le second module (1 1 A) (12A) (15) (25) (35) STN (STN 1 ) du couple recevant en entrée de paramètre(s) le signal spatial, la sortie du premier module STN étant renvoyée en entrée de rétro-annotation du second module STN et la sortie du second module STN étant renvoyée en entrée de rétro-annotation du premier module STN.
6. Procédé selon la revendication 5, caractérisé en ce que le signal spatial en entrée de paramètre du second module (1 1A) (12A) (1 5) (25) (35) STN (STN 1 ) du couple subit une opération de rotation (9) (10) (8a) (8b) (8c) d'angle θ pour changement d'axes de coordonnées.
7. Procédé selon la revendication 6, caractérisé en ce que, pendant une séquence, on envoie la valeur d'angle α du signal temporel de bord orienté en entrée de paramètre d'un premier module (1 1 B) (16) (26) (36) STN d'au moins un couple de modules STN et en ce que l'on utilise les résultats du calcul d'histogramme sur les angles α du premier module STN pour modifier l'angle θ de rotation (9) (8a) (8b) (8c) pour la séquence suivante et en ce que pour l'analyse de l'angle d'orientation α dans le premier module STN (1 1 B) (16) (26) (36) recevant le signal de bord orienté, on ne prend en compte que les points dont Val-α est égal à la première valeur de validation.
8 Procédé selon la revendication 5, 6 ou 7, caractérisé en ce que l'on détermine pour chaque couple de modules STN
(1 1A.1 1 B) (15, 16) (25,26) (35,36) analysant le signal de bord orienté au moins un barycentre de zone (BarZα) et une orientation de zone α.
9. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'en outre, lors de la première étape, on calcule (6C) à partir du signal temporel de bord orienté un nouveau signal temporel de variation d'orientation de bord qui caractérise la variation δα d'angle de points de bords d'objets, ledit calcul consistant à effectuer pour chaque point considéré une différence en valeur absolue entre les valeurs d'angles α de deux points de bords adjacents situés de part et d'autre du point considéré sur une même ligne passant par le point considéré, ligne fonction de l'angle α du point considéré, afin d'obtenir une information sur la courbure locale du bord, soit dans le cas d'un espace à deux dimensions par prise en compte de points adjacents compris dans une matrice 3x3 centrée sur le point de bord considéré, et en ce que l'on y associe une valeur binaire de validation ou non-validation, Val-δα, prenant une première valeur de validation si la variation est valide et prenant une seconde valeur de non-validation dans le cas contraire, une variation étant valide si, lors du calcul, le point considéré et les points adjacents fonction de l'angle α du point considéré ont tous la première valeur de validation pour Val-α.
10. Procédé selon la revendication 9, caractérisé en ce que, pendant une séquence, on envoie le signal temporel de variation d'orientation de bord en entrée de paramètre d'un module (12B) STN recevant en entrée de rétro-annotation au moins un signal de classification de signal spatial, le signal de classification de signal spatial pouvant provenir soit d'un classifieur recevant en entrée le signal spatial, le classifieur étant un circuit dédié à la classification sans calcul d'histogramme, soit d'un autre module STN (12A) recevant en entrée le signal spatial, et en ce que pour l'analyse de la variation δα de l'angle d'orientation dans le module STN (12B) recevant le signal temporel de variation d'orientation de bord, on ne prend en compte que les points dont Val-δα est égal à la première valeur de validation.
1 1. Procédé selon la revendication 10, caractérisé en ce que dans le cas de couples de modules STN (12A.12B) traitant le signal temporel de variation d'orientation de bord, le premier module (12B) STN du couple recevant en entrée de paramètre(s) le signal de variation d'orientation de bord et le second module (12A) STN du couple recevant en entrée de paramètre(s) le signal spatial ayant subit une opération de rotation d'angle γ pour changement d'axes de coordonnées, la sortie du premier module STN étant renvoyée en entrée de rétro-annotation du second module STN et la sortie du second module STN étant renvoyée en entrée de rétro-annotation du premier module STN, l'angle de rotation γ (10) reste constant au cours des séquences.
12 Procédé selon la revendication 1 1 , caractérisé en ce que l'on détermine pour chaque couple de modules STN (12A.12B) analysant le signal de variation d'orientation de bord au moins un barycentre de zone (BarZgα) et une variation δα.
13. Procédé selon l'une quelconque des revendications 5 à 12, caractérisé en ce que l'on détermine un bord orienté en fonction de la variation de l'orientation dudit bord, un module STN supplémentaire (17) étant ajouté à un couple (15, 16) de modules STN analysant le signal d'orientation α de bord, ledit module STN supplémentaire (17) recevant en entrée de paramètre(s) le signal temporel de variation d'orientation de bord et en entrée de rétro-annotation le signal de classification produit en sortie du second module STN (15) du couple et ledit module STN supplémentaire (17) produisant en sortie un signal de classification envoyé en entrée de rétro-annotation supplémentaire du premier module (16) STN du couple.
14. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que l'on répète au cours du temps sur plusieurs séquences l'étape d'analyse du signal temporel de bord orienté avec recrutement progressif de couples (15, 16) (25,26) (35,36) de modules STN afin de déterminer une suite de bords orientés et de façon à ce que: pendant la première séquence avec un premier couple (15, 16) de modules STN on utilise un angle de rotation θ nul et que à la deuxième séquence, un nouveau couple (25,26) de modules STN est mis en œuvre avec un angle de rotation θ résultant du calcul d'histogramme du premier couple à la première séquence et le signal de sortie de classification du second module STN du premier couple étant envoyé en entrée de rétro-annotation pour inhibition du second module STN du nouveau couple, et ainsi de suite, un nouveau couple étant mis en œuvre à chaque nouvelle séquence, l'angle de rotation θ pour le nouveau couple résultant du calcul d'histogramme par un couple précédent à la séquence précédente, le second module STN du nouveau couple recevant en entrée de rétroannotation pour inhibition l'ensemble des sorties de classification des second module STN mis en œuvre.
15. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que les modules STN sont simulés par calcul dans un circuit électronique du type microprocesseur ou du type processeur de signaux numériques (DSP).
16. Procédé selon l'une quelconque des revendications 1 à 14, caractérisé en ce que l'on met en œuvre un circuit intégré électronique dédié configurable dynamiquement comportant au moins des moyens de calcul en logique câblée de paramètres temporels et de paramètres spatiaux et un ensemble de modules STN en logique câblée sur bus de paramètres et bus de rétro-annotation et sous la dépendance d'un programme applicatif.
17. Procédé selon l'une quelconque des revendications 5 à 16, caractérisé en ce que l'on détermine pour chaque couple de modules STN (1 1A, 1 1 B) (15, 16) (25,26) (35,36) au moins un barycentre de zone et une orientation de zone et on exécute une phase de synthèse permettant de construire un contour par ajustement d'une courbe par rapport aux barycentres.
18. Procédé selon la revendication 17, caractérisé en ce que l'on détermine en outre des labels par mémorisation de résultats d'analyse et/ou de synthèse d'objets.
19. Procédé selon l'une quelconque des revendications
9 à 18, caractérisé en ce que l'on utilise des bords orientés pour lesquels la variation d'orientation δα de bord est particulièrement élevée, lesdits bords correspondant alors à des coins d'objets, comme points d'accroché par rapport à un fichier d'objet maillé 3D afin de produire une animation de synthèse.
20. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que le signal numérique est produit par un transducteur produisant des images, l'espace est une scène et sa dimension est deux, et en ce que l'on envoie le signal numérique de façon à ce que les premières sous-séquences envoyées d'une séquence comportent des points/pixels représentant des objets de l'espace les plus proches du transducteur.
21 . Procédé selon la revendication 20, caractérisé en ce que l'espace représenté est une route et que l'on dispose au moins une caméra dans le rétroviseur d'un véhicule, la caméra étant orientée vers l'avant du véhicule et que l'on détermine au moins deux limites de voie de circulation latéralement au véhicule à partir de bords orientés déterminés.
22. Procédé selon la revendication 20 ou 21 , caractérisé en ce que l'espace représenté est une route et que l'on dispose au moins une caméra latéralement au véhicule, ladite caméra étant orientée latéralement et vers l'arrière et étant dans un rétroviseur latéral.
23. Procédé selon la revendication 21 ou 22, caractérisé en ce que l'on détermine pour chaque bord orienté d'un couple de modules STN (1 1A.1 1 B) (15, 16) (25,26) (35,36) au moins un barycentre de zone et une orientation de zone et on détermine parmi lesdites zones des zones appariées de limite de voie de circulation et en ce que pour chaque zone appariée de limite de voie on détermine l'équation d'une droite portée par ladite zone et on calcule la position H du point de croisement desdites droites.
24. Procédé selon la revendication 23, caractérisé en ce que l'on caractérise un virage d'une voie de circulation par un arc de cercle et que l'on calcule au moins les rayons de ses limites latérales, la présence d'un virage étant détectée par un décalage linéaire de la position H du point de croisement de droites de zones appariées successives dans une même séquence.
25. Procédé selon la revendication 24, caractérisé en ce qu'en cas de détection d'un virage on actionne un dispositif de rotation de l'éclairage du véhicule disposé dans le phare du véhicule en vue d'éclairer la voie de circulation dans le virage.
26. Procédé selon la revendication 23, 24 ou 25, caractérisé en ce que l'on détermine en outre des équations de changement de repère permettant de passer d'une représentation dans le repère de la caméra vers un repère horizontal route vue de dessus et centré sur le véhicule et inversement.
27. Procédé selon l'une quelconque des revendications 21 à 26, caractérisé en ce qu'en outre on effectue une recherche de l'endormissement du conducteur du véhicule, le visage du conducteur étant capté par une partie de la caméra.
28. Procédé selon l'une quelconque des revendications
21 à 26, caractérisé en ce qu'en outre on effectue une recherche de l'endormissement du conducteur du véhicule, le visage du conducteur étant capté par une seconde caméra.
29. Procédé selon la revendication 20, caractérisé en ce que l'espace représenté est un lieu comportant des objets et l'on dispose au moins un transducteur orienté non verticalement vers ledit lieu afin que les objets soient vus en perspective dans des images dudit transducteur et on détermine l'horizon dudit lieu par recherche d'au moins deux points (Fo, Fi ) correspondants chacun au croisement d'un groupe de droites comportant au moins deux, et de préférence au moins trois, droites portées par des bords d'orientations sensiblement voisines mais non égales et déterminés dans les images, les bords d'un groupe ayant des valeurs d'angle α d'orientation du bord comprises dans une gamme de valeurs proches non égales et ayant des variations δα d'angle d'orientation sensiblement nulles correspondant à des bords sensiblement rectilignes/droits, l'horizon étant une droite passant par lesdits au moins deux points.
30. Procédé selon la revendication 29, caractérisé en ce que pour deux des au moins deux points de détermination de l'horizon et obtenus à partir des croisements d'un premier et d'un second groupes de droites portées par les bords orientés, on sélectionne lesdits deux groupes de manière à ce que les orientations des bords du premier groupe soient sensiblement différentes des orientations des bords du second groupe et, de préférence, que les orientations des deux groupes soient sensiblement perpendiculaires entre elles, afin que les deux points soient sensiblement éloignés l'un de l'autre.
31 . Procédé selon la revendication 29 ou 30, caractérisé en ce que l'on détermine un repère orthonormé u,v de premier axe porté par l'horizon et de deuxième axe perpendiculaire au premier et passant par le centre optique de l'image et, à partir de l'image considérée dans ledit repère orthonormé u,v et obtenue par rotation de l'image initiale, on détermine des équations de changement de repère permettant de passer d'une représentation dans le repère u,v vers un repère horizontal correspondant à une vue de dessus du lieu et inversement.
32. Procédé selon la revendication 31 , caractérisé en ce que, à partir d'une perception de bords orientés de l'image dont au moins les variations δα d'orientations de bords sont dans une gamme déterminée de valeurs et, de préférence, une gamme de valeurs sensiblement nulles correspondant à des bords rectilignes/droits ou très faiblement courbés et en appliquant les équations de changement de repère, l'on crée par synthèse un modèle de représentation synthétique du lieu vue de dessus et en ce que l'on perçoit ensuite dans les images du transducteur des objets en mouvement et que l'on reporte en appliquant les équations de changement de repère lesdits objets en mouvement dans ledit modèle.
33. Application du procédé de l'une quelconque des revendications 1 à 17 à un procédé de détermination d'un coefficient E de distorsion optique géométrique en barillet ou en tonneau sur au moins une image sous forme d'un signal numérique obtenu avec un transducteur comportant un objectif ayant une possible distorsion optique, les pixels de l'image pouvant être mis sous forme d'une matrice numérique image à deux dimensions d'axes référentiels X et Y, chaque pixel de l'image entre des bords de l'image pouvant être référencé par sa position P cartésienne P(x, y) ou polaire P(p, θ) dans la matrice, caractérisée en ce que l'on modélise la distorsion optique géométrique par un déplacement de module Δ = E.p3 des pixels P en référence polaire entre l'image avec distorsion et l'image sans distorsion, E étant le coefficient de distorsion et p le module du pixel P(x, y) par rapport au centre optique 0(xo, yo) dans l'image, et en ce que dans une phase de calcul du coefficient de distorsion E, on calcule le coefficient de distorsion par un processus itératif consistant à déplacer selon la modélisation et par rapport à un point d'origine de référence au moins trois points d'un bord d'un objet de la scène en modifiant itérativement une valeur initiale du coefficient de distorsion jusqu'à ce que lesdits au moins trois points se retrouvent sensiblement alignés sur une droite, le point d'origine de référence étant préférentiellement le point central de l'image dans la matrice, le bord orienté étant choisi parmi les bords des objets de l'image les plus longs et les plus éloignée du point d'origine de référence selon une distance projective, les au moins trois points du bord étant distincts et répartis sur ledit bord, et en ce que l'on met en œuvre pour la détermination de bords et de points sur lesdits bords, au moins un module STN recevant des données en entrée de paramètre(s) et produisant par calcul d'histogrammes, en fonction d'au moins une entrée de rétro-annotation, des résultats statistiques dans des registres et, en sortie, des résultats de classification, au moins une des données utilisée en entrée de paramètre(s) étant un signal de bord orienté caractérisant une orientation de bord parmi l'ensemble des données caractérisant l'image.
34. Application du procédé de l'une quelconque des revendications 1 à 17 à un procédé de détermination d'un coefficient E de distorsion optique géométrique en barillet ou en tonneau et d'un centre optique (x0, yo) sur au moins une image numérique sous forme d'un signal numérique obtenu avec un transducteur comportant un objectif avec un centre optique et ayant une possible distorsion optique, les pixels de l'image pouvant être mis sous forme d'une matrice numérique image à deux dimensions d'axes référentiels X et Y, chaque pixel de l'image entre des bords de l'image pouvant être référencé par sa position P cartésienne P(x, y) ou polaire P(p, θ) dans la matrice, caractérisée en ce que l'on modélise la distorsion optique géométrique par un déplacement de module Δ = E.p3 des pixels P en référence polaire entre l'image avec distorsion et l'image sans distorsion, E étant le coefficient de distorsion et p le module du pixel P(x, y) par rapport au centre optique 0(xo, yo) dans l'image, et en ce que
- dans une première phase, dite phase de calcul du coefficient de distorsion E, on calcule le coefficient de distorsion par un processus itératif consistant à déplacer selon la modélisation et par rapport à un point d'origine de référence au moins trois points d'un bord d'un objet de la scène en modifiant itérativement une valeur initiale du coefficient de distorsion jusqu'à ce que lesdits au moins trois points se retrouvent sensiblement alignés sur une droite, le point d'origine de référence étant préférentiellement le point central de l'image dans la matrice, le bord orienté étant choisi parmi les bords des objets de l'image les plus longs et les plus éloignée du point d'origine de référence selon une distance projective, les au moins trois points du bord étant distincts et répartis sur ledit bord, - dans une deuxième phase, dite phase de calcul du centre optique (x0, yo) sur l'image, on calcule la position du centre optique par un processus itératif consistant à modifier itérativement la position d'un centre optique courant de valeur initiale prédéfinie et à déplacer selon la modélisation avec le coefficient de distorsion précédemment calculé au moins trois points d'un premier bord et au moins trois points d'au moins un second bord jusqu'à ce que lesdits points correspondants se retrouvent sensiblement alignés sur une droite correspondante, la valeur initiale prédéfinie du centre optique courant étant préférentiellement le point central de l'image dans la matrice, le premier bord et le second bord étant choisis parmi les bords des objets de l'image les plus longs et les plus éloignés de la valeur initiale prédéfinie du centre optique courant selon une distance projective et ayant en outre des directions se croisant, les directions étant de préférence sensiblement perpendiculaires entre-elles, les au moins trois points de chacun des bords étant distincts et répartis sur le bord correspondant, et en ce que l'on met en œuvre pour la détermination de bords et de points sur lesdits bords, au moins un module STN recevant des données en entrée de paramètre(s) et produisant par calcul d'histogrammes, en fonction d'au moins une entrée de rétro-annotation, des résultats statistiques dans des registres et, en sortie, des résultats de classification, au moins une des données utilisée en entrée de paramètre(s) étant un signal de bord orienté caractérisant une orientation de bord parmi l'ensemble des données caractérisant l'image.
35. Application selon la revendication 34, caractérisée en ce que l'on affine le calcul du coefficient de distorsion et le calcul de la position du centre optique par itération de la première et de la deuxième phase tant que la variation en valeur absolue du coefficient de distorsion d'une itération à la précédente et/ou la variation en valeur absolue de la position du centre optique d'une itération à la précédente est/sont supérieurs à des seuils de fin d'itération respectifs, et en ce que lors du premier passage dans la première phase, le point d'origine de référence est préférentiellement le point central de l'image dans la matrice, et lors des passages ultérieurs itératifs dans la première phase, le point d'origine de référence est le centre optique calculé dans la deuxième phase juste précédente, et en ce que lors du premier passage dans la deuxième phase, la valeur initiale prédéfinie de la position du centre optique courant est préférentiellement le point central de l'image dans la matrice, et lors des passages ultérieurs itératifs dans la deuxième phase, la valeur initiale prédéfinie de la position du centre optique courant est le centre optique calculé dans la deuxième phase précédente.
36. Application selon la revendication 34 ou 35, caractérisée en ce qu'en outre on corrige la distorsion optique géométrique en barillet ou en tonneau d'images dans une troisième phase de correction par déplacement de chacun des pixels P en référence polaire selon la valeur Δ correspondante sur un axe passant par ledit pixel et le centre optique (x0, yo), Δ étant calculé avec la valeur E du coefficient de distorsion obtenu à la première phase et le centre optique (x0, yo) obtenu à la deuxième phase.
37. Application selon l'une quelconque des revendications 33 à 36 pour ce qui concerne les phases correspondantes, caractérisée en ce que, respectivement selon la phase considérée:
A - dans la première phase ou la phase de calcul du coefficient de distorsion, on effectue les étapes suivantes : a) on attribue une valeur initiale E, au coefficient de distorsion, b) on détermine sur l'image un bord d'objet, ledit bord étant choisi parmi les bords d'objets les plus longes et (es plus éloignés du point d'origine de référence selon une distance projective, - c) on détermine au moins trois points P1 (xι , yi), P2(x2, y2) , P3(X3, y3)--- distincts et répartis sur ledit bord, d) on calcule en coordonnées polaires, par rapport au point d'origine de référence pour chaque point P1 (xι , yi), P2(x2, y2) , P3(x3, y3) -. , les valeurs des modules p1 t ρ2, P3... , e) on calcule en coordonnées polaires pour chaque point P1 (xι , yO , P2(x2, y2) , P3(x3, ys)-.. , les valeurs des déplacements correspondants Δpi≈Ei.pi , ΔP2=Ej.p2 3,
Figure imgf000163_0001
f) on déplace les points P1 (xι , yi), P2(x2, y2) , P3(x3, y3)... , considérés en référence polaire d'une distance Δ i , ΔP2, ΔP3... correspondante le long d'un axe passant par le point d'origine de référence et le point correspondant, les points déplacés étant P1 (x'ι , y'i), P2(x'2, y'2) , P3(x'3l y'3) .- , g) on effectue un test de linéarité entre les points déplacés P1 (x'ι , y'i), P2(x'2 ) y'2) , P3(x'3, y's).-- par calcul d'un indice d'alignement la indiquant l'écart desdits points déplacés par rapport à un alignement sur une droite commune fictive, - dans le cas où l'indice d'alignement la est inférieur à un seuil ε de linéarité, on garde comme coefficient de distorsion E la dernière valeur Ej et on quitte la phase de calcul du coefficient de distorsion, - dans le cas contraire, on modifie la valeur de Ej d'une manière telle qu'en repassant itérativement à l'étape e), l'indice d'alignement la finisse par diminuer,
B - dans la deuxième phase on effectue les étapes suivantes : h) on attribue la valeur initiale prédéfinie 0(x, y) au centre optique courant, la valeur initiale prédéfinie 0(x, y) correspondant de préférence au point central de l'image dans la matrice, i) on détermine sur l'image un premier bord d'objet, ledit premier bord étant choisi parmi les bords d'objets les plus longs et les plus éloignés du centre optique courant selon une distance projective, j) on détermine au moins trois points P1 (xι , yO, P2(x2, y2) , P3(X3, y3)--. distincts et répartis sur ledit premier bord, k) on détermine sur l'image un second bord d'objet, ledit second bord étant choisi parmi les bords d'objets de l'image les plus longs et les plus éloignés du centre optique courant selon une distance projective, lesdits premier et second bords ayant en outre des directions se croisant, les directions étant de préférence sensiblement perpendiculaires entre-elles, les orientations des bords étant assimilées aux directions, I) on détermine au moins trois points Pa(xa, ya), Pb(xb, y ) , Pc(xCl yc) --. distincts et répartis sur ledit second bord, I premier bord étant moins incliné que le second bord par rapport à un premier axe, X ou Y, que par rapport à un second axe, Y ou X, des deux axes référentiels X, Y de la matrice, * pour une première coordonnée du centre optique : m) on calcule en coordonnées polaires, par rapport au centre optique courant 0(x, y), pour chaque point P1 (xι , yi), P2(x2, y2) , P3(x3, y3)--. , les valeurs des modules pi , p2, p3— , n) on calcule en coordonnées polaires pour chaque point P1 (xι, yi), P2(x2, y2) , P3(x3, y3)... , les valeurs des déplacements correspondants Δpi≈E.pi3, Δp2=E.p2 3, Δp3=E.p33... , E étant le coefficient de distorsion obtenu à la première phase, o) on déplace les points P1 (xι , yi), P2(x2, y2) , P3(x3, y3) — considérés en référence polaire, d'une distance Δpi , Δp2, Δ 3... correspondante selon un axe passant par le centre optique courant 0(x, y) de l'image et le point correspondant, les points déplacés étant P1 (x'ι , y'i), P2(x'2l y'2) , P3(x'3,
p) on effectue un test de linéarité entre les points déplacés P1 (x'ι , y'i), P2(x'2, y'2) , P3(x'3, y'3)... par calcul d'un premier indice d'alignement la1 indiquant l'écart desdits points déplacés par rapport à un alignement sur une droite commune fictive, - dans le cas où l'indice d'alignement lai est inférieur à un seuil ε' de linéarité, on garde la première coordonnée yo ou xo sur le second axe pour la position courante O(x, y) et on passe à l'étape suivante, - dans le cas contraire, on déplace le centre optique courant 0(x, y) parallèlement au second axe, Y ou X, et on repasse à l'étape m) de manière à ce qu'itérativement l'indice d'alignement lai finisse par diminuer, * pour la seconde coordonnée du centre optique : q) on calcule en coordonnées polaires, par rapport au centre optique courant 0(x, y) avec la première coordonnée calculée précédemment, pour chaque point Pa(xa, ya), Pb(xb, yb),
Pc(xc, yc) — , les valeurs des modules pa, pb, Pc— , r) on calcule en coordonnées polaires pour chaque point
Pa(xa, Va), Pb(xb, yb), Pc(xc, yc) -. , les valeurs des déplacements correspondants ΔPa=E.pa 3, Δpb=E.pb 3,
Δpc≈E.pc3... , E étant le coefficient de distorsion obtenu à la première phase, s) on déplace les points Pa(xa, ya), Pb(xb, y ), Pc(xc, yc)... considérés en référence polaire, d'une distance Δpa, Δpb, Δpc... correspondante selon un axe passant par le centre optique courant 0(x, y) de l'image et le point correspondant, les points déplacés étant Pa(x'a, y'a), Pb(x'b, y'b), Pc(x'Cl y'c)... , t) on effectue un test de linéarité entre les points déplacés Pa(x'a, y'a), Pb(x'b, y'b), Pc(x'c, y'c) — , par calcul d'un second indice d'alignement la2 indiquant l'écart desdits points déplacés par rapport à un alignement sur une droite commune fictive, - dans le cas où l'indice d'alignement la2 est inférieur à un seuil ε" de linéarité, on garde la seconde coordonnée xo ou yo sur le premier axe pour la position courante 0(x, y), - dans le cas contraire, on déplace le centre optique courant 0(x, y) parallèlement au premier axe, X ou Y, et on repasse à l'étape q) de manière à ce qu'itérativement l'indice d'alignement la2 finisse par diminuer.
38. Application selon la revendication 37, caractérisée en ce que l'on met en œuvre une fonction de calcul et de test générique sur des paramètres d'entrée pour produire en sortie une valeur, la fonction de calcul générique permettant d'exécuter respectivement les étapes m) à p) ou les étapes q) à t) en fonction des paramètres d'entrée, respectivement première ligne, second axe, centre optique courant et seuil ε' ou seconde ligne, premier axe, centre optique courant et seuil ε" et produisant respectivement la première ou la seconde coordonnée.
39. Application selon la revendication 38, caractérisée en ce que la fonction de calcul générique fait appel à au moins une sous fonction permettant :
- le calcul des valeurs des modules pi... des points Pi de la ligne,
- le calcul des valeurs des déplacements correspondants
Figure imgf000166_0001
- le déplacement des points Pi de la ligne considérés en référence polaire d'une distance ΔPi... correspondante le long d'un axe passant par le point d'origine de référence et ledit point Pi de la ligne, ladite sous fonction étant utilisable pour les étapes d) e) f) ou m) n) o) ou q) r) s).
40 Application selon la revendication 37, 38 ou 39, caractérisée en ce que l'on met en œuvre en outre au moins une des étapes supplémentaires suivantes selon la phase considérée :
- une étape supplémentaire Tb) entre les étapes b) et c) consistant en un test de réussite de détermination de bord, le procédé s'arrêtant à ladite étape Tb) en cas d'impossibilité de détermination de bord à l'étape b),
- une étape supplémentaire Ti) entre les étapes i) et j) consistant en un test de réussite de détermination de bord, le procédé s'arrêtant à ladite étape Ti) en cas d'impossibilité de détermination de bord à l'étape i),
- une étape supplémentaire Tk) entre les étapes k) et I) consistant en un test de réussite de détermination de bord, le procédé s'arrêtant à ladite étape Tk) en cas d'impossibilité de détermination de bord à l'étape k), - une étape supplémentaire Te) entre les étapes c) et d) consistant en un test de réussite de détermination d'au moins trois points sur le bord, avec en cas d'impossibilité de détermination d'au moins trois points, retour à l'étape b), - une étape supplémentaire Tj) entre les étapes j) et k) consistant en un test de réussite de détermination d'au moins trois points sur le bord, avec en cas d'impossibilité de détermination d'au moins trois points, retour à l'étape i),
- une étape supplémentaire TI) entre les étapes I) et m) consistant en un test de réussite de détermination d'au moins trois points sur le bord, avec en cas d'impossibilité de détermination d'au moins trois points, retour à l'étape k),
- une étape supplémentaire Te') entre les étapes c) et d), de préférence entre les étapes Te) et d), consistant en un test de linéarité entre les trois points P1 (xι , y , P2(x2, y2) , P3(x3, yβ)... par calcul d'un indice d'alignement indiquant l'écart desdits points par rapport à un alignement sur une droite commune fictive, et, au cas où l'indice de linéarité est inférieur à un seuil, retour à l'étape b) pour détermination sur l'image d'une nouvelle ligne d'un objet de la scène, ladite nouvelle ligne n'ayant pas encore fait l'objet d'étapes,
- une étape supplémentaire Tj') entre les étapes j) et k), de préférence entre les étapes Tj) et k), consistant en un test de linéarité entre les trois points P1 (xι , yi), P2(x2, y2) , P3(x3, y3)... par calcul d'un indice d'alignement indiquant l'écart desdits points par rapport à un alignement sur une droite commune fictive, et, au cas où l'indice de linéarité est inférieur à un seuil, retour à l'étape i) pour détermination sur l'image d'une nouvelle ligne d'un objet de la scène, ladite nouvelle ligne n'ayant pas encore fait l'objet d'étapes,
- une étape supplémentaire TI') entre les étapes I) et m), de préférence entre les étapes TI) et m), consistant en un test de linéarité entre les trois points Pa(xa, ya), Pb(xb, yb), Pc(xc, yc)... par calcul d'un indice d'alignement indiquant l'écart desdits points par rapport à un alignement sur une droite commune fictive, et, au cas où l'indice de linéarité est inférieur à un seuil, retour à l'étape k) pour détermination sur l'image d'une nouvelle ligne d'un objet de la scène, ladite nouvelle ligne n'ayant pas encore fait l'objet d'étapes.
41 . Application selon l'une quelconque des revendications 33 à 40, caractérisée en ce que le nombre de points déterminés sur chaque bord d'un objet de l'image est de trois.
42. Application selon la revendication 41 , caractérisée en ce que l'on calcule l'indice d'alignement I (I, la^ la2 respectivement) comme étant la valeur absolue de la différence des pentes P1 et P2 de deux droites fictives, soit l≈|P1 -P2| ,
- la première droite fictive de pente P1 joignant un premier point extrême (P1 (x'ι , y'i) ou Pa(x'a, y'a) respectivement) des trois points déterminés déplacés (P1 (x'ι , y'i), P2(x'2, y'2), P3(x'3, y'3) ou Pa(x'a, y'a), Pb(x'b, y'b), Pc(x'c, y'c) respectivement) et le point intermédiaire (P2(x'2, y'2) ou Pb(x'b, y'b) respectivement) des trois points déterminés déplacés, soit P1 =(y'ι-y'2)/(xVx'2) ou P1
Figure imgf000168_0001
respectivement, et
- la seconde droite fictive de pente P2 joignant le second point extrême (P3(x'3, y'3) ou Pc(x'c, y'c) respectivement) des trois points déterminés déplacés et le point intermédiaire (P2(x'2, y'2) ou Pb(x'b, y'b) respectivement) des trois points déterminés déplacés, soit P2=(y'2-y'3)/(x'2-x'3) ou P2=(y'b- y'c)/(x'b-x'c) respectivement.
43. Application selon l'une quelconque des revendications 33 à 42, caractérisée en ce que l'on calcule la nouvelle position cartésienne des points après déplacement à partir de leurs positions cartésiennes initiales en passant par des coordonnées polaires comprenant un module p et un angle α par rapport à une origine, le calcul étant du type :
- pour un point initial de coordonnées cartésiennes (x,, y,): p=((x,-Ox)2 + (y,-Oy)2)1 /2 α≈Arctg ((yi-Oy)/(Xi-Ox)) (Ox, Oy) étant les coordonnées cartésiennes de l'origine,
- pour le déplacement Δ : Δ = E.p3
- pour la nouvelle position du point de coordonnées cartésiennes (x'i, y'j), résolution de x'i, y'i à partir des équations : p+Δ = ((x'i-Ox)2 + (y'i-Oy)2)1 /2 α≈Arctg ((y'i-Oy)/(x'rOx)).
44. Application selon l'une quelconque des revendications 34 à 43, caractérisée en ce que l'on exécute dynamiquement en continu pour chaque image la première phase, dite phase de calcul du coefficient de distorsion E, et la deuxième phase, dite phase de calcul du centre optique (xo, yo) sur l'image.
45. Application selon l'une quelconque des revendications 37 à 44, caractérisée en ce que, en alternative, pour la détermination du centre optique, dans la deuxième phase, on obtient les deux coordonnées Xo et yo du centre optique en une seule série d'étapes dans laquelle : z) - on détermine en coordonnées polaires, par rapport au centre optique courant 0(x, y), pour chaque point d'au moins deux bords sensiblement perpendiculaires entre-eux, les valeurs des modules,
- on calcule pour chaque point d'au moins des deux bords sensiblement perpendiculaires entre-eux, les valeurs des déplacements correspondants,
- on déplace lesdits points d'une distance Δ correspondante selon un axe passant par le centre optique courant 0(x, y) de l'image et le point correspondant,
- on effectue des calculs de linéarité entre les points déplacés d'au moins des deux bords sensiblement perpendiculaires entre-eux par calcul d'un indice d'alignement par ligne correspondante, et en ce que l'on déplace le centre optique courant 0(x, y) selon une direction dans le plan de l'image et on repasse itérativement à l'étape z) de manière à ce que chacun des indices d'alignement finisse par diminuer et tant que lesdits indices d'alignement sont supérieurs à un seuil de fin d'itération, les coordonnées x0 et yo du centre optique étant alors données par la position du centre optique courant 0(x, y).
46. Application selon l'une quelconque des revendications 36 à 45, caractérisée en ce que l'objectif présente au moins un état et que l'on effectue au moins un étalonnage par acquisition à travers l'objectif dans au moins un état d'au moins une image d'une scène comportant des objets délimités par des lignes droites horizontales et verticales, détermination et mémorisation des valeurs du coefficient de distorsion E et de position du centre optique °(Xo, y0) pour au moins ledit un état de l'objectif, et en ce que pour les images ultérieures de scènes on utilise directement les valeurs mémorisées correspondant à l'état courant de l'objectif pour correction de position des points des images selon la troisième phase de correction sans déterminer à nouveau lesdites valeurs sur les images ultérieures.
47. Application selon l'une quelconque des revendications 33 à 46, caractérisée en ce que pour la détermination de bords on met en œuvre au moins trois modules STN ayant chacun une entrée de paramètre(s), une entrée de rétro-annotation et une sortie de classification, un premier module STN recevant en entrée de paramètre un signal spatial de coordonnées X,Y de pixels, un deuxième module STN recevant en entrée de paramètre un signal temporel d'orientation α de bord, un troisième module STN recevant en entrée de paramètre un signal temporel de variation δα d'orientation de bord, le premier recevant dans son entrée de rétro-annotation la sortie de classification du deuxième, la sortie de classification du premier étant envoyée en entrée de rétro-annotation du deuxième et en entrée de rétro-annotation du troisième, le deuxième recevant en outre en entrée de rétro-annotation la sortie de classification du troisième afin de pouvoir déterminer un bord d'objet compris dans une zone Z0(i ) de l'image donnée par la sortie de classification du premier module STN, ledit bord ayant au moins une orientation α et une courbure δα déterminées.
48. Application selon la revendication 47, caractérisée en ce que pour la détermination d'un des points sur un bord déjà déterminé d'un d'objet, on utilise le signal de sortie de classification du premier module STN des trois modules STN ayant déjà déterminé une zone (Zo) du bord, en entrée de rétro-annotation d'un module STN spatial d'un nouveau couple spatio-temporel de modules STN, et en ce que dans le nouveau couple spatio-temporel de modules STN, le point correspond à un barycentre d'une portion du bord déjà déterminé et dont les orientations sont dans une partie de la gamme des valeurs d'orientation dudit bord déjà déterminé, la gamme des valeurs d'orientation dudit bord déjà déterminé étant divisée en autant de parties indépendantes que de points de bords à déterminer.
49. Application selon la revendication 47, caractérisée en ce que l'on dispose en amont d'un système à calcul de signaux temporels et spatiaux de caractérisation et à modules STN configurable sous contrôle d'un programme applicatif, un dispositif de correction de la distorsion en fonction d'une valeur E de coefficient de distorsion optique géométrique et d'une position x0,y0 de centre optique, la valeur E et la position xO.yO étant fournies par le système à modules STN, et pour la détermination de bords orientés on met en œuvre dans le système à modules STN au moins trois modules STN ayant chacun une entrée de paramètre, une entrée de rétroannotation et une sortie de classification, un premier module STN recevant en entrée de paramètre(s) un signal spatial de coordonnées X,Y de pixels, un deuxième module STN recevant en entrée de paramètre un signal temporel de valeur d'angle α d'orientation de bord, un troisième module STN recevant en entrée de paramètre(s) un signal temporel de variation δα d'angle d'orientation de bord, le premier recevant dans son entrée de rétro-annotation la sortie de classification du deuxième, la sortie de classification du premier étant envoyée en entrée de rétro-annotation du deuxième et en entrée de rétro-annotation du troisième, le deuxième recevant en outre en entrée de rétro-annotation la sortie de classification du troisième afin de pouvoir déterminer un bord d'objet compris dans une zone Z0(i,j) de l'image donnée par la sortie de classification du premier module STN, ledit bord ayant au moins une orientation α et une courbure δα déterminées, et on modifie itérativement la valeur E ou la position x0,y0 respectivement selon la phase considérée, tout en analysant l'histogramme produit par le deuxième module STN à la recherche d'un histogramme présentant un pic sensiblement au maximum signalant l'obtention d'un alignement des points de bords en alternative de la détermination d'au moins trois points du bord déterminé, de leurs déplacements et du calcul d'un indice d'alignement desdits points déplacés.
50. Application du procédé de l'une quelconque des revendications 1 à 17 à la détermination d'une rotation entre deux représentations d'un espace spatio-temporel représenté par un ensemble de données associées à des pixels ou points évoluant dans le temps et représentés à une succession de moments T, lesdites données étant sous forme d'un signal numérique composé d'une suite de nombres binaires associés à des signaux de synchronisation permettant de définir le moment T de l'espace et la position dans cet espace auxquels les données reçues à un instant donné sont associées, le signal numérique comportant des séquences périodiques organisées en sous séquences successives de données, caractérisée en ce que l'on met en œuvre au moins un module STN, au moins le/un des modules STN (124) recevant en entrée de paramètre un signal temporel caractérisant une orientation α de bord et en entrée de rétro-annotation au moins deux signaux de classification de signal temporel, le premier pour sélection d'orientation δα de bord correspondant à des bords à faible ou nulle courbure, c'est-à-dire bords sensiblement rectilignes, le second pour sélection de module p de points de bord correspondant à des points ayant des valeurs de module parmi les plus élevées, c'est-à-dire de fort contraste, et en ce que l'on réalise deux histogrammes de répartition des orientations des bords sélectionnés sur deux représentations successives de l'espace et en ce que l'on compare l'histogramme de répartition des orientations de bords sélectionnés de la représentation courante avec l'histogramme de répartition des orientations des bords sélectionnés de la représentation précédente, le décalage entre les deux histogrammes donnant l'angle de rotation Rot.
51 . Application du procédé de l'une quelconque des revendications 1 à 17 à la détermination d'une translation entre deux représentations d'un espace spatio-temporel représenté par un ensemble de données associées à des pixels ou points évoluant dans le temps et représentés à une succession de moments T, lesdites données étant sous forme d'un signal numérique composé d'une suite de nombres binaires associés à des signaux de synchronisation permettant de définir le moment T de l'espace et la position dans cet espace auxquels les données reçues à un instant donné sont associées, le signal numérique comportant des séquences périodiques organisées en sous séquences successives de données, caractérisée en ce que pour un axe référentiel particulier de la représentation, on met en œuvre au moins un module STN, au moins le/un des modules STN (135) (137) recevant en entrée de paramètre un signal spatial de projection caractérisant une projection sur l'axe référentiel particulier et en entrée de rétro-annotation au moins deux signaux de classification de signal temporel, le premier pour sélection d'orientations δα de bord correspondant à des bords à forte courbure, c'est-à-dire des coins, le second pour sélection de module p de points de bord correspondant à des points ayant des valeurs de module parmi les plus élevées, c'est-à-dire de fort contraste, et en ce que l'on réalise deux histogrammes de répartition des points de coins sélectionnés sur deux représentations successives de l'espace, le signal spatial de projection étant corrigé par rotation (133) (136) pour une des représentations de l'espace d'une possible rotation Rot ayant pu avoir lieu entre les deux représentations successives, et en ce que l'on compare l'histogramme de répartition des points de coins sélectionnés de la représentation courante avec l'histogramme de répartition des points de coins sélectionnés de la représentation précédente, le décalage entre les deux histogrammes donnant la valeur de translation selon l'axe particulier.
52. Application selon la revendication 51 , caractérisée en ce que l'on détermine en parallèle la translation sur l'ensemble des axes du référentiel, autant de modules STN (135) (137) recevant en entrée de paramètre un signal spatial de projection caractérisant une projection sur l'axe référentiel particulier et en entrée de rétro-annotation au moins deux signaux de classification de signal temporel, le premier pour sélection d'orientations δα de bord correspondant à des bords à forte courbure, c'est-à-dire des coins, le second pour sélection de module p de points de bord correspondant à des points ayant des valeurs de module parmi les plus élevées, c'est-à-dire de fort contraste, étant mis en œuvre que d'axes et autant de comparaison d'histogramme étant faite que d'axes.
53. Application selon l'une quelconque des revendications 50 à 52, caractérisée en ce que les pixels ou points de la représentation de l'espace peuvent être mis sous forme d'une matrice numérique image à deux dimensions d'axes référentiels X et Y, et qu'en outre, on ne sélectionne que des bords orientés compris dans une zone déterminée de l'image aussi bien pour la détermination de la rotation que de la translation, au moins un signal de classification spatial (120) (121 ) étant envoyé en entrée de rétro-annotation du module STN correspondant (124) (135) (137) produisant les histogrammes.
54. Application selon l'une quelconque des revendications 50 à 53, caractérisée en ce qu'au moins pour produire le signal de classification temporel de sélection de module p de points de bord et au moins pour la détermination de la rotation, on utilise des bornes de classification qui résultent d'une détermination préalable de la répartition des modules de points de bords afin de pouvoir obtenir un nombre de points de bords sélectionnés compris dans une gamme de valeurs déterminées.
55. Application selon l'une quelconque des revendications 50 à 54, caractérisée en ce que pour la détermination de la rotation, le décalage entre histogrammes est déterminé par la différence entre la position POSRAMXt du maximum de l'histogramme des orientations de bords sélectionnés de la représentation courante et la position POSRMAXM du maximum de l'histogramme des orientations de bords sélectionnés de la représentation précédente.
56. Application selon l'une quelconque des revendications 50 à 54, caractérisée en ce que pour la détermination de la rotation, le décalage entre histogrammes est déterminé par un calcul d'une courbe de corrélation entre les deux histogrammes des orientations de bords sélectionnés, la valeur de rotation étant donnée soit par la position du maximum de la courbe de corrélation, soit par la position de la médiane de la courbe de corrélation.
57. Application selon l'une quelconque des revendications 50 à 56, caractérisée en ce que pour la détermination de la translation, le décalage des histogrammes selon chacun des axes est déterminé par un calcul d'une courbe de corrélation entre les deux histogrammes représentation courante et représentation précédente, les valeurs de translation étant données soit par la position du maximum de la courbe de corrélation correspondante, soit par la position de la médiane de la courbe de corrélation correspondante.
58. Application de la détermination de la rotation et de la détermination de la translation selon l'une quelconque des revendications 50 à 57, dans le cas où les pixels ou points de la représentation de l'espace peuvent être mis sous forme d'une matrice numérique image à deux dimensions d'axes référentiels X et Y, à la stabilisation d'images successives avec bougé entre les images, caractérisée en ce que la représentation de l'espace sous forme d'un signal numérique est obtenue par un transducteur produisant des images, et l'on modélise le bougé par une rotation et par une translation, la rotation étant déterminée en premier afin d'obtenir la valeur de rotation Rot utilisée pour correction dans la détermination de la translation et en ce que l'on utilise les valeurs de rotation et de translation pour corriger le bougé de l'image courante.
59. Application selon la revendication 58, caractérisée en ce que l'on effectue la correction du bougé en prenant en outre en compte des valeurs de rotation et de translation d'images antérieures à l'image précédente, lesdites valeurs permettant de calculer un facteur d'amortissement, les valeurs de rotation et de translation pour la correction du bougé de l'image courante étant les valeurs de rotation et de translation déterminées entre l'image précédente et l'image courante modifiées par le facteur d'amortissement.
60. Application selon la revendication 58 ou 59 et dans le cas où, en outre, on ne sélectionne que des bords orientés compris dans une zone déterminée de l'image aussi bien pour la détermination de la rotation que de la translation, caractérisée en ce que le transducteur comporte une mémoire avec un nombre M de pixels de prise de vue supérieur au nombre de pixels de l'image utile produite et en ce que la correction consiste à déplacer une fenêtre image utile dans la mémoire de prise de vue selon les valeurs de rotation et de translation déterminées.
61. Application du procédé de l'une quelconque des revendications 1 à 17 à un procédé de caractérisation de mouvements d'un objet par rapport à un transducteur, l'objet dans un espace étant représenté par un ensemble de données obtenues par le transducteur et associées à des pixels ou points évoluant dans le temps et représentés à une succession de moments T, lesdites données étant sous forme d'un signal numérique composé d'une suite de nombres binaires associés à des signaux de synchronisation permettant de définir le moment T de l'espace et la position dans cet espace auxquels les données reçues à un instant donné sont associées, le signal numérique comportant des séquences périodiques organisées en sous séquences successives de données, lesdites données étant caractérisables par au moins un paramètre, ledit procédé comportant une première étape dans laquelle, d'une part, on caractérise le signal numérique sous forme de signaux temporels représentatifs desdits paramètres au cours du temps pendant ladite période et, d'autre part, on produit en concordance un signal spatial représentatif des coordonnées des données successives du signal numérique, ledit procédé comportant une seconde étape d'analyse pendant au moins une séquence du signal numérique et dans laquelle on met en œuvre sous contrôle d'un programme applicatif, au moins un (1 1A) (1 1 B) (12A) (12B) (15) (16) (25) (26) (35) (36) neurone spatio-temporel, dit module STN (STN1 ) (STN2), recevant des données en entrée de paramètre(s) et produisant par calcul d'histogrammes, en fonction d'au moins une entrée de rétro- annotation, des résultats statistiques dans des registres et, en sortie, des résultats de classification, au moins le/un des modules STN (1 1 B) (12B) (16) (26) (36) (STN2) recevant en entrée de paramètre(s) au moins un signal temporel et en entrée de rétro-annotation au moins un signal de classification de signal spatial, caractérisée en ce que l'espace est un espace de perception, la perception de l'objet consistant en une suite hiérarchique de zones perçues et leurs barycentres dans un espace cartésien ou polaire et pouvant être représentée sous une forme d'un graphe de vecteurs reliant hiérarchiquement les barycentres de zones perçues, une donnée de logarithme de la distance du barycentre d'origine de vecteur au transducteur étant associée à chaque vecteur, l'espace de perception ( ?,LD) ayant un repère de premier axe correspondant au logarithme LD de la distance du point d'origine du vecteur au transducteur et de second axe correspondant au module p des vecteurs reliant les barycentres, le signal numérique 7,, LDin véhiculant des points modulaires de perception et en ce que l'on produit au moins un signal temporel qui est un signal d'orientation de bord à partir du signal numérique.
62. Application selon la revendication 61 , caractérisée en ce que la perception de l'objet résulte soit d'une perception en direct, soit d'une perception antérieure et mémorisée, soit d'une perception crée par calcul.
63. Application selon la revendication 61 ou 62, caractérisée en ce que l'on produit en outre dans l'espace de perception un signal temporel qui est un signal de variation d'orientation de bord à partir du signal ( ,LD) et en ce que l'on détermine des zones et barycentres dans l'espace de perception en fonction de la variation de l'orientation de bord.
64. Application selon l'une quelconque des revendications 33 à 63, caractérisée en ce que le transducteur est choisi parmi : - une caméra vidéo produisant des images sous forme de signaux numériques en séquences périodiques organisées en sous séquences successives de données,
- un appareil photographique numérique produisant des images sous forme de signaux numériques en séquences périodiques organisées en sous séquences successives de données,
- un imageur produisant des images sous forme de signaux numériques en séquences périodiques organisées en sous séquences successives de données, - un lecteur de support d'enregistrement d'images produisant des images sous forme de signaux numériques en séquences périodiques organisées en sous séquences successives de données
- un radar ou un sonar produisant des images sous forme de signaux numériques en séquences périodiques organisées en sous séquences successives de données.
65. Dispositif automatisé de perception d'un objet, caractérisé en ce qu'il comporte des moyens permettant l'exécution du procédé de l'une quelconque des revendications 1 à 32 ou d'une application selon l'une quelconque des revendications 33 à 64.
PCT/FR2004/002047 2003-07-29 2004-07-29 Procede et dispositif automatise de perception avec determination et caracterisation de bords et de frontieres d'objets d'un espace, construction de contours et applications WO2005010820A2 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0350381 2003-07-29
FR0350381A FR2858447A1 (fr) 2003-07-29 2003-07-29 Procede et dispositif automatise de perception avec determination et caracterisation de bords et de frontieres d'objets d'un espace, construction de contours et applications

Publications (3)

Publication Number Publication Date
WO2005010820A2 WO2005010820A2 (fr) 2005-02-03
WO2005010820A9 true WO2005010820A9 (fr) 2005-03-17
WO2005010820A3 WO2005010820A3 (fr) 2005-08-18

Family

ID=34043808

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2004/002047 WO2005010820A2 (fr) 2003-07-29 2004-07-29 Procede et dispositif automatise de perception avec determination et caracterisation de bords et de frontieres d'objets d'un espace, construction de contours et applications

Country Status (2)

Country Link
FR (1) FR2858447A1 (fr)
WO (1) WO2005010820A2 (fr)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3006034B1 (fr) 2013-05-24 2017-09-01 Surgiris Systeme d'eclairage medical, notamment d'eclairage operatoire, et procede de commande d'un tel systeme d'eclairage
FR3051275A1 (fr) * 2016-05-13 2017-11-17 Inst Vedecom Procede de traitement d’image pour la reconnaissance de marquage au sol et systeme pour la detection du marquage au sol
FR3065825B1 (fr) * 2017-04-28 2022-12-23 Patrick Pirim Procede et dispositif automatises aptes a assurer l'invariance perceptive d'un evenement spatio-temporel dynamiquement en vue d'en extraire des representations semantiques unifiees
US10192319B1 (en) * 2017-07-27 2019-01-29 Nanning Fugui Precision Industrial Co., Ltd. Surveillance method and computing device using the same
CN109934908B (zh) * 2019-02-28 2023-06-27 东华大学 一种基于无人机的实际场景建模方法
CN110288674A (zh) * 2019-05-20 2019-09-27 昇显微电子(苏州)有限公司 一种异形平滑处理的方法及系统
CN110531351B (zh) * 2019-08-16 2023-09-26 山东工商学院 一种基于Fast算法的GPR图像双曲波顶点检测方法
CN113112412B (zh) * 2020-01-13 2024-03-19 株式会社理光 垂直校正矩阵的生成方法、装置及计算机可读存储介质
CN113255405B (zh) * 2020-02-12 2024-06-25 广州汽车集团股份有限公司 车位线识别方法及其系统、车位线识别设备、存储介质
CN111640114B (zh) * 2020-06-16 2024-03-15 北京安德医智科技有限公司 图像处理方法及装置
CN112565130B (zh) * 2020-12-08 2023-02-03 上海擎昆信息科技有限公司 一种低时延并行数字下变频方法及系统
CN112666944A (zh) * 2020-12-18 2021-04-16 广东嘉腾机器人自动化有限公司 一种agv轨迹线的求值方法、存储设备和电子设备
CN114111768B (zh) * 2021-10-29 2023-10-13 北京自动化控制设备研究所 一种基于偏角异常补偿的轨道线型拟合方法
CN114049323B (zh) * 2021-11-15 2024-04-30 武汉易思达科技有限公司 一种基于双目视觉的厢式车形变实时测量方法
CN114610544B (zh) * 2022-03-07 2023-03-28 丁跃辉 一种基于区块链的人工智能大数据分析处理系统及方法
CN114863025B (zh) * 2022-05-18 2023-03-10 禾多科技(北京)有限公司 三维车道线生成方法、装置、电子设备和计算机可读介质
EP4322116A1 (fr) 2022-08-12 2024-02-14 Another Brain Procédé et système d'extraction de caractéristiques à partir d'un ensemble de données matricielles
EP4322117A1 (fr) 2022-08-12 2024-02-14 Another Brain Procédé et système pour coder une forme de sujet à partir d'un ensemble de données matricielles
CN117636270B (zh) * 2024-01-23 2024-04-09 南京理工大学 基于单目摄像头的车辆抢道事件识别方法及设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000011610A1 (fr) * 1998-08-25 2000-03-02 Holding Bev S.A. Appareil et procede pour le traitement d'images
FR2821459B1 (fr) * 2001-02-23 2004-11-12 Holding Bev Sa Procede et dispositif de reperage d'un objet par sa forme, sa dimension et/ou son orientation

Also Published As

Publication number Publication date
FR2858447A1 (fr) 2005-02-04
WO2005010820A3 (fr) 2005-08-18
WO2005010820A2 (fr) 2005-02-03

Similar Documents

Publication Publication Date Title
Reiher et al. A sim2real deep learning approach for the transformation of images from multiple vehicle-mounted cameras to a semantically segmented image in bird’s eye view
WO2005010820A9 (fr) Procede et dispositif automatise de perception avec determination et caracterisation de bords et de frontieres d&#39;objets d&#39;un espace, construction de contours et applications
de La Garanderie et al. Eliminating the blind spot: Adapting 3d object detection and monocular depth estimation to 360 panoramic imagery
CN109615703B (zh) 增强现实的图像展示方法、装置及设备
CN103770706B (zh) 动态后视镜显示特征
EP2715662B1 (fr) Procede de localisation d&#39;une camera et de reconstruction 3d dans un environnement partiellement connu
CN110799991A (zh) 用于使用卷积图像变换执行同时定位和映射的方法和系统
US20120242795A1 (en) Digital 3d camera using periodic illumination
WO2011105044A1 (fr) Procédé de traitement d&#39;informations et appareil de traitement d&#39;informations
CN105006175B (zh) 主动识别交通参与者的动作的方法和系统及相应的机动车
EP2766872A1 (fr) Procede d&#39;etalonnage d&#39;un systeme de vision par ordinateur embarque sur un mobile
EP2432660B1 (fr) Procede et dispositif pour etendre une zone de visibilite
FR2775813A1 (fr) Procede et dispositif de remplacement de panneaux cibles dans une sequence video
US11361455B2 (en) Systems and methods for facilitating the identifying of correspondences between images experiencing motion blur
JP2023539865A (ja) リアルタイムなクロススペクトルオブジェクトの関連付け及び深度推定
JP4272966B2 (ja) 3dcg合成装置
Acuna et al. Towards optimal strategies for training self-driving perception models in simulation
Zhang et al. Data association between event streams and intensity frames under diverse baselines
Fursa et al. Worsening perception: Real-time degradation of autonomous vehicle perception performance for simulation of adverse weather conditions
Shao et al. Out-of-plane full-field vibration displacement measurement with monocular computer vision
Khan et al. Towards monocular neural facial depth estimation: Past, present, and future
CN116823908A (zh) 一种基于多尺度特征相关性增强的单目图像深度估计方法
Roth et al. intrapose: Monocular driver 6 dof head pose estimation leveraging camera intrinsics
US20220254008A1 (en) Multi-view interactive digital media representation capture
Kim et al. Real-time human segmentation from RGB-D video sequence based on adaptive geodesic distance computation

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

COP Corrected version of pamphlet

Free format text: PAGES 1-146, DESCRIPTION, REPLACED BY NEW PAGES 1-146; PAGES 147-177, CLAIMS, REPLACED BY NEW PAGES147-177; AFTER RECTIFICATION OF OBVIOUS ERRORS AUTHORIZED BY THE INTERNATIONAL SEARCH AUTHORITY

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase