CN111739106B - Corner point coding method, calibration method, device, electronic equipment and storage medium - Google Patents

Corner point coding method, calibration method, device, electronic equipment and storage medium Download PDF

Info

Publication number
CN111739106B
CN111739106B CN202010805424.0A CN202010805424A CN111739106B CN 111739106 B CN111739106 B CN 111739106B CN 202010805424 A CN202010805424 A CN 202010805424A CN 111739106 B CN111739106 B CN 111739106B
Authority
CN
China
Prior art keywords
target
checkerboard
type
grids
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010805424.0A
Other languages
Chinese (zh)
Other versions
CN111739106A (en
Inventor
余金清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Jimi Technology Co Ltd
Original Assignee
Chengdu Jimi Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Jimi Technology Co Ltd filed Critical Chengdu Jimi Technology Co Ltd
Priority to CN202010805424.0A priority Critical patent/CN111739106B/en
Publication of CN111739106A publication Critical patent/CN111739106A/en
Application granted granted Critical
Publication of CN111739106B publication Critical patent/CN111739106B/en
Priority to PCT/CN2021/098857 priority patent/WO2022033145A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • G06T2207/30208Marker matrix

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The application provides a corner point coding method, a calibration device, electronic equipment and a storage medium, and relates to the technical field of optical element calibration. Wherein, the method comprises the following steps: determining a target checkerboard according to a target use scene, wherein the target checkerboard comprises a first type of grids and a second type of grids which are alternately arranged, and the intersection point of every four adjacent grids is an angular point; determining the target number and the target basis of the required coding sequence according to the number of the angular points; randomly filling marks into the first type of grids of the target checkerboard, wherein the number of the types of the marks in the first type of grids of the target checkerboard is equal to the target base, and each type of mark represents a number; and determining the code of each corner point according to the target number and the marks in the first type of grids.

Description

Corner point coding method, calibration method, device, electronic equipment and storage medium
Technical Field
The present disclosure relates to the field of optical element calibration technologies, and in particular, to a corner point encoding method, a calibration apparatus, an electronic device, and a storage medium.
Background
In the field of camera calibration, calibration objects with known dimensions are used, and internal and external parameters of a camera model are obtained by using a certain algorithm through establishing correspondence between points with known coordinates on the calibration objects and image points of the calibration objects.
For example, the markers may be checkerboards. However, the distribution of the grid on the checkerboard has periodicity, and each checkerboard corner point cannot be distinguished from each other. The common solution is to preset the size of the checkerboards in advance, completely shoot the checkerboards during shooting, and screen the collected angular points according to the preset checkerboard size, so as to calculate the position and sequence relation of all the checkerboards. However, there are similarities between the grids of the checkerboard, and the local checkerboard corner points are still indistinguishable from each other.
Disclosure of Invention
The application aims to provide a corner coding method, a calibration device, an electronic device and a storage medium, which can solve the problem that the corners of a checkerboard cannot be distinguished.
In a first aspect, an embodiment of the present invention provides a corner point encoding method, including:
determining a target checkerboard according to a target use scene, wherein the target checkerboard comprises first grids and second grids which are alternately arranged, and the intersection point of every four adjacent grids is an angular point;
determining the target number and the target basis of the required coding sequence according to the number of the angular points;
filling marks for the first type of grids of the target checkerboard, wherein the number of types of marks in the first type of grids of the target checkerboard is equal to the target base, and each type of mark represents a number;
and determining the code of each corner point according to the target number and the identification in the first type of grid.
In an optional embodiment, the determining a target checkerboard according to a target usage scenario includes:
calculating to obtain the target size of the full-coverage picture of the target camera according to the field angle of the target camera and the using distance of the target camera;
and determining a target checkerboard according to the target size and the grid size.
By the corner point coding method, the target size of the checkerboard needed to be used can be determined based on the field angle of the camera, and then the needed target checkerboard can be configured, so that the target checkerboard can meet the calibration requirement of the target camera.
In an optional embodiment, the determining a target checkerboard according to the target size and the size of the checkerboard includes:
determining the horizontal size and the vertical size of the target checkerboard according to the target size;
determining the grid size of the target checkerboard according to the horizontal size and the vertical size;
and determining the grid distribution in the target checkerboard according to the target size and the grid size to obtain the target checkerboard.
By the corner point coding method, the horizontal size and the vertical size of the target checkerboard are obtained respectively, so that the determined checkerboard can adapt to the size of the required target checkerboard.
In an optional embodiment, determining a code of each corner point according to the target number and the identifier in the first type of lattice includes:
selecting the first type of grids of the target quantity according to the positions of the target corner points aiming at the target corner points in the target checkerboard to obtain a target grid group, wherein the target corner points are any one corner point in the checkerboard;
and determining the code of the target corner point according to the identifier in the first type of grid in the target grid group.
By the corner point coding method, the number of the first type of lattices is determined based on the length of the target code, so that the length of the codes of the combined corner points can reach the required length.
In an optional embodiment, the determining, according to the identifier in the first type of lattice in the target lattice group, the code of the target corner point includes:
determining a target value set according to the identification in the first type of lattice in the target lattice group;
and sequencing the target value group according to a set arrangement rule to obtain the codes of the target corner points.
In an optional embodiment, the sorting the target value group according to a set arrangement rule to obtain the code of the target corner point includes:
and sequencing the target value groups according to the sequence from near to far of the grids corresponding to the values in the target value groups from the target corner points to obtain the codes of the target corner points.
By the corner coding method, the determined codes of the corners can have a coding rule by sequencing the target numerical value groups, so that the determined codes of the corners can be more suitable for the requirement of the code uniqueness of each corner.
In an optional embodiment, the filling the identifier for the first type of lattice of the target checkerboard includes:
constructing a pseudo-random matrix according to the target number and the target base, wherein the length of a row vector of the pseudo-random matrix is not less than the number of first-type lattices in each row of lattices in the target checkerboard, and the length of a column vector of the pseudo-random matrix is not less than the number of first-type lattices in each column of lattices in the target checkerboard;
selecting a partial matrix from the pseudo-random matrices;
and filling marks in the first type of grids in the target checkerboard according to the partial matrix.
By the corner coding method of the embodiment of the application, a pseudo-random matrix is constructed, so that a sequence obtained by a local matrix based on the pseudo-random matrix is unique, and each corner in a target checkerboard can be uniquely identified based on the pseudo-random matrix.
In a second aspect, an embodiment of the present invention provides a calibration method, including:
calibrating a camera to be calibrated by using a target checkerboard, wherein the target checkerboard is a checkerboard obtained by encoding by using the corner point encoding method in any one of the foregoing embodiments.
In a third aspect, an embodiment of the present invention provides an angular point encoding apparatus, including:
the system comprises a first determining module, a second determining module and a third determining module, wherein the first determining module is used for determining a target checkerboard according to a target use scene, the target checkerboard comprises a first type of grids and a second type of grids which are alternately arranged, and the intersection point of every four grids is an angular point;
the second determining module is used for determining the target number and the target basis of the required coding sequence according to the number of the angular points;
a filling module, configured to fill identifiers for first-class lattices of the target checkerboard, where the number of classes of identifiers in the first-class lattices of the target checkerboard is equal to the target base, and each class of identifier represents a number; filling the first type of grids of the target checkerboard with marks, including: constructing a pseudo-random matrix according to the target number and the target base, wherein the length of a row vector of the pseudo-random matrix is not less than the number of first-type lattices in each row of lattices in the target checkerboard, and the length of a column vector of the pseudo-random matrix is not less than the number of first-type lattices in each column of lattices in the target checkerboard; selecting a partial matrix from the pseudo-random matrices; filling marks in the first type of grids in the target checkerboard according to the partial matrix;
and the third determining module is used for determining the code of each corner point according to the target number and the identification in the first type of grids.
In a fourth aspect, an embodiment of the present invention provides a calibration apparatus, including:
the calibration module is configured to calibrate a camera to be calibrated by using a target checkerboard, where the target checkerboard is a checkerboard encoded by using the corner point encoding method according to any one of the foregoing embodiments.
In a fifth aspect, an embodiment of the present invention provides an electronic device, including: a processor, a memory storing machine-readable instructions executable by the processor, the machine-readable instructions when executed by the processor performing the steps of the method of any of the preceding embodiments when the electronic device is run.
In a sixth aspect, the present invention provides a computer-readable storage medium, on which a computer program is stored, where the computer program is executed by a processor to perform the steps of the method according to any one of the foregoing embodiments.
The beneficial effects of the embodiment of the application are that: the distinctive marks are filled in the first type of grids, so that each grid in the checkerboard can have distinctions, and furthermore, the corner points of the checkerboard are determined according to the grids with distinctions, so that the first type of grids around each corner point are not identical, each corner point can be uniquely identified based on the first type of grids around, so that each checkerboard corner point can have distinctions, and the convenience of calibrating the camera by using the target checkerboard can be improved.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are required to be used in the embodiments will be briefly described below, it should be understood that the following drawings only illustrate some embodiments of the present application and therefore should not be considered as limiting the scope, and for those skilled in the art, other related drawings can be obtained from the drawings without inventive effort.
Fig. 1 is a block diagram of an electronic device according to an embodiment of the present disclosure.
Fig. 2 is a flowchart of a corner point encoding method according to an embodiment of the present application.
Fig. 3 is a schematic diagram of a checkerboard provided by a corner point coding method according to an embodiment of the present application.
Fig. 4 is a functional block diagram of a corner point encoding apparatus according to an embodiment of the present application.
Detailed Description
The technical solution in the embodiments of the present application will be described below with reference to the drawings in the embodiments of the present application.
It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, it need not be further defined and explained in subsequent figures. Meanwhile, in the description of the present application, the terms "first", "second", and the like are used only for distinguishing the description, and are not to be construed as indicating or implying relative importance.
At present, the processing method for checkerboard mainly includes: 1) the checkerboard is directly detected through image recognition, but peripheral grids of the checkerboard are in the same layout, so that angular points of each checkerboard cannot be distinguished; 2) and some feature point detection methods such as SIFT (Scale-invariant feature transform) algorithm, SURF (Speeded Up Robust Features) algorithm, ORB (organized Fast and Robust Brief) algorithm, etc., finding feature points through a specific algorithm, calculating descriptors for each feature point to distinguish different feature points, which has a wide range of use and no requirement on images, but has complex calculation and low precision.
Based on the above research, embodiments of the present application provide a corner coding method, a calibration method, a corner coding device, a calibration device, an electronic device, and a computer-readable storage medium, which can identify corners of a checkerboard by using a simple method, and have a small calculation amount, and can better distinguish each corner on the checkerboard.
Example one
To facilitate understanding of the present embodiment, first, an electronic device for performing the corner point encoding method and the calibration method disclosed in the embodiments of the present application will be described in detail.
As shown in fig. 1, is a block schematic diagram of an electronic device. The electronic device 100 may include a memory 111, a memory controller 112, and a processor 113. It will be understood by those of ordinary skill in the art that the structure shown in fig. 1 is merely exemplary and is not intended to limit the structure of the electronic device 100. For example, electronic device 100 may also include more or fewer components than shown in FIG. 1, or have a different configuration than shown in FIG. 1, depending on the processing tasks required of electronic device 100.
The above-mentioned elements of the memory 111, the memory controller 112 and the processor 113 are directly or indirectly electrically connected to each other to realize data transmission or interaction. For example, the components may be electrically connected to each other via one or more communication buses or signal lines. The processor 113 is used to execute the executable modules stored in the memory.
The Memory 111 may be, but is not limited to, a Random Access Memory (RAM), a Read Only Memory (ROM), a Programmable Read-Only Memory (PROM), an Erasable Read-Only Memory (EPROM), an electrically Erasable Read-Only Memory (EEPROM), and the like. The memory 111 is configured to store a program, and the processor 113 executes the program after receiving an execution instruction, and the method executed by the electronic device 100 defined by the process disclosed in any embodiment of the present application may be applied to the processor 113, or implemented by the processor 113.
The processor 113 may be an integrated circuit chip having signal processing capability. The Processor 113 may be a general-purpose Processor, and includes a Central Processing Unit (CPU), a Network Processor (NP), and the like; the Integrated Circuit may also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component. The various methods, steps, and logic blocks disclosed in the embodiments of the present application may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The electronic device 100 in this embodiment may be configured to perform each step in each method provided in this embodiment. The implementation of the corner point coding method is described in detail below by means of several embodiments.
Example two
Please refer to fig. 2, which is a flowchart of a corner point encoding method according to an embodiment of the present application. The specific process shown in fig. 2 will be described in detail below.
Step 201, determining a target checkerboard according to a target use scene.
The target checkerboard comprises a first type of grid and a second type of grid which are alternately arranged, wherein the intersection point of every four adjacent grids is an angular point.
In one embodiment, the target dimension of the full coverage frame of the target camera is calculated according to the Field of view (FOV) of the target camera and the using distance of the target camera, and the target checkerboard is determined according to the target dimension and the checkerboard dimension.
Illustratively, the full-coverage picture represents a picture obtained by acquiring the picture of the distance in the current posture of the target camera. The size of the area occupied by the collected image in the real space is the target size.
Illustratively, the target size is the size of the target checkerboard.
In one example, the target camera horizontal field of view (HFOV) is 40 °, the vertical field of view (VF0V) is 30 °, and the use distance is 0.5 m.
The target size of the full-coverage screen of the target camera may include a size in a horizontal direction and a size in a vertical direction. It can be expressed as:
horizontal direction: 2 × 0.5 × tan (20 °) to 0.36 m;
vertical direction: 2 × 0.5 × tan (15 °) is 0.26 m.
Thus, in the above example, the target size of the full-coverage frame may be 0.36 × 0.26m2
Optionally, step 201 may include the following steps.
Step 2011, determining the horizontal size and the vertical size of the target checkerboard according to the target size.
In this embodiment, the target size is 0.36 × 0.26m2It can be determined that the target checkerboard has a horizontal dimension of 0.36m and a vertical dimension of 0.26 m.
Step 2012, determining the grid size of the target checkerboard according to the horizontal size and the vertical size.
Alternatively, the determined side length of the grid of the target checkerboard may be a divisor of both the horizontal dimension and the vertical dimension.
Taking the horizontal size of the target checkerboard as 0.36m and the vertical size as 0.26m as an example, the side length of the grid of the target checkerboard can be 1cm, 2cm, 0.5cm and the like.
In one example, if the length of a side of a cell of the target checkerboard is 2cm, the number of cells in the target checkerboard may be 18 × 13.
Illustratively, the selection of the size of the grid of the target checkerboard may vary depending on the accuracy required for camera calibration. For example, the higher the accuracy required for camera calibration, the smaller the side length of the grid of the target checkerboard; the lower the accuracy required for camera calibration, the larger the side length of the grid of the target checkerboard.
Step 2013, determining the grid distribution in the target checkerboard according to the target size and the grid size to obtain the target checkerboard.
Illustratively, the first type grids and the second type grids are alternately arranged on the target checkerboard to form the target checkerboard.
Illustratively, the above-mentioned first-type lattices may be black lattices, and the above-mentioned second-type lattices may be white lattices.
And step 202, determining the target number and the target base of the required coding sequence according to the number of the corner points.
For example, the number of corner points may be m × n array, and the checkerboard array corresponding to the corner points may be (m +1) × (n + 1). The number of non-repetitive codes required in the checkerboard is the number of first type cells in the checkerboard (m +1) × (n + 1)/2.
And determining the number of the determined targets and the maximum numerical value formed by the target base, wherein the maximum numerical value is not less than the number of the corner points.
Exemplarily, the number of the corner points is m × n. The number of targets may be denoted as i and the target base may be denoted as j. Maximum number j of target number and target base formationiGreater than the number of corner points m n.
For example, the number of cells in the target checkerboard may be 18 × 13, and the number of corner points in the target checkerboard may be 17 × 12.
In one example, the target base may be 2 and the number of targets may be 12. In another example, the target base may be 8 and the number of targets may be 4.
Step 203, filling marks for the first type of grids of the target checkerboard.
The category number of the identifiers in the first type of grid of the target checkerboard is equal to the target base, and each type of identifier represents a number.
Illustratively, when the target base is two, the type of the identifier is two.
Illustratively, when the target base is eight, the type of the identifier is eight.
Alternatively, the marks in the first type of lattice filled into the target checkerboard may be geometric figures, such as triangles, circles, trapezoids, and the like.
Optionally, the identifier in the first type of grid filled into the target checkerboard may also be a numerical value, for example, 1, 2, 3, 4, etc.
Alternatively, the identification in the first type of grid filled into the target grid may also be a symbol, for example, the symbols of @, #, &, #, etc.
Of course, the identification in the first type of grid filled into the target checkerboard may be other forms of identification codes. For example, each non-zero value corresponds to a different tag, and a value of zero corresponds to a null tag.
In this embodiment, a pseudo-random matrix may be constructed based on the target number and the target basis. The length of the row vector of the pseudo-random matrix is not less than the number of the first type grids in each row grid in the target checkerboard, and the length of the column vector of the pseudo-random matrix is not less than the number of the first type grids in each column grid in the target checkerboard.
Take the number of target checkerboard cells as 18 x 13 as an example. Wherein, the number of the first type grids in the target checkerboard is 18 × 13/2 ═ 117. Therefore, in this example, the number of codes that need not be repeated is 117. In this example, the number of values in the pseudo-random matrix is not less than 117, the length of the row vector of the pseudo-random matrix is not less than the number of first-type lattices in each row lattice in the target checkerboard, and the length of the column vector of the pseudo-random matrix is not less than the number of first-type lattices in each column lattice in the target checkerboard.
In one example, the target base may be 2, and the target number may be 12, then the corresponding pseudo-random matrix may be a 65 x 63 matrix. In this example, the values in the pseudo-random matrix are binary values.
In one example, when the target number may be 6 and the target base may be 2, the corresponding pseudo-random matrix may be a 33 × 31 matrix. In this example, the values in the pseudo-random matrix are binary values.
Illustratively, as the target basis is selected differently, the values in the pseudo-random matrix may also be different. For example, when the target base may be 8, then the values in the pseudo-random matrix may be octal values. For another example, when the target basis may be 16, then the values in the pseudo-random matrix may be hexadecimal values.
Optionally, a partial matrix is selected from the pseudo-random matrices, and the first type of grid in the target checkerboard is filled with the identifier according to the partial matrix.
Illustratively, the number of values of the row vector of the partial matrix is not less than the number of lattices of each row of the lattice array formed by the first-type lattices of the target checkerboard. The number of values of the column vector of the partial matrix is not less than the number of lattices of each column of the lattice array formed by the first type lattices of the target checkerboard.
Illustratively, selecting a partial matrix from the pseudo-random matrices mentioned above, and filling a first type of grid in the target checkerboard, includes: when the numerical value of the first type of grid in the target checkerboard corresponding to the partial matrix of the pseudo-random matrix is one, filling a mark corresponding to the numerical value one in the first type of grid; and when the numerical value of the first type of grid in the target checkerboard corresponding to the partial matrix of the pseudo-random matrix is zero, filling the first type of grid with an identifier corresponding to the numerical value zero.
As shown in fig. 3, the target checkerboard in one example is shown. The first type of cells in the drawing are black cells, and the second type of cells are white cells. Wherein, the target checkerboard comprises 18 × 13 grids. In the example shown in fig. 3, the representation of the filled "∘" geometry in the figure is 1, and the representation of the unfilled geometry is 0.
In the example shown in fig. 3, the local matrix is:
Figure GDA0002766926380000141
and filling the mark into the target checkerboard according to the local matrix to obtain the target checkerboard shown in fig. 3.
And 204, determining the code of each corner point according to the target number and the marks in the first type of grids.
Optionally, the code for each corner point corresponds to the coordinates of the corner point in the target checkerboard.
In this embodiment, the length of the code of each corner point is equal to the target number.
Optionally, the target checkerboard obtained in this embodiment may be used to calibrate the camera.
In one embodiment, step 204 may include the following steps.
Step 2041, selecting the first type of grids of the target number according to the positions of the target corner points aiming at the target corner points in the target checkerboard, so as to obtain a target grid group.
The target corner point is any one corner point in the checkerboard.
Illustratively, according to the determined number of the targets, a target grid group is selected from the positions of the target corner points. Illustratively, the target grid set is the first type of grid closest to the target corner point.
Step 2042, determining the code of the target corner point according to the target number and the identifier in the first type of grid in the target grid group.
In one embodiment, the target value set is determined according to the identification in the first type of lattice in the target lattice group; and sequencing the target value group according to a set arrangement rule to obtain the codes of the target corner points.
In one embodiment, sorting the target value group according to a set arrangement rule to obtain the coding of the target corner point includes: and sequencing the target value groups according to the sequence from near to far of the grids corresponding to the values in the target value groups from the target corner points to obtain the codes of the target corner points.
In one embodiment, sorting the target value group according to a set arrangement rule to obtain the coding of the target corner point includes: and forming a numerical matrix according to an array formed by the grids corresponding to the target numerical value group in the first class grids in the target checkerboard, and connecting row vectors of the numerical matrix once to form the code of the target angular point.
In one embodiment, sorting the target value group according to a set arrangement rule to obtain the coding of the target corner point includes: and forming a numerical matrix according to an array formed by the grids corresponding to the target numerical value group in the first type grids in the target checkerboard, wherein the numerical matrix is used as the code of the target angular point.
Optionally, the pseudo-random matrix is a finite field.
In this embodiment, according to the characteristics of the finite field, the code of the target corner point is unique in the target checkerboard. That is, the codes of any two target corner points in the target checkerboard are different.
Optionally, the method in this embodiment may further include: acquiring image data of a target checkerboard of an entity; and identifying the marks in the first type of grids in the image data to obtain the marks in the first type of grids around each corner point, and determining the unique code corresponding to each corner point in the acquired image data according to the marks in the first type of grids around each corner point.
Alternatively, the coordinates in the image coordinate system of each corner point may be determined from the unique code of the corner point.
In the corner coding method of the embodiment of the application, the distinguishing marks are filled in the first type of grids, so that each grid in the checkerboard can have a difference, and further, the corners of the checkerboard are determined according to the distinguishing grids, so that the first type of grids around each corner are not identical, each corner can be uniquely identified based on the surrounding first type of grids, each checkerboard corner can have a difference, and the convenience of calibrating a camera by using the target checkerboard can be improved.
EXAMPLE III
Based on the same application concept, the embodiment of the present application further provides a corner encoding apparatus corresponding to the corner encoding method, and since the principle of the apparatus in the embodiment of the present application for solving the problem is similar to that in the embodiment of the corner encoding method, the apparatus in the embodiment may be implemented as described in the embodiment of the above method, and repeated details are not described again.
Please refer to fig. 4, which is a schematic diagram of functional modules of a corner point encoding apparatus according to an embodiment of the present application. Each module in the corner point encoding apparatus in this embodiment is configured to perform each step in the above method embodiment. The corner point encoding device includes: a first determination module 301, a second determination module 302, a padding module 303, and a third determination module 304; wherein the content of the first and second substances,
the first determining module 301 is configured to determine a target checkerboard according to a target usage scenario, where the target checkerboard includes first type lattices and second type lattices which are alternately arranged, and an intersection of every four lattices is an angular point;
a second determining module 302, configured to determine the target number and the target basis of the required coding sequence according to the number of the corner points;
a filling module 303, configured to fill identifiers for first type lattices of the target checkerboard, where the number of types of identifiers in the first type lattices of the target checkerboard is equal to the target base, and each type of identifier represents a number;
a third determining module 304, configured to determine a code of each corner point according to the target number and the identifier in the first type of lattice.
In one possible implementation, the first determining module 301 is configured to:
calculating to obtain the target size of the full-coverage picture of the target camera according to the field angle of the target camera and the using distance of the target camera;
and determining a target checkerboard according to the target size and the grid size.
In one possible implementation, the first determining module 301 is configured to:
determining the horizontal size and the vertical size of the target checkerboard according to the target size;
determining the grid size of the target checkerboard according to the horizontal size and the vertical size;
and determining the grid distribution in the target checkerboard according to the target size and the grid size to obtain the target checkerboard.
In a possible implementation, the third determining module 304 is configured to:
selecting the first type of grids of the target quantity according to the positions of the target corner points aiming at the target corner points in the target checkerboard to obtain a target grid group, wherein the target corner points are any one corner point in the checkerboard;
and determining the code of the target corner point according to the identifier in the first type of grid in the target grid group.
In one possible implementation, the third determining module 304 includes: the array sorting device comprises an array determining unit and an array sorting unit; wherein the content of the first and second substances,
the array determining unit is used for determining a target array according to the marks in the first type of lattices in the target lattice group;
and the array sequencing unit is used for sequencing the target array according to a set arrangement rule so as to obtain the codes of the target corner points.
In one possible embodiment, the array sorting unit is configured to:
and sequencing the target value groups according to the sequence from near to far of the grids corresponding to the values in the target value groups from the target corner points to obtain the codes of the target corner points.
In a possible implementation, the filling module 303 is configured to:
constructing a pseudo-random matrix according to the target number and the target base, wherein the length of a row vector of the pseudo-random matrix is not less than the number of first-type lattices in each row of lattices in the target checkerboard, and the length of a column vector of the pseudo-random matrix is not less than the number of first-type lattices in each column of lattices in the target checkerboard;
selecting a partial matrix from the pseudo-random matrices;
and filling marks in the first type of grids in the target checkerboard according to the partial matrix.
Example four
The calibration method provided by the embodiment of the application. In the calibration method in this embodiment, the calibration method may include: and calibrating the camera to be calibrated by using the target checkerboard.
The target checkerboard is a checkerboard obtained by using the corner point coding method provided in the second embodiment.
Illustratively, the target checkerboard is shot, the shot image is subjected to image recognition, and the patterns in the first type of grids around the corner point are recognized to determine the code corresponding to the corner point.
EXAMPLE five
Based on the same application concept, a calibration device corresponding to the calibration method is further provided in the embodiment of the present application, and since the principle of solving the problem of the device in the embodiment of the present application is similar to that in the embodiment of the calibration method, the implementation of the device in the embodiment of the present application may refer to the description in the embodiment of the method, and repeated details are not repeated.
The modules in the calibration apparatus in this embodiment are used to perform the steps in the above-described method embodiments. The calibration device comprises: and the calibration module is used for calibrating the camera to be calibrated by using the target checkerboard.
The target checkerboard is a checkerboard obtained by using the corner point coding method provided in the second embodiment.
Furthermore, an embodiment of the present application further provides a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the computer program performs the steps of the corner point encoding method and/or the calibration method described in the above method embodiments.
The computer program product of the corner point encoding method and the calibration method provided in the embodiments of the present application includes a computer-readable storage medium storing a program code, where instructions included in the program code may be used to execute the steps of the corner point encoding method and the calibration method described in the embodiments of the method.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus and method can be implemented in other ways. The apparatus embodiments described above are merely illustrative, and for example, the flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods and computer program products according to various embodiments of the present application. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
In addition, functional modules in the embodiments of the present application may be integrated together to form an independent part, or each module may exist separately, or two or more modules may be integrated to form an independent part.
The functions, if implemented in the form of software functional modules and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application or portions thereof that substantially contribute to the prior art may be embodied in the form of a software product stored in a storage medium and including instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes. It is noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
The above description is only a preferred embodiment of the present application and is not intended to limit the present application, and various modifications and changes may be made by those skilled in the art. Any modification, equivalent replacement, improvement and the like made within the spirit and principle of the present application shall be included in the protection scope of the present application. It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, it need not be further defined and explained in subsequent figures.
The above description is only for the specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present application, and shall be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (11)

1. A method of corner coding, comprising:
determining a target checkerboard according to a target use scene, wherein the target checkerboard comprises first grids and second grids which are alternately arranged, and the intersection point of every four adjacent grids is an angular point;
determining the target number and the target basis of the required coding sequence according to the number of the angular points;
filling marks for the first type of grids of the target checkerboard, wherein the number of types of marks in the first type of grids of the target checkerboard is equal to the target base, and each type of mark represents a number;
determining the code of each corner point according to the target number and the identification in the first type of grids, wherein the target grids are used for calibrating the camera;
the filling of the mark for the first type of grid of the target checkerboard comprises:
constructing a pseudo-random matrix according to the target number and the target base, wherein the length of a row vector of the pseudo-random matrix is not less than the number of first-type lattices in each row of lattices in the target checkerboard, and the length of a column vector of the pseudo-random matrix is not less than the number of first-type lattices in each column of lattices in the target checkerboard;
selecting a partial matrix from the pseudo-random matrices;
and filling marks in the first type of grids in the target checkerboard according to the partial matrix.
2. The method of claim 1, wherein determining the target checkerboard according to the target usage scenario comprises:
calculating to obtain the target size of the full-coverage picture of the target camera according to the field angle of the target camera and the using distance of the target camera;
and determining a target checkerboard according to the target size and the grid size.
3. The method of claim 2, wherein said determining a target checkerboard from said target size and a grid size comprises:
determining the horizontal size and the vertical size of the target checkerboard according to the target size;
determining the grid size of the target checkerboard according to the horizontal size and the vertical size;
and determining the grid distribution in the target checkerboard according to the target size and the grid size to obtain the target checkerboard.
4. The method of claim 1, wherein determining the code for each corner point according to the target number and the identification in the first type of lattice comprises:
selecting the first type of grids of the target quantity according to the positions of the target corner points aiming at the target corner points in the target checkerboard to obtain a target grid group, wherein the target corner points are any one corner point in the checkerboard;
and determining the code of the target corner point according to the identifier in the first type of grid in the target grid group.
5. The method according to claim 4, wherein said determining the coding of the target corner point according to the identification in the first type of lattice in the target lattice group comprises:
determining a target value set according to the identification in the first type of lattice in the target lattice group;
and sequencing the target value group according to a set arrangement rule to obtain the codes of the target corner points.
6. The method according to claim 5, wherein said sorting the target value group according to the set arrangement rule to obtain the coding of the target corner point comprises:
and sequencing the target value groups according to the sequence from near to far of the grids corresponding to the values in the target value groups from the target corner points to obtain the codes of the target corner points.
7. A calibration method, comprising:
calibrating a camera to be calibrated by using a target checkerboard, wherein the target checkerboard is a checkerboard coded by using the corner coding method of any one of claims 1 to 6.
8. A corner point encoding apparatus, comprising:
the system comprises a first determining module, a second determining module and a third determining module, wherein the first determining module is used for determining a target checkerboard according to a target use scene, the target checkerboard comprises a first type of grids and a second type of grids which are alternately arranged, and the intersection point of every four grids is an angular point;
the second determining module is used for determining the target number and the target basis of the required coding sequence according to the number of the angular points;
a filling module, configured to fill identifiers for first-class lattices of the target checkerboard, where the number of classes of identifiers in the first-class lattices of the target checkerboard is equal to the target base, and each class of identifier represents a number; filling the first type of grids of the target checkerboard with marks, including: constructing a pseudo-random matrix according to the target number and the target base, wherein the length of a row vector of the pseudo-random matrix is not less than the number of first-type lattices in each row of lattices in the target checkerboard, and the length of a column vector of the pseudo-random matrix is not less than the number of first-type lattices in each column of lattices in the target checkerboard; selecting a partial matrix from the pseudo-random matrices; filling marks in the first type of grids in the target checkerboard according to the partial matrix;
and the third determining module is used for determining the code of each corner point according to the target number and the identification in the first type of grids.
9. A calibration device, comprising:
a calibration module, configured to calibrate a camera to be calibrated using a target checkerboard, where the target checkerboard is a checkerboard encoded by using the corner point encoding method according to any one of claims 1 to 6.
10. An electronic device, comprising: a processor, a memory storing machine-readable instructions executable by the processor, the machine-readable instructions when executed by the processor performing the steps of the method of any one of claims 1 to 7 when the electronic device is run.
11. A computer-readable storage medium, characterized in that a computer program is stored on the computer-readable storage medium, which computer program, when being executed by a processor, performs the steps of the method according to any one of claims 1 to 7.
CN202010805424.0A 2020-08-12 2020-08-12 Corner point coding method, calibration method, device, electronic equipment and storage medium Active CN111739106B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010805424.0A CN111739106B (en) 2020-08-12 2020-08-12 Corner point coding method, calibration method, device, electronic equipment and storage medium
PCT/CN2021/098857 WO2022033145A1 (en) 2020-08-12 2021-06-08 Corner coding method, calibration method, device, electronic device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010805424.0A CN111739106B (en) 2020-08-12 2020-08-12 Corner point coding method, calibration method, device, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN111739106A CN111739106A (en) 2020-10-02
CN111739106B true CN111739106B (en) 2020-12-25

Family

ID=72658335

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010805424.0A Active CN111739106B (en) 2020-08-12 2020-08-12 Corner point coding method, calibration method, device, electronic equipment and storage medium

Country Status (2)

Country Link
CN (1) CN111739106B (en)
WO (1) WO2022033145A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111739106B (en) * 2020-08-12 2020-12-25 成都极米科技股份有限公司 Corner point coding method, calibration method, device, electronic equipment and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060056223A (en) * 2004-11-19 2006-05-24 삼성전자주식회사 Checker board having asymmetrical pattern, method and apparatus for calibrating images obtained from image acquisition apparatus using the same
CN103047943A (en) * 2012-12-31 2013-04-17 吉林大学 Method for detecting vehicle door outer plate shape and size based on single-projection encoding structured light
CN106671081A (en) * 2016-11-30 2017-05-17 同济大学 Lower-mobility robot kinematics calibration method based on monocular vision
CN107657646A (en) * 2017-09-22 2018-02-02 武汉中观自动化科技有限公司 A kind of half pseudorandomcode pattern and its generation method and system
CN108305286A (en) * 2018-01-25 2018-07-20 哈尔滨工业大学深圳研究生院 Multi-view stereo vision foot type method for three-dimensional measurement, system and medium based on color coding
KR20190028889A (en) * 2017-09-11 2019-03-20 전자부품연구원 Plate for Simultaneous Calibration of Video Camera and Thermo-Graphic Camera

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106225719B (en) * 2016-08-04 2018-12-04 西安交通大学 A kind of generation method and device of character array structure light coding pattern
CN110276810B (en) * 2018-03-14 2023-04-07 宁波盈芯信息科技有限公司 Method for generating structured light speckle coding pattern
KR102477480B1 (en) * 2018-03-20 2022-12-14 주식회사 에이치엘클레무브 Apparatus for calibrating for around view camera and method thereof
CN108734743A (en) * 2018-04-13 2018-11-02 深圳市商汤科技有限公司 Method, apparatus, medium and electronic equipment for demarcating photographic device
CN108765328B (en) * 2018-05-18 2021-08-27 凌美芯(北京)科技有限责任公司 High-precision multi-feature plane template and distortion optimization and calibration method thereof
CN110047109B (en) * 2019-03-11 2023-02-14 南京航空航天大学 Camera calibration plate based on self-identification mark and identification detection method thereof
CN111243032B (en) * 2020-01-10 2023-05-12 大连理工大学 Full-automatic detection method for checkerboard corner points
CN111340893A (en) * 2020-03-24 2020-06-26 深圳奥比中光科技有限公司 Calibration plate, calibration method and calibration system
CN111739106B (en) * 2020-08-12 2020-12-25 成都极米科技股份有限公司 Corner point coding method, calibration method, device, electronic equipment and storage medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060056223A (en) * 2004-11-19 2006-05-24 삼성전자주식회사 Checker board having asymmetrical pattern, method and apparatus for calibrating images obtained from image acquisition apparatus using the same
CN103047943A (en) * 2012-12-31 2013-04-17 吉林大学 Method for detecting vehicle door outer plate shape and size based on single-projection encoding structured light
CN106671081A (en) * 2016-11-30 2017-05-17 同济大学 Lower-mobility robot kinematics calibration method based on monocular vision
KR20190028889A (en) * 2017-09-11 2019-03-20 전자부품연구원 Plate for Simultaneous Calibration of Video Camera and Thermo-Graphic Camera
CN107657646A (en) * 2017-09-22 2018-02-02 武汉中观自动化科技有限公司 A kind of half pseudorandomcode pattern and its generation method and system
CN108305286A (en) * 2018-01-25 2018-07-20 哈尔滨工业大学深圳研究生院 Multi-view stereo vision foot type method for three-dimensional measurement, system and medium based on color coding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
伪随机编码结构光***的标定;唐明苏 等;《仪器仪表学报》;20140630;第35卷(第6期);第1354-1362页 *

Also Published As

Publication number Publication date
CN111739106A (en) 2020-10-02
WO2022033145A1 (en) 2022-02-17

Similar Documents

Publication Publication Date Title
CN104915949B (en) A kind of image matching method of combination point feature and line feature
CN110956660A (en) Positioning method, robot, and computer storage medium
CN105164700A (en) Using probabilistic model for detecting object in visual data
CN108109169B (en) Pose estimation method and device based on rectangular identifier and robot
CN112686950B (en) Pose estimation method, pose estimation device, terminal equipment and computer readable storage medium
EP3561729B1 (en) Method for detecting and recognising long-range high-density visual markers
KR20120023052A (en) Method and device for determining shape congruence in three dimensions
US8164633B2 (en) Calibration apparatus and method for imaging devices and computer program
CN111739106B (en) Corner point coding method, calibration method, device, electronic equipment and storage medium
CN107067441B (en) Camera calibration method and device
Andaló et al. Efficient height measurements in single images based on the detection of vanishing points
CN113111513A (en) Sensor configuration scheme determination method and device, computer equipment and storage medium
CN108734745B (en) Calibration method and device and projection equipment
US9734550B1 (en) Methods and apparatus for efficiently determining run lengths and identifying patterns
US11004205B2 (en) Hardware accelerator for histogram of oriented gradients computation
US9158956B2 (en) Reader, reading method and computer program product
CN111739081A (en) Feature point matching method, splicing method and device, electronic equipment and storage medium
CN115423855B (en) Template matching method, device, equipment and medium for image
CN113205558B (en) Camera calibration feature sorting method, calibration board and equipment
CN111135562B (en) Land parcel pickup method, apparatus, electronic device and computer readable storage medium
CN117115242B (en) Identification method of mark point, computer storage medium and terminal equipment
US8660367B1 (en) Template matching systems, methods, and articles of manufacture
CN117455876A (en) Scene color difference detection method and device, electronic equipment and storage medium
CN117115275A (en) Distortion parameter determination method and device and computer equipment
CN113487634A (en) Method and device for correlating height and area of building

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant