This disclosure generally relates to vehicles, and more particularly relates to systems and methods for automatically adjusting camera field of view when vehicles are in reverse mode.
Vehicles must be driven in reverse, usually for short distances. Typical circumstances requiring reverse driving include driveways, parking and towing and the like. Driver assistance systems are capable of providing camera views to a driver that show object and estimates of distance of objects behind a vehicle. When a driver backs up on a hill or curved surface, some displays may not show a portion of the available imaging to assist the driver due to surface inclination or declinations and curvature of road topologies. The distortion correction in current images possibly may not display a portion of an image or other available data.
Thus, it is desirable to provide solutions that address the need for an enhance display for vehicles that accommodates irregular topologies when a vehicle is in reverse mode.
A detailed description is set forth below with reference to the accompanying drawings. The use of the same reference numerals may indicate similar or identical items. Various embodiments may utilize elements and/or components other than those illustrated in the drawings, and some elements and/or components may not be present in various embodiments. Elements and/or components in the figures are not necessarily drawn to scale. Throughout this disclosure, depending on the context, singular and plural terminology may be used interchangeably.
In terms of a general overview, this disclosure is generally directed to systems and methods for detecting that the vehicle is in a reverse mode, receiving a road surface topology, determining a feature of interest is within a collected image and outside a displayed field of view (FOV) for a rear-facing camera due to the road surface topology, and adjusting the displayed FOV for the rear-facing camera to place the feature of interest within the displayed FOV.
In one or more embodiments, the determining a feature of interest is within a collected image and outside a displayed field of view (FOV) for a rear-facing camera due to the road surface topology may include identifying the feature of interest using a sensor system including interior cameras, driver state monitoring cameras (DSMC), vehicle occupant monitoring sensors, light detection and ranging (lidar) sensors, radar in a two-dimensional spectral plane, ultrasonic sensors, and Ultra-Wideband (UWB) sensors.
In one or more embodiments, the adjusting the displayed FOV for the rear-facing camera to place the feature of interest within the displayed FOV, may include determining whether the feature of interest requires an adjustment of the displayed FOV in excess of a predetermined threshold from a nominal FOV for the rear-facing camera, and adjusting the displayed FOV if the adjustment enables the feature of interest to be presented within a display of the vehicle.
In one or more embodiments, determining whether the feature of interest requires an adjustment of the displayed FOV in excess of a predetermined threshold may include adjusting the displayed FOV via a translation adjustment affecting the position of the FOV, an extent adjustment affecting the stretch of the FOV, a look up table or an empirically derived equation.
One or more embodiments are also directed to a system for a vehicle including a plurality of sensors coupled to the vehicle, a rear-facing camera coupled to the vehicle, a memory coupled to the plurality of sensors and the rear-facing camera that stores computer-executable instructions, and a processor coupled to the memory, the processor configured to access the memory and execute the computer-executable instructions to detect that the vehicle is in a reverse mode, receive a road surface topology,
In some embodiments, the reverse mode is detected by receiving a reverse mode indication over a controller area network (CAN) bus in the vehicle.
Another embodiment is directed to a vehicle, including a chassis, a motor coupled to the chassis, an on-board computer coupled to the chassis, the on-board computer including a memory and a processor coupled to the memory, the processor configured to execute one or more instructions to detect a reverse mode, receive a road surface topology, determine a feature of interest is within a collected image and outside a displayed field of view (FOV) for a rear-facing camera due to the road surface topology, and adjust the displayed FOV for the rear-facing camera to place the feature of interest within the displayed FOV for the rear-facing camera.
The disclosure will be described more fully hereinafter with reference to the accompanying drawings, in which example embodiments of the disclosure are shown. This disclosure may, however, be embodied in many different forms and should not be construed as limited to the example embodiments set forth herein. It will be apparent to persons skilled in the relevant art that various changes in form and detail can be made to various embodiments without departing from the spirit and scope of the present disclosure. Thus, the breadth and scope of the present disclosure should not be limited by any of the above-described example embodiments but should be defined only in accordance with the following claims and their equivalents. The description below has been presented for the purposes of illustration and is not intended to be exhaustive or to be limited to the precise form disclosed. It should be understood that alternative implementations may be used in any combination desired to form additional hybrid implementations of the present disclosure. For example, any of the functionality described with respect to a particular device or component may be performed by another device or component. Furthermore, while specific device characteristics have been described, embodiments of the disclosure may relate to numerous other device characteristics. Further, although embodiments have been described in language specific to structural features and/or methodological acts, it is to be understood that the disclosure is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as illustrative forms of implementing the embodiments.
It should also be understood that the word “example” as used herein is intended to be non-exclusionary and non-limiting in nature. Furthermore, certain words and phrases that are used herein should be interpreted as referring to various objects and actions that are generally understood in various forms and equivalencies by persons of ordinary skill in the art. For example, the word “application” or the phrase “software application” as used herein with respect to a mobile device such as a smartphone, refers to code (software code, typically) that is installed in the mobile device. The code may be launched and operated via a human machine interface (HMI) such as a touchscreen. The word “action” may be used interchangeably with words such as “operation” and “maneuver” in the disclosure. The word “maneuvering” may be used interchangeably with the word “controlling” in some instances. The word “vehicle” as used in this disclosure can pertain to any one of various types of vehicles such as cars, vans, sports utility vehicles, trucks, electric vehicles, gasoline vehicles, hybrid vehicles, and autonomous vehicles. Phrases such as “automated vehicle,” “autonomous vehicle,” and “partially-autonomous vehicle” as used in this disclosure generally refer to a vehicle that can perform at least some operations without a driver being seated in the vehicle.
The vehicle on-board computer 110, in one or more embodiments, may be used to support features such as passive keyless operations, remotely-controlled vehicle maneuvering operations, and remote vehicle monitoring operations. Vehicle on-board computer 110 may further control some maneuvers performed by the vehicle 102 during the self-parking operation (referred to in the industry as a Remote Park Assist (RePA) operation) or other fully autonomous operations (L3-L5). There are display needs in such autonomous operations benefitted by embodiments described herein.
The vehicle on-board computer 110 may perform various functions such as controlling engine operations (fuel injection, speed control, emissions control, braking, etc.), managing climate controls (air conditioning, heating etc.), activating airbags, and issuing alerts (check engine light, bulb failure, low tire pressure, vehicle in a blind spot, etc.). In one or more embodiments, vehicle on-board computer 110 may enable a self-driving car or provide driver assistance. Thus, vehicle on-board computer 110 may further include an Advanced Driver-Assistance System (“ADAS”) enhancement system 124, which is shown to further include, as one embodiment, the various components of the vehicle 102 that may be controlled, activated, and/or operated by the vehicle by the ADAS enhancement system 124.
In one implementation, the ADAS enhancement system 124 can be an independent device (enclosed in an enclosure, for example). In another implementation, some or all components of the ADAS enhancement system 124 can be housed, merged, or can share functionality, with vehicle on-board computer 110. For example, an integrated unit that combines the functionality of the ADAS enhancement system 124 can be operated by a single processor and a single memory device. In the illustrated example configuration, the ADAS enhancement system 124 includes a processor 104, a transceiver 127, and memory 122, ADAS Enhancement System Module 177, database 175 and operating system 180.
In one or more embodiments, communications network 140 includes a cellular or Wi-Fi communication link enabling vehicle 102 to communicate with network 140 which may connect to a remote server 142, which may include a cloud-based network or source for transferring data in accordance with this disclosure. Also shown is a mobile device 141, in communication with network 140, remote server 142 and vehicle 102, which enable vehicle to network (V2X) type operations.
Sensor system 112 of the on-board computer 110 may communicate with cameras and other sensors 150 of vehicle 102 in a manner that allows the vehicle on-board computer 110 to collect data therefrom. Data may be transmitted from cameras and other sensors 150 via a controller area network (CAN) bus network and an Ethernet connection. For example, bus 163 may be part of a CAN bus network as will be appreciated by one of skill in the art.
Examples of the camera and other sensors 150 that may be in communication with sensor system 112 may include sensors, radars and/or emitters capable of detecting objects, distances such as ultrasonic radar, Lidar, cameras and the like. In one or more embodiments, sensors/cameras 150 may further include one or more of Bluetooth®-enabled sensors, or Bluetooth® low energy (BLE)-enabled sensors, accelerometers, rate sensors, GPS sensors, and steering wheel sensors. Sensors 150 may include rear-facing cameras with different fields of view available. In one or more embodiments, rear-facing cameras may include wide angle cameras capable of sending data to displays within vehicle 102, such as over CAN bus or over network 140, in accordance with system requirements.
Referring to
As shown, in one embodiment, mobile device 141 includes components such as processor 202, transceiver 210, and memory 204, which is one example of a non-transitory computer-readable medium, may be used to store the operating system (OS) 240, database 230, and various modules such as image adjustment module 230. The various modules may be in the form of computer-executable instructions executed by the processor 210 for performing various operations such as adjusting images created by rear-facing cameras to accommodate angle and distance to objects in accordance with the disclosure. More particularly, image adjustment module 230 may be executed by the processor 210 in accordance with the disclosure, for determining whether a topology of a road justifies adjusting a field of view (FOV) to be shown on display 109 or via display system 164.
Referring back to
In one or more embodiments, display 109 and/or display system 164 may be within a mirror, a heads-up display, on a dashboard within vehicle 102, or part of the infotainment system 160, such as display system 164. Any display showing a view of a rear-facing camera or sensor may be adjusted to provide enable viewing of a FOV that is altered to accommodate a topology.
As shown on
Referring now to
Referring to
The view shown in
Similar to
Referring now to
The decision flow diagram next provides in block 620 a decision of whether a road feature of interest is outside a nominal field of view (FOV). If yes, then the decision flows to adjusting the FOV in block 622. Block 524 provides for a look up table or empirical derived equation to determine camera lens characteristics for adjusting the FOV. For example, inputs used to look up adjustments may be included in the look up table. A look up table may be included that takes data from a sensor fusion that produces a road surface topology and estimates different options for the displayed FOV. For example, if a camera lens characteristics are that of a wide angle or fish-eye lens, then the characteristics of the lens are known, and the look up table may be preset based on the lens characteristics. The image produced will have known characteristics based on the lens and the estimated distances based on topology. Each rise of a road, for example, will have an angle that enables the known characteristics of a lens to estimate distances based on Pythagorean Theorem principles, which one of ordinary skill in the art with the benefit of this disclosure will appreciate. Thus, the displayed FOV of a collected image may be adjusted including a position (translation) and an extents (stretch) of the displayed FOV. For non-planar surfaces, those of skill in the art may apply non-planar surface geometric correction such as has been studied with point cloud guided geometric correction (PGGC) to compute compensating images using different sampling schemes to correspond to curved regions and edges. As will be appreciated, system limitations on available processing power may dictate the granularity of such techniques.
If no, decision block 630 asks if the road inclination and road scene objects or features of interest are above a threshold for a FOV change. In one embodiment, if the objects or features of interest are above, for example, a 10% threshold of the nominal displayed FOV, a FOV change may be made at block 622. For example, a pedestrian that is visible if a FOV is above the 10% threshold is shown in
As shown in
Next decision block 640 asks if the road inclination and road scene objects above a threshold for distance marker change. More specifically, an object on an incline would appear higher in a displayed image and thus appear to be further away with uncorrected markers. For example, a threshold of plus or minus 0.5 feet of error at a distance of three feet would correct for a 10 degree incline. In another example, a threshold of a given percentage, such as 25% and an incline of 15 degrees would also result in a distance marker correction.
If not above the threshold, block 644 provides for not modifying distance markers presented on a vehicle display. If the road scene objects are visible within a display if an alteration is above a threshold, then block 650 provides for adjusting the distance markers. For example, as shown in block 660, a look up table or empirical derived equation may contribute to the camera lens characteristics to enable adjusting the distance marker on a vehicle display. Because most camera lens characteristics are known apriori, a look up table including different angles of road topology may be created or based on empirical data collected over time for a particular camera. Empirical data may also be determined during a calibration process. In one embodiment, a calibration process occurs and is altered over time based on collected data. A distance marker based on a flat road may then be altered to account for different road angles and the like based on the look up table using basic geometric principles, and the Pythagorean Theorem and the like. Thus, camera lens design may provide a set of camera calibration parameters that are available online or offline. In some embodiments, an image projection onto a road surface includes an estimate of inclination or a full-measured 3D surface. For flat road assumptions, some embodiments apply geometric calculations using ray tracing.
Referring now to
Block 720 provides for receiving a road surface topology. For example, as discussed above with respect to
Block 730 provides for determining a feature of interest is within a collected image and outside a displayed field of view (FOV) for the rear-facing camera. Within block 730 is optional block 7302 shown in dashed lines which provides for identifying the feature of interest using a sensor system including interior cameras, driver state monitoring cameras (DSMC), vehicle occupant monitoring sensors, lidar sensors, radar in a two-dimensional spectral plane, ultrasonic sensors, and Ultra-Wideband (UWB) sensors. For example, as shown in
Block 740 provides for adjusting the displayed FOV for the rear-facing camera to place the feature of interest within the displayed FOV. For example, as shown in
Within blocks 7402 is optional block 740202, also in dashed lines, provides for using a look up table or empirical derived equation to adjust the displayed FOV. For example, a look up table may provide different angles of a road up either uphill or downhill along with estimated distances for correction based on the camera lens characteristics. Rear-facing cameras on vehicles are typically wide angle lenses or fisheye lenses with known lens characteristics that enable look up tables to estimate distance distortions and the like. For example, as shown in
Within blocks 7404 is optional block 740402, also in dashed lines, which provides for adjusting the displayed FOV via at least one of a translational adjustment effecting the position of the displayed FOV or an extent adjustment affecting the stretch of the displayed FOV. For example, the known characteristics of a wide angle lens may enable a stretch of the displayed FOV to show a feature of interest or to accommodate for distance distortions. Further, a raw image would illustrate a feature of interest if a translation adjustment occurs as shown in
Block 750 provides for adjusting the FOV for the rear-facing camera to accommodate a road inclination within the FOV for the rear-facing camera when adjusting exceeds a predetermined threshold for a distance marker change. For example, a predetermined threshold for the distance marker change may be less than a half of a foot in distance-to-object measurement error based on lens distortion characteristics of the rear-facing camera. In one or more embodiments, the predetermined threshold for the distance marker change is at least a ten percent alteration in the displayed FOV to accommodate the feature of interest. As one of skill in the art with the benefit of the present disclosure will appreciate, the predetermined threshold can be between 5 and 20 percent depending on different factors. Regardless of the threshold percentage, if a displayed FOV enables the feature of interest to be visible and is within a threshold, the visibility becomes paramount under some circumstances.
In the above disclosure, reference has been made to the accompanying drawings, which form a part hereof, which illustrate specific implementations in which the present disclosure may be practiced. It is understood that other implementations may be utilized, and structural changes may be made without departing from the scope of the present disclosure. References in the specification to “one embodiment,” “an embodiment,” “an example embodiment,” “an example embodiment,” “example implementation,” etc., indicate that the embodiment or implementation described may include a particular feature, structure, or characteristic, but every embodiment or implementation may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment or implementation. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment or implementation, one skilled in the art will recognize such feature, structure, or characteristic in connection with other embodiments or implementations whether or not explicitly described. For example, various features, aspects, and actions described above with respect to an autonomous parking maneuver are applicable to various other autonomous maneuvers and must be interpreted accordingly.
Implementations of the systems, apparatuses, devices, and methods disclosed herein may comprise or utilize one or more devices that include hardware, such as, for example, one or more processors and system memory, as discussed herein. An implementation of the devices, systems, and methods disclosed herein may communicate over a computer network. A “network” is defined as one or more data links that enable the transport of electronic data between computer systems and/or modules and/or other electronic devices. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or any combination of hardwired or wireless) to a computer, the computer properly views the connection as a transmission medium. Transmission media can include a network and/or data links, which can be used to carry desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer. Combinations of the above should also be included within the scope of non-transitory computer-readable media.
Computer-executable instructions comprise, for example, instructions and data which, when executed at a processor, cause the processor to perform a certain function or group of functions. The computer-executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, or even source code. Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the described features or acts described above. Rather, the described features and acts are disclosed as example forms of implementing the claims.
A memory device can include any one memory element or a combination of volatile memory elements (e.g., random access memory (RAM, such as DRAM, SRAM, SDRAM, etc.)) and non-volatile memory elements (e.g., ROM, hard drive, tape, CDROM, etc.). Moreover, the memory device may incorporate electronic, magnetic, optical, and/or other types of storage media. In the context of this document, a “non-transitory computer-readable medium” can be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device. More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: a portable computer diskette (magnetic), a random-access memory (RAM) (electronic), a read-only memory (ROM) (electronic), an erasable programmable read-only memory (EPROM, EEPROM, or Flash memory) (electronic), and a portable compact disc read-only memory (CD ROM) (optical). Note that the computer-readable medium could even be paper or another suitable medium upon which the program is printed, since the program can be electronically captured, for instance, via optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.
Those skilled in the art will appreciate that the present disclosure may be practiced in network computing environments with many types of computer system configurations, including in-dash vehicle computers, personal computers, desktop computers, laptop computers, message processors, mobile devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile telephones, PDAs, tablets, pagers, routers, switches, various storage devices, and the like. The disclosure may also be practiced in distributed system environments where local and remote computer systems, which are linked (either by hardwired data links, wireless data links, or by any combination of hardwired and wireless data links) through a network, both perform tasks. In a distributed system environment, program modules may be located in both the local and remote memory storage devices.
Further, where appropriate, the functions described herein can be performed in one or more of hardware, software, firmware, digital components, or analog components. For example, one or more application specific integrated circuits (ASICs) can be programmed to carry out one or more of the systems and procedures described herein. Certain terms are used throughout the description, and claims refer to particular system components. As one skilled in the art will appreciate, components may be referred to by different names. This document does not intend to distinguish between components that differ in name, but not function.
At least some embodiments of the present disclosure have been directed to computer program products comprising such logic (e.g., in the form of software) stored on any computer-usable medium. Such software, when executed in one or more data processing devices, causes a device to operate as described herein.
While various embodiments of the present disclosure have been described above, it should be understood that they have been presented by way of example only, and not limitation. It will be apparent to persons skilled in the relevant art that various changes in form and detail can be made therein without departing from the spirit and scope of the present disclosure. Thus, the breadth and scope of the present disclosure should not be limited by any of the above-described example embodiments but should be defined only in accordance with the following claims and their equivalents. The foregoing description has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the present disclosure to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. Further, it should be noted that any or all of the aforementioned alternate implementations may be used in any combination desired to form additional hybrid implementations of the present disclosure. For example, any of the functionality described with respect to a particular device or component may be performed by another device or component. Further, while specific device characteristics have been described, embodiments of the disclosure may relate to numerous other device characteristics. Further, although embodiments have been described in language specific to structural features and/or methodological acts, it is to be understood that the disclosure is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as illustrative forms of implementing the embodiments. Conditional language, such as, among others, “can,” “could,” “might,” or “may,” unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments could include, while other embodiments may not include, certain features, elements, and/or steps. Thus, such conditional language is not generally intended to imply that features, elements, and/or steps are in any way required for one or more embodiments.