Method for analysing a video stream, and associated computer program, processing device and vehicle
Patent Information
- Application Number
- EP2023736410
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-03-21
- Publication Date
- 2026-01-28
AI Technical Summary
Current vehicle driving assistance systems fail to effectively handle hidden objects in the path of a vehicle, leading to potential collisions, as they are unable to predict the trajectory of obscured objects.
A method for analyzing 3D video streams that detects objects, estimates their projected positions based on past data, and updates these positions in an inventory system, allowing for safer trajectory calculations and collision avoidance.
This method enables the prediction of plausible trajectories for obscured objects, reducing the risk of collisions by integrating projected positions into driving assistance systems, thereby enhancing safety.
Smart Images

Figure FR2023050405_26092024_PF_FP
Abstract
Description
Title: Method for analyzing a video stream, computer program, processing device and associated vehicle DESCRIPTION Technical field
[0001] The present invention relates to a method for analyzing a 3D video stream representative of a scene observed through a shooting device associated with a vehicle.
[0002] The invention also relates to a computer program, a device implementing such a method, and a vehicle comprising such a device.
[0003] The invention applies to the field of image analysis, in particular for driving assistance. State of the art
[0004] It is known to equip a vehicle, in particular a land vehicle such as an automobile, with a system comprising a driving assistance device associated with a camera device.
[0005] In such a system, the driver assistance device receives a video stream from the camera device and adjusts the vehicle's trajectory based on objects detected in the scene.
[0006] However, such devices are not satisfactory.
[0007] Indeed, such a system is not able to deal with hidden objects, which could appear in the vehicle's path and cause a collision.
[0008] An aim of the present invention is to remedy at least one of the drawbacks of the state of the art. Statement of the invention
[0009] To this end, the invention relates to an analysis method of the aforementioned type, implemented by computer and comprising, for each image of the 3D video stream, the steps: - for each object detected in the image, if said detected object is present in an inventory of previously detected objects: • determination, for said image, of a position and a speed of the object; and • estimation of a projected position of the object from the position and speed determined for said image, and - for each object present in the object inventory and not detected in the image, updating a corresponding projected position based on the speed of said object which was determined for the last image on which the object was detected.
[0010] Indeed, by estimating a projected position for each object that has been detected in the past, it is possible to predict a plausible trajectory for occulted objects.
[0011] Such projected positions, when transmitted to a pilot assistance device, are likely to be taken into account to calculate safer trajectories and reduce the risk of collisions.
[0012] Advantageously, the method according to the invention has one or more of the following characteristics, taken in isolation or in any technically possible combination(s):
[0013] the method further comprises, for each image and for each object detected in the image and absent from the object inventory, the steps: creating, in the object inventory, a new object corresponding to said detected object; and determining, for said image, a position of the detected object;
[0014] the method comprises, for each object present in the object inventory and not detected in a current image of the 3D video stream, a deletion of said object from the object inventory if the object has not been detected in a predetermined number of previous consecutive images of the 3D video stream and / or if an estimated probability of a new encounter with the object is less than a predetermined floor value;
[0015] for each image of the 3D video stream, each pixel is associated with a characteristic of the corresponding point of the scene, a set of related pixels, for which a difference of the characteristic compared to neighboring pixels is greater than a predetermined threshold, forming a detected object, and for each pixel, said characteristic being the distance from the shooting device of the point of the scene corresponding to said pixel, and / or the color of said point and / or the speed;
[0016] the method further comprises determining that an object detected in a current frame of the 3D video stream is present in the object inventory if a difference between a position of the detected object and a current projected position of an object in the object inventory is less than a predetermined deviation;
[0017] each object in the object inventory is associated with a corresponding representation, the method comprising determining that an object detected in a current image of the 3D video stream is present in the object inventory if the portion of the current image corresponding to the detected object has a similarity greater than a predetermined threshold with at least a portion of the representation corresponding to an object in the object inventory;
[0018] each object in the object inventory is associated with a corresponding representation, the method comprising, for each image of the 3D video stream, and for each detected object present in the object inventory, the steps: - comparison of the part of the image representing said detected object with the corresponding representation in the object inventory for determining whether at least one portion of said part of the image is absent from the representation; and enriching the representation with said at least one portion;
[0019] for each object in the object inventory, the corresponding representation comprises a set of pixels, each pixel being associated with a relative position in a predetermined reference frame, the relative positions of the pixels of the same object being representative of the relative positions of the corresponding points of the scene;
[0020] the method comprises, for each image in which, in a plane of a detector of the camera device, a part of a first detected object is circumscribed in a part of a second detected object, the first object being located at a distance from the camera device greater than a distance from the second detected object, an assignment of an attribute according to which the first object is a potential reflection;
[0021] the method further comprises, for each first object present in the object inventory, the steps: - comparison of a position of the first object with the corresponding current projected position; and - depending on a result of the comparison, assignment, to the attribute, of a first value, according to which the first object is a reflection, or of a second value, according to which the first object is a real object;
[0022] the method further comprises, for each first object present in the object inventory, the steps: - determining a position of a duplicate of the first object, such that the first object and its duplicate are symmetrical to each other with respect to the second object; and - determination of a speed and a projected position of the double;
[0023] the method further comprises, for each image of the 3D video stream, information associated with at least one pixel and indicative of the fact that: - the point of the scene corresponding to said pixel was observed by a single camera of the shooting device; - the pixel has been extrapolated; and / or the pixel is saturated;
[0024] the method further comprises, for each image of the 3D video stream, and for each object detected in the image: - the calculation of a margin of error on the position and / or speed of the object determined for said image; and / or - the calculation of a margin of error on the projected position of the object estimated for said image.
[0025] According to another aspect of the invention, there is provided a computer program comprising executable instructions which, when executed by a computer, implement the steps of the method as defined above.
[0026] The computer program can be in any computer language, such as machine language, C, C++, JAVA, Python, etc.
[0027] According to another aspect of the invention, a processing device is proposed for analyzing a 3D video stream representative of a scene observed through a shooting device associated with a vehicle, the processing device being configured so as to, for each image of the 3D video stream: - for each object detected in the image, if said detected object is present in an inventory of previously detected objects: • determine, for said image, a position and a speed of the object; and • estimate a projected position of the object from the position and speed determined for said image, and - for each object present in the object inventory and not detected in the image, update a corresponding projected position based on the speed of said object which was determined for the last image on which the object was detected.
[0028] The device according to the invention can be any type of device such as a server, a computer, a tablet, a calculator, a processor, a chip computer, programmed to implement the method according to the invention, for example by executing the computer program according to the invention.
[0029] According to another aspect of the present invention, there is provided a vehicle comprising a camera device and a processing device as defined above, the camera device being configured to acquire a 3D video stream representative of a scene, and to transmit the acquired 3D video stream to the processing device.
[0030] According to embodiments, the vehicle is a land vehicle, autonomous or not, for example a car.
[0031] According to embodiments, the vehicle is a flying vehicle, autonomous or not, for example a drone, an airplane, a helicopter.
[0032] According to embodiments, the vehicle is a maritime vehicle, autonomous or not, for example a boat or a submarine.
[0033] Preferably, the vehicle further comprises a driving assistance device configured to calculate a target trajectory of the vehicle as a function of a position, a speed and / or a projected position of at least one object present in the inventory of objects.
[0034] The invention also relates to a use of the analysis method as defined above, or of the processing device as defined above, in such a vehicle, for the analysis of a 3D video stream representative of a scene observed through the vehicle's camera device. Brief description of the figures
[0035] The invention will be better understood on reading the description which follows, given solely as a non-limiting example and made with reference to the appended drawings in which:
[0036] Figure 1 is a schematic representation of a vehicle according to the invention;
[0037] Figure 2 is a flowchart of the analysis method according to the invention;
[0038] Figures 3A to 3C are schematic representations illustrating the implementation of the method of Figure 2, a detected object becoming completely occluded;
[0039] Figures 4A-4C are schematic representations illustrating the implementation of the method of Figure 2, a detected object becoming partially occluded; and
[0040] Figures 5A and 5B are schematic representations illustrating respectively a situation where a detected object is a reflection, and a situation where a detected object is seen by transparency through another object.
[0041] It is understood that the embodiments which will be described below are in no way limiting. In particular, it is possible to imagine variants of the invention comprising only a selection of characteristics described below isolated from the other characteristics described, if this selection of characteristics is sufficient to confer a technical advantage or to differentiate the invention compared to the state of the prior art. This selection includes at least one preferably functional characteristic without structural details, or with only part of the structural details if it is this part which is only sufficient to confer a technical advantage or to differentiate the invention compared to the state of the prior art.
[0042] In particular, all the variants and embodiments described can be combined with each other if there is no technical obstacle to this combination.
[0043] In the figures and in the rest of the description, the elements common to several figures retain the same reference. detailed
[0044] A vehicle 2 according to the invention is illustrated in Figure 1.
[0045] The vehicle 2 carries a camera device 4 and a processing device 6 connected to each other.
[0046] The image capture device 4 is configured to acquire a 3D video stream representative of an observed scene, in particular a scene in which the vehicle 2 is moving. The image capture device 4 is, furthermore, configured to transmit the acquired 3D video stream to the processing device 6.
[0047] The processing device 6 is configured to process the 3D video stream, and in particular to detect the objects in the scene and analyze their respective trajectories.
[0048] Preferably, the vehicle 2 also has a device 8 for assisting in driving the vehicle 2. In this case, the device 8 for assisting in driving the vehicle 2 is configured to assist in driving the vehicle 2, for example by determining set trajectories of the vehicle 2, in particular avoidance trajectories to avoid collisions with objects detected in the scene, whether they are mobile or not.
[0049] More precisely, the driving assistance device 8 is configured to calculate a set trajectory of the vehicle 2 as a function of a position, a speed and / or a projected position of at least one object present in an inventory of objects 12, described later.
[0050] As indicated previously, the shooting device 4 is configured to acquire a 3D video stream representative of the observed scene.
[0051] In particular, in each image, called a “3D image”, of the 3D video stream delivered by the shooting device 4, each pixel is associated with a point in the scene.
[0052] The shooting device 4 comprises, for example, at least two cameras 10. In this case, each camera 10 is arranged at a respective predetermined position relative to the vehicle 2.
[0053] Preferably, an optical axis of each camera 10 has a respective known orientation in a predetermined frame of reference, in particular in the frame of reference of the vehicle 2.
[0054] As a result, for each pixel of each 3D image, a position of the corresponding point of the scene in a predetermined three-dimensional frame of reference can be extracted.
[0055] Alternatively, the image-taking device 4 comprises at least one camera 10 associated with at least one telemetry device (such as a lidar) configured to provide depth information, that is to say information relating to the distance between the camera 10 and each point of the scene observed by said camera 10. In this case, the image-taking device 4 is configured to merge the information from the telemetry device with the images from the at least one camera 10 to generate each 3D image. Consequently, in this case also, for each pixel of each 3D image, a position of the corresponding point of the scene in the predetermined three-dimensional reference frame is likely to be extracted.
[0056] More precisely, in each 3D image, each pixel is associated with at least one predetermined characteristic of the corresponding point in the scene. For example, for a given pixel, the at least one predetermined characteristic includes: - the distance between the point of the scene corresponding to said pixel and the shooting device 4; and / or - the color of the point in the scene corresponding to said pixel.
[0057] Optionally, the predetermined characteristic associated with a given pixel of the 3D image comprises the speed, in a predetermined reference frame, of the point of the scene corresponding to said pixel. This is, for example, the case when the image capture device 4 is configured to track each point of the scene, from image to image, so as to determine speed information.
[0058] Preferably, the shooting device 4 is also configured to associate, with each pixel of each 3D image, information relating to the camera 10 (respectively, the cameras 10) which observed (respectively, which observed) the corresponding point of the scene.
[0059] More preferably, the image capture device 4 is also configured to associate, with each saturated pixel of each 3D image, information according to which said pixel is saturated. By “saturated pixel”, it is understood, within the meaning of the present invention, a pixel whose corresponding photodetector of the image-taking device 4 is saturated.
[0060] Preferably, the image capture device 4 is also configured to associate, with each pixel of each 3D image, information according to which said pixel has been extrapolated or not.
[0061] As mentioned previously, the processing device 6 is configured to process the 3D video stream coming from the shooting device 4.
[0062] More precisely, the processing device 6 is configured to implement an analysis method 20 (figure 2) comprising, for each 3D image from the 3D video stream, a step 22 of object detection, an identification step 24, a step 26 of kinematic calculation and a step 28 of projected position estimation.
[0063] The processing device 6 is also configured to implement, for each 3D image, a step 30 of managing the inventory of objects 12.
[0064] Advantageously, the processing device 6 is also configured to implement a step 32 for managing reflections. Object Detection 22
[0065] The processing device 6 is configured to, during the object detection step 22, and for each 3D image, detect the objects present in said 3D image.
[0066] For example, to detect each object in the scene, the processing device 6 is configured to implement an artificial intelligence model. Such an artificial intelligence model has, for example, been previously trained to recognize a set of predetermined objects (for example, vehicles, pedestrians, cyclists, strollers, buildings, street furniture, vegetation, etc.) according to their appearance.
[0067] Alternatively, or additionally, the processing device 6 is configured to detect each object from an analysis of the pixels of each 3D image.
[0068] More specifically, for each 3D image, the processing device 6 is configured to detect each object of the scene as being a set of related pixels for which a difference of the or each predetermined characteristic mentioned above, compared to neighboring pixels is greater than a predetermined threshold.
[0069] This is advantageous, insofar as such a characteristic allows detection of objects in the observed scene on the basis of a simple jump in value (also called "shearing") of the predetermined characteristic, and without requiring the implementation of complex segmentation and / or pattern recognition algorithms.
[0070] Alternatively, or additionally, the processing device 6 is configured to detect each object from the implementation of a Sobel filter comprising contour detection. Identification 24
[0071] The processing device 6 is also configured to maintain an object inventory 12. In particular, the object inventory 12 stores each detected object. More specifically, each detected object is associated, in the object inventory 12, with a respective unique identifier.
[0072] Furthermore, for each detected object, the processing device 6 is configured to write, in the object inventory 12, corresponding information.
[0073] Preferably, for each detected object, said information stored in the object inventory 12 comprises a representation associated with said object.
[0074] Advantageously, for each detected object, the corresponding representation comprises a set of pixels, each being, in particular, associated with a relative position in a predetermined reference frame. In this case, for the same object detected in the scene, the stored relative positions for the pixels of the associated representation are representative of the relative positions of the corresponding points of the object in the scene.
[0075] Further information relating to the objects detected and stored in the object inventory 12 will emerge from the description which follows.
[0076] To keep the object inventory 12 up to date, the processing device 6 is configured to determine, for each 3D image, and for each object detected in said 3D image, whether said detected object is present or not in the object inventory 12.
[0077] Preferably, the processing device 6 is configured to determine that an object detected in a current 3D image is present in the object inventory 12 (i.e., it has been detected in at least one previous 3D image) if a difference between the position of the detected object and a current projected position of an object in the object inventory 12 is less than a predetermined deviation.
[0078] Such a current projected position, representative of an expected position for a previously detected object, will be described later.
[0079] This feature is advantageous, as it allows recognition of previously detected objects based on their expected position, and without requiring the implementation of complex shape recognition algorithms.
[0080] Alternatively, or in a complementary manner, the processing device 6 is configured to determine that an object detected in a current 3D image is present in the object inventory 12 if the part of the current 3D image which corresponds to the detected object (or at least a fraction of this part) has a similarity (with regard to a predetermined similarity index, such as a correlation) greater than a predetermined threshold with at least a part of the representation corresponding to an object of the object inventory 12.
[0081] This feature is advantageous, as it allows the tracking of a previously detected object of interest even if it is partially obscured, for example by another object in the scene, interposed between the shooting device 4 and said object of interest.
[0082] Advantageously, for each detected object, the processing device 6 is configured to compare the part of the 3D image which is representative of said detected object with the corresponding representation stored in the object inventory 12, in order to determine whether at least a portion of said part of the 3D image is absent from said representation.
[0083] In this case, the processing device 6 is configured to enrich the representation with said at least one portion, that is to say to complete the representation of the object with the new data provided by the current 3D image.
[0084] This is advantageous, insofar as such a characteristic leads to constructing a potentially complete representation of the detected object, capable of being used by the piloting assistance device 8, or even for use in virtual reality software. Kinematic calculation 26
[0085] If the detected object is present in the object inventory 12, for the current 3D image and for said detected object, the processing device 6 is configured to determine a corresponding position and speed, in particular in the predetermined reference frame.
[0086] For example, the processing device 6 is configured to directly extract the position of the detected object, or of each part of the detected object, from the distance data associated with each of the pixels of the 3D image corresponding to said detected object.
[0087] For example, the processing device 6 is configured to determine the speed of the object from the current position and the previous position of the object, i.e. the position of the object on the last 3D image in which said object was detected.
[0088] Preferably, the processing device 6 is configured to write, in the object inventory 12, for said object, and for said 3D image, the corresponding determined position and / or speed.
[0089] Advantageously, for each 3D image, and for each detected object, the processing device 6 is also configured to determine an acceleration of said object.
[0090] For example, the processing device 6 is configured to determine the acceleration of the object from the current position and the last two positions determined for said object, i.e. the position of the object on the last and penultimate 3D images in which said object was detected.
[0091] In this case, the processing device 6 is also configured to write, in the object inventory 12, for said object, and for the current 3D image, the corresponding determined acceleration.
[0092] Preferably, in the case where, for all or part of the pixels of a given 3D image, the corresponding point of the scene has been observed by a single camera 10, the processing device 6 is also configured to calculate a margin of error on the determined position and / or speed of the object.
[0093] Such a characteristic is advantageous, insofar as it leads to taking into account the fact that the depth (i.e. the distance from the shooting device 4) is generally poorly estimated for the points of the scene observed by means of a single camera, which is likely to lead to a poor estimation of the real volume of each object and therefore, by extension, of its position and / or its speed.
[0094] Similarly, in the case where, for a given 3D image, all or part of the pixels associated with an object have been extrapolated and / or are saturated, the processing device 6 is also configured to calculate, accordingly, a margin of error on the determined position and / or speed of the object.
[0095] Such a characteristic is advantageous, insofar as it allows the taking into account of a risk of extrapolation error or insufficient detection quality (for example linked to a risk of occultation of a part of the object due to the saturation effect).
[0096] In this case, the processing device 6 is also configured to write, in the object inventory 12, for said object, and for the current 3D image, the corresponding margin of error on the position and / or the speed which has been calculated. Projected Position Estimate 28
[0097] Furthermore, the processing device 6 is configured to estimate the projected position of the detected object, mentioned above.
[0098] By "projected position", it is understood, within the meaning of the present invention, the most plausible future position for the detected object, at a time subsequent to a current time associated with the current 3D image, based on knowledge of at least part of its trajectory up to the current time.
[0099] In particular, for a given object that is detected in the current 3D image, the projected position is representative of the expected position for said object at the time associated with the next 3D image of the 3D video stream.
[0100] More specifically, the processing device 6 is configured to estimate the projected position of the object from the position and speed determined for the current 3D image.
[0101] Advantageously, in the case where the acceleration of the detected object has been determined during the kinematic calculation step 26, the processing device 6 is configured to also estimate the projected position of the object from the determined acceleration.
[0102] Preferably, the processing device 6 is configured to write, in the object inventory 12, for said object, and for said 3D image, the corresponding estimated projected position.
[0103] Preferably, the processing device 6 is also configured to calculate a margin of error on the estimated projected position of a given object. In particular, the processing device 6 is configured to calculate said margin of error on the estimated projected position if the position and / or the speed of said object determined during the kinematic calculation step 26 is (are) associated with a corresponding margin of error. In this case, the margin of error on the estimated projected position preferably depends on the margin of error associated with the position and / or the speed.
[0104] Alternatively, or in a complementary manner, the processing device 6 is configured to calculate a margin of error on the estimated projected position of a given object if, for all or part of the pixels associated with said object, it has been previously determined that: - the corresponding point of the scene was observed by a single camera 10; - said associated pixels have been extrapolated; and / or - said pixels are saturated.
[0105] Calculating a margin of error on the estimated projected position is advantageous, insofar as it is likely to cause the pilot assistance device 8 to control the vehicle 2 with improved safety conditions.
[0106] In this case, the processing device 6 is preferably also configured to write, in the object inventory 12, for said object, and for said 3D image, the margin of error calculated on the corresponding estimated projected position. 30 Object Inventory Management
[0107] For each object present in the object inventory 12 and not detected in the current 3D image, the processing device 6 is configured to, during the management step 30, update the corresponding projected position.
[0108] In particular, for each 3D image, and for each object present in the inventory 12 but not detected in said 3D image, the device of processing 6 is configured to update the corresponding projected position based on the speed of said object which was determined for the last 3D image on which the object was detected.
[0109] This is advantageous, since such an update facilitates subsequent identification of the object, based on a difference between the corresponding projected position, which is iteratively calculated for 3D images in which said object is not detected, and the actual position of the object when it is detected again.
[0110] Advantageously, in the case where the acceleration of the undetected object has been previously determined, the processing device 6 is configured to update the projected position of said undetected object also from the determined acceleration.
[0111] Advantageously, if a given object present in the object inventory 12 has not been detected in the current 3D image, as well as in a predetermined number of consecutive 3D images immediately preceding it, the processing device 6 is configured to delete said object from the object inventory 12.
[0112] Alternatively, or in addition, if the estimation of a series of projected positions of a given object present in the object inventory 12 makes it very unlikely that said object will be encountered by the vehicle 2 (i.e. the probability of such an encounter is lower than a predetermined floor value), the processing device 6 is configured to delete said object from the object inventory 12.
[0113] This feature is advantageous, insofar as it avoids uncontrolled growth of the memory space occupied by the object inventory 12. This would, for example, be likely to occur in a situation where vehicle 2 is on a road and encounters many vehicles moving in an opposite direction: there is little chance that the encountered vehicles will be encountered again.
[0114] By implementing steps 22 to 30, collisions with objects that are no longer visible are easier to avoid, as will be evident from the example in Figures 3A to 3C.
[0115] As illustrated in Figure 3A, the vehicle 2 is moving on a road 40. The processing device 6 detects, from the 3D video stream received from the shooting device 4, a grove 42 and a third-party vehicle 44. In addition, the processing device 6 determines the position and speed (illustrated by the arrow 46) of the third-party vehicle 44.
[0116] At a later time, and as shown in Figure 3B, the third-party vehicle 44 is completely screened by the grove 46, and is no longer visible from the vehicle 2.
[0117] By implementing the method 20, the projected position of the third-party vehicle 44 is determined, in particular from its speed 46 when it was still visible, which allows the piloting assistance device 8 to anticipate a future collision between the third-party vehicle (referenced 44') and the vehicle (referenced 2'), illustrated by FIG. 3C.
[0118] Furthermore, by implementing steps 22-30, collisions with objects that are only partially visible are also easier to avoid, as will be apparent from the example in Figures 4A-4C.
[0119] As illustrated in Figure 3A, the vehicle 2 is moving on the road 40. The processing device 6 detects, from the 3D video stream received from the shooting device 4, a parked vehicle 52 and a pedestrian 54.
[0120] At a later time, and as shown in Figure 4B, the pedestrian 54 is partially screened by the parked vehicle 56, such that a portion of the pedestrian is no longer visible from the vehicle 2.
[0121] When the processing device 6 is configured to determine that an object detected in a current 3D image is present in the object inventory 12 if a part of the current 3D image corresponding to the detected object has a similarity with at least one part of the representation corresponding to an object from the object inventory 12, the processing device 6 is able to follow the pedestrian 54 even in the situation of FIG. 4B.
[0122] In particular, the processing device 6 determines the position and speed (arrow 56) of the pedestrian 54, although he is only partially visible.
[0123] By implementing the method 20, the projected position of the pedestrian 54 is determined, in particular from his speed 56, which allows the piloting assistance device 8 to anticipate a future collision between the vehicle (referenced 2') and the pedestrian (referenced 54'), illustrated by figure 4C. Reflection Management 32
[0124] As indicated previously, the processing device 6 is advantageously configured to also implement a step 32 for managing reflections.
[0125] For example, in the example of Figure 5A, from vehicle 2, the first vehicle 60 is seen transparently through a window of the second vehicle 62.
[0126] In this case, in the scene projected onto the sensors of the camera device 4 of the vehicle 2, a part of the bodywork of the second vehicle 62 surrounds a part of the first vehicle 60.
[0127] In Figure 5B, from vehicle 2, the first vehicle 60 is seen by reflection on the window of the second vehicle 62.
[0128] However, the scene projected onto the sensors of the shooting device 4 is identical to that of figure 5A.
[0129] In the situations of Figures 5A and 5B, there is uncertainty as to whether it is the first object 60 itself or its reflection 60' that is observed.
[0130] In this case, for a given 3D image, if the processing device 6 determines, during the object detection step 22, that, in a plane of a detector of the image-taking device 4, a part of a first object detected is circumscribed in a part of a second detected object, the first object being located at a distance from the shooting device 4 greater than a distance from the second detected object, then the processing device 6 is configured to assign an attribute according to which the first detected object is a potential reflection.
[0131] Advantageously, for each first object (i.e. a detected object which is a potential reflection), the processing device 6 is configured to compare a position of the first object with the corresponding current projected position, if said first object has been previously detected.
[0132] Furthermore, for each first object, the processing device 6 is configured to assign to the attribute, depending on a result of the comparison, a first value, according to which the first object is a reflection, or a second value, according to which the first object is a real object.
[0133] If the first object has not been previously detected, that is to say if it is not present in the object inventory 12, the processing device 6 cannot implement such a comparison.
[0134] In this case, the processing device 6 is configured to calculate the position of a duplicate of the first object, such that the first object and its duplicate are symmetrical to each other with respect to the second object.
[0135] For example, in Figure 5B, the first object is the virtual image 60', and the double, whose position is calculated by the processing device 6, is the real object 60.
[0136] Furthermore, in this case, the processing device 6 is configured to, when implementing the steps of kinematic calculation 26 and estimation 28 of projected position for the following 3D images, determine the position, the speed and the projected position of the first object, but also of its double, preferably until it is determined which of the first object and its double is the object actually present in the scene. Functioning
[0137] The operation of the processing device 6 will now be described, with reference to FIG. 2.
[0138] The shooting device 4 acquires a 3D video stream representative of the observed scene and transmits it to the processing device 6.
[0139] During the object detection step 22, for each 3D image of the 3D video stream, the processing device 6 detects the objects present in said 3D image.
[0140] Then, during the identification step 24, the processing device 6 determines, for each 3D image, and for each object detected in said 3D image, whether said detected object is present or not in the object inventory 12.
[0141] Then, if the detected object is present in the object inventory 12, then, for the current 3D image and for said detected object, the processing device 6 determines, during the kinematic calculation step 26, a corresponding position and speed, in particular in the predetermined reference frame.
[0142] Then, during step 28 of estimating the projected position, the processing device 6 estimates the projected position of the detected object.
[0143] Then, during step 30 of managing the object inventory, for each object present in the object inventory 12 and not detected in the current 3D image, the processing device 6 updates the corresponding projected position.
[0144] Optionally, during step 32, the processing device 6 processes the potential reflections.
[0145] Of course, the invention is not limited to the examples which have just been described.
Claims
CLAIMS 1. Method for analyzing a 3D video stream representative of a scene observed through a shooting device (4) associated with a vehicle (2), the method being implemented by computer and comprising, for each image of the 3D video stream, the steps: - for each object detected in the image, if said detected object is present in an inventory of previously detected objects: • determination (26), for said image, of a position and a speed of the object; and • estimation (28) of a projected position of the object from the position and speed determined for said image, and - for each object present in the object inventory and not detected in the image, updating a corresponding projected position based on the speed of said object which was determined for the last image on which the object was detected.
2. Method according to claim 1, further comprising, for each image and for each object detected in the image and absent from the object inventory, the steps: - creation, in the object inventory, of a new object corresponding to said detected object; and - determination, for said image, of a position of the detected object.
3. Method according to claim 1 or 2, comprising, for each object present in the object inventory and not detected in a current image of the 3D video stream, a deletion of said object from the object inventory if the object has not been detected in a predetermined number of previous consecutive images of the 3D video stream and / or if an estimated probability of a new encounter with the object is less than a predetermined floor value.
4. Method according to any one of claims 1 to 3, in which for each image of the 3D video stream, each pixel is associated with a characteristic of the corresponding point of the scene, in which a set of related pixels, for which a difference of the characteristic compared to neighboring pixels is greater than a predetermined threshold, forms a detected object, and for each pixel, said characteristic being the distance from the shooting device (4) of the point of the scene corresponding to said pixel, and / or the color of said point and / or the speed.
5. The method of any one of claims 1 to 4, further comprising determining that an object detected in a current frame of the 3D video stream is present in the object inventory if a difference between a position of the detected object and a current projected position of an object in the object inventory is less than a predetermined deviation.
6. A method according to any one of claims 1 to 5, wherein each object in the object inventory is associated with a corresponding representation, the method comprising determining that an object detected in a current image of the 3D video stream is present in the object inventory if the portion of the current image corresponding to the detected object has a similarity greater than a predetermined threshold with at least a portion of the representation corresponding to an object in the object inventory.
7. Method according to any one of claims 1 to 6, in which each object of the object inventory is associated with a corresponding representation, the method comprising, for each image of the 3D video stream, and for each detected object present in the object inventory, the steps: - comparison of the part of the image representing said detected object with the corresponding representation in the object inventory for determining whether at least one portion of said part of the image is absent from the representation; and enriching the representation with said at least one portion.
8. Method according to claim 6 or 7, in which, for each object in the object inventory, the corresponding representation comprises a set of pixels, each pixel being associated with a relative position in a predetermined reference frame, the relative positions of the pixels of the same object being representative of the relative positions of the corresponding points of the scene.
9. Method according to any one of claims 1 to 8, comprising, for each image in which, in a plane of a detector of the image-taking device, a part of a first detected object is circumscribed in a part of a second detected object, the first object being located at a distance from the image-taking device greater than a distance from the second detected object, an assignment of an attribute according to which the first object is a potential reflection.
10. The method of claim 9, further comprising, for each first object present in the object inventory, the steps: - comparison of a position of the first object with the corresponding current projected position; and - depending on a result of the comparison, assignment, to the attribute, of a first value, according to which the first object is a reflection, or of a second value, according to which the first object is a real object.
11. The method of claim 10, further comprising, for each first object present in the object inventory, the steps: - determining a position of a duplicate of the first object, such that the first object and its duplicate are symmetrical to each other with respect to the second object; and - determination of a speed and a projected position of the double.
12. Method according to any one of claims 1 to 11, further comprising, for each image of the 3D video stream, information associated with at least one pixel and indicative of the fact that: - the point of the scene corresponding to said pixel was observed by a single camera (10) of the shooting device (4); - the pixel has been extrapolated; and / or - the pixel is saturated.
13. Method according to any one of claims 1 to 12, further comprising, for each image of the 3D video stream, and for each object detected in the image: - the calculation of a margin of error on the position and / or speed of the object determined for said image; and / or - the calculation of a margin of error on the projected position of the object estimated for said image.
14. A computer program comprising executable instructions which, when executed by a computer, implement the steps of the method according to any one of claims 1 to 13.
15. Processing device (6) for analyzing a 3D video stream representative of a scene observed through a shooting device (4) associated with a vehicle (2), the processing device (6) being configured so as to, for each image of the 3D video stream: - for each object detected in the image, if said detected object is present in an inventory (12) of previously detected objects: • determine, for said image, a position and a speed of the object; and • estimate a projected position of the object from the position and speed determined for said image, and - for each object present in the object inventory (12) and not detected in the image, updating a corresponding projected position as a function of the speed of said object which was determined for the last image on which the object was detected.
16. Vehicle (2) comprising a camera device (4) and a processing device (6) according to claim 15, the camera device (4) being configured to acquire a 3D video stream representative of a scene, and to transmit the acquired 3D video stream to the processing device (6).
17. Vehicle (2) according to claim 16, further comprising a driving assistance device (8) configured to calculate a set trajectory of the vehicle (2) as a function of a position, a speed and / or a projected position of at least one object present in the inventory of objects (12).
18. Use of an analysis method according to any one of claims 1 to 13, or of a processing device (2) according to claim 15, in a vehicle (2) according to claim 16 or 17, for the analysis of a 3D video stream representative of a scene observed through the camera device (4) of the vehicle (2).