Data processing method and device, electronic equipment and computer readable medium

By distributing camera parameter estimation task between computer processor and vehicle controller, the problem of high cost and low efficiency of camera calibration in vehicle systems is solved, efficient and accurate camera calibration is achieved, and the cost and computing power of the controller side is reduced. rely.

CN119107365APending Publication Date: 2024-12-10GUANGZHOU AUTOMOBILE GROUP CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410963096.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-07-17
Publication Date
2024-12-10

AI Technical Summary

Technical Problem

The improvement of camera calibration algorithms in existing vehicle systems leads to high cost of camera calibration, and the increase of ordinary chips takes time and reduce efficiency. Choosing high computing chips is expensive, making it difficult to meet the needs of efficient and accurate camera calibration.

Method used

By distributing camera parameter estimation tasks between computer processors and vehicle controllers, the processor acquires data sets and initial parameters, adjusts camera parameters to calculate the evaluation value of alternative parameters, selects the optimal parameters to send to the controller, and reduces the controller computing power dependency.

Benefits of technology

It reduces the dependence of camera calibration on the controller's computing power, reduces the cost of the controller-side chip, and improves the accuracy and efficiency of camera calibration.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119107365A_ABST
    Figure CN119107365A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of data processing, in particular to a data processing method and device, electronic equipment and a computer readable medium. The method comprises the steps that a data set and initial parameters of a camera are acquired, the data set comprises pixel coordinates of each target feature point in a calibration image and world coordinates corresponding to the target feature points, and the initial parameters of the camera are adjusted to obtain a plurality of different alternative parameters, calculating an evaluation value corresponding to each alternative parameter based on each alternative parameter and the data set; determining one alternative parameter from the plurality of alternative parameters based on the evaluation numerical value corresponding to each alternative parameter, and taking the alternative parameter as an estimation parameter of the camera; the estimated parameters of the camera are sent to a controller of the vehicle. Compared with the method of realizing camera parameter estimation only through the controller, the method of the invention deploys the camera parameter estimation on the controller and the processor in a distributed manner, thereby reducing the dependence of the camera parameter estimation on the computing power of the controller, and reducing the cost of a chip at a controller end.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data processing technology, and more specifically, to a data processing method, device, electronic device and computer-readable medium. Background Art

[0002] Camera calibration is the process of determining the internal and external parameters of a camera to ensure that the images captured by the camera accurately reflect the scenes in the real world. In existing vehicle systems, as camera calibration algorithms continue to improve, the cost of camera calibration is high. Summary of the invention

[0003] The present application proposes a data processing method, device, electronic device and computer-readable medium to improve the above-mentioned defects.

[0004] In a first aspect, the present application provides a data processing method, applied to a computer processor, the method comprising: obtaining a data group and initial parameters of a camera, the data group comprising pixel coordinates of each target feature point in a calibration image and world coordinates corresponding to the target feature point, the calibration image being a picture of the calibration object captured by the camera; adjusting the initial parameters of the camera to obtain a plurality of different alternative parameters, and calculating an evaluation value corresponding to each alternative parameter based on each alternative parameter and the data group; determining an alternative parameter from the plurality of alternative parameters based on the evaluation value corresponding to each alternative parameter as an estimated parameter of the camera; and sending the estimated parameters of the camera to a controller of a vehicle.

[0005] Optionally, for a possible implementation, the calculating the evaluation value corresponding to each alternative parameter based on each alternative parameter and the data group includes: determining the estimated image coordinates of the target feature point corresponding to the alternative parameter based on the world coordinates corresponding to the target feature point in the calibration image and the alternative parameter; and obtaining the evaluation value corresponding to each alternative parameter based on the distance between the estimated image coordinates and the pixel coordinates of the target feature point.

[0006] Optionally, for a possible implementation, the acquiring of the data group and the initial parameters of the camera includes: acquiring a calibration image when the controller does not meet preset conditions; performing image processing on the calibration image to obtain target feature points in the calibration image; sending the target feature points in the calibration image to the controller so that the controller determines the data group of the target feature points; and acquiring the data group sent by the controller and the initial parameters of the camera.

[0007] Optionally, for a possible implementation, the acquiring of the data group and the initial parameters of the camera includes: when the controller satisfies preset conditions, acquiring the data group and the initial parameters of the camera sent by the controller after executing a preset operation, wherein the preset operation includes: the controller performing image processing on a calibration image to obtain target feature points in the calibration image, and determining the data group of the target feature points.

[0008] Optionally, for a possible implementation, satisfying a preset condition includes having an image processing engine.

[0009] Optionally, for a possible implementation, satisfying the preset condition includes that the maximum computing power provided by the controller exceeds a computing power threshold.

[0010] Optionally, for a possible implementation, there are multiple cameras and multiple calibration images, and performing image processing on the calibration images to obtain target feature points in the calibration images includes: performing feature point recognition on the calibration images to determine the feature points in each of the calibration images; combining a calibration image taken by two adjacent cameras into an image pair; and performing feature point cross-validation on the feature points in the image pair to obtain the target feature points.

[0011] In a second aspect, the present application provides a data processing method, which is applied to a controller of a vehicle, and the method comprises:

[0012] If the controller meets the preset conditions, image processing is performed on the acquired calibration image to determine the target feature points in the calibration image, wherein the calibration image is a picture containing the calibration object acquired based on the camera; a data group is determined according to the target feature points in the calibration image, wherein the data group includes the pixel coordinates of each target feature point in the calibration image and the world coordinates corresponding to the target feature point; the data group and the initial parameters of the camera are sent to a processor of a computer, so that the processor determines the estimated parameters of the camera based on the data group and the initial parameters of the camera; and the estimated parameters sent by the processor are obtained.

[0013] Optionally, for a possible implementation, it also includes: if the controller does not meet the preset conditions, sending the acquired calibration image to the processor of the computer, so that the processor determines the target feature points based on the calibration image; acquiring the target feature points sent by the processor; determining a data group based on the target feature points in the calibration image, the data group including the pixel coordinates of each target feature point in the calibration image and the world coordinates corresponding to the target feature point; sending the data group and the initial parameters of the camera to the processor.

[0014] Optionally, for a possible implementation, determining the data group based on the target feature points in the calibration image includes: identifying a reference point in the calibration image, the reference point being the center point of an image area corresponding to an actual reference area; determining the relative coordinates of each target feature point in the calibration image and the reference point; determining the world coordinates corresponding to each target feature point in the calibration image based on the world coordinates of the center point of the area where the calibration object is located, the world coordinates of the center point of the actual reference area, and the relative coordinates; and combining each target feature point in the calibration image and the world coordinates corresponding to the target feature point into a data group.

