Apparatus and method for estimating road geometry
By detecting vehicle bounding boxes and features using camera modules and processing equipment, and combining this with sensor information, the road geometry can be accurately estimated, solving the problem of insufficient accuracy in existing technologies and improving the effectiveness of autonomous driving and driver assistance.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SAMSUNG ELECTRONICS CO LTD
- Filing Date
- 2020-11-09
- Publication Date
- 2026-07-10
AI Technical Summary
Existing technologies struggle to accurately estimate the geometry of the road a vehicle travels on, impacting the accuracy of autonomous driving and driver assistance systems.
The input image is generated by the camera module, the bounding boxes of distant vehicles are detected by the processing device and features are extracted, the geometry of the road is estimated based on the feature location, and compensation is performed by combining sensor information.
It enables accurate estimation of road geometry, improving the precision and safety of autonomous driving and driver assistance systems.
Smart Images

Figure CN113221609B_ABST
Abstract
Description
[0001] Cross-reference to related applications
[0002] This application claims priority to Korean Patent Application No. 10-2020-0013304, filed on February 4, 2020, with the Korean Intellectual Property Office, the disclosure of which is incorporated herein by reference in its entirety. Technical Field
[0003] This disclosure relates to techniques for collecting information about the driving of a vehicle, and more specifically, to apparatus and methods for estimating road geometry. Background Technology
[0004] Various types of information can be collected for use in autonomous driving and / or driver assistance. For example, a vehicle may include various sensors configured to sense the vehicle's state and the state of its surroundings, and useful information can be generated based on the sensor outputs. The collected information can be utilized in various ways. For example, the collected information can be used to control the vehicle or provided to the vehicle's driver. User convenience and safety may be crucial while driving the vehicle. Therefore, the information collected to assist in driving the vehicle should be highly accurate. Summary of the Invention
[0005] This disclosure provides an apparatus and method for accurately and conveniently estimating the geometry of the road on which a vehicle travels.
[0006] According to one aspect of this disclosure, a method includes: obtaining an input image generated by imaging a distant vehicle; detecting a bounding box of the distant vehicle from the input image; extracting at least one feature of the distant vehicle from the input image; and estimating the geometry of the road in which the distant vehicle is located based on the position of the at least one feature relative to at least a portion of the bounding box.
[0007] According to another aspect of this disclosure, a processing apparatus is provided, comprising: a first processor configured to detect a bounding box of a distant vehicle in an input image generated by imaging a distant vehicle, and to extract at least one feature of the distant vehicle; and a second processor configured to estimate the geometry of a road in which the distant vehicle is located based on the position of at least one feature relative to at least a portion of the bounding box.
[0008] According to another aspect of this disclosure, a vehicle is provided, comprising: a camera module configured to image a distant vehicle and generate an input image; a processing device configured to detect a bounding box of the distant vehicle and at least one feature in the input image, and to estimate the geometry of a road in which the distant vehicle is located based on the position of the at least one feature relative to at least a portion of the bounding box; and a controller configured to generate a control signal for controlling the vehicle based on the geometry of the road. Attached Figure Description
[0009] Embodiments of this disclosure will become clearer from the following detailed description taken in conjunction with the accompanying drawings, in which:
[0010] Figure 1 This is a block diagram of a vehicle according to an example embodiment;
[0011] Figure 2 This is a flowchart of a method for estimating road geometry according to an example embodiment;
[0012] Figure 3 An example of image data and bounding box according to an example embodiment is shown;
[0013] Figure 4 This is a flowchart of a method for estimating road geometry according to an example embodiment;
[0014] Figures 5A to 5C This is an illustration of examples of bounding boxes and features based on an example embodiment;
[0015] Figure 6 This is a flowchart of a method for estimating road geometry according to an example embodiment;
[0016] Figures 7A to 7C This is an illustration of an example of road geometry and image data based on an example embodiment;
[0017] Figure 8 This is a flowchart of a method for estimating road geometry according to an example embodiment;
[0018] Figure 9 An example of image data according to an example embodiment is shown;
[0019] Figure 10 This is a flowchart of a method for estimating road geometry according to an example embodiment;
[0020] Figure 11A and Figure 11B An example of road geometry estimated according to an example embodiment is shown;
[0021] Figure 12 This is a flowchart of a method for estimating road geometry according to an example embodiment;
[0022] Figure 13 This is a flowchart of a method for estimating road geometry according to an example embodiment;
[0023] Figure 14 This is a flowchart of a method for estimating road geometry according to an example embodiment;
[0024] Figure 15 This is a block diagram of a vehicle according to an example embodiment; and
[0025] Figure 16 This is a flowchart of a method for estimating road geometry according to an example embodiment. Detailed Implementation
[0026] Figure 1 This is a block diagram of a vehicle 100 according to an example embodiment. Vehicle 100 can refer to any movable object traveling on a road. For example, vehicle 100 can refer to an object designed for transporting people or objects (e.g., bicycle, car, motorcycle, train, etc.), or an object designed to be movable for a purpose different from transportation. As used herein, automobiles will primarily be described as examples of vehicle 100, but it will be understood that the example embodiment is not limited thereto. Figure 1 As shown, vehicle 100 may include processing device 110, camera module 120, and at least one sensor 130. In some embodiments, reference is made to the following... Figure 15 As described, the vehicle 100 may also include various mechanical components for driving operations.
[0027] Camera module 120 can image (or photograph) another vehicle spaced apart from vehicle 100 and generate image data IMG. For example, camera module 120 can be mounted to photograph the front of vehicle 100 and generate image data IMG corresponding to the image including the vehicle in front. Additionally, camera module 120 can be mounted to photograph the rear of vehicle 100 and generate image data IMG corresponding to the image including the vehicle behind. In some embodiments, camera module 120 may include an image sensor capable of sensing visible light, and the image data IMG may refer to a visible light image. In some embodiments, the image data IMG may indicate an infrared (IR) image, a grayscale image, and / or a depth image. In some embodiments, vehicle 100 may include two or more camera modules, and multiple image data corresponding to various images can be generated. As used herein, a vehicle spaced apart from vehicle 100 and photographed by camera module 120 may be referred to as a distant vehicle or another vehicle. A distant vehicle located in front of vehicle 100 may be referred to as a front vehicle, and a distant vehicle located behind vehicle 100 may be referred to as a rear vehicle. Furthermore, the vehicle 100, which includes a camera module 120 configured to photograph distant vehicles, can be referred to as the main vehicle.
[0028] At least one sensor 130 can sense the state of vehicle 100 or the surrounding state of vehicle 100 and generate a sensing signal SEN. In some embodiments, at least one sensor 130, as a distance sensor configured to measure the distance to a distant vehicle, may include a light detection and ranging (LIDAR) sensor, a radio detection and ranging (RADAR) sensor, a time-of-flight (ToF) sensor, an ultrasonic sensor, and / or an IR sensor. In some embodiments, to sense the state of vehicle 100, at least one sensor 130 may include a geomagnetic sensor, a global positioning system (GPS) sensor, an accelerometer sensor, and / or a gyroscope sensor. Furthermore, in some embodiments, at least one sensor 130 may also include a pressure sensor and a temperature / humidity sensor. As described below, in some embodiments, the sensing signal SEN may be used by processing device 110 to estimate the geometry of the road.
[0029] The processing device 110 can communicate with the camera module 120 and at least one sensor 130. For example, such as Figure 1As shown, processing device 110 can receive image data IMG from camera module 120 or sensing signal SEN from at least one sensor 130. As used herein, the image data IMG received by processing device 110 from camera module 120 may be referred to as an input image. Processing device 110 can be any electronic device capable of processing data and / or signals. For example, processing device 110 can be an integrated circuit (IC) manufactured using semiconductor processes, or a module comprising at least two semiconductor packages and a board on which the semiconductor packages are mounted. Figure 1 As shown, the processing device 110 may include a first processor 111, a second processor 112, a memory 113, and an input / output (I / O) interface 114, which can communicate with each other via a bus 115. In some embodiments, at least two of the first processor 111, the second processor 112, the memory 113, and the I / O interface 114 may communicate directly with each other without using the bus 115. In some embodiments, the bus 115 may be omitted.
[0030] The first processor 111 can process image data IMG and is also referred to as an image processor. For example, the first processor 111 can detect the bounding box of a distant vehicle from the image data IMG. Furthermore, the first processor 111 can extract at least one feature of the distant vehicle from the image data IMG. In some embodiments, the first processor 111 can detect the bounding box and / or extract at least one feature based on a model learned from multiple vehicle images. For this purpose, in some embodiments, the first processor 111 may include a neural network processing unit (NPU). As described below, the pose of the distant vehicle can be determined based on the bounding box detected by the first processor 111 and the at least one feature extracted by the first processor 111.
[0031] The second processor 112 can estimate the geometry of the road where a distant vehicle is located. For example, the second processor 112 can obtain the bounding box of the distant vehicle and at least one feature from the first processor 111; determine the pose of the distant vehicle based on the position of at least one feature relative to at least a portion of the bounding box; and estimate the geometry of the road where the distant vehicle is located based on the pose of the distant vehicle. Furthermore, the second processor 112 can compensate for the estimated road geometry based on the state of the vehicle 100. See below for reference. Figure 15 and Figure 16 As described, the road geometry estimated by the second processor 112 can be used for various functions useful to the driving vehicle 100. For example, the second processor 112 can assist in lane detection based on the estimated road geometry.
[0032] In some embodiments, each of the first processor 111 and the second processor 112 may include hardware logic designed through logic synthesis. Furthermore, in some embodiments, each of the first processor 111 and the second processor 112 may include at least one core that executes instructions stored in the internal memory and / or memory 113 of the first processor 111. For example, each of the first processor 111 and the second processor 112 may refer to any hardware-implemented data processing device including circuitry physically configured to perform predetermined operations, which include operations represented by instructions and / or code included in a program. For example, the data processing device may include a microprocessor (MP), a central processing unit (CPU), a graphics processing unit (GPU), a neural processing unit (NPU), a processor core, a multi-core processor, a multiprocessor, an application-specific integrated circuit (ASIC), a dedicated instruction set processor (ASIP), and a field-programmable gate array (FPGA). In some embodiments, with Figure 1 As shown, the processing device 110 may include a single processor configured to perform all operations of the first processor 111 and the second processor 112. As used herein, operations performed by the first processor 111 and / or the second processor 112 may also be referred to as operations performed by the processing device 110.
[0033] Memory 113 may store data processed or to be processed by the first processor 111 and the second processor 112, or data received or to be sent to the outside via I / O interface 114. For example, memory 113 may store image data (IMG) provided by camera module 120, data generated by the first processor 111 regarding the bounding box and at least one feature of a distant vehicle, or data regarding road geometry generated by the second processor 112. In some embodiments, memory 113 may store a series of instructions executed by the first processor 111 and the second processor 112. In some embodiments, memory 113 may include volatile memory devices such as dynamic random access memory (DRAM) and static RAM (SRAM). In some embodiments, memory 113 may include non-volatile memory devices such as electrically erasable programmable read-only memory (EEPROM), silicon-oxygen-nitrogen-oxygen-silicon (SONOS) memory, polymer memory, magnetic RAM (MRAM), phase-change RAM (PRAM), and / or resistive RAM (RRAM).
[0034] I / O interface 114 can provide an interface with external components of processing device 110. For example, such as Figure 1As shown, I / O interface 114 can provide an interface with camera module 120 or an interface with at least one sensor 130. In some embodiments, I / O interface 114 can provide an interface for outputting the geometry of the road estimated by the second processor 112.
[0035] Figure 2 This is a flowchart of a method for estimating road geometry according to an example embodiment. Figure 2 As shown, the method for estimating road geometry may include multiple operations (e.g., S20, S40, S60, and S80). In some embodiments, it can be achieved through... Figure 1 The processing device 110 is used to perform the operation. Figure 2 The method will be referenced below. Figure 1 To describe Figure 2 .
[0036] In operation S20, the operation of acquiring image data IMG can be performed. For example, processing device 110 can receive image data IMG generated by using camera module 120 to photograph a distant vehicle. In some embodiments, operation S20 can be performed after operation S40 or in parallel with operation S40.
[0037] In operation S40, the operation of detecting the bounding box of a distant vehicle can be performed. For example, the processing device 110 can detect the bounding box of a distant vehicle in the image data IMG. In some embodiments, the bounding box of the distant vehicle may include a pair of horizontal lines and a pair of vertical lines, and defines a minimum region including the distant vehicle. Reference will be made below. Figure 3 Here's an example to describe bounding boxes. Based on any method for detecting specific objects in an image, the bounding box of a distant vehicle can be detected from image data (IMG). The following will refer to... Figure 4 Here is an example to describe the operation of S40.
[0038] In operation S60, the operation of extracting features of a distant vehicle can be performed. For example, processing device 110 can extract at least one feature of a distant vehicle from the bounding box of the distant vehicle. In some embodiments, processing device 110 can extract the headlights, taillights, license plate, side mirrors, and wheels of the distant vehicle as features of the distant vehicle. Features of a distant vehicle can be extracted from image data IMG based on any method of feature extraction from an image, and reference will be made below. Figures 5A to 5C Examples to describe the extracted features.
[0039] In operation S80, the operation of estimating the geometry of the road can be performed. For example, processing device 110 can estimate the geometry of the road where a distant vehicle is located based on the position of at least one feature relative to at least a portion of the bounding box of the distant vehicle. The position of at least one feature can indicate the pose of the distant vehicle, and processing device 110 can estimate the geometry of the road based on the pose of the distant vehicle. Therefore, the geometry of the road can be estimated based on a single image data IMG, and multiple camera modules can be prevented from being included in vehicle 100 to estimate the geometry of the road. Additionally, when a distant vehicle is ahead of vehicle 100 on the path of vehicle 100, the geometry of the road that vehicle 100 will travel on can be estimated in advance. Furthermore, the geometry of the road can be accurately estimated not only based on the position of the distant vehicle but also based on the pose of the distant vehicle. In some embodiments, the geometry of the road can include the road profile (or, height profile), which indicates road undulations and / or the road cross slope (or, road angle). Reference will be made below. Figure 6 , Figure 8 , Figure 10 , Figure 12 and Figure 13 To describe an example of operation S80. In some embodiments, operation S80 may include Figure 6 , Figure 8 , Figure 10 , Figure 12 and Figure 13 All operations shown.
[0040] Figure 3 An example of image data and bounding boxes according to an exemplary embodiment is shown. (Refer to the above...) Figure 1 As described, this can be generated by using camera module 120 to photograph distant vehicles. Figure 3 The image data IMG' is processed by the processing device 110, which can detect the bounding box of a distant vehicle within the image data IMG'. Reference will be made below. Figure 1 To describe Figure 3 Furthermore, it is assumed that the camera module 120 is positioned to photograph the front of the vehicle 100 and that the distant vehicle is the vehicle in front.
[0041] In some embodiments, image data IMG' can be generated by capturing images of multiple vehicles ahead, and the processing device 110 can detect multiple bounding boxes corresponding to the multiple vehicles ahead, respectively. For example, as Figure 3As shown, the processing device 110 can detect the bounding boxes BOX1, BOX5, and BOX6 of a vehicle ahead located in the same lane as vehicle 100, the bounding boxes BOX2, BOX3, BOX4, BOX7, and BOX8 of a vehicle ahead located in a different lane from vehicle 100, or the bounding box BOX9 of a vehicle ahead traveling in the opposite direction to vehicle 100. (Refer to the above...) Figure 2 As described, each of the bounding boxes BOX1 through BOX9 may include a pair of horizontal lines and a pair of vertical lines. Therefore, each of the bounding boxes BOX1 through BOX9 may be defined by a pair of points facing each other diagonally. Figure 3 As shown, each of the bounding boxes BOX1 to BOX9 can have different sizes due to the distance from vehicle 100 to the vehicle in front and the size of the vehicle in front.
[0042] Figure 4 This is a flowchart of a method for estimating road geometry according to an example embodiment. Specifically, Figure 4 The flowchart shows Figure 2 Example of operation S40. See the reference above. Figure 2 As described, it can be found Figure 4 In operation S40a, the operation of detecting the bounding box of a distant vehicle is performed. For example... Figure 4 As shown, operation S40a may include operations S42 and S44. (Refer to...) Figure 1 To describe Figure 4 .
[0043] refer to Figure 4 In operation S42, the operation of providing image data IMG to a machine learning model ML learned from vehicle images can be performed. That is, based on machine learning, the bounding boxes of distant vehicles can be detected from the image data IMG, and the machine learning model ML learned from the vehicle images can have any structure for machine learning. For example, the machine learning model ML can include artificial neural networks, convolutional neural networks, deep neural networks, decision trees, support vector machines, Bayesian networks, and / or genetic algorithms. In some embodiments, the first processor 111 may include components (e.g., an NPU) configured to implement at least a portion of the machine learning model ML.
[0044] In operation S44, the operation of obtaining the bounding box (BOX) from the machine learning model ML can be performed. For example, the machine learning model ML can generate the coordinates of a pair of points defining the bounding box (BOX) of a distant vehicle in the image data IMG. In some embodiments, as referenced above... Figure 3 As described, multiple bounding boxes corresponding to multiple distant vehicles in image data (IMG) can be obtained from a machine learning model (ML).
[0045] Figures 5A to 5C This is an illustration of examples of bounding boxes and features based on an example embodiment. Specifically, Figure 5A The bounding box BOX5a and features F51a to F55a corresponding to the rear surface of the distant vehicle are shown. Figure 5B The bounding box BOX5b and features F51b to F55b corresponding to the front surface of the distant vehicle are shown, and Figure 5C The bounding box BOX5c and features F51c to F56c corresponding to the rear and side surfaces of the distant vehicle are shown. References will be made below. Figure 1 To describe Figures 5A to 5C . will be Figures 5A to 5C Repeated descriptions are omitted in the description.
[0046] refer to Figure 5A The bounding box BOX5a may include the rear surface of a distant vehicle. For example, camera module 120 may be arranged to capture images of the front of vehicle 100. Camera module 120 may capture images of the rear surface of the vehicle in front of vehicle 100 and generate image data IMG. Therefore, processing device 110 may detect the bounding box BOX5a including the rear surface of the vehicle in front and extract features F51a to F55a from the bounding box BOX5a. For example, as Figure 5A As shown, the processing device 110 can extract features F51a and F52a corresponding to the side mirrors, features F53a and F54a corresponding to the taillights, and feature F55a corresponding to the license plate from the image data IMG. In some embodiments, the processing device 110 may extract only... Figure 5A Features F51a to F55a, or additional features extracted from them. Figure 5A Additional features beyond features F51a to F55a (e.g., wheels, etc.).
[0047] refer to Figure 5B The bounding box BOX5b can include the front surface of a distant vehicle. For example, camera module 120 can be arranged to capture images of the area behind vehicle 100. Camera module 120 can capture images of the front surface of vehicles behind vehicle 100 and generate image data IMG. Therefore, processing device 110 can detect the bounding box BOX5b that includes the front surface of the rear vehicle and extract features F51b to F55b from the bounding box BOX5b. For example, as Figure 5B As shown, the processing device 110 can extract features F51b and F52b corresponding to the side mirror, features F53b and F54b corresponding to the headlight, and feature F55b corresponding to the license plate from the image data IMG. In some embodiments, the processing device 110 may extract only... Figure 5B Some of the features from F51b to F55b, or even more features extracted from them. Figure 5B Additional features beyond features F51b to F55b (e.g., wheels, fog lights, etc.).
[0048] refer to Figure 5C The bounding box BOX5c can include the side and rear surfaces of a distant vehicle. For example, camera module 120 can be arranged to photograph the front of vehicle 100. Camera module 120 can photograph a distant vehicle traveling in a different lane from vehicle 100 or parked on the side of the road, and generate image data IMG. Therefore, processing device 110 can detect the bounding box BOX5c including the rear and side surfaces of the distant vehicle, and extract features F51c to F56c from the bounding box BOX5c. For example, as Figure 5C As shown, the processing device 110 can extract features F51c and F52c corresponding to the taillights, feature F53c corresponding to the side mirrors, features F54c and F55c corresponding to the wheels, and feature F56c corresponding to the license plate from the image data IMG. In some embodiments, the processing device 110 may extract only... Figure 5C Some of the features from F51c to F56c, or even more features extracted except... Figure 5C Additional features beyond F51c to F56c.
[0049] As referenced above Figure 1 and Figure 2 As described, the extracted features of a distant vehicle can be used to determine the vehicle's pose and to estimate the geometry of the road where the vehicle is located. The following description will primarily focus on features corresponding to license plates as examples of features of distant vehicles; however, it will be understood that the example embodiments are not limited thereto. Furthermore, although in Figures 5A to 5C Although not shown in the diagram, in some embodiments, bounding boxes including the front and side surfaces of a distant vehicle can be detected from image data IMG generated by camera module 120 (positioned to capture images of the rear of vehicle 100), and features can be characterized within these bounding boxes. Hereinafter, features corresponding to a specific portion of a distant vehicle may be simply referred to as the corresponding specific portion. For example, a feature corresponding to the license plate of a distant vehicle may be simply referred to as the license plate of the distant vehicle.
[0050] Figure 6 This is a flowchart of a method for estimating road geometry according to an example embodiment. Figures 7A to 7C This is an illustration of an example of road geometry and image data based on an example embodiment. Specifically, Figure 6 The flowchart shows Figure 2 An example of operation S80. Figures 7A to 7CAn example of the arrangement of main vehicles 71a, 73a, 71b, 73b, 71c, and 73c, and preceding vehicles 72a, 74a, 72b, 74b, 72c, and 74c, as well as bounding boxes BOX7a, BOX7b, and BOX7c and their corresponding features F7a, F7b, and F7c, is shown. (Refer to the above...) Figure 2 As described, it can be found Figure 6 The operation of estimating the geometry of the road is performed in S80e. (The rest of the text is omitted as it is not relevant to the main point.) Figures 7A to 7C The main vehicles 71a, 73a, 71b, 73b, 71c, and 73c will be assumed to include Figure 1 The processing device 110 and camera module 120. (Refer to...) Figure 1 To describe Figure 6 and Figures 7A to 7C .
[0051] refer to Figure 6 Operation S80a may include operations S82a and S84a. In operation S82a, the longitudinal position of a feature within the bounding box can be measured. See below for further details. Figures 7A to 7C As described, because the geometry of the road can change the posture of distant vehicles, the longitudinal position of the features of distant vehicles can be altered because the road profile can change.
[0052] refer to Figure 7A In the upper part, in case A, the main vehicle 71a and the preceding vehicle 72a can travel on a flat, level road. Similarly, in case B, the main vehicle 73a and the preceding vehicle 74a can travel on a flat, uphill road. That is to say, in Figure 7A In scenarios A and B, the main vehicles 71a and 73a and the preceding vehicles 72a and 74a can travel on roads with the same geometry. When the rear surfaces of the preceding vehicles 72a and 74a are photographed from the positions of the main vehicles 71a and 73a, similar images can be obtained.
[0053] refer to Figure 7A The lower part, in Figure 7A In scenario A or scenario B, processing device 110 can detect a bounding box BOX7a including the rear surface of the preceding vehicle 72a or 74a and extract the license plate F7a as a feature. The bounding box BOX7a may have a height H7a, and processing device 110 can measure a first distance Y1a from the top of the bounding box BOX7a to the bottom of the license plate F7a and / or a second distance Y2a from the bottom of the license plate F7a to the bottom of the bounding box BOX7a. In some embodiments, with Figure 7A Unlike the case shown, the processing device 110 can measure the longitudinal position of the center or top of the license plate F7a in the bounding box BOX7a.
[0054] Processing device 110 can define the longitudinal position of a feature using various metrics. For example, processing device 110 can define the longitudinal position of license plate F7a using a first distance Y1a or a second distance Y2a, the ratio of the first distance Y1a to the second distance Y2a, or the ratio of the first distance Y1a or the second distance Y2a to the height H7a of the bounding box BOX7a. In some embodiments, processing device 110 can measure the longitudinal position of each of a plurality of features (e.g., license plate and taillight) and calculate a metric based on the measured longitudinal position. Hereinafter, it is assumed that processing device 110 measures the ratio Y2a / Y1a of the second distance Y2a to the first distance Y1a as the longitudinal position of license plate F7a. However, the example embodiments are not limited thereto.
[0055] refer to Figure 7B In case A, the main vehicle 71b can travel on a flat, level road surface, while the preceding vehicle 72b can travel on a flat, uphill road surface. Furthermore, in case B, the main vehicle 73b can travel on a flat, level road surface, while the preceding vehicle 74b can travel on a protrusion 71 on the road surface, and the front wheels of the preceding vehicle 74b can rest on the protrusion 71. Therefore, each of the preceding vehicles 72b and 74b can have a front-raised posture. Figure 7B In cases A and B, similar images can be obtained when the rear surfaces of the preceding vehicles 72b and 74b are photographed from the positions of the main vehicles 71b and 73b.
[0056] refer to Figure 7B The lower part, in Figure 7B In scenarios A and B, processing device 110 can detect a bounding box BOX7b including the rear surface of the vehicle in front 72b or 74b, and extract the license plate F7b as a feature. The bounding box BOX7b may have a height H7b, and processing device 110 can measure a first distance Y1b from the top of the bounding box BOX7b to the bottom of the license plate F7b and / or a second distance Y2b from the bottom of the bounding box BOX7b to the bottom of the license plate F7b. Figure 7A Compared to the bounding box BOX7a, Figure 7B The bounding box BOX7b may also include a portion of the top surface of the preceding vehicle 72b or 74b due to the orientation of the preceding vehicle 72b or 74b. Additionally, with... Figure 7A Compared to the F7a license plate, Figure 7B The license plate F7b can be positioned relatively low within the bounding box BOX7b due to the posture of the preceding vehicle 72b or 74b. Therefore, Figure 7B The longitudinal position (Y2b / Y1b) of license plate F7b can be lower than Figure 7A The longitudinal position of license plate F7a (Y2a / Y1a) (Y2b / Y1b < Y2a / Y1a).
[0057] refer to Figure 7C In the upper part, in case A, the main vehicle 71c can travel on a flat, level road, while the preceding vehicle 72c can travel on a flat, downhill road. Furthermore, in case B, the main vehicle 73c can travel on a flat, level road, while the preceding vehicle 74c can travel on a protrusion 72 on the road, and the rear wheels of the preceding vehicle 74c can rest on the protrusion 72. Therefore, each of the preceding vehicles 72c and 74c can have a rear-raised posture. Figure 7C In cases A and B, similar images can be obtained when the rear surfaces of the foreground vehicles 72c and 74c are photographed from the main vehicles 71c and 73c.
[0058] refer to Figure 7C The lower part, in Figure 7C In scenarios A and B, processing device 110 can detect a bounding box BOX7c including the rear surface of the preceding vehicle 72c or 74c and extract the license plate F7c as a feature. The bounding box BOX7c may have a height H7c, and processing device 110 can measure a first distance Y1c from the top of the bounding box BOX7c to the bottom of the license plate F7c and / or a second distance Y2c from the bottom of the bounding box BOX7c to the bottom of the license plate F7c. Figure 7A Compared to the bounding box BOX7a, Figure 7C The bounding box BOX7c may also include a portion of the bottom surface of the front vehicle 72c or 74c due to the orientation of the front vehicle 72c or 74c. Additionally, with... Figure 7A Compared to the F7a license plate, Figure 7C The license plate F7c can be positioned relatively high within the bounding box BOX7c due to the posture of the vehicle in front, 72c or 74c. Therefore, Figure 7C The longitudinal position (Y2c / Y1c) of license plate F7c can be higher than Figure 7A The longitudinal position of license plate F7a (Y2a / Y1a) (Y2c / Y1c>Y2a / Y1a).
[0059] Return to reference Figure 6 In operation S84a, the operation of estimating the road profile can be performed. For example, as referenced above... Figures 7A to 7C As described, the processing device 110 can estimate a road profile indicating road undulations based on the longitudinal position of a license plate, which varies depending on the posture of the vehicle ahead. For example, the processing device 110 can base its estimation on... Figure 7A The longitudinal position (Y2a / Y1a) of the license plate F7a is used to estimate the contour of the point where the vehicle in front is located, which is the same as the contour of the point where the main vehicle is located. Furthermore, the processing device 110 can base its estimation on... Figure 7BThe longitudinal position (Y2b / Y2a) of the license plate F7b is used to estimate whether the point where the vehicle ahead is located has a rise or a bulge. Furthermore, the processing device 110 can base its calculations on... Figure 7C The longitudinal position (Y2c / Y1c) of the license plate F7c is used to estimate whether the point where the vehicle ahead is located has a sloping or convex shape. In some embodiments, as shown below... Figure 10 As described, the processing device 110 can estimate the forward position of the estimated road profile based on the distance to the vehicle ahead. See below for reference. Figure 12 The described method allows for road contour compensation based on the state of the main vehicle. See the reference below. Figure 13 The described method allows for the estimation of road contours based on the difference between the previous and current longitudinal positions of a license plate.
[0060] Figure 8 This is a flowchart of a method for estimating road geometry according to an example embodiment. Figure 9 An example of image data according to an exemplary embodiment is shown. Specifically, Figure 8 The flowchart shows Figure 2 An example of S80 operation, and Figure 9 The bounding box BOX9 and the license plate F9 as a feature are shown in the image data, which was generated by capturing a picture of a vehicle ahead. (See reference above.) Figure 2 As described, it can be found Figure 8 The operation of estimating the geometry of the road is performed in S80b. The following will refer to... Figure 1 To describe Figure 8 and Figure 9 .
[0061] refer to Figure 8 Operation S80b can include operations S82b and S84b. In operation S82b, an operation can be performed to detect the slope of features within the bounding box. For example, refer to... Figure 9 It can detect the bounding box (BOX9) including the rear surface of the vehicle in front, and can extract the license plate (F9) as a feature within the bounding box (BOX9). For example... Figure 9 As shown, license plate F9 may have a tilt angle, i.e., a rotation angle θ from the horizontal line (or, the horizontal line of the bounding box BOX9) in a counterclockwise direction, and the vehicle in front may also be determined to have rotated angle θ from the horizontal line in a counterclockwise direction. In some embodiments, processing device 110 may detect a first line 91 parallel to license plate F9 and measure the angle θ formed by a second line 92 corresponding to the horizontal line and the first line 91.
[0062] In operation S84b, the operation of estimating the cross slope of a road can be performed. For example, as... Figure 9As shown, when the vehicle in front rotates by an angle θ in the counterclockwise direction, the processing device 110 can estimate the cross slope of the road, i.e., the angle of inclination θ in the counterclockwise direction. In some embodiments, as referenced below... Figure 10 As described, the processing device 110 can estimate the estimated forward position of the road cross slope based on the distance to the vehicle ahead. See below for reference. Figure 12 As described, the processing device 110 can estimate the cross slope of the road based on the state of the main vehicle. See below for reference. Figure 13 The described method allows for the estimation of the road's cross slope based on the difference between the previous and current inclination of license plate F9.
[0063] Figure 10 This is a flowchart of a method for estimating road geometry according to an example embodiment. Specifically, Figure 10 The flowchart shows Figure 2 An example of S80 operation. See the reference above. Figure 2 As described, it can be found Figure 10 The operation of estimating the geometry of the road is performed in S80c. For example... Figure 10 As shown, operation S80c may include operations S82c and S84c, and will be referred to below. Figure 1 Describe it.
[0064] In operation S82c, the operation of obtaining the distance to a distant vehicle can be performed. In some embodiments, at least one sensor 130 may include a distance sensor configured to measure the distance to a distant vehicle, and the processing device 110 may obtain the distance to the distant vehicle based on a sensing signal SEN provided by at least one sensor 130. In some embodiments, the processing device 110 may estimate the distance to the distant vehicle based on image data IMG provided by the camera module 120. For example, the size and position of the bounding box of the distant vehicle in the image data IMG may depend on the distance to the distant vehicle; therefore, the processing device 110 may estimate the distance to the distant vehicle based on at least one of the size and position of the bounding box. In some embodiments, the processing device 110 may obtain the distance to the distant vehicle based on both the sensing signal SEN and the image data IMG.
[0065] In some embodiments, the processing device 110 can convert image data IMG into data corresponding to a top view. In the top view, distant vehicles can be arranged according to their distance from the main vehicle. For example, the processing device 110 can convert image data IMG into data corresponding to the top view based on a homography matrix and inverse perspective mapping.
[0066] In operation S84c, the generation of three-dimensional (3D) data can be performed. For example, processing device 110 can generate 3D data indicating the estimated road geometry and store the 3D data in memory 113. As described above, the 3D data indicating the road geometry can be used for useful functions. Reference will be made below. Figure 11A and Figure 11B Here is an example to describe the road geometry indicated by 3D data.
[0067] Figure 11A and Figure 11B An example of road geometry estimated according to an example embodiment is shown. Specifically, Figure 11A and Figure 11B It schematically shows that due to Figure 10 An example of the road geometry indicated by the 3D data generated by the S80c operation. See the reference above. Figure 10 The estimated road geometry, as described, can be represented as 3D data. The following will refer to... Figure 1 To describe Figure 11A and Figure 11B .
[0068] refer to Figure 11A The estimated road geometry 11a can indicate the road's profile and cross slope. For example, as... Figure 11A As shown, the road geometry 11a may include a protrusion 11_2, and the left side of the road geometry 11a may have a higher shape than its right side in the direction of vehicle travel.
[0069] refer to Figure 11B The estimated road geometry 11b can indicate the condition of the road or the surface. For example, as... Figure 11B As shown, the road geometry 11b may include a region 11_4 indicating a cobblestone road surface and a region 11_6 indicating a flat road surface.
[0070] Figure 12 This is a flowchart of a method for estimating road geometry according to an example embodiment. Specifically, Figure 12 The flowchart shows Figure 2 An example of S80 operation. See the reference above. Figure 2 As described, it can be found Figure 12 The operation of estimating the geometry of the road is performed in S80d. For example... Figure 12 As shown, operation S80d may include operations S82d and S84d. Referring below, Figure 1 To describe Figure 12 The flowchart.
[0071] In operation S82d, operations can be performed to obtain state information during the capture of a distant vehicle. For example, processing device 110 can obtain the state of vehicle 100 (i.e., the state of camera module 120) during the capture of a distant vehicle based on a sensing signal SEN provided by at least one sensor 130. Figure 7A In cases A and B, although the road geometry differs, distant vehicles can still be represented in the same or similar way in the image data IMG. Therefore, processing device 110 can acquire state information during the capture of a distant vehicle to compensate for geometric information related to the road on which the vehicle 100 is located within the geometry of the road where the distant vehicle is situated. For example, at least one sensor 130 may include an accelerometer or gyroscope sensor that can sense the posture of vehicle 100 (or, camera module 120), and processing device 110 can acquire information related to the state of vehicle 100 during the capture of a distant vehicle based on the sensing signal SEN.
[0072] In operation S84d, an operation to compensate for the estimated road geometry can be performed. In some embodiments, the processing device 110 can determine the contour of the point where the vehicle 100 is located based on the state information obtained in operation S82d, and compensate for the contour of that point already estimated based on image data IMG based on the determined contour. For example, as in Figure 7A In case B, when vehicle 100 and a distant vehicle are both traveling on an uphill road with substantially the same slope angle, processing device 110 can determine the first slope angle of the uphill road where vehicle 100 is located based on the sensing signal SEN, and estimate the slope angle of the point where the distant vehicle is located based on image data IMG by adding the first slope angle to the estimated second slope angle of the road (e.g., approximately zero (0) degrees).
[0073] In some embodiments, the processing device 110 may determine the cross slope of the point where the vehicle 100 is located based on the state information obtained in operation S82d, and compensate for the road cross slope estimated based on image data IMG based on the determined cross slope. For example, the processing device 110 may determine a first cross slope of the point where the vehicle 100 is located based on the sensing signal SEN, and compensate for the road cross slope estimated based on image data IMG by comparing the first cross slope with a second cross slope of the road estimated based on image data IMG (e.g., ...). Figure 9 The cross slope of the point where the distant vehicle is located is estimated by adding the angles θ.
[0074] Figure 13 This is a flowchart of a method for estimating road geometry according to an example embodiment. Specifically, Figure 13 The flowchart shows Figure 2 An example of S80 operation. See the reference above. Figure 2 As described, it can be found Figure 13 The operation of estimating the geometry of the road is performed in S80e. For example... Figure 13 As shown, operation S80e may include operations S82e and S84e. Referring below, Figure 1 To describe Figure 13 .
[0075] In operation S82e, the operation of obtaining the previous position of features within the bounding box can be performed. For example, processing device 110 can store data associated with the bounding box detected in the image data IMG and the features extracted within the bounding box in memory 113. In order to estimate the geometry of the road based on the currently received image data IMG, processing device 110 can read data generated due to the previously received image data IMG (e.g., data associated with the bounding box and features) from memory 113. Therefore, processing device 110 can obtain the previous position of the features relative to at least a portion of the bounding box.
[0076] In operation S84e, the operation of estimating the geometry of the road based on the difference between the previous and current positions of the features can be performed. In some embodiments, the processing device 110 can estimate the geometry based on the change between the previous and current positions of the features. For example, when the longitudinal position of the license plate of a distant vehicle becomes higher than its previous position, the processing device 110 can estimate a road profile with a slope angle smaller than the previously estimated road profile. The reduction in the slope angle can be determined based on the difference between the previous and current positions of the license plate.
[0077] Figure 14 This is a flowchart of a method for estimating road geometry according to an example embodiment. Similar to... Figure 2 The method Figure 14 The method may include operations S20′, S40′, S60′, and S80′, and also includes operation S90. In the following text, from... Figure 14 The description omits and Figure 2 The same description in [the text], and will refer to [the text]. Figure 1 To describe Figure 14 The flowchart.
[0078] In operation S20', an operation can be performed to obtain image data IMG generated by photographing a distant vehicle. In operation S40', an operation can be performed to detect the bounding boxes of distant vehicles in the image data IMG. In operation S60', an operation can be performed to extract features of distant vehicles from the image data IMG. In operation S80', an operation can be performed to estimate the geometry of the road where the distant vehicle is located based on the bounding boxes and features.
[0079] In operation S90, lane detection assistance can be performed. Lane detection can be used for various functions, such as autonomous driving, adaptive cruise control (ACC), lane departure warning (LDW), lane keeping assist system (LKAS), lane centering control (LCC), etc. The shape of the lane shown in the image data IMG can vary depending on the geometry of the road in which the lane is located. Therefore, the processing device 110 can assist lane detection based on the road geometry estimated in operation S80'. Thus, the accuracy of lane detection can be improved.
[0080] Figure 15 This is a block diagram of vehicle 200 according to an example embodiment. For example... Figure 15 As shown, vehicle 200 may include propulsion equipment 220, electronic equipment 240, peripheral equipment 260 and driving equipment 280.
[0081] The propulsion system 220 may include an engine / motor 221, a power source 222, a transmission 223, wheels / tires 224, a suspension 225, and shock absorbers 226. The engine / motor 221 may include any combination of an internal combustion engine, an electric motor, a steam engine, and a Stirling engine. In some embodiments, when the vehicle 200 is a gas-electric hybrid vehicle, the engine / motor 221 may include a gasoline engine and an electric motor. The power source 222 may be an energy source that at least partially powers the engine / motor 221, and the engine / motor 221 may convert the power source 222 into kinetic energy.
[0082] Non-limiting examples of energy source 222 may include at least one of gasoline, diesel, propane, other compressed gas-based fuels, ethanol, solar panels, batteries, and other power sources. In some embodiments, energy source 222 may include at least one of a fuel tank, a battery, a capacitor, and a flywheel. Furthermore, energy source 222 can provide energy not only to the engine / motor 221 but also to other components of the vehicle 200.
[0083] The transmission 223 can transmit mechanical power from the engine / motor 221 to the wheels / tires 224. For example, the transmission 223 may include at least one of a gearbox, a clutch, a differential, and a drive shaft. When the transmission 223 includes a drive shaft, the drive shaft may include at least one wheel axle coupled to the wheels / tires 224. The wheels / tires 224 may have various structures for bicycles, motorcycles, four-wheeled vehicles, etc., and are in contact with the road surface.
[0084] Suspension 225, configured to support the weight of vehicle 200, can adjust the ground clearance from the road surface to vehicle 200 or regulate vibrations transmitted from the road surface to vehicle 200. Shock absorber 226 can control the vibrations of the springs received from the road surface during driving of vehicle 200 and assist in restoring the springs to their original state. For example, shock absorber 226 can generate damping force to stop the spring vibrations and control the spring's elasticity. In some embodiments, shock absorber 226 may be included in suspension 225.
[0085] Electronic device 240 may include controller 241, processing device 242, storage device 243, user interface 244, at least one sensor 245, and power supply 246. Controller 241 can control vehicle 200 and is also referred to as electronic control unit (ECU). For example, controller 241 can control propulsion device 220 and driving device 280 to control the driving of vehicle 200, and can control peripheral devices 260. In some embodiments, reference is made as follows. Figure 16 As described, the controller 241 can control the vehicle 200 based on the road geometry provided by the processing device 242.
[0086] The processing device 242 can perform various operations to assist driving the vehicle 200. For example, as described above with reference to the accompanying drawings, the processing device 242 can receive image data from an image sensor included in at least one sensor 245 and estimate road geometry based on the image data. Additionally, the processing device 242 can store data indicating the estimated road geometry in a storage device 243 or provide the data to a controller 241. In some embodiments, as described above with reference to… Figure 1 As described, the processing device 242 may include a first processor and a second processor.
[0087] Storage device 243 can store data and includes, for example, non-volatile semiconductor memory devices, volatile semiconductor memory devices, and / or disk drives. User interface 244 may include input devices configured to receive user input and output devices configured to provide output signals to the user. For example, input devices may include a keyboard, dome switch, touchpad, scroll wheel, scroll wheel switch, and / or microphone. Furthermore, output devices may include speakers and / or buzzers configured to output audio signals and display devices and / or light-emitting diodes (LEDs) configured to output video signals.
[0088] At least one sensor 245 may include a sensor configured to sense the state of vehicle 200. For example, at least one sensor 245 may include a motion sensor, such as a geomagnetic sensor, an accelerometer, and a gyroscope sensor, or include a GPS sensor configured to estimate the position of vehicle 200. Furthermore, at least one sensor 245 may include a sensor configured to sense the surrounding state of vehicle 200. For example, at least one sensor 245 may include a radar sensor configured to use radio signals to sense the presence and / or speed of objects around vehicle 200, or include a LiDAR sensor configured to use lasers to sense the presence and / or speed of objects around vehicle 200. Additionally, at least one sensor 245 may include at least one image sensor (or a camera module including an image sensor) configured to capture images of the vicinity of vehicle 200. The image sensor may provide image data generated by capturing images of a distant vehicle to processing device 242.
[0089] Power source 246 can provide electricity to at least some of the components of vehicle 200. For example, power source 246 may include a generator configured to generate electricity due to driving vehicle 200 or a battery configured to store electricity.
[0090] Peripheral equipment 260 may include headlights 261, taillights 262, turn signals 263, interior lights 264, windshield wipers 265, and adjusters 266. Headlights 261 may be mounted on the front surface of vehicle 200, and taillights 262 may be mounted on the rear surface of vehicle 200. (See above reference.) Figures 5A to 5C As described, headlights 261 and / or taillights 262 can be extracted as features by another vehicle. Turn signals 263 can be arranged on the front, rear, and side surfaces of vehicle 200, and interior lights 264 can be arranged in the driver's compartment. Windshield wipers 265 can reciprocate on the glass arranged on the front and / or rear surfaces of vehicle 200. Regulator 266 may include an air conditioner and / or a heater.
[0091] The driving equipment 280 may include a braking unit 281, a steering unit 282, and a throttle valve 283. The braking unit 281 may be implemented as a combination of mechanisms configured to decelerate the vehicle 200. For example, the braking unit 281 may use friction to reduce the rotational speed of the wheels / tires 224. The steering unit 282 may be implemented as a combination of mechanisms configured to adjust the direction of travel of the vehicle 200. The throttle valve 283 may be implemented as a combination of mechanisms configured to control the operating speed of the engine / motor 221. For example, the throttle valve 283 may regulate the amount of fuel-air mixture flowing into the engine / motor 221 and control power and thrust.
[0092] Figure 16 This is a flowchart of a method for estimating road geometry according to an example embodiment. Specifically, Figure 16 The flowchart illustrates method S100 for controlling a vehicle based on estimated road geometry. (As shown in the original text...) Figure 16 As shown, the method S100 for controlling a vehicle may include multiple operations S110, S130, S150, S170, and S190. In some embodiments, the method S100 for controlling a vehicle may include only a portion of the multiple operations S110, S130, S150, S170, and S190. In some embodiments, the method S100 for controlling a vehicle may be... Figure 15 The controller 241 executes this. The following will refer to... Figure 15 To describe Figure 16 .
[0093] In operation S110, the suspension 225 can be adjusted. In operation S130, the damper of the shock absorber 226 can be adjusted. For example, when the processing device 242 estimates a rise profile, the controller 241 can adjust the suspension 225 and the shock absorber 226 to reduce vibrations transmitted from the road surface to the vehicle 200. Additionally, when a bump is estimated, the controller 241 can adjust the suspension 225 to increase the ground clearance of the vehicle 200.
[0094] In operation S150, the transmission 223 can be adjusted. For example, when processing device 242 estimates an upward profile, controller 241 can adjust transmission 223 to increase the gear ratio. In operation S170, steering adjustment can be performed. For example, when processing device 242 estimates a curve with a cross slope, controller 241 can adjust steering unit 282 along the curve. In operation S190, the headlight 261 can be adjusted. For example, when processing device 242 estimates a downward profile, controller 241 can adjust headlight 261 so that the light emitted by headlight 261 can be directed downwards.
[0095] As is common in the art, embodiments can be described and illustrated around blocks that perform desired functions. These blocks, which may be referred to herein as units or modules, are physically implemented by analog and / or digital circuitry such as logic gates, integrated circuits, microprocessors, microcontrollers, memory circuits, passive electronic components, active electronic components, optical components, hardwired circuitry, etc., and may optionally be driven by firmware and / or software. For example, the circuitry may be implemented in one or more semiconductor chips, or on a substrate support such as a printed circuit board. The circuitry constituting a block may be implemented by dedicated hardware or by a processor (e.g., one or more programmed microprocessors and associated circuitry), or by a combination of dedicated hardware for performing some functions of the block and a processor for performing other functions of the block. Each block of an embodiment may be physically divided into two or more interactive and discrete blocks without departing from the scope of this disclosure. Similarly, the blocks of an embodiment may be physically combined into more complex blocks without departing from the scope of this disclosure. One aspect of an embodiment may be implemented by instructions stored in a non-transitory storage medium and executed by a processor.
[0096] Although this disclosure has been specifically shown and described with reference to embodiments thereof, it will be understood that various changes in form and detail may be made therein without departing from the spirit and scope of the appended claims.
Claims
1. A method for estimating the geometry of a road, comprising: An input image is obtained, which is generated by imaging a distant vehicle; Detect the bounding box of the distant vehicle from the input image; Extract at least one feature of the distant vehicle from the input image; as well as The geometry of the road where the distant vehicle is located is estimated based on the position of the at least one feature relative to at least a portion of the bounding box.
2. The method according to claim 1, wherein, Detecting the bounding box includes: The input image is provided to a machine learning model learned from multiple vehicle images; and The bounding box is obtained from the machine learning model.
3. The method according to claim 1, wherein, Extracting the at least one feature includes: extracting at least one of the headlights, taillights, license plate, side mirrors, and wheels of the distant vehicle.
4. The method according to claim 1, wherein, Estimating the geometry of the road includes: Measure the longitudinal position of the at least one feature within the bounding box; and The contour of the road is estimated based on the measured longitudinal position.
5. The method according to claim 1, wherein, Estimating the geometry of the road includes: Detect the tilt of at least one of the features; and The cross slope of the road is estimated based on the detected inclination.
6. The method according to claim 1, further comprising: Obtain the distance to the distant vehicle; as well as Three-dimensional 3D data is generated based on the distance and the geometry of the road.
7. The method according to claim 6, wherein, Obtaining the distance includes: obtaining the distance measured by at least one sensor.
8. The method according to claim 6, wherein, Obtaining the distance includes estimating the distance based on at least one of the position and size of the bounding box in the input image.
9. The method according to claim 1, wherein, Estimating the geometry of the road includes: During imaging of the distant vehicle, state information is obtained; and The geometry of the road is compensated based on the state information.
10. The method according to claim 1, wherein, Estimating the geometry of the road includes: Obtain the previous position of the at least one feature relative to at least a portion of the bounding box; and The geometry of the road is estimated based on the difference between the previous and current positions of the at least one feature.
11. A processing device for estimating the geometry of a road, comprising: A first processor is configured to detect the bounding box of the distant vehicle in an input image generated by imaging the distant vehicle, and to extract at least one feature of the distant vehicle. as well as A second processor is configured to estimate the geometry of the road where the distant vehicle is located based on the position of the at least one feature relative to at least a portion of the bounding box.
12. The processing apparatus according to claim 11, further comprising: A memory is configured to store information relating to the position of the at least one feature relative to at least a portion of the bounding box, wherein, The second processor is configured to estimate the geometry of the road based on the difference between the information stored in the memory and the current position of the at least one feature relative to at least a portion of the bounding box.
13. The processing apparatus according to claim 11, wherein, The second processor is configured to assist lane detection based on the geometry of the road.
14. A vehicle comprising: The camera module is configured to image distant vehicles and generate input images; The processing device is configured to detect the bounding box of the distant vehicle and at least one feature in the input image, and to estimate the geometry of the road in which the distant vehicle is located based on the position of the at least one feature relative to at least a portion of the bounding box. as well as The controller is configured to generate control signals for controlling the vehicle based on the geometry of the road.
15. The vehicle according to claim 14, wherein, The processing device is configured to estimate the contour of the road based on the longitudinal position of the at least one feature within the bounding box.
16. The vehicle according to claim 14, wherein, The processing device is configured to estimate the cross slope of the road based on the inclination of the at least one feature.
17. The vehicle according to claim 14, wherein: The processing device is configured to generate three-dimensional 3D data based on the distance to the distant vehicle and the geometry of the road. The controller is configured to generate the control signal based on the 3D data and the distance traveled by the vehicle.
18. The vehicle according to claim 14, further comprising: At least one of an accelerometer and a gyroscope sensor is configured to sense the attitude of the vehicle, wherein, The processing device is configured to compensate for the geometry of the road based on the posture of the vehicle.
19. The vehicle according to claim 14, wherein, The processing device is configured to estimate the geometry of the road based on the difference between the previous and current positions of the at least one feature relative to at least a portion of the bounding box.
20. The vehicle according to claim 14, wherein, The controller generates the control signal to adjust at least one of the suspension, shock absorber dampers, speed, transmission, steering, and headlights.