Method for stabilizing a video stream provided by a camera installed in a motor vehicle

WO2026167169A1PCT designated stage Publication Date: 2026-08-13AMPERE SAS
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2026-02-06
Publication Date
2026-08-13

Smart Images

  • Figure EP2026053187_13082026_PF_FP_ABST
    Figure EP2026053187_13082026_PF_FP_ABST
Patent Text Reader

Abstract

The invention relates to a method for stabilizing a video stream provided by a camera (3) installed in a motor vehicle (1), characterized in that it comprises: - a step (E2) of calculating an optical flow (F1, F2) based on two successive images of the video stream, then - a first assignment step (E5) which comprises, for each vector of a subset of the vector field, assigning said vector to an angular class (C1, C2, C3, C4, C5, C6, C7, C8, C9) from a set of angular classes, depending on the orientation of the vector, then - a step (E6) of identifying, from among the set of angular classes, a dominant angular class (Cd) comprising the greatest number of vectors.
Need to check novelty before this filing date? Find Prior Art

Description

Description Title of the invention: Method for stabilizing a video stream provided by a camera mounted in a motor vehicle. Technical field of the invention

[0001] The invention relates to a method for stabilizing a video stream provided by a camera mounted in a motor vehicle. The invention also relates to a motor vehicle comprising a scene observation system at the front of the vehicle, including software and hardware means adapted to implement such a stabilization method. Prior art

[0002] We know of motor vehicles equipped with a system for observing a scene in front of the vehicle. Such a system generally includes a camera connected to a processing unit. The camera is positioned to observe a scene in front of the vehicle and is capable of providing a video feed to the processing unit. The processing unit is capable of continuously analyzing the video feed from the camera, notably using object recognition algorithms, to provide useful information to assist vehicle operation. For example, such a system can automatically identify lane markings and / or road signs, and / or determine the presence, position, or trajectory of other road users. Such vehicles typically include warning systems designed to send alerts to the driver and / or automatic control systems capable of automatically controlling the vehicle's speed and / or trajectory. The warning and / or control systems are designed to be operated based on information provided by the observation system.

[0003] Motor vehicles generally travel on relatively smooth roads. The images provided by the observation system's camera are therefore usually very stable. However, sometimes a road has irregularities such as potholes or speed bumps. When a vehicle drives over such an irregularity, its attitude is temporarily altered, which disrupts the video feed. During this disturbance, which can last from a few tenths of a second to several seconds, the images provided by the camera are difficult to use. This can lead to a delay in detecting objects in the scene, false detection of these objects, inaccurate distance estimates, and / or incorrect modeling of the equations used to model these objects. Scene observation systems installed in motor vehicles therefore exhibit relatively poor performance when a road surface temporarily alters the vehicle's attitude. Presentation of the invention

[0004] The object of the invention is to provide a method for stabilizing a video stream which remedies the above disadvantages and improves the prior art systems for observing a scene in front of the vehicle.

[0005] More specifically, a first object of the invention is a method for stabilizing a video stream provided by a camera mounted in a motor vehicle, which is particularly effective when the vehicle is driving over a bump such as a pothole or a speed bump. Summary of the invention

[0006] To this end, the invention relates to a method for stabilizing a flow video provided by a camera mounted in a motor vehicle, the process including: - a step of calculating an optical flux as a function of two successive images of the video stream, the optical flux comprising a vector field characterizing a variation between the two successive images, each vector comprising an amplitude and an orientation, then - a first assignment step comprising, for each vector of at least one subset of the vector field, an assignment of said vector to an angular class among a set of angular classes according to the orientation of said vector, then - a step of identifying a dominant angular class comprising the largest number of vectors among the set of angular classes, then - if the dominant angular class corresponds to a vertical or substantially vertical orientation, a step of calculating a vertical offset of the video stream as a function of the amplitude of the vectors belonging to the dominant angular class, then - a step of correcting the video stream using said previously calculated vertical offset.

[0007] The method of stabilizing a video stream may include, prior to said first assignment step, a filtering step of said subset of vector field by selecting vectors from the vector field comprising an amplitude greater than or equal to a predetermined threshold.

