Tunnel detection system

Through a tunnel detection system that fuses image data of the imager, ambient light sensor light data and radar data, the problem of inaccurate tunnel detection in vehicle radar detection is solved, and higher detection accuracy and safety are achieved.

CN120334902APending Publication Date: 2025-07-18GM GLOBAL TECHNOLOGY OPERATIONS LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410284521.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-01-16
Filing Date
2024-03-13
Publication Date
2025-07-18

AI Technical Summary

Technical Problem

The existing vehicle radar detection methods have inaccuracy and error detection when detecting tunnels, resulting in the problem of tunnel missed.

Method used

By combining imager image data, ambient light sensor light data and radar data, the tunnel detection application is used to perform data fusion and comparison in the electronic control unit, identify tunnel locations, and use servers to update the navigation database and communicate with third-party vehicles to improve detection accuracy.

Benefits of technology

It improves the accuracy and reliability of tunnel detection, reduces the occurrence of tunnel misses, and supports the safe driving of autonomous or semi-autonomous vehicles.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120334902A_ABST
    Figure CN120334902A_ABST
Patent Text Reader

Abstract

A tunnel detection system includes an imager configured to capture image data and including a microcontroller, a radar configured to capture radar data, and an ambient light sensor configured to capture light data. An electronic control unit (ECU) is communicatively coupled with each of the imager, the radar, and the ambient light sensor. The ECU includes data processing hardware including a tunnel detection application and a navigation application. The tunnel detection application is configured to compare an exposure value of the image data and a light value of the light data to the radar data to define tunnel data. The tunnel detection application is also configured to identify a tunnel based on the tunnel data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure generally relates to tunnel detection systems. Background Art

[0002] The information provided in this section is for the purpose of presenting the background of the present disclosure generally. To the extent described in this section, the work of the presently named inventors, as well as aspects of the description that may not qualify as prior art at the time of filing, are neither expressly nor implicitly admitted as prior art with respect to the present disclosure.

[0003] Vehicles typically use radar detection to monitor the surrounding environment. For example, a vehicle system can evaluate data received from radar detection to determine changes along a road (such as a tunnel). However, radar detection data indicates that the methods for finding tunnels are incorrect and imprecise. In addition, radar detection data shows that there are a large number of false detections and target misses inside the tunnel. Therefore, there is a need for an improved system to detect tunnels and monitor them as the vehicle travels through the tunnel. Summary of the Invention

[0004] In some aspects, a computer-implemented method causes data processing hardware to perform operations when executed by the data processing hardware. The operations include detecting radar data via radar; receiving image data from an imager and light data from an ambient light sensor; and setting a tunnel detection flag based on at least one of the radar data and the image data. The operations further include receiving a tunnel location from a navigation database of a server based on location data from the server; comparing the image data and the light data with the radar data and the tunnel location to define tunnel data; and activating the tunnel detection flag in response to the tunnel data.

[0005] In some examples, comparing the image data and the light data with the radar data and the tunnel location may include identifying a tunnel. Optionally, the operations may include fusing the tunnel data, transmitting the fused tunnel data to a server, updating a vehicle database on the server with the fused tunnel data, and communicating the fused tunnel data with one or more third-party vehicles. In some embodiments, setting the tunnel detection flag may include performing at least one of histogram enhancement and gradient slicing of the image data. The operations may further include calibrating a difference threshold of a tunnel detection application at an electronic control unit. In some examples, performing at least one of histogram enhancement and gradient slicing may include determining an exposure difference of the image data and comparing the exposure difference with the difference threshold. Optionally, comparing the light data with the radar data may include determining a radar confirmation state and a light confirmation state and comparing the radar confirmation state with the light confirmation state.

[0006] In other aspects, a tunnel detection system includes data processing hardware and memory hardware communicatively coupled to the data processing hardware. The memory hardware stores instructions that, when executed on the data processing hardware, cause the data processing hardware to perform operations. The operations include detecting radar data via radar, receiving image data from an imager, and receiving light data from an ambient light sensor, and setting a tunnel detection flag based on at least one of the radar data and the image data. The operations further include receiving a tunnel location from a navigation database of a server based on location data from the server, comparing the image data and the light data with the radar data and the tunnel location to define tunnel data, and activating the tunnel detection flag in response to the tunnel data.

