WO2010130964A1 - System for counting people - Google Patents

System for counting people Download PDF

Info

Publication number
WO2010130964A1
WO2010130964A1 PCT/FR2010/050938 FR2010050938W WO2010130964A1 WO 2010130964 A1 WO2010130964 A1 WO 2010130964A1 FR 2010050938 W FR2010050938 W FR 2010050938W WO 2010130964 A1 WO2010130964 A1 WO 2010130964A1
Authority
WO
WIPO (PCT)
Prior art keywords
person
counting
map
similarity
pixels
Prior art date
Application number
PCT/FR2010/050938
Other languages
French (fr)
Inventor
Louahdi Khoudour
Tarek Yahiaoui
Original Assignee
INRETS - Institut National de Recherche sur les Transports et leur Sécurité
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 INRETS - Institut National de Recherche sur les Transports et leur Sécurité filed Critical INRETS - Institut National de Recherche sur les Transports et leur Sécurité
Priority to EP10731769A priority Critical patent/EP2430618A1/en
Publication of WO2010130964A1 publication Critical patent/WO2010130964A1/en

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit

Definitions

  • the present invention relates to a people counting system.
  • the people counting system is particularly intended to be used to count travelers in and out of a means of transport, for example a bus.
  • Passenger counting is a primary need for transport operators. Indeed, they seek accurate and reliable metering information to be able to plan and manage the human, financial and material resources in the most appropriate manner.
  • the sharing of revenue between operators serving the same areas and the evaluation of the fraud rate are two objectives that require very precise counting information. In the latter case, approximations and statistical estimates are not sufficient to achieve these objectives.
  • the present invention aims to provide a people counting system that avoids at least some of the aforementioned drawbacks, which is economical and reliable.
  • the subject of the invention is a person counting system comprising image acquisition means and data processing means, characterized in that the image acquisition means comprise a stereoscopic sensor, said data processing means being adapted to receive stereoscopic images from said stereoscopic sensor, to deduce the presence or absence thereof one or more person (s) in the field of view of said stereoscopic sensor, and, for each person whose presence has been detected, to calculate the trajectory of said person to determine whether said person should be counted or not.
  • the stereoscopic sensor has a resolution of less than or equal to 320 pixels ⁇ 240 pixels.
  • said stereoscopic sensor comprises two webcams, the acquisition frequency of each of said webcams being about thirty images per second.
  • said image acquisition means and said data processing means are connected to each other via a USB2 interface.
  • said image acquisition means and said data processing means are connected to each other by a series-type input-output bus.
  • said processing means execute a counting method comprising steps, for each pair of stereoscopic images, of: (a) calculating a disparity map, (b) using said disparity map to calculate a map of the heights representing the distances from the ground of each point of the scene, and
  • step (c) use said height map to highlight the presence of one or more person (s).
  • step (c) comprises sub-steps consisting of:
  • said counting method comprises the steps of testing similarity criteria chosen from the similarity of the gray levels of the centers of the calculation neighborhoods, the similarity of belonging to a contour, the similarity of the curves of the gray levels of the central lines of the calculation neighborhoods and the similarity of belonging to a region affected by the movement.
  • said processing means execute a counting method, said counting method being executed in real time.
  • said processing means execute a counting method, said counting method being executed in deferred time.
  • the invention also relates to the use of the counting system for counting passengers entering and exiting through a door of a bus, said stereoscopic sensor being placed vertically above the door of the bus.
  • FIG. 1 is a simplified schematic perspective view of the counting system according to one embodiment of the invention
  • Fig. 2 is a block diagram showing the steps of the person counting method
  • FIGS. 3a to 3b are curves representing variables used by the data processing means of the counting system:
  • FIG. 3a is a curve representing the dissimilarity criterion as a function of the offset before using a weighting coefficient ;
  • FIG. 3a is a curve representing the dissimilarity criterion as a function of the offset before using a weighting coefficient ;
  • FIG. 3b is a curve representing the variation of the value of the weighting coefficient as a function of the offset s; o The curve 3c is a curve representing the dissimilarity criterion as a function of the offset s after the integration of the weighting coefficient;
  • Figure 4a is a schematic view of a counting area used by the people counting method, showing examples of valid trajectories; and
  • FIG. 4b is a schematic view of the counting zone, showing examples of invalid trajectories.
  • the subject of the invention is a people counting system based on stereoscopic vision.
  • the counting system is used to count the passengers 2 entering and leaving a bus via a door 3.
  • the counting system 1 comprises image acquisition means, or sensor 4, and data processing means, for example a computer 5, which are for example connected to one another via a USB2 interface (Universal Serial Bus).
  • the sensor 4 and the computer 5 are connected to each other by a serial input-output bus (IEEE). This makes it possible to increase the flow rate and the transmission speed.
  • IEEE serial input-output bus
  • the basic idea is to isolate and separate people's heads in order to count them.
  • the most favorable way to do this is to install the image acquisition means 4 so as to have a top view of the scene observed.
  • the stereoscopic sensor 4 comprises a left webcam 6a, for producing left images, and a right webcam 6b, for making straight images.
  • the webcams 6a, 6b are synchronized, calibrated and mounted in a housing.
  • the sensor 4 is powered by power supply means 7 of the system 1.
  • the acquisition frequency of each webcam 6a, 6b is for example about thirty images per second.
  • the webcams 6a, 6b have a low resolution, less than or equal to 320 pixels x 240 pixels. Alternatively, the resolution may be 160 pixels x 120 pixels or 80 pixels x 60 pixels.
  • low-resolution sensor 4 makes it possible on the one hand to reduce the price of the sensor 4, and therefore of the system 1, and, on the other hand, to limit the quantity of data to be processed. It is thus possible to perform a real-time processing using simple processing means, for example a standard computer (PC) 5, without loss of accuracy of counting.
  • simple processing means for example a standard computer (PC) 5, without loss of accuracy of counting.
  • PC standard computer
  • the use of low resolution image acquisition means 4 involves using a suitable processing method, for example that described below.
  • the two webcams 6a, 6b are set up in the bus so that their image plans are parallel and they have the same baseline (epipolar configuration).
  • the sensor 4 is placed vertically above the door 3 of the bus to have a top view of the heads of the passengers entering and leaving through this door.
  • the processing means 5 exploit the stereoscopic images acquired using the sensor 4 and save the counting results.
  • the processing means 5 comprise four processing blocks: a detection block, a segmentation block, an attribute extraction block and a tracking and counting block.
  • the detection block calculates a disparity map for each pair of stereoscopic images and uses the disparity map to calculate a map of the heights representing the distance from the ground of each point of the scene.
  • the segmentation block uses the heights map to highlight the heads of the passengers, which correspond to the related areas of significant heights.
  • the result is a binary image on which are represented nuclei.
  • the goal is to obtain for each head in the observed scene a kernel on the binary image.
  • the attribute extraction block measures a number of parameters from the left real image, the height map and the resulting binary image of the segmentation block.
  • an attribute vector for each kernel that defines the coordinates of the kernel, its size, its shape, the average gray level of the region corresponds in the real image as well as the average height of the region which corresponds to it in the map of the heights.
  • the tracking and counting block uses the preceding attribute vectors to restore the trajectories of the nuclei, that is to say the trajectories of the heads of the passengers.
  • the counting of the passengers is made from the analysis of each of the trajectories of the nuclei in the successive images.
  • the method is executed in real time.
  • data from webcams 6a, 6b are temporarily stored in a buffer memory for the time necessary for processing, but are not recorded.
  • the method is executed in deferred time.
  • the data from the webcams 6a, 6b are previously stored in a memory, then are recovered in the memory to perform the processing.
  • the images from the webcam 6a are recorded in a data file "left images” and the images from the webcam 6b are recorded in a data file "right images”.
  • step 1 the computer 5 receives two stereoscopic images, respectively from the two webcams 6a, 6b.
  • the two images come directly from the two webcams 6a, 6b.
  • the two images come from the two webcams 6a, 6b via the data files.
  • Step 1 is for example periodically performed with a period of 1/30 second.
  • Steps 2 to 5 are similarity criterion test steps.
  • a similarity criterion is a discriminant resemblance criterion that can exist between the pixels to be matched or between their neighborhoods (for example: the gray level, the gradient sign, the membership of a specific geometric shape, or other).
  • the objectives of exploiting these similarity criteria are, on the one hand, the reduction of the calculation time (because only the pixels satisfying the criteria are taken into account) and, on the other hand, the improvement of the matching and the choice of the homologous pixels.
  • a dissonance criterion C SAD allowing to refine the choice of the homologous pixels. This is done by introducing a weighting coefficient whose value depends on the verification or otherwise of a similarity criterion. When the similarity criterion is verified, the weighting coefficient takes a value making it possible to reduce the dissimilarity criterion to favor the matching of the pixels satisfying this similarity criterion. The value that the weighting coefficient takes when the similarity criterion is not verified in no way affects the dissimilarity criterion. This is modeled by a multiplication of the dissimilarity criterion C SAD by a weighting coefficient.
  • G (x, y) the gray level of the pixel (x, y) of the left image that we want to match
  • D (x, y) the gray level of the candidate pixel (x, y) in the right image
  • s the offset between the two left and right pixels.
  • FIG. 3a is a curve representing the dissimilarity criterion as a function of the offset s before the use of a weighting coefficient
  • FIG. 3b is a curve representing the variation of the value of the weighting coefficient in function of the offset s
  • the curve 3c is a curve representing the dissimilarity criterion as a function of the offset s after the integration of the weighting coefficient.
  • the disparity d corresponds to the offset for which the dissimilarity criterion is minimal.
  • the fact of being satisfied with the comparison of the neighborhoods of the pixels to be matched leads to a mapping error.
  • the multiplication by a weighting coefficient makes it possible to favor one of the minima of the dissimilarity curve with respect to the others.
  • the new value of the disparity corresponds to a point for which the dissimilarity is minimal and the similarity criterion is checked.
  • the similarity information provided by each of these similarity criteria is discriminant, is not redundant compared to the others and does not require a crippling calculation time.
  • the similarity criteria used are the similarity of the gray levels of the centers of the calculation neighborhoods, the similarity of the membership of a contour, the similarity of the greens of the curves of the gray levels of the central lines of the calculation neighborhoods, and the similarity of the membership. to a region affected by the movement.
  • ⁇ , ⁇ , ⁇ and ⁇ coefficients have been associated respectively with these similarity criteria. The values of these coefficients vary depending on whether the criteria are verified or not.
  • Variations in the measurement of the dissimilarity criterion are possible. For example, to improve the accuracy of pixel matching, the different similarity criteria can be combined. In this case, it is considered that the proposed similarity criteria are of a different nature and therefore more or less independent. This means that the effect of one criterion is not redundant or opposite to that of others. It is therefore possible to combine the different criteria to constitute a global criterion.
  • An additive model was chosen for the calculation of the dissimilarity, which corresponds to the weighting of the dissimilarity criterion by a coefficient encompassing the four criteria. The overall formulation becomes:
  • step 6 the method tests a first similarity criterion, relating to the gray levels of the pixels to be matched.
  • the coefficient ⁇ is associated with this criterion, as previously described.
  • step 3 the method tests a second similarity criterion, relating to the membership of contours.
  • the coefficient ⁇ is associated with this criterion, as described previously.
  • step 4 the method tests a third similarity criterion, relating to the gray levels of the central lines.
  • the coefficient ⁇ is associated with this criterion, as previously described.
  • step 5 the method tests a fourth similarity criterion, relating to the membership of a region affected by the movement.
  • step 6 the method determines a dense disparity map from the pixel mapping of the right and left images, i.e., according to the similarity criteria tested in steps 2 to 5. Read More the disparity value at a point is high and the corresponding point is close to the sensor.
  • a fast mapping technique is preferably used.
  • the sum of absolute differences (SAD) which is a technique based on the measure of dissimilarity between the neighborhoods of the pixels to be matched, represents an approach that allows a compromise between the robustness of the calculation of disparities and the processing time.
  • SAD sum of absolute differences
  • the sensor In the example of counting passengers in and out of the bus, the sensor is close to the objects observed.
  • the main difficulty in this case, is the high number of occultations in the stereoscopic images, which corresponds to regions in the scene that appear on one image and not on the other.
  • the disparity in this specific case, is the difference between the abscissae of the two projections of one point of the scene on the two images.
  • the dense stereovision provides maps of dense disparities corresponding to the representation of each point of the scene (pixel) by the corresponding disparity value. The goal is to determine the distance information from the sensor at each point in the scene. This is inversely proportional to the disparity value.
  • step 7 the method transforms the disparity information into pitch information using a mathematical transformation based on geometric modeling of the stereoscope.
  • the result at the end of this step is a map of heights.
  • step 8 the method segments the map of heights to highlight the nuclei, which represent the heads of people who pass under the sensor, and follow them. These cores have characteristics (average gray level, width, height, among others) that can be tracked in the counting area. Thus vectors of these characteristics are used for monitoring.
  • the calculated disparity maps are transformed into height maps, by a simple triangulation, then, to highlight the heads of the passengers, the process defines a number of height intervals.
  • the method For each interval, the method has a binary image on which only the regions having a height between the values limiting the interval appear.
  • the application of aperture-type morphological filters as well as the removal of neighborhoods of the related entities identified in the upper intervals on each of these binary images makes it possible to identify the heads of persons having sizes included in these intervals.
  • the segmentation step of the heights map consists in identifying, from this one, the upper part of the body of each person moving in the scene.
  • the goal is to highlight the heads of these people.
  • the principle of the proposed approach is based on the definition of a certain number of threshold levels in the height map. For a certain number of predefined height intervals, the objective is to identify and recognize zones corresponding to heads in the thresholded images according to these intervals. Step 8 will now be described in more detail.
  • the number of intervals is for example set at four, the heights of the intervals corresponding to heights of people. This amounts to saying that five thresholds Si are predefined, i being an integer index between 1 and 5, to define the different intervals.
  • the S-threshold corresponding to the highest height is S5 and the one corresponding to the lowest height is S l, which corresponds to the average height of a four-year-old child, since children of this age represent a category of users who do not pay for transportation.
  • Step 8 includes the substeps described below.
  • a first sub-step is to binarize the image with the thresholds Si corresponding to the interval.
  • An image is obtained in which a pixel of value 1 indicates that the point of the corresponding scene has a height between Si and Si-I.
  • the first sub-step is performed for each interval, which allows to obtain four binary images.
  • a second substep is executed for all intervals except the upper interval.
  • the method eliminates the elements of the image corresponding to persons already identified during the processing of the previous intervals. These elements are identified because they are related or located in neighborhoods of markers already defined during a transition to the fourth substep.
  • a third substep is to eliminate small areas that are considered as detection errors. To do this, the method uses a morphological opening operation, which eliminates the connected components of the image whose surface is small.
  • a fourth substep consists in defining markers on the related elements of the image that have not been eliminated during a transition to the second substep. These markers indicate the heads of people whose height is between Si and Si-I.
  • a fifth substep consists in uniting the resulting binary images to highlight, on the initial image, all the identified nuclei.
  • step 9 the method calculates for each detected core a number of parameters. These parameters describe the position and shape of the kernel and correspond to a description of the gray level of the zone corresponding to the kernel on the real image and the height with respect to the ground of the zone corresponding to the kernel on the map of heights. This set of parameters is called an attribute vector.
  • step 9 the method computes for each kernel an attribute vector which makes it possible to identify each kernel. Step 9 will now be described in greater detail. This step makes it possible, in particular, to identify people of small sizes, for example children.
  • the method associates with each detected core a vector called an attribute vector.
  • This vector represents a set of properties that distinguish each nucleus from the other nuclei present in the same scene, that is to say in the same image.
  • kernels are people's heads
  • attributes are properties that vary from head to head.
  • Attributes enabling the processing of nuclei are, for example: - the average value of the gray levels of the points of the nucleus, calculated from the real images, the average height of the points corresponding to the pixels constituting the nucleus, calculated from the height map, the number of pixels forming the nucleus, calculated from the segmented height map (which corresponds to the size of the nucleus), and the width and length of the nucleus, as well as the coordinates of the center of gravity of the nucleus, calculated at from the segmented heights map.
  • the attribute vectors can comprise seven components, namely: the size of the kernel in pixels, the width of the kernel in pixels, the length of the kernel in pixels, the average height of the kernel in centimeters, - the level average gray of the nucleus, and the horizontal coordinates of the nucleus.
  • step 10 the method exploits the attribute vectors to reconstruct the trajectories of all the detected heads.
  • the procedure consists in exploiting the measurements corresponding to the attribute vectors at time t and making a prediction on the variation of the latter and comparing the results of the prediction with the measurements corresponding to the vectors of attributes at time t + 1.
  • the monitoring procedure then consists in measuring in a combinatorial manner a probability of correspondence, which makes it possible to associate the nuclei of the instant t with those of the instant t + 1 and thus reconstruct their trajectories. All tracking data is saved and is used at the end of the sequence by the counting procedure.
  • step 10 the method tests the end of the sequence. If the sequence is not finished, the process returns to step 1 to acquire a new pair of stereoscopic images and perform a new processing loop, otherwise the process proceeds to step 11.
  • step 11 the method analyzes the trajectories, i.e., the method tests the validity of the trajectory of each kernel representing a person whose presence has been detected. Step 11 is repeated for each trajectory. If the process considers that the trajectory is valid, it go to step 12, otherwise it loops back to step 11 to analyze a new trajectory.
  • the method associates with each segmented object a vector called an attribute vector.
  • This vector is a set of properties that distinguish each object from others in the same scene.
  • the objects we are interested in are the kernels, that is to say the heads of people, and the attributes are properties that vary from one kernel to another, for example kernel size, width of kernel, kernel length, average height in centimeters of the region corresponding to the kernel on the map of heights, mean gray level of the region corresponding to the kernel on the actual image, and horizontal coordinates (x, y) of the center of gravity of the core.
  • Other attributes can be introduced in the follow-up phase.
  • Tracking can be done using a Kalman filter. This consists in making a prediction on the positions of the nuclei and in comparing the predicted positions with the positions of the current measurement.
  • Figure 4a shows a rectangular counting area.
  • the counting zone 20 corresponds to an area under the sensor 4.
  • the counting zone 20 has an upper line 20a and a lower line 20b.
  • a first valid trajectory corresponds to an entry with an appearance in the vicinity of the upper line 20a and a disappearance in the counting zone 20, which means that the person enters and remains in the counting zone 20 Such a person is taken into account.
  • a second valid trajectory corresponds to an entry with an appearance in the vicinity of the upper line 20a and a disappearance in the vicinity of the lower line 20b, which means that the person enters and passes through the counting zone 20 Such a person is also taken into account.
  • a third valid trajectory corresponds to an exit with an appearance in the vicinity of the lower line 20b and a disappearance in the vicinity of the upper line 20a, which means that the person passes through the counting zone 20 when his exit. Such a person is also taken into account.
  • a fourth type of valid trajectory, symbolized by the arrows 24a and 24b, corresponds to an exit with an appearance in the counting zone 20 and a disappearance in the vicinity of the upper line 20a, which means that the person is in the zone counting 20 before its release. Such a person is also taken into account.
  • FIG. 4b which also represents the counting zone 20, shows examples of invalid trajectories.
  • a first invalid trajectory corresponds to an appearance in the vicinity of the upper line 20a and a disappearance in the vicinity of the same line 20a, which means that the person is entered and immediately returned.
  • a second invalid trajectory, symbolized by the arrow 26, corresponds to an appearance in the vicinity of the lower line 20b and a disappearance in the vicinity of the same line 20b, which corresponds to an aborted exit intention.
  • a third invalid trajectory, symbolized by the arrow 27, corresponds to an appearance and a disappearance in the counting zone 20, which corresponds to a wandering under the sensor 4 without precise intentions.
  • a fourth invalid trajectory corresponds to an appearance in the vicinity of the lower line 20b and a disappearance in the counting zone 20.
  • step 11 the method considers that the path tested should not result in the counting of a person, the process ends for the path considered.
  • step 12 the method considers that the trajectory tested at Petapell must result in the counting of a person. In this case, the method increments the input counter or the output counter by one unit, depending on the direction of the path.
  • step 2 the method performs a test (step 13) to check if all the trajectories have been analyzed. If the test is not verified the process returns to step 11, otherwise the process stops.
  • the counting system has been evaluated on real data and the results obtained have a maximum error rate of the order of 1%.
  • the system makes it possible to count passengers by size class.
  • the segmentation of the height map being performed by height class it is possible to have the count according to this class of heights.
  • the system also makes it possible to take into account cases of temporary descents.
  • the data corresponding to each descendant person are kept in buffer memory for a certain time, that is to say that the attributes of the kernel corresponding to the head of this person are memorized temporarily, to check whether the descent of the person is not temporary.
  • This information is very important for bus operators who want to know the exact number of descents and climbs per stop.
  • the exploitation of the stereoscopic vision and the highlighting of the heads of the passengers by using a process that does not depend on the color information (gray levels) make it possible to lower the resolution of the images to be processed without significantly degrading the accuracy count. This advantage has been demonstrated by different evaluations of the counting system.
  • the lack of information due to the lowering of resolution is compensated by the information of height and the segmentation of the scene according to geometrical parameters.
  • the height relative to the ground is insensitive to the variation of the resolution.
  • a person who measures lm80 will correspond to a kernel with a height of lm80 regardless of the resolution of the images.
  • the counting method makes it possible to obtain a good counting accuracy despite the constraints of variability of the illumination, of the drop in resolution, of juxtaposition and of the deformable nature of the objects observed.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

