A method and apparatus for determining the orientation of a traffic signal

CN117315968BActive Publication Date: 2026-10-30BEIJING SANKUAI ONLINE TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210712082.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-22
Publication Date
2026-10-30
Estimated Expiration
2042-06-22

AI Technical Summary

Technical Problem

[0003]而目前所采用的方法通常要依赖于图像数据中诸如车道线或者人行横道等其他交通信息,才能够对交通信号灯的朝向进行准确的识别,然而在对这些交通信息的提取过程中难以避免的会出现一定的误差,这些误差以及交通信号灯在图像数据中所处的位置,都会影响到确定出的交通信号灯朝向的准确性

Benefits of technology

[0037]在本说明书提供的交通信号灯朝向的确定方法中,可以对图像数据中包含的各交通信号灯进行聚类,得到各信号灯簇,并确定各信号灯簇的中心,而后根据每个交通信号灯所属信号灯簇的中心,以及该交通信号灯对应的法向量,确定该交通信号灯的朝向。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117315968B_ABST
    Figure CN117315968B_ABST
Patent Text Reader

Abstract

The specification discloses a traffic signal lamp orientation determination method and device, the traffic signal lamp orientation determination method comprising: acquiring image data containing traffic signal lamps; clustering each traffic signal lamp contained in the image data to obtain each signal lamp cluster and determine the center of each signal lamp cluster; for each traffic signal lamp, determining the orientation of the traffic signal lamp according to the center of the signal lamp cluster to which the traffic signal lamp belongs and the normal vector corresponding to the traffic signal lamp.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification relates to the field of computer technology, and in particular to a method and apparatus for determining the orientation of traffic lights. Background Technology

[0002] With the development of autonomous driving technology, high-precision maps have been widely used. As one of the core elements in real road scenarios, traffic lights are crucial in the construction of high-precision maps. The ability to accurately extract the orientation of traffic lights from the collected image data determines whether autonomous driving equipment can accurately judge traffic information during actual driving.

[0003] Current methods typically rely on other traffic information in image data, such as lane lines or pedestrian crossings, to accurately identify the direction of traffic lights. However, certain errors are unavoidable in the extraction of this traffic information. These errors, as well as the position of the traffic lights in the image data, will affect the accuracy of the determined direction of the traffic lights.

[0004] Therefore, accurately determining the orientation of traffic lights is a problem that urgently needs to be solved. Summary of the Invention

[0005] This specification provides a method and apparatus for determining the orientation of traffic lights, in order to partially solve the aforementioned problems existing in the prior art.

[0006] The following technical solution is adopted in this specification:

[0007] This manual provides a method for determining the orientation of traffic lights, including:

[0008] Acquire image data containing traffic lights;

[0009] The traffic lights contained in the image data are clustered to obtain each traffic light cluster, and the center of each traffic light cluster is determined.

[0010] For each traffic light, the orientation of the traffic light is determined based on the center of the traffic light cluster to which it belongs and the normal vector corresponding to the traffic light.

[0011] Optionally, the center of each traffic light cluster is determined, specifically including:

[0012] For each traffic light cluster, determine the minimum bounding polygon of each traffic light in the cluster, and take the centroid of the minimum bounding polygon as the center of the traffic light cluster.

[0013] Optionally, the traffic lights contained in the image data are clustered, specifically including:

[0014] The intersections contained in the image data are identified to determine the intersection range corresponding to each intersection;

[0015] Based on the intersection range, the traffic lights contained in the image data are clustered.

[0016] Optionally, based on the intersection range, the traffic lights contained in the image data are clustered, specifically including:

[0017] For each intersection, expand the intersection range to obtain the expanded intersection range;

[0018] Based on the traffic lights that fall within the range of each expanded intersection, determine each traffic light cluster.

[0019] Optionally, the center of each traffic light cluster is determined, specifically including:

[0020] For each traffic light cluster, the centroid of the expanded intersection area corresponding to the traffic light cluster is taken as the center of the traffic light cluster.