[0007] In some examples, comparing the image data and the light data with the radar data and the tunnel location may include identifying a tunnel. The operations may further include fusing the tunnel data, transmitting the fused tunnel data to a server, updating a vehicle database on the server with the fused tunnel data, and communicating the fused tunnel data with one or more third-party vehicles. Optionally, setting the tunnel detection flag may include performing at least one of histogram enhancement and gradient slicing of the image data. The operations may further include calibrating a difference threshold of the tunnel detection application at an electronic control unit. In some embodiments, performing at least one of histogram enhancement and gradient slicing may include determining an exposure difference of the image data and comparing the exposure difference with the difference threshold. In some examples, comparing the light data with the radar data may include determining a radar confirmation state and a light confirmation state and comparing the radar confirmation state with the light confirmation state.

[0008] In a further aspect, a tunnel detection system includes an imager configured to capture image data and including a microcontroller, a radar configured to capture radar data, and an ambient light sensor configured to capture light data. An electronic control unit (ECU) is communicatively coupled to each of the imager, the radar, and the ambient light sensor. The ECU includes data processing hardware that includes a tunnel detection application and a navigation application. The tunnel detection application is configured to compare an exposure value of the image data and a light value of the light data with the radar data to define tunnel data. The tunnel detection application is further configured to identify a tunnel based on the tunnel data.

[0009] In some examples, the microcontroller of the imager can be configured to perform at least one of histogram enhancement and gradient slicing of image data to define an exposure value. Optionally, the tunnel detection application can include difference values, which include exposure difference and light difference. The tunnel detection application can be configured to compare the difference values with a difference threshold of the tunnel detection application. In some embodiments, the tunnel detection application can be configured to perform radar fusion with light data and radar data using a radar confirmation state and a light confirmation state. The tunnel detection system can also include a server, which is communicatively coupled to the ECU and includes location data, which includes tunnel locations. The tunnel detection application can be configured to compare the tunnel data with the tunnel locations from the server.

[0010] A vehicle can be equipped with a tunnel detection system. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] The drawings described herein are for illustrative purposes only of selected configurations and are not intended to limit the scope of the present disclosure.

[0012] Figure 1 is a perspective view of a vehicle equipped with a tunnel detection system according to the present disclosure, the vehicle entering a tunnel;

[0013] Figure 2 is a schematic block diagram of a tunnel detection system according to the present disclosure;

[0014] Figure 3 is another schematic view of a block diagram of a tunnel detection system according to the present disclosure;

[0015] Figure 4 is an example flowchart of a tunnel detection system according to the present disclosure;

[0016] Figure 5 is Figure 4 another example flowchart of the tunnel detection system of;

[0017] Figure 6 is Figure 5 another example flowchart of the tunnel detection system of;

[0018] Figure 7 is another example flowchart of a tunnel detection system according to the present disclosure; and

[0019] Figure 8 is Figure 7 a continuous example flowchart of the tunnel detection system of.

[0020] In all the drawings, corresponding reference numerals indicate corresponding parts. DETAILED DESCRIPTION

[0021] Example configurations will now be described more fully with reference to the accompanying drawings. The example configurations are provided so that this disclosure will be thorough and will fully convey the scope of the disclosure to those of ordinary skill in the art. Specific details, such as examples of specific components, devices, and methods, are set forth to provide a thorough understanding of the configurations of this disclosure. It will be apparent to those of ordinary skill in the art that the example configurations may be implemented in many different forms and that specific details and exemplary configurations should not be construed as limiting the scope of this disclosure.

[0022] The terminology used herein is for the purpose of describing particular exemplary configurations only and is not intended to be limiting. As used herein, the singular forms "a", "an", and "the" may also be intended to include the plural forms, unless the context clearly indicates otherwise. The terms "comprises", "comprising", "includes", and "having" are inclusive and therefore specify the presence of stated features, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, steps, operations, elements, components, and / or groups thereof. Method steps, processes, and operations described herein should not be construed as necessarily requiring them to be performed in the particular order discussed or illustrated, unless specifically identified as an order of performance. Additional or alternative steps may be employed.