System (1) for counting people, comprising image acquisition means (4) and data processing means (5), characterized in that the image acquisition means (4) include a stereoscopic sensor, said data processing means being able to receive stereoscopic images from said stereoscopic sensor, to infer whether or not one or more persons are present in the field of vision of said stereoscopic sensor (5), and, for each person whose presence has been detected, to calculate the movement path of said person in order to determine whether said person should be counted or not.

Description

SYSTEME DE COMPTAGE DE PERSONNES SYSTEM FOR COUNTING PEOPLE
La présente invention a pour objet un système de comptage de personnes. Le système de comptage de personnes est en particulier destiné à être utilisé pour compter des voyageurs entrant et sortant d'un moyen de transport, par exemple un autobus. Le comptage de voyageurs est un besoin primordial pour les opérateurs de transport. Effectivement, ces derniers cherchent une information de comptage fiable et précise pour pouvoir planifier et gérer de la manière la plus adéquate possible les ressources humaines, financières et matérielles. En particulier, le partage de recettes entre les opérateurs desservant les mêmes zones et l'évaluation du taux de fraude sont deux objectifs qui nécessitent une information de comptage très précise. Dans ce dernier cas, les approximations et les estimations statistiques ne suffisent pas pour réaliser ces objectifs.The present invention relates to a people counting system. The people counting system is particularly intended to be used to count travelers in and out of a means of transport, for example a bus. Passenger counting is a primary need for transport operators. Indeed, they seek accurate and reliable metering information to be able to plan and manage the human, financial and material resources in the most appropriate manner. In particular, the sharing of revenue between operators serving the same areas and the evaluation of the fraud rate are two objectives that require very precise counting information. In the latter case, approximations and statistical estimates are not sufficient to achieve these objectives.
De nombreux systèmes de comptage de personnes dans les transports en commun existent et sont basés sur des technologies diverses, par exemple les capteurs infrarouges, les ultrasons, les tapis- contact ou les rayons lumineux. Cependant, les systèmes existants ont des taux d'erreur très élevés et ne peuvent pas gérer des situations complexes comme la sortie d'une foule de personnes. En outre, les systèmes existants sont généralement coûteux et nécessitent un traitement des données complexe. Le système de comptage peut également être utilisé dans un magasin, un musée, un cinéma, un centre sportif, ou de manière générale dans tout lieu public ou privé.Many people counting systems in public transport exist and are based on various technologies, such as infrared sensors, ultrasound, contact mats or light rays. However, existing systems have very high error rates and can not handle complex situations like the output of a crowd of people. In addition, existing systems are generally expensive and require complex data processing. The counting system can also be used in a shop, a museum, a cinema, a sports center, or generally in any public or private place.
La présente invention a pour but de proposer un système de comptage de personnes qui évite au moins certains des inconvénients précités, qui soit économique et fiable.The present invention aims to provide a people counting system that avoids at least some of the aforementioned drawbacks, which is economical and reliable.
A cet effet, l'invention a pour objet un système de comptage de personnes comportant des moyens d'acquisition d'images et des moyens de traitement de données, caractérisé en ce que les moyens d'acquisition d'images comprennent un capteur stéréoscopique, lesdits moyens de traitement de données étant aptes à recevoir des images stéréoscopiques provenant dudit capteur stéréoscopique, à en déduire la présence ou non d'une ou de plusieurs personne(s) dans le champ de vision dudit capteur stéréoscopique, et, pour chaque personne dont la présence a été détectée, à calculer la trajectoire de ladite personne pour déterminer si ladite personne doit être comptabilisée ou non. De préférence, le capteur stéréoscopique a une résolution inférieure ou égale à 320 pixels x 240 pixels.For this purpose, the subject of the invention is a person counting system comprising image acquisition means and data processing means, characterized in that the image acquisition means comprise a stereoscopic sensor, said data processing means being adapted to receive stereoscopic images from said stereoscopic sensor, to deduce the presence or absence thereof one or more person (s) in the field of view of said stereoscopic sensor, and, for each person whose presence has been detected, to calculate the trajectory of said person to determine whether said person should be counted or not. Preferably, the stereoscopic sensor has a resolution of less than or equal to 320 pixels × 240 pixels.
Avantageusement, ledit capteur stéréoscopique comprend deux webcams, la fréquence d'acquisition de chacune desdites webcams étant d'environ trente images par seconde. Selon un mode de réalisation de l'invention, lesdits moyens d'acquisition d'images et lesdits moyens de traitement de données sont connectés entre eux par le biais d'une interface USB2.Advantageously, said stereoscopic sensor comprises two webcams, the acquisition frequency of each of said webcams being about thirty images per second. According to one embodiment of the invention, said image acquisition means and said data processing means are connected to each other via a USB2 interface.
Selon un autre mode de réalisation de l'invention, lesdits moyens d'acquisition d'images et lesdits moyens de traitement de données sont connectés entre eux par un bus d'entrée-sortie de type série.According to another embodiment of the invention, said image acquisition means and said data processing means are connected to each other by a series-type input-output bus.
De préférence, lesdits moyens de traitement exécutent un procédé de comptage comprenant des étapes consistant, pour chaque paire d'images stéréoscopiques, à : (a) calculer une carte de disparités, (b) exploiter ladite carte de disparités pour calculer une carte des hauteurs représentant les distances par rapport au sol de chaque point de la scène, etPreferably, said processing means execute a counting method comprising steps, for each pair of stereoscopic images, of: (a) calculating a disparity map, (b) using said disparity map to calculate a map of the heights representing the distances from the ground of each point of the scene, and
(c) utiliser ladite carte des hauteurs pour mettre en évidence la présence d'une ou plusieurs personne(s). Avantageusement, l'étape (c) comprend des sous-étapes consistant à :(c) use said height map to highlight the presence of one or more person (s). Advantageously, step (c) comprises sub-steps consisting of:
(d) segmenter ladite carte des hauteurs pour mettre en évidence les têtes des personnes, le résultat étant une image binaire appelée carte des noyaux, un noyau correspondant à un ensemble de pixels connexes représentant vraisemblablement la tête d'une personne,(d) segmenting said height map to highlight the heads of the people, the result being a binary image called a kernel map, a kernel corresponding to a set of related pixels presumably representing a person's head,
(e) utiliser ladite carte des noyaux pour obtenir un vecteur d'attributs caractérisant chaque personne détectée,(e) using said kernel map to obtain an attribute vector characterizing each person detected,
(f) utiliser ledit vecteur d'attribut pour calculer la trajectoire de ladite personne, et (g) analyser ladite trajectoire dans une série d'images successives pour déterminer si ladite personne doit être comptabilisée ou non. Selon un mode de réalisation de l'invention, ledit procédé de comptage comprend des étapes consistant à tester des critères de similarité choisis parmi la similarité des niveaux de gris des centres des voisinages de calcul, la similarité d'appartenance à un contour, la similarité des allures des courbes des niveaux de gris des lignes centrales des voisinages de calcul et la similarité d'appartenance à une région affectée par le mouvement.(f) using said attribute vector to calculate the trajectory of said person, and (g) analyzing said trajectory in a series of successive images to determine whether said person is to be counted or not. According to one embodiment of the invention, said counting method comprises the steps of testing similarity criteria chosen from the similarity of the gray levels of the centers of the calculation neighborhoods, the similarity of belonging to a contour, the similarity of the curves of the gray levels of the central lines of the calculation neighborhoods and the similarity of belonging to a region affected by the movement.
Selon un mode de réalisation de l'invention, lesdits moyens de traitement exécutent un procédé de comptage, ledit procédé de comptage étant exécuté en temps réel.According to one embodiment of the invention, said processing means execute a counting method, said counting method being executed in real time.
Selon un autre mode de réalisation de l'invention, lesdits moyens de traitement exécutent un procédé de comptage, ledit procédé de comptage étant exécuté en temps différé.According to another embodiment of the invention, said processing means execute a counting method, said counting method being executed in deferred time.
L'invention a également pour objet l'utilisation du système de comptage pour compter les passagers entrant et sortant par une porte d'un autobus, ledit capteur stéréoscopique étant placé verticalement au dessus de la porte de l'autobus.The invention also relates to the use of the counting system for counting passengers entering and exiting through a door of a bus, said stereoscopic sensor being placed vertically above the door of the bus.
L'invention sera mieux comprise, et d'autres buts, détails, caractéristiques et avantages de celle-ci apparaîtront plus clairement au cours de la description explicative détaillée qui va suivre, de plusieurs modes de réalisation de l'invention donnés à titre d'exemples purement illustratifs et non limitatifs, en référence aux dessins schématiques annexés.The invention will be better understood, and other objects, details, features and advantages thereof will become more clearly apparent in the following detailed explanatory description of several embodiments of the invention given as examples. purely illustrative and non-limiting examples, with reference to the attached schematic drawings.
Sur ces dessins : - la figure 1 est une vue schématique simplifiée en perspective du système de comptage selon un mode de réalisation de l'invention ; la figure 2 est un schéma fonctionnel représentant les étapes du procédé de comptage de personnes ; - les figures 3a à 3b sont des courbes représentant des variables utilisées par les moyens de traitement des données du système de comptage : o la figure 3 a est une courbe représentant le critère de dissemblance en fonction du décalage s avant l'utilisation d'un coefficient de pondération ; o la figure 3b est une courbe représentant la variation de la valeur du coefficient de pondération en fonction du décalage s ; o La courbe 3c est une courbe représentant le critère de dissemblance en fonction du décalage s après l'intégration du coefficient de pondération ; la figure 4a est une vue schématique d'une zone de comptage utilisée par le procédé de comptage de personnes, montrant des exemples de trajectoires valides ; et - la figure 4b est une vue schématique de la zone de comptage, montrant des exemples de trajectoires non valides.In these drawings: FIG. 1 is a simplified schematic perspective view of the counting system according to one embodiment of the invention; Fig. 2 is a block diagram showing the steps of the person counting method; FIGS. 3a to 3b are curves representing variables used by the data processing means of the counting system: FIG. 3a is a curve representing the dissimilarity criterion as a function of the offset before using a weighting coefficient ; FIG. 3b is a curve representing the variation of the value of the weighting coefficient as a function of the offset s; o The curve 3c is a curve representing the dissimilarity criterion as a function of the offset s after the integration of the weighting coefficient; Figure 4a is a schematic view of a counting area used by the people counting method, showing examples of valid trajectories; and FIG. 4b is a schematic view of the counting zone, showing examples of invalid trajectories.
L'invention a pour objet un système de comptage de personnes basé sur la vision stéréoscopique. Dans l'exemple représenté sur la figure 1, le système de comptage est utilisé pour compter les passagers 2 entrant et sortant d'un autobus via une porte 3.The subject of the invention is a people counting system based on stereoscopic vision. In the example shown in FIG. 1, the counting system is used to count the passengers 2 entering and leaving a bus via a door 3.
Un objectif est de fournir un système de comptage 1 précis et adapté à l'environnement dans lequel il est utilisé, dans l'exemple l'autobus. Le système de comptage 1 comporte des moyens d'acquisition d'images, ou capteur 4, et des moyens de traitement de données, par exemple un ordinateur 5, qui sont par exemple connectés entre eux par le biais d'une interface USB2 (Universal Sériai Bus). En variante, le capteur 4 et l'ordinateur 5 sont connectés entre eux par un bus d'entrée- sortie de type série (IEEE). Cela permet d'augmenter le débit et la vitesse de transmission.One objective is to provide a metering system 1 accurate and adapted to the environment in which it is used, in the example the bus. The counting system 1 comprises image acquisition means, or sensor 4, and data processing means, for example a computer 5, which are for example connected to one another via a USB2 interface (Universal Serial Bus). Alternatively, the sensor 4 and the computer 5 are connected to each other by a serial input-output bus (IEEE). This makes it possible to increase the flow rate and the transmission speed.
L'idée de base est d'isoler et de séparer les têtes des personnes pour pouvoir les compter. La façon la plus favorable pour le faire est d'installer les moyens d'acquisition d'images 4 de manière à avoir une vue de dessus de la scène observée.The basic idea is to isolate and separate people's heads in order to count them. The most favorable way to do this is to install the image acquisition means 4 so as to have a top view of the scene observed.
Le capteur stéréoscopique 4 comprend une webcam gauche 6a, pour réaliser des images gauches, et une webcam droite 6b, pour réaliser des images droites. Les webcams 6a, 6b sont synchronisées, calibrées et montées dans un boitier. Le capteur 4 est alimenté en énergie par des moyens d'alimentation 7 du système 1. La fréquence d'acquisition de chaque webcam 6a, 6b est par exemple d'environ trente images par seconde. Les webcams 6a, 6b ont une basse résolution, inférieure ou égale à 320 pixels x 240 pixels. En variante, la résolution peut être de 160 pixels x 120 pixels ou de 80 pixels x 60 pixels.The stereoscopic sensor 4 comprises a left webcam 6a, for producing left images, and a right webcam 6b, for making straight images. The webcams 6a, 6b are synchronized, calibrated and mounted in a housing. The sensor 4 is powered by power supply means 7 of the system 1. The acquisition frequency of each webcam 6a, 6b is for example about thirty images per second. The webcams 6a, 6b have a low resolution, less than or equal to 320 pixels x 240 pixels. Alternatively, the resolution may be 160 pixels x 120 pixels or 80 pixels x 60 pixels.
L'utilisation d'un capteur 4 basse résolution permet, d'une part, de réduire le prix du capteur 4, donc du système 1 et, d'autre part, de limiter la quantité de données à traiter. Il est ainsi possible de réaliser un traitement en temps réel en utilisant des moyens de traitement simples, par exemple un ordinateur (PC) standard 5, sans perte de précision de comptage. On notera que l'utilisation de moyens d'acquisition d'images 4 basse résolution implique d'utiliser un procédé de traitement adapté, par exemple celui décrit ci-dessous.The use of a low-resolution sensor 4 makes it possible on the one hand to reduce the price of the sensor 4, and therefore of the system 1, and, on the other hand, to limit the quantity of data to be processed. It is thus possible to perform a real-time processing using simple processing means, for example a standard computer (PC) 5, without loss of accuracy of counting. Note that the use of low resolution image acquisition means 4 involves using a suitable processing method, for example that described below.
Les deux webcams 6a, 6b sont mises en place dans l'autobus de manière que leurs plans images soient parallèles et qu'ils aient la même ligne de base (configuration épipolaire). En d'autres termes, dans l'exemple, le capteur 4 est placé verticalement au dessus de la porte 3 de l'autobus pour avoir une vue de dessus des têtes des passagers entrant et sortant par cette porte.The two webcams 6a, 6b are set up in the bus so that their image plans are parallel and they have the same baseline (epipolar configuration). In other words, in the example, the sensor 4 is placed vertically above the door 3 of the bus to have a top view of the heads of the passengers entering and leaving through this door.
Les moyens de traitement 5 exploitent les images stéréoscopiques acquises à l'aide du capteur 4 et sauvegardent les résultats de comptage. Les moyens de traitement 5 comportent quatre blocs de traitements : un bloc de détection, un bloc de segmentation, un bloc d'extraction d'attributs et un bloc de suivi et de comptage.The processing means 5 exploit the stereoscopic images acquired using the sensor 4 and save the counting results. The processing means 5 comprise four processing blocks: a detection block, a segmentation block, an attribute extraction block and a tracking and counting block.
Le bloc de détection calcule une carte de disparités pour chaque paire d'images stéréoscopiques et exploite la carte de disparité pour calculer une carte des hauteurs représentant la distance par rapport au sol de chaque point de la scène.The detection block calculates a disparity map for each pair of stereoscopic images and uses the disparity map to calculate a map of the heights representing the distance from the ground of each point of the scene.
Le bloc de segmentation utilise la carte des hauteurs pour mettre en évidence les têtes des passagers, qui correspondent aux zones connexes de hauteurs importantes. Le résultat est une image binaire sur laquelle sont représentés des noyaux. Le but est d'obtenir pour chaque tête dans la scène observée un noyau sur l'image binaire.The segmentation block uses the heights map to highlight the heads of the passengers, which correspond to the related areas of significant heights. The result is a binary image on which are represented nuclei. The goal is to obtain for each head in the observed scene a kernel on the binary image.
Le bloc d'extraction des attributs mesure un certain nombre de paramètres à partir de l'image réelle gauche, la carte des hauteurs et l'image binaire résultant du bloc de segmentation. De ce fait, on obtient un vecteur d'attributs pour chaque noyau qui définit les coordonnées de celui-ci, sa taille, sa forme, le niveau de gris moyen de la région qui lui correspond dans l'image réelle ainsi que la hauteur moyenne de la région qui lui correspond dans la carte des hauteurs.The attribute extraction block measures a number of parameters from the left real image, the height map and the resulting binary image of the segmentation block. As a result, we obtain an attribute vector for each kernel that defines the coordinates of the kernel, its size, its shape, the average gray level of the region corresponds in the real image as well as the average height of the region which corresponds to it in the map of the heights.
Le bloc de suivi et de comptage utilise les vecteurs d'attributs précédents pour restituer les trajectoires des noyaux, c'est-à-dire les trajectoires des têtes des passagers. Le comptage des passagers s'effectue à partir de l'analyse de chacune des trajectoires des noyaux dans les images successives.The tracking and counting block uses the preceding attribute vectors to restore the trajectories of the nuclei, that is to say the trajectories of the heads of the passengers. The counting of the passengers is made from the analysis of each of the trajectories of the nuclei in the successive images.
En se référant à la figure 2, on va maintenant décrire plus en détail le procédé de comptage de personnes. Le procédé est exécuté dans l'ordinateur 5.Referring to FIG. 2, the method of counting people will now be described in more detail. The process is executed in the computer 5.
Selon un premier mode de réalisation de l'invention, le procédé est exécuté en temps réel. Dans ce mode de réalisation, les données provenant des webcams 6a, 6b sont stockées temporairement dans une mémoire tampon le temps nécessaire à leur traitement, mais ne sont pas enregistrées.According to a first embodiment of the invention, the method is executed in real time. In this embodiment, data from webcams 6a, 6b are temporarily stored in a buffer memory for the time necessary for processing, but are not recorded.
Selon un deuxième mode de réalisation de l'invention, le procédé est exécuté en temps différé. Dans ce mode de réalisation, les données provenant des webcams 6a, 6b sont au préalable enregistrées dans une mémoire, puis sont récupérées dans la mémoire pour réaliser le traitement. Par exemple les images provenant de la webcam 6a sont enregistrées dans un fichier de données « images gauches » et les images provenant de la webcam 6b sont enregistrées dans un fichier de données « images droites ».According to a second embodiment of the invention, the method is executed in deferred time. In this embodiment, the data from the webcams 6a, 6b are previously stored in a memory, then are recovered in the memory to perform the processing. For example, the images from the webcam 6a are recorded in a data file "left images" and the images from the webcam 6b are recorded in a data file "right images".
A l'étape 1, l'ordinateur 5 reçoit deux images stéréoscopiques, provenant respectivement des deux webcams 6a, 6b. Dans le cas du premier mode de réalisation, les deux images proviennent directement des deux webcams 6a, 6b. Dans le cas du deuxième mode de réalisation, les deux images proviennent des deux webcams 6a, 6b via les fichiers de données. L'étape 1 est par exemple réalisée périodiquement avec une période de 1/30 seconde.In step 1, the computer 5 receives two stereoscopic images, respectively from the two webcams 6a, 6b. In the case of the first embodiment, the two images come directly from the two webcams 6a, 6b. In the case of the second embodiment, the two images come from the two webcams 6a, 6b via the data files. Step 1 is for example periodically performed with a period of 1/30 second.
Les étapes 2 à 5 sont des étapes de test de critères de similarité.Steps 2 to 5 are similarity criterion test steps.
On appelle critère de similarité un critère de ressemblance discriminant pouvant exister entre les pixels à apparier ou entre leurs voisinages (par exemple : le niveau de gris, le signe du gradient, l'appartenance à une forme géométrique bien précise, ou autre). Les objectifs de l'exploitation de ces critères de similarité sont, d'une part, la réduction du temps de calcul (car on ne tient compte que des pixels vérifiant les critères) et, d'autre part, l'amélioration de la mise en correspondance et du choix des pixels homologues.A similarity criterion is a discriminant resemblance criterion that can exist between the pixels to be matched or between their neighborhoods (for example: the gray level, the gradient sign, the membership of a specific geometric shape, or other). The objectives of exploiting these similarity criteria are, on the one hand, the reduction of the calculation time (because only the pixels satisfying the criteria are taken into account) and, on the other hand, the improvement of the matching and the choice of the homologous pixels.
Ici, on veut en particulier améliorer la qualité de la mise en correspondance. Pour cela, on pondère un critère de dissemblance CSAD permettant d' affiner le choix des pixels homologues. Ceci est effectué par l'introduction d'un coefficient de pondération dont la valeur dépend de la vérification ou non d'un critère de similarité. Quand le critère de similarité est vérifié le coefficient de pondération prend une valeur permettant de réduire le critère de dissemblance pour favoriser la mise en correspondance des pixels vérifiant ce critère de similarité. La valeur que prend le coefficient de pondération quand le critère de similarité n'est pas vérifié n'affecte aucunement le critère de dissemblance. Ceci est modélisé par une multiplication du critère de dissemblance CSAD par un coefficient de pondération.Here, we particularly want to improve the quality of matching. For that, we weight a dissonance criterion C SAD allowing to refine the choice of the homologous pixels. This is done by introducing a weighting coefficient whose value depends on the verification or otherwise of a similarity criterion. When the similarity criterion is verified, the weighting coefficient takes a value making it possible to reduce the dissimilarity criterion to favor the matching of the pixels satisfying this similarity criterion. The value that the weighting coefficient takes when the similarity criterion is not verified in no way affects the dissimilarity criterion. This is modeled by a multiplication of the dissimilarity criterion C SAD by a weighting coefficient.
Le critère de dissemblance initial s'écrit ainsi :The criterion of initial dissimilarity is written as follows:
CSAD (x, y, z) = ∑ \G(x + i + s, y + /) - D(x + i, y + j)\ yC SAD (x, y, z) = Σ \ G (x + i + s, y + /) - D (x + i, y + j) \ y
Avec : G(x,y): le niveau de gris du pixel (x,y) de l'image gauche qu'on cherche à apparier,With: G (x, y): the gray level of the pixel (x, y) of the left image that we want to match,
D(x,y) : le niveau de gris du pixel candidat (x,y) dans l'image droite, et s : le décalage entre les deux pixels gauche et droite. La mesure de dissemblance après l'introduction du critère de similarité s'écrit alors comme suit :D (x, y): the gray level of the candidate pixel (x, y) in the right image, and s: the offset between the two left and right pixels. The measure of dissimilarity after the introduction of the similarity criterion is then written as follows:
CSim (x, y, z) = coef £ \G (x + i + s, y + j) - D (x + i, y + j)\ y coef désignant le coefficient de pondération, avec :C Sim (x, y, z) = coef £ \ G (x + i + s, y + j) - D (x + i, y + j) \ y coef denoting the weighting coefficient, with:
[coef = 1 si le critère de similarité n'est pas vérifié, et sinon coef = coefO avec 0 < coefO < 1 A titre d'exemple, la figure 3a est une courbe représentant le critère de dissemblance en fonction du décalage s avant l'utilisation d'un coefficient de pondération, la figure 3b est une courbe représentant la variation de la valeur du coefficient de pondération en fonction du décalage s, et la courbe 3c est une courbe représentant le critère de dissemblance en fonction du décalage s après l'intégration du coefficient de pondération. La disparité d correspond au décalage pour lequel le critère de dissemblance est minimal.[coef = 1 if the similarity criterion is not checked, and if not coef = coefO with 0 <coefO <1 By way of example, FIG. 3a is a curve representing the dissimilarity criterion as a function of the offset s before the use of a weighting coefficient, FIG. 3b is a curve representing the variation of the value of the weighting coefficient in function of the offset s, and the curve 3c is a curve representing the dissimilarity criterion as a function of the offset s after the integration of the weighting coefficient. The disparity d corresponds to the offset for which the dissimilarity criterion is minimal.
Dans l'exemple présenté, le fait de se contenter de la comparaison des voisinages des pixels à apparier conduit à une erreur de mise en correspondance. De ce fait, la multiplication par un coefficient de pondération permet de favoriser l'un des minimas de la courbe de dissemblance par rapport aux autres. Ainsi, la nouvelle valeur de la disparité correspond à un point pour lequel la dissemblance est minimale et le critère de similarité est vérifié.In the example presented, the fact of being satisfied with the comparison of the neighborhoods of the pixels to be matched leads to a mapping error. As a result, the multiplication by a weighting coefficient makes it possible to favor one of the minima of the dissimilarity curve with respect to the others. Thus, the new value of the disparity corresponds to a point for which the dissimilarity is minimal and the similarity criterion is checked.
En se basant sur ce principe, quatre critères de similarité on été définis. L'information de similarité qu'apporte chacun de ces critères de similarité est discriminante, n'est pas redondante par rapport aux autres et ne nécessite pas un temps de calcul rédhibitoire. Les critères de similarité retenus sont les suivants : similarité des niveaux de gris des centres des voisinages de calcul, similarité d'appartenance à un contour, similarité des allures des courbes des niveaux de gris des lignes centrales des voisinages de calcul et similarité d'appartenance à une région affectée par le mouvement. Des coefficients α, β, γ et μ ont été associés respectivement à ces critères de similarité. Les valeurs de ces coefficients varient selon que les critères sont vérifiés ou non.Based on this principle, four similarity criteria have been defined. The similarity information provided by each of these similarity criteria is discriminant, is not redundant compared to the others and does not require a crippling calculation time. The similarity criteria used are the similarity of the gray levels of the centers of the calculation neighborhoods, the similarity of the membership of a contour, the similarity of the greens of the curves of the gray levels of the central lines of the calculation neighborhoods, and the similarity of the membership. to a region affected by the movement. Α, β, γ and μ coefficients have been associated respectively with these similarity criteria. The values of these coefficients vary depending on whether the criteria are verified or not.
α = lsi G(x + s, y) et D(x, y) n' ont pas des niveaux de gris similaires α = αθ avec 0 < αO < 1 si G(x + s, y) et D(x, y) ont des niveaux de gris similaires β = lsiG(x + s,y)etD(x,y)m correspondent pas tous deux à des points de contours β = β 0 avec 0 < β 0 < 1 si G(x + s, y) et D(x, y) correspondent tous deux à des points de contoursα = lsi G (x + s, y) and D (x, y) do not have similar gray levels α = αθ with 0 <αO <1 if G (x + s, y) and D (x, y) have similar gray levels β = lsiG (x + s, y) and D (x, y) m do not both correspond to contour points β = β 0 with 0 <β 0 <1 if G (x + s, y) and D (x , y) both correspond to contour points
γ = lsi les courbes des niveaux de gris des lignes centrales des voisinages de calcul gauche et droite nont pas la même allure γ = γθ avecθ < γθ < 1 si les courbes des niveaux de gris des lignes centrales des voisinages de calcul gauche et droite ont la même allureγ = lsi the gray-level curves of the center lines of the left and right calculation neighborhoods do not have the same trend γ = γθ withθ <γθ <1 if the gray level curves of the center lines of the left and right calculation neighborhoods have the same pace
μ = lsiG(x + s, y)etD(x, y)nç correspond ent pas simultaném ent à un objet mobile ou statique μ = μO avec 0 < μO < 1 si G(x + s, y) et D(x, y) correspond ent simultaném ent à un objet mobile ou statiqueμ = lsiG (x + s, y) and D (x, y) do not simultaneously correspond to a moving or static object μ = μO with 0 <μO <1 if G (x + s, y) and D (x , y) corresponds simultaneously to a mobile or static object
Les valeurs optimales αO, βO, γO et μO ont été calculées expérimentalement en choisissant les valeurs minimisant le taux d'erreur de mise en correspondance.The optimal values αO, βO, γO and μO have been calculated experimentally by choosing the values minimizing the mapping error rate.
Des variantes de la mesure du critère de dissemblance sont possibles. Par exemple, pour améliorer la précision de l'appariement des pixels, les différents critères de similarité peuvent être combinés. On considère dans ce cas que les critères de similarité proposés sont de nature différente et par conséquent plus ou moins indépendants. Cela signifie que l'effet d'un critère n'est pas redondant ou opposé à celui des autres. Il est donc possible de réunir les différents critères pour constituer un critère global. Un modèle additif a été choisi pour le calcul de la dissemblance, ce qui correspond à la pondération du critère de dissemblance par un coefficient englobant les quatre critères. La formulation globale devient :Variations in the measurement of the dissimilarity criterion are possible. For example, to improve the accuracy of pixel matching, the different similarity criteria can be combined. In this case, it is considered that the proposed similarity criteria are of a different nature and therefore more or less independent. This means that the effect of one criterion is not redundant or opposite to that of others. It is therefore possible to combine the different criteria to constitute a global criterion. An additive model was chosen for the calculation of the dissimilarity, which corresponds to the weighting of the dissimilarity criterion by a coefficient encompassing the four criteria. The overall formulation becomes:
C(x,y,s) = (a + $ +y +
Figure imgf000011_0001
+ i + s, y + j) - D(x + i,y + j)\ y Cette valeur est utilisée à l'étape 6. A l'étape 2, le procédé teste un premier critère de similarité, relatif aux niveaux de gris des pixels à apparier. Le coefficient α est associé à ce critère, comme cela a été décrit précédemment.
C (x, y, s) = (a + $ + y +
Figure imgf000011_0001
+ i + s, y + j) - D (x + i, y + j) \ y This value is used in step 6. In step 2, the method tests a first similarity criterion, relating to the gray levels of the pixels to be matched. The coefficient α is associated with this criterion, as previously described.
Si le critère de similarité est vérifié α= αO sinon α= 1. Après le calcul du coefficient α, le procédé passe à l'étape 3.If the similarity criterion is verified α = αO otherwise α = 1. After calculating the coefficient α, the process proceeds to step 3.
A l'étape 3, le procédé teste un deuxième critère de similarité, relatif à l'appartenance à des contours. Le coefficient β est associé à ce critère, comme cela a été décrit précédemment.In step 3, the method tests a second similarity criterion, relating to the membership of contours. The coefficient β is associated with this criterion, as described previously.
Si le critère de similarité est vérifié β=βθ, sinon β=l. Après le calcul du coefficient β, le procédé passe à l'étape 4.If the similarity criterion is verified β = βθ, otherwise β = 1. After calculating the coefficient β, the process proceeds to step 4.
A l'étape 4, le procédé teste un troisième critère de similarité, relatif aux niveaux de gris des lignes centrales. Le coefficient γ est associé à ce critère, comme cela a été décrit précédemment.In step 4, the method tests a third similarity criterion, relating to the gray levels of the central lines. The coefficient γ is associated with this criterion, as previously described.
Si le critère de similarité est vérifié γ=γθ, sinon γ=l. Après le calcul du coefficient γ, le procédé passe à l'étape 5.If the similarity criterion is verified γ = γθ, otherwise γ = l. After calculating the coefficient γ, the process proceeds to step 5.
A l'étape 5, le procédé teste un quatrième critère de similarité, relatif à l'appartenance à une région affectée par le mouvement. Le coefficient μ est associé à ce critère, comme cela a été décrit précédemment. Si le critère de similarité est vérifié μ=μθ, sinon μ=l. Après le calcul du coefficient μ, le procédé passe à l'étape 6.In step 5, the method tests a fourth similarity criterion, relating to the membership of a region affected by the movement. The coefficient μ is associated with this criterion, as previously described. If the similarity criterion is checked μ = μθ, otherwise μ = l. After calculating the coefficient μ, the process proceeds to step 6.
A l'étape 6, le procédé détermine une carte de disparités dense à partir de la mise en correspondance des pixels des images droite et gauche, c'est-à-dire en fonction des critères de similarité testés aux étapes 2 à 5. Plus la valeur de disparité en un point est élevée et plus le point correspondant est proche du capteur.In step 6, the method determines a dense disparity map from the pixel mapping of the right and left images, i.e., according to the similarity criteria tested in steps 2 to 5. Read More the disparity value at a point is high and the corresponding point is close to the sensor.
Diverses techniques pour le calcul des disparités sont connues.Various techniques for calculating disparities are known.
Elles proposent des solutions pour rechercher les pixels homologues qui sont les pixels dans les images gauche et droite d'un capteur stéréoscopique qui correspondent aux deux projections du même point dans la scène. Ici, on utilise de préférence une technique de mise en correspondance rapide. La somme des différences absolues (SAD), qui est une technique basée sur la mesure de dissemblance entre les voisinages des pixels à apparier, représente une approche qui permet un compromis entre la robustesse du calcul des disparités et le temps de traitement. Dans l'exemple du comptage des passagers entrant et sortant de l'autobus, le capteur est proche des objets observés. La difficulté principale, dans ce cas de figure, est le nombre élevé d'occultations dans les images stéréoscopiques, ce qui correspond à des régions dans la scène qui apparaissent sur une image et pas sur l'autre.They propose solutions to find the homologous pixels that are the pixels in the left and right images of a stereoscopic sensor that correspond to the two projections of the same point in the scene. Here, a fast mapping technique is preferably used. The sum of absolute differences (SAD), which is a technique based on the measure of dissimilarity between the neighborhoods of the pixels to be matched, represents an approach that allows a compromise between the robustness of the calculation of disparities and the processing time. In the example of counting passengers in and out of the bus, the sensor is close to the objects observed. The main difficulty, in this case, is the high number of occultations in the stereoscopic images, which corresponds to regions in the scene that appear on one image and not on the other.
Pour résoudre ce problème, on utilise une technique basée sur la mesure de dissemblance, mais qui intègre les critères de similarité entre les pixels à mettre en correspondance ainsi que leur voisinage pour améliorer la mise en correspondance de façon globale sur l'ensemble de l'image et de façon particulière au niveau des régions occultées ou au niveau de celles qui leur sont proches.To solve this problem, we use a technique based on the dissimilarity measure, but which integrates the criteria of similarity between the pixels to be matched as well as their neighborhood to improve the mapping in a global way on the whole of the image and in particular at the level of the hidden regions or at the level of those which are close to them.
La disparité, dans ce cas spécifique, est la différence entre les abscisses des deux projections d'un point de la scène sur les deux images. La stéréovision dense fournit des cartes de disparités denses correspondant à la représentation de chaque point de la scène (pixel) par la valeur de disparité lui correspondant. L'objectif est de déterminer l'information de distance par rapport au capteur en chaque point de la scène. Celle-ci est inversement proportionnelle à la valeur de disparité.The disparity, in this specific case, is the difference between the abscissae of the two projections of one point of the scene on the two images. The dense stereovision provides maps of dense disparities corresponding to the representation of each point of the scene (pixel) by the corresponding disparity value. The goal is to determine the distance information from the sensor at each point in the scene. This is inversely proportional to the disparity value.
A l'étape 7, le procédé transforme l'information de disparité en information de hauteur en utilisant une transformation mathématique basée sur une modélisation géométrique du stéréoscope. Le résultat à l'issu de cette étape est une carte de hauteurs.In step 7, the method transforms the disparity information into pitch information using a mathematical transformation based on geometric modeling of the stereoscope. The result at the end of this step is a map of heights.
A l'étape 8, le procédé segmente la carte de hauteurs pour mettre en évidence les noyaux, qui représentent les têtes des personnes qui passent sous le capteur, et les suivre. Ces noyaux possèdent des caractéristiques (niveau de gris moyen, largeur, hauteur, entre autres) qui permettent de les suivre dans la zone de comptage. Ainsi des vecteurs de ces caractéristiques sont utilisés pour le suivi.In step 8, the method segments the map of heights to highlight the nuclei, which represent the heads of people who pass under the sensor, and follow them. These cores have characteristics (average gray level, width, height, among others) that can be tracked in the counting area. Thus vectors of these characteristics are used for monitoring.
En d'autres termes, les cartes de disparités calculées sont transformées en cartes des hauteurs, par une simple triangulation, puis, pour mettre en évidence les têtes des passagers, le procédé définit un certain nombre d'intervalles de hauteurs. Pour chaque intervalle, le procédé dispose d'une image binaire sur laquelle ne figurent que les régions ayant une hauteur comprise entre les valeurs limitant l'intervalle. L'application de filtres morphologiques de type ouvertures ainsi que la suppression des voisinages des entités connexes identifiées dans les intervalles supérieurs sur chacune de ces images binaires permet d'identifier les têtes des personnes ayant des tailles comprises dans ces intervalles. A la fin du traitement, on obtient une image binaire qui représente la réunion des résultats intermédiaires sur laquelle chaque noyau correspond à la tête d'une personne.In other words, the calculated disparity maps are transformed into height maps, by a simple triangulation, then, to highlight the heads of the passengers, the process defines a number of height intervals. For each interval, the method has a binary image on which only the regions having a height between the values limiting the interval appear. The application of aperture-type morphological filters as well as the removal of neighborhoods of the related entities identified in the upper intervals on each of these binary images makes it possible to identify the heads of persons having sizes included in these intervals. At the end of the processing, we obtain a binary image representing the meeting of the intermediate results on which each nucleus corresponds to the head of a person.
L'étape de segmentation de la carte des hauteurs consiste à identifier, à partir de celle-ci, la partie supérieure du corps de chacune des personnes évoluant dans la scène. Le but est de permettre la mise en évidence des têtes de ces personnes. Le principe de l'approche proposée se base sur la définition d'un certain nombre de niveaux de seuillage dans la carte des hauteurs. Pour un certain nombre d'intervalles de hauteurs prédéfinies, l'objectif est d'identifier et de reconnaître des zones correspondant à des têtes dans les images seuillées selon ces intervalles. On va maintenant décrire plus en détail l'étape 8.The segmentation step of the heights map consists in identifying, from this one, the upper part of the body of each person moving in the scene. The goal is to highlight the heads of these people. The principle of the proposed approach is based on the definition of a certain number of threshold levels in the height map. For a certain number of predefined height intervals, the objective is to identify and recognize zones corresponding to heads in the thresholded images according to these intervals. Step 8 will now be described in more detail.
Le nombre d'intervalles est par exemple fixé à quatre, les hauteurs des intervalles correspondant à des hauteurs de personnes. Cela revient à dire que cinq seuils Si sont prédéfinis, i étant un indice entier compris entre 1 et 5, pour définir les différents intervalles. Le seuil Si correspondant à la hauteur la plus élevée est S5 et celui qui correspond à la hauteur la moins élevée est S l, qui correspond à la taille moyenne d'un enfant de quatre ans car les enfants de cet âge représentent une catégorie d'usagers qui ne paie pas pour le transport.The number of intervals is for example set at four, the heights of the intervals corresponding to heights of people. This amounts to saying that five thresholds Si are predefined, i being an integer index between 1 and 5, to define the different intervals. The S-threshold corresponding to the highest height is S5 and the one corresponding to the lowest height is S l, which corresponds to the average height of a four-year-old child, since children of this age represent a category of users who do not pay for transportation.
L'étape 8 comporte les sous-étapes décrites ci-dessous. Une première sous-étape consiste à binariser l'image avec les seuils Si correspondant à l'intervalle. On obtient une image dans laquelle un pixel de valeur 1 indique que le point de la scène correspondant présente une hauteur comprise entre Si et Si-I . La première sous-étape est effectuée pour chaque intervalle, ce qui permet d'obtenir quatre images binaires.Step 8 includes the substeps described below. A first sub-step is to binarize the image with the thresholds Si corresponding to the interval. An image is obtained in which a pixel of value 1 indicates that the point of the corresponding scene has a height between Si and Si-I. The first sub-step is performed for each interval, which allows to obtain four binary images.
Une deuxième sous-étape est exécutée pour tous les intervalles sauf l'intervalle supérieur. Le procédé élimine les éléments de l'image correspondant à des personnes déjà identifiées lors du traitement des intervalles précédents. Ces éléments sont repérés car ils sont connexes ou situés aux voisinages de marqueurs déjà définis lors d'un passage à la quatrième sous-étape. Une troisième sous-étape consiste à éliminer les zones de petites dimensions qui sont considérées comme des erreurs de détection. Pour ce faire, le procédé utilise une opération d'ouverture morphologique, qui élimine les composantes connexes de l'image dont la surface est faible. Une quatrième sous-étape consiste à définir des marqueurs sur les éléments connexes de l'image qui n'ont pas été éliminés lors d'un passage à la deuxième sous-étape. Ces marqueurs indiquent les têtes des personnes dont la hauteur est comprise entre Si et Si-I .A second substep is executed for all intervals except the upper interval. The method eliminates the elements of the image corresponding to persons already identified during the processing of the previous intervals. These elements are identified because they are related or located in neighborhoods of markers already defined during a transition to the fourth substep. A third substep is to eliminate small areas that are considered as detection errors. To do this, the method uses a morphological opening operation, which eliminates the connected components of the image whose surface is small. A fourth substep consists in defining markers on the related elements of the image that have not been eliminated during a transition to the second substep. These markers indicate the heads of people whose height is between Si and Si-I.
Une cinquième sous-étape consiste à unir les images binaires résultantes pour mettre en évidence, sur l'image initiale, tous les noyaux identifiés.A fifth substep consists in uniting the resulting binary images to highlight, on the initial image, all the identified nuclei.
A l'étape 9, le procédé calcule pour chaque noyau détecté, un certain nombre de paramètres. Ces paramètres décrivent la position et forme du noyau et correspondent à une description du niveau de gris de la zone correspondante au noyau sur l'image réelle et la hauteur par rapport au sol de la zone correspondante au noyau sur la carte de hauteurs. Cet ensemble de paramètres est appelé vecteur d'attributs. De ce fait, à l'étape 9 le procédé calcule pour chaque noyau un vecteur d'attributs qui permet d'identifier chaque noyau. On va maintenant décrire plus en détail l'étape 9. Cette étape permet notamment d'identifier les personnes de petites tailles, par exemple les enfants.In step 9, the method calculates for each detected core a number of parameters. These parameters describe the position and shape of the kernel and correspond to a description of the gray level of the zone corresponding to the kernel on the real image and the height with respect to the ground of the zone corresponding to the kernel on the map of heights. This set of parameters is called an attribute vector. As a result, in step 9 the method computes for each kernel an attribute vector which makes it possible to identify each kernel. Step 9 will now be described in greater detail. This step makes it possible, in particular, to identify people of small sizes, for example children.
Comme décrit précédemment, le procédé associe à chaque noyau détecté un vecteur appelé vecteur d'attributs. Ce vecteur représente un ensemble de propriétés qui distinguent chaque noyau des autres noyaux présents dans la même scène, c'est-à-dire dans la même image. Dans l'exemple, les noyaux sont les têtes des personnes et les attributs sont des propriétés qui varient d'une tête à une autre. Des attributs permettant de réaliser le traitement des noyaux sont par exemple : - la valeur moyenne des niveaux de gris des points du noyau, calculée à partir des images réelles, la hauteur moyenne des points correspondant aux pixels constituant le noyau, calculée à partir de la carte des hauteurs, le nombre de pixels formant le noyau, calculé à partir de la carte de hauteurs segmentée (ce qui correspond à la taille du noyau), et la largeur et la longueur du noyau, ainsi que les coordonnées du centre de gravité du noyau, calculées à partir de la carte des hauteurs segmentée.As described above, the method associates with each detected core a vector called an attribute vector. This vector represents a set of properties that distinguish each nucleus from the other nuclei present in the same scene, that is to say in the same image. In the example, kernels are people's heads, and attributes are properties that vary from head to head. Attributes enabling the processing of nuclei are, for example: - the average value of the gray levels of the points of the nucleus, calculated from the real images, the average height of the points corresponding to the pixels constituting the nucleus, calculated from the height map, the number of pixels forming the nucleus, calculated from the segmented height map (which corresponds to the size of the nucleus), and the width and length of the nucleus, as well as the coordinates of the center of gravity of the nucleus, calculated at from the segmented heights map.
Il faut noter que plus le nombre d'attributs discriminants entre noyaux est important et plus la procédure de suivi sera fiable. Ainsi, en variante, les vecteurs d'attributs peuvent comprendre sept composantes, à savoir : la taille du noyau en pixels, la largeur du noyau en pixels, la longueur du noyau en pixels, la hauteur moyenne du noyau en centimètres, - le niveau de gris moyen du noyau, et les coordonnées horizontales du noyau.It should be noted that the greater the number of discriminant attributes between cores, the more reliable the tracking procedure will be. Thus, alternatively, the attribute vectors can comprise seven components, namely: the size of the kernel in pixels, the width of the kernel in pixels, the length of the kernel in pixels, the average height of the kernel in centimeters, - the level average gray of the nucleus, and the horizontal coordinates of the nucleus.
A l'étape 10, le procédé exploite les vecteurs d'attributs pour reconstituer les trajectoires de toutes les têtes détectées. La procédure consiste à exploiter les mesures correspondant aux vecteurs d'attributs à l'instant t et effectuer une prédiction sur la variation de ces derniers et comparer les résultats de la prédiction avec les mesures correspondant aux vecteurs d'attributs à l'instant t+1. La procédure de suivi consiste ensuite à mesurer d'une façon combinatoire une probabilité de correspondance ce qui permet d'associer les noyaux de l'instant t à ceux de l'instant t+1 et ainsi reconstituer leurs trajectoires. Toutes les données de suivi sont sauvegardées et sont utilisées à la fin de la séquence par la procédure de comptage.In step 10, the method exploits the attribute vectors to reconstruct the trajectories of all the detected heads. The procedure consists in exploiting the measurements corresponding to the attribute vectors at time t and making a prediction on the variation of the latter and comparing the results of the prediction with the measurements corresponding to the vectors of attributes at time t + 1. The monitoring procedure then consists in measuring in a combinatorial manner a probability of correspondence, which makes it possible to associate the nuclei of the instant t with those of the instant t + 1 and thus reconstruct their trajectories. All tracking data is saved and is used at the end of the sequence by the counting procedure.
A l'issue de l'étape 10, le procédé teste la fin de la séquence. Si la séquence n'est pas finie, le procédé revient à l'étape 1 pour acquérir un nouveau couple d'images stéréoscopiques et effectuer une nouvelle boucle de traitement, sinon le procédé passe à l'étape 11.At the end of step 10, the method tests the end of the sequence. If the sequence is not finished, the process returns to step 1 to acquire a new pair of stereoscopic images and perform a new processing loop, otherwise the process proceeds to step 11.
A l'étape 11, le procédé analyse les trajectoires, c'est-à-dire que le procédé teste la validité de la trajectoire de chaque noyau représentant une personne dont la présence a été détectée. L'étape 11 est répétée pour chaque trajectoire. Si le procédé considère que la trajectoire est valide, il passe à l'étape 12, sinon il reboucle à l'étape 11 pour analyser une nouvelle trajectoire.In step 11, the method analyzes the trajectories, i.e., the method tests the validity of the trajectory of each kernel representing a person whose presence has been detected. Step 11 is repeated for each trajectory. If the process considers that the trajectory is valid, it go to step 12, otherwise it loops back to step 11 to analyze a new trajectory.
Pour réaliser le suivi d'une trajectoire, le procédé associe à chaque objet segmenté un vecteur appelé vecteur attributs. Ce vecteur est un ensemble de propriétés qui distinguent chaque objet des autres dans la même scène. Dans notre cas, les objets qui nous intéressent sont les noyaux, c'est-à-dire les têtes de personnes, et les attributs sont des propriétés qui varient d'un noyau à l'autre, par exemple taille du noyau, largeur du noyau, longueur du noyau, hauteur moyenne en centimètres de la région correspondant au noyau sur la carte des hauteurs, niveau de gris moyen de la région correspondant au noyau sur l'image réelle et coordonnées horizontales (x ,y) du centre de gravité du noyau. D'autres attributs peuvent être introduits dans la phase de suivi.To track a trajectory, the method associates with each segmented object a vector called an attribute vector. This vector is a set of properties that distinguish each object from others in the same scene. In our case, the objects we are interested in are the kernels, that is to say the heads of people, and the attributes are properties that vary from one kernel to another, for example kernel size, width of kernel, kernel length, average height in centimeters of the region corresponding to the kernel on the map of heights, mean gray level of the region corresponding to the kernel on the actual image, and horizontal coordinates (x, y) of the center of gravity of the core. Other attributes can be introduced in the follow-up phase.
Le suivi peut être réalisé en utilisant un filtre de Kalman. Cela consiste à effectuer une prédiction sur les positions des noyaux et à comparer les positions prédites avec les positions de la mesure courante.Tracking can be done using a Kalman filter. This consists in making a prediction on the positions of the nuclei and in comparing the predicted positions with the positions of the current measurement.
La figure 4a représente une zone de comptage 20 rectangulaire.Figure 4a shows a rectangular counting area.
La zone de comptage 20 correspond à une zone située sous le capteur 4.The counting zone 20 corresponds to an area under the sensor 4.
La zone de comptage 20 comporte une ligne supérieure 20a et une ligne inférieure 20b.The counting zone 20 has an upper line 20a and a lower line 20b.
Une première trajectoire valide, symbolisée par la flèche 21, correspond à une entrée avec une apparition au voisinage de la ligne supérieure 20a et une disparition dans la zone de comptage 20, ce qui signifie que la personne rentre et reste dans la zone de comptage 20. Une telle personne est prise en compte.A first valid trajectory, symbolized by the arrow 21, corresponds to an entry with an appearance in the vicinity of the upper line 20a and a disappearance in the counting zone 20, which means that the person enters and remains in the counting zone 20 Such a person is taken into account.
Une deuxième trajectoire valide, symbolisée par la flèche 22, correspond à une entrée avec une apparition au voisinage de la ligne supérieure 20a et une disparition au voisinage de la ligne inférieure 20b, ce qui signifie que la personne rentre et traverse la zone de comptage 20. Une telle personne est également prise en compte.A second valid trajectory, symbolized by the arrow 22, corresponds to an entry with an appearance in the vicinity of the upper line 20a and a disappearance in the vicinity of the lower line 20b, which means that the person enters and passes through the counting zone 20 Such a person is also taken into account.
Une troisième trajectoire valide, symbolisée par la flèche 23, correspond à une sortie avec une apparition au voisinage de la ligne inférieure 20b et une disparition au voisinage de la ligne supérieure 20a, ce qui signifie que la personne traverse la zone de comptage 20 lors de sa sortie. Une telle personne est également prise en compte. Un quatrième type de trajectoire valide, symbolisé par les flèches 24a et 24b, correspond à une sortie avec une apparition dans la zone de comptage 20 et une disparition au voisinage de la ligne supérieure 20a, ce qui signifie que la personne se trouve dans la zone de comptage 20 avant sa sortie. Une telle personne est également prise en compte.A third valid trajectory, symbolized by the arrow 23, corresponds to an exit with an appearance in the vicinity of the lower line 20b and a disappearance in the vicinity of the upper line 20a, which means that the person passes through the counting zone 20 when his exit. Such a person is also taken into account. A fourth type of valid trajectory, symbolized by the arrows 24a and 24b, corresponds to an exit with an appearance in the counting zone 20 and a disappearance in the vicinity of the upper line 20a, which means that the person is in the zone counting 20 before its release. Such a person is also taken into account.
La figure 4b, qui représente également la zone de comptage 20, montre des exemples de trajectoires non valides.FIG. 4b, which also represents the counting zone 20, shows examples of invalid trajectories.
Une première trajectoire non valide, symbolisée par la flèche 25, correspond à une apparition au voisinage de la ligne supérieure 20a et une disparition au voisinage de la même ligne 20a, ce qui signifie que la personne est entrée puis immédiatement ressortie.A first invalid trajectory, symbolized by the arrow 25, corresponds to an appearance in the vicinity of the upper line 20a and a disappearance in the vicinity of the same line 20a, which means that the person is entered and immediately returned.
Une deuxième trajectoire non valide, symbolisée par la flèche 26, correspond à une apparition au voisinage de la ligne inférieure 20b et une disparition au voisinage de la même ligne 20b, ce qui correspond à une intention de sortie avortée.A second invalid trajectory, symbolized by the arrow 26, corresponds to an appearance in the vicinity of the lower line 20b and a disappearance in the vicinity of the same line 20b, which corresponds to an aborted exit intention.
Une troisième trajectoire non valide, symbolisée par la flèche 27, correspond à une apparition et une disparition dans la zone de comptage 20, ce qui correspond à une errance sous le capteur 4 sans intentions précises.A third invalid trajectory, symbolized by the arrow 27, corresponds to an appearance and a disappearance in the counting zone 20, which corresponds to a wandering under the sensor 4 without precise intentions.
Une quatrième trajectoire non valide, symbolisée par la flèche 28, correspond à une apparition au voisinage de la ligne inférieure 20b et une disparition dans la zone de comptage 20.A fourth invalid trajectory, symbolized by the arrow 28, corresponds to an appearance in the vicinity of the lower line 20b and a disappearance in the counting zone 20.
Lorsque, à l'étape 11, le procédé considère que la trajectoire testée ne doit pas entraîner le comptage d'une personne, le procédé se termine pour la trajectoire considérée.When, in step 11, the method considers that the path tested should not result in the counting of a person, the process ends for the path considered.
A l'étape 12, le procédé considère que la trajectoire testée à Pétapell doit entraîner le comptage d'une personne. Dans ce cas, le procédé incrémente d'une unité le compteur d'entrées ou le compteur de sorties, selon le sens de la trajectoire.In step 12, the method considers that the trajectory tested at Petapell must result in the counting of a person. In this case, the method increments the input counter or the output counter by one unit, depending on the direction of the path.
A l'issue de I'étapel2, le procédé effectue un test (étape 13) pour vérifier si toutes les trajectoires ont été analysées. Si le test n'est pas vérifié le procédé revient à l'étape 11, sinon le procédé s'arrête.At the end of step 2, the method performs a test (step 13) to check if all the trajectories have been analyzed. If the test is not verified the process returns to step 11, otherwise the process stops.
Le système de comptage a été évalué sur des données réelles et les résultats obtenus présentent un taux d'erreur maximum de l'ordre de 1%. Le système permet notamment de réaliser un comptage de passagers par classe de taille. En effet, la segmentation de la carte de hauteurs étant réalisée par classe de hauteurs, il est possible de disposer du comptage en fonction de cette classe de hauteurs. Ainsi, il est possible de discriminer les flux d'adultes et d'enfants par exemple.The counting system has been evaluated on real data and the results obtained have a maximum error rate of the order of 1%. In particular, the system makes it possible to count passengers by size class. Indeed, the segmentation of the height map being performed by height class, it is possible to have the count according to this class of heights. Thus, it is possible to discriminate flows of adults and children, for example.
Le système permet également de prendre en compte des cas de descentes temporaires.The system also makes it possible to take into account cases of temporary descents.
Dans le cas des autobus par exemple, les données correspondant à chaque personne descendant sont gardées en mémoire tampon un certain temps, c'est-à-dire que les attributs du noyau correspondant à la tête de cette personne sont mémorisés temporairement, pour vérifier si la descente de la personne n'est pas temporaire. Cette information est très importante pour les exploitants d'autobus qui veulent connaitre le nombre exact de descentes et de montées par arrêt. L'exploitation de la vision stéréoscopique et la mise en évidence des têtes des passagers en utilisant un procédé qui ne dépend pas de l'information couleur (niveaux de gris) permettent de baisser la résolution des images à traiter sans dégrader de manière significative la précision de comptage. Cet avantage a été démontré par différentes évaluations du système de comptage. Ainsi, le manque d'information due à la baisse de résolution est compensé par l'information de hauteur et la segmentation de la scène en fonction de paramètres géométriques. D'autre part, la hauteur par rapport au sol est insensible à la variation de la résolution. Par exemple, une personne qui mesure lm80 correspondra à un noyau d'une hauteur de lm80 quelque soit la résolution des images. De ce fait, le procédé de comptage permet d'obtenir une bonne précision de comptage malgré les contraintes de variabilité de l'éclairage, de baisse de résolution, de juxtaposition et de nature déformable des objets observés. Bien que l'invention ait été décrite en relation avec plusieurs modes de réalisation particuliers, il est bien évident qu'elle n'y est nullement limitée et qu'elle comprend tous les équivalents techniques des moyens décrits ainsi que leurs combinaisons si celles-ci entrent dans le cadre de l'invention. In the case of buses for example, the data corresponding to each descendant person are kept in buffer memory for a certain time, that is to say that the attributes of the kernel corresponding to the head of this person are memorized temporarily, to check whether the descent of the person is not temporary. This information is very important for bus operators who want to know the exact number of descents and climbs per stop. The exploitation of the stereoscopic vision and the highlighting of the heads of the passengers by using a process that does not depend on the color information (gray levels) make it possible to lower the resolution of the images to be processed without significantly degrading the accuracy count. This advantage has been demonstrated by different evaluations of the counting system. Thus, the lack of information due to the lowering of resolution is compensated by the information of height and the segmentation of the scene according to geometrical parameters. On the other hand, the height relative to the ground is insensitive to the variation of the resolution. For example, a person who measures lm80 will correspond to a kernel with a height of lm80 regardless of the resolution of the images. As a result, the counting method makes it possible to obtain a good counting accuracy despite the constraints of variability of the illumination, of the drop in resolution, of juxtaposition and of the deformable nature of the objects observed. Although the invention has been described in connection with several particular embodiments, it is obvious that it is not limited thereto and that it comprises all the technical equivalents of the means described and their combinations if they are within the scope of the invention.

Claims

REVENDICATIONS
1. Système de comptage (1) de personnes comportant des moyens d'acquisition d'images (4) et des moyens de traitement de données (5), les moyens d'acquisition d'images (4) comprenant un capteur stéréoscopique, lesdits moyens de traitement de données étant aptes à recevoir des images stéréoscopiques provenant dudit capteur stéréoscopique, à en déduire la présence ou non d'une ou de plusieurs personne(s) dans le champ de vision dudit capteur stéréoscopique (5), et, pour chaque personne dont la présence a été détectée, à calculer la trajectoire de ladite personne pour déterminer si ladite personne doit être comptabilisée ou non, caractérisé en ce que ledit capteur stéréoscopique a une résolution inférieure ou égale à 320 pixels x 240 pixels.1. Counting system (1) of persons comprising image acquisition means (4) and data processing means (5), the image acquisition means (4) comprising a stereoscopic sensor, said data processing means being able to receive stereoscopic images from said stereoscopic sensor, to deduce the presence or absence of one or more persons in the field of vision of said stereoscopic sensor (5), and for each person whose presence has been detected, calculating the trajectory of said person to determine whether said person should be counted or not, characterized in that said stereoscopic sensor has a resolution less than or equal to 320 pixels x 240 pixels.
2. Système de comptage selon la revendication 1, caractérisé en ce que ledit capteur stéréoscopique (4) comprend deux webcams (6a,Counting system according to claim 1, characterized in that said stereoscopic sensor (4) comprises two webcams (6a,
6b), la fréquence d'acquisition de chacune desdites webcams (6a, 6b) étant d'environ trente images par seconde.6b), the acquisition frequency of each of said webcams (6a, 6b) being about thirty frames per second.
3. Système de comptage selon la revendication 1 ou 2, caractérisé en ce que lesdits moyens d'acquisition d'images (4) et lesdits moyens de traitement de données (5) sont connectés entre eux par le biais d'une interface USB2.3. Counting system according to claim 1 or 2, characterized in that said image acquisition means (4) and said data processing means (5) are connected to each other via a USB2 interface.
4. Système de comptage selon la revendication 1 ou 2, caractérisé en ce que lesdits moyens d'acquisition d'images (4) et lesdits moyens de traitement de données (5) sont connectés entre eux par un bus d'entrée-sortie de type série4. Counting system according to claim 1 or 2, characterized in that said image acquisition means (4) and said data processing means (5) are connected to each other by an input / output bus of series type
5. Procédé de comptage apte à être exécuté par les moyens de traitement du système de comptage selon l'une quelconque des revendications 1 à 4, caractérisé en ce qu'il comprend des étapes consistant à : (a) recevoir deux images stéréoscopiques provenant d'un capteur stéréoscopique présentant une résolution inférieure ou égale à 320 pixels x 240 pixels,5. A counting method that can be executed by the processing means of the counting system according to any one of claims 1 to 4, characterized in that it comprises the steps of: (a) receiving two stereoscopic images originating from a stereoscopic sensor having a resolution less than or equal to 320 pixels x 240 pixels,
(b) calculer, pour ladite paire d'images stéréoscopiques, une carte de disparités, (c) exploiter ladite carte de disparités pour calculer une carte des hauteurs représentant les distances par rapport au sol de chaque point de la scène, et(b) computing, for said pair of stereoscopic images, a map of disparities, (c) exploiting said disparity map to calculate a map of the heights representing the distances from the ground of each point of the scene, and
(d) utiliser ladite carte des hauteurs pour mettre en évidence la présence d'une ou plusieurs personne(s).(d) using said height map to highlight the presence of one or more person (s).
6. Procédé de comptage selon la revendication 5, caractérisé en ce que l'étape (d) comprend des sous-étapes consistant à :Counting method according to claim 5, characterized in that step (d) comprises sub-steps consisting of:
(e) segmenter ladite carte des hauteurs pour mettre en évidence les têtes des personnes, le résultat étant une image binaire appelée carte des noyaux, un noyaux correspondant à un ensemble de pixels connexes représentant vraisemblablement la tête d'une personne,(e) segmenting said height map to highlight the heads of the persons, the result being a binary image called a map of the cores, a cores corresponding to a set of related pixels presumably representing a person's head,
(f) utiliser ladite carte des noyaux pour obtenir un vecteur d'attributs caractérisant chaque personne détectée,(f) using said kernel map to obtain an attribute vector characterizing each person detected,
(g) utiliser ledit vecteur d'attributs pour calculer la trajectoire de ladite personne, et(g) using said attribute vector to calculate the trajectory of said person, and
(h) analyser ladite trajectoire dans une série d'images successives pour déterminer si ladite personne doit être comptabilisée ou non.(h) analyzing said trajectory in a series of successive images to determine whether said person should be counted or not.
7. Procédé de comptage selon la revendication 5 ou 6, caractérisé en ce qu'il comprend des étapes consistant à tester des critères de similarité choisis parmi la similarité des niveaux de gris des centres des voisinages de calcul, la similarité d'appartenance à un contour, la similarité des allures des courbes des niveaux de gris des lignes centrales des voisinages de calcul et la similarité d'appartenance à une région affectée par le mouvement. 7. Counting method according to claim 5 or 6, characterized in that it comprises the steps of testing similarity criteria selected from the similarity of the gray levels of the centers of calculation neighborhoods, the similarity of membership to a contour, the similarity of the curves of the gray level curves of the central lines of the calculation neighborhoods, and the similarity of belonging to a region affected by the motion.
8. Procédé de comptage selon l'une quelconque des revendications 5 à 7, caractérisé en ce qu'il est exécuté en temps réel.8. Counting method according to any one of claims 5 to 7, characterized in that it is executed in real time.
9. Procédé de comptage selon l'une quelconque des revendications 5 à 7, caractérisé en ce qu'il est exécuté en temps différé.9. Counting method according to any one of claims 5 to 7, characterized in that it is executed in deferred time.
10. Utilisation du système de comptage selon l'une quelconque des revendications 1 à 4 pour compter les passagers entrant et sortant par une porte d'un autobus, ledit capteur stéréoscopique (4) étant placé verticalement au dessus de la porte (3) de l'autobus. 10. Use of the counting system according to any one of claims 1 to 4 to count the passengers entering and exiting through a door of a bus, said stereoscopic sensor (4) being placed vertically above the door (3) of the bus.
PCT/FR2010/050938 2009-05-14 2010-05-14 System for counting people WO2010130964A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP10731769A EP2430618A1 (en) 2009-05-14 2010-05-14 System for counting people

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0953188 2009-05-14
FR0953188A FR2945652B1 (en) 2009-05-14 2009-05-14 SYSTEM FOR COUNTING PEOPLE.

Publications (1)

Publication Number Publication Date
WO2010130964A1 true WO2010130964A1 (en) 2010-11-18

Family

ID=41334542

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2010/050938 WO2010130964A1 (en) 2009-05-14 2010-05-14 System for counting people

Country Status (3)

Country Link
EP (1) EP2430618A1 (en)
FR (1) FR2945652B1 (en)
WO (1) WO2010130964A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111091529A (en) * 2018-10-24 2020-05-01 株式会社理光 People counting method and system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0847030A2 (en) * 1996-12-04 1998-06-10 Istituto Trentino Di Cultura A method and device for automatically detecting and counting bodies passing through a gap
EP1100050A1 (en) * 1999-11-09 2001-05-16 Renault V.I. System and method of counting passengers for buses
US20060067456A1 (en) * 2004-09-27 2006-03-30 Point Grey Research Inc. People counting systems and methods
WO2009017687A1 (en) * 2007-07-26 2009-02-05 Objectvideo, Inc. Video analytic rule detection system and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0847030A2 (en) * 1996-12-04 1998-06-10 Istituto Trentino Di Cultura A method and device for automatically detecting and counting bodies passing through a gap
EP1100050A1 (en) * 1999-11-09 2001-05-16 Renault V.I. System and method of counting passengers for buses
US20060067456A1 (en) * 2004-09-27 2006-03-30 Point Grey Research Inc. People counting systems and methods
WO2009017687A1 (en) * 2007-07-26 2009-02-05 Objectvideo, Inc. Video analytic rule detection system and method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111091529A (en) * 2018-10-24 2020-05-01 株式会社理光 People counting method and system

Also Published As

Publication number Publication date
FR2945652B1 (en) 2013-07-19
EP2430618A1 (en) 2012-03-21
FR2945652A1 (en) 2010-11-19

Similar Documents

Publication Publication Date Title
Li et al. Automatic pavement-crack detection and segmentation based on steerable matched filtering and an active contour model
EP1960973B1 (en) Method of securing a physical access and access device implementing the method
EP2937812B1 (en) System for locating a single vehicle in a plurality of areas different from one another through which said vehicle passes consecutively
CN106462881B (en) System and method for determining demographic information
WO2013176750A1 (en) Methods, systems and apparatus for automated authentication
EP2751739B1 (en) Detection of fraud for access control system of biometric type
CN106846340A (en) A kind of striation boundary extraction method based on on-fixed characteristic point
WO2010023213A1 (en) Method for identifying an object in a video archive
EP0961227B1 (en) Method of detecting the relative depth between two objects in a scene from a pair of images taken at different views
EP0863488A1 (en) Method for detecting level contours in two stereoscopic images
EP2430618A1 (en) System for counting people
EP1646967B1 (en) Method for measuring the proximity of two contours and system for automatic target identification
FR2950451A1 (en) ALGORITHM FOR DETECTION OF CONTOUR POINTS IN AN IMAGE
WO2015092049A1 (en) Method for detecting people and/or objects in a space
EP3067709A1 (en) Method and device for tracking individuals in a location provided with distributed detection means
WO2015092040A1 (en) Method for estimating the number of persons and/or objects in a space
CN113177926A (en) Image detection method and device
WO2024009212A1 (en) Method for cosmetic analysis of a face
CN109447042A (en) The system and method for top-type passenger flow monitor processing is realized based on stereovision technique
WO2015092045A1 (en) Method for detecting persons and/or objects in a space
FR3116932A1 (en) Processes for calibrating a camera and measuring real distances from an image acquired by the camera
FR3112011A1 (en) System and method for characterizing the nature and quantity of food contained in one or more containers
Kanno et al. Automatic Reading of Flow Meters Based on Classification Deep Neural Network
EP4136565A1 (en) Method for detecting an attack by presentation for fingerprints
FR3102872A1 (en) Purchase and payment automation method and device in a physical merchant site

Legal Events

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

Ref document number: 10731769

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2010731769

Country of ref document: EP