[0015] In a third aspect, the present application also provides a data processing device, which is applied to a processor of a computer, and the device includes: a data acquisition unit, which is used to acquire a data group and initial parameters of a camera, wherein the data group includes the pixel coordinates of each target feature point in a calibration image and the world coordinates corresponding to the target feature point, and the calibration image is a picture of the calibration object collected by the camera; a calculation unit, which is used to adjust the initial parameters of the camera to obtain multiple different alternative parameters, and calculate an evaluation value corresponding to each alternative parameter based on each alternative parameter and the data group; a camera parameter estimation unit, which is used to determine an alternative parameter from multiple alternative parameters based on the evaluation value corresponding to each alternative parameter, as an estimated parameter of the camera; and a camera parameter sending unit, which is used to send the estimated parameters of the camera to a controller of a vehicle.

[0016] In a fourth aspect, the present application also provides a data processing device, which is applied to a controller of a vehicle, and the device includes: a feature point recognition unit, which is used to perform image processing on an acquired calibration image if the controller meets preset conditions, and determine the target feature points in the calibration image, wherein the calibration image is a picture containing a calibration object acquired based on camera acquisition; a combination unit, which is used to determine a data group based on the target feature points in the calibration image, and the data group includes the pixel coordinates of each target feature point in the calibration image and the world coordinates corresponding to the target feature point; a data sending unit, which is used to send the data group and the initial parameters of the camera to a processor of a computer, so that the processor determines the estimated parameters of the camera based on the data group and the initial parameters of the camera; and a camera parameter acquisition unit, which is used to acquire the estimated parameters sent by the processor.

[0017] In a fifth aspect, the present application also provides an electronic device comprising: one or more processors; a memory; one or more applications, wherein the one or more applications are stored in the memory, the one or more applications are configured to be executed by the one or more processors, and the one or more applications are configured to execute the above method.

[0018] In a sixth aspect, the present application further provides a computer-readable storage medium, wherein the readable storage medium stores a program code executable by a processor, and when the program code is executed by the processor, the processor executes the above method.

[0019] The solution provided by the present application obtains a data group and initial parameters of the camera through a processor, obtains estimated parameters of the camera based on the data group and the initial parameters of the camera on the processor side, and then sends the obtained estimated parameters to the controller. Compared with realizing camera parameter estimation only through the controller, the present application distributes the camera parameter estimation on the controller and the processor, which reduces the dependence of the camera parameter estimation on the computing power of the controller and can reduce the cost of the controller.

[0020] Other features and advantages of the present application will be described in the following description, and partly become apparent from the description, or be understood by practicing the present application. The purpose and other advantages of the present application can be realized and obtained by the structures specifically pointed out in the written description, claims, and drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For those skilled in the art, other drawings can be obtained based on these drawings without creative work.

[0022] Figure 1 A method flow chart of a data processing method provided by an embodiment of the present application is shown;

[0023] Figure 2 A method flow chart of a data processing method provided by another embodiment of the present application is shown;

[0024] Figure 3 A method flow chart of a data processing method provided by another embodiment of the present application is shown;

[0025] Figure 4 A method flow chart of a data processing method provided by another embodiment of the present application is shown;

[0026] Figure 5 A method flow chart of a data processing method provided by another embodiment of the present application is shown;

[0027] Figure 6 A method flow chart of a data processing method provided by another embodiment of the present application is shown;

[0028] Figure 7A method flow chart of a data processing method provided by another embodiment of the present application is shown;

[0029] Figure 8 A method flow chart of a data processing method provided by another embodiment of the present application is shown;

[0030] Fig. 9 A method flow chart of a data processing method provided by another embodiment of the present application is shown;

[0031] Fig.10 A structural block diagram of a data processing device provided in an embodiment of the present application is shown;

[0032] Fig.11 A structural block diagram of a data processing device provided in an embodiment of the present application is shown;

[0033] Fig.12 A structural block diagram of an electronic device provided in an embodiment of the present application is shown;

[0034] Fig.13 A structural block diagram of a computer-readable storage medium provided in an embodiment of the present application is shown. DETAILED DESCRIPTION

[0035] In order to make those skilled in the art better understand the present application scheme, the technical scheme in the present application embodiment will be clearly and completely described below in conjunction with the drawings in the present application embodiment. Obviously, the described embodiment is only a part of the present application embodiment, rather than all the embodiments. The components of the present application embodiment usually described and shown in the drawings here can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the present application provided in the drawings is not intended to limit the scope of the present application for protection, but merely represents the selected embodiment of the present application. Based on the embodiments of the present application, all other embodiments obtained by those skilled in the art without making creative work belong to the scope of protection of the present application.

[0036] It should be noted that similar reference numerals and letters represent similar items in the following drawings, so once an item is defined in one drawing, it does not need to be further defined and explained in subsequent drawings. At the same time, in the description of this application, the terms "first", "second", etc. are only used to distinguish the description and cannot be understood as indicating or implying relative importance.

[0037] Camera calibration is the process of determining the internal and external parameters of a camera to ensure that the images captured by the camera accurately reflect the scenes in the real world. In existing vehicle systems, as camera calibration algorithms continue to improve, the requirements for computing power are getting higher and higher. The use of ordinary chips will increase the time consumption of camera calibration and reduce the efficiency of camera calibration, while the cost of choosing chips with higher computing power is higher.

[0038] Therefore, in the embodiments of the present application, a data processing method, device, electronic device and computer-readable medium are provided to solve or partially solve the above-mentioned problems.

[0039] The implementation environment involved in the present application includes a camera installed on a vehicle, a controller of the vehicle, and a processor of a computer, wherein the camera installed on the vehicle can be single or multiple. When the camera installed on the vehicle is single, the image captured by the single camera can be used to provide a single-perspective road condition or vehicle environment; when the camera installed on the vehicle is multiple, the images captured by the multiple cameras can be used to generate a panoramic image. The controller can receive image data captured by the camera, process the received image data, and obtain camera parameters. The controller can be an Around View Monitor (AVM) system controller. The processor of the computer can receive and process the data sent by the controller, obtain camera parameters, and transmit them to the controller. Please refer to the subsequent embodiments for details.

[0040] See also Figure 1 , which shows a method flow chart of a data processing method provided in an embodiment of the present application. The method is applied to a processor of a computer. It should be noted that the computing power of the processor is greater than the computing power of the controller of the vehicle. The method specifically includes steps S110 to S140.

[0041] Step S110: Acquire a data set and initial parameters of a camera, wherein the data set includes pixel coordinates of each target feature point in a calibration image and world coordinates corresponding to the target feature point, and the calibration image is a picture collected by the camera and containing a calibration object.

[0042] It should be noted that the camera is installed on the vehicle, and before the camera calibration is performed, multiple calibration objects are arranged around the vehicle, and the world coordinates of each calibration object are recorded. The calibration object can be an object placed on the ground, the height of the object can be ignored, and the calibration object can also be a mark made on the ground.

[0043] Exemplarily, a colored curtain is laid on the ground around the vehicle, and then a marking area is set on the curtain. The color of the marking area is different from the color of the curtain, and the shape of the marking area can be circular or cross.

[0044] The initial parameters of the camera include the intrinsic parameters of the camera and the extrinsic parameters of the camera. The intrinsic parameters are used to describe the characteristics of the camera itself, and may include focal length, image center coordinates, radial distortion coefficients, and tangential distortion coefficients, etc. The extrinsic parameters are used to describe the position and orientation of the camera relative to the world coordinate system, and are used to transform points in the world coordinate system into the camera coordinate system. The extrinsic parameters may include rotation matrices and translation vectors.

[0045] The data set includes the pixel coordinates of each target feature point in the calibration image and the world coordinates corresponding to the target feature point, and the data set and the initial parameters of the camera can be obtained from the controller of the vehicle.

[0046] It should be noted that each target feature point in the calibration image corresponds to an area where a calibration object is located, and the world coordinates of the area where each calibration object is located are stored in the controller, so the data group can be determined by the controller.

[0047] In an optional embodiment, first, the controller obtains the target feature points of the calibration image and identifies the reference point in the calibration image, wherein the reference point is the center point of the image area corresponding to the actual reference area; the actual reference area is a marked area set on the ground. Then, the relative coordinates of each target feature point in the calibration image and the reference point are determined; secondly, the world coordinates corresponding to each target feature point in the calibration image are determined according to the world coordinates of the center point of the area where the calibration object is located, the world coordinates of the center point of the actual reference area, and the relative coordinates; finally, each target feature point in the calibration image and the world coordinates corresponding to the target feature point are combined into a data group.

[0048] The controller may obtain the target feature points of the calibration image in a variety of ways. The processor may perform image processing on the obtained calibration image to obtain the target feature points, and then transmit the target feature points to the controller. The controller may also perform image processing on the obtained calibration image to obtain the target feature points.

[0049] Step S120: adjusting the initial parameters of the camera to obtain a plurality of different candidate parameters, and calculating an evaluation value corresponding to each candidate parameter based on each candidate parameter and the data group.

[0050] It should be noted that the initial parameters of the camera are pre-set parameters, and the initial parameters may not match the actual intrinsic parameters and actual extrinsic parameters of the camera. Therefore, it is necessary to adjust the initial parameters of the camera and calculate the real intrinsic parameters and actual extrinsic parameters of the camera, that is, to obtain more accurate camera parameters.

[0051] To this end, the present application obtains a plurality of different candidate parameters by adjusting the initial parameters of the camera, and calculates an evaluation value corresponding to each candidate parameter based on each candidate parameter and the data group, wherein the evaluation value is used to characterize the accuracy of the corresponding candidate parameter.

[0052] Step S130: determining a candidate parameter from a plurality of candidate parameters based on the evaluation value corresponding to each of the candidate parameters as the estimated parameter of the camera.

[0053] Based on the evaluation value corresponding to each candidate parameter, one candidate parameter is selected from the multiple candidate parameters as the estimated parameter of the camera.

[0054] In an optional embodiment, the initial parameters of the camera can be adjusted first to obtain multiple alternative parameters; then, the estimated image coordinates of the target feature points corresponding to the alternative parameters are determined based on the world coordinates corresponding to the target feature points in the calibration image and the alternative parameters; secondly, based on the distance between the estimated image coordinates of the target feature points and the corresponding pixel coordinates, an evaluation value corresponding to each of the alternative parameters is obtained; finally, based on the evaluation value corresponding to each of the alternative parameters, an alternative parameter is determined from the multiple alternative parameters as the estimated parameter of the camera. For details, please refer to the subsequent embodiments.

[0055] It should be noted that the processor can create multiple threads, estimate evaluation values ​​corresponding to multiple candidate parameters at the same time, perform parallel calculations, and then determine the estimated parameters of the camera according to the evaluation values ​​corresponding to the multiple candidate parameters.

[0056] In an optional embodiment, when multiple cameras need to be calibrated, estimated parameters of a single camera are obtained based on a data set corresponding to the camera and the initial parameters of the camera. In this way, estimated parameters of each of the multiple cameras can be obtained.

[0057] Step S140: Send the estimated parameters of the camera to a controller of the vehicle.

[0058] The processor sends the obtained estimated parameters of the camera to the vehicle's controller.

[0059] Exemplarily, the controller sends a data group and initial parameters of the camera to a processor of a computer, and the processor determines the parameters of the camera based on the data group and the initial parameters of the camera, and then sends the estimated parameters of the camera to the controller, thereby implementing camera calibration based on the controller, reducing the dependence of the camera calibration algorithm on the computing power of the controller.

[0060] In an embodiment of the present application, a data processing method is provided, in which a data group and initial parameters of a camera are obtained through a processor, and the estimated parameters of the camera are obtained based on the data group and the initial parameters of the camera on the processor side, and then the obtained estimated parameters are sent to the controller. On the one hand, compared with realizing camera calibration only through the controller, the present application distributes the camera calibration on the controller and the processor, which reduces the dependence of the camera calibration on the computing power of the controller and can reduce the cost of the controller-side chip. On the other hand, since the data processing method of the embodiment of the present application has a low dependence on the computing power of the controller or does not rely on the computing power of the controller, the camera calibration algorithm can be continuously iterated without affecting the mass-produced vehicle model and the in-vehicle software to increase the accuracy of the camera calibration.

[0061] See also Figure 2 , which shows a method flow chart of a data processing method provided in an embodiment of the present application. The method is applied to a processor of a computer, and the method specifically includes steps S210 to S250.

[0062] Step S210: Acquire a data set and initial parameters of the camera, wherein the data set includes pixel coordinates of each target feature point in the calibration image and world coordinates corresponding to the target feature point, and the calibration image is a picture of the calibration object captured by the camera.

[0063] Among them, step S210 has been introduced in detail in the above embodiment and will not be repeated here.

[0064] Step S220: adjusting the initial parameters of the camera to obtain a plurality of different candidate parameters, and determining the estimated image coordinates of the target feature points corresponding to the candidate parameters based on the world coordinates corresponding to the target feature points in the calibration image and the candidate parameters.

[0065] The initial parameters of the camera are adjusted to obtain multiple candidate parameters. One parameter in the initial parameters can be adjusted, or multiple parameters in the initial parameters can be adjusted.

[0066] It should be noted that the conversion relationship between world coordinates and pixel coordinates can be determined based on the candidate parameters. To this end, the world coordinates corresponding to each target feature point are obtained according to the data set, and the world coordinates corresponding to the target feature point can be calculated based on the conversion relationship to obtain the estimated image coordinates corresponding to the target feature point.

[0067] Step S230: Based on the distance between the estimated image coordinates and the pixel coordinates of the target feature point, obtain an evaluation value corresponding to each of the candidate parameters.

[0068] Since the estimated image coordinates are calculated based on the conversion relationship corresponding to each alternative parameter, the estimated image coordinates corresponding to the target feature point may be different from the pixel coordinates of the target feature point. Based on the distance between the pixel coordinates of each target feature point and the corresponding pixel coordinates of the estimated image coordinates, the reprojection error corresponding to each target feature point is obtained, and then based on the reprojection error of the target feature point corresponding to each alternative parameter, the evaluation value corresponding to each alternative parameter is obtained.