[0023] When an element or layer is referred to as being "on", "engaged to", "connected to", "attached to", or "coupled to" another element or layer, it may be directly on, engaged, connected, attached, or coupled to the other element or layer, or intervening elements or layers may be present. In contrast, when an element is referred to as being "directly on", "directly engaged to", "directly connected to", "directly attached to", or "directly coupled to" another element or layer, intervening elements or layers may not be present. Other words used to describe the relationship between elements should be interpreted in a like manner (e.g., "between" versus "directly between", "adjacent" versus "directly adjacent", etc.). As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items.

[0024] The terms first, second, third, etc. may be used herein to describe various elements, components, regions, layers, and / or sections. These elements, components, regions, layers, and / or sections should not be limited by these terms. These terms are only used to distinguish one element, component, region, layer, or section from another. Terms such as "first", "second", and other numerical terms do not imply an order or sequence unless the context clearly dictates. Thus, a first element, component, region, layer, or section discussed below may be referred to as a second element, component, region, layer, or section without departing from the teachings of the example configurations.

[0025] In this application, including the following definitions, the term module may be replaced by the term circuit. The term "module" may refer to an application specific integrated circuit (ASIC) or a part thereof, or include 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; field programmable gate arrays (FPGAs); processors (shared, dedicated or group) that execute code; memories (shared, dedicated or group) that store code executed by the processors; other suitable hardware components that provide the functions; or some or all of the combinations of the above, such as in a system on a chip.

[0026] The term code used above may include software, firmware and / or microcode, and may refer to programs, routines, functions, classes and / or objects. The term shared processor includes a single processor that executes some or all of the code from multiple modules. The term group processor includes a processor that, in combination with additional processors, executes some or all of the code from one or more modules. The term shared memory includes a single memory that stores some or all of the code from multiple modules. The term group memory includes a memory that, in combination with additional memories, stores some or all of the code from one or more modules. The term memory may be a subset of the term computer-readable medium. The term computer-readable medium does not include transient electrical signals and electromagnetic signals propagated through a medium, and thus may be considered tangible non-transitory memory. Non-limiting examples of non-transitory memory include tangible computer-readable media, including non-volatile memory, magnetic memory, and optical memory.

[0027] The devices and methods described in this application may be implemented in part or in whole by one or more computer programs executed by one or more processors. The computer programs include processor-executable instructions stored on at least one non-transitory tangible computer-readable medium. The computer programs may also include and / or rely on stored data.

[0028] A software application (i.e., software resource) may refer to computer software that causes a computing device to perform tasks. In some examples, a software application may be referred to as an "application", "app", or "program". Example applications include, but are not limited to, system diagnostic applications, system management applications, system maintenance applications, word processing applications, spreadsheet applications, messaging applications, media streaming applications, social networking applications, and gaming applications.

[0029] A non-transitory memory can be a physical device for temporarily or permanently storing programs (e.g., sequences of instructions) or data (e.g., program state information) for use by a computing device. The non-transitory memory can be volatile and / or non-volatile addressable semiconductor memory. Examples of non-volatile memory include, but are not limited to, flash memory and read-only memory (ROM) / programmable read-only memory (PROM) / erasable programmable read-only memory (EPROM) / electrically erasable programmable read-only memory (EEPROM) (e.g., commonly used for firmware such as a boot program). Examples of volatile memory include, but are not limited to, random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), phase change memory (PCM), and magnetic disks or tapes.

[0030] These computer programs (also referred to as programs, software, software applications, or code) include machine instructions for a programmable processor and can be implemented in a high-level procedural and / or object-oriented programming language and / or assembly / machine language. As used herein, the terms “machine-readable medium” and “computer-readable medium” refer to any computer program product, non-transitory computer-readable medium, apparatus, and / or device (e.g., a magnetic disk, an optical disk, a memory, a programmable logic device (PLD)) that provides machine instructions and / or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term “machine-readable signal” refers to any signal that provides machine instructions and / or data to a programmable processor.