[0021] Optionally, the traffic lights contained in the image data are clustered, specifically including:

[0022] The traffic lights contained in the image data are clustered to obtain the first traffic light cluster corresponding to each clustering result. The intersections contained in the image data are identified, and the intersection ranges corresponding to the identified intersections are expanded to obtain the second traffic light clusters corresponding to each expanded intersection range.

[0023] Optionally, the center of each traffic light cluster is determined, specifically including:

[0024] For each first traffic light cluster, if the first traffic light cluster is the same as any second traffic light cluster, then the centroid of the expanded intersection area shape corresponding to the second traffic light cluster is taken as the center of the first traffic light cluster.

[0025] Optionally, for each traffic light, the orientation of the traffic light is determined based on the center of the traffic light cluster to which it belongs and the normal vector corresponding to the traffic light. Specifically, this includes:

[0026] For each traffic light, a vector is determined from the center of the traffic light cluster to the center of the traffic light itself, and this vector is used as the reference vector.

[0027] The orientation of the traffic light is determined based on the reference vector and the normal vector corresponding to the traffic light.

[0028] Optionally, the method further includes:

[0029] A high-precision map is constructed based on the orientation of each traffic light contained in the image data.

[0030] This specification provides a device for determining vector direction, comprising:

[0031] The acquisition module acquires image data containing traffic lights;

[0032] The clustering module clusters the traffic lights contained in the image data to obtain each traffic light cluster and determines the center of each traffic light cluster.

[0033] The module determines the orientation of each traffic light based on the center of the traffic light cluster to which it belongs and the normal vector of the traffic light.

[0034] This specification provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described method for determining the direction of traffic lights.

[0035] This specification provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the above-described method for determining the direction of a traffic light.

[0036] The above-mentioned technical solutions adopted in this specification can achieve the following beneficial effects:

[0037] In the method for determining the orientation of traffic lights provided in this specification, the traffic lights contained in the image data can be clustered to obtain each traffic light cluster, and the center of each traffic light cluster can be determined. Then, based on the center of the traffic light cluster to which each traffic light belongs and the normal vector corresponding to the traffic light, the orientation of the traffic light can be determined.

[0038] As can be seen from the above method, this scheme can accurately determine the orientation of traffic lights based on the center of the traffic light cluster to which the traffic light belongs and the normal vector of the traffic light. It does not need to rely on other traffic information besides traffic lights, thus avoiding the influence of inaccurate other traffic information on the judgment of traffic light orientation and ensuring the accuracy of the determined orientation of traffic lights. Attached Figure Description

[0039] The accompanying drawings, which are included to provide a further understanding of this specification and form part of this specification, illustrate exemplary embodiments and are used to explain this specification, but do not constitute an undue limitation thereof. In the drawings:

[0040] Figure 1This is a flowchart illustrating a method for determining the orientation of a traffic light provided in this specification.

[0041] Figure 2 This specification provides a flowchart for determining the orientation of a traffic light;

[0042] Figure 3 A schematic diagram of a traffic light orientation determination device provided in this specification;

[0043] Figure 4 This specification provides a corresponding Figure 1 A schematic diagram of an electronic device. Detailed Implementation

[0044] To make the objectives, technical solutions, and advantages of this specification clearer, the technical solutions of this specification will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this specification, and not all of them. Based on the embodiments in this specification, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this specification.

[0045] The technical solutions provided in the various embodiments of this specification are described in detail below with reference to the accompanying drawings.

[0046] Figure 1 This is a flowchart illustrating a method for determining the orientation of a traffic light provided in this specification, including the following steps:

[0047] S101: Acquire image data containing traffic lights.

[0048] In the process of building high-precision maps, traffic information is usually identified and extracted from the collected image data. Based on the extracted information, the high-precision map is automatically built so that it can be used for path planning and execution of corresponding driving strategies by autonomous driving equipment in actual driving.

