An optimization method and device for corner point detection, electronic equipment and storage medium
By using a nonlinear evaluation function and a sliding search window method in the vehicle surround view system, corner detection is optimized, solving the problem of low corner detection accuracy and improving the accuracy and stability of camera parameter calibration.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-28
- Publication Date
- 2026-04-10
AI Technical Summary
Existing corner detection methods have low accuracy in vehicle surround view systems, affecting the accuracy and stability of camera calibration.
The initial corner detection results are optimized by using a nonlinear evaluation function combined with a sliding search window. By sliding the search window on the key corner region image, the distribution of black and white blocks is statistically analyzed, and the optimal position coordinates are determined using a preset nonlinear evaluation function.
This improves the accuracy of corner point position coordinate detection, ensuring the precision and stability of camera parameter calibration.
Smart Images

Figure CN117315045B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of intelligent driving, and particularly relates to an optimization method and device for corner point detection, an electronic device and a storage medium. BACKGROUND
[0002] A corner point is usually defined as the intersection of two edges, or in other words, the local neighborhood of a corner point should have two different regions with different directions of the boundary. Corner detection is a method of obtaining image features in a computer vision system, which is widely used in motion detection, image matching, video tracking, three-dimensional reconstruction and target recognition, and can also be referred to as feature point detection. SUMMARY
[0003] The present application provides an optimization method and device for corner point detection, an electronic device and a storage medium.
[0004] According to an aspect of the present application, an optimization method for corner point detection is provided, comprising:
[0005] An all-around view calibration image collected by an all-around view camera is obtained, and corner point detection is performed on the all-around view calibration image to obtain an initial corner point detection result; wherein the all-around view calibration image is a checkerboard image composed of black and white blocks; and the initial corner point detection result includes at least one corner point to be optimized and the position coordinates of the corner point to be optimized.
[0006] For any corner point to be optimized, a key region image of the corner point to be optimized corresponding to the position coordinates of the corner point to be optimized is determined.
[0007] A preset search window is controlled to slide on the key region image of the corner point, and the following operations are performed each time the search window slides: the current position coordinates of the search window are determined, and the distribution of black and white blocks in the search window is counted; and an evaluation value corresponding to the search window at the current position coordinates is determined according to the distribution of black and white blocks in combination with a preset nonlinear evaluation function.
[0008] The position coordinates of the search window whose evaluation value meets a preset condition are taken as the final position coordinates of the corner point to be optimized.
[0009] According to another aspect of the present application, an optimization device for corner point detection is provided, comprising:
[0010] A corner point detection module is configured to obtain an all-around view calibration image collected by an all-around view camera, and perform corner point detection on the all-around view calibration image to obtain an initial corner point detection result; wherein the all-around view calibration image is a checkerboard image composed of black and white blocks; and the initial corner point detection result includes at least one corner point to be optimized and the position coordinates of the corner point to be optimized.
[0011] a corner key region determination module configured to determine, for any to-be-optimized corner, a corner key region image corresponding to the to-be-optimized corner according to a position coordinate of the to-be-optimized corner;
[0012] an evaluation module configured to control a preset search window to slide on the corner key region image, and perform the following operations each time the search window slides: determine a current position coordinate of the search window, and count a distribution of black and white blocks in the search window; and determine, according to the distribution of the black and white blocks and in combination with a preset nonlinear evaluation function, an evaluation value corresponding to the search window at the current position coordinate;
[0013] an optimization module configured to take, as a final position coordinate of the to-be-optimized corner, a position coordinate of the search window whose evaluation value satisfies a preset condition.
[0014] According to another aspect of the present application, an electronic device is provided, which comprises:
[0015] at least one processor; and
[0016] a memory connected to the at least one processor in communication; wherein
[0017] the memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor to enable the at least one processor to perform the optimization method for corner detection according to the embodiments of the present application.
[0018] According to another aspect of the present application, a computer readable storage medium is provided, which stores computer instructions for enabling a processor to implement the optimization method for corner detection according to the embodiments of the present application when executed by the processor.
[0019] The technical solution of the embodiments of the present application can ensure the accuracy of the position coordinate of the corner by optimizing the detected corner.
[0020] It should be understood that the content described in this part is not intended to identify key or important features of the embodiments of the present application, nor is it used to limit the scope of the present application. Other features of the present application will become apparent from the following description. BRIEF DESCRIPTION OF DRAWINGS
[0021] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed in the embodiment description will be briefly introduced as follows. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative effort.
[0022] Figure 1 is a flowchart of an optimization method for corner point detection according to an embodiment of the present application;
[0023] Figure 2 is a flowchart of an optimization method for corner point detection according to an embodiment of the present application;
[0024] Figure 3 is a flowchart of an optimization method for corner point detection according to an embodiment of the present application;
[0025] Figure 4 is a structural diagram of an optimization device for corner point detection according to an embodiment of the present application;
[0026] Figure 5 is a structural diagram of an electronic device implementing an optimization method for corner point detection according to an embodiment of the present application. DETAILED DESCRIPTION
[0027] In order to enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative efforts should fall within the scope of the present application.
[0028] In the present application, for the vehicle-mounted surround view project, to determine the mutual relationship between the three-dimensional geometric position of a point on the surface of a space object and the corresponding point in the image, a geometric model of camera imaging must be established. These geometric model parameters are camera parameters. The process of solving the parameters using world points and image points is called camera calibration (or camera calibration). The calibration of camera parameters is a basic link in the surround view project. The accuracy of the calibration results and the stability of the algorithm directly affect the accuracy of the results produced by the camera work. The corner point position coordinates are needed in the calibration process, and the accuracy of the corner point position coordinates determines the accuracy of the calibration results. Therefore, corner point detection is a crucial link in the calibration algorithm. However, the existing corner point detection method has low accuracy. Based on this, the present application provides an optimization method for corner point detection based on a nonlinear evaluation function in intelligent driving, to improve the accuracy of corner point detection in surround view calibration. Specifically, the implementation process of the optimization method for corner point detection can be referred to the following embodiments.
[0029] Embodiment one
[0030] Figure 1A flowchart of an optimization method of corner point detection is provided for an embodiment of the present application. The embodiment can be applied to a scene of calibrating a vehicle surround view camera (for example, a fisheye camera, a wide-angle camera, etc.). The method can be executed by an optimization device of corner point detection, which can be implemented in the form of hardware and / or software. The optimization device of corner point detection can be configured in an electronic device, such as a vehicle-mounted device or other computer device.
[0031] As shown in Figure 1 , the optimization method of corner point detection includes:
[0032] S101, acquiring a surround view calibration image collected by a vehicle surround view camera, and performing corner point detection on the surround view calibration image to obtain an initial corner point detection result.
[0033] In the embodiment, the vehicle surround view camera can be an image collection device mounted on a vehicle for collecting images of the environment around the vehicle. For example, the vehicle surround view camera can be a fisheye camera, a wide-angle camera, a pinhole camera, etc. Multiple vehicle surround view cameras can be installed on the vehicle, for example, a vehicle surround view camera can be installed on the front, rear, left and right of the vehicle to obtain images of the front, rear, left and right of the vehicle. For example, when vehicle surround view cameras are installed on the front, rear, left and right of the vehicle, the vehicle surround view cameras can simultaneously collect four images in the four directions.
[0034] The optimization method of the corner point detection in the embodiment is mainly suitable for the scene of calibrating the vehicle-mounted surround-view camera (for example, a fisheye camera, a wide-angle camera, etc.). Therefore, in order to facilitate subsequent calibration of the vehicle-mounted surround-view camera, the vehicle on which the vehicle-mounted surround-view camera is installed is parked on a camera calibration station, and a checkerboard pattern composed of black and white blocks for calibration is deployed around the camera calibration station. For example, if the vehicle-mounted surround-view cameras are installed at the front, rear, left and right of the vehicle respectively, a checkerboard pattern is deployed at the front, rear, left and right of the vehicle respectively. On this basis, after starting the corner point detection, each vehicle-mounted surround-view camera starts to collect a surround-view calibration image in the corresponding direction, wherein the surround-view calibration image is a checkerboard image composed of black and white blocks collected by the vehicle-mounted surround-view camera. Further, based on the collected surround-view calibration image, the corner point detection is performed, and optionally, the Harris corner point detection algorithm or the SIFT corner point detection algorithm is used to perform the corner point detection on the surround-view calibration image to obtain an initial corner point detection result, wherein the initial corner point detection result includes at least one to-be-optimized corner point and the position coordinates of the to-be-optimized corner point. It should be noted that due to the detection accuracy of the corner point detection algorithm itself and the possible distortion of the collected surround-view calibration image, the accuracy of the position coordinates of the corner point in the initial detection result will be affected, and therefore the position coordinates of the corner point in the initial detection result need to be optimized. The specific optimization process can be referred to steps S102-S104.
[0035] S102, for any to-be-optimized corner point, determining a corner point key region image corresponding to the to-be-optimized corner point according to the position coordinates of the to-be-optimized corner point.
[0036] In the embodiment, for any to-be-optimized corner point, a region image of a preset size is intercepted from the surround-view calibration image with the position coordinates of the to-be-optimized corner point as the center, as the corner point key region image corresponding to the to-be-optimized corner point. For example, an N*N region image is intercepted around the to-be-optimized corner point as the corner point key region image; wherein N is a pixel value preset in advance.
[0037] S103, controlling a preset search window to slide on the corner point key region image, and performing the following operations every time the search window slides: determining the current position coordinates of the search window, and counting the distribution of black and white blocks in the search window; determining the evaluation value corresponding to the search window at the current position coordinates according to the distribution of the black and white blocks, in combination with a preset nonlinear evaluation function.
[0038] In the fact instance, in order to find the optimal position coordinates of the to-be-optimized corner point from the corner key region image, a search window of a preset size is set in advance, and the size of the search window can be n*n, wherein n is a pixel value less than N. Further, the search window is controlled to slide on the corner key region image according to a preset moving step. When sliding to a position, the following evaluation operation steps are performed: Step 1, the current position coordinates of the search window are determined, and the distribution of black and white blocks in the search window is counted. In an optional implementation manner, counting the distribution of black and white blocks in the search window includes: intercepting the corner key region image in the search window, and dividing it into a plurality of region subgraphs. For example, the image in the search window is divided into 4 region subgraphs; the actual number of black and white blocks in each region subgraph is counted respectively; the average value of the black and white blocks corresponding to each region subgraph is determined; for example, the actual number of black and white blocks included in all region subgraphs is summed, and the sum is divided by the number of region subgraphs, thereby obtaining the average value; based on the average value and the actual number of black and white blocks in each subgraph region, the standard deviation is calculated, that is, the standard deviation is used to measure the distribution of black and white blocks in the search window; in the specific calculation, the calculation formula of the standard deviation can be used. Step 2, according to the distribution of black and white blocks, and in combination with a preset nonlinear evaluation function, the evaluation value corresponding to the search window at the current position coordinates is determined. In an optional implementation manner, the nonlinear evaluation function is a preset Gaussian function; according to the distribution of black and white blocks, and in combination with a preset nonlinear evaluation function, the evaluation value corresponding to the search window at the current position coordinates is determined, which includes: based on the preset Gaussian function and the standard deviation, the evaluation value corresponding to the search window at the current position coordinates is determined. The evaluation value is used to measure the error when the current position coordinates of the search window is used as the optimal position coordinates of the to-be-optimized corner point; the smaller the evaluation value, the smaller the error when the current position coordinates of the search window is used as the optimal position coordinates of the to-be-optimized corner point.
[0039] S104, the position coordinates of the search window whose evaluation value satisfies the preset condition are used as the final position coordinates of the to-be-optimized corner point.
[0040] Through the above steps, for any to-be-optimized corner point, the position coordinates of a plurality of search windows and the evaluation values corresponding to the position coordinates of the search windows can be obtained. Since the smaller the evaluation value, the smaller the error when the current position coordinates of the search window is used as the optimal position coordinates of the to-be-optimized corner point. Therefore, the preset condition can be that the evaluation value corresponding to the search window is the minimum. In this way, the position coordinates corresponding to the search window with the minimum evaluation value can be selected through the preset condition, and the position coordinates are used as the final position coordinates of the to-be-optimized corner point. Thus, the optimization of the position coordinates of the to-be-optimized corner point is realized, and the accuracy of the corner position coordinate detection is improved.
[0041] In this embodiment, for the first detected corner point and the corner point coordinate, the best position coordinate of the corner point is found out by using a nonlinear evaluation function and the distribution of black and white blocks around the corner point, thereby realizing the optimization of the corner point coordinate and ensuring the accuracy of the corner point coordinate.
[0042] Embodiment two
[0043] Figure 2 A flowchart of an optimization method for corner point detection is provided for the embodiments of the present application. Referring to Figure 2 , the method flow includes the following steps:
[0044] S201, acquiring a surround view calibration image collected by a vehicle-mounted surround view camera, and performing distortion correction on the surround view calibration image.
[0045] In this embodiment, vehicle-mounted surround view cameras (such as fisheye cameras, wide-angle cameras, etc.) are installed in front, rear, left and right of the vehicle to obtain relevant images in front, rear, left and right of the vehicle. That is, a plurality of surround view calibration images are acquired, wherein the surround view calibration image is a checkerboard image composed of black and white blocks. Since the image collected by the vehicle-mounted surround view camera has a certain distortion, in order to ensure the accuracy of subsequent corner point detection, the collected surround view calibration image needs to be subjected to distortion correction processing.
[0046] In an optional implementation, the distortion correction of the surround view calibration image includes:
[0047] The surround view calibration image is subjected to distortion correction by using a preset equidistance imaging model. In addition, since the distortion is more obvious in the edge area of the surround view calibration image, in order to avoid the influence of the distorted part on the corner point detection, the area where distortion occurs can be cropped to leave only the effective key area. Specifically, the surround view calibration image can be intercepted according to a preset cropping parameter to eliminate the part of the surround view calibration image where distortion exists; wherein the reference parameter can be a cropping size determined according to an empirical value, and the cropping size corresponding to different resolution images is different. It should be noted that the distortion correction of the image can also be based on artificial intelligence technology, for example, a neural network specially used for distortion correction is pre-trained, and the neural network model is directly used for distortion correction in the subsequent process.
[0048] S202, generating a bird's eye view image based on the surround view calibration image after distortion correction.
[0049] The bird's eye view image can refer to an image obtained by observing from a bird's eye view perspective in a bird's eye view space of the vehicle. The bird's eye view image has a proportional relationship with the real space (such as a parking lot, etc.) where the vehicle is located.
[0050] In this embodiment, the bird's eye view image is generated based on the distortion-corrected surround view calibration image, including:
[0051] The plurality of distortion-corrected surround view calibration images are respectively subjected to inverse perspective transformation, and the corresponding bird's eye view images are obtained through image stitching; wherein the inverse perspective transformation can refer to inverse perspective mapping (IPM), which refers to an inverse process of camera imaging based on assumptions.
[0052] S203, according to a preset corner point detection algorithm, corner point detection is performed on the bird's eye view image to obtain an initial corner point detection result.
[0053] The preset corner point detection algorithm can be a Harris corner point detection algorithm or a SIFT corner point detection algorithm. The Harris corner point detection algorithm or the SIFT corner point detection algorithm is used to perform corner point detection on the bird's eye view image to obtain an initial corner point detection result; the initial corner point detection result includes at least one to-be-optimized corner point and a position coordinate of the to-be-optimized corner point.
[0054] S204, for any to-be-optimized corner point, according to the position coordinate of the to-be-optimized corner point, a corner point key region image corresponding to the to-be-optimized corner point is determined.
[0055] 205, control the preset search window to slide on the corner point key region image, and perform the following operations every time it slides: determine the current position coordinate of the search window, and count the distribution of black and white blocks in the search window; according to the distribution of the black and white blocks, in combination with a preset nonlinear evaluation function, an evaluation value corresponding to the search window at the current position coordinate is determined.
[0056] S206, the position coordinate of the search window whose evaluation value meets the preset condition is taken as the final position coordinate of the to-be-optimized corner point.
[0057] In this embodiment, the implementation process of steps S204-S206 can be referred to the description of the above embodiment, which will not be repeated here.
[0058] In this embodiment, the surround view calibration image is subjected to distortion correction before corner point detection, so as to eliminate the influence of image distortion on corner point detection; moreover, the present disclosure creatively proposes to perform corner point detection based on the bird's eye view image, so as to ensure the accuracy and robustness of the corner point detection. That is, in addition to subsequent optimization of the detected corner point position coordinate, when initially performing corner point detection, the image is subjected to distortion correction and the corner point detection is performed based on the bird's eye view image, so as to ensure the accuracy of the corner point detection.
[0059] Embodiment three
[0060] Figure 3 A flowchart of an optimization method of corner point detection is provided for an embodiment of the present application. Referring to FIG. 3, the method flow includes the following steps: Figure 3
[0061] S301, acquiring a surround view calibration image collected by a vehicle-mounted surround view camera, and performing corner point detection on the surround view calibration image to obtain an initial corner point detection result.
[0062] The surround view calibration image is a checkerboard image composed of black and white blocks; and the initial corner point detection result includes at least one to-be-optimized corner point and a position coordinate of the to-be-optimized corner point.
[0063] S302, for any to-be-optimized corner point, determining a corner point key region image corresponding to the to-be-optimized corner point according to the position coordinate of the to-be-optimized corner point.
[0064] S303, controlling a preset search window to slide on the corner point key region image, and performing the following operations each time the search window slides: determining a current position coordinate of the search window, and counting a distribution of the black and white blocks in the search window; and determining an evaluation value corresponding to the search window at the current position coordinate according to the distribution of the black and white blocks in combination with a preset nonlinear evaluation function.
[0065] S304, taking the position coordinate of the search window whose evaluation value satisfies a preset condition as a final position coordinate of the to-be-optimized corner point.
[0066] S305, determining an extrinsic parameter of the vehicle-mounted surround view camera according to the position coordinate of the optimized corner point and a physical world coordinate corresponding to the corner point.
[0067] In this embodiment, a mapping table can be preset to record the physical world coordinate corresponding to each corner point. In this way, after obtaining the optimized position coordinate (position coordinate in the camera coordinate system) of the corner point, the extrinsic parameter of the vehicle-mounted surround view camera is determined according to the physical world coordinate and the optimized position coordinate of the corner point, so as to realize the parameter calibration of the vehicle-mounted surround view camera.
[0068] In this embodiment, the position coordinate of the corner point is optimized, and then the parameter calibration of the vehicle-mounted surround view camera is performed based on the optimized position coordinate of the corner point and the physical world coordinate corresponding to the corner point, so as to improve the accuracy of the camera parameter calibration.
[0069] Embodiment Four
[0070] Figure 4 A structural schematic diagram of an optimization device for corner point detection is provided for an embodiment of the present application. The embodiment can be applied to a scene of calibrating a vehicle-mounted surround-view camera (for example, a fisheye camera, a wide-angle camera, etc.). Referring to Figure 4 , the optimization device for corner point detection comprises:
[0071] A corner point detection module 401 is configured to acquire a surround-view calibration image collected by a vehicle-mounted surround-view camera, and perform corner point detection on the surround-view calibration image to obtain an initial corner point detection result. The surround-view calibration image is a checkerboard image composed of black and white blocks. The initial corner point detection result includes at least one to-be-optimized corner point and a position coordinate of the to-be-optimized corner point.
[0072] A corner point key region determination module 402 is configured to, for any to-be-optimized corner point, determine a corner point key region image corresponding to the to-be-optimized corner point according to the position coordinate of the to-be-optimized corner point.
[0073] An evaluation module 403 is configured to control a preset search window to slide on the corner point key region image, and perform the following operations each time the search window slides: determine a current position coordinate of the search window, and count a distribution of black and white blocks in the search window; and determine an evaluation value corresponding to the search window at the current position coordinate according to the distribution of black and white blocks and in combination with a preset nonlinear evaluation function.
[0074] An optimization module 404 is configured to take the position coordinate of the search window whose evaluation value satisfies a preset condition as a final position coordinate of the to-be-optimized corner point.
[0075] On the basis of the above embodiment, the evaluation module can optionally comprise:
[0076] A division unit is configured to intercept the corner point key region image in the search window and divide the corner point key region image into a plurality of region subgraphs.
[0077] A counting unit is configured to count an actual number of black and white blocks in each region subgraph.
[0078] A standard deviation calculation unit is configured to determine an average value of black and white blocks corresponding to each region subgraph, and calculate a standard deviation based on the average value and the actual number of black and white blocks in each subgraph region.
[0079] On the basis of the above embodiment, the nonlinear evaluation function can be a preset Gaussian function.
[0080] The evaluation module can further comprise:
[0081] An evaluation value calculation unit is configured to determine the evaluation value corresponding to the search window at the current position coordinate based on the preset Gaussian function and the standard deviation.
[0082] On the basis of the above-mentioned embodiments, optionally, the corner point detection module comprises:
[0083] a distortion correction unit, configured to perform distortion correction on the surround view calibration image;
[0084] an aerial view generation unit, configured to generate an aerial view image based on the surround view calibration image after distortion correction;
[0085] a detection unit, configured to perform corner point detection on the aerial view image according to a preset corner point detection algorithm to obtain an initial corner point detection result.
[0086] On the basis of the above-mentioned embodiments, optionally, the distortion correction unit is further configured to:
[0087] perform distortion correction on the surround view calibration image by using a preset equirectangular projection model; or
[0088] cut the surround view calibration image according to preset cutting parameters to eliminate the part of the surround view calibration image that has distortion.
[0089] On the basis of the above-mentioned embodiments, optionally, the aerial view generation unit is further configured to:
[0090] perform inverse perspective transformation on the plurality of surround view calibration images after distortion correction respectively, and obtain the corresponding aerial view images through image stitching.
[0091] On the basis of the above-mentioned embodiments, optionally, the method further comprises:
[0092] a calibration module, configured to determine the extrinsic parameter of the vehicle-mounted surround view camera according to the position coordinates of the optimized corner points and the physical world coordinates corresponding to the corner points.
[0093] The corner point detection optimization device provided in the embodiments of the present application can execute the corner point detection optimization method provided in any of the embodiments of the present application, and has the corresponding function modules and beneficial effects of the execution method.
[0094] Embodiment five
[0095] Figure 5A schematic diagram of an electronic device 10 that can be used to implement embodiments of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.
[0096] like Figure 5 As shown, the electronic device 10 includes at least one processor 11 and a memory, such as a read-only memory (ROM) 12 or a random access memory (RAM) 13, communicatively connected to the at least one processor 11. The memory stores computer programs executable by the at least one processor. The processor 11 can perform various appropriate actions and processes based on the computer program stored in the ROM 12 or loaded from storage unit 18 into the RAM 13. The RAM 13 may also store various programs and data required for the operation of the electronic device 10. The processor 11, ROM 12, and RAM 13 are interconnected via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0097] Multiple components in electronic device 10 are connected to I / O interface 15, including: input unit 16, such as keyboard, mouse, etc.; output unit 17, such as various types of displays, speakers, etc.; storage unit 18, such as disk, optical disk, etc.; and communication unit 19, such as network card, modem, wireless transceiver, etc. Communication unit 19 allows electronic device 10 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0098] Processor 11 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. Processor 11 performs the various methods and processes described above, such as performing optimized methods for corner detection.
[0099] In some embodiments, the optimization method of corner detection can be implemented as a computer program tangibly embodied in a computer readable storage medium, e.g., storage unit 18. In some embodiments, parts or all of the computer program can be loaded and / or installed onto electronic device 10 via, e.g., ROM 12 and / or communication unit 19. When the computer program is loaded onto RAM 13 and executed by processor 11, one or more steps of the optimization method of corner detection described above can be performed. Alternatively, in other embodiments, processor 11 can be configured to perform the optimization method of corner detection by other means, e.g., with the aid of firmware.
[0100] Various implementations of the systems and techniques described above can be realized in digital electronic circuitry, integrated circuitry, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on a chip (SOC), a complex programmable logic device (CPLD), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
[0101] Computer programs used to implement the methods of the present application can be written in any combination of one or more programming languages. These computer programs can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the computer program, when executed by the processor of the computer, implements the functions / acts specified in the flowcharts and / or block diagrams. The computer program can be executed entirely on a machine, partially on a machine, partially on a machine as part of a standalone software package, partially on a machine and partially on a remote machine or entirely on a remote machine or server.
[0102] In the context of the present application, a computer-readable storage medium can be a tangible medium that can contain or store a computer program for use by or in connection with an instruction execution system, apparatus, or device. A computer-readable storage medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium can be a machine-readable signal medium. More specific examples of a machine-readable storage medium will include one or more lines of a program of instructions in a transitory signal, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0103] To provide for interaction with a user, the systems and techniques described here can be implemented on an electronic device having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the electronic device. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.
[0104] The systems and techniques described here can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a user computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.
[0105] The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system, to solve the defects of large management difficulty and weak business scalability in traditional physical host and VPS service.
[0106] It should be understood that the various forms of flow shown above can be used to reorder, add or delete steps. For example, each step described in the present application can be executed in parallel, sequentially or in a different order, as long as the desired results of the technical solutions of the present application can be achieved, which is not limited herein.
[0107] The above detailed description does not constitute a limitation on the scope of protection of the present application. Those skilled in the art should understand that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modifications, equivalent replacements and improvements made within the spirit and principles of the present application shall be included in the scope of protection of the present application.
Claims
1. An optimization method for corner point detection, characterized in that, The method comprises the following steps: acquiring a surround view calibration image collected by a vehicle-mounted surround view camera, and performing corner point detection on the surround view calibration image to obtain an initial corner point detection result; wherein the surround view calibration image is a checkerboard image composed of black and white blocks; and the initial corner point detection result comprises at least one to-be-optimized corner point and a position coordinate of the to-be-optimized corner point; for any to-be-optimized corner point, determining a corner point key region image corresponding to the to-be-optimized corner point according to the position coordinate of the to-be-optimized corner point; controlling a preset search window to slide on the corner point key region image, and performing the following operations each time the search window slides: determining a current position coordinate of the search window, and counting a distribution of the black and white blocks in the search window; determining an evaluation value corresponding to the search window at the current position coordinate according to the distribution of the black and white blocks and in combination with a preset nonlinear evaluation function; wherein the evaluation value is used to measure an error when the current position coordinate of the search window is taken as the best position coordinate of the to-be-optimized corner point; taking the position coordinate of the search window that satisfies a preset condition as the final position coordinate of the to-be-optimized corner point; the counting of the distribution of the black and white blocks in the search window comprises: cutting the corner point key region image in the search window and dividing it into a plurality of region subgraphs; counting the actual number of the black and white blocks in each region subgraph respectively; determining an average value of the black and white blocks corresponding to each region subgraph, and calculating a standard deviation based on the average value and the actual number of the black and white blocks in each subgraph region; the nonlinear evaluation function is a preset Gaussian function; determining the evaluation value corresponding to the search window at the current position coordinate according to the distribution of the black and white blocks and in combination with the preset nonlinear evaluation function comprises: determining the evaluation value corresponding to the search window at the current position coordinate based on the preset Gaussian function and the standard deviation.
2. The method of claim 1, wherein, the corner point detection on the surround view calibration image to obtain the initial corner point detection result comprises: performing distortion correction on the surround view calibration image; generating a bird's eye view image based on the surround view calibration image after the distortion correction; performing corner point detection on the bird's eye view image according to a preset corner point detection algorithm to obtain the initial corner point detection result.
3. The method of claim 2, wherein, the distortion correction on the surround view calibration image comprises: performing distortion correction on the surround view calibration image by using a preset equidistant imaging model; or cutting the surround view calibration image according to preset cropping parameters to eliminate the part with distortion in the surround view calibration image.
4. The method of claim 2, wherein, the generation of the bird's eye view image based on the surround view calibration image after the distortion correction comprises: performing inverse perspective transformation on a plurality of surround view calibration images after the distortion correction respectively, and obtaining the corresponding bird's eye view image through image stitching.
5. The method of claim 1, wherein, The method further comprises the following steps: determining the extrinsic parameters of the vehicle-mounted surround view camera according to the position coordinate of the optimized corner point and the physical world coordinate corresponding to the corner point.
6. An optimization device of a corner point detection, characterized by, The method comprises the following steps: The corner point detection module is configured to acquire a surround view calibration image collected by a surround view camera of a vehicle and perform corner point detection on the surround view calibration image to obtain an initial corner point detection result. The surround view calibration image is a checkerboard image composed of black and white blocks. The initial corner point detection result includes at least one to-be-optimized corner point and a position coordinate of the to-be-optimized corner point. The corner point key region determination module is configured to determine, for any to-be-optimized corner point, a corner point key region image corresponding to the to-be-optimized corner point according to the position coordinate of the to-be-optimized corner point. The evaluation module is configured to control a preset search window to slide on the corner point key region image, and perform the following operations each time the search window slides: determine a current position coordinate of the search window and count a distribution of the black and white blocks in the search window; determine an evaluation value corresponding to the search window at the current position coordinate according to the distribution of the black and white blocks and in combination with a preset nonlinear evaluation function. The evaluation value is used to measure an error when the current position coordinate of the search window is used as a best position coordinate of the to-be-optimized corner point. The optimization module is configured to use a position coordinate of the search window that satisfies a preset condition as a final position coordinate of the to-be-optimized corner point. The evaluation module includes: The division unit is configured to intercept the corner point key region image in the search window and divide the corner point key region image into a plurality of region subgraphs. The counting unit is configured to count actual numbers of the black and white blocks in each region subgraph. The standard deviation calculation unit is configured to determine an average value of the black and white blocks corresponding to each region subgraph and calculate a standard deviation based on the average value and the actual number of the black and white blocks in each region subgraph. The nonlinear evaluation function is a preset Gaussian function. The evaluation module further includes: The evaluation value calculation unit is configured to determine the evaluation value corresponding to the search window at the current position coordinate based on the preset Gaussian function and the standard deviation.
7. An electronic device, comprising: The computer readable storage medium stores computer instructions for causing the processor to perform the method of any one of claims 1-5 when executed. The computer readable storage medium stores computer instructions for causing the processor to perform the method of any one of claims 1-5 when executed. 8. A computer-readable storage medium, characterized in that,
Citation Information
Patent Citations
Automatically calibration method based on black and white grid corner matching
CN103177439A