Simulation point cloud calibration method and apparatus, electronic device, and program product
The calibration method for simulation point clouds using a camera-specific model library addresses the challenge of simulating real camera behavior, enhancing the accuracy and efficiency of robot application simulations and 3D vision algorithm verification.
Patent Information
- Application Number
- PCT/CN2024/090183
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-04-26
- Publication Date
- 2025-10-30
AI Technical Summary
Existing simulation point cloud technologies struggle to accurately simulate real camera behavior, leading to significant differences between simulated and real-world point clouds, which affects the verification of 3D vision algorithms and incomplete robot application simulations.
A method and apparatus for calibrating simulation point clouds using a calibration model library that includes camera-specific models to reduce the difference between simulated and real point clouds, involving receiving a 3D model, configuring a simulation camera, establishing a calibration model, loading the model, and calibrating the point cloud based on it.
Enables accurate and efficient simulation of point clouds, reducing experimental costs and improving robot application simulation and 3D vision algorithm verification by generating simulation data that closely resembles real-world properties.
Smart Images

Figure CN2024090183_30102025_PF_FP_ABST
Abstract
Description
SIMULATION POINT CLOUD CALIBRATION METHOD AND APPARATUS, ELECTRONIC DEVICE, AND PROGRAM PRODUCTTECHNICAL FIELD
[0001] Embodiments of this application mainly relate to the field of industrial digitalization, and in particular, to a simulation point cloud calibration method and apparatus, an electronic device, and a program product.BACKGROUND
[0002] In the field of robotics, the application of 3D vision is gradually becoming a key part. However, for complete simulation of a robot application, simulating a real 3D camera behavior and generating accurate simulation point cloud data is essential but is also a significant technical challenge. At present, it is usually difficult for a simulation point cloud to fully simulate a complex process of capturing a point cloud by the real camera, resulting in great differences between a simulation camera behavior and the real world. Inaccurate simulation point cloud data may seriously affect verification of a 3D vision algorithm, and may also lead to incomplete simulation of the robot application, so that challenges and problems in a real-world application scenario cannot be truly reflected.SUMMARY
[0003] Embodiments of this application provide a simulation point cloud calibration method and apparatus, an electronic device, and a program product, so that a simulation point cloud can be calibrated accurately and quickly in the embodiments of this application.
[0004] According to a first aspect, a simulation point cloud calibration method is provided, including: receiving a 3D model imported by a user; configuring a simulation camera based on a photographing parameter and an extrinsic parameter of a first camera; generating a simulation point cloud of the 3D model through the simulation camera; establishing a calibration model library, where the calibration model library includes at least a calibration model of the first camera, and the calibration model is used to reduce a difference between a simulation point cloud generated by the simulation camera and a real point cloud captured by the first camera; loading the calibration model corresponding to the first camera; and calibrating the simulation point cloud of the 3D model based on the calibration model.
[0005] According to a second aspect, a simulation point cloud calibration apparatus is provided, including: a receiving module, configured to: receive a 3D model imported by a user; a configuration module, configured to: configure a simulation camera based on a photographing parameter and an extrinsic parameter of a first camera; the simulation camera, configured to: generate a simulation point cloud of the 3D model; an establishing module, configured to: establish a calibration model library, where the calibration model library includes at least a calibration model of the first camera, and the calibration model is used to reduce a difference between a simulation point cloud generated by the simulation camera and a real point cloud captured by the first camera; a loading module, configured to: load the calibration model corresponding to the first camera; and a calibration module, configured to: calibrate the simulation point cloud of the 3D model based on the calibration model.
[0006] According to a third aspect, an electronic device is provided, including: at least one memory, configured to store computer-readable code; and at least one processor, configured to invoke the computer-readable code to perform the steps of the method provided in the first aspect.
[0007] According to a fourth aspect, a computer-readable medium is provided, where the computer-readable medium stores a computer-readable instruction, and when the computer-readable instruction is executed by a processor, the processor implements the steps of the method provided in the first aspect.
[0008] According to a fifth aspect, a computer program product is provided, where the computer program product is physically stored on a computer-readable medium and includes a computer-executable instruction, and when the computer-executable instruction is executed, at least one processor implements the steps of the method provided in the first aspect.BRIEF DESCRIPTION OF THE DRAWINGS
[0009] The following accompanying drawings are only intended to give schematic illustrations and explanations of the embodiments of this application, but are not intended to limit the scope of this application. Where:
[0010] FIG. 1 is a flowchart of a simulation point cloud calibration method according to an embodiment of this application;
[0011] FIG. 2 is a schematic diagram of a simulation point cloud calibration apparatus according to an embodiment of this application; and
[0012] FIG. 3 is a schematic diagram of an electronic device according to an embodiment of this application.
[0013] Descriptions of reference numerals
[0014] 100: Simulation point cloud 101-106: Method steps 20: Simulation point cloud
[0015] calibration method calibration apparatus
[0016] 21: Receiving module 22: Configuration module 23: Simulation camera
[0017] 24: Establishing module 25: Loading module 26: Calibration module
[0018] 300: Electronic device 301: Processor 302: Communications
[0019] interface
[0020] 303: Memory 304: Communications bus 305: ProgramDETAILED DESCRIPTION
[0021] A subject described in this specification is discussed now with reference to exemplary implementations. It should be understood that, discussion of the implementations is merely intended to make a person skilled in the art better understand and implement the subject described in this specification, and is not intended to limit the protection scope of the claims, the applicability, or examples. Changes may be made to the functions and arrangements of the discussed elements without departing from the protection scope of the content of the embodiments of this application. Various processes or components may be omitted, replaced, or added in each example according to requirements. For example, the described method may be performed according to a sequence different from the sequence described herein, and steps may be added, omitted, or combined. In addition, features described in some examples may also be combined in other examples.
[0022] As used in this specification, the term "include" and variants thereof represent open terms, and means "include but is not limited to" . The term "based on" represents "at least partially based on" . The terms "one embodiment" and "an embodiment" represent "at least one embodiment" . The term "another embodiment" represents "at least one another embodiment" . The terms "first" , "second" , and the like may represent different objects or the same object. Other definitions may be included explicitly or implicitly in the following. Unless otherwise clearly specified, the definition of one term is consistent in the entire specification.
[0023] The following describes in detail the embodiments of this application with reference to the accompanying drawings.
[0024] FIG. 1 is a schematic diagram of a simulation point cloud calibration method according to an embodiment of this application. As shown in FIG. 1, the simulation point cloud calibration method 100 includes the following steps.
[0025] Step 101. Receive a 3D model imported by a user.
[0026] Optionally, after step 101, a physical attribute attached by the user on the 3D model may be received. Optionally, after step 101, the physical attribute of the imported 3D model may be translated into a pre-stored corresponding physical attribute. Optionally, after step 101, a physical attribute of a real scenario corresponding to the 3D model may be selected from a pre-stored physical attribute library, and the selected physical attribute is attached to the 3D model.
[0027] Step 102. Configure a simulation camera based on a photographing parameter and an extrinsic parameter of a first camera.
[0028] The first camera refers to a 3D camera or a depth camera. Optionally, the simulation camera is configured in a 3D GUI module.
[0029] Optionally, the photographing parameter of the first camera may include: a focal length, a field of view, resolution, and the like. The extrinsic parameter may include: a relative position relationship, a relative attitude, and the like between a camera and an object.
[0030] Step 103. Generate a simulation point cloud of the 3D model through the simulation camera.
[0031] Optionally, the method for generating the simulation point cloud through the simulation camera may be as follows: a simulated ray is projected along the center of a camera, and a pixel is projected in a plane of an imaging image. A resolution and a position / attitude of the camera relative to the object are configured based on the camera. Once a 3D object is hit, the first intersection point is a surface point of the 3D object. When all pixels are iterated, a final point cloud of a simulation object may be obtained.
[0032] Step 104. Establish a calibration model library, where the calibration model library includes at least a calibration model of the first camera, and the calibration model is used to reduce a difference between a simulation point cloud generated by the simulation camera and a real point cloud captured by the first camera.
[0033] In an embodiment, real point clouds of a plurality of scenarios may be captured through the first camera. A corresponding scenario may include at least one physical object. Simulation point clouds respectively corresponding to the real point clouds of the plurality of scenarios are generated through the simulation camera. The plurality of real point clouds are aligned with the plurality of simulation point clouds respectively. An error between the real point cloud and the simulation point cloud is separately calculated to obtain a set of a plurality of differences. Each of a plurality of groups obtained at different times is used as an input item, where one group includes a 3D model corresponding to a scenario at a time, a physical attribute corresponding to the 3D model, and a parameter of the simulation camera, a set of corresponding differences is used as an output item, and a calibration model is obtained in a manner of statistical analysis or data driving. The 3D model includes: geometric information and the like, and the physical attribute includes roughness, a material attribute, and the like. Then an association relationship between the calibration model and the first camera is established. Optionally, in this embodiment, calibration models respectively corresponding to different cameras may be established and stored in the calibration model library.
[0034] Optionally, a virtual point cloud and a real point cloud may be matched by using registration algorithms, such as a point pair feature (Point Pair Feature, PPF) algorithm and an iterative closest point (Iterative Closest Point, ICP) algorithm. Optionally, the user may be prompted to rotate and translate to align the virtual point cloud with the real point cloud.
[0035] In an embodiment, optionally, a correction model may be in the form of mathematical formulas or rules, for example: when there is a preset angle of inclination between a metal surface of an object and an optical axis of the simulation camera, a corresponding point is deleted during simulation. In a case of the preset angle of inclination, it may lead to the fact that a light emitted by the camera cannot come back and cannot be received by a receiver, thus creating a hole.
[0036] Step 105. Load the calibration model corresponding to the first camera.
[0037] Step 106. Calibrate the simulation point cloud of the 3D model based on the calibration model.
[0038] In this embodiment of this application, a virtual environment similar to a real scenario may be simulated by configuring the simulation camera and generating the corresponding simulation point cloud. Then, the simulation point cloud is calibrated by using the calibration model corresponding to the real camera, so that simulation data is closer to a physical property of the real world, thus accurately and quickly reflecting a real situation of a corresponding object in the real scenario on the simulation point cloud. An application value of this embodiment of this application is very significant. For example, in robot application simulation, especially in a verification process of a 3D vision algorithm, a large quantity of real-world data is usually needed for testing and tuning. However, obtaining these real data is usually costly and time-consuming. Through the method provided in this embodiment of this application, researchers may quickly generate a large quantity of simulation data in a simulation environment, and enable the simulation data to be close to the property of the real world through the calibration model, thus greatly reducing experimental costs and improving research and development efficiency.
[0039] In addition, accuracy of the simulation point cloud is essential to completion of tasks such as robot navigation, object recognition, and positioning. The simulation point cloud is calibrated through the calibration model, so that it may be ensured that an object point cloud in the simulation environment is consistent with a point cloud collected by the camera in the real world, thus improving performance of the robot in the simulation environment and providing strong support for subsequent algorithm verification and real-world application.
[0040] FIG. 2 is a schematic diagram of a simulation point cloud calibration apparatus according to an embodiment of this application. As shown in FIG. 2, a simulation point cloud calibration apparatus 20 includes:
[0041] a receiving module 21, configured to: receive a 3D model imported by a user;
[0042] a configuration module 22, configured to: configure a simulation camera 23 based on a photographing parameter and an extrinsic parameter of a first camera;
[0043] the simulation camera 23, configured to: generate a simulation point cloud of the 3D model;
[0044] an establishing module 24, configured to: establish a calibration model library, where the calibration model library includes at least a calibration model of the first camera, and the calibration model is used to reduce a difference between a simulation point cloud generated by the simulation camera and a real point cloud captured by the first camera;
[0045] a loading module 25, configured to: load the calibration model corresponding to the first camera; and
[0046] a calibration module 26, configured to: calibrate the simulation point cloud of the 3D model based on the calibration model.
[0047] The embodiments of this application realize an accurate and quick calibration method, which is of great significance to robot application simulation and verification of a 3D vision algorithm. This not only reduces experimental costs and improves research and development efficiency, but also provides strong support for further development of robotics.
[0048] FIG. 3 is a schematic diagram of an electronic device according to an embodiment of this application. A specific embodiment of this application does not limit a specific implementation of the electronic device. Refer to FIG. 3, an electronic device 300 provided in this embodiment of this application includes: a processor (processor) 302, a communications interface (Communications Interface) 304, a memory (memory) 306, and a communications bus 308. Where:
[0049] the processor 302, the communications interface 304, and the memory 306 communicate with each other through the communications bus 308;
[0050] the communications interface 304 is configured to communicate with another electronic device or server; and
[0051] the processor 302 is configured to execute a program 310, and specifically, execute the related steps in the embodiment of the simulation point cloud calibration method 100.
[0052] Specifically, the program 310 may include program code, and the program code includes a computer operation instruction.
[0053] The processor 302 may be a central processing unit (CPU) , or an application specific integrated circuit (Application Specific Integrated Circuit, ASIC) , or may be one or more integrated circuits configured to implement the embodiments of this application. One or more processors included in an intelligent device may be a same type of processors, such as one or more CPUs; or different types of processors, such as one or more CPUs and one or more ASICs.
[0054] The memory 302 is configured to store the program 310. The memory 306 may include a high-speed RAM memory, or may further include a non-volatile memory (non-volatile memory) , for example, at least one magnetic disk storage.
[0055] An embodiment of this application further provides a computer-readable storage medium, storing an instruction that is used to enable a machine to perform the simulation point cloud calibration method 100 as described in this specification. Specifically, a system or an apparatus equipped with a storage medium may be provided. The storage medium stores software program code that implements functions of any one of the foregoing embodiments, and a computer (or CPU or MPU) of the system or the apparatus is enabled to read and execute the program code stored in the storage medium.
[0056] In this case, program code read from the storage medium can implement the functions in any one of the foregoing embodiments, and therefore the program code and the storage medium for storing the program code constitute a part of this application.
[0057] An embodiment of the storage medium for providing the program code includes a floppy disk, a hard disk, a magneto-optical disk, an optical disk (for example, a CD-ROM, a CD-R, a CD-RW, a DVD-ROM, a DVD-RAM, a DVD-RW, or a DVD-RW) , a magnetic tape, a non-volatile storage card, and a ROM. Optionally, the program code may be downloaded from a server computer by using a communications network.
[0058] In addition, it should be clear that functions of any one of the embodiments may be implemented not only by performing the program code read out by the computer, but also through instructions based on the program code that enable some or all actual operations to be completed by the operating system operated on the computer.
[0059] In addition, it can be understood that the program code read out by the storage medium is written into a memory set in an expansion board inserted into the computer or written into a memory set in an expansion module connected to the computer, and then the instructions based on the program code enable a CPU installed on the expansion board or the expansion module to perform some or all the actual operations, thereby implementing the functions of any one of the embodiments.
[0060] An embodiment of this application further provides a computer program product, where the computer program product is tangibly stored on a computer-readable medium and includes a computer-executable instruction, and when the computer-executable instruction is executed, at least one processor implements the simulation point cloud calibration method 100 provided in the above embodiments. It should be understood that the schemes in this embodiment have the corresponding technical effects in the method embodiments, and details are not described herein again.
[0061] It should be noted that, not all steps and modules in the procedures and the diagrams of the system structures are necessary, and some steps or modules may be omitted according to an actual requirement. An execution sequence of the steps is not fixed and may be adjusted according to a requirement. The system structure described in the embodiments may be a physical structure or a logical structure. That is, some modules may be implemented by the same physical entity, or some modules may be implemented by a plurality of physical entities, or may be implemented by some components in a plurality of independent devices together.
[0062] Nouns and pronouns about people in this patent application are not limited to specific gender.
[0063] In the embodiments, hardware modules may be implemented mechanically or electrically. For example, a hardware module may include a permanent dedicated circuit or logic (for example, a dedicated processor, FPGA or ASIC) to complete a corresponding operation. The hardware module may further include programmable logic or a circuit (for example, a general-purpose processor or another programmable processor) , which may be temporarily set by software to complete a corresponding operation. A specific implementation (amechanical manner, a dedicated permanent circuit, or a temporarily set circuit) may be determined based on costs and time considerations.
[0064] This application is explained and described in detail through the accompanying drawings and preferred embodiments. However, this application is not limited to these disclosed embodiments. Based on the plurality of embodiments, a person skilled in the art may learn of that more embodiments of this application may be obtained by combining code auditing means in the different embodiments, and these embodiments also fall within the protection scope of this application.
[0065] Nouns and pronouns about people in this patent application are not limited to specific gender.
Claims
1.A simulation point cloud calibration method, comprising:- receiving (101) a 3D model imported by a user;- configuring (102) a simulation camera based on a photographing parameter and an extrinsic parameter of a first camera;- generating (103) a simulation point cloud of the 3D model through the simulation camera;- establishing (104) a calibration model library, wherein the calibration model library comprises at least a calibration model of the first camera, and the calibration model is used to reduce a difference between a simulation point cloud generated by the simulation camera and a real point cloud captured by the first camera;- loading (105) the calibration model corresponding to the first camera; and- calibrating (106) the simulation point cloud of the 3D model based on the calibration model.2.The method according to claim 1, wherein after the receiving (101) a 3D model imported by a user, the method further comprises:- receiving a physical attribute attached by the user on the 3D model; or- translating the physical attribute of the imported 3D model into a pre-stored corresponding physical attribute; or- selecting a physical attribute of a real scenario corresponding to the 3D model from a pre-stored physical attribute library and attaching the selected physical attribute to the 3D model.3.The method according to claim 1, wherein the establishing (104) a calibration model library comprises:- capturing real point clouds of a plurality of scenarios through the first camera;- generating, through the simulation camera, simulation point clouds respectively corresponding to the real point clouds of the plurality of scenarios;- aligning the plurality of real point clouds with the plurality of simulation point clouds respectively;- separately calculating an error between the real point cloud and the simulation point cloud to obtain a set of a plurality of differences; and- using each of a plurality of groups obtained at different times as an input item, wherein one group comprises a 3D model corresponding to a scenario at a time, a physical attribute corresponding to the 3D model, and a parameter of the simulation camera, using a set of corresponding differences as an output item, and obtaining a calibration model in a manner of statistical analysis or data driving.4.The method according to claim 3, wherein after the obtaining a calibration model, the method further comprises:- establishing an association relationship between the calibration model and the first camera.5.The method according to claim 3, wherein the aligning the plurality of real point clouds with the plurality of simulation point clouds respectively comprises:- matching one real point cloud in the plurality of real point clouds with a corresponding simulation point cloud in a same coordinate system to minimize a total distance between all points in the real point cloud and corresponding points in the simulation point cloud.6.A simulation point cloud calibration apparatus, comprising:- a receiving module (21) , configured to: receive a 3D model imported by a user;- a configuration module (22) , configured to: configure a simulation camera (23) based on a photographing parameter and an extrinsic parameter of a first camera;- the simulation camera (23) , configured to: generate a simulation point cloud of the 3D model;- an establishing module (24) , configured to: establish a calibration model library, wherein the calibration model library comprises at least a calibration model of the first camera, and the calibration model is used to reduce a difference between a simulation point cloud generated by the simulation camera and a real point cloud captured by the first camera;- a loading module (25) , configured to: load the calibration model corresponding to the first camera; and- a calibration module (26) , configured to: calibrate the simulation point cloud of the 3D model based on the calibration model.7.An electronic device (300) , comprising: a processor (301) , a communications interface (302) , a memory (303) , and a communications bus (304) , wherein the processor (301) , the memory (303) , and the communications interface (302) communicate with each other through the communications bus (304) ; andthe memory (303) is configured to store at least one executable instruction, and the executable instruction enables the processor to perform operations corresponding to the simulation point cloud calibration method according to any one of claims 1 to 5.8.A computer-readable storage medium storing a computer program, wherein the program, when executed by a processor, implements the simulation point cloud calibration method according to any one of claims 1 to 5.9.A computer program product tangibly stored on a computer-readable medium and comprising a computer-executable instruction, wherein the computer-executable instruction, when executed, causing at least one processor to perform the simulation point cloud calibration method according to any one of claims 1 to 5.
Citation Information
Patent Citations
Continuous local 3D reconstruction refinement in video
US20200126257A1