[0049] In this process, to ensure that the autonomous driving equipment can accurately identify the traffic lights operating in its own lane during actual driving and thus execute the corresponding operations, and to prevent the autonomous driving equipment from misidentifying traffic lights in other lanes (such as oncoming lanes) and thus executing incorrect operations, it is necessary to accurately extract the orientation of each traffic light from the collected image data during the construction of high-precision maps. This determines the orientation of each traffic light (i.e., which lane the traffic light specifically operates in), so that the autonomous driving equipment can accurately determine which traffic light at the intersection requires the corresponding operation during actual driving.

[0050] Based on this, this specification provides a method for determining the orientation of traffic lights, in order to determine the orientation of each traffic light in image data. This requires acquiring image data containing all traffic lights. In practical applications, this image data can be acquired using image acquisition devices such as cameras, LiDAR, and millimeter-wave radar installed on equipment such as image acquisition vehicles or image acquisition drones, and the acquired image data can be uploaded to a server.

[0051] In addition to traffic lights, the image data may also contain other traffic information such as lane lines and intersections, which are not specifically limited in this specification.

[0052] In this specification, the executing entity for implementing the method for determining the direction of traffic lights can refer to a designated device such as a server set up on the business platform. For ease of description, this specification will only use the server as the executing entity as an example to illustrate one method for determining the direction of traffic lights provided in this specification.

[0053] S102: Cluster the traffic lights contained in the image data to obtain each traffic light cluster, and determine the center of each traffic light cluster.

[0054] After the server obtains the above image data, it can cluster the traffic lights contained in the image data to obtain each traffic light cluster.

[0055] Specifically, the server can use density-based clustering of applications with noise (DBSCAN) to group all traffic lights within a region where the traffic light density meets a preset threshold into a single cluster, thereby clustering the traffic lights. It should be noted that this clustering method ensures that each traffic light in the image data corresponds to a specific traffic light cluster.

[0056] Of course, other methods such as k-means clustering algorithm and Optics clustering algorithm can also be used to cluster the traffic lights contained in the image data in this specification, and this specification does not make specific limitations on this.

[0057] In practical applications, traffic lights are usually distributed in a rectangular pattern (such as the arrangement of traffic lights in four directions at an intersection, which is approximately rectangular). Therefore, for each traffic light cluster determined by clustering, the server can determine the minimum bounding rectangle of each traffic light contained in the cluster and take the centroid of the minimum bounding rectangle as the center of the traffic light cluster.

[0058] Of course, the server may also use the centroid of other circumscribed polygons (such as circumscribed triangles, circumscribed hexagons, etc.) of each signal light contained in the signal light cluster as the center of the signal light cluster. This specification does not make specific limitations on this.

[0059] In addition, the server can also identify intersections in image data using a pre-set recognition model. Through the semantic segmentation network of this recognition model, the intersection information in the image data is extracted, thereby determining the intersection range corresponding to each intersection contained in the image data.

[0060] Since the identified intersection range is relatively small, some traffic lights may not fall within the identified intersection range. Therefore, the server can expand the identified intersection range to a certain extent to obtain the expanded intersection range, so as to ensure that more traffic lights are covered.

[0061] The server can then determine each traffic light cluster based on the traffic lights falling within the range of each expanded intersection, thus dividing the traffic lights within the range of each expanded intersection into a traffic light cluster.

[0062] For each traffic light cluster corresponding to the expanded intersection range, since the expanded intersection range is usually a polygon without a fixed shape, the server can use the centroid corresponding to the shape of the expanded intersection range as the center of the traffic light cluster.

[0063] In addition, to ensure that the orientation of each traffic light in the image data can be accurately identified, the server can combine the two methods mentioned above for determining traffic light clusters and their centers to determine the final traffic light clusters and their centers used to determine the orientation of the traffic lights.

[0064] Specifically, the server can cluster the traffic lights contained in the image data and use the traffic light clusters corresponding to each cluster as the first traffic light cluster. At the same time, the server can also identify the intersections contained in the image data, expand the range of the identified intersections, and use the traffic light clusters corresponding to the expanded intersection range as the second traffic light cluster. Then, the first and second traffic light clusters are combined to obtain the final traffic light clusters used to determine the direction of the traffic lights.