[0031] The various implementations of the systems and techniques described herein can be implemented in digital electronic and / or optical circuits, integrated circuits, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and / or combinations thereof. These different implementations can include implementations in one or more computer programs executable and / or interpretable on a programmable system including at least one programmable processor, at least one input device, and at least one output device, the programmable processor can be special purpose or general purpose and is coupled to receive data and instructions from, and to send data and instructions to, a storage system.

[0032] The processes and logical flows described in this specification can be performed by one or more programmable processors, also known as data processing hardware, executing one or more computer programs to perform functions by operating on input data and generating output. These processes and logical flows can also be performed by special-purpose logic circuitry, such as an FPGA (Field Programmable Gate Array) or ASIC (Application Specific Integrated Circuit). By way of example, processors suitable for the execution of a computer program include both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more storage devices for storing instructions and data. Generally, a computer will also include or be operatively coupled to one or more mass storage devices for storing data, such as magnetic disks, magneto-optical disks, or optical disks, to receive data from or transfer data to the mass storage device, or both. However, a computer need not have such devices. Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media and storage devices, including by way of example semiconductor storage devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks, such as internal hard disks or removable disks; magneto-optical disks; and CD ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special-purpose logic circuitry.

[0033] For providing interaction with a user, one or more aspects of the present disclosure may be implemented on a computer having a display device for displaying information to the user, such as a CRT (Cathode Ray Tube), LCD (Liquid Crystal Display) monitor, or touch screen, and a keyboard and pointing device, such as a mouse or trackball, optionally provided, by which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including sound, voice, or tactile input. Additionally, the computer can interact with the user by sending documents to and receiving documents from the device used by the user; for example, by sending a web page to a web browser on a client device of the user in response to a request received from the web browser.

[0034] Reference Figures 1-3, a tunnel detection system 10 for a vehicle 12 includes an electronic control unit (ECU) 14 and a server 100. The electronic control unit 14 is configured with a tunnel detection application 16, and the server 100 is communicatively coupled to the ECU 14 via a network 200. The tunnel detection system 10 also facilitates communication between the server 100 and a third-party vehicle 300 via the network 200, as described in more detail below. The tunnel detection system 10 is configured to improve the detection of a tunnel 202 when the vehicle 12 enters and traverses the tunnel 202. For example, Figure 1 A vehicle 12 entering the tunnel 202 is shown. As described herein, the tunnel detection system 10 utilizes real-time verification to identify the tunnel 202, which is beneficial for guiding the vehicle 12 through the tunnel 202. It is generally contemplated that the vehicle 12 can be an autonomous or semi-autonomous vehicle 12, such that identifying the tunnel 202 may be beneficial for applying braking points for the vehicle 12.

[0035] As described herein, the tunnel detection application 16 is configured as part of the data processing hardware 18 of the ECU 14. The tunnel detection application 16 is described with respect to execution on the ECU 14. However, it is contemplated that any central computing module of the vehicle 12 can execute the tunnel detection application 16, and the ECU 14 is provided as an example computing module of the vehicle 12. The ECU 14 also includes a memory hardware 20 communicatively coupled to the data processing hardware 18. The memory hardware 20 stores instructions that, when executed on the data processing hardware 18, cause the data processing hardware 18 to perform the operations described herein. The data processing hardware 18 also includes a navigation application 22 and an autonomous application 26. The navigation application 22 includes global positioning system (GPS) data 24 of the vehicle 12. The tunnel detection application 16 is configured to assist in executing the autonomous application 26 by analyzing tunnel data 28, as described in more detail below.

[0036] The tunnel detection system 10 also includes a radar 30 configured to detect radar data 32, an imager 40 configured to detect image data 42, and at least one ambient light sensor 50 configured to detect light data 52. The radar data 32, the image data 42, and the light data 52 can be collectively referred to as tunnel data 28, as each is used as part of the tunnel detection application 16 to determine the presence of the tunnel 202. Each of the radar 30 and the imager 40 can be equipped with respective microcontrollers 34, 44 configured to process the radar data 32 and the image data 42, respectively. Additionally or alternatively, the image data 42 and the radar data 32 can be processed by the ECU 14 using the data processing hardware 18 and the tunnel detection application 16. As described below, the tunnel detection system 10 utilizes each of the radar 30, the imager 40, and the ambient light sensor 50 simultaneously.

[0037] Further reference Figures 1-3, The radar 30 emits radar waves to detect objects near the vehicle 12. The radar data 32 collected by the radar 30 may include noise that would normally obstruct an object (such as a tunnel 202). The microcontroller 34 of the radar 30 can be used to filter the radar data 32 to minimize the noise that may obstruct the useful data of the radar data 32. It is also contemplated that in other examples, the filtering of the radar data 32 can be performed by the data processing hardware 18 of the ECU 14. The filtered radar data 32 is transmitted to the ECU 14 for use with the tunnel detection application 16.

[0038] The imager 40 may include a plurality of imagers 40 disposed along the vehicle 12. The imager 40 captures image data 42 while the vehicle 12 is in operation. For example, the image data 42 includes frame-by-frame images captured by the imager 40. The microcontroller 44 of the imager 40 can analyze the image data 42 to determine the exposure value 46 between each captured frame. However, this analysis can similarly be performed by the ECU 14. In some examples, the microcontroller 44 performs image enhancement 48 of the image data 42. For example, the microcontroller 44 performs histogram enhancement 48a of the image data 42. The histogram enhancement 48a identifies the bright and dark regions of the image data and emphasizes each of them.

[0039] For example, the microcontroller 44 using the histogram enhancement 48a can increase the darkness of the detected dark regions of the image data 42 and increase the brightness of the detected bright regions of the image data 42. Under this effect, the histogram enhancement 48a can be similar to the contrast enhancement of the image data 42. The microcontroller 44 also performs gradient slicing 48b of the image data 42 as part of the image enhancement 48. The gradient slicing 48b is a process that helps group similar gray levels. Therefore, the microcontroller 44 slices the image data 42 based on the gradient determined by the gradient slicing 48b. As described above, the image enhancement 48 can be performed by the microcontroller 44 of the imager 40 or the ECU 14. The execution of the histogram enhancement 48a and the gradient slicing 48b helps define the exposure value 46 of the image data 42. The tunnel detection application 16 uses the exposure value 46 during the operation of identifying the tunnel 202.

[0040] Still referring to Figures 1-3, the ambient light sensor 50 is configured to capture light data 52. The light data 52 is provided to and analyzed by the ECU 14. The ECU 14 determines a light value 54 associated with the light data 52 and uses the light value 54 to perform a difference, as part of the tunnel 202 identification process of the tunnel detection application 16. The tunnel detection application 16 determines a difference value 60 including an exposure difference 60a and a light difference 60b, which are based on the exposure value 46 and the light value 54 respectively. In some examples, the microcontroller 44 of the imager 40 can determine the exposure difference 60a and transmit the exposure difference 60a to the tunnel detection application 16. The exposure difference 60a can be determined as a result of performing at least one of histogram enhancement 48a and gradient slicing 48b. Accordingly, the tunnel detection flag 64 can be set in response to the performance of histogram enhancement 48a and / or gradient slicing 48b of the image data 42. In addition, the difference value 60 is compared with a difference threshold 62 to determine whether to set the tunnel detection flag 64 to true.

[0041] The tunnel detection application 16 calibrates the difference threshold 62 at the ECU 14 based on a predetermined time period and uses the average light value 54 of the same predetermined time period to obtain the average ambient light condition or the light difference 60b of the environment. Then the light difference 60b is subtracted from the difference threshold 62 to determine the presence of the tunnel 202. Accordingly, the difference threshold 62 functions as a function of the difference value 60. A similar process can be performed using the exposure difference 60a and the difference threshold 62 to further verify the presence of the tunnel 202. It is contemplated that the calculations using each difference value 60 can be performed simultaneously.

[0042] Further reference Figures 1-3 , the tunnel detection flag 64 can be set based on the difference evaluation of each difference value 60. For example, the tunnel detection flag 64 can be set to true or false, where true indicates the presence of the tunnel 202 determined based on the comparison of the difference value 60 with the difference threshold 62. In addition, the tunnel detection application 16 can use radar fusion 66 to compare the tunnel detection flag 64 with the radar data 32. In one example, the tunnel detection application 16 can compare the radar data 32 with the light data 52 and identify the tunnel 202 by comparing the radar confirmation status 68 with the light confirmation status 70.

[0043] The radar confirmation status 68 can be set to true 68a or false 68b, and the optical confirmation status 70 can also be set to true 70a or false 70b. The tunnel detection application 16 compares the radar confirmation status 68 with the optical confirmation status 70 to determine whether the radar confirmation status 68 is a false positive, a false negative, a true positive, or a true negative. A false positive would correspond to the radar 30 determining that there is a tunnel 202 where there is no tunnel 202. In contrast, a true positive would correspond to the radar 30 detecting that there is a tunnel 202 where there is a tunnel 202. Thus, the comparison of the radar and optical confirmation statuses 68, 70 aids the tunnel detection application 16 in identifying the tunnel 202.

[0044] A false positive occurs when the radar confirmation status 68 is set to true 68a and the optical confirmation status 70 is set to false 70b. The optical confirmation status 70 is typically determined based on a comparison of the optical difference 60b with a difference threshold 62. Thus, the tunnel detection application 16 typically relies on the optical confirmation status 70 as a barometer for tunnel identification. A false negative occurs when the radar confirmation status 68 is false 68b and the optical confirmation status 70 is true 70a. In contrast, a true negative occurs when the radar confirmation status 68 is set to false 68b and the optical confirmation status 70 is also set to false 70b. Similarly, a true positive occurs when both the radar confirmation status 68 and the optical confirmation status 70 are set to true 68a, 70a.

[0045] When the tunnel detection application 16 determines a true positive, the tunnel 202 is identified. Conversely, when a true negative is determined, the tunnel detection application 16 determines that there is no tunnel 202. The radar confirmation status 68 and the optical confirmation status 70 can be fused to define a radar fusion 66. For example, the tunnel detection application 16 can be configured to perform a radar fusion 66 using the radar confirmation status 68 and the optical confirmation status 70 with optical data 52 and radar data 32. The radar fusion 66 typically indicates that the tunnel detection application 16 has at least preliminarily identified the tunnel 202. The tunnel detection application 16 can compare the radar fusion 66 with the image data 42 to further identify the tunnel 202. If the image data 42 confirms the presence of the tunnel 202, the image data 42 can be fused with the radar fusion 66 to define tunnel data 28. Thus, the tunnel data 28 is ultimately used by the tunnel detection application 16 to identify the tunnel 202.

[0046] Still referring to Figures 1-3, the tunnel detection system 10 further includes a server 100, which is equipped with a navigation database 102. The navigation database 102 can store location data 104, including tunnel location 104a and light level 104b. The ECU 14 is also equipped with the aforementioned navigation application 22, which provides GPS data 24 to the server 100. The server 100 can communicate the tunnel location 104a with the data processing hardware 18 based on the GPS data 24 via the network 200. For example, the server 100 can use the GPS data 24 received from the ECU 14 to identify the location of the vehicle 12, and can provide the corresponding tunnel location 104a to the ECU 14.

[0047] The tunnel detection system 10 can utilize the light level 104b to confirm the light stability relative to the light data 52 received from the ambient light sensor 50. For example, the tunnel detection application 16 can verify the light stability of the surrounding environment by comparing the light level 104b provided by the server with the detected light data 52. Therefore, the ECU 14 can confirm the identified tunnel 202 based on the tunnel data 28 of the tunnel location 104a and the light level 104b provided by the server 100. In addition, the ECU 14 can utilize the GPS data 24 to compare with the tunnel location 104a received from the server 100 to verify that the vehicle 12 is in the tunnel 202.