[0008] The said set of angular classes may comprise N angular classes, each angular class comprising an orientation range whose amplitude is equal to 360° / N, the set of angular ranges covering an orientation range whose amplitude extends from 0 to 360°.

[0009] The vertical offset calculation step may include: - a second assignment step comprising, for each vector belonging to the dominant angular class, an assignment of said vector to an amplitude class from among a set of amplitude classes as a function of the amplitude of said vector, then - a step of identifying a dominant amplitude class comprising the largest number of vectors among all amplitude classes, the vertical offset being calculated based on the amplitude of the vectors belonging to the dominant amplitude class.

[0010] The vertical offset can be calculated by averaging the magnitude of all vectors belonging to the dominant angular class or by averaging a vertical component of all vectors belonging to the dominant angular class.

[0011] The video stream stabilization step may include applying an inverse offset to the previously calculated vertical offset on at least one frame of the video stream.

[0012] The invention also relates to a method for automatically identifying an object appearing in a video stream provided by a camera mounted in a motor vehicle, the identification method comprising the implementation of the stabilization method as defined above, and then the automatic identification of said object on the stabilized video stream obtained by the implementation of the stabilization method.

[0013] The invention also relates to a computer program comprising instructions which, when the program is executed by a computer, lead the computer to implement the stabilization process as defined above or the automatic object identification process as defined above.

[0014] The invention also relates to a computer-readable recording medium comprising instructions which, when executed by a computer, cause the computer to implement the stabilization process as defined above or the automatic object identification process as defined above.

[0015] The invention also relates to a motor vehicle comprising a camera, a computing unit connected to the camera, the computing unit comprising a memory and a microprocessor, the memory comprising instructions which, when executed by the microprocessor, cause the latter to implement the stabilization method as defined above or the automatic object identification method as defined above. Presentation of the figures

[0016] These objects, features and advantages of the present invention will be described in detail in the following description of a particular embodiment, given by way of non-limiting example, with reference to the accompanying figures, among which:

[0017] Figure 1 is a schematic view of a motor vehicle according to one embodiment of the invention.

[0018] Figure [Fig. 2] is a synoptic diagram of a method for stabilizing a video stream provided by a camera mounted in the vehicle.

[0019] [Fig.3] is an image provided by the camera mounted in the vehicle.

[0020] The [Fig.4] is a vector field of a first optical flux calculated during the implementation of the stabilization process, the first optical flux corresponding to a situation in which the vehicle is driving on a flat surface.

[0021] The [Fig.5] is a vector field of a second optical flux calculated during the implementation of the stabilization process, the second optical flux corresponding to a situation in which the vehicle drives on a relief.

[0022] [Fig.6] is a filtered vector field resulting from a filtering step of the vector field of [Fig.5].

[0023] Figure 7 is a first histogram illustrating the distribution of first optical flux vectors among a set of angular classes.

[0024] Figure 8 is a second histogram illustrating the distribution of second optical flux vectors among a set of angular classes.

[0025] The [Fig.9] is a third histogram illustrating the distribution of second optical flux vectors among a set of amplitude classes. Detailed description

[0026] Figure 1 schematically illustrates a motor vehicle 1 according to an embodiment of the invention. The vehicle 1 may be, for example, a passenger car, a commercial vehicle, a truck, or even a bus. The vehicle 1 includes a scene observation system 2 located at the front of the vehicle. The observation system 2 comprises a camera 3 and a processing unit 4 connected to the camera 3. The vehicle 1 is traveling on a road 5 that includes a surface feature 6, in this case, a pothole. The vehicle 1 is about to drive over the surface feature, meaning that at least one of its wheels is about to make contact with said feature. The surface feature 6 may be a negative feature, i.e., a depression, or a positive feature, i.e., a protrusion relative to a plane in which the road 5 extends. The invention can be applied to any type of terrain that alters the vehicle's attitude when the vehicle drives over it.

[0027] Camera 3 is designed to capture images of the scene in front of the vehicle. Camera 3 is rigidly attached, either directly or indirectly, to the vehicle's chassis. The camera can be positioned so that its field of view is centered on a longitudinal axis of the vehicle, that is, the axis along which the vehicle travels in a straight line. The camera can be mounted on the front of the vehicle and / or at the height of the vehicle's windshield, or even on the vehicle's roof. Preferably, camera 3 is centered laterally on the vehicle.