[0065] In practical applications, besides intersections with many traffic lights (such as crossroads), there are often one-way roads with only one or two traffic lights. These fewer traffic lights cannot form a corresponding circumscribed polygon. If the orientation of the traffic lights is determined by the centroid of the circumscribed shape of these fewer traffic lights, the determined orientation is likely to be inaccurate. Therefore, to avoid this situation, for each first traffic light cluster, if the first traffic light cluster is the same as any second traffic light cluster (i.e., the traffic light cluster can be determined by clustering or by expanding the intersection range), then the centroid of the expanded intersection range shape corresponding to the second traffic light cluster is used as the center of the first traffic light cluster. This avoids the situation where fewer traffic lights cannot form a corresponding circumscribed polygon.

[0066] In this way, for each traffic light, if it belongs to both the first traffic light cluster and the second traffic light cluster, the server can assign the traffic light to the second traffic light cluster (i.e., the traffic light cluster corresponding to the expanded intersection area), and then determine the orientation of the traffic light based on the center of the second traffic light cluster (i.e., the centroid of the expanded intersection area shape).

[0067] In the process of determining the first traffic light cluster using clustering, each traffic light in the image data is assigned to a traffic light cluster. However, in the process of determining the traffic light cluster by expanding the intersection range, some intersections where traffic lights are located may not be accurately identified, or some traffic lights may not fall within any expanded intersection range. In this case, these traffic lights only belong to the first traffic light cluster. Therefore, for these traffic light clusters, the server can only use the centroid of the smallest bounding polygon of each traffic light contained within it as the center of the traffic light cluster.

[0068] Therefore, for a traffic light that belongs only to the first traffic light cluster, the server can only determine the orientation of the traffic light based on the center of the first traffic light cluster (i.e., the center of the smallest bounding rectangle of each traffic light in the first traffic light cluster).

[0069] In this way, the server can obtain each first signal light cluster (i.e., each first signal light cluster that is different from the second signal light cluster) and each second signal light cluster that are only corresponding to each clustering result.

[0070] It should be noted that each of the second signal light clusters here may include signal light clusters that correspond only to the expanded intersection range (i.e., second signal light clusters that are different from the first signal light clusters), as well as second signal light clusters that are the same as the first signal light clusters.

[0071] S103: For each traffic light, determine the orientation of the traffic light based on the center of the traffic light cluster to which the traffic light belongs and the normal vector of the traffic light.

[0072] In practical applications, traffic lights at each intersection are usually oriented towards the center of the intersection. Therefore, after the server determines the center of each traffic light cluster, it can determine the orientation of each traffic light based on the center of the traffic light cluster to which each traffic light belongs and the normal vector of each traffic light in any direction. Thus, the direction of each traffic light toward the center of its respective traffic light cluster is taken as the orientation of each traffic light.

[0073] Specifically, the server can determine a vector pointing from the center of the traffic light cluster to the center of the traffic light itself, and use this vector as a reference vector. Then, the server can determine the orientation of the traffic light based on this reference vector and the traffic light's normal vector. The normal vector of the traffic light can be a vector perpendicular to the surface of the traffic light (such as the light-emitting diode (LED) screen), and its direction can be the same as or opposite to the traffic light's orientation.

[0074] Furthermore, the server can set the direction pointing towards the center of the traffic light cluster as negative and the direction away from the center of the traffic light cluster as positive. Then, it can select the normal vector of any direction of the traffic light and perform a cross product with the aforementioned reference vector. Since the direction of the reference vector is from the center of the traffic light cluster to the center point of the traffic light (i.e., the direction away from the traffic light cluster), the direction of the reference vector is positive.

[0075] Therefore, if the cross product is negative, it means that the server selected a normal vector pointing towards the center of the traffic light cluster, so the normal vector in that direction is the orientation of the traffic light.