[0069] Exemplarily, six target feature points are detected in the calibration image, and the data group corresponding to each target feature point is obtained. The initial parameters of the camera are adjusted to obtain three different candidate parameters, namely, the first candidate parameter, the second candidate parameter and the third candidate parameter. For the first candidate parameter, the estimated image coordinates of each target feature point corresponding to the first candidate parameter are obtained according to the obtained world coordinates corresponding to each target feature point and the first candidate parameter. The reprojection error of each target feature point is obtained based on the distance between the estimated image coordinates and the pixel coordinates of each target feature point. The evaluation value of the first candidate parameter is determined according to the reprojection errors corresponding to the six target feature points. The evaluation value of the first candidate parameter can be obtained by summing the reprojection errors corresponding to the six target feature points, or by averaging the reprojection errors corresponding to the six target feature points. The evaluation value of the second candidate parameter and the evaluation value of the third candidate parameter are obtained by the same principle. Then the candidate parameter corresponding to the smallest evaluation value is used as the estimated parameter of the camera.

[0070] Step S240: determining a candidate parameter from a plurality of candidate parameters based on the evaluation value corresponding to each of the candidate parameters as the estimated parameter of the camera.

[0071] Step S250: Send the estimated parameters of the camera to the controller of the vehicle.

[0072] Among them, step S240 and step S250 have been introduced in detail in the above embodiments and will not be repeated here.

[0073] See also Figure 3 , which shows a method flow chart of a data processing method provided in an embodiment of the present application. The method is applied to a processor of a computer, and the method specifically includes steps S310 to S370.

[0074] Step S310: When the controller does not meet the preset conditions, a calibration image is obtained.

[0075] There are multiple ways to satisfy the preset condition.

[0076] In an optional embodiment, satisfying the preset condition may be having an image processing engine. The image processing engine may be a hardware system or a software system for performing image processing tasks, such as image enhancement, filtering, transformation, image segmentation, and image recognition. When the controller has the image processing engine, the controller satisfies the preset condition, otherwise the controller does not satisfy the preset condition.

[0077] In an optional embodiment, the preset condition may be satisfied when the maximum computing power provided by the controller exceeds the computing power threshold. When the maximum computing power provided by the controller exceeds the computing power threshold, it indicates that the controller is able to execute the camera calibration algorithm and the controller satisfies the preset condition, otherwise the controller does not satisfy the preset condition.

[0078] The computing power refers to the computing power or processing power of a system or device, and the computing power can be represented by floating point operation speed or integer operation speed. The computing power threshold is a pre-set value, and the computing power threshold can be the minimum computing power value required by the camera calibration algorithm.

[0079] When the controller does not meet the preset conditions, it may indicate that the controller does not have the hardware or software for image processing, or it may indicate that the speed of the controller for image processing cannot meet the usage requirements.

[0080] To this end, when the controller does not meet the preset conditions, the processor obtains a calibration image, where the calibration image is a picture collected by the camera and containing the calibration object. The calibration image can be obtained from the camera or from the controller.

[0081] Step S320: performing image processing on the calibration image to obtain target feature points in the calibration image.

[0082] The processor performs image processing on the calibration image to obtain target feature points in the calibration image. The method of obtaining the target feature points is different depending on the number of cameras.

[0083] In an optional embodiment, a camera is calibrated, and a processor identifies feature points of a calibration image obtained based on the camera, and uses the identified feature points as target feature points, wherein the feature points are the center points of the image area corresponding to the area where the calibration object is located.

[0084] In an optional embodiment, multiple cameras are calibrated, and the multiple cameras are used to generate panoramic images. The processor performs feature point recognition on the calibration images based on multiple calibration images obtained by the multiple cameras to determine the feature points in each of the calibration images, where the feature points are the center points of the image area corresponding to the area where the calibration object is located; one calibration image taken by two adjacent cameras is combined into an image pair; and feature point cross-validation is performed on the feature points in the image pair to obtain the target feature points. For details, please refer to the subsequent embodiments.

[0085] Step S330: sending the target feature points in the calibration image to the controller, so that the controller determines a data group of the target feature points.

[0086] It should be noted that since each target feature point in the calibration image corresponds to an area where a calibration object is located, the world coordinates of the area where each calibration object is located are stored in the controller. For this purpose, it is necessary to determine a data group through the controller. The processor sends the acquired target feature points of the calibration image to the controller so that the controller determines the data group of the target feature points. The method for the controller to determine the target feature points can be found in the aforementioned embodiment and will not be repeated here.

[0087] Step S340: Acquire the data group sent by the controller and the initial parameters of the camera.

[0088] Due to insufficient computing power of the controller, the computing power required for camera parameter estimation is relatively large. For this reason, the present application obtains the data group sent by the controller and the initial parameters of the camera through the processor, and estimates the camera parameters through the processor, which can reduce the computing power consumption of the controller.

[0089] Step S350: adjusting the initial parameters of the camera to obtain a plurality of different candidate parameters, and calculating an evaluation value corresponding to each candidate parameter based on each candidate parameter and the data group.

[0090] Step S360: determining a candidate parameter from a plurality of candidate parameters based on the evaluation value corresponding to each of the candidate parameters as the estimated parameter of the camera.

[0091] Step S370: Send the estimated parameters of the camera to the controller of the vehicle.

[0092] Among them, step S350 and step S370 have been introduced in detail in the above embodiments and will not be repeated here.

[0093] The data processing method provided in the embodiment of the present application, when the controller does not meet the preset conditions, performs image processing on the calibration image through the processor to obtain the target feature points, and then sends the target feature points to the controller, obtains the data group sent by the controller and the initial parameters of the camera, and the processor calculates the received data group and the initial parameters of the camera to obtain the estimated parameters of the camera, and then sends the estimated parameters to the controller. It can further reduce the computing power consumption of the controller and reduce the dependence of the calibration algorithm on the computing power of the controller, which can not only reduce the cost of the controller, but also improve the calculation speed of the camera calibration algorithm.

[0094] See also Figure 4 , which shows a method flow chart of a data processing method provided in an embodiment of the present application. The method is applied to a processor of a computer, and the method specifically includes steps S410 to S440.

[0095] Step S410: When the controller meets preset conditions, obtain a data group sent by the controller after executing a preset operation and initial parameters of the camera, wherein the preset operation includes: the controller performs image processing on a calibration image to obtain target feature points in the calibration image, and determines a data group of the target feature points.

[0096] Wherein, the details of satisfying the preset conditions can be found in the above-mentioned embodiment. When the controller satisfies the preset conditions, the processor obtains the data group sent by the controller after executing the preset operation and the initial parameters of the camera. Then, the camera parameters can be estimated based on the data group and the initial parameters of the camera to obtain the estimated parameters of the camera.

[0097] It should be noted that the controller performs image processing on the calibration image to obtain target feature points in the calibration image. The method of obtaining the target feature points is different depending on the number of cameras.

[0098] In an optional embodiment, a camera is calibrated, and a controller identifies feature points of a calibration image obtained based on the camera, and uses the identified feature points as target feature points, wherein the feature points are the center points of the image area corresponding to the area where the calibration object is located.

