Camera calibration method, device and system and storage medium
Connecting the calibrated camera and the uncalibrated camera through the network network, using the camera parameters of the calibrated camera for camera calibration, solving the problem of high performance and expensive calibration equipment in the prior art, and achieving efficient and low-cost camera calibration.
Patent Information
- Application Number
- CN202411509559.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-28
- Publication Date
- 2025-02-25
Smart Images

Figure CN119515992A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of camera technology, and more specifically, to a camera calibration method, device, system and storage medium in the field of camera technology. Background Art
[0002] Camera calibration is to determine the conversion relationship between the position (or coordinates) of an object in the world coordinate system and the pixel coordinate system. This conversion relationship can be described by a projection matrix, which includes the camera's intrinsic matrix and extrinsic matrix.
[0003] In the related art, during the camera calibration process, the camera to be calibrated (for example, a gimbal camera) needs to shoot images of different perspectives on the calibration card, and calibrate the feature data and calibration processing of these images through a calibration device (for example, a computer).
[0004] However, in the process of calibration, the calibration equipment has high performance requirements and is expensive, which leads to high costs. In addition, when there are many cameras to be calibrated, the number of calibration equipment is limited and the calibration equipment needs to be operated manually, which results in low camera calibration efficiency. Therefore, how to reduce the cost of calibration and improve the efficiency of camera calibration is a problem that needs to be solved. Summary of the invention
[0005] The present application provides a camera calibration method, device, system and storage medium, which can reduce the cost of calibration work and improve the calibration efficiency of the camera.
[0006] In a first aspect, a camera calibration method is provided, which is applied to a first camera, and the first camera and a second camera are connected via a networking network; wherein the first camera is a calibrated camera, and the second camera is an uncalibrated camera; the method comprises: acquiring at least one image to be calibrated; wherein the at least one image to be calibrated is an image captured by the second camera at different viewing angles; obtaining first feature data for feature data of the at least one image to be calibrated according to camera parameters of the first camera; and sending the first feature data to the second camera, wherein the first feature data is used for calibrating the camera parameters of the second camera.
[0007] In an embodiment of the present application, communication between a first camera and a second camera can be achieved through a networking network; since the first camera is a calibrated camera and the second camera is an uncalibrated camera, by acquiring at least one image to be calibrated of the second camera, the image to be calibrated acquired by the uncalibrated camera (i.e., the second camera) can be sent to the calibrated camera (i.e., the first camera), thereby determining feature data of the image to be calibrated according to the camera parameters of the first camera, obtaining first feature data, and sending the first feature data to the second camera, so that the second camera calibrates the camera parameters of the second camera according to the first feature data. In this solution, since the first camera is used to determine the feature data of the image to be calibrated, and then the obtained first feature data is sent to the second camera, the second camera performs the calibration process; compared with the related art that uses calibration equipment to perform a large amount of complex calibration work, this solution can realize the work of the feature data of the first camera to realize the calibration process of the second camera, so that the computing power resources of the first camera can be used for camera calibration, thereby reducing the burden of the calibration equipment; since this solution does not require a large amount of calibration equipment, and the calibrated camera (first camera) can be used to realize camera calibration. Therefore, this solution can reduce the cost of calibration work and improve the calibration efficiency of the camera.
[0008] In combination with the first aspect, in certain implementations of the first aspect, the first camera is also connected to the calibration device through a networking network; obtaining at least one image to be calibrated includes: receiving first indication information from the calibration device; wherein the first indication information carries a first start identifier, a first end identifier, and identification information of the second camera; the interval between the first start identifier and the first end identifier corresponds to at least one image to be calibrated; and obtaining at least one image to be calibrated from the second camera according to the first start identifier, the first end identifier, and the identification information of the second camera.
[0009] In an embodiment of the present application, a task is assigned to each target first camera through a calibration device, so that each target first camera obtains an image to be calibrated from a second camera according to the first indication information. This can improve the execution efficiency of the target first camera and further improve the calibration efficiency of the camera.
[0010] In combination with the first aspect and the above-mentioned implementation methods, in some implementation methods of the first aspect, the first camera is also connected to the calibration device through a networking network; obtaining at least one image to be calibrated of the second camera includes: receiving second indication information and at least one image to be calibrated from the calibration device; wherein the second indication information is used to indicate feature extraction of at least one image to be calibrated.
[0011] In an embodiment of the present application, a calibration device directly assigns tasks and images to be calibrated to be processed to each target first camera, so that each target first camera can directly process the images to be calibrated distributed by the calibration device. This can improve the execution efficiency of the target first camera, reduce the communication complexity in the networking network, and further improve the calibration efficiency of the camera.
[0012] In combination with the first aspect and the above-mentioned implementation manner, in some implementation manners of the first aspect, before obtaining at least one image to be calibrated of the second camera, the method provided in the embodiment of the present application also includes: obtaining second feature data; based on the second feature data, calibrating the camera parameters of the third camera so that the third camera is converted into the first camera; wherein the third camera is an uncalibrated camera.
[0013] In the embodiments of the present application, after the uncalibrated camera is calibrated, it can be used as the feature data of the first camera for other uncalibrated cameras, thereby improving the reuse rate of the camera and reducing resource consumption.
[0014] In combination with the first aspect and the above-mentioned implementations, in some implementations of the first aspect, the networking network is a POE-based networking network.
[0015] In the embodiments of the present application, a POE-based networking network is adopted so that the device can be connected to a POE switch via a POE network cable, thereby reducing the number of wires, thereby reducing the impact on calibration work and reducing deployment complexity.
[0016] In a second aspect, a camera calibration method is provided, which is applied to a calibration device, wherein the calibration device is connected to at least one first camera and a second camera through a networking network; wherein the first camera is a calibrated camera and the second camera is an uncalibrated camera; the method comprises: in response to a calibration instruction, determining a target first camera among at least one first camera; wherein the calibration instruction is used to instruct to start the calibration of the second camera; sending indication information to the target first camera; wherein the indication information is used for the target first camera to determine feature data of a plurality of images to be calibrated captured by the second camera, wherein the images to be calibrated are images captured by the second camera at different viewing angles; when the second camera completes the calibration according to the feature data, receiving the calibration result from the second camera; wherein the calibration result is used by the user to verify the camera parameters after the calibration processing in the second camera.
[0017] In combination with the second aspect, in certain implementations of the second aspect, the method provided in the embodiments of the present application also includes: determining the identification information of the second camera, the second starting identifier and the second ending identifier; wherein the interval between the second starting identifier and the second ending identifier corresponds to multiple images to be calibrated; in the case where there are multiple target first cameras, according to the number of target first cameras, determining the first starting identifier and the first ending identifier corresponding to each target first camera in the interval between the second starting identifier and the second ending identifier; wherein the interval between the first starting identifier and the first ending identifier corresponds to at least one image to be calibrated; correspondingly, sending indication information to the target first camera, including: sending first indication information to each target first camera; wherein the first indication information carries the identification information of the first starting identifier, the first ending identifier and the second camera.
[0018] In combination with the second aspect and the above-mentioned implementation manner, in some implementation manners of the second aspect, the method provided in the embodiment of the present application also includes: acquiring multiple images to be calibrated of the second camera; in the case where there are multiple target first cameras, determining at least one image to be calibrated corresponding to each target first camera in the multiple images to be calibrated according to the number of target first cameras; correspondingly, sending indication information to the target first camera, including: sending second indication information and at least one image to be calibrated corresponding to each target first camera to each target first camera; wherein the second indication information is used to instruct feature extraction of at least one image to be calibrated.
[0019] In combination with the second aspect and the above-mentioned implementation manner, in some implementation manners of the second aspect, determining a target first camera in at least one first camera includes: determining one or more fourth cameras in at least one first camera; wherein the fourth camera is in an idle state; and determining the target first camera from the one or more fourth cameras according to a preset condition.
[0020] In an embodiment of the present application, the calibration device determines the target first camera according to preset conditions, so that the target first camera can be determined quickly and accurately.
[0021] In combination with the second aspect and the above-mentioned implementation methods, in certain implementation methods of the second aspect, before determining the target first camera in at least one first camera, the method provided in the embodiment of the present application also includes: determining at least one first camera in the networking network; wherein the first camera includes a first camera converted from a third camera; and the third camera is an uncalibrated camera.
[0022] In a third aspect, a first camera is provided, comprising a memory and a processor, wherein the memory is used to store an executable program code, and the processor is used to call and run the executable program code from the memory, so that the first camera executes the camera calibration method in the above-mentioned first aspect or any possible implementation of the first aspect.
[0023] Optionally, the first camera may refer to a camera whose lens has a rotating function; for example, a gimbal camera.
[0024] In a fourth aspect, a calibration device is provided, comprising a memory and a processor, wherein the memory is used to store an executable program code, and the processor is used to call and run the executable program code from the memory, so that the calibration device executes the camera calibration method in the above-mentioned second aspect or any possible implementation of the second aspect.
[0025] Optionally, the calibration device mentioned above may be a computer.
[0026] In a fifth aspect, a camera calibration system is provided, comprising: at least one first camera, a calibration device, and a second camera; the at least one first camera, the calibration device, and the second camera are connected via a networking network. Any of the at least one first camera is used to execute the camera calibration method described in the first aspect or various possible implementations of the first aspect, and the calibration device is used to execute the camera calibration method described in the second aspect or various possible implementations of the second aspect.
[0027] Optionally, the above networking network is a POE-based networking network.
[0028] In a sixth aspect, a computer program product is provided, comprising: a computer program code, which, when executed on a computer, enables the computer to execute the camera calibration method of the first aspect or any possible implementation of the first aspect, or the camera calibration method of the second aspect or any possible implementation of the second aspect.
[0029] In a sixth aspect, a computer-readable storage medium is provided, which stores a computer program code. When the computer program code runs on a computer, the computer executes the camera calibration method in the first aspect or any possible implementation of the first aspect, or the camera calibration method in the second aspect or any possible implementation of the second aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0030] Figure 1 is a schematic diagram of a camera calibration system provided in an embodiment of the present application;
[0031] Figure 2 is a schematic diagram of an interactive process of a camera calibration method provided in an embodiment of the present application;
[0032] Figure 3 is a schematic diagram of a first camera calibration scene provided in an embodiment of the present application;
[0033] Figure 4 is a schematic diagram of a second camera calibration scene provided in an embodiment of the present application;
[0034] Figure 5 is a schematic diagram of a third camera calibration scenario provided in an embodiment of the present application;
[0035] Figure 6 is an interactive flow chart of a camera calibration method provided in an embodiment of the present application;
[0036] Figure 7 is an interactive flow chart of another camera calibration method provided in an embodiment of the present application;
[0037] Figure 8 is a structural schematic diagram of a camera calibration device provided in an embodiment of the present application;
[0038] Fig. 9 is a structural schematic diagram of another camera calibration device provided in an embodiment of the present application;
[0039] Fig.10 It is a structural schematic diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0040] The technical solution in the present application will be described clearly and in detail below in conjunction with the accompanying drawings. In the description of the embodiments of the present application, unless otherwise specified, " / " means or, for example, A / B can mean A or B: "and / or" in the text is only a description of the association relationship of associated objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in the description of the embodiments of the present application, "multiple" means two or more than two.
[0041] In the following, the terms "first" and "second" are used for descriptive purposes only and are not to be understood as suggesting or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features.
[0042] Before introducing the embodiments of the present application, the relevant terms involved in the present application are first explained as follows:
[0043] (1) Camera calibration: used to determine the conversion relationship between the position (or coordinates) of an object in the world coordinate system and the pixel coordinate system. This conversion relationship can be described by a projection matrix, which includes the camera's intrinsic parameter matrix and extrinsic parameter matrix. Usually, the camera's intrinsic parameter matrix is determined by the camera's lens design and manufacturing process and is a known quantity; therefore, the purpose of camera calibration is mainly to determine the camera's extrinsic parameter matrix. The extrinsic parameter matrix indicates the conversion relationship between the camera coordinate system and the world coordinate system. The extrinsic parameter matrix includes the camera's position and attitude; the position can be expressed as the positional relationship between the camera coordinate system and the world coordinate system, and the attitude can include the camera's three rotation angles: pitch, roll, and yaw. Camera calibration is an important part of camera production. Camera production includes processes such as module assembly, finished product assembly, camera calibration, and testing.
[0044] For example, the main purpose of camera calibration is to determine the camera's internal parameters (such as focal length, principal point coordinates) and external parameters (such as the camera's posture, including rotation matrix and translation vector).
[0045] Exemplarily, the calibration work of camera calibration includes: flow pulling, journey movement, corner calculation, calibration, rectification and standard verification.
[0046] Specifically, streaming refers to obtaining a series of image sequences. Travel movement refers to the camera lens shooting in a specific direction (for example, from left to right, from top to bottom, from panoramic to close-up), thereby obtaining a series of images at different perspectives. Corner point calculation is a method of feature extraction, which refers to detecting corner points in an image (i.e., a significant feature point in the image, such as the intersection of cross lines or edges in the image); after detecting corner points in the image, they are used as the basis for capturing the correspondence between the image and a known pattern (such as a calibration plate, chessboard) for subsequent calibration and correction processing. Calibration processing refers to calculating the internal and external parameters of the camera based on the detected corner points, which involves solving multiple perspective transformations to match the known points on the calibration plate with the corner points in the image. Correction processing refers to using these parameters to correct the image after obtaining the internal and external parameters of the camera, so that the straight lines in the image are consistent with the straight lines in the real image. Standard verification refers to verifying whether the calibration processing is accurate by comparing the actual image with the corrected image to evaluate the accuracy of the camera parameters.
[0047] (2) Pan-Tilt Camera: Also known as Pan-Tilt-Zoom (PTZ) camera, it is a camera mounted on a pan-tilt that can rotate horizontally and vertically.
[0048] For example, the gimbal camera has three aspects of motion capabilities:
[0049] Horizontal rotation (Pan): The gimbal camera can rotate on the horizontal axis to move the field of view left and right.
[0050] Vertical rotation (Tilt): The gimbal camera can move up and down, so that the camera is raised or pressed down to adjust the field of view in the vertical direction.
[0051] Zoom: The PTZ camera also has the function of zooming in and out. By adjusting the focal length of the lens, the target object can be enlarged or reduced in observation.
[0052] (3) Calibration chart: A graphic pattern used in the camera calibration process that allows the computer to estimate various camera parameters based on the known geometric relationships between the patterns. Calibration charts are usually flat and have regular patterns on them that can help detect and describe points, lines, and shapes in an image.
[0053] Exemplarily, the calibration chart includes:
[0054] a. Chessboard: This is one of the most common calibration charts. It usually consists of alternating black and white squares with a regular pattern. By detecting the corner points of the chessboard, the camera's projection distortion and intrinsic parameters can be calculated.
[0055] b. Arbitrarily-Sized Circle-based Unobservant-Occluded Marker (ARCUO) code: A modern 2D marker pattern used in camera calibration and 3D reconstruction that allows objects to be automatically detected and calibrated within the camera's field of view, even if parts of the calibration pattern are obscured or invisible in the view. ARCUO codes are commonly used in robot vision, augmented reality, virtual reality, machine learning, and sensor networks.
[0056] c. Circular Grid: This calibration chart has more advantages than the checkerboard calibration chart, such as being insensitive to spot size and being able to better expand the circle in the camera's field of view.
[0057] d. Barcode pattern: Some calibration patterns use barcodes, whose edges can be detected more easily and are suitable for both black and white and color camera systems.
[0058] (4) Power over Ethernet (POE): refers to a technology that transmits power through network cables, using existing Ethernet to simultaneously transmit data and power IP terminal devices (such as IP phones, APs, IP cameras, etc.) through network cables. POE is also known as a power supply system based on a local area network (Power over LAN, PoL) or Active Ethernet, and is sometimes referred to as Power over Ethernet.
[0059] (5) POE switch: A network device that can transmit power and data through a standard Ethernet cable. This technology allows network cables to supply power while remotely connecting computer devices (such as PTZ cameras, webcams, etc.) for communication, allowing these devices to no longer require independent power cables.
[0060] (6) USB Video Class (UVC) cable: A USB class data cable used for video capture devices. It defines a standard interface for communicating with video capture devices (such as PTZ cameras, webcams, etc.) through a USB interface. This standard allows different devices and operating systems to record video in a consistent manner.
[0061] In the related art, during the camera calibration process, the camera to be calibrated (for example, a gimbal camera) needs to capture images of different perspectives of the calibration object (for example, a calibration card), and calibrate the feature data and calibration processing of these images through a calibration device (for example, a computer).
[0062] In actual application scenarios, take the camera to be calibrated as a gimbal camera as an example: the calibration device instructs the gimbal camera's lens to move from left to right to shoot the calibration chart to obtain a series of images; then extract the feature points (corner points) in the calibration chart from the series of images, which is the process of corner point calculation. This process requires a lot of image processing calculations and is also a key process that affects the efficiency of camera calibration.
[0063] During the calibration process, the calibration equipment has a large amount of data and is complex, so it has high performance requirements and is expensive, which leads to high costs. In addition, when there are a large number of cameras to be calibrated, the number of calibration equipment is limited and the calibration equipment needs to be manually operated, resulting in low camera calibration efficiency.
[0064] Therefore, how to reduce the cost of calibration work and improve the efficiency of camera calibration is a problem that needs to be solved at present.
[0065] In view of this, the present application provides a camera calibration method, device, system and storage medium. In the embodiments of the present application, a calibrated camera and a camera to be calibrated are networked. The calibrated camera uses the feature data of the image captured by the camera to be calibrated (that is, the feature data is determined by the calibrated camera). The camera to be calibrated performs calibration processing based on the feature data determined by the calibrated camera. In this way, the computing power resources of the calibrated camera can be utilized, thereby reducing the burden on the calibration equipment and improving the calibration efficiency of the camera.
[0066] In order to illustrate the technical solution described in this application, a specific embodiment is used below to illustrate. First, a camera calibration system of an embodiment of this application is introduced.
[0067] Figure 1 is a schematic diagram of a camera calibration system provided in an embodiment of the present application.
[0068] Exemplarily, the camera calibration system 100 includes: a calibration device 110, at least one first camera 120, and at least one second camera 130. The calibration device 110, each first camera 120, and each second camera 130 may be communicatively connected via a networking network.
[0069] Exemplarily, the calibration device 110 can be used to detect a newly connected camera (e.g., a second camera) in the networking network, and can assign a device address to the newly connected camera to determine the location of the newly connected camera in the networking network; the calibration device 110 can also be used to assign tasks to the first camera 120; for details, please refer to the camera calibration method provided below, which will not be repeated here.
[0070] Exemplarily, the calibration device 110 can be a computer, such as a desktop computer, a portable computer, a network server, a PDA, a mobile phone, a tablet computer, a wireless terminal device, a communication device, etc.; or, the calibration device 110 can also be a server, and the embodiments of the present application do not impose specific restrictions on this.
[0071] The first camera 120 is a camera that has completed calibration; the first camera 120 can be used to calculate feature data (for example, corner point calculation) of an image captured by the second camera 130 .
[0072] The second camera 130 is a camera that has not completed calibration. The second camera 130 can be used to collect images at different viewing angles.
[0073] Exemplarily, the first camera 120 and the second camera 130 may be a pan-tilt camera, a panoramic camera, or a camera built into a terminal device, etc., and the present application embodiment does not specifically limit this. The following description may take a pan-tilt camera as an example to describe the present application embodiment.
[0074] Exemplarily, the camera calibration system 100 further includes: a switch 140 . The calibration device 110 , each first camera 120 , and each second camera 130 are respectively connected to the switch 140 to access the local area network formed by the switch 140 .
[0075] Exemplarily, the switch 140 may be a POE switch. The calibration device 110, each of the first camera 120 and the second camera 130 may be connected to the switch 140 via a POE network cable. In this way, the POE network cable may be used to power the devices and enable communication between the devices.
[0076] Optionally, a wireless communication connection can also be achieved between the calibration device 110, at least one first camera 120 and the second camera 130, such as a Wi-Fi (Wireless Fidelity) connection, a Bluetooth (BlueTooth, BT) connection, a near field communication (Near Field Communication, NFC), etc., which is not specifically limited in the embodiments of the present application.
[0077] Exemplarily, each device in the camera calibration system 100 (calibration device 110, first camera 120 and second camera 130) has a device address; the device address is a unique digital label that identifies a device in a network to indicate the address of the device in the network. The device address can be an Internet Protocol Address (IP address); for example, the IP address of the second camera 130 is: 192.168.1.0. The device address can also be a Media Access Control Address (MAC address); for example, the MAC address of the second camera 130 is: 00:1A:2B:3C:4D:5E.
[0078] Combination Figure 1 The architecture is shown, and the camera calibration method provided in the embodiment of the present application is described in detail below.
[0079] It should be understood that the embodiments of the present application do not particularly limit the executor of the camera calibration method, as long as communication can be performed according to the camera calibration method of the embodiments of the present application by running a program that records the code of the camera calibration method of the embodiments of the present application.
[0080] Figure 2 It is a schematic diagram of the interactive process of a camera calibration method provided in an embodiment of the present application.
[0081] like Figure 2 As shown, the camera calibration method 200 includes: S210 to S270, and S210 to S270 are described in detail below.
[0082] S210. The calibration device determines a target first camera among the at least one first camera in response to the calibration instruction.
[0083] The calibration instruction is used to instruct to start the calibration of the second camera. Exemplarily, the calibration instruction may be an instruction generated by a user performing a start operation on the calibration device.
[0084] Optionally, the calibration instruction may also be an instruction automatically sent to the calibration device when the second camera is connected to the networking network; the embodiment of the present application does not impose any specific restrictions on this.
[0085] Optionally, before S210, the embodiment of the present application also includes: the second camera accesses the networking network.
[0086] As an example, the networking network is a POE-based networking network. For example, at least one first camera and a calibration device can be connected to a POE switch via a POE cable to access the network (ie, the networking network) formed by the POE switch.
[0087] Exemplarily, the calibration device may determine the target first camera in at least one first camera by broadcasting or multicasting.
[0088] It is understandable that in the related art, each device (such as calibration equipment, second camera, etc.) needs to be equipped with an Ethernet cable, a power cable and a UVC cable to realize the functions of network communication, power supply and data transmission between devices. Since the related art requires three wires, it is easy to touch the camera and cause the camera angle to deviate, thereby affecting the calibration work. The embodiment of the present application adopts a POE-based networking network so that the device can be connected to a POE switch via a POE network cable, thereby reducing the number of wires, thereby reducing the impact on the calibration work and reducing the deployment cost.
[0089] Exemplarily, the target first camera is a camera of at least one first camera that acquires feature data of an image captured by the second camera.
[0090] Exemplarily, the second camera can be connected to a POE switch via a POE cable, and then access the network formed by the POE switch (i.e., the networking network). When the second camera is connected to the networking network, the calibration device can detect that the second camera is connected to the networking network, and configure a device address for the second camera so that the device addresses of the second camera and other devices in the networking network do not conflict with each other.
[0091] The number of second cameras connected to the networking network is not specifically limited in this embodiment of the present application.
[0092] It should be explained that in the embodiment of the present application, when the second camera is connected to the networking network, there may be other second cameras undergoing camera calibration in the networking network, or there may be no second camera undergoing camera calibration. The embodiment of the present application does not impose any specific restrictions on this.
[0093] The number of target first cameras determined by the calibration device for the second camera is not specifically limited in the present embodiment. For example, the second camera may correspond to one target first camera or may correspond to multiple target first cameras.
[0094] Regarding the method for determining the number of target first cameras, it can be determined by the number of images to be calibrated collected by the second camera (for example, the second camera collects 60 images to be calibrated; each first camera can process 20 images to be calibrated, so the number of target first cameras is 3); it can also be determined according to the preset number preconfigured by the calibration device (for example, the preset number is 2); it can also be determined according to the number of first cameras in the current networking network that are idle (for example, when the number of first cameras in the current networking network that are idle is 1, the first camera is used as the target first camera).
[0095] As an example, Figure 3 As shown, the network includes a calibration device and six first cameras (first camera 1 to first camera 6). When the calibration device detects that the second camera 1 is connected to the network, it determines that the first camera in the idle state is: first camera 1 to first camera 6 from the first cameras 1 to first cameras 6; then, it determines the target first camera (first camera 1, first camera 2 and first camera 3) from the first cameras 1 to first cameras 6.
[0096] As another example, Figure 4 As shown, the network includes a calibration device, six first cameras (first camera 1 to first camera 6) and a second camera 1. Among them, the second camera 1 performs camera calibration with the first cameras 1 to first camera 2. When the calibration device detects that the second camera 2 is connected to the network, it determines that the first cameras in the idle state from the first cameras 1 to first camera 6 are: first camera 3 to first camera 6; then, it determines the target first camera (first camera 3 and first camera 4) from the first cameras 3 to first camera 6.
[0097] As another example, Figure 5As shown, the network includes a calibration device and six first cameras (first camera 1 to first camera 6). When the calibration device detects that the second camera 1 and the second camera 2 are connected to the network, it determines from the first cameras 1 to the first cameras 6 that the first cameras in the idle state are: first camera 1 to first camera 6; then, it determines from the first cameras 1 to the first cameras 6 that the target first camera 1 (first camera 1 and first camera 2) corresponding to the second camera 1 and the target first camera 2 (first camera 3 and first camera 4) corresponding to the second camera 2.
[0098] Regarding how the calibration device determines the target first camera among at least one first camera, reference may be made to the following embodiments, which will not be described in detail here.
[0099] S220. The calibration device sends instruction information to the target first camera; correspondingly, the target first camera receives the instruction information from the calibration device.
[0100] The indication information is used by the target first camera to determine feature data of a plurality of images to be calibrated captured by the second camera. The images to be calibrated are images captured by the second camera at different viewing angles.
[0101] Exemplarily, different viewing angles may refer to the second camera photographing the target object from different angles (such as a viewing angle from left to right relative to the target object, or a viewing angle from top to bottom relative to the target object, or from a panoramic view to a close-up). The target object may be a calibration chart. In the case where the second camera is a gimbal camera, multiple images to be calibrated may be captured by adjusting the lens angle of the gimbal camera.
[0102] Exemplarily, the calibration chart may adopt ARCUO code, or other calibration charts, such as a checkerboard board, etc. The present application embodiment takes the calibration chart as ARCUO code as an example for explanation. The present application embodiment does not limit the size of the calibration chart. For example, the size of the calibration chart may be 2cm*10cm.
[0103] For example, the second camera can be located in front of the calibration chart. The second camera can adjust the lens to capture the images to be calibrated at different viewing angles, so that the position of any feature point in the calibration chart at different viewing angles can be obtained to achieve accurate recognition and correction of image distortion caused by lens characteristics, thereby improving the accuracy and reliability of camera calibration.
[0104] It should be explained that, when there are multiple target first cameras, the calibration device needs to send indication information to each target first camera.
[0105] Exemplarily, when there are multiple target first cameras, each target first camera may respectively determine feature data of some of the images to be calibrated among the multiple images to be calibrated.
[0106] For example, when there are multiple target first cameras, the number of images to be calibrated corresponding to each target first camera may be the same or different, and the embodiment of the present application does not impose any specific limitation on this. In other words, the amount of tasks that two target first cameras are responsible for processing the images to be calibrated captured by the same second camera may be the same or different.
[0107] As an example, Figure 3 As shown, the second camera 1 collects 30 images to be calibrated (images a1 to a30 to be calibrated). The calibration device sends instruction information 1 to the first camera 1, sends instruction information 2 to the first camera 2, and sends instruction information 3 to the first camera 3. Instruction information 1 is used to instruct the first camera 1 to determine the feature data of images a1 to a10 to be calibrated; instruction information 2 is used to instruct the first camera 2 to determine the feature data of images a11 to a20 to be calibrated; instruction information 3 is used to instruct the first camera 3 to determine the feature data of images a21 to a30 to be calibrated.
[0108] As another example, Figure 4 As shown, the second camera 2 collects 20 images to be calibrated (images to be calibrated b1 to b20). The calibration device sends instruction information 1 to the first camera 3 and sends instruction information 2 to the first camera 3. Instruction information 1 is used to instruct the first camera 3 to determine the feature data of images to be calibrated b1 to b10; instruction information 2 is used to instruct the first camera 4 to determine the feature data of images to be calibrated b11 to b20.
[0109] As another example, Figure 5 As shown, the second camera 1 collects 20 images to be calibrated (images c1 to c20 to be calibrated); the second camera 2 collects 40 images to be calibrated (images d1 to d40 to be calibrated). The calibration device sends instruction information 1 to the first camera 1 and sends instruction information 2 to the first camera 2. Instruction information 1 is used to instruct the first camera 1 to determine the feature data of images c1 to c10 to be calibrated; instruction information 2 is used to instruct the first camera 2 to determine the feature data of images c11 to c20 to be calibrated. The calibration device sends instruction information 3 to the first camera 3 and sends instruction information 4 to the first camera 4. Instruction information 3 is used to instruct the first camera 3 to determine the feature data of images d1 to d25 to be calibrated; instruction information 4 is used to instruct the first camera 4 to determine the feature data of images d26 to d40 to be calibrated.
[0110] It should be explained that the calibration device does not limit the way in which the images to be calibrated are allocated to each target first camera. For example, when multiple images to be calibrated are collected from left to right by the second camera, the calibration device can divide the multiple images to be calibrated into equal parts (e.g., four equal parts) from left to right according to the number of target first cameras (e.g., 4).
[0111] S230. The target first camera acquires at least one image to be calibrated.
[0112] As an example, the target first camera may obtain at least one image to be calibrated from the second camera.
[0113] As another example, the target first camera may also obtain at least one image to be calibrated from other devices (eg, a calibration device).
[0114] For the specific implementation of S230, reference may be made to the following embodiments, which will not be described in detail here.
[0115] In actual application scenarios, the image to be calibrated may be a frame in a "luminance+chrominance" format (YUV format).
[0116] S240. The target first camera determines feature data of at least one image to be calibrated according to camera parameters of the target first camera to obtain first feature data.
[0117] Exemplarily, the feature data of at least one image to be calibrated may be determined by calculating corner points of the at least one image to be calibrated.
[0118] As an example, the target first camera can perform distortion correction on the image through the distortion parameters in the target first camera. Distortion correction can reduce the influence of lens distortion on corner point detection. Then, the corner points in the image are identified by using the corner point detection algorithm; the detected corner points are accurately located to obtain their two-dimensional coordinates. Through the images to be calibrated under different viewing angles, the same corner points in different images to be calibrated can be matched. Afterwards, according to the camera parameters in the target first camera, such as internal parameters (focal length, principal point coordinates) and external parameters (camera posture), the image coordinates of the corner points are converted into camera coordinates (i.e., the first feature data).
[0119] Regarding the specific steps of S240, reference may be made to the method for determining feature data (corner point calculation) of at least one image to be calibrated described in the prior art, which will not be described in detail here.
[0120] Exemplarily, when there are multiple target first cameras, the target first cameras may process corresponding images to be calibrated simultaneously, so that the images to be calibrated may be calculated concurrently to improve the efficiency of camera calibration for the second camera.
[0121] S250. The target first camera sends the first feature data to the second camera; correspondingly, the second camera receives the first feature data from the target first camera.
[0122] S260. The second camera calibrates the camera parameters of the second camera according to all the acquired feature data.
[0123] Exemplarily, the camera parameters of the second camera are uncalibrated camera parameters. The second camera can calibrate all feature data using a calibration algorithm (eg, Zhang Zhengyou method) to obtain the camera parameters of the second camera.
[0124] For the specific steps of S260, reference may be made to the calibration processing method described in the prior art, which will not be described in detail here.
[0125] It can be understood that in the camera calibration method provided in the embodiment of the present application, the feature data is determined by the target first camera (the camera that has completed the calibration), and the parameter calibration process is performed by the second camera (the camera that has not completed the calibration), both of which utilize the computing power resources of the camera, thereby reducing the workload of the calibration equipment.
[0126] S270. When the second camera completes calibration according to the feature data, the second camera sends the calibration result to the calibration device; correspondingly, the calibration device receives the calibration result from the second camera.
[0127] The calibration result is used by the user to check the camera parameters after calibration in the second camera.
[0128] Exemplarily, the calibration result may include camera parameters after the calibration process in the second camera. The calibration device may display the camera parameters after the calibration process in the second camera to the user to verify whether the calibration process is accurate, so as to evaluate the accuracy of the camera parameters.
[0129] In an embodiment of the present application, communication between a first camera and a second camera can be achieved through a networking network; since the first camera is a calibrated camera and the second camera is an uncalibrated camera, by acquiring at least one image to be calibrated of the second camera, the image to be calibrated acquired by the uncalibrated camera (i.e., the second camera) can be sent to the calibrated camera (i.e., the first camera), thereby determining feature data of the image to be calibrated according to the camera parameters of the first camera, obtaining first feature data, and sending the first feature data to the second camera, so that the second camera calibrates the camera parameters of the second camera according to the first feature data. In this solution, since the first camera is used to determine the feature data of the image to be calibrated, and then the obtained first feature data is sent to the second camera, the second camera performs the calibration process; compared with the related art that uses calibration equipment to perform a large amount of complex calibration work, this solution can realize the work of the feature data of the first camera to realize the calibration process of the second camera, so that the computing power resources of the first camera can be used for camera calibration, thereby reducing the burden of the calibration equipment; since this solution does not require a large amount of calibration equipment, and the calibrated camera (first camera) can be used to realize camera calibration. Therefore, this solution can reduce the cost of calibration work and improve the calibration efficiency of the camera.
[0130] In a possible embodiment of the present application, S210 includes: the calibration device determines one or more fourth cameras from at least one first camera; the calibration device determines a target first camera from the one or more fourth cameras according to a preset condition; wherein the fourth camera is in an idle state;
[0131] The preset condition is any one of the following: a camera specified by a user; a camera with the longest running time in the networking network; a camera with a camera identification that meets the requirements.
[0132] Exemplarily, the fourth camera in an idle state may refer to the first camera that is not performing feature extraction; optionally, the fourth camera in an idle state may refer to the first camera that is not performing any other work (eg, capturing images).
[0133] Exemplarily, the target first camera may refer to a camera that meets a preset condition among the one or more fourth cameras.
[0134] First, the preset conditions are user-specified cameras.
[0135] Exemplarily, in a networking network, the target first camera can be selected from one or more fourth cameras by manual setting by the user. For example, after the calibration device determines one or more fourth cameras, the one or more fourth cameras are displayed to the user for selection by the user. The calibration device can be displayed to the user through a display screen configured by the calibration device, or the user can be notified by voice, and the embodiments of the present application do not impose specific restrictions on this.
[0136] For example, Figure 3 As shown, the calibration device determines and displays one or more fourth cameras (first camera 1 to first camera 6) to the user. The user selects first camera 1, first camera 2 and first camera 3, so that the calibration device determines the target first cameras as: first camera 1, first camera 2 and first camera 3.
[0137] For example, Figure 4 As shown, the calibration device determines and displays one or more fourth cameras (first camera 3 to first camera 6) to the user. The user selects first camera 3 and first camera 4, so that the calibration device determines the target first cameras as: first camera 3 and first camera 4.
[0138] For example, Figure 5 As shown, the calibration device determines and displays one or more fourth cameras, first camera 1 to first camera 6, to the user. The user selects first camera 1 and first camera 2 for second camera 1, and selects first camera 3 and first camera 4 for second camera 2, so that the calibration device determines that the target first cameras corresponding to first camera 1 are: first camera 1 and first camera 2, and the target first cameras corresponding to second camera 2 are: first camera 3 and first camera 4.
[0139] Second, the preset condition is the camera that has been running the longest in the networking network.
[0140] It should be explained that the start-up time of each first camera in the network may be different. Figure 3 As shown in FIG. 1 , among the first cameras 1 to 6, since the running time of the first camera 1, the first camera 2 and the first camera 3 are in the top three, the calibration device determines that the target first cameras are: the first camera 1, the first camera 2 and the first camera 3. For another example, Figure 4 As shown in FIG. 1 , among the first cameras 3 to 6, since the running time of the first camera 3 and the first camera 4 are in the first two, the calibration device determines that the target first cameras are: the first camera 3 and the first camera 4. For another example, Figure 5As shown: among the first cameras 1 to 6, since the running time of the first cameras 1 to 4 are in the top four, the calibration device determines that the target first cameras corresponding to the first camera 1 are: the first camera 1 and the first camera 2, and the target first cameras corresponding to the second camera 2 are: the first camera 3 and the first camera 4.
[0141] Third, the preset condition is that the camera identification meets the requirements.
[0142] As an example, the camera identifier may refer to the device address (e.g., IP address) of the camera. The camera whose device address meets the requirements may refer to the camera whose IP address is closest to the IP address of the calibration device, or the camera whose device address meets the requirements may refer to the camera whose IP address is the smallest. Figure 3 Take the IP address of each first camera as an example:
[0143] Table 1
[0144] equipment IP address Calibration equipment 192.168.0.0 First Camera 1 192.168.1.101 First Camera 2 192.168.1.102 First Camera 3 192.168.1.103 First Camera 4 192.168.1.104 First Camera 5 192.168.1.105 First Camera 6 192.168.1.106
[0145] Exemplarily, since the IP addresses of the first camera 1, the first camera 2, and the first camera 3 are closest to the calibration device, it can be determined that the first camera 1, the first camera 2, and the first camera 3 are the target first cameras. Alternatively, since the IP addresses of the first camera 1, the first camera 2, and the first camera 3 are the smallest, it can be determined that the first camera 1, the first camera 2, and the first camera 3 are the target first cameras.
[0146] As another example, the camera identifier may refer to the priority of the first camera. The priority may be represented by a number, and the priority that meets the requirements may also be the one with the smallest numerical value. For example, the priority may range from 0 to 255. The calibration device may configure a priority for each first camera in the network. For example, Figure 4 For example: the priority of the first camera 1 is 0, the priority of the first camera 2 is 2, the priority of the first camera 3 is 4, the priority of the first camera 4 is 6, the priority of the first camera 5 is 8, and the priority of the first camera 6 is 10. Since the fourth camera is the first camera 3 to the first camera 6. Since the priority of the first camera 3 is 4 and the priority of the first camera 4 is 6, it can be determined that the first camera 3 and the first camera 4 are the target first cameras.
[0147] In an embodiment of the present application, the calibration device determines the target first camera according to preset conditions, so that the target first camera can be determined quickly and accurately.
[0148] In a possible embodiment of the present application, the method provided in the embodiment of the present application also includes: the calibration device determines the identification information, the second start identifier and the second end identifier of the second camera. When there are multiple target first cameras, the calibration device determines the first start identifier and the first end identifier corresponding to each target first camera in the interval between the second start identifier and the second end identifier according to the number of target first cameras. Accordingly, S220 includes: the calibration device sends the first indication information to the target first camera. Accordingly, the target first camera receives the first indication information from the calibration device. S230 includes: the target first camera obtains at least one image to be calibrated from the second camera according to the first start identifier, the first end identifier and the identification information of the second camera.
[0149] The identification information of the second camera is used to indicate the position of the second camera in the network; the interval between the second start identification and the second end identification corresponds to a plurality of images to be calibrated; and the interval between the first start identification and the first end identification corresponds to at least one image to be calibrated.
[0150] Among them, the first indication information carries a first starting identifier, a first ending identifier and identification information of the second camera; the interval between the first starting identifier and the first ending identifier corresponds to at least one image to be calibrated; the identification information of the second camera is used to indicate the position of the second camera in the networking network.
[0151] Exemplarily, the identification information of the second camera may be a device address (eg, IP address or MAC address) of the second camera in the networking network, which may indicate the location of the second camera in the networking network.
[0152] As an example, the second start mark may be used to indicate the start time (time stamp) of the second camera in taking a series of images to be calibrated. The second end mark may be used to indicate the end time (time stamp) of the second camera in taking a series of images to be calibrated.
[0153] For example, the second camera collects 40 images to be calibrated from 12:00:01 to 12:00:30. Among them, 12:00:01 (the second start mark) is the first of the 30 images to be calibrated, and 12:00:30 (the second end mark) is the last of the 30 images to be calibrated. In other words, each image to be calibrated can correspond to a time (timestamp).
[0154] As another example, the second start mark may be used to indicate the start sequence number of the second camera in a series of images to be calibrated. The second end mark may be used to indicate the end sequence number of the second camera in a series of images to be calibrated.
[0155] For example, the second camera collects 30 images to be calibrated (images a1 to a30 to be calibrated). Image a1 to be calibrated is the first of the 30 images to be calibrated, and the second start mark is a1; image a30 to be calibrated is the last of the 30 images to be calibrated, and the second end mark is a30.
[0156] Exemplarily, the at least one image to be calibrated corresponding to the interval between the first start mark and the first end mark may be an image whose feature data needs to be determined among the multiple images to be calibrated allocated to the target first camera.
[0157] As an example, the first start identifier can be used to indicate the start time (timestamp) of at least one image to be calibrated for which the target first camera needs to determine feature data. The first end identifier can be used to indicate the end time (timestamp) of at least one image to be calibrated for which the target first camera needs to determine feature data.
[0158] For example, the second camera collects 30 images to be calibrated from 12:00:01 to 12:00:30. The first start mark for determining feature data assigned to the target first camera is 12:00:01, and the first end mark is 12:00:21. Therefore, the target first camera needs to determine the feature data of the 20 images to be calibrated included in the time period from 12:00:01 to 12:00:20.
[0159] As another example, the first start identifier may be used to indicate the start sequence number of at least one image to be calibrated for which the target first camera needs to determine feature data. The first end identifier may be used to indicate the end sequence number of at least one image to be calibrated for which the target first camera needs to determine feature data.
[0160] For example, the second camera collects 30 images to be calibrated (images a1 to 30 to be calibrated). The first start identifier of the target first camera that needs to determine the feature data is a1, and the first end identifier is a20. Therefore, the target first camera needs to determine the feature data of images a1 to a20 to be calibrated.
[0161] Exemplarily, through the identification information of the second camera carried by the first indication information, the target first camera can determine the location of the device that acquires the image to be calibrated; through the first start identifier and the first end identifier carried by the first indication information, the target first camera can determine which images to be calibrated are acquired.
[0162] As an example, Figure 3As shown, the calibration device determines that the target first cameras corresponding to the second camera 1 are the first camera 1, the first camera 2 and the first camera 3. The second camera 1 collects 30 images to be calibrated (image a1 to be calibrated) from 12:00:01 to 12:00:30; among which, the image a1 to be calibrated corresponds to 12:00:01, and the image a30 to be calibrated corresponds to 12:00:30. At least one image to be calibrated assigned by the calibration device to the first camera 1 is: image a1 to image a10 to be calibrated corresponding to 12:00:01 to 12:00:10; at least one image to be calibrated assigned by the calibration device to the first camera 2 is: image a11 to image a20 to be calibrated corresponding to 12:00:11 to 12:00:20; at least one image to be calibrated assigned by the calibration device to the first camera 3 is: image a21 to image a30 to be calibrated corresponding to 12:00:21 to 12:00:30. Therefore, the calibration device sends the first indication information 1 to the first camera 1, and the first indication information 1 carries the device address A1 of the second camera 1, as well as the first start identifier 12:00:01 and the first end identifier 12:00:10; the calibration device sends the first indication information 2 to the first camera 2, and the first indication information 2 carries the device address A1 of the second camera 1, as well as the first start identifier 12:00:11 and the first end identifier 12:00:20; the calibration device sends the first indication information 3 to the first camera 3, and the first indication information 3 carries the device address A1 of the second camera 1, as well as the first start identifier 12:00:21 and the first end identifier 12:00:30. The first camera 1 obtains the images a1 to a10 to be calibrated from the second camera 1 according to the first indication information 1; the first camera 2 obtains the images a11 to a20 to be calibrated from the second camera 1 according to the first indication information 2; the first camera 3 obtains the images a21 to a30 to be calibrated from the second camera 1 according to the first indication information 3.
[0163] As another example, Figure 4As shown, the calibration device determines that the target first cameras corresponding to the second camera 2 are the first camera 3 and the first camera 4. The second camera 2 collects 20 images to be calibrated (image b1 to be calibrated ... Therefore, the calibration device sends the first indication information 1 to the first camera 3, and the first indication information 1 carries the device address B1 of the second camera 2, as well as the first start mark 13:00:01 and the first end mark 13:00:10; the calibration device sends the first indication information 2 to the first camera 4, and the first indication information 2 carries the device address B1 of the second camera 2, as well as the first start mark 13:00:11 and the first end mark 13:00:20. The first camera 3 obtains the to-be-calibrated images b1 to b10 from the second camera 2 according to the first indication information 1; the first camera 4 obtains the to-be-calibrated images b11 to b20 from the second camera 2 according to the first indication information 2.
[0164] As another example, Figure 5As shown, the calibration device determines that the target first cameras corresponding to the second camera 1 are the first camera 1 and the first camera 2; the target first cameras corresponding to the second camera 2 are the first camera 3 and the first camera 4. The second camera 1 collects 20 images to be calibrated (images to be calibrated c1 to c20) from 14:00:01 to 14:00:20; wherein the image to be calibrated c1 corresponds to 14:00:01, and the image to be calibrated c20 corresponds to 14:00:20. The second camera 2 collects 40 images to be calibrated (images to be calibrated d1 to d40) from 15:00:01 to 15:00:40; wherein the image to be calibrated d1 corresponds to 15:00:01, and the image to be calibrated d40 corresponds to 15:00:40. At least one image to be calibrated assigned by the calibration device to the first camera 1 is: images c1 to c10 to be calibrated corresponding to 14:00:01 to 14:00:10; at least one image to be calibrated assigned by the calibration device to the first camera 2 is: images c11 to c20 to be calibrated corresponding to 14:00:11 to 14:00:20. At least one image to be calibrated assigned by the calibration device to the first camera 3 is: images d1 to d25 to be calibrated corresponding to 15:00:01 to 15:00:25; at least one image to be calibrated assigned by the calibration device to the first camera 4 is: images d26 to d40 to be calibrated corresponding to 15:00:26 to 15:00:40. Therefore, the calibration device sends the first indication information 1 to the first camera 1, and the first indication information 1 carries the device address C1 of the second camera 1 as well as the first start identifier 14:00:01 and the first end identifier 14:00:10; the calibration device sends the first indication information 2 to the first camera 2, and the first indication information 2 carries the device address C1 of the second camera 1 as well as the first start identifier 14:00:11 and the first end identifier 14:00:20; the calibration device sends the first indication information 3 to the first camera 3, and the first indication information 3 carries the device address D1 of the second camera 2 as well as the first start identifier 15:00:01 and the first end identifier 15:00:25; the calibration device sends the first indication information 4 to the first camera 4, and the first indication information 4 carries the device address D1 of the second camera 2 as well as the first start identifier 15:00:26 and the first end identifier 15:00:40. The first camera 1 obtains the to-be-calibrated images c1 to c10 from the second camera 1 according to the first indication information 1; the first camera 2 obtains the to-be-calibrated images c11 to c20 from the second camera 1 according to the first indication information 2. The first camera 3 obtains the to-be-calibrated images d1 to d25 from the second camera 2 according to the first indication information 3; the first camera 4 obtains the to-be-calibrated images d26 to d40 from the second camera 2 according to the first indication information 4.
[0165] In an embodiment of the present application, a task is assigned to each target first camera through a calibration device, so that each target first camera obtains an image to be calibrated from a second camera according to the first indication information. This can improve the execution efficiency of the target first camera and further improve the calibration efficiency of the camera.
[0166] In a possible embodiment of the present application, the method provided in the embodiment of the present application also includes: the calibration device obtains multiple images to be calibrated of the second camera. When there are multiple target first cameras, the calibration device determines at least one image to be calibrated for feature extraction of each target first camera from the multiple images to be calibrated according to the number of target first cameras. S220 includes: the calibration device sends second indication information to each target first camera; accordingly, the target first camera receives the second indication information of the calibration device. S230 includes: the calibration device sends at least one image to be calibrated corresponding to each target first camera to each target first camera; accordingly, the target first camera receives at least one image to be calibrated from the calibration device.
[0167] The second indication information is used to indicate the determination of feature data of at least one image to be calibrated.
[0168] It should be explained that, in the embodiments of the present application, the order in which the calibration device can send the second indication information and the at least one image to be calibrated to the target first camera is not specifically limited in the present application. The calibration device can send at least one image to be calibrated to the target first camera after sending the second indication information to the target first camera; of course, the calibration device can also send the second indication information to the target first camera after sending at least one image to be calibrated to the target first camera.
[0169] As an example, the second indication information may carry an instruction to instruct the target first camera to perform feature extraction. Upon receiving the second indication information and at least one image to be calibrated, the target first camera may directly perform feature extraction on the at least one image to be calibrated, thereby reducing judgment logic.
[0170] As another example, the second indication information may carry an instruction to instruct the target first camera to perform feature extraction, and an identifier of at least one image to be calibrated. Upon receiving the second indication information and at least one image to be calibrated, the target first camera may determine that the object to be feature extracted is at least one image to be calibrated; then, the step of extracting features from at least one image to be calibrated is performed, which may improve the accuracy of the feature extraction step.
[0171] Exemplarily, when the calibration device detects that the second camera is connected to the networking network, it can obtain multiple images to be calibrated captured by the second camera from the second camera; then, according to the number of target first cameras, the obtained multiple images to be calibrated are allocated to the target first cameras.
[0172] Exemplarily, the second camera may receive a collection instruction from the calibration device when connected to the networking network; and collect a plurality of images to be calibrated according to the collection instruction.
[0173] Optionally, the second camera may have collected a plurality of images to be calibrated before being connected to the networking network.
[0174] Optionally, the second camera may also automatically collect a plurality of images to be calibrated when connected to the networking network; and then send the plurality of images to be calibrated to the calibration device to instruct the calibration device to assign the target first camera to the second camera.
[0175] As an example, Figure 3 As shown, the calibration device determines that the target first cameras corresponding to the second camera 1 are the first camera 1, the first camera 2 and the first camera 3. The calibration device obtains 30 images to be calibrated (image a1 to be calibrated a30) from the second camera 1. The calibration device determines that at least one image to be calibrated for feature extraction of the first camera 1 is: image a1 to be calibrated a10; the calibration device determines that at least one image to be calibrated for feature extraction of the first camera 2 is: image a11 to be calibrated a20; the calibration device determines that at least one image to be calibrated for feature extraction of the first camera 1 is: image a21 to be calibrated a30. The calibration device sends second indication information 1 and images a1 to a10 to be calibrated to the first camera 1; the calibration device sends second indication information 2 and images a11 to a20 to be calibrated to the first camera 2; the calibration device sends second indication information 3 and images a21 to a30 to be calibrated to the first camera 3.
[0176] As another example, Figure 4As shown, the calibration device determines that the target first cameras corresponding to the second camera 2 are the first camera 3 and the first camera 4. The calibration device obtains 20 images to be calibrated (image b1 to be calibrated to be calibrated image b20) from the second camera 2. The calibration device determines that at least one image to be calibrated for feature extraction of the first camera 3 is: image b1 to be calibrated image b10; the calibration device determines that at least one image to be calibrated for feature extraction of the first camera 4 is: image b11 to be calibrated image b20. The calibration device sends the second indication information 1 and the images b1 to be calibrated to be calibrated image b10 to be calibrated to the first camera 3; the calibration device sends the second indication information 2 and the images b11 to be calibrated image b20 to be calibrated to the first camera 4.
[0177] As another example, Figure 5 As shown, the calibration device determines that the target first cameras corresponding to the second camera 1 are the first camera 1 and the first camera 2; the target first cameras corresponding to the second camera 2 are the first camera 3 and the first camera 4. The calibration device obtains 20 images to be calibrated (images to be calibrated c1 to c20) from the second camera 1; the calibration device obtains 40 images to be calibrated (images to be calibrated d1 to d40) from the second camera 2. The calibration device determines that at least one image to be calibrated for feature extraction of the first camera 1 is: images to be calibrated c1 to c10; the calibration device determines that at least one image to be calibrated for feature extraction of the first camera 2 is: images to be calibrated c11 to c20; the calibration device determines that at least one image to be calibrated for feature extraction of the first camera 3 is: images to be calibrated d1 to d25; the calibration device determines that at least one image to be calibrated for feature extraction of the first camera 4 is: images to be calibrated d26 to d45. The calibration device sends second indication information 1 and images c1 to c10 to be calibrated to the first camera 1; the calibration device sends second indication information 2 and images c11 to c20 to be calibrated to the first camera 2; the calibration device sends second indication information 3 and images d1 to d25 to be calibrated to the first camera 3; the calibration device sends second indication information 4 and images d26 to d45 to be calibrated to the first camera 4.
[0178] In an embodiment of the present application, a calibration device directly assigns tasks and images to be calibrated to be processed to each target first camera, so that each target first camera can directly process the images to be calibrated distributed by the calibration device. This can improve the execution efficiency of the target first camera, reduce the communication complexity in the networking network, and further improve the calibration efficiency of the camera.
[0179] As a possible implementation method, before S230, the method provided in the embodiment of the present application further includes: the target first camera acquires the second feature data; the target first camera calibrates the camera parameters of the third camera based on the second feature data, so that the third camera is converted into the first camera. Accordingly, the calibration device determines at least one first camera in the networking network;
[0180] The first camera includes a first camera converted from a third camera.
[0181] Exemplarily, the second feature data is data for calibrating camera parameters of the third camera. The second feature data can refer to the first feature data mentioned above, and will not be described in detail here.
[0182] Exemplarily, the second feature data may be obtained by the third camera from other target first cameras in the networking network; or the second feature data may be obtained by the third camera from other devices (for example, calibration devices), and the embodiments of the present application do not impose specific restrictions on this.
[0183] It should be understood that the embodiment of the present application does not limit the source of the third camera. The third camera can be a camera that is calibrated by other first cameras in the networking network, or it can be a camera that is calibrated by a calibration device. In other words, the third camera is not equivalent to the second camera. The second camera can be converted into the first camera after the camera parameters are calibrated by the first camera in the networking network. The third camera can be the first camera in the networking network, or it can be the first camera after the camera parameters are converted into the camera parameters by the calibration device.
[0184] As an example, Figure 3 As shown, before the calibration device detects that the second camera 1 is connected to the networking network, the calibration device determines the camera that has been calibrated in the networking network. Among them, the first camera 6 is the third camera that has been subjected to feature extraction and calibration processing by the first camera 1 to the first camera 3 in the early stage. The calibration device can convert the third camera that has completed camera calibration into the first camera 6.
[0185] As another example, Figure 4 As shown, the second camera 1 performs camera calibration with the first cameras 1 to 2. After the second camera 1 completes the camera calibration, the calibration device can convert the second camera 1 into the first camera 7.
[0186] In the embodiments of the present application, after the uncalibrated camera is calibrated, it can be used as the first camera to extract features from other uncalibrated cameras, thereby improving the reuse rate of the camera and reducing resource consumption.
[0187] It is understandable that in actual application scenarios, the production of cameras is usually batch-based. For example, when 200 cameras need to be produced, and there are currently 3 cameras that have completed calibration (first cameras). Then, through these 3 cameras that have completed calibration, the 4th camera that has completed calibration can be used as the first camera in the networking network together with these 3 cameras that have completed calibration. This can increase the scale of the first camera in the networking network, and realize the computing power reuse of the calibrated cameras, thereby improving the calibration efficiency of the cameras; and the calibration equipment can perform task allocation and address allocation, reducing the performance requirements of the calibration equipment; since the calibration efficiency is an important part of camera production, while improving the calibration efficiency of the camera, the embodiments of the present application can also further improve the production efficiency of the camera.
[0188] In addition, through the POE network, the functions of power supply and communication can be met, and the first camera can be added at any time (computing power expansion) to improve the total computing power of the camera calibration system.
[0189] As a possible implementation method, multiple calibration devices can also be used in the networking network to assign tasks to the first cameras in the networking network. For example, the networking network includes 3 calibration devices (calibration device 1 to calibration device 3) and 30 first cameras (first camera 1 to first camera 30). Calibration device 1 can assign tasks to first cameras 1 to 10; calibration device 2 can assign tasks to first cameras 11 to 20; calibration device 3 can assign tasks to first cameras 21 to 30. Alternatively, any calibration device can assign tasks to the 30 first cameras. For example, when calibration device 1 is busy, calibration device 2 can assign tasks to first cameras 1 to 30.
[0190] As a possible implementation manner, after the second camera calibrates the camera parameters of the second camera, the calibration computer may also obtain a plurality of images to be calibrated from the second camera to perform accuracy verification.
[0191] Exemplarily, the accuracy check can be used to check the geometric accuracy of feature points in the image to be calibrated to ensure that they meet the calibration requirements; analyze whether the obtained camera parameters (such as focal length, principal point coordinates, distortion coefficient, etc.) are within a reasonable range, etc.
[0192] Figure 6 It is a schematic flowchart of another camera calibration method provided in an embodiment of the present application.
[0193] For example, Figure 6 The camera calibration method 600 shown can be executed by a camera to be calibrated, a calibrated camera, and a calibration computer.
[0194] like Figure 6 As shown, the camera calibration method 600 includes S601 to S613, and S601 to S613 are described in detail below.
[0195] For example, a calibration computer and calibrated cameras (eg, calibrated cameras 1 to 6) are connected to the POE network. The calibration computer can refer to the above and Figures 1 to 5 The calibration equipment in the calibration, the calibrated camera can refer to the above and Figures 1 to 5 The first camera in the world.
[0196] S601. The calibration computer detects that the camera to be calibrated is connected to the POE network.
[0197] Optionally, before S601, the camera to be calibrated is connected to a POE network.
[0198] Exemplarily, the user can connect the camera to be calibrated to a POE switch via a POE network cable to access the POE network formed by the POE switch.
[0199] For example, the camera to be calibrated can refer to the above and Figures 1 to 5 The second camera in the
[0200] Exemplarily, the camera to be calibrated is a gimbal camera.
[0201] S602. The calibration computer assigns an IP address to the camera to be calibrated.
[0202] It is understandable that by assigning an IP address to the camera to be calibrated, it may cause it to conflict with other devices (calibrated devices or other cameras to be calibrated) in the POE network.
[0203] S603. The calibration computer searches for a calibrated camera that is in an idle state.
[0204] Exemplarily, the calibration computer may determine a calibrated camera that is in an idle state from calibrated cameras 1 to calibrated cameras 6 .
[0205] S604. Calibrate the computer to determine the target camera.
[0206] Exemplarily, the calibration computer determines the target camera from calibrated cameras that are in an idle state.
[0207] For example, the calibration computer may determine that the target cameras are calibrated camera 1 and calibrated camera 2 from calibrated cameras 1 to calibrated camera 6 .
[0208] For example, the calibration computer may determine the target camera according to a preset allocation method, for example, by dividing the image captured by the camera to be calibrated in half and assigning the image to the two calibrated cameras.
[0209] Exemplarily, the calibration computer may distribute tasks by broadcasting or multicasting.
[0210] S605. The calibration computer sends an acquisition instruction to the camera to be calibrated; correspondingly, the camera to be calibrated receives the acquisition instruction.
[0211] Exemplarily, the acquisition instruction is used to instruct the camera to be calibrated to acquire the image to be calibrated.
[0212] Exemplarily, when the camera to be calibrated is a gimbal camera, the gimbal camera can adjust the angle of the lens to capture the image to be calibrated from left to right.
[0213] S606: The calibration computer sends first instruction information to the target camera. Correspondingly, the target camera receives the first instruction information.
[0214] Exemplarily, the first instruction information carries the IP address of the camera to be calibrated and the target time period. The first instruction information also carries a task processing instruction to perform task allocation for the target camera.
[0215] S607: The target camera obtains the image to be calibrated from the camera to be calibrated. Correspondingly, the camera to be calibrated sends the image to be calibrated to the target camera.
[0216] Exemplarily, the image to be calibrated is an image captured by the camera to be calibrated in a target time period.
[0217] S608. The target camera determines feature data of the image to be calibrated.
[0218] S609: The target camera sends feature data to the camera to be calibrated. Correspondingly, the camera to be calibrated receives the feature data.
[0219] Optionally, after S609, the camera to be calibrated returns first notification information to the target camera.
[0220] Exemplarily, the first notification information is used to indicate that the camera to be calibrated has received the image to be calibrated.
[0221] S610: The camera to be calibrated performs calibration processing on camera parameters.
[0222] Exemplarily, the camera to be calibrated may be calibrated after receiving feature data of each target camera.
[0223] S611. The camera to be calibrated sends the calibration result to the calibration computer. Correspondingly, the calibration computer receives the calibration result.
[0224] Exemplarily, the calibration result includes camera parameters after calibration.
[0225] Optionally, after S611, the calibration computer returns a second notification message to the camera to be calibrated.
[0226] Exemplarily, the second notification information is used to indicate that the calibration computer has received the calibration result.
[0227] S612. The calibration computer obtains the image to be calibrated from the camera to be calibrated.
[0228] Exemplarily, the calibration computer obtains the image to be calibrated from the camera to be calibrated to perform accuracy verification.
[0229] Exemplarily, the accuracy check can be used to check the geometric accuracy of feature points in the image to be calibrated to ensure that they meet the calibration requirements; analyze whether the obtained camera parameters (such as focal length, principal point coordinates, distortion coefficient, etc.) are within a reasonable range, etc.
[0230] S613. The calibration computer displays the calibration results for manual judgment.
[0231] In an embodiment of the present application, when the camera to be calibrated is connected to the POE network, the calibration computer can assign an IP address to the camera to be calibrated to determine the location of the camera to be calibrated in the POE network; then, the target camera for task assignment is determined from the calibrated cameras, and the first indication information is used to enable the target camera to automatically obtain the image to be calibrated from the camera to be calibrated, thereby enabling the target camera to determine the feature data of the image to be calibrated and obtain the feature data; then, the feature data is sent to the camera to be calibrated so that the camera to be calibrated is calibrated; after the calibration process, the accuracy can be checked by the calibration computer or manually, which can improve the accuracy of the camera parameters; compared with the related art that uses calibration equipment to perform a large amount of complex calibration work, this solution can realize feature extraction of the calibrated camera and calibration of the camera to be calibrated, which can utilize the computing power resources of the calibrated camera and reduce the burden of the calibration equipment; since this solution does not require a large amount of calibration equipment, and the camera calibration can be realized by using the calibrated camera. Therefore, this solution can reduce the cost of calibration work and improve the calibration efficiency of the camera.
[0232] It needs to be explained that in Figure 6 In the method of assigning tasks to the target camera by the calibration computer, the task can be assigned to the target camera by the first instruction information (IP address + target time period + task processing instruction). Of course, the method of assigning tasks to the target camera by the calibration computer can also include Figure 7 The following method is described:
[0233] Figure 7 It is a schematic interactive flowchart of another camera calibration method provided in an embodiment of the present application.
[0234] For example, Figure 7The camera calibration method 700 shown can be executed by a camera to be calibrated, a calibrated camera, and a calibration computer.
[0235] like Figure 7 As shown, the camera calibration method 700 includes S701 to S713, and 701 to S713 are described in detail below.
[0236] For example, a calibration computer and six calibrated cameras (calibrated camera 1 to calibrated camera 6) are connected to the POE network. The calibration computer can refer to the above and Figures 1 to 5 The calibration equipment in the calibration, the calibrated camera can refer to the above and Figures 1 to 5 The first camera in the world.
[0237] S701. The calibration computer detects that the camera to be calibrated is connected to the POE network.
[0238] S702. The calibration computer assigns an IP address to the camera to be calibrated.
[0239] S703. The calibration computer searches for a calibrated camera that is in an idle state.
[0240] S704. The calibration computer determines the target camera from the calibrated cameras that are in an idle state.
[0241] S705. The calibration computer sends an acquisition instruction to the camera to be calibrated; correspondingly, the camera to be calibrated receives the acquisition instruction.
[0242] For S701 to S705, please refer to the above and Figure 6 The description in will not be repeated here.
[0243] S706. The calibration computer obtains the image to be calibrated from the camera to be calibrated. Correspondingly, the camera to be calibrated sends the image to be calibrated to the calibration computer.
[0244] S707. The calibration computer sends the second instruction information and the image to be calibrated to the target camera. Correspondingly, the target camera obtains the second instruction information and the image to be calibrated.
[0245] Exemplarily, the second indication information is a task processing instruction to assign tasks to the target camera.
[0246] S708. The target camera determines feature data of the image to be calibrated and obtains the feature data.
[0247] S709: The target camera sends feature data to the camera to be calibrated. Correspondingly, the camera to be calibrated receives the feature data.
[0248] Optionally, after S709, the camera to be calibrated returns first notification information to the target camera.
[0249] S710. The camera to be calibrated performs calibration processing on camera parameters.
[0250] S711. The camera to be calibrated sends the calibration result to the calibration computer. Correspondingly, the calibration computer receives the calibration result.
[0251] Optionally, after S711, the calibration computer returns a second notification message to the camera to be calibrated.
[0252] Exemplarily, the second notification information is used to indicate that the calibration computer has received the calibration result.
[0253] S712. The calibration computer obtains the image to be calibrated from the camera to be calibrated to perform accuracy verification.
[0254] S713. The calibration computer displays the calibration results for manual judgment.
[0255] For S708 to S713, please refer to the above and Figure 6 The description in will not be repeated here.
[0256] In an embodiment of the present application, when the camera to be calibrated is connected to the POE network, the calibration computer can assign an IP address to the camera to be calibrated to determine the location of the camera to be calibrated in the POE network; then, the target camera for task assignment is determined from the calibrated cameras; and the image to be calibrated is obtained from the camera to be calibrated. By sending the second indication information and the image to be calibrated to the calibrated camera, the target camera directly determines the feature data of the image to be calibrated and obtains the feature data; then the feature data is sent to the camera to be calibrated so that the camera to be calibrated is calibrated; after the calibration process, the accuracy can be checked by the calibration computer or manually, which can improve the accuracy of the camera parameters; compared with the related art that uses calibration equipment to perform a large amount of complex calibration work, this solution can realize feature extraction of the calibrated camera and calibration of the camera to be calibrated, which can utilize the computing power resources of the calibrated camera and reduce the burden of the calibration equipment; because this solution does not require a large amount of calibration equipment, the camera calibration can be realized by using a calibrated camera. Therefore, this solution can reduce the cost of calibration work and improve the calibration efficiency of the camera.
[0257] Combination of the above Figure 2 and Figure 7 The camera calibration method provided by the embodiment of the present application is described in detail; Figure 8 and Fig.10 The device embodiments of the present application are described in detail. It should be understood that the device in the embodiments of the present application can execute the various methods of the aforementioned embodiments of the present application, that is, the specific working processes of the following various products can refer to the corresponding processes in the aforementioned method embodiments.
[0258] Figure 8 It is a structural schematic diagram of a camera calibration device provided in an embodiment of the present application.
[0259] For example, Figure 8 As shown, the camera calibration device 800 includes:
[0260] A first acquisition module 810 is used to acquire at least one image to be calibrated; wherein the at least one image to be calibrated is an image captured by the second camera at different viewing angles;
[0261] A feature extraction module 820, configured to determine feature data of at least one image to be calibrated according to camera parameters of the first camera, and obtain first feature data;
[0262] The first sending module 830 is used to send first feature data to the second camera, where the first feature data is used to calibrate camera parameters of the second camera.
[0263] Optionally, as an embodiment, the first acquisition module 810 is specifically configured to:
[0264] Receive first indication information from a calibration device; wherein the first indication information carries a first start identifier, a first end identifier, and identification information of a second camera; and the interval between the first start identifier and the first end identifier corresponds to at least one image to be calibrated;
[0265] At least one image to be calibrated is acquired from the second camera according to the first start identifier, the first end identifier, and the identifier information of the second camera.
[0266] Optionally, as an embodiment, the first acquisition module 810 is specifically configured to:
[0267] Second indication information and at least one image to be calibrated are received from a calibration device; wherein the second indication information is used to instruct feature extraction of the at least one image to be calibrated.
[0268] Optionally, as an embodiment, the camera calibration device 800 further includes: a calibration processing module. The calibration processing module statement is used to:
[0269] Acquiring second characteristic data;
[0270] Based on the second feature data, a calibration process is performed on camera parameters of the third camera, so that the third camera is converted into the first camera; wherein the third camera is an uncalibrated camera.
[0271] It should be noted that the above-mentioned conference summary generation device is embodied in the form of a functional unit. The term "module" here can be implemented in the form of software and / or hardware, and is not specifically limited to this.
[0272] For example, a "module" may be a software program, a hardware circuit, or a combination of the two that implements the above functions. The hardware circuit may include an application specific integrated circuit (ASIC), an electronic circuit, a processor (such as a shared processor, a dedicated processor, or a group processor, etc.) and a memory for executing one or more software or firmware programs, a combined logic circuit, and / or other suitable components that support the described functions.
[0273] Therefore, the units of each example described in the embodiments of the present application can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present application.
[0274] Fig. 9 It is a structural schematic diagram of another camera calibration device provided in an embodiment of the present application.
[0275] For example, Fig. 9 As shown, the camera calibration device 900 includes:
[0276] A determination module 910 is used to determine a target first camera among at least one first camera in response to a calibration instruction; wherein the calibration instruction is used to instruct to start calibration of a second camera;
[0277] The second sending module 920 is used to send instruction information to the target first camera; wherein the instruction information is used by the target first camera to determine feature data of a plurality of images to be calibrated acquired by the second camera, where the images to be calibrated are images acquired by the second camera at different viewing angles;
[0278] The second acquisition module 930 is used to receive the calibration result from the second camera when the second camera has completed the calibration according to the feature data; wherein the calibration result is used by the user to check the camera parameters after the calibration process in the second camera.
[0279] Optionally, as an embodiment, the determination module 910 is specifically configured to:
[0280] Determine the identification information of the second camera, the second start identification, and the second end identification; wherein the interval between the second start identification and the second end identification corresponds to a plurality of images to be calibrated;
[0281] In the case where there are multiple target first cameras, the first starting identifier and the first ending identifier corresponding to each target first camera are determined in the interval between the second starting identifier and the second ending identifier according to the number of the target first cameras; wherein the interval between the first starting identifier and the first ending identifier corresponds to at least one image to be calibrated.
[0282] Optionally, as an embodiment, the second sending module 920 is specifically configured to:
[0283] Sending first indication information to each target first camera; wherein the first indication information carries a first start identifier, a first end identifier, and identification information of the second camera.
[0284] Optionally, as an embodiment, the determination module 910 is specifically configured to:
[0285] Acquire a plurality of to-be-calibrated images of the second camera;
[0286] In the case that there are multiple target first cameras, at least one image to be calibrated corresponding to each target first camera is determined from the multiple images to be calibrated according to the number of the target first cameras.
[0287] Optionally, as an embodiment, the second sending module 920 is specifically configured to:
[0288] Sending second indication information and at least one to-be-calibrated image corresponding to each target first camera to each target first camera; wherein the second indication information is used to instruct feature extraction of the at least one to-be-calibrated image.
[0289] Optionally, as an embodiment, the determination module 910 is specifically configured to:
[0290] Determining one or more fourth cameras in at least one first camera; wherein the fourth camera is in an idle state;
[0291] According to a preset condition, a target first camera is determined from one or more fourth cameras.
[0292] Fig.10 It is a structural schematic diagram of an electronic device provided in an embodiment of the present application.
[0293] For example, the specific structures of the first camera, the second camera, and the calibration device mentioned in the embodiments of the present application can be referred to Fig.10 An electronic device is provided.
[0294] Exemplarily, the electronic device 1000 includes: a processor 1010 , a memory 1020 , and an executable program code 1030 .
[0295] Exemplarily, the electronic device 1000 includes one or more processors 1010, which can support the electronic device 1000 to implement the method for generating an electronic device in the method embodiment. The processor 1010 can be a general-purpose processor or a special-purpose processor. For example, the processor 1010 can be a central processing unit (CPU), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic devices, such as discrete gates, transistor logic devices, or discrete hardware components.
[0296] Exemplarily, the processor 1010 may be used to control the electronic device 1000, execute software programs, and process data of the software programs. The electronic device 1000 may also include a communication unit to implement input (reception) and output (transmission) of signals.
[0297] Exemplarily, the electronic device 1000 may include one or more memories 1020 on which executable program code 1030 is stored. The executable program code 1030 can be executed by the processor 1010 to generate instructions, so that the processor 1010 executes the generation method described in the above method embodiment according to the instructions.
[0298] Optionally, data may be stored in the memory 1020. Optionally, the processor 1010 may read data stored in the memory 1020, which may be stored at the same storage address as the executable program code 1030, or may be stored at a different storage address from the executable program code 1030.
[0299] Exemplarily, the processor 1010 and the memory 1020 may be provided separately or integrated together, for example, integrated on a system on chip (SOC) of the terminal device.
[0300] Exemplarily, the memory 1020 can be used to store relevant programs of the generation method of the electronic device provided in the embodiment of the present application, and the processor 1020 can be used to call the executable program code 1030 stored in the memory 1020 when controlling the electronic device to execute the camera calibration method of the embodiment of the present application; for example, obtaining at least one image to be calibrated; wherein at least one of the images to be calibrated is an image captured by the second camera at different viewing angles; according to the camera parameters of the first camera, obtaining first feature data for the feature data of at least one of the images to be calibrated; and sending the first feature data to the second camera, wherein the first feature data is used to calibrate the camera parameters of the second camera.
[0301] The present application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the camera calibration method of any of the aforementioned embodiments.
[0302] Among them, computer-readable storage media may include but are not limited to any type of disk, including floppy disks, optical disks, digital versatile disks (Digital Video Disc, DVD), compact disc read-only memory (Compact Disc Read-Only Memory, CD-ROM), microdrives and magneto-optical disks, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), erasable programmable read-only memory (Erasable Programmable Read-Only Memory, EPROM), electrically erasable programmable read only memory (Electrically Erasable Programmable read only memory, EEPROM), dynamic random access memory (Dynamic Random Access Memory, DRAM), video random access memory (Video Random Access Memory, VRAM), flash memory devices, magnetic cards or optical cards, nanosystems (including molecular memory ICs), or any type of medium or device suitable for storing instructions and / or data.
[0303] The present application also provides a computer program product. When the computer program product is run on a computer, the computer is enabled to execute the above-mentioned related steps to implement a camera calibration method in the above-mentioned embodiment.
[0304] In addition, the electronic device provided in the embodiments of the present application may specifically be a chip, a component or a module, and the electronic device may include a connected processor and a memory; wherein the memory is used to store instructions, and when the electronic device is running, the processor may call and execute the instructions so that the chip executes a camera calibration method in the above-mentioned embodiment.
[0305] Among them, the electronic device, computer-readable storage medium, computer program product or chip provided in this application are all used to execute the corresponding camera calibration method provided above. Therefore, the beneficial effects that can be achieved can refer to the beneficial effects in the corresponding camera calibration method provided above, and will not be repeated here.
[0306] Through the description of the above implementation methods, technical personnel in the relevant field can understand that for the convenience and simplicity of description, only the division of the above-mentioned functional modules is used as an example. In actual applications, the above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.
[0307] In the embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic, for example, the division of modules or units is only a logical function division, and there may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0308] The above contents are only specific implementation methods of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A camera calibration method, characterized in that: Applied to a first camera, the first camera and the second camera are connected via a networking network; wherein the first camera is a calibrated camera and the second camera is an uncalibrated camera; the method comprises: Acquire at least one image to be calibrated; wherein at least one of the images to be calibrated is an image captured by the second camera at different viewing angles; Obtaining first feature data for feature data of at least one of the images to be calibrated according to camera parameters of the first camera; The first feature data is sent to the second camera, where the first feature data is used to calibrate camera parameters of the second camera.
2. The method according to claim 1, characterized in that The first camera is also connected to the calibration device through the networking network; the acquiring at least one image to be calibrated includes: Receive first indication information from the calibration device; wherein the first indication information carries a first start identifier, a first end identifier and identification information of the second camera; and the interval between the first start identifier and the first end identifier corresponds to at least one of the images to be calibrated; At least one image to be calibrated is acquired from the second camera according to the first start identifier, the first end identifier, and identifier information of the second camera.
3. The method according to claim 1, characterized in that The first camera is also connected to the calibration device through the networking network; the obtaining of at least one image to be calibrated of the second camera includes: Receive second indication information from the calibration device and at least one of the images to be calibrated; wherein the second indication information is used to instruct to perform the feature extraction on at least one of the images to be calibrated.
4. The method according to any one of claims 1 to 3, characterized in that: The networking network is a POE-based networking network.
5. A camera calibration method, characterized in that: Applied to a calibration device, the calibration device is connected to at least one first camera and a second camera through a networking network; wherein the first camera is a calibrated camera and the second camera is an uncalibrated camera; the method comprises: In response to a calibration instruction, determining a target first camera among the at least one first camera; wherein the calibration instruction is used to instruct to start calibration of the second camera; Sending instruction information to the target first camera; wherein the instruction information is used by the target first camera to determine feature data of a plurality of images to be calibrated captured by the second camera, wherein the images to be calibrated are images captured by the second camera at different viewing angles; When the second camera completes calibration according to the feature data, a calibration result from the second camera is received; wherein the calibration result is used by a user to verify camera parameters after calibration in the second camera.
6. The method according to claim 5, characterized in that The method further comprises: Determine the identification information of the second camera, a second start identifier and a second end identifier; wherein the interval between the second start identifier and the second end identifier corresponds to a plurality of the images to be calibrated; In the case where there are multiple target first cameras, according to the number of the target first cameras, a first starting mark and a first ending mark corresponding to each target first camera are determined in the interval between the second starting mark and the second ending mark; wherein the interval between the first starting mark and the first ending mark corresponds to at least one of the images to be calibrated; Correspondingly, the sending instruction information to the target first camera includes: Sending first indication information to each of the target first cameras; wherein the first indication information carries the first start identifier, the first end identifier, and identification information of the second camera.
7. The method according to claim 5, characterized in that The method further comprises: Acquire a plurality of the to-be-calibrated images of the second camera; In the case where there are multiple target first cameras, determining at least one image to be calibrated corresponding to each target first camera from the multiple images to be calibrated according to the number of the target first cameras; Correspondingly, the sending instruction information to the target first camera includes: Sending second indication information and at least one of the to-be-calibrated images corresponding to each of the target first cameras to each of the target first cameras; wherein the second indication information is used to instruct to perform the feature extraction on at least one of the to-be-calibrated images.
8. The method according to any one of claims 5 to 7, characterized in that: The determining a target first camera among the at least one first camera comprises: Determining one or more fourth cameras in the at least one first camera; wherein the fourth cameras are in an idle state; According to a preset condition, the target first camera is determined from one or more fourth cameras.
9. A camera, characterized in that: The camera comprises: A memory for storing executable program codes; A processor is used to call and run the executable program code from the memory, so that the camera executes the camera calibration method according to any one of claims 1 to 4.
10. A calibration device, characterized in that: The calibration equipment comprises: A memory for storing executable program codes; A processor, configured to call and run the executable program code from the memory, so that the calibration device executes the camera calibration method as described in any one of claims 5 to 8.
11. A camera calibration system, characterized in that: The camera calibration system includes: at least one first camera, a calibration device, and a second camera; the at least one first camera, the calibration device, and the second camera are connected via a networking network; any one of the at least one first camera is used to execute the camera calibration method described in any one of claims 1 to 4; the calibration device is used to execute the camera calibration method described in any one of claims 5 to 8.
12. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method for camera calibration as claimed in any one of claims 1 to 4 is implemented, or the method for camera calibration as claimed in any one of claims 5 to 8 is implemented.