[0076] If the cross product is positive, it means the direction of the normal vector selected by the server is opposite to the direction of the traffic light. Therefore, the opposite direction of the normal vector is the direction of the traffic light. The direction of the traffic light can be determined by the following formula:

[0077] v3 = v1 × v2

[0078] Where v1 is the reference vector pointing from the center of the traffic light cluster to the center of the traffic light, and this vector is positive (i.e. pointing away from the center of the traffic light cluster). v2 is the normal vector of the traffic light. When this normal vector takes a negative value (i.e. pointing towards the center of the traffic light cluster), the cross product result v3 is negative, so the direction of this normal vector is the direction of the traffic light. When this normal vector takes a positive value, the value of v3 is positive, so the opposite direction of the normal vector v2 (i.e., the negative value of v2) is the direction of the traffic light.

[0079] For ease of understanding, this manual also provides a flowchart for determining the direction of traffic lights, such as... Figure 2 As shown.

[0080] Figure 2 This document provides a flowchart for determining the orientation of a traffic light.

[0081] After the server determines the center of each traffic light cluster, for each traffic light cluster, the server can determine the reference vector pointing from the center of the traffic light cluster to each traffic light. Then, based on the cross product of the reference vector and the normal vector of any direction of the traffic light, the direction of the normal vector pointing to the center of the traffic light cluster is taken as the orientation of each traffic light.

[0082] Of course, in this specification, the server can also set the direction pointing to the center of the traffic light cluster as positive. In this case, the vector pointing from the center point of the traffic light cluster to the center of the traffic light cluster is the reference vector. If the cross product of the selected normal vector and the reference vector is negative, it means that the direction of the selected normal vector is opposite to the orientation of the traffic light. In this case, the opposite direction of the normal vector is the orientation of the traffic light. If the cross product is positive, it means that the direction of the normal vector is the same as the orientation of the traffic light. In this case, the direction of the normal vector is the orientation of the traffic light.

[0083] After determining the orientation of each traffic light in each image data, the server can construct a high-precision map based on the orientation of each traffic light and other traffic information.

[0084] It should be noted that all actions involving the acquisition of signals, information, or data in this manual are performed in accordance with the relevant data protection laws and regulations of the country where the device is located, and with the authorization granted by the owner of the relevant device.

[0085] As can be seen from the above method, this scheme can accurately determine the orientation of traffic lights based on the center of the traffic light cluster to which the traffic light belongs and the normal vector of the traffic light. It does not need to rely on other traffic information besides traffic lights, thus avoiding the influence of inaccurate other traffic information on the judgment of traffic light orientation and ensuring the accuracy of the determined orientation of traffic lights.

[0086] Furthermore, this manual can determine each traffic light cluster and its center by combining clustering and intersection recognition methods, which further improves the accuracy of the determined traffic light orientation.

[0087] The above describes one or more methods for determining the direction of traffic lights in this specification. Based on the same idea, this specification also provides corresponding devices for determining the direction of traffic lights, such as... Figure 3 As shown.

[0088] Figure 3 A schematic diagram of a signal light orientation determination device provided in this specification includes:

[0089] The acquisition module 301 is used to acquire image data containing traffic lights;

[0090] Clustering module 302 is used to cluster the traffic lights contained in the image data to obtain each traffic light cluster and determine the center of each traffic light cluster;

[0091] The determining module 303 is used to determine the orientation of each traffic light based on the center of the traffic light cluster to which the traffic light belongs and the normal vector of the traffic light.

[0092] Optionally, the clustering module 302 is specifically used to determine the minimum bounding polygon of each traffic light in each traffic light cluster, and to take the centroid of the minimum bounding polygon as the center of the traffic light cluster.

[0093] Optionally, the clustering module 302 is specifically used to identify the intersections contained in the image data, determine the intersection range corresponding to each intersection, and cluster the traffic lights contained in the image data according to the intersection range.

[0094] Optionally, the clustering module 302 is specifically used to expand the intersection range for each intersection range to obtain an expanded intersection range; and to determine each traffic light cluster based on the traffic lights falling within each expanded intersection range.