[0028] Camera 3 can be configured to capture images belonging to the visible spectrum and / or belonging to an invisible spectrum. For example, camera 3 can be configured to capture images belonging to the infrared spectrum, and / or the ultraviolet spectrum, and / or the radio wave and / or microwave spectrum, and / or the X-ray and / or gamma ray spectrum.

[0029] The camera's field of view can have, for example, a field of view angle between 60° and 180°. The camera's field of view can be analogous to the field of view of a vehicle driver whose gaze is centered on the longitudinal axis of the vehicle.

[0030] Camera 3 is connected to the processing unit 4, for example, via a wired connection. The processing unit 4 is thus configured to receive, in real time, a video stream captured by Camera 3. The video stream is advantageously transmitted in digital form, for example, as successive frames. Camera 3 can be configured to provide at least 20 frames per second, or even at least 30 frames per second, to the processing unit 4. Different types of encoding for the frames sent by Camera 3 are possible. For example, each frame can contain an image captured by Camera 3. Alternatively, each frame can contain information relating to a change between two successive images captured by the camera. This allows the video stream to be compressed and thus a greater amount of useful information to be transmitted per unit of time.In all cases, the computing unit 4 is capable of acquiring or recalculating, at a given frequency, a succession of images captured by the camera 3.

[0031] The processing unit 4 comprises a microprocessor 41 and a memory 42. The memory 42 is a data storage medium on which is stored a computer program comprising instructions for implementing a method of stabilizing the video stream according to an embodiment of the invention. The microprocessor 41 is capable of executing this computer program.

[0032] An embodiment of a stabilization method according to the invention is now described with reference to the diagram shown in [Fig. 2]. The stabilization method is iterative. It can be repeated continuously as long as the vehicle is in use. It is assumed that the method is implemented while the vehicle is traveling on road 5 and is about to drive over the terrain feature 6.

[0033] In the first step, E1, camera 3 provides a video stream to processing unit 4. Processing unit 4 thus acquires a succession of images at regular intervals. Each image represents the scene in front of vehicle 1 at a given moment. The images acquired by processing unit 4 are digital images: they are defined by a set of pixels. Typically, these images have a rectangular format. Successive images have the same format. Each image might, for example, comprise 600 pixels horizontally and 200 pixels vertically. Alternatively, the number of pixels horizontally and / or vertically could, of course, be different.

[0034] A specific image 10 acquired by the computing unit 4 is illustrated as an example in [Fig. 3]. Image 10 includes a portion of road 5 in front of the vehicle. Road 5 has two lanes and curves slightly to the left. Vehicle 1 is traveling in the right lane. A second vehicle 7 is in front of vehicle 1 and straddles a dashed dividing line between the two lanes. A third vehicle 8, specifically a motorcycle, is in front of vehicle 1 in the right lane. Finally, a traffic sign 9 is present on the right edge of the scene. The second vehicle 7, the third vehicle 8, and the traffic sign 9 are examples of objects intended to be identified by the observation system 2.

[0035] Next, in a second step E2, an optical flux is calculated from the video stream. The optical flux is a numerical value characterizing the change in distance between two successive images of the video stream. The optical flux can be considered a function derived from the video stream. More precisely, the optical flux comprises, at each instant, a vector field characterizing the displacement of a pixel or group of pixels between two successive images. These two successive images can be directly consecutive, meaning without any intermediate images between them, or, conversely, separated by one or more intermediate images.

[0036] Optical flux can, for example, be calculated using the Lucas-Kanade method. Alternatively, other methods could be considered.