[0048] In some examples, the ECU 14 can communicate the tunnel data 28 with the server 100, indicating the identified tunnel 202. The server 100 can then record the identified tunnel 202 in the navigation database 102 for future use. Therefore, although the server 100 can provide the tunnel location 104a to the ECU 14, the server 100 can advantageously receive the tunnel data 28 to continuously update the navigation database 102. The updated navigation database 102 can be used to assist other vehicles that may pass through locations related to the identified tunnel 202. In addition, the server 100 is equipped with a vehicle database 106, which can also be updated with the tunnel data 28. The vehicle database 106 includes known vehicles that utilize the server 100 for data collection and communication.

[0049] For example, the server 100 can update the tunnel location 104a and the vehicle database 106 with the updated tunnel location 104a based on the tunnel data 28. The server 100 can then share the updated tunnel location 104a with one or more third-party vehicles 300. The third-party vehicles 300 are configured to receive the location data 104 from the server 100 via the network 200. In some examples, the vehicle 12 can directly communicate the tunnel data 28 with the third-party vehicles 300 via the network 200 using the ECU 14.

[0050] Now refer to Figures 4-6, which shows an example flowchart of the tunnel detection system 10. In the initial step 500, the imager 40 detects image data 42, and at 502, the exposure difference 60a is determined. The tunnel detection application 16 determines at 504 whether the exposure value 46 has changed. If the exposure value 46 has not changed, the tunnel detection application 16 determines at 506 that there is a manual exposure. If the exposure value 46 does change, the tunnel detection application 16 determines at 508 that there is an automatic exposure. Then, at 510, the tunnel detection application 16 compares the exposure difference 60a with the difference threshold 62. Next, the tunnel detection application 16 determines at 512 whether the exposure difference 60a is higher than the difference threshold 62. If not, the tunnel detection application 16 returns to evaluate the exposure difference 60a.

[0051] If the exposure difference 60a is higher than the difference threshold 62, the tunnel detection application 16 proceeds. Meanwhile, the tunnel detection application 16 determines the light value 54 based on the light data 52 at 514. At 516, the difference threshold 62 is calibrated. However, the difference threshold 62 can also be calibrated before being compared with the exposure difference 60a. The tunnel detection application 16 determines the light difference 60b at 518, and then determines at 520 whether the light difference 60b is higher than the difference threshold 62. If not, the tunnel detection application 16 returns to evaluate the light difference 60b.

[0052] If the light difference 60b is higher than the difference threshold 62, the tunnel detection flag 64 is set at 522. Meanwhile, the radar data 32 is acquired at 524. Although described and illustrated in a linear flowchart, it is contemplated that the steps described herein can occur simultaneously or in a disordered sequence to the extent of determining the tunnel data 28 by comparing each of the radar data 32, the image data 42, and the light data 52 as described herein. The tunnel detection application 16 compares the radar data 32 with the light data 52 at 526 and determines the radar confirmation status 68 at 528. The tunnel detection application 16 determines the light confirmation status 70 at 530. The tunnel detection application 16 then determines at 532 whether the light confirmation status 70 is true 70a. If the light confirmation status 70 is true 70a, the tunnel detection application 16 determines whether the radar confirmation status 68 is true 68a. If the radar confirmation status 68 is not true 68a, there is a false negative detection, and the tunnel detection application 16 can return to evaluate the light confirmation status 70.

[0053] If the optical confirmation status 70 is not true 68a at 532, the tunnel detection application 16 determines at 536 whether the radar confirmation status 68 is true 68a. If both the optical confirmation status 70 and the radar confirmation status 68 are false 70b, 68b, the tunnel detection application 16 determines at 538 that no tunnel 202 has been detected. If both the optical confirmation status 70 and the radar confirmation status 68 are true 70a, 68a, the tunnel detection application 16 fuses the optical data 52 and the radar data 32, and at 538 compares the radar fusion 66 with the image data 42. Subsequently, the autonomous application 26 is executed at 540, and the vehicle database 106 of the server 100 is updated at 542.