[0099] In an optional embodiment, multiple cameras are calibrated, and the multiple cameras are used to generate panoramic images. The controller performs feature point recognition on the calibration images based on multiple calibration images obtained by the multiple cameras to determine the feature points in each of the calibration images, wherein the feature points are the center points of the image area corresponding to the area where the calibration object is located; one calibration image each taken by two adjacent cameras is combined into an image pair; and feature point cross-validation is performed on the feature points in the image pair to obtain the target feature points.

[0100] Wherein, the controller determines the data set of the target feature points, please refer to the aforementioned embodiment, which will not be described again here.

[0101] Step S420: adjusting the initial parameters of the camera to obtain a plurality of different candidate parameters, and calculating an evaluation value corresponding to each candidate parameter based on each candidate parameter and the data group.

[0102] Step S430: determining an alternative parameter from a plurality of candidate parameters based on the evaluation value corresponding to each of the candidate parameters as the estimated parameter of the camera.

[0103] Step S440: Send the estimated parameters of the camera to a controller of the vehicle.

[0104] Among them, step S420 and step S440 have been introduced in detail in the above embodiments and will not be repeated here.

[0105] A data processing method provided in an embodiment of the present application obtains a data group sent by the controller after executing a preset operation and the initial parameters of the camera when the controller meets preset conditions, and then implements camera parameter estimation based on the obtained data group and the initial parameters of the camera. This can reduce the dependence of the camera calibration algorithm on the computing power of the controller and reduce the cost of the controller.

[0106] See also Figure 5 , which shows a method flow chart of a data processing method provided in an embodiment of the present application, the method is applied to a processor of a computer, wherein there are multiple cameras and multiple calibration images, and the method specifically includes steps S510 to S590.

[0107] Step S510: When the controller does not meet the preset conditions, a calibration image is obtained.

[0108] Among them, step S510 has been introduced in detail in the above embodiment and will not be repeated here.

[0109] Step S520: performing feature point recognition on the calibration images to determine feature points in each calibration image.

[0110] It should be noted that the calibration image is a picture collected by the camera containing the calibration object, and feature point recognition is to identify the calibration object in the calibration image. The feature point can be a detected corner point or edge point of the calibration object, or a pixel point at the center of the calibration object calculated through the corner point or edge point.

[0111] The feature points in each calibration image are identified by performing feature point recognition on the calibration image. There are multiple methods for identifying the feature points.

[0112] In an optional embodiment, the feature point recognition may be Harris corner point detection. The Harris corner point detection method identifies corner points by calculating the autocorrelation matrix of grayscale in an image window. Harris corner point detection may be performed on the calibration images to determine the feature points in each of the calibration images.

[0113] In an optional embodiment, feature point recognition may be scale-invariant feature transformation detection. The scale-invariant feature transformation detection method identifies feature points by detecting key points in different scale spaces and calculating descriptors of the key points. The calibration images may be subjected to scale-invariant feature transformation detection to determine feature points in each of the calibration images.

[0114] Step S530: Combining one calibration image each taken by two adjacent cameras into an image pair.

[0115] When there are multiple cameras, each camera needs to be calibrated, and the images taken by multiple cameras need to be stitched into a panoramic image. The panoramic image needs to stitch the images taken by cameras at adjacent positions based on common feature points. If the feature points are recognized incorrectly, it may cause image stitching errors, which in turn leads to low accuracy of the generated panoramic image. For this reason, it is necessary to combine a calibrated image taken by two adjacent cameras into an image pair, and then verify the feature points obtained based on the image pair, delete the erroneous feature points, and improve the accuracy of the target feature points.

[0116] Step S540: performing feature point cross-validation on the feature points in the image pair to obtain target feature points.

[0117] Wherein, feature point cross-validation is performed on the feature points in the image pair, and feature points that meet the validation conditions are used as target feature points.

[0118] In an optional embodiment, the feature point cross-validation may be a bidirectional feature point matching, wherein the feature point matching is a process of finding corresponding points between two or more images.

[0119] Exemplarily, to determine whether feature point A1 in image A matches feature point B1 in image B, when matching feature points of two images, it is necessary not only to consider whether feature point A1 converted from image A to image B is consistent with feature point B1, but also to verify whether feature point B1 converted from image B to image A is consistent with feature point A1. Only when the two matching results are consistent, is this pair of feature points considered to meet the verification conditions.

[0120] Step S550: sending the target feature points in the calibration image to the controller, so that the controller determines a data group of the target feature points.

[0121] The data set includes the pixel coordinates of each target feature point in the calibration image and the world coordinates corresponding to the target feature point. Since the world coordinates of the calibration object are stored in the controller, the data set of the target feature point needs to be determined in the controller, and for this purpose, the target feature point in the calibration image needs to be sent to the controller.

[0122] Step S560: Acquire the data group sent by the controller and the initial parameters of the camera.

[0123] Step S570: adjusting the initial parameters of the camera to obtain a plurality of different candidate parameters, and calculating an evaluation value corresponding to each candidate parameter based on each candidate parameter and the data group.

[0124] Step S580: determining a candidate parameter from a plurality of candidate parameters based on the evaluation value corresponding to each of the candidate parameters as the estimated parameter of the camera.

[0125] Step S590: Send the estimated parameters of the camera to the controller of the vehicle.

[0126] Among them, step S560 and step S590 have been introduced in detail in the above embodiments and will not be repeated here.

[0127] A data processing method provided in an embodiment of the present application determines feature points in each calibration image by feature point recognition when calibrating multiple cameras, and then combines a calibration image taken by two adjacent cameras into an image pair, and performs feature point cross-validation on the feature points in the image pair to obtain target feature points. More accurate target feature points can be obtained by feature point cross-validation.

[0128] See also Figure 6 , which shows a method flow chart of a data processing method provided in an embodiment of the present application. The method is applied to a controller of a vehicle, and the method specifically includes steps S610 to S640.

[0129] Step S610: If the controller meets the preset conditions, image processing is performed on the acquired calibration image to determine the target feature points in the calibration image, where the calibration image is a picture collected by a camera and containing the calibration object.

[0130] Among them, whether the controller meets the preset conditions can be found in the above-mentioned embodiment, which will not be described again here.

[0131] If the controller meets the preset conditions, it indicates that the controller can perform feature point recognition on the calibration image, perform image processing on the calibration image acquired by the controller, and determine the target feature points in the calibration image. For details, please refer to the aforementioned embodiment and will not be repeated here.

[0132] Step S620: determining a data group according to the target feature points in the calibration image, wherein the data group includes the pixel coordinates of each target feature point in the calibration image and the world coordinates corresponding to the target feature point.

[0133] For a detailed description of how the controller determines a data group based on the target feature points in the calibration image, please refer to the aforementioned embodiment, which will not be repeated here.

[0134] Step S630: Send the data set and the initial parameters of the camera to a processor of a computer, so that the processor determines the estimated parameters of the camera based on the data set and the initial parameters of the camera.