[0037] Each optical flow vector is associated with a pixel or group of pixels in the video stream. When no change in the position of the pixel or group of pixels is detected, the corresponding vector is zero. Conversely, when a change in the pixel or group of pixels is detected, the corresponding vector is oriented in the direction of the movement of that pixel or group of pixels. The vectors in the vector field are two-dimensional and extend in the image representation plane of the video stream. The angle of a vector is defined as the trigonometric angle of that vector with respect to a horizontal axis. A vector with a zero angle is a vector oriented to the right. A vector with a 90° angle is a vector oriented upwards, and so on. Vectors oriented horizontally (to the right or to the left) represent a horizontal movement of the corresponding pixel or group of pixels.Vertically oriented vectors (pointing downwards or upwards) represent a vertical displacement of the corresponding pixel or group of pixels. The length of each vector characterizes the magnitude of the displacement of the pixel or group of pixels. The origin of each vector is located at the center of the corresponding pixel or group of pixels.

[0038] Figure 4 illustrates a first example of an optical flux Fl corresponding to the instant of image 10 shown in Figure 3. Different zones can be identified in Figure 4: the optical flux Fl includes, in particular, a first zone Z1 with vectors oriented in various directions. This first zone Z1 corresponds to the second vehicle 7. The optical flux Fl also includes zones Z2, Z3, and Z4 with vectors whose amplitude is zero or almost zero. Zones Z2, Z3, and Z4 correspond to very dark or uniformly colored parts of image 10, for which no color variation or only slight color variation of pixels or groups of pixels has been detected, for example, the road or the sky. The optical flux Fl also includes a virtual vertical separation line VI. The vectors corresponding to fixed parts of the scene that are positioned to the right of the vertical separation line V1 are generally oriented to the right.The vectors corresponding to fixed parts of the environment, positioned to the left of the vertical separation line V1, are generally oriented to the left. The lateral position of the vertical separation line VI relative to the center of the image is intended to change depending on whether vehicle 1 is turning right or left. The optical flow Fl illustrated in [Fig. 4] is characteristic of a normal driving situation, observed when the road 5 has no particular topography that could disrupt the video flow.

[0039] Figure 5 now illustrates a second example of an optical flux F2 corresponding to the instant when vehicle 1 is driving over the surface 6. It can be observed that the second optical flux F2 comprises a large number of downward-directed vectors. These downward-directed vectors are caused by a change in the vehicle's attitude at the instant when at least one of its wheels makes contact with the surface. In this case, the vehicle is driving over a pothole. When a wheel of the vehicle enters the pothole, the vehicle's attitude tilts downward. Then, when the vehicle exits the pothole, the vehicle's attitude tilts upward before stabilizing again.The change in the vehicle's attitude results in a sudden, or step, variation in the pitch angle of camera 3's field of view. The pitch angle can be defined, in a longitudinal and vertical plane, as the angle formed between a center of camera 3's field of view and a plane on which the vehicle is traveling. As we will see in detail later, this sudden variation in the pitch angle can be detected because it results in a generally uniform and vertical displacement of pixels between two successive images.

[0040] Optionally, but advantageously, the stabilization process can then include a step E3 for defining a subset of the optical flux vector field. For example, the subset of the vector field could include a given fraction of the vectors from the vector field obtained at the end of the second step E2, specifically every other vector in the width direction and / or width direction. Step E3 thus allows for the consideration of a vector field with a smaller total number of vectors, thereby reducing the calculations required during the subsequent execution of the stabilization process. Alternatively, step E3 could be omitted, and the process would then proceed using all the optical flux vectors.

[0041] Next, and also as an optional and advantageous step, the stabilization process includes a filtering step E4 of the subset of the vector field by selecting vectors with an amplitude greater than or equal to a predetermined amplitude threshold. This threshold can be adjusted by parameterization. This filtering step allows for the neglect of small variations in the image that may be related to any disturbance in the video stream or to slight variations in road surface. Figure 6 illustrates, as an example, an optical flow F2' obtained after the filtering step E4: the vectors in the vector field whose amplitude is less than this threshold have been removed. If no vector, or a number of vectors less than or equal to a threshold, have an amplitude greater than or equal to this amplitude threshold, the video stream is considered not to be significantly altered, and the stabilization process can be stopped at this stage.

[0042] Next, the stabilization process includes a first step (E5) of assigning vectors from the filtered vector field after the filtering step (E4). During this step, each vector in the filtered vector field is assigned to an angular class, or in other words, an orientation class, from a set of angular classes based on the vector's orientation. Then, once all the vectors in the vector field have been assigned to an angular class, the number of vectors belonging to each class is counted. In other words, a histogram characterizing the orientation of the vectors in the filtered vector field is generated.

[0043] Advantageously, the set of angular classes comprises N angular classes. Each angular class comprises an orientation range whose amplitude is equal to 360° / N. The set of angular ranges covers an orientation range whose amplitude extends from 0 to 360°. Thus, all vectors in the filtered vector field can be assigned to one and only one angular class. According to the embodiment presented, the angular range from 0 to 360° has been divided into 24 distinct angular classes, each covering an angle of 15° (N = 24). Alternatively, the number N of angular classes could be different, for example, any number between 12 and 48, preferably any number between 18 and 32.

[0044] Figure 7 illustrates, with a first polar histogram H1, the results of the first assignment step E5 for a vector field Fl' obtained from filtering the vector field Fl shown in Figure 4. Four angular classes Cl, C2, C3, and C4 have a significant number of vectors. These four angular classes Cl, C2, C3, and C4 correspond respectively to the angular ranges [315°; 330°[, [330°; 345°[, [345°; 360°[, and [0°; 15°[. The dominant angular class Cd is defined as the angular class containing the largest number of vectors. In this case, the dominant angular class Cd is angular class C2, corresponding to the angular range [330°; 345°[. Indeed, when we observe [Fig. 4], we observe that there is a majority of vectors oriented to the right, and in particular in the angular range [330°; 345°[. This is related to the fact that the optical flux represented on [Fig.[4] corresponds to a situation where vehicle 1 is turning to the left. In [Fig. 4], the angles of the vectors are generally far from the vertical axis.

[0045] Similarly, [Fig. 8] illustrates, by means of a second polar histogram H2, the results of the first assignment step E5 for the vector field F2' shown in [Fig. 6]. Five angular classes C5, C6, C7, C8, and C9 have a significant number of vectors. These five angular classes C5, C6, C7, C8, and C9 correspond respectively to the angular ranges [210°; 225°[, [225°; 240°[, [240°; 255°[, [255°; 270°[ and [270°; 285°[. The dominant angular class Cd is angular class C8, corresponding to the angular range [255°; 270°[. Indeed, when observing [Fig. 6], we observe that there is a majority of vertically oriented vectors, particularly downwards, and especially in the angular range [255°; 270°[. This is related to the fact that the optical flux represented in [Fig. 6] corresponds to a situation where vehicle 1 is driving over the terrain 6 and therefore experiences a sudden change in its attitude.

[0046] Next, in a sixth step E6, the dominant angular class, or principal mode, is identified from among all the angular classes. This is done by comparing the number of vectors in each angular class and selecting the one with the highest number. Advantageously, the total number of vectors in the vector field is large enough to make it unlikely that two different angular classes would have the same number of vectors, let alone the highest number. If this were to happen, one could, for example, agree to retain as the dominant angular class the one whose bounds are closest to a given angle value. In other words, a preference order for the different angular classes can be defined in case of a tie.