[0054] Now refer Figure 7 and 8 FIGS. [FIG NUMBERS] illustrate another example flowchart of the tunnel detection system 10. At an initial step 600, the tunnel detection system 10 acquires the image data 42 and the radar data 32. The tunnel detection system 10 performs histogram enhancement 48a of the image data 42 at 602 and gradient slicing 48b of the image data 42 at 604. The tunnel detection application 16 then determines at 606 that the tunnel 202 has been detected and confirms the detection of the tunnel 202 at 608. While acquiring the image data 42 and the radar data 32, the tunnel detection system 10 sets the tunnel detection flag 64 at 610. The tunnel detection application 16 determines at 612 whether the tunnel 202 has been detected. If not, the tunnel detection application 16 resets the tunnel detection flag 64 to false. If the tunnel 202 has been detected, the tunnel detection application 16 confirms the detection of the tunnel 202 at 608.

[0055] The tunnel detection application 16 acquires GPS data 24 at 614. Simultaneously with the above steps, the tunnel detection application 16 acquires position data 104 including the light level 104b at 616 and confirms the light stability at 618. Then the optical data 52 is acquired at 620, and the light stability is verified by the tunnel detection application 16 at 622. The tunnel detection application 16 confirms the detection of the tunnel 202 at the corresponding position at 624 and enables the radar fusion 66 at 626.

[0056] Once the tunnel detection system 10 identifies the tunnel 202, the vehicle 12 can perform various actions according to the configuration of the vehicle 12. For example, the vehicle 12 can be an autonomous or semi-autonomous vehicle equipped with adaptive cruise control and / or Super Cruise functionality. The identification of the tunnel 202 helps to maneuver the vehicle 12 through the tunnel 202. For example, the tunnel detection application 16 can communicate the tunnel data 28 to the autonomous application 26 to improve the longitudinal control and braking of the vehicle 12 within the tunnel 202. Thus, when the vehicle 12 travels through the tunnel 202, the braking of the vehicle 12 is advantageously improved due to the tunnel detection system 10.

[0057] Numerous embodiments have been described. However, it should be understood that various modifications can be made without departing from the spirit and scope of the present disclosure. Accordingly, other embodiments are within the scope of the following claims.

[0058] For purposes of illustration and description, the foregoing description has been provided. It is not intended to be exhaustive or to limit the present disclosure. A single element or feature of a particular configuration is generally not limited to that particular configuration, but is interchangeable, where applicable, and can be used in a selected configuration even if not specifically shown or described. This can also vary in many ways. Such variations should not be regarded as a departure from the present disclosure, and all such modifications are intended to be included within the scope of the present disclosure.

Claims

1. A tunnel detection system, comprising: Data processing hardware; And Memory hardware in communication with the data processing hardware, the memory hardware storing instructions that, when executed on the data processing hardware, cause the data processing hardware to perform operations including the following: Detect radar data through a radar; Receive image data from an imager and light data from an ambient light sensor; Set a tunnel detection flag based on at least one of the radar data and the image data; Receive a tunnel location based on location data from a server from a navigation database of the server; Compare the image data and the light data with the radar data and the tunnel location to define tunnel data; And Activate the tunnel detection flag in response to the tunnel data.

2. The tunnel detection system according to claim 1, wherein, Comparing the image data and the light data with the radar data and the tunnel location includes identifying a tunnel.

3. The tunnel detection system according to claim 1, further comprising fusing the tunnel data and transmitting the fused tunnel data to the server.

4. The tunnel detection system according to claim 3, further comprising updating a vehicle database on the server with the fused tunnel data and communicating the fused tunnel data with one or more third-party vehicles.

5. The tunnel detection system according to claim 1, wherein Setting the tunnel detection flag includes performing at least one of histogram enhancement and gradient slicing of the image data.

6. The tunnel detection system according to claim 5, further comprising calibrating a difference threshold of a tunnel detection application at an electronic control unit.

7. The tunnel detection system according to claim 6, wherein, Perform at least one histogram enhancement.

8. The tunnel detection system according to claim 7, wherein, The gradient slicing includes determining an exposure difference of the image data and comparing the exposure difference with a difference threshold.

9. The tunnel detection system according to claim 1, wherein Comparing the light data with the radar data includes determining a radar confirmation status and a light confirmation status and comparing the radar confirmation status with the light confirmation status.

10. A vehicle equipped with the tunnel detection system according to claim 1.