[0135] The controller sends the data set and the initial parameters of the camera to the processor of the computer, so that the processor determines the estimated parameters of the camera based on the data set and the initial parameters of the camera. For details about how the processor determines the estimated parameters of the camera based on the data set and the initial parameters of the camera, please refer to the above embodiment, which will not be repeated here.

[0136] Step S640: Acquire the estimated parameters of the camera sent by the processor.

[0137] Acquiring the estimated parameters of the camera sent by the processor indicates that the camera calibration is completed. During the actual driving of the vehicle, the image captured by the camera is transmitted to the controller, and the controller can calculate the world coordinates of the object in the image based on the acquired image and the camera parameters.

[0138] In an embodiment of the present application, a data processing method is provided. If the controller meets the preset conditions, image processing is performed on the acquired calibration image to determine the target feature points in the calibration image. Then, a data group is determined according to the target feature points in the calibration image, and the data group and the initial parameters of the camera are sent to the processor of the computer so that the processor determines the estimated parameters of the camera based on the data group and the initial parameters of the camera; finally, the estimated parameters of the camera sent by the processor are obtained. On the one hand, compared with realizing camera calibration only through the controller, the present application distributes the camera calibration on the controller and the processor, which reduces the dependence of the camera calibration on the computing power of the controller and can reduce the cost of the controller-side chip. On the other hand, since the data processing method of the embodiment of the present application has a low dependence on the computing power of the controller or does not rely on the computing power of the controller, the camera calibration algorithm can be continuously iterated without affecting the mass-produced vehicle model and the in-vehicle software to increase the accuracy of the camera calibration.

[0139] See also Figure 7 , which shows a method flow chart of a data processing method provided in an embodiment of the present application. The method is applied to a controller of a vehicle, and the method specifically includes steps S710 to S750.

[0140] Step S710: If the controller does not meet the preset condition, the acquired calibration image is sent to a processor of a computer, so that the processor determines the target feature points based on the calibration image.

[0141] Wherein, the controller satisfies the preset conditions, please refer to the aforementioned embodiment, which will not be described in detail here. If the controller does not meet the preset conditions, it means that the controller does not have the ability to perform feature point recognition, and the acquired calibration image is sent to the processor of the computer, so that the processor determines the target feature points based on the calibration image. The processor determines the target feature points based on the calibration image. Please refer to the aforementioned embodiment for a detailed description, which will not be described in detail here.

[0142] Step S720: Acquire the target feature points sent by the processor.

[0143] The controller obtains the target feature points sent by the processor and can determine the data group according to the target feature points.

[0144] Step S730: determining a data group according to the target feature points in the calibration image, wherein the data group includes the pixel coordinates of each target feature point in the calibration image and the world coordinates corresponding to the target feature point.

[0145] The controller determines the data group according to the target feature points in the calibration image. For details, please refer to the aforementioned embodiment and will not be described again here.

[0146] Step S740: Send the data group and the initial parameters of the camera to the processor.

[0147] The controller sends the data set and the initial parameters of the camera to the processor, so that the processor obtains the estimated parameters of the camera based on the data set and the initial parameters of the camera.

[0148] Step S750: Acquire the estimated parameters sent by the processor.

[0149] Among them, step S750 has been introduced in detail in the above embodiment and will not be repeated here.

[0150] See also Figure 8 , which shows a method flow chart of a data processing method provided in an embodiment of the present application. The method is applied to a controller of a vehicle, and the method specifically includes steps S810 to S870.

[0151] Step S810: If the controller meets the preset conditions, image processing is performed on the acquired calibration image to determine the target feature points in the calibration image, where the calibration image is a picture collected by a camera and containing the calibration object.

[0152] Among them, step S810 has been introduced in detail in the above embodiment and will not be repeated here.

[0153] Step S820: Identify a reference point in the calibration image, where the reference point is the center point of the image area corresponding to the actual reference area.

[0154] The reference point is the center point of the image area corresponding to the actual reference area. The world coordinates of the actual reference area are stored in the controller. Image recognition is performed on the acquired calibration image to obtain the reference point in the calibration image.

[0155] Step S830: Determine the relative coordinates of each target feature point in the calibration image and the reference point.

[0156] Based on each target feature point in the calibration image and the reference point, relative coordinates of each target feature point in the calibration image and the reference point are determined.

[0157] It should be noted that the relative coordinates can be specific pixel coordinates on the calibration image or the relative positions of each target pixel point and the reference point. For example, there are 16 target feature points obtained on the calibration image, which are roughly arranged in 4 rows and 4 columns, and the reference point is in the first row and is located between the first and second columns of target feature points. The coordinates of the reference point are (0, 0), and the relative coordinates of the target feature points in the first row and the first column can be determined to be (0, -1), the relative coordinates of the target feature points in the first row and the second column are (0, 1), the relative coordinates of the target feature points in the second row and the second column are (1, 1), and the relative coordinates of the target feature points in the third row and the fourth column are (2, 3).

[0158] Step S840: determining the world coordinates corresponding to each target feature point in the calibration image according to the world coordinates of the center point of the area where the calibration object is located, the world coordinates of the center point of the actual reference area, and the relative coordinates.

[0159] Since the world coordinates of each calibration object are stored in the controller, the world coordinates corresponding to each target feature point in the calibration image can be determined according to the world coordinates of the center point of the area where the calibration object is located, the world coordinates of the center point of the actual reference area and the relative coordinates.

[0160] Continuing with the previous embodiment, the relative coordinates of the target feature point in the 3rd row and 4th column are (2, 3). Then, the world coordinates of the second calibration object to the right of the actual reference area and the third calibration object to the back are taken as the world coordinates corresponding to the target feature point in the 3rd row and 4th column. The world coordinates corresponding to each target feature point in the calibration image can be quickly determined.

[0161] Step S850: Combining each target feature point in the calibration image and the world coordinates corresponding to the target feature point into a data group.

[0162] Wherein, each target feature point in the calibration image and the world coordinates corresponding to the target feature point are combined into a data group. The same label can be added to each target feature point in the calibration image and the world coordinates corresponding to the target feature point, and the data group can be identified by identifying the label.

[0163] Step S860: Send the data set and the initial parameters of the camera to a processor of a computer, so that the processor determines the estimated parameters of the camera based on the data set and the initial parameters of the camera.

[0164] Step S870: Obtain the estimated parameters of the camera sent by the processor.

[0165] Among them, step S860 and step S870 have been introduced in detail in the above embodiments and will not be repeated here.

[0166] See also Fig. 9 , which shows a method flow chart of a data processing method provided in an embodiment of the present application. The method is applied to a controller of a vehicle, and the method specifically includes steps S910 to S9100.

[0167] Step S910: Determine whether the controller meets the preset conditions.

[0168] For details on whether the controller satisfies the preset conditions, please refer to the aforementioned embodiment. Whether the controller satisfies the preset conditions is determined to select a subject for executing the recognition of target feature points.

[0169] Step S920: If the controller meets the preset conditions, the controller performs image processing on the acquired calibration image to determine the target feature points in the calibration image, where the calibration image is a picture collected by the camera and contains the calibration object.

[0170] Step S930: The controller determines a data group according to the target feature points in the calibration image, where the data group includes the pixel coordinates of each target feature point in the calibration image and the world coordinates corresponding to the target feature point.

[0171] Step S940: If the controller does not meet the preset condition, the controller sends the acquired calibration image to the processor of the computer.

[0172] Step S950: the processor performs image processing on the acquired calibration image to obtain target feature points in the calibration image.

[0173] Step S960: The processor sends the target feature points in the calibration image to the controller.

[0174] Step S970: The controller sends the data group and the initial parameters of the camera to the processor.

[0175] Step S980: The processor obtains estimated parameters of the camera based on the data group and the initial parameters of the camera.

[0176] Step S990: The processor sends the estimated parameters of the camera to the controller of the vehicle.

[0177] Among them, step S920 and step S990 have been introduced in detail in the above embodiments and will not be repeated here.

[0178] Step S9100: The controller receives the estimated parameters.

[0179] The controller receives the estimated parameters, and the camera calibration on the controller side is completed.

[0180] See also Fig.10 , which shows a structural block diagram of a data processing device 500 provided in an embodiment of the present application. The test device 500 includes: a data acquisition unit 510, a calculation unit 520, a camera parameter estimation unit 530 and a camera parameter sending unit 540.

[0181] The data acquisition unit 510 is used to acquire a data group and initial parameters of the camera. The data group includes the pixel coordinates of each target feature point in the calibration image and the world coordinates corresponding to the target feature point. The calibration image is a picture collected by the camera containing the calibration object.

[0182] Furthermore, the data acquisition unit 510 can also be used to acquire a calibration image when the controller does not meet preset conditions; perform image processing on the calibration image to obtain target feature points in the calibration image; send the target feature points in the calibration image to the controller so that the controller determines a data group of the target feature points; and acquire the data group sent by the controller and the initial parameters of the camera.

[0183] Furthermore, the data acquisition unit 510 can also be used to obtain a data group sent by the controller after executing a preset operation and initial parameters of the camera when the controller meets preset conditions, wherein the preset operation includes: the controller performs image processing on the calibration image, obtains target feature points in the calibration image, and determines the data group of the target feature points.

[0184] Furthermore, satisfying the preset condition includes having an image processing engine.

[0185] Furthermore, satisfying the preset condition includes that the maximum computing power provided by the controller exceeds a computing power threshold.

[0186] Furthermore, the data acquisition unit 510 can also be used when there are multiple cameras and multiple calibration images, and the image processing of the calibration images to obtain target feature points in the calibration images includes: performing feature point recognition on the calibration images to determine the feature points in each of the calibration images; combining a calibration image taken by two adjacent cameras into an image pair; and performing feature point cross-validation on the feature points in the image pair to obtain the target feature points.

[0187] The calculation unit 520 is used to adjust the initial parameters of the camera to obtain a plurality of different candidate parameters, and calculate an evaluation value corresponding to each candidate parameter based on each candidate parameter and the data group.

[0188] Furthermore, the calculation unit 520 can also be used to determine the estimated image coordinates of the target feature points corresponding to the candidate parameters based on the world coordinates corresponding to the target feature points in the calibration image and the candidate parameters; based on the distance between the estimated image coordinates and the pixel coordinates of the target feature points, obtain the evaluation value corresponding to each of the candidate parameters. The camera parameter estimation unit 530 is used to obtain the estimated parameters of the camera based on the data group and the initial parameters of the camera.

[0189] The camera parameter sending unit 530 is used to send the estimated parameters to a controller of the vehicle.

[0190] See also Fig.11 , which shows a structural block diagram of a data processing device 600 provided in an embodiment of the present application. The test device 600 includes: a feature point recognition unit 610, a combination unit 620, a data sending unit 630 and a camera parameter acquisition unit 640.

[0191] The feature point recognition unit 610 is used to perform image processing on the acquired calibration image to determine the target feature points in the calibration image if the controller meets the preset conditions. The calibration image is a picture containing the calibration object collected by the camera.

[0192] The feature point recognition unit 610 can also be used to send the acquired calibration image to the processor of the computer if the controller does not meet the preset conditions, so that the processor determines the target feature points based on the calibration image; obtain the target feature points sent by the processor; determine a data group based on the target feature points in the calibration image, the data group including the pixel coordinates of each target feature point in the calibration image and the world coordinates corresponding to the target feature point; send the data group and the initial parameters of the camera to the processor.

[0193] The feature point recognition unit 610 can also be used to identify a reference point in the calibration image, where the reference point is the center point of the image area corresponding to the actual reference area; determine the relative coordinates of each target feature point in the calibration image and the reference point; determine the world coordinates corresponding to each target feature point in the calibration image according to the world coordinates of the center point of the area where the calibration object is located, the world coordinates of the center point of the actual reference area, and the relative coordinates; and combine each target feature point in the calibration image and the world coordinates corresponding to the target feature point into a data group.

[0194] The combining unit 620 is used to determine a data group according to the target feature points in the calibration image, where the data group includes the pixel coordinates of each target feature point in the calibration image and the world coordinates corresponding to the target feature point.

[0195] The data sending unit 630 is used to send the data group and the initial parameters of the camera to a processor of a computer, so that the processor determines the estimated parameters of the camera based on the data group and the initial parameters of the camera.

[0196] The camera parameter acquisition unit 640 is used to acquire the estimated parameters sent by the processor.

[0197] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the above-described devices and modules can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here.

[0198] In several embodiments provided in the present application, the coupling between modules may be electrical, mechanical or other forms of coupling.

[0199] In addition, each functional module in each embodiment of the present application can be integrated into a processing module, or each module can exist physically separately, or two or more modules can be integrated into one module. The above integrated modules can be implemented in the form of hardware or software functional modules.

[0200] Please refer to Fig.12 , which shows a structural block diagram of an electronic device provided in an embodiment of the present application. The electronic device 700 may be a vehicle system, which may be arranged in a vehicle. The electronic device 700 in the present application may include one or more of the following components: a processor 711, a memory 712, and one or more application programs, wherein the processor 711 is electrically connected to the memory 712, and the one or more program configurations are used to execute the methods described in the embodiments of the aforementioned test method.

[0201] The processor 711 may include one or more processing cores. The processor 711 uses various interfaces and lines to connect various parts of the entire electronic device 700, and executes various functions and processes data of the electronic device 700 by running or executing instructions, programs, code sets or instruction sets stored in the memory 712, and calling data stored in the memory 712. Optionally, the processor 711 can be implemented in at least one hardware form of digital signal processing (DSP), field programmable gate array (FPGA), and programmable logic array (PLA). The processor 711 can integrate one or a combination of a central processing unit (CPU), a graphics processor (GPU), and a modem. Among them, the CPU mainly processes the operating system, user interface, and computer programs; the GPU is responsible for rendering and drawing display content; and the modem is used to process wireless communications. It can be understood that the above-mentioned modem may not be integrated into the processor 711, but may be implemented separately through a communication chip. Specifically, the method described in the above embodiments may be executed by one or more processors 711 .