[0047] Next, in a seventh step E7, it is checked whether the dominant angular class corresponds to a vertical or substantially vertical orientation. A substantially vertical orientation class can be defined as a class where the difference between, on the one hand, the angle 90° or the angle 270° and, on the other hand, the average between the two endpoints (or one of the two endpoints, or both endpoints) of this angular class is less than or equal to a predefined value, for example, 10°, 20°, or 30°. As another example, the substantially vertical orientation classes can be defined as classes C5, C6, C17, and C18, corresponding respectively to the angular ranges [75°; 90°[, [90°; 105°[, [255°; 270°[, and [270°; 285°[. If the dominant angular class corresponds to a vertical or substantially vertical orientation, this means that the corresponding optical flux vectors are predominantly oriented upwards or downwards.

[0048] Next, two options are possible depending on the result of the test performed during step seven, E7. If the dominant angular class does not correspond to a vertical or near-vertical orientation, the optical flow vectors are considered to represent ordinary movement of objects in the scene, and the stabilization process can be stopped at this stage. Conversely, if the dominant angular class corresponds to a vertical or near-vertical orientation (upward or downward), the optical flow vectors are considered to represent a situation where the vehicle is traveling over a terrain feature. In this case, the stabilization process continues to perform an appropriate correction of the video stream.

[0049] In an eighth step E8, we therefore proceed with a step of calculating the vertical offset of the video stream as a function of the amplitude of the vectors belonging to the dominant angular class.

[0050] According to a first, simple method for calculating the vertical shift, the amplitude of all vectors belonging to the dominant angular class is averaged. Alternatively, the vertical component of all vectors belonging to the dominant angular class can be averaged. This avoids interfering with the calculation of the vertical shift due to a small horizontal component of these vectors.

[0051] A second, particularly precise method for calculating the vertical offset is proposed below and illustrated in the diagram in [Fig. 2]. This second method includes a second assignment step E81, which, for each vector belonging to the dominant angular class, assigns said vector to an amplitude class from a set of amplitude classes based on the vector's amplitude. The number of amplitude classes in this set of amplitude classes can be, for example, between 5 and 15. [Fig. 9] illustrates, with a third histogram H3, the results of the second assignment step E81 for the vectors from the dominant angular class. Following the example shown in [Fig. 9], nine amplitude classes have been defined: D1, D2, D3, D4, D5, D6, D7, D8, and D9.Next, when all vectors of the dominant angular class are assigned to an amplitude class, the number of vectors belonging to each amplitude class is counted.

[0052] Next, the second method includes a step E82 for identifying a dominant amplitude class Dd from among the set of amplitude classes D1, D2, D3, D4, D5, D6, D7, D8, and D9. The dominant amplitude class is the amplitude class containing the largest number of vectors. This is determined by comparing the number of vectors in each amplitude class and selecting the class with the highest number. According to the example shown in [Fig. 9], amplitude class D8 is the dominant amplitude class Dd.

[0053] Next, in a third substep E83, the vertical shift is calculated as a function of the amplitudes of the vectors belonging to the dominant amplitude class. For example, one can calculate an average of the amplitudes of the vectors belonging to the dominant amplitude class or an average of the vertical component of the vectors belonging to the dominant amplitude class. Alternatively, the vertical shift can be defined as equal to the average of the bounds defining the dominant amplitude class.

[0054] This second method is more precise because it allows the vertical offset to be calculated without the result being influenced by the forward movement of vehicle 1. Indeed, the forward movement of the vehicle generates a number of vertical vectors in the optical field, particularly at the virtual vertical separation line V1 described previously. These vertical vectors, whose presence in the optical flow stems from the forward movement of the vehicle and is therefore independent of any terrain features on the road, could disrupt the calculation of the vertical offset. Advantageously, the second method presented above allows us to at least partially exclude the vertical vectors related to the forward movement of the vehicle, and thus make the calculation of the vertical offset more precise.

[0055] Next, in a ninth step E9, the video stream is corrected using the previously calculated vertical offset. This is achieved by applying a vertical pixel offset equal to the previously calculated vertical offset to the next image received from the camera. The pixel offset is performed in the opposite direction to the dominant angular class orientation: if the dominant angular class is oriented upwards, the image pixels are shifted downwards. Conversely, if the dominant angular class is oriented downwards, the image pixels are shifted upwards. Shifting the image pixels upwards or downwards may result in the exclusion of a band of pixels at the top or bottom edge of the image. Conversely, an undefined band of pixels may appear at the opposite edge of the image.Undefined pixels can be identified as such so that they are not taken into account in future processing of the video stream. In one embodiment, the calculated offset can be applied not only to the next frame of the video stream but also to a succession of subsequent frames, optionally by progressively attenuating the vertical offset to eliminate it. A number of corrected frames and / or a correction attenuation factor can be determined during a development phase of the vehicle stabilization process. These parameters may depend on the vehicle's suspension system and / or the expected performance.

[0056] Finally, the process described above results in a stabilized video stream. This stabilized video stream is not disturbed, or is significantly less disturbed, by the vehicle's passage over uneven terrain. The video stream is therefore more precise. This then allows for the implementation of object detection and recognition algorithms within the video stream. These algorithms benefit from a higher-quality video stream and are therefore more responsive and accurate. The stabilization process is based solely on the analysis of the images provided by the camera. Implementing this stabilization process does not require an acceleration sensor or other onboard equipment that would complicate the vehicle's manufacturing. It also eliminates the need for complex suspension systems to attach the camera to the vehicle.

[0057] Advantageously, the vertical offset calculated during the stabilization process can be communicated to other onboard components of the vehicle. For example, the vertical offset can be provided to an onboard lidar system to optimize its operation. The vertical offset can also be transmitted via an onboard communication system to alert other road users to the presence of a bump or other feature on the road.

Claims

Demands

1. A method for stabilizing a video stream provided by a camera (3) mounted in a motor vehicle (1), characterized in that it comprises: - a calculation step (E2) of an optical flux (Fl, F2) as a function of two successive images of the video flux, the optical flux comprising a vector field characterizing a variation between the two successive images, each vector comprising an amplitude and an orientation, then - a first assignment step (E5) comprising, for each vector of at least one subset of the vector field, an assignment of said vector to an angular class (C1, C2, C3, C4, C5, C6, C7, C8, C9) from among a set of angular classes according to the orientation of said vector, then - an identification step (E6) of a dominant angular class (Cd) comprising the largest number of vectors among the set of angular classes, then - if the dominant angular class corresponds to a vertical or substantially vertical orientation, a calculation step (E8) of a vertical offset of the video stream as a function of the amplitude of the vectors belonging to the dominant angular class, then - a correction step (E9) of the video stream using the previously calculated vertical offset.

2. A method for stabilizing a video stream according to the preceding claim, characterized in that it comprises, prior to said first assignment step (E5), a filtering step (E4) of said subset of vector field by selecting vectors from the vector field comprising an amplitude greater than or equal to a predetermined threshold.

3. A method for stabilizing a video stream according to any one of the preceding claims, characterized in that said set of angular classes (C1, C2, C3, C4, C5, C6, C7, C8, C9) comprises N angular classes, each angular class comprising an orientation range whose amplitude is equal to 360° / N, the set of angular ranges covering an orientation range whose amplitude extends from 0 to 360°.

4. A method for stabilizing a video stream according to any one of the preceding claims, characterized in that the calculation step (E8) of the vertical offset comprises: - a second assignment step (E81) comprising, for each vector belonging to the dominant angular class (Cd), an assignment of said vector into an amplitude class (D1, D2, D3, D4, D5, D6, D7, D8, D9) from among a set of amplitude classes as a function of the amplitude of said vector, then - an identification step (E82) of a dominant amplitude class (Dd) comprising the largest number of vectors among the set of amplitude classes, the vertical offset being calculated based on the amplitude of the vectors belonging to the dominant amplitude class.

5. Method for stabilizing a video stream according to any one of claims 1 to 3, characterized in that the vertical offset is calculated by an average of the amplitude of all vectors belonging to the dominant angular class (Cd) or by an average of a vertical component of all vectors belonging to the dominant angular class.

6. A method for stabilizing a video stream according to any one of the preceding claims, characterized in that the video stream stabilization step includes applying an inverse offset to the vertical offset previously calculated on at least one frame of the video stream.

7. Method for automatically identifying an object (7, 8, 9) appearing in a video stream provided by a camera (3) mounted in a motor vehicle, the identification method comprising implementing the stabilization method according to one of the preceding claims, and then automatically identifying said object on the stabilized video stream obtained by implementing the stabilization method.

8. A computer program comprising instructions which, when the program is executed by a computer, cause the computer to implement the stabilization method according to any one of claims 1 to 6 or the automatic object identification method according to claim 7.

9. A computer-readable recording medium comprising instructions which, when executed by a computer, cause the computer to carry out the stabilization method according to any one of claims 1 to 6 or the automatic object identification method according to claim 7.

10. Motor vehicle (1) comprising a camera, a computing unit (4) connected to the camera, the computing unit comprising a memory (42) and a microprocessor (41), the memory comprising instructions which, when executed by the microprocessor, cause the latter to implement the stabilization method according to any one of claims 1 to 6 or the automatic object identification method according to claim 7.