[0095] Optionally, the clustering module 302 is specifically used to, for each traffic light cluster, take the centroid of the expanded intersection area shape corresponding to the traffic light cluster as the center of the traffic light cluster.

[0096] Optionally, the clustering module 302 is specifically used to cluster the traffic lights contained in the image data to obtain a first traffic light cluster corresponding to each clustering result, and to identify the intersections contained in the image data, and to expand the intersection range corresponding to each identified intersection to obtain a second traffic light cluster corresponding to each expanded intersection range.

[0097] Optionally, the clustering module 302 is specifically used to, for each first traffic light cluster, if the first traffic light cluster is the same as any second traffic light cluster, take the centroid of the expanded intersection range shape corresponding to the second traffic light cluster as the center of the first traffic light cluster.

[0098] Optionally, the determining module 303 is specifically used to: for each traffic light, determine a vector pointing from the center of the traffic light cluster to the center point of the traffic light as a reference vector; and determine the orientation of the traffic light based on the reference vector and the normal vector corresponding to the traffic light.

[0099] Optionally, the determining module 303 is further configured to construct a high-precision map based on the orientation of each traffic light contained in the image data.

[0100] This specification also provides a computer-readable storage medium storing a computer program that can be used to execute the above-described... Figure 1 A method for determining the orientation of traffic lights is provided.

[0101] This instruction manual also provides Figure 4 One of the corresponding Figure 1 A schematic diagram of the structure of an electronic device. (e.g.) Figure 4 At the hardware level, the electronic device includes a processor, internal bus, network interface, memory, and non-volatile memory, and may also include other hardware required for the business operations. The processor reads the corresponding computer program from the non-volatile memory into memory and then runs it to achieve the above-mentioned functions. Figure 1 The method for determining the direction of traffic lights is described above. Of course, besides software implementation, this specification does not exclude other implementation methods, such as logic devices or a combination of hardware and software, etc. That is to say, the execution entity of the following processing flow is not limited to individual logic units, but can also be hardware or logic devices.

[0102] In the 1990s, improvements to a technology could be clearly distinguished as either hardware improvements (e.g., improvements to the circuit structure of diodes, transistors, switches, etc.) or software improvements (improvements to the methodology). However, with technological advancements, many methodological improvements today can be considered direct improvements to the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved methodology into the hardware circuit. Therefore, it cannot be said that a methodological improvement cannot be implemented using hardware physical modules. For example, a Programmable Logic Device (PLD) (such as a Field Programmable Gate Array (FPGA)) is such an integrated circuit whose logic function is determined by the user programming the device. Designers can program and "integrate" a digital system onto a PLD themselves, without needing chip manufacturers to design and manufacture dedicated integrated circuit chips. Furthermore, nowadays, instead of manually manufacturing integrated circuit chips, this programming is mostly implemented using "logic compiler" software. Similar to the software compiler used in program development, the original code before compilation must be written in a specific programming language, called a Hardware Description Language (HDL). There are many HDLs, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, and RHDL (Ruby Hardware Description Language). Currently, the most commonly used are VHDL (Very-High-Speed ​​Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should understand that by simply performing some logic programming on the method flow using one of these hardware description languages ​​and programming it into an integrated circuit, the hardware circuit implementing the logical method flow can be easily obtained.

[0103] The controller can be implemented in any suitable manner. For example, it can take the form of a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro)processor, logic gates, switches, application-specific integrated circuits (ASICs), programmable logic controllers, and embedded microcontrollers. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicon Labs C8051F320. A memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art will also recognize that, in addition to implementing the controller in purely computer-readable program code form, the same functionality can be achieved by logically programming the method steps to make the controller take the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers. Therefore, such a controller can be considered a hardware component, and the means included therein for implementing various functions can also be considered as structures within the hardware component. Alternatively, the means for implementing various functions can be considered as both software modules implementing the method and structures within the hardware component.

[0104] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, a computer can be, for example, a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email device, game console, tablet computer, wearable device, or any combination of these devices.

[0105] For ease of description, the above devices are described in terms of function, divided into various units. Of course, in implementing this specification, the functions of each unit can be implemented in one or more software and / or hardware components.

[0106] Those skilled in the art will understand that embodiments of this specification can be provided as methods, systems, or computer program products. Therefore, this specification may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this specification may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0107] This specification is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this specification. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create a machine for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0108] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0109] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0110] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0111] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0112] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0113] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0114] Those skilled in the art will understand that the embodiments of this specification can be provided as methods, systems, or computer program products. Therefore, this specification may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this specification may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0115] This specification can be described in the general context of computer-executable instructions that are executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform a specific task or implement a specific abstract data type. This specification can also be practiced in distributed computing environments, where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.

[0116] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to interchangeably. Each embodiment focuses on describing the differences from other embodiments. In particular, the system embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments.

[0117] The above description is merely an embodiment of this specification and is not intended to limit this specification. Various modifications and variations can be made to this specification by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this specification should be included within the scope of the claims of this specification.

Claims

1. A method for determining the orientation of a traffic signal light, characterized in that, include: Acquire image data containing traffic lights; The traffic lights contained in the image data are clustered to obtain each traffic light cluster, and the center of each traffic light cluster is determined. For each traffic light, the orientation of the traffic light is determined based on the center of the traffic light cluster to which it belongs and the normal vector corresponding to the traffic light. Determining the center of each traffic light cluster specifically includes: For each traffic light cluster, determine the minimum bounding polygon of each traffic light in the cluster, and take the centroid of the minimum bounding polygon as the center of the traffic light cluster.

2. The method as described in claim 1, characterized in that, The traffic lights contained in the image data are clustered, specifically including: The intersections contained in the image data are identified to determine the intersection range corresponding to each intersection; Based on the intersection range, the traffic lights contained in the image data are clustered.

3. The method as described in claim 2, characterized in that, Based on the intersection area, the traffic lights contained in the image data are clustered, specifically including: For each intersection, expand the intersection range to obtain the expanded intersection range; Based on the traffic lights that fall within the range of each expanded intersection, determine each traffic light cluster.

4. The method as described in claim 3, characterized in that, Determine the center of each traffic light cluster, specifically including: For each traffic light cluster, the centroid of the expanded intersection area corresponding to the traffic light cluster is taken as the center of the traffic light cluster.

5. The method as described in claim 1, characterized in that, The traffic lights contained in the image data are clustered, specifically including: The traffic lights contained in the image data are clustered to obtain the first traffic light cluster corresponding to each clustering result. The intersections contained in the image data are identified, and the intersection ranges corresponding to each identified intersection are expanded to obtain the second traffic light clusters corresponding to each expanded intersection range.

6. The method as described in claim 5, characterized in that, Determine the center of each traffic light cluster, specifically including: For each first traffic light cluster, if the first traffic light cluster is the same as any second traffic light cluster, then the centroid of the expanded intersection area shape corresponding to the second traffic light cluster is taken as the center of the first traffic light cluster.

7. The method as described in claim 1, characterized in that, For each traffic light, its orientation is determined based on the center of the traffic light cluster to which it belongs and the normal vector corresponding to the traffic light. Specifically, this includes: For each traffic light, a vector is determined from the center of the traffic light cluster to the center of the traffic light itself, and this vector is used as the reference vector. The orientation of the traffic light is determined based on the reference vector and the normal vector corresponding to the traffic light.

8. The method as described in claim 1, characterized in that, The method further includes: A high-precision map is constructed based on the orientation of each traffic light contained in the image data.

9. A computer-readable storage medium, characterized in that, The storage medium stores a computer program, which, when executed by a processor, implements the method described in any one of claims 1 to 8.

10. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the method described in any one of claims 1 to 8.

Citation Information

Patent Citations

  • Traffic sign position detection method and device, equipment and storage medium

    CN109635639A