[0202] For some embodiments, the memory 712 may include a random access memory (RAM) or a read-only memory (ROM). The memory 712 may be used to store instructions, programs, codes, code sets, or instruction sets. The memory 712 may include a program storage area and a data storage area, wherein the program storage area may store instructions for implementing an operating system, instructions for implementing at least one function, instructions for implementing the following various method embodiments, etc. The data storage area may also store data created by the electronic device 700 during use, etc.

[0203] Please refer to Fig.13 , which shows a structural block diagram of a computer-readable medium provided in an embodiment of the present application. The computer-readable medium 800 stores program codes, which can be called by a processor to execute the method described in the above method embodiment.

[0204] The computer readable medium 800 can be an electronic memory such as a flash memory, an EEPROM (electrically erasable programmable read-only memory), an EPROM, a hard disk, or a ROM. Optionally, the computer readable medium 800 includes a non-transitory computer-readable storage medium. The computer readable medium 800 has storage space for program code 810 that performs any method step in the above method. These program codes can be read from or written to one or more computer program products. The program code 810 can be compressed, for example, in an appropriate form.

[0205] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims

1. A data processing method, characterized in that: Applied to a processor of a computer, the method comprises: Acquire a data set and initial parameters of a camera, wherein the data set includes pixel coordinates of each target feature point in a calibration image and world coordinates corresponding to the target feature point, and the calibration image is a picture of a calibration object captured by the camera; Adjusting the initial parameters of the camera to obtain a plurality of different candidate parameters, and calculating an evaluation value corresponding to each candidate parameter based on each candidate parameter and the data group; Determine a candidate parameter from a plurality of candidate parameters based on the evaluation value corresponding to each of the candidate parameters as an estimated parameter of the camera; The estimated parameters of the camera are sent to a controller of the vehicle.

2. The method according to claim 1, characterized in that The calculating, based on each candidate parameter and the data group, an evaluation value corresponding to each candidate parameter comprises: Determine the estimated image coordinates of the target feature point corresponding to the candidate parameter based on the world coordinates corresponding to the target feature point in the calibration image and the candidate parameter; Based on the distance between the estimated image coordinates and the pixel coordinates of the target feature point, an evaluation value corresponding to each of the candidate parameters is obtained.

3. The method according to claim 1, characterized in that The step of obtaining the data set and the initial parameters of the camera includes: When the controller does not meet the preset conditions, a calibration image is obtained; Performing image processing on the calibration image to obtain target feature points in the calibration image; sending the target feature points in the calibration image to the controller so that the controller determines a data group of the target feature points; The data group sent by the controller and the initial parameters of the camera are obtained.

4. The method according to claim 1, characterized in that The step of obtaining the data set and the initial parameters of the camera includes: When the controller meets preset conditions, a data group sent by the controller after executing a preset operation and initial parameters of the camera are obtained, wherein the preset operation includes: the controller performs image processing on a calibration image to obtain target feature points in the calibration image, and determines a data group of the target feature points.

5. The method according to claim 3 or 4, characterized in that: The satisfying the preset condition includes having an image processing engine.

6. The method according to claim 3 or 4, characterized in that: Meeting the preset condition includes that the maximum computing power provided by the controller exceeds a computing power threshold.

7. The method according to claim 3, characterized in that The camera has a plurality of cameras, the calibration images have a plurality of images, and the image processing is performed on the calibration images to obtain target feature points in the calibration images, including: Performing feature point recognition on the calibration images to determine feature points in each calibration image; Combine one calibration image taken by two adjacent cameras into an image pair; Perform feature point cross-validation on the feature points in the image pair to obtain target feature points.

8. A data processing method, characterized in that: A controller applied to a vehicle, the method comprising: If the controller meets the preset conditions, the controller performs image processing on the acquired calibration image to determine the target feature points in the calibration image, where the calibration image is a picture containing the calibration object acquired based on the camera; Determine a data group according to the target feature points in the calibration image, the data group including pixel coordinates of each target feature point in the calibration image and world coordinates corresponding to the target feature point; sending the data set and the initial parameters of the camera to a processor of a computer so that the processor determines estimated parameters of the camera based on the data set and the initial parameters of the camera; Acquire the estimated parameter sent by the processor.

9. The method according to claim 8, characterized in that Also includes: If the controller does not meet the preset condition, the acquired calibration image is sent to a processor of a computer so that the processor determines the target feature points based on the calibration image; Acquire the target feature point sent by the processor; Determine a data group according to the target feature points in the calibration image, the data group including pixel coordinates of each target feature point in the calibration image and world coordinates corresponding to the target feature point; The data set and initial parameters of the camera are sent to the processor.

10. The method according to claim 8 or 9, characterized in that: The step of determining a data group according to the target feature points in the calibration image comprises: Identifying a reference point in the calibration image, wherein the reference point is a center point of an image area corresponding to an actual reference area; Determine the relative coordinates of each target feature point in the calibration image and the reference point; Determine the world coordinates corresponding to each target feature point in the calibration image according to the world coordinates of the center point of the area where the calibration object is located, the world coordinates of the center point of the actual reference area, and the relative coordinates; Each target feature point in the calibration image and the world coordinates corresponding to the target feature point are combined into a data group.

11. A data processing device, characterized in that: A processor applied to a computer, the device comprising: A data acquisition unit, used to acquire a data group and initial parameters of a camera, wherein the data group includes pixel coordinates of each target feature point in a calibration image and world coordinates corresponding to the target feature point, and the calibration image is a picture of a calibration object captured by the camera; A calculation unit, used for adjusting the initial parameters of the camera to obtain a plurality of different candidate parameters, and calculating an evaluation value corresponding to each candidate parameter based on each candidate parameter and the data group; A camera parameter estimation unit, configured to determine a candidate parameter from a plurality of candidate parameters based on an evaluation value corresponding to each of the candidate parameters as an estimated parameter of the camera; A camera parameter sending unit is used to send the estimated parameters of the camera to a controller of the vehicle.

12. A data processing device, characterized in that: A controller applied to a vehicle, the device comprising: A feature point recognition unit, configured to perform image processing on an acquired calibration image to determine target feature points in the calibration image if the controller meets a preset condition, wherein the calibration image is a picture containing a calibration object acquired based on a camera; A combining unit, configured to determine a data group according to the target feature points in the calibration image, wherein the data group includes pixel coordinates of each target feature point in the calibration image and world coordinates corresponding to the target feature point; a data sending unit, configured to send the data group and the initial parameters of the camera to a processor of a computer, so that the processor determines the estimated parameters of the camera based on the data group and the initial parameters of the camera; A camera parameter acquisition unit is used to acquire the estimated parameters sent by the processor.

13. An electronic device, characterized in that: include: one or more processors; Memory; One or more applications, wherein the one or more applications are stored in the memory, the one or more applications are configured to be executed by the one or more processors, and the one or more applications are configured to execute the method according to any one of claims 1-10.

14. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores program codes, which can be called by a processor to execute the method according to any one of claims 1 to 10.