System and method for eliminating position offset caused by object height in object camera detection
By combining dead estimation and vision-based positioning system in the vehicle's camera system, the object trajectory and height higher than the ground is calculated, and the position offset problem caused by object height changes is solved, and the accurate positioning of the corner position of the parking space in the mechanical parking system is achieved.
Patent Information
- Application Number
- CN202311694266.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-11
- Publication Date
- 2025-06-13
AI Technical Summary
The prior art is difficult to accurately detect when an object leaves the ground due to height changes, especially in mechanical parking systems where the corner position of the parking space is inaccurate.
By using dead reckoning and vision-based positioning systems in the vehicle's camera system, the trajectory of the object is calculated at an altitude above the ground, multiple height values are calculated, outliers are identified and deleted, the height of the object is calculated, and the coordinates of the object are corrected.
Accurate detection and correction of object positions higher than the ground is achieved, and the positioning accuracy of the corner positions of parking spaces in mechanical parking systems is improved, thereby making automatic parking features possible in mechanical parking space scenarios.
Smart Images

Figure CN120141430A_ABST
Abstract
Description
Technical Field
[0001] The information provided in this section is for the purpose of presenting the background of the present disclosure in general. To the extent described in this section, the work of the presently named inventors, as well as aspects that may not otherwise qualify as prior art at the time of filing, are neither expressly nor implicitly considered prior art to the present disclosure.
[0002] The present disclosure relates to systems and methods for eliminating position offsets caused by the height of an object above the ground during camera detection of the object. Background Art
[0003] A vehicle may include one or more cameras that generate images for use in conjunction with driver assistance systems such as parking assistance systems and / or autonomous driving systems. These systems identify objects in the images and determine the position of the objects relative to the moving vehicle. For example, vision-based object localization performed by these systems assumes that the object is located on the ground, and the object position is inferred from pixels at ground points. If the object is located above the ground, the position of the object may not be accurately determined. Summary of the Invention
[0004] A vision system for a vehicle includes a camera system that includes one or more cameras. An odometry system is configured to calculate a first trajectory of the vehicle from a first position to a second position. A vision-based localization system is configured to, when the vehicle travels from the first position to the second position, use a plurality of images generated by the camera system to calculate a second trajectory of an object located at a height above the ground; calculate a plurality of height values of the object from the plurality of images; and identify and remove outliers from the plurality of height values.
[0005] In other features, the vision-based localization system is further configured to calculate the height of the object based on remaining height values among the plurality of height values. The vision-based localization system is further configured to correct the coordinates of the object in response to the height. The object corresponds to a corner of a parking space of a mechanical parking system. The vision-based localization system is further configured to calculate an average value and a standard deviation of the plurality of height values.
[0006] In other features, the vision-based localization system is further configured to calculate a score for each of the plurality of height values. The score is based on the difference between a selected one of the plurality of height values and the average value divided by the standard deviation. The score of the selected one of the plurality of height values is compared with at least one predetermined threshold and is selectively removed in response to the comparison.
[0007] In other features, the coordinates of the object are corrected using the ratio of the height to the camera height.
[0008] A method for operating a vision system of a vehicle includes: generating an image using a camera system including one or more cameras; calculating a first trajectory of the vehicle from a first position to a second position using dead reckoning; calculating a second trajectory of an object located at a height above the ground using a plurality of images generated by the camera system while the vehicle travels from the first position to the second position; calculating a plurality of height values of the object from the plurality of images; and identifying and removing outliers among the plurality of height values.
[0009] Among other features, the method includes calculating the height of the object based on the remaining height values among the plurality of height values. The method includes correcting the coordinates of the object in response to the height. The object corresponds to a corner of a parking space of a mechanical parking system. The method includes calculating an average value and a standard deviation of the plurality of height values.
[0010] Among other features, the method includes calculating a score for each of the plurality of height values. The score is based on the difference between a selected one of the plurality of height values and the average value divided by the standard deviation. The score of a selected one of the plurality of height values is compared with at least one predetermined threshold and selectively removed in response to the comparison. The coordinates of the object are corrected using the ratio of the height to the camera height.
[0011] A vision system for a vehicle includes a camera system that includes one or more cameras. A dead reckoning system is configured to calculate a first trajectory of the vehicle from a first position to a second position. A vision-based positioning system is configured to calculate a second trajectory of an object located at a height above the ground using a plurality of images generated by the camera system while the vehicle travels from the first position to the second position, and calculate a plurality of height values of the object from the plurality of images. The vision-based positioning system is configured to identify and remove outliers among the plurality of height values by: calculating an average value and a standard deviation of the plurality of height values; calculating a score for each of the plurality of height values based on the difference between a selected one of the plurality of height values and the average value divided by the standard deviation; comparing the score with at least one predetermined threshold; and selectively removing a selected one of the plurality of height values in response to the comparison. The vision-based positioning system is configured to calculate the height of the object based on the remaining height values among the plurality of height values and correct the coordinates of the object in response to the height.
[0012] Among other features, the object corresponds to a corner of a parking space of a mechanical parking system. The coordinates of the object are corrected using the ratio of the height to the camera height.
[0013] The following solutions are provided:
[0014] 1. A vision system for a vehicle, comprising:
[0015] A camera system including one or more cameras;
[0016] An odometry system configured to calculate a first trajectory of a vehicle from a first position to a second position; and
[0017] A vision-based positioning system configured to:
[0018] When the vehicle travels from the first position to the second position, use a plurality of images generated by a camera system to calculate a second trajectory of an object located at a height above the ground;
[0019] Calculate a plurality of height values of the object from the plurality of images; and
[0020] Identify and remove outliers among the plurality of height values.
[0021] 2. The vision system according to aspect 1, wherein the vision-based positioning system is further configured to calculate the height of the object based on the remaining height values among the plurality of height values.
[0022] 3. The vision system according to aspect 2, wherein the vision-based positioning system is further configured to correct the coordinates of the object in response to the height.
[0023] 4. The vision system according to aspect 1, wherein the object corresponds to a corner of a parking space of a mechanical parking system.
[0024] 5. The vision system according to aspect 2, wherein the vision-based positioning system is further configured to calculate an average value and a standard deviation of the plurality of height values.
[0025] 6. The vision system according to aspect 5, wherein the vision-based positioning system is further configured to calculate a score for each of the plurality of height values.
[0026] 7. The vision system according to aspect 6, wherein the score is based on the difference between a selected one of the plurality of height values and the average value divided by the standard deviation.
[0027] 8. The vision system according to aspect 7, wherein the score of a selected one of the plurality of height values is compared with at least one predetermined threshold and selectively removed in response to the comparison.
[0028] 9. The vision system according to aspect 3, wherein the coordinates of the object are corrected using the ratio of the height to the camera height.
[0029] 10. A method for operating a vision system of a vehicle, comprising:
[0030] Generating images using a camera system including one or more cameras;
[0031] Using odometry to calculate a first trajectory of the vehicle from a first position to a second position;
[0032] When the vehicle travels from a first position to a second position, calculate a second trajectory of an object located at a height above the ground using a plurality of images generated by a camera system;
[0033] Calculate a plurality of height values of the object from the plurality of images; and
[0034] Identify and remove outliers from the plurality of height values.
[0035] 11. The method according to claim 10, further comprising calculating the height of the object based on the remaining height values among the plurality of height values.
[0036] 12. The method according to claim 11, further comprising correcting the coordinates of the object in response to the height.
[0037] 13. The method according to claim 10, wherein the object corresponds to a corner of a parking space of a mechanical parking system.
[0038] 14. The method according to claim 12, further comprising calculating an average value and a standard deviation of the plurality of height values.
[0039] 15. The method according to claim 14, further comprising calculating a score for each of the plurality of height values.
[0040] 16. The method according to claim 15, wherein the score is based on the difference between a selected one of the plurality of height values and the average value divided by the standard deviation.
[0041] 17. The method according to claim 16, wherein the score of a selected one of the plurality of height values is compared with at least one predetermined threshold and selectively removed in response to the comparison.
[0042] 18. The method according to claim 12, wherein the coordinates of the object are corrected using the ratio of the height to the camera height.
[0043] 19. A vision system for a vehicle, comprising:
[0044] A camera system including one or more cameras;
[0045] An odometry system configured to calculate a first trajectory of the vehicle from a first position to a second position; and
[0046] A vision-based positioning system configured to:
[0047] When the vehicle travels from a first position to a second position, calculate a second trajectory of an object located at a height above the ground using a plurality of images generated by the camera system;
[0048] Calculate multiple height values of an object from multiple images;
[0049] Identify and remove outliers among the multiple height values by:
[0050] Calculate the mean and standard deviation of the multiple height values;
[0051] Calculate a score for each of the multiple height values based on the difference between a selected one of the multiple height values and the mean divided by the standard deviation;
[0052] Compare the scores with at least one predetermined threshold; and
[0053] Selectively remove a selected one of the multiple height values in response to the comparison;
[0054] Calculate the height of the object based on the remaining height values among the multiple height values; and
[0055] Correct the coordinates of the object in response to the height.
[0056] 20. The vision system according to claim 19, wherein:
[0057] The object corresponds to a corner of a parking space of a mechanical parking system, and
[0058] The coordinates of the object are corrected using the ratio of the height to the camera height.
[0059] Based on the detailed description, claims, and drawings, the further applicable fields of the present disclosure will become apparent. The detailed description and specific examples are only intended for illustrative purposes and are not intended to limit the scope of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0060] Based on the detailed description and the drawings, the present disclosure will be more fully understood, wherein:
[0061] Figure 1 is a functional block diagram of an example of a vehicle including a vision-based positioning system according to the present disclosure;
[0062] Figure 2A is a perspective view of an example of a mechanical parking space according to the present disclosure;
[0063] Figure 2B is a perspective view of an example of a camera system for viewing a corner of a parking space according to the present disclosure;
[0064] Figure 3 is a flowchart of an example of a method for object coordinates according to the present disclosure;
[0065] Figure 4 illustrates an example of a method for calculating a vehicle trajectory according to the present disclosure;
[0066] Figure 5 shows an example of a method for calculating an object trajectory and an object height according to the present disclosure;
[0067] Figure 6 is a flowchart showing an example of identifying and deleting height values as outliers according to the present disclosure; and
[0068] Figure 7 shows an example of the correction of object coordinates according to the present disclosure.
[0069] In the drawings, reference numerals may be repeated to identify similar and / or identical elements. DETAILED DESCRIPTION
[0070] Current vision-based object localization systems include a camera system that includes one or more cameras that generate images that are combined to create a synthetic image such as a bird's-eye view (BEV). The vision-based object localization system assumes that the objects in the image are located on the ground and determines the position of the objects relative to the vehicle based on the pixels between the objects and the vehicle. The vision system operates using two-dimensional coordinates and has no height information (except for the known height H of the camera system relative to the ground). If the object is located above the ground, the position of the object cannot be accurately inferred using this method. For example, the vision-based object localization system incorrectly locates the corner positions of parking spaces in a mechanical parking system.
[0071] The vision-based object localization system according to the present disclosure calculates the trajectory difference between an object (e.g., based on multiple images from the vision system) and a vehicle (e.g., based on dead reckoning of an inertial measurement unit (IMU) and / or wheel speed from a wheel speed sensor). The difference in trajectories is used to calculate the height h of the object relative to the ground. The height h of the object and the height H of the camera system are used to reduce the positioning error in the object coordinates.
[0072] Now referring to Figure 1 , a functional block diagram of an example vehicle system is presented. Although an example of a vehicle system for a hybrid vehicle is shown and described, the present disclosure is also applicable to other vehicles, such as non-hybrid vehicles, electric vehicles, fuel cell vehicles, autonomous vehicles, and / or other types of vehicles.
[0073] The vehicle may include an engine 102 that combusts an air / fuel mixture to generate drive torque. The engine control module (ECM) 106 controls the engine 102 based on driver input and / or one or more other torque requests / commands from one or more vehicle control modules. For example, the ECM 106 may control the actuation of engine actuators such as a throttle, one or more spark plugs, one or more fuel injectors, valve actuators, camshaft phasers, an exhaust gas recirculation (EGR) valve, one or more supercharging devices, and other suitable engine actuators. In some types of vehicles (e.g., pure electric vehicles), the engine 102 is omitted.
[0074] The engine 102 outputs torque to a transmission 110. The transmission control module (TCM) 114 controls the operation of the transmission 110. For example, the TCM 114 may control gear selection within the transmission 110 and one or more torque transfer devices (e.g., a torque converter, one or more clutches, etc.).
[0075] The vehicle system may include one or more electric motors 118. In some examples, the electric motor 118 may be implemented within and / or separate from the transmission 110. The electric motor 118 may act as an engine or a generator. When acting as a generator, the electric motor converts mechanical energy into electrical energy. The electrical energy may be used to charge the battery 126 via a power control device (PCD) 130. When acting as an engine, the electric motor generates propulsion torque that may be used to drive the vehicle or supplement or replace the torque output by the engine 102. Although this example includes one electric motor, the vehicle may not include an electric motor or may include more than one electric motor.
[0076] In some examples, a power inverter control module (PIM) 134 may be used to control the electric motor 118 and the PCD 130. The PCD 130 applies power from the battery 126 to the electric motor 118 based on a signal from the PIM 134, and the PCD 130 supplies the power output by the electric motor 118 to, for example, the battery 126.
[0077] The steering control module 140 controls the steering / rotation of the vehicle wheels, for example, based on the driver turning the steering wheel within the vehicle and / or a steering command from one or more vehicle control modules (e.g., an autonomous driving system). A steering wheel angle (SWA) sensor 141 monitors the rotational position of the steering wheel and generates an SWA signal 142 based on the position of the steering wheel. As an example, the steering control module 140 may control vehicle steering via an EPS motor 144 based on the SWA signal 142. The electronic brake control module (EBCM) 150 may selectively control the vehicle brakes 154 based on driver input and / or one or more other brake requests / commands from one or more vehicle control modules.
[0078] The control module of the vehicle can share parameters via network 162, such as Controller Area Network (CAN). CAN can also be referred to as an automotive regional network. For example, network 162 can include one or more data buses. A given control module can make various parameters available to other control modules via network 162.
[0079] Driver inputs can include, for example, accelerator pedal position (APP) 166, which can be provided to ECM 106. Brake pedal position (BPP) 170 can be provided to EBCM 150. The position 174 of the park, reverse, neutral, drive lever (PRNDL) can be provided to TCM 114. The ignition state 178 can be provided to the body control module (BCM) 180. For example, the ignition state 178 can be input by the driver via an ignition key, button, or switch. For example, the ignition state 178 can be off, accessory, run, or start.
[0080] The vehicle includes a user interface 181, such as a touch screen, buttons, knobs, etc., to allow passengers to select or deselect driving modes, such as AV and / or ADAS driving modes. The vehicle can include multiple sensors 182 (such as one or more lidar sensors 184, an inertial measurement unit (IMU) 186, one or more wheel speed sensors 187) and a camera system 188 including one or more cameras.
[0081] In some examples, the vehicle includes a Global Positioning System (GPS) 190 to determine the position and trajectory of the vehicle relative to streets and / or roads. The vehicle also includes a vision-based positioning system 192 configured to combine images from the camera system and / or identify objects within the field of view of the camera system 188. The vehicle also includes a dead reckoning system 194 configured to determine the trajectory of the vehicle in response to wheel speed or other inputs from the IMU 186 and / or wheel speed sensors 187. In some examples, the autonomous driving system 195 controls the acceleration, braking, and / or steering of the vehicle with limited or no human intervention based on the outputs of the vision-based positioning system 192, the dead reckoning system 194, and / or the GPS 190.
[0082] Now refer to Figure 2A, the mechanical parking lot 200 includes parking spaces 202 and 204. The parking spaces 202 and 204 include an inclined surface 212, a parking surface 213, and side bars 214. The inclined surface 212 provides a transition from the floor of the parking position (e.g., the ground) to the parking surface above the ground. One or more struts 216 provide mechanical support. A chain 220 can be used to raise and / or lower the parking space. A wheel stopper 221 is arranged near the side of the parking space opposite to the inclined surface 212. The mechanical parking lot allows stacking of cars.
[0083] Now refer to Figure 2B , images generated by one or more cameras of a camera system are combined and used to determine the detection position of an object not on the ground (e.g., the corner of a parking space of a mechanical parking system). The BEV of the camera system 188 is located on the vehicle at a known height H relative to the ground on which the vehicle is traveling. The vision-based positioning system assumes that the object is on the ground and infers the object position from the pixels of the ground points in the BEV. However, when the object is above the ground, the assumption that the object is on the ground causes problems. In other words, the position of the object is not accurately inferred. For example, in Figure 2B , due to the height h of the object above the ground, the detection position D does not correspond to the true position R.
[0084] The perception system according to the present disclosure calculates the trajectory difference between a vision-based positioning system 192 (e.g., using multi-frame synthesis) and a dead reckoning system 194. The dead reckoning system 194 uses dead reckoning performed by an inertial measurement unit (IMU) and / or wheel speed from a wheel speed sensor 187. The vision-based positioning system 192 calculates the height of the object above the ground and then reduces the positioning error of the object coordinates.
[0085] Now refer to Figure 3 , a method 300 for eliminating the position offset error caused by the height of an object leaving the ground during camera detection of the object is shown. At 310, the method uses one or more cameras to identify the coordinates of the object (e.g., the corner of a parking space). At 314, the method calculates the object point trajectory from point A' to B' using the BEV based on the synthesis of multiple frames. At 318, the method calculates multiple height values of the object. At 322, the method identifies and deletes outliers of the multiple height values of the object based on the relationship between each of the multiple height values, the average value of the height values, and the standard deviation of the multiple height values. At 326, after deleting the outliers (if any) of the multiple height values, the method calculates the average height h' of the remaining height values among the multiple height values. At 330, the method corrects the coordinates of the object based on the average height h'. At 334, the coordinates are output to the driver assistance module.
[0086] Now refer to Figure 4The trajectory of the vehicle moving from point A to point B is shown as a dashed path. The trajectory of the vehicle is obtained using the IMU and / or wheel speed values from wheel speed sensors. The distance d from point A to point B is calculated
[0087] Now referring to Figure 5 , the object point trajectory (A’B’) and the height h of the object (e.g., the corner of a parking board) are determined. AB (or d) is the actual moving distance of the object point (e.g., the parking board). A’B’ is the moving distance of the object point in the bird's-eye view (BEV) from the camera. The height of the object (e.g., the parking board) can be calculated as follows:
[0088]
[0089]
[0090] And
[0091]
[0092] Now referring to Figure 6 , a method 400 for identifying and removing height outliers is shown. At 410, a list of the calculated board heights h is received. At 414, the mean and standard deviation are calculated for the list. At 418, a score Z is calculated for each height value based on Z = (h - mean) / (standard deviation), where the mean and standard deviation are based on the list of height values including outliers.
[0093] At 422, the method determines whether the score Z is greater than a first threshold TH1 or less than a second threshold TH2. In some examples, the first threshold TH1 is 3 and the second threshold TH2 is -3, but other thresholds can be used. If 422 is true, the method removes the height value from the list at 424 and continues at 426. At 426, the method determines whether there are additional height values in the list. If 426 is true, the method returns to 414. If 426 is false, the list of the remaining board height values is output at 426. The average height h’ is calculated.
[0094] Now referring to Figure 7 , the calculated height (e.g., the average height h’) is used to correct the coordinates of the object. The coordinate B(X R , Y R ) corresponds to the true coordinates of the object. The coordinate B(X D , Y D ) corresponds to the detected coordinates of the object. The true coordinate B(X R , Y R ) is calculated as follows:
[0095]
[0096] In some examples, the systems and methods according to the present disclosure improve the positioning accuracy of the camera system from approximately 50 cm to less than 5 cm for a mechanical parking space scenario within a 3 m distance. The improved accuracy makes the automatic parking feature feasible for mechanical parking spaces and / or other applications.
[0097] The foregoing description is merely illustrative in nature and is in no way intended to limit the present disclosure, its application, or uses. The broad teachings of the present disclosure can be implemented in a variety of forms. Thus, while the present disclosure includes particular examples, the true scope of the present disclosure should not be so limited since other modifications will become apparent after study of the drawings, the specification, and the appended claims. It should be understood that one or more steps in a method can be executed in a different order (or concurrently) without changing the principles of the present disclosure. Additionally, while each embodiment is described above as having certain features, any one or more of those features described with respect to any embodiment of the present disclosure can be implemented in and / or combined with the features of any other embodiment, even if the combination is not explicitly described. In other words, the described embodiments are not mutually exclusive, and permutations of one or more of the embodiments with each other are still within the scope of the present disclosure.
[0098] Spatial and functional relationships between elements (e.g., between modules, circuit elements, semiconductor layers, etc.) are described using a variety of terms, including “connected,” “engaged,” “coupled,” “adjacent,” “next to,” “on top,” “above,” “below,” and “disposed.” Unless explicitly described as “direct,” when describing the relationship between a first and a second element in the foregoing disclosure, the relationship can be a direct relationship where no other intervening elements exist between the first and second elements, but can also be an indirect relationship where one or more intervening elements (spatially or functionally) exist between the first and second elements. As used herein, the phrase “at least one of A, B, and C” should be construed to mean a logical (A or B or C) using a non-exclusive logical OR and should not be construed to mean “at least one of A, at least one of B, and at least one of C.”
[0099] In the figures, the direction of the arrow(s) indicated generally represents the information flow of interest for the illustration (such as data or instructions). For example, when element A and element B exchange various information, but the information transmitted from element A to element B is relevant to the illustration, the arrow can point from element A to element B. This one-way arrow does not mean that no other information is transmitted from element B to element A. Additionally, for the information sent from element A to element B, element B can send a request for that information or receive an acknowledgement from element A.
[0100] In this application, including the following definitions, the term "module" or the term "controller" may be replaced by the term "circuit". The term "module" may refer to a portion of or include the following: an application specific integrated circuit (ASIC); digital, analog, or mixed analog / digital discrete circuits; digital, analog, or mixed analog / digital integrated circuits; combinational logic circuits; a field programmable gate array (FPGA); processor circuitry that executes code (shared, dedicated, or grouped); memory circuitry that stores code executed by the processor circuitry (shared, dedicated, or grouped); other suitable hardware components that provide the described functionality; or some or all of the combinations thereof, such as in a system on a chip.
[0101] A module may include one or more interface circuits. In some examples, the interface circuit may include a wired or wireless interface connected to a local area network (LAN), the Internet, a wide area network (WAN), or a combination thereof. The functionality of any given module of the present disclosure may be distributed among multiple modules connected through the interface circuits. For example, multiple modules may allow load balancing. In additional examples, a server (also referred to as remote or cloud) module may perform some functions on behalf of a client module.
[0102] The term code as used above may include software, firmware, and / or microcode, and may refer to programs, routines, functions, classes, data structures, and / or objects. The term shared processor circuitry encompasses a single processor circuitry that executes some or all of the code from multiple modules. The term grouped processor circuitry encompasses such processor circuitry that, in combination with additional processor circuitry, executes some or all of the code from one or more modules. References to multiple processor circuitries encompass multiple processor circuitries on separate die, multiple processor circuitries on a single die, multiple cores of a single processor circuitry, multiple threads of a single processor circuitry, or combinations thereof. The term shared memory circuitry encompasses a single memory circuitry that stores some or all of the code from multiple modules. The term grouped memory circuitry encompasses such memory circuitry that, in combination with additional memory, stores some or all of the code from one or more modules.
[0103] The term memory circuit is a subset of the term computer-readable medium. The term computer-readable medium as used herein does not cover transient electrical or electromagnetic signals propagated through a medium (such as on a carrier wave); thus, the term computer-readable medium can be considered tangible and non-transitory. Non-limiting examples of non-transitory tangible computer-readable media are non-volatile memory circuits (such as flash memory circuits, erasable programmable read-only memory circuits, or mask read-only memory circuits), volatile memory circuits (such as static random access memory circuits or dynamic random access memory circuits), magnetic storage media (such as analog or digital tapes or hard disk drives), and optical storage media (such as CDs, DVDs, or Blu-ray discs).
[0104] The devices and methods described in this application can be implemented in part or in whole by a special-purpose computer created by configuring a general-purpose computer to execute one or more specific functions embodied in a computer program. The functional blocks, flowchart components, and other elements described above serve as software specifications, which can be translated into a computer program through the routine work of a skilled technician or programmer.
[0105] A computer program includes processor-executable instructions stored on at least one non-transitory tangible computer-readable medium. The computer program may also include or rely on stored data. The computer program can cover a basic input / output system (BIOS) that interacts with the hardware of the special-purpose computer, device drivers that interact with specific devices of the special-purpose computer, one or more operating systems, user applications, background services, background applications, etc.
[0106] A computer program can include: (i) descriptive text to be parsed, such as HTML (HyperText Markup Language), XML (eXtensible Markup Language), or JSON (JavaScript Object Notation); (ii) assembly code; (iii) object code generated from source code by a compiler; (iv) source code executed by an interpreter; (v) source code compiled and executed by a just-in-time compiler, etc. By way of example only, source code can be written using languages including C, C++, C#, Objective-C, Swift, Haskell, Go, SQL, R, Lisp, Fortran, Perl, Pascal, Curl, OCaml, HTML5 (the fifth revision of the HyperText Markup Language), Ada, ASP (Active Server Pages), PHP (PHP: Hypertext Preprocessor), Scala, Eiffel, Smalltalk, Erlang, Ruby, Visual Lua, MATLAB, SIMULINK, and written in the grammar of the language.
Claims
1. A vision system for a vehicle, comprising: a camera system including one or more cameras; a dead reckoning system configured to calculate a first trajectory of the vehicle from a first position to a second position; and a vision-based positioning system configured to: when the vehicle travels from the first position to the second position, use a plurality of images generated by the camera system to calculate a second trajectory of an object located at a height above the ground; calculate a plurality of height values of the object from the plurality of images; and identify and remove outliers from the plurality of height values.
2. The vision system according to claim 1, wherein the vision-based positioning system is further configured to calculate the height of the object based on the remaining height values among the plurality of height values.
3. The vision system according to claim 2, wherein the vision-based positioning system is further configured to correct the coordinates of the object in response to the height.
4. The vision system according to claim 1, wherein the object corresponds to a corner of a parking space of a mechanical parking system.
5. The vision system according to claim 2, wherein the vision-based positioning system is further configured to calculate an average value and a standard deviation of the plurality of height values.
6. The vision system according to claim 5, wherein the vision-based positioning system is further configured to calculate a score for each of the plurality of height values.
7. The vision system according to claim 6, wherein the score is based on the difference between a selected one of the plurality of height values and the average value divided by the standard deviation.
8. The vision system according to claim 7, wherein the score of a selected one of the plurality of height values is compared with at least one predetermined threshold and selectively removed in response to the comparison.
9. The vision system according to claim 3, wherein the coordinates of the object are corrected using the ratio of the height to the camera height.
10. A method for operating a vision system of a vehicle, comprising: generating images using a camera system including one or more cameras; calculating a first trajectory of the vehicle from a first position to a second position using dead reckoning; when the vehicle travels from the first position to the second position, calculating a second trajectory of an object located at a height above the ground using a plurality of images generated by the camera system; calculating a plurality of height values of the object from the plurality of images; and identifying and removing outliers from the plurality of height values.