CN112184826B - Calibration plate and calibration method - Google Patents

Calibration plate and calibration method Download PDF

Info

Publication number
CN112184826B
CN112184826B CN201910606513.XA CN201910606513A CN112184826B CN 112184826 B CN112184826 B CN 112184826B CN 201910606513 A CN201910606513 A CN 201910606513A CN 112184826 B CN112184826 B CN 112184826B
Authority
CN
China
Prior art keywords
positioning block
coding
calibration
calibration plate
graphic unit
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
CN201910606513.XA
Other languages
Chinese (zh)
Other versions
CN112184826A (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.)
Hangzhou Hikrobot Co Ltd
Original Assignee
Hangzhou Hikrobot 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 Hangzhou Hikrobot Co Ltd filed Critical Hangzhou Hikrobot Co Ltd
Priority to CN201910606513.XA priority Critical patent/CN112184826B/en
Priority to EP20837644.2A priority patent/EP3996283B1/en
Priority to US17/624,953 priority patent/US11843395B2/en
Priority to PCT/CN2020/100304 priority patent/WO2021004414A1/en
Publication of CN112184826A publication Critical patent/CN112184826A/en
Application granted granted Critical
Publication of CN112184826B publication Critical patent/CN112184826B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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

Abstract

The invention discloses a calibration plate and a calibration method adopting the calibration plate, wherein the calibration plate comprises the following components: a substrate; a feature pattern printed on a surface of the substrate, the feature pattern having a plurality of feature points therein; a coded graphic unit overlaying the feature pattern; wherein the encoding graphic unit includes: the four positioning blocks are asymmetrically arranged to express the direction information, and the coding area is not occupied by the four positioning blocks, and the coding area records the calibration information of the marking points of the coding graphic units. According to the invention, the coding graphic unit containing the direction information and the calibration information is embedded in the characteristic pattern of the calibration plate, so that the calibration plate calibrated by adopting the two-dimensional code is replaced, the cost required by adopting the two-dimensional code generating software is saved, the method is not limited by the use limit of the existing two-dimensional code generating software, the calibration information of the calibration plate can be directly obtained from the image of the calibration plate when the calibration is performed, the automatic calibration of the camera is realized, and the calibration efficiency and the calibration accuracy are improved.

Description

Calibration plate and calibration method
Technical Field
The invention relates to the technical field of machine vision, in particular to a calibration plate and a calibration method.
Background
In image measurement processes and machine vision applications, in order to determine the correlation between the three-dimensional geometric position of a point on the surface of a spatial object and its corresponding point in the image, a geometric model of camera imaging must be established, and these geometric model parameters are camera parameters. Under most conditions these parameters must be obtained by experimentation and calculation, and the process of solving these parameters is called camera calibration (or camera calibration). In image measurement or machine vision application, calibration of camera parameters is a very critical link, and the accuracy of a calibration result and the stability of an algorithm directly influence the accuracy of a result generated by camera work. Therefore, the camera calibration is performed on the premise of performing subsequent work, and the improvement of the calibration precision is the focus of scientific research work.
In applications such as machine vision, image measurement, photogrammetry, three-dimensional reconstruction, etc., to correct lens aberrations; determining a conversion relation between the physical size and the pixels; and determining the interrelation between the three-dimensional geometric position of a certain point on the surface of the space object and the corresponding point in the image, wherein a geometric model imaged by the camera needs to be established. The geometric model of the camera can be obtained by shooting the pattern array flat plate with the fixed space through the camera and calculating through a calibration algorithm, so that high-precision measurement and reconstruction results are obtained. And the flat plate with the fixed-pitch pattern array is the calibration plate (Calibration Target).
In the existing calibration plate, two-dimensional codes are embedded in characteristic patterns of the calibration plate, the directions of the calibration plate and indexes of areas where the two-dimensional codes are located are recorded in the two-dimensional codes, and therefore association information among multiple cameras is provided during multi-camera calibration. However, when the calibration plate is manufactured, two-dimensional code generation software is needed, so that the manufacturing cost of the calibration plate is increased.
Disclosure of Invention
In view of this, the present invention provides a calibration board, a calibration method, an electronic device, and a non-volatile computer readable storage medium, which replace a calibration board calibrated by two-dimensional codes, so as to save the cost required by generating software by two-dimensional codes.
The technical scheme of the invention is realized as follows:
a calibration plate, comprising:
a substrate;
a feature pattern printed on a surface of the substrate, the feature pattern having a plurality of feature points therein;
a coding graphic unit which is square and covers the characteristic pattern; wherein,
the encoded graphic unit includes:
the device comprises a first positioning block, a second positioning block, a third positioning block, a fourth positioning block and a coding region; wherein,
the first positioning block, the second positioning block and the third positioning block are respectively positioned in a first corner area, a second corner area and a third corner area of the coding graphic unit, wherein the second corner area and the third corner area are two corner areas on one diagonal line of the coding graphic unit;
The coding region is positioned in an area which is not occupied by the first positioning block, the second positioning block and the third positioning block in the coding graphic unit, and the coding region records calibration information of a marking point of the coding graphic unit, wherein the marking point is overlapped with one of the characteristic points in the characteristic pattern;
the fourth positioning block is embedded in the coding region, and in a quadrilateral formed by the center of the first positioning block, the center of the second positioning block, the center of the third positioning block and the center of the fourth positioning block, the inner angle of the fourth positioning block is the largest inner angle of four inner angles of the quadrilateral, and the distance between the center of the fourth positioning block and the center of the third positioning block is smaller than the distance between the center of the fourth positioning block and the center of the second positioning block.
Further, the encoded graphic unit has a first edge, a second edge, a third edge, and a fourth edge, and the first edge perpendicularly intersects the second edge, the second edge perpendicularly intersects the third edge, the third edge perpendicularly intersects the fourth edge, and the fourth edge perpendicularly intersects the first edge;
The edge of the first positioning block is tangential to the first edge and the second edge at the same time;
the edge of the second positioning block is tangential to the second edge and the third edge at the same time;
the edge of the third positioning block is tangential to the first edge and the fourth edge at the same time;
the edge of the fourth positioning block is tangential to the fourth edge only.
Further, the first positioning block, the second positioning block, the third positioning block and the fourth positioning block are identical in shape and size.
Further, the first positioning block, the second positioning block, the third positioning block and the fourth positioning block are all concentric and are provided with a plurality of ring shapes with alternate colors.
Further, the feature pattern is:
a checkerboard pattern, a dot pattern, or a hexagonal pattern.
Further, the marking points of the coding graphic unit are:
a feature point to which a specified one of the four corners of the coded graphic unit is directed and which is closest to the specified one corner;
the calibration information of the marking points of the coding graphic units comprises:
and marking index coordinates of the marking points of the coding graphic units in all feature points in the calibration plate and physical intervals between adjacent feature points in the calibration plate, wherein the marking index coordinates refer to: index coordinates of the marking points recorded in the coding region in all characteristic points in the calibration plate;
Or,
and the physical coordinates of the marking points of the coding graphic units in the calibration plate.
Further, the number of the encoded graphic units is at least one.
Further, the coding region is a dot matrix formed by data points, and the data points are square points or round points;
the data points include two color data points that are distinguished from each other, where the data point for one color represents 0 and the data point for the other color represents 1.
Further, the lattice includes a data points;
the a data points are arranged to form b data code words and c error correction code words, and each code word is a binary d bit; wherein,
the calibration information of the calibration plate is recorded in the b data code words;
the error correction code word is used for performing error correction decoding on the data code word;
wherein a >1, b >1, c > b, d >1, and a= (b+c) ×d.
Further, when the calibration information of the marking points of the coding graphic unit is the physical spacing between the calibration index coordinates of the marking points of the coding graphic unit in all the feature points in the calibration board and the adjacent feature points in the calibration board, the content after the b data code words are converted into decimal values comprises: and the column serial numbers and the row serial numbers of the marking points of the coding graphic units of the dot matrix in all the characteristic points and the physical distance between the adjacent characteristic points in the calibration plate.
Further, the encoded graphic unit further includes:
the static area is embedded in the static area and is used for isolating the characteristic patterns from the first positioning block, the second positioning block, the third positioning block, the fourth positioning block and the coding area.
A calibration method, comprising:
shooting a calibration plate image containing the calibration plate according to any one of the above, and extracting calibration plate information from the calibration plate image;
and performing calibration processing according to the extracted calibration plate information.
Further, the extracting calibration plate information from the captured calibration plate image includes:
searching the coding graphic unit in the calibration plate image, and reading calibration information of marking points of the coding graphic unit recorded in the coding region in the coding graphic unit; wherein, the marking points of the coding graphic unit are as follows: a feature point to which a specified one of the four corners of the coded graphic unit is directed and which is closest to the specified one corner;
searching the characteristic points in the calibration plate image, acquiring pixel coordinates of each characteristic point in the calibration plate image, and determining image index coordinates of each characteristic point in the calibration plate image according to the pixel coordinates of each characteristic point in the calibration plate image, wherein the image index coordinates refer to: index coordinates in part of feature points which are only shot in the calibration plate image and are obtained from the calibration plate image;
And correcting the image index coordinates and physical coordinates of each characteristic point in the calibration plate image according to the calibration information of the marking points of the coding graphic unit.
Further, the searching the coding graphic unit in the calibration plate image, and reading the calibration information of the marking point of the coding graphic unit recorded in the coding region in the coding graphic unit, includes:
searching the first positioning block, the second positioning block, the third positioning block and the fourth positioning block of the coding graphic unit in the calibration plate image, and determining the direction of the coding graphic unit according to the searched first positioning block, second positioning block, third positioning block and fourth positioning block;
searching a marking point of the coding graphic unit in the calibration plate image, determining pixel coordinates of the marking point of the coding graphic unit in the calibration plate image, and determining image index coordinates of the marking point in all feature points in the calibration plate image according to the pixel coordinates of the marking point in the calibration plate image and the pixel coordinates of each feature point in the calibration plate image;
In the calibration plate image, determining the position of the coding region according to the positions of the first positioning block, the second positioning block, the third positioning block and the fourth positioning block in the coding graphic unit;
and reading the coding region to obtain the calibration information of the marking points of the coding graphic units recorded in the coding region.
Further, the searching the first positioning block, the second positioning block, the third positioning block and the fourth positioning block of the coding graphic unit in the calibration plate image includes:
constructing a quadrangle by taking the centers of the four positioning blocks included in the coding graphic unit as vertexes;
acquiring four inner angles of the quadrangle, and determining a positioning block at the position of the largest inner angle as the fourth positioning block in the four inner angles;
determining the positioning blocks closest to the fourth positioning block on two sides of the largest inner angle as the third positioning block, determining the positioning blocks farthest from the fourth positioning block on two sides of the largest inner angle as the second positioning block, and determining the rest positioning blocks as the first positioning block;
the determining the direction of the coding graphic unit according to the searched first positioning block, second positioning block, third positioning block and fourth positioning block comprises the following steps:
One side of the first positioning block and the second positioning block is determined as the upper side of the coding graphic unit, one side of the third positioning ring and the fourth positioning block is determined as the lower side of the coding graphic unit, one side of the first positioning block and the third positioning block is determined as the left side of the coding graphic unit, and the other side of the coding graphic unit opposite to the left side of the coding graphic unit is determined as the right side of the coding graphic unit.
Further, when the calibration information of the marking point of the coding graphic unit is the calibration index coordinates of the marking point of the coding graphic unit in all feature points in the calibration board and the physical distance between the adjacent feature points in the calibration board, the correcting the image index coordinates and the physical coordinates of each feature point in the calibration board image according to the calibration information of the marking point of the coding graphic unit includes:
establishing a mapping relation from the image index coordinates to the calibration index coordinates according to the image index coordinates and the calibration index coordinates of the marking points;
transforming the image index coordinates of all the characteristic points in the calibration plate image into calibration index coordinates by using the mapping relation;
And obtaining the physical coordinates of each feature point in the calibration plate image according to the calibration index coordinates of each feature point in the calibration plate image and the physical distance between adjacent feature points.
Further, when the calibration information of the marking point of the coding graphic unit is the physical coordinate of the marking point of the coding graphic unit in the calibration board, the correcting the image index coordinate and the physical coordinate of each feature point in the calibration board image according to the calibration information of the marking point of the coding graphic unit includes:
receiving the physical distance between adjacent characteristic points in the calibration plate input by a user;
and obtaining the physical coordinates of all the characteristic points in the calibration plate according to the physical coordinates of the marking points of the coding graphic unit in the calibration plate and the physical distances between the adjacent characteristic points in the calibration plate.
Further, the obtaining calibration information of the marking point of the coding graphic unit recorded in the coding region includes:
performing binarization processing on the coding region;
acquiring binary information recorded in the coding region from the initial position of the coding region;
obtaining coding information of the coding region according to the coding scheme of the coding region by binary information recorded by the coding region;
And performing error correction decoding on the encoded information, and taking a decoding result as calibration information of the marking point of the encoded graphic unit if the error value of the error correction decoding is less than a preset threshold value.
Further, when the coding information of the coding region is obtained from the binary information recorded in the coding region, bit exclusive or processing is performed on the obtained binary information and the data mask matrix to obtain pre-mask information, and the coding information of the coding region is obtained from the pre-mask information.
Further, the error correction decoding is reed-solomon RS error correction decoding.
Further, the obtaining the binary information recorded in the coding region includes:
sequentially reading data points of each row in a lattice of the code region after binarization processing from a first row adjacent to the upper side of the code graphic unit in the order from the left side of the code graphic unit to the right side of the code graphic unit;
when the row divided by the fourth positioning block is read, firstly, the data point of the row positioned at the left side part of the fourth positioning block is read, then the fourth positioning block is skipped, and the data point of the row positioned at the right side part of the fourth positioning block is continuously read.
Further, the obtaining the binary information recorded in the coding region includes:
sequentially reading data points of each column in the lattice from a first column adjacent to the left side of the coding graphic unit in the lattice of the coding region after binarization processing along the sequence from the upper side of the coding graphic unit to the lower side of the coding graphic unit; or,
sequentially reading data points of each column in the lattice from a first column adjacent to the left side of the coding graphic unit in the lattice of the coding region after binarization processing along the sequence from the lower side of the coding graphic unit to the upper side of the coding graphic unit; or,
sequentially reading data points of each column in the lattice from a first column adjacent to the right side of the coding graphic unit in the lattice of the coding region after binarization processing along the sequence from the upper side of the coding graphic unit to the lower side of the coding graphic unit; or,
and sequentially reading data points of each column in the lattice from a first column adjacent to the right side of the coding graphic unit in the lattice of the coding region after binarization processing along the sequence from the lower side of the coding graphic unit to the upper side of the coding graphic unit.
An electronic device, comprising:
at least one processor; the method comprises the steps of,
a memory communicatively coupled to the at least one processor; wherein,
the memory stores instructions executable by the at least one processor to cause the at least one processor to perform steps in the calibration method as described above.
A non-transitory computer readable storage medium storing instructions which, when executed by a processor, cause the processor to perform the steps in a calibration method as described above.
According to the calibration plate, the calibration method, the electronic equipment and the nonvolatile computer readable storage medium, the coding graphic unit containing the direction information and the calibration information is embedded in the characteristic pattern of the calibration plate, the calibration plate calibrated by adopting the two-dimension code is replaced, the cost required by adopting the two-dimension code generating software is saved, the use limitation of the existing two-dimension code generating software is not limited, and meanwhile, the calibration plate and the calibration method record the calibration information of the calibration plate by utilizing the coding graphic unit embedded in the calibration plate, so that the camera can directly obtain the calibration information of the calibration plate from the calibration plate image when calibrating, and further obtain the index coordinates of the characteristic points in the calibration plate and the physical distance information of the adjacent characteristic points in the calibration plate or obtain the physical coordinate information of the characteristic points in the calibration plate, so that the related information of the calibration plate does not need to be manually input, the automatic calibration of the camera is realized, and the calibration efficiency and the calibration accuracy are improved. In the invention, the four positioning blocks in the coding graphic unit can provide the direction information of the coding graphic unit and the direction information of the calibration plate, thereby realizing multiplexing of the direction of the coding graphic and the direction marking of the calibration plate. In the invention, the size of the coding graphic unit can be flexibly set, and can be smaller, equal or larger than the characteristic pattern of the calibration plate, so that the position and the size of the coding graphic unit in the calibration plate can be flexibly set. In the invention, the coding pattern in the coding pattern unit comprises the data code word and the error correction code word, the coding and decoding scheme adopts the RS coding and decoding scheme, and the binary information recorded in the coding pattern unit is subjected to exclusive OR processing during decoding, thereby improving the decoding accuracy.
Drawings
FIG. 1 is a schematic representation of one embodiment of a calibration plate of the present invention;
FIG. 2 is a schematic view of another embodiment of the calibration plate of the present invention;
FIG. 3 is a schematic representation of one embodiment of a coded graphic element in a calibration plate of the present invention;
FIG. 4 is a schematic representation of another embodiment of the coded graphic element in the calibration plate of the present invention;
FIG. 5 is a schematic view of yet another embodiment of a calibration plate of the present invention;
FIG. 6 is a flow chart of a calibration method according to an embodiment of the present invention;
FIG. 7 is a schematic diagram showing coordinate derivation in a calibration plate in a calibration method according to an embodiment of the present invention;
FIG. 8 is a schematic diagram of an application scenario of a calibration plate according to an embodiment of the present invention;
FIG. 9 is a flowchart showing a calibration method according to an embodiment of the present invention;
fig. 10 is a schematic diagram of an electronic device according to an embodiment of the invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention will be further described in detail below by referring to the accompanying drawings and examples.
Fig. 1 shows a schematic representation of one embodiment of the inventive calibration plate, fig. 2 shows a schematic representation of another embodiment of the inventive calibration plate, fig. 3 shows a specific embodiment of the encoding graphic unit 3 in the inventive calibration plate, and fig. 4 shows another specific embodiment of the encoding graphic unit 3 in the inventive calibration plate.
As shown in fig. 1 and 2, the calibration plate according to the embodiment of the present invention includes a substrate 1, a feature pattern 2, and a code pattern unit 3. Wherein, the characteristic pattern 2 is printed on the surface of the substrate 1, and the characteristic pattern 2 has a plurality of characteristic points therein. The coded graphic elements 3 are square and overlie the feature pattern 2.
As shown in fig. 3 and 4, the coding graphic unit 3 includes a first positioning block 31, a second positioning block 32, a third positioning block 33, a fourth positioning block 34, and a coding region 35. The first positioning block 31, the second positioning block 32 and the third positioning block 33 are respectively located in a first corner area, a second corner area and a third corner area of the coding graphic unit 3, wherein the second corner area and the third corner area are two corner areas on one diagonal line of the coding graphic unit 3, and in the embodiment shown in fig. 3 and 4, the first corner area is an upper left corner area, the second corner area is an upper right corner area, and the third corner area is a lower left corner area, and the upper right corner area and the lower left corner area are two corner areas on the diagonal line from the upper right corner to the lower left corner of the coding graphic unit 3.
As shown in fig. 3 and 4, the coding region 35 is located in the region of the coding pattern unit 3 not occupied by the first positioning block 31, the second positioning block 32, and the third positioning block 33, and the coding region 35 records calibration information of the mark points of the coding pattern unit 3, wherein the mark points are coincident with one of the feature points in the feature pattern 2.
As shown in fig. 3 and 4, the fourth positioning block 34 is embedded in the encoding region 35, and in a quadrangle formed by the center of the first positioning block 31, the center of the second positioning block 32, the center of the third positioning block 33, and the center of the fourth positioning block 34, the inner angle at which the fourth positioning block 34 is located is the largest inner angle among four inner angles of the quadrangle, and the distance between the center of the fourth positioning block 34 and the center of the third positioning block 33 is smaller than the distance between the center of the fourth positioning block 34 and the center of the second positioning block 32. That is, the center of the fourth positioning block 34 is connected to the center of the third positioning block 33, and is named as a first connection line, the center of the fourth positioning block 34 is connected to the center of the second positioning block 32, and is named as a second connection line, so that the included angle between the first connection line and the second connection line is the largest internal angle in the quadrangle, the distance between the center of the fourth positioning block 34 and the center of the third positioning block 33 is named as a first distance, and the distance between the center of the fourth positioning block 34 and the center of the second positioning block 32 is named as a second distance, so that the first distance is smaller than the second distance.
More specifically, in the embodiment of the present invention, as shown in fig. 3 and 4, the coding graphic unit 3 has a first edge 36, a second edge 37, a third edge 38, and a fourth edge 39, and the first edge 36 perpendicularly intersects the second edge 37, the second edge 37 perpendicularly intersects the third edge 38, the third edge 38 perpendicularly intersects the fourth edge 39, and the fourth edge 39 perpendicularly intersects the first edge 36, as shown in fig. 3 and 4, the first edge 36 is a left edge of the coding graphic unit 3, the second edge 37 is an upper edge of the coding graphic unit 3, the third edge 38 is a right edge of the coding graphic unit 3, and the fourth edge 39 is a lower edge of the coding graphic unit 3.
The edges of the first positioning block 31 are tangential to both the first edge 36 and the second edge 37, the edges of the second positioning block 32 are tangential to both the second edge 37 and the third edge 38, the edges of the third positioning block 33 are tangential to both the first edge 36 and the fourth edge 39, and the edges of the fourth positioning block 34 are tangential to only said fourth edge 39.
In an alternative embodiment, the first positioning block 31, the second positioning block 32, the third positioning block 33, and the fourth positioning block 34 are the same in shape and size. In an alternative embodiment, the first positioning block 31, the second positioning block 32, the third positioning block 33 and the fourth positioning block 34 are all in a plurality of annular shapes which are concentric and alternate in color, such as a plurality of annular rings with alternating black and white as shown in fig. 3 and 4. In other alternative embodiments, the first positioning block 31, the second positioning block 32, the third positioning block 33, and the fourth positioning block 34 may also be regular triangles, squares, or other various regular polygon rings. In other alternative embodiments, the first positioning block 31, the second positioning block 32, the third positioning block 33, and the fourth positioning block 34 may also be solid positioning blocks, such as circular blocks, square blocks, or polygonal blocks.
In the embodiment of the present invention, the relative positional relationship of the first positioning block 31, the second positioning block 32, the third positioning block 33, and the fourth positioning block 34 reflects the direction of the coded graphic unit 3. When it is determined who is the first positioning block 31, who is the second positioning block 32, who is the third positioning block 33, and who is the fourth positioning block 34 among the four positioning blocks, the coded graphic unit 3 can be determined. Therefore, in the embodiment of the present invention, the encoding graphic unit 3 is designed as a square, so that the distance between the first positioning block 31 and the second positioning block 32 is equal to the distance between the first positioning block 31 and the third positioning block 33, so that it is possible to quickly determine who is the first positioning block 31, and thus, the fourth positioning block 32, and quickly determine who is the third positioning block 33 and who is the second positioning block 32, and therefore, the advantage of designing the encoding graphic unit 3 as a square is that the direction of the encoding graphic unit 3 can be quickly determined by the positional relationship of the four positioning blocks. Of course, the coding graphic unit 3 may be designed as a rectangle with different length and width, in this case, it is not possible to determine who is the first positioning block 31 by determining whether the distance between the first positioning block 31 and the second positioning block 32 is equal to the distance between the first positioning block 31 and the third positioning block 33, so that other means are required to determine who is the first positioning block 31, for example, a design rule agrees that the distance between the first positioning block 31 and the second positioning block 32 and the distance between the first positioning block 31 and the third positioning block 33 satisfy a certain proportional relationship, and the proportional relationship must not be equal to the proportional relationship between other adjacent sides in a quadrangle formed by the first positioning block 31, the second positioning block 32, the third positioning block 33 and the fourth positioning block 34, or the like, and in addition, it is also required to agree that a line between the first positioning block 31 and the third positioning block 33 is perpendicular to a line between the first positioning block 31 and the second positioning block 32, in case that a lens exists, it is determined whether the line between the first positioning block 31 and the third positioning block 33 is perpendicular to the line between the first positioning block 31 and the second positioning block 33 and the ideal position of the fourth positioning block 3, and the ideal shape is combined with the necessary graphic unit 3.
In an alternative embodiment, the direction of the code pattern unit 3 can be determined by positioning the direction on the side of the second edge 37, the direction on the side of the first edge 36 to the left, the direction on the side of the third edge 38 to the right, and the direction on the side of the fourth edge 39. Therefore, in the embodiment of the invention, the four positioning blocks of the 3 in the coding graphic unit can provide the direction information of the coding graphic unit 3 and the direction information of the calibration plate, so that multiplexing of the coding graphic direction and the calibration plate direction marking is realized.
In an alternative embodiment, a specified one of the four corners of the coded graphic unit 3 (i.e., the upper left, upper right, lower left, lower right of the coded graphic unit 3 as shown in fig. 3, 4) may be directed to and closest to the specified one of the feature points as the marker point of the coded graphic unit 3.
In an alternative embodiment, the encoding graphic unit 3 further includes a dead zone 310, in which the first, second, third, fourth, and encoding regions 31, 32, 33, 34, and 35 are embedded, the dead zone 310 being configured to isolate the feature pattern 2 from the patterns embedded in the dead zone 310 (i.e., the first, second, third, fourth, and encoding regions 31, 32, 33, 34, and 35), preventing the feature pattern 2 from being unreadable due to the connection between the first, second, third, fourth, or encoding regions 31, 32, 33, 34, or 35 and the feature pattern 2. Wherein the dead zone 310 is marked in fig. 3, 4.
In alternative embodiments, feature pattern 2 is a checkerboard pattern (as shown in fig. 1, 2), a dot pattern (as shown in fig. 5), a hexagonal pattern, or other pattern. As shown in fig. 5, the dot-shaped feature patterns 2 are arranged in a matrix, and the code pattern units 3 are embedded between the dot-shaped feature patterns 2. Although not shown in the drawings, the hexagonal pattern or other patterns may be generalized to the hexagonal pattern or other patterns by the description of the embodiments shown in fig. 1, 2 and 5 under the principles of the present invention. When the feature pattern 2 is a checkerboard pattern, the feature points are corner points of each checkerboard. When the feature pattern 2 is a dot pattern, the feature point is the center point of each dot. When the feature pattern 2 is a hexagonal pattern, the feature points are corner points of each hexagon.
In the embodiment of the present invention, the feature pattern 2 is composed of a plurality of basic feature unit patterns, and the plurality of basic feature unit patterns are equal in size and are arranged at equal intervals. In the checkerboard pattern shown in fig. 1 and 2, all black and white squares in the checkerboard are equal in size and are arranged at equal intervals, and the black squares and the white squares are basic feature cell patterns. As shown in fig. 5, all the dot patterns are equal in size and equally spaced. It should be noted that, in the embodiment shown in fig. 1, the size of the coding graphic unit 3 is equal to the size of the basic feature unit pattern of the white square, and the coding graphic unit 3 just covers the basic feature unit of the white square, so in the embodiment shown in fig. 1, the sizes of the basic feature unit patterns of the black square and the white square are equal and are arranged at equal intervals.
In an alternative embodiment, the number of the coding graphic units 3 in the calibration plate is at least one, the coding area 35 in each coding graphic unit 3 records the calibration information of the marking point of the coding graphic unit 3, and the calibration information of the marking point of the coding graphic unit 3 is used for determining the position coordinates of the characteristic point in the calibration plate, that is, the coding area 35 in each coding graphic unit 3 records the calibration information of the coding graphic unit 3 to which each coding graphic unit belongs. For a calibration plate using only one code graphic unit 3, it is suitable for calibration of a single camera, whereas for a calibration plate using more than one code graphic unit 3, it is possible to provide correlation information between a plurality of cameras, and thus it is suitable for calibration of a plurality of cameras.
In an alternative embodiment, the feature pattern of the calibration plate is a checkerboard pattern, the basic feature cell pattern is a basic square in the checkerboard pattern, and the coded graphic cell 3 (along with the dead zone 310 around the coded graphic cell 3) occupies at least one basic square. For example, in fig. 1, the size of the coding graphic units 3 is equal to the basic square pattern size of the white square, and each coding graphic unit 3 occupies one basic square of the white square, in which case, the marking point of the coding graphic unit 3 may be one of the upper left corner point, the upper right corner point, the lower left corner point, or the lower right corner point thereof. As shown in fig. 2, the size of the coding pattern unit 3 is larger than the size of the basic feature unit pattern (basic square) and specifically, the side length of the coding pattern unit 3 is 2 times of the side length of the basic square, the area of the coding pattern unit 3 is 4 times of the area of the basic square, each coding pattern unit 3 occupies four basic square, that is, each coding pattern unit 3 occupies two black basic square and two white basic square, in this case, the marking point of the coding pattern unit 3 may be one of the upper left corner point, the upper right corner point, the lower left corner point or the lower right corner point of the coding pattern unit 3, in addition, the central point coordinate of the coding pattern unit 3 may also be estimated through a homography matrix, and further the marking point of the coding pattern unit 3 may also be the central corner point.
Further, in an alternative embodiment, the marking point of the coding pattern unit 3 may be a corner point located at the upper left corner, a corner point located at the upper right corner, a corner point located at the lower left corner, and a corner point located at the lower right corner of the coding pattern unit 3 in the feature pattern 2, in which case the size or area of the coding pattern unit 3 together with the surrounding dead zone 310 may not necessarily be completely matched with the basic feature unit pattern, as long as at least one point of the upper left corner, the upper right corner, the lower left corner, or the lower right corner of the coding pattern unit 3 can coincide with the feature point position in the feature pattern 2, so that the side length of the coding pattern unit 3 may be smaller than or larger than the side length of the basic feature unit pattern, and the side length of the coding pattern unit 3 may not be an integer multiple of the side length of the basic feature unit pattern.
When the calibration plate provided by the embodiment of the invention is used for calibration, the specific point positions of the marking points of the coding graphic unit 3 can be appointed according to actual needs.
As shown in fig. 3 and 4, the code region 35 is a dot matrix composed of data points. Wherein the data points are square points (as shown in fig. 3) or circular points (as shown in fig. 4). In an alternative embodiment, the data points include two color data points that are distinguished from each other, where the data point of one color represents 0 and the data point of the other color represents 1. For example, in the data points of two colors of black and white shown in fig. 3 and 4, in other embodiments, data points of different combinations of colors other than the combination of black and white may be used, for example, data points of combinations of red and white, black and yellow, blue and yellow, and the like, and the selection of the colors of the data points prioritizes the ease of reading the coding region 35, so as to avoid misreading caused by too close color values between the two colors. In the embodiments shown in fig. 3 and 4, a black data point may be represented as 1, a white data point may be represented as 0, or a black data point may be represented as 0, and a white data point may be represented as 1.
As described above, the coding region 35 records the calibration information of the mark point of the code pattern unit 3, and the mark point coincides with one of the feature points in the feature pattern 2, so the calibration information of the feature point recorded in the coding region 35 can be used to determine the position coordinates of the feature point in the calibration plate. In an alternative embodiment, the calibration information of the marker points of the coded graphic unit 3 (i.e. the calibration information of the feature points) comprises: the physical distance between the calibration index coordinates of the marking points of the coding graphic unit 3 in all the characteristic points in the calibration plate and the adjacent characteristic points in the calibration plate, wherein the calibration index coordinates refer to: index coordinates of the mark points recorded in the code region 35 among all the feature points in the calibration plate. In another alternative embodiment, the calibration information of the marker points of the coded graphic unit 3 (i.e. the calibration information of the feature points) comprises: the physical coordinates of the marking points of the graphic unit 3 in the calibration plate are encoded.
For the above-mentioned alternative embodiment regarding the physical spacing between the calibration index coordinates of the marking points of the coding pattern unit 3 in all the feature points in the calibration plate and the adjacent feature points in the calibration plate, when the calibration is performed, the specific positions (row numbers and column numbers) of the marking points in all the feature points can be obtained by coding the calibration index coordinates of the marking points in all the feature points recorded in the pattern unit 3, so that the index coordinates of all the feature points in the calibration plate can be obtained based on the specific positions of the marking points in all the feature points, and further, the physical coordinates of all the feature points in the calibration plate can be obtained by coding the physical spacing between the adjacent feature points in the calibration plate recorded in the pattern unit 3 and combining the index coordinates of all the feature points.
For the above-mentioned alternative embodiment regarding the physical coordinates of the marking points of the coding graphic unit 3 in the calibration plate, before calibration is performed, the physical distances between the adjacent feature points in the calibration plate are manually input into the calibration device (such as a camera), and when calibration is performed, the physical coordinates of all the feature points in the calibration plate can be obtained by further combining the physical coordinates of the marking points in the calibration plate with the physical distances between the adjacent feature points in the calibration plate by the physical coordinates of the marking points recorded in the coding graphic unit 3 in the calibration plate.
In addition to the alternative embodiments described above, virtually any representation that can be used to indicate the location of a feature point can be used under the spirit of embodiments of the present invention, provided that the data capacity that can be recorded by the encoded region 35 is not exceeded.
In an alternative embodiment, in the coding region 35, the lattice of data points includes a data points arranged to form b data codewords and c error correction codewords, each codeword being binary d bits, wherein the calibration information of the calibration plate is recorded in the b data codewords, the error correction codewords are used for error correction decoding the data codewords, wherein a >1, b >1, c > b, d >1, and a= (b+c) x d. For example, as shown in fig. 3 and 4, in the embodiment of the present invention, in the coding region 35, the data matrix includes 192 data points, the entire coding graphic unit 3 occupies 16×16=256 data point positions, each positioning block occupies 4×4=16 data point positions, and the four positioning blocks occupy 64 data point positions, so that 192 data points are determined by subtracting the 192 data point positions occupied by the 64 data point positions occupied by the four positioning blocks from the 256 data point positions of the entire coding graphic unit 3, and each data point position of the 192 data point positions is one data point. The 192 data points arrangement constitutes 6 data codewords and 18 error correction codewords, each codeword being binary 8 bits, i.e. 192= (6+18) ×8. The calibration information of the calibration board is recorded in 6 data codewords, the error correction codeword is used for performing error correction decoding on the data codeword, in practice, the error correction codeword is used for correcting any error codeword not exceeding the error correction capacity, and the error codeword may be either the data codeword or the error correction codeword itself, so in an alternative embodiment, the error correction codeword is used for performing error correction decoding on all codewords including the data codeword and the error correction codeword itself.
In an alternative embodiment, when the calibration information of the marking points of the coding graphic unit 3 is the physical spacing between the calibration index coordinates of the marking points of the coding graphic unit 3 in all the feature points in the calibration plate and the adjacent feature points in the calibration plate, the content after b data code words are converted into decimal values comprises: the coding scheme of the coding region 35 for the calibration information of the calibration plate for the index coordinates of the marking points of the coding pattern unit 3 in all the feature points in the calibration plate and the physical distances between the adjacent feature points in the calibration plate is as follows, for example:
the 6 data codewords are converted into decimal representation format XXYYZZZZZZZZZZZ. Wherein XXYY is the index coordinates of the marking points of the coding graphic unit 3 of the data lattice in all the characteristic points in the calibration plate, wherein XX represents the column numbers of the marking points of the coding graphic unit 3 of the data lattice in all the characteristic points, YY represents the row numbers of the marking points of the coding graphic unit 3 of the data lattice in all the characteristic points, and the values of XX and YY are in the range of 0 to 99 (decimal). ZZZZZZZZZZZ represents the physical distance between adjacent characteristic points in the calibration plate, the value range of ZZZZZZZZZZZZZZZZZ is 0 to 99999999, the physical size range of representation is 0 to 9.9999999 meters, and the physical size range can cover the checkerboard specification range of the calibration plate commonly used in industry.
In other alternative embodiments, the coding region 35 may employ other coding schemes. For example, the calibration information of the calibration plate for the physical coordinates of the mark points of the code pattern unit 3 in the calibration plate may be recorded in 6 data code words.
In one embodiment, referring to fig. 3 and 4, the sequence of reading the data points in the coding region 35 according to the embodiment of the present invention is as follows: starting from the first row in the lattice adjacent to the second edge 37 (e.g., the top first row in fig. 3, 4), the data points in each row are read sequentially in order from the side closest to the first edge 36 (e.g., the left side in fig. 3, 4) to the side closest to the third edge 38 (e.g., the right side in fig. 3, 4), i.e., the data points in the first row in the data lattice are read first in the order from left to right, then the data points in the second row in the data lattice are read first in the order from left to right, and so on, and so forth. In the embodiment of the present invention, as shown in fig. 3 and 4, the fourth positioning block 34 divides the last four rows of data points into left and right parts, so when each row of data points in the four rows of data points is read, the data point of the row located at the left part of the fourth positioning block 34 is read from left to right first, then the fourth positioning block 34 is skipped and the data point of the row located at the right part of the fourth positioning block 34 is read from left to right.
As described above, in the embodiment of the present invention, 192 data points are arranged to form 6 data words and 18 error correction words, and in other embodiments, different numbers of data words and error correction words may be selected according to the need, and in other alternative embodiments, in the encoding region 35, the data lattice formed by data points is not limited to 192 data points, and the size of the data point matrix area and the number of data points in the encoding region 35 may be adjusted according to the need to record more or less information.
In an alternative embodiment, in the coding region 35, if the number of data codewords is determined to be k and the number of error correction codewords is determined to be 2t, the calculation formula of the side length of the graphic portion in the coding graphic unit 3 formed by the coding region 35 plus the positioning ring is:
where a is the side length of the coded graphic unit 3 formed by the coded region 35 plus the positioning blocks, m is the diameter of each positioning ring, ceil () represents the smallest integer greater than the variable in brackets, where m is the basic unit of the side length of the area occupied by one data point in the coded region 35, k and t are the basic units of the side length of the area occupied by one data point in the coded region 35, and thus the size of the side length a of the graphic portion in the coded graphic unit 3 is the basic unit of the size of one data point in the coded region 35. In the embodiments shown in fig. 3 and fig. 4, m=4, k=6, t= 9,a =16, the coding region 35 contains 192/8=24 codewords, and since the number of error correction codewords is 18, and each two error correction codewords can correct one error codeword, 9 error codewords (which are determined by the RS error correction mechanism and can refer to related technical data about RS error correction in the prior art), the fault tolerance can reach 37.5%, which is higher than the maximum fault tolerance (about 30%) of the existing two-dimensional codes such as QR codes and DM codes, and thus the better error proofing performance is achieved. In addition, the size of the code area 35 is 16×16, and is reduced by 42% compared with the QR code of version 1 (the size of the portion without the dead zone is 21×21), so that it can be used for a smaller calibration board, or other application scenarios requiring a small-sized code.
In the embodiment of the invention, when data is encoded, two decimal digits are taken as a group, and are converted into binary digits for encoding. After each group of two-bit decimal numbers are coded, the bit streams are sequentially arranged to form data codes. Error correction coding is performed after data coding is completed, and error correction coding is performed using Reed-Solomon (RS) codes. In order to prevent the possible influence of the same color data point aggregation on the decoding, in the embodiment of the invention, a mask is adopted for processing, and the mask formula is as follows:
mask=(row+col)%2
wherein mask is a mask value, row is a row number of the data lattice in the coding region 35, and col is a column number of the data lattice in the coding region 35. And performing exclusive or operation on the mask value and the code value at the corresponding position to obtain a final code result, and writing the final code result into the data lattice to form a final code region 35.
The exclusive or operation on the coding region 35 by using the data mask matrix has the advantage of reducing the occurrence of black and white aggregation of black and white squares when the coding region is relatively large, and improving the time division efficiency in decoding.
The decoding process corresponding to the above-described encoding is as follows.
Starting from the first row of the data lattice of the coding region 35, reading the data points in the reading sequence of the data points in the description until all 192 data points in the coding region 35 are read to obtain a reading result, performing OR operation on the reading result by using the mask formula to obtain initial decoding, performing Reed-Solomon error correction decoding on the initial decoding, if the error value of the error correction decoding does not exceed a set threshold (such as 9), indicating that the original code word can be correctly recovered, and outputting a decoding result, wherein the decoding result is a correct code word. If the error value sets a threshold (e.g., 9), the decoding fails, and a decoding failure prompt is returned.
The embodiment of the invention also provides a calibration method, as shown in fig. 6, mainly comprising the following steps:
step 1, shooting a calibration plate image containing the calibration plate according to any one of the previous embodiments, and extracting calibration plate information from the calibration plate image;
and 2, performing calibration processing according to the extracted calibration plate information.
The calibration plate in the embodiment of the present invention adopts the calibration plate described in the above embodiment, and specifically, referring to fig. 1, 2, 3, 4 and 5, the calibration plate includes a substrate 1, a feature pattern 2 and a coding graphic unit 3. Wherein, the characteristic pattern 2 is printed on the surface of the substrate 1, and the characteristic pattern 2 has a plurality of characteristic points therein. The coded graphic elements 3 are square and overlie the feature pattern 2.
Wherein the coded graphic unit 3 comprises a first positioning block 31, a second positioning block 32, a third positioning block 33, a fourth positioning block 34 and a coding region 35. The first positioning block 31, the second positioning block 32 and the third positioning block 33 are respectively located in a first corner area, a second corner area and a third corner area of the coding graphic unit 3, wherein the second corner area and the third corner area are two corner areas on one diagonal line of the coding graphic unit 3, and in the embodiment shown in fig. 3 and 4, the first corner area is an upper left corner area, the second corner area is an upper right corner area, and the third corner area is a lower left corner area, and the upper right corner area and the lower left corner area are two corner areas on the diagonal line from the upper right corner to the lower left corner of the coding graphic unit 3.
The coding region 35 is located in the region of the coding pattern unit 3 not occupied by the first positioning block 31, the second positioning block 32 and the third positioning block 33, and the coding region 35 records calibration information of the marking points of the coding pattern unit 3, wherein the marking points coincide with one of the feature points in the feature pattern 2.
The fourth positioning block 34 is embedded in the encoding region 35, and in a quadrangle formed by the center of the first positioning block 31, the center of the second positioning block 32, the center of the third positioning block 33, and the center of the fourth positioning block 34, the inner angle at which the fourth positioning block 34 is located is the largest inner angle of four inner angles of the quadrangle, and the distance between the center of the fourth positioning block 34 and the center of the third positioning block 33 is smaller than the distance between the center of the fourth positioning block 34 and the center of the second positioning block 32. That is, the center of the fourth positioning block 34 is connected to the center of the third positioning block 33, and is named as a first connection line, the center of the fourth positioning block 34 is connected to the center of the second positioning block 32, and is named as a second connection line, so that the included angle between the first connection line and the second connection line is the largest internal angle in the quadrangle, the distance between the center of the fourth positioning block 34 and the center of the third positioning block 33 is named as a first distance, and the distance between the center of the fourth positioning block 34 and the center of the second positioning block 32 is named as a second distance, so that the first distance is smaller than the second distance.
In addition, in the single camera machine vision application, since only the relationship between the single camera and the object to be measured (the object to be photographed) needs to be calibrated (the relationship is usually an affine transformation matrix), only one code graphic unit in the calibration board needs to be used. In the application of multiple camera machine vision, because of the large application field of view, the relationship between multiple cameras and the measured object (photographed object) needs to be calibrated, or the relationship between multiple cameras needs to be calibrated, and then multiple coding graphic units need to be arranged in the calibration board. Before application, the number and position of the coding graphic units, information carried by the coding graphic units, and specification information such as the size of the calibration plate need to be determined. Then, a suitable calibration plate is manufactured.
In a camera calibration application, the pose of the calibration plate describes how the calibration plate is displayed in the camera when there is relative motion between the calibration plate and the camera. In some camera machine vision applications, it is desirable to calibrate the coordinate relationship between the camera and the moving object under test (object under test), which is known as hand-eye calibration. In hand-eye calibration, the calibration plate is placed at a plurality of different poses, whereby the pose of the camera and the calibration plate in the motion coordinate system can be determined. In other machine vision applications, there is no moving object under test (object under test), and there is no need to calibrate the coordinate relationship between the camera and the moving object under test (object under test), which is called hands-free calibration. At this time, the calibration plate may adopt only one posture.
In an alternative embodiment, the extracting calibration plate information from the calibration plate image in step 1 includes:
step 11, searching the coding graphic unit in the calibration plate image, and reading calibration information of marking points of the coding graphic unit recorded in a coding region in the coding graphic unit, wherein the marking points of the coding graphic unit are as follows: encoding a feature point to which a specified one of the four corners of the graphic unit points and which is closest to the specified one corner;
step 12, searching feature points in the calibration plate image, obtaining pixel coordinates of each feature point in the calibration plate image, and determining image index coordinates of each feature point in the calibration plate image according to the pixel coordinates of each feature point in the calibration plate image, wherein the image index coordinates refer to: index coordinates in part of feature points which are obtained from the calibration plate image and are shot only in the calibration plate image;
and 13, correcting the image index coordinates and the physical coordinates of each characteristic point in the image of the calibration plate according to the calibration information of the marking points of the coding graphic units.
In an alternative embodiment, step 11 and step 12 are not necessarily performed sequentially, and step 11 may be performed first and then step 12 may be performed, or step 12 may be performed first and then step 11 may be performed.
In an alternative embodiment, in step 11, the direction information of the encoded graphic unit is determined by the first positioning block, the second positioning block, the third positioning block and the fourth positioning block.
In an alternative embodiment, step 11 of searching the coding graphic unit in the calibration plate image and reading the calibration information of the marking point of the coding graphic unit recorded in the coding region in the coding graphic unit includes:
step 111, searching a first positioning block, a second positioning block, a third positioning block and a fourth positioning block of the coding graphic unit in the calibration plate image, and determining the direction of the coding graphic unit according to the searched first positioning block, second positioning block, third positioning block and fourth positioning block;
step 112, searching the marking points of the coding graphic units in the calibration plate image, determining the pixel coordinates of the marking points of the coding graphic units in the calibration plate image, and determining the image index coordinates of the marking points in all the characteristic points in the calibration plate image according to the pixel coordinates of the marking points in the calibration plate image and the pixel coordinates of each characteristic point in the calibration plate image;
step 113, determining the position of the coding region according to the positions of the first positioning block, the second positioning block, the third positioning block and the fourth positioning block in the coding graphic unit in the calibration plate image;
And 114, reading the coding region to obtain the calibration information of the marking points of the coding graphic units recorded in the coding region.
Wherein a designated one of the four corners of the coded graphic unit points to and is nearest to the designated one corner, is a marker point of the coded graphic unit.
In an alternative embodiment, for the positioning block in the form of the positioning ring as shown in fig. 3 and fig. 4, the performing process of searching the first positioning block, the second positioning block, the third positioning block and the fourth positioning block in step 111 is as follows:
firstly, performing image binarization processing on a calibration plate image; then, screening by adopting a Hough transformation method and utilizing the relation between the number of concentric circles and the radius, and determining the coordinates of the center of each positioning ring in the calibration plate image;
constructing a quadrangle by taking the centers of four positioning blocks included in the coding graphic unit as vertexes;
acquiring four inner angles of the constructed quadrangle, and determining a positioning block at the position of the maximum inner angle as a fourth positioning block in the four inner angles;
the positioning block closest to the fourth positioning block on the two sides of the largest inner angle is determined as a third positioning block, the positioning block farthest from the fourth positioning block on the two sides of the largest inner angle is determined as a second positioning block, and the remaining positioning blocks are determined as first positioning blocks.
In an alternative embodiment, determining the direction of the coding graphic unit according to the first positioning block, the second positioning block, the third positioning block and the fourth positioning block in step 111 includes:
one side of the first positioning block and the second positioning block is determined as the upper side of the coding graphic unit, one side of the third positioning block and the fourth positioning block is determined as the lower side of the coding graphic unit, one side of the first positioning block and the third positioning block is determined as the left side of the coding graphic unit, and the other side of the coding graphic unit opposite to the left side of the coding graphic unit is determined as the right side of the coding graphic unit.
In an alternative embodiment, steps 113 and 114 are performed in the coded graphic element image with perspective distortion removed. The process of removing perspective distorted coded graphic element images is as follows:
in the calibration plate image, determining a homography matrix of perspective transformation according to the midpoint coordinates of the first positioning block, the second positioning block, the third positioning block and the fourth positioning block and the midpoint coordinates of the perspective transformation into the midpoint coordinates of the first positioning block, the second positioning block, the third positioning block and the fourth positioning block without distortion;
and projecting all pixel points in the coding graphic unit to a plane without perspective distortion by utilizing the homography matrix to obtain a coding graphic unit image without perspective distortion.
In an alternative embodiment, the obtaining calibration information of the marking points of the coding graphic units recorded in the coding region in step 114 includes:
performing binarization processing on the coding region;
acquiring binary information recorded in the coding region from the initial position of the coding region;
obtaining coding information of the coding region according to the coding scheme of the coding region by binary information recorded by the coding region;
and performing error correction decoding on the encoded information, and taking a decoding result as calibration information of a marking point of the encoded graphic unit if the error value of the error correction decoding is less than a preset threshold value.
Wherein, the obtaining the binary information recorded in the coding region further comprises:
sequentially reading data points of each row in the lattice from a first row adjacent to the upper side of the coding graphic unit in the lattice of the coding region after binarization processing along the sequence from the left side of the coding graphic unit to the right side of the coding graphic unit;
when the row divided by the fourth positioning block is read, the data point of the row positioned at the left part of the fourth positioning block is read first, then the fourth positioning block is skipped and the data point of the row positioned at the right part of the fourth positioning block is read continuously.
The foregoing illustrates only one of the reading orders of the data points in the plurality of acquisition encoding regions, in practice, the arrangement order of the data points may be agreed or specified, so long as the specification of the arrangement order is complied with when the code is read, and in other alternative implementations, the binary information recorded in the acquisition encoding regions may further include one of the following various reading orders:
sequentially reading data points of each column in the lattice from a first column adjacent to the left side of the coding graphic unit in the lattice of the coding region after binarization processing along the sequence from the upper side of the coding graphic unit to the lower side of the coding graphic unit; or,
sequentially reading data points of each column in the lattice from a first column adjacent to the left side of the coding graphic unit in the lattice of the coding region after binarization processing along the sequence from the lower side of the coding graphic unit to the upper side of the coding graphic unit; or,
sequentially reading data points of each column in the lattice from a first column adjacent to the right side of the coding graphic unit in the lattice of the coding region after binarization processing along the sequence from the upper side of the coding graphic unit to the lower side of the coding graphic unit; or,
Data points of each column in the lattice are sequentially read from the first column adjacent to the right side of the coding graphic unit in the lattice of the coding region after the binarization processing in the order from the lower side of the coding graphic unit to the upper side of the coding graphic unit.
More broadly, the arrangement sequence may include a more diversified manner, for example, one codeword (i.e., 8 encoded bits or data points) occupies two rows and four columns of each row, and is arranged from top to bottom and from left to right, and according to this arrangement, the reading sequence of the corresponding encoded region is set. For example, the coding region is divided into a plurality of discrete small regions, the arrangement order of each small region is defined, the arrangement order of each data point in each small region is defined, and at the time of reading, each data point in the coding region is read in accordance with the defined region and the arrangement order thereof and the arrangement order of the data points in each region.
In an alternative embodiment, step 114 is performed in the encoded graphic element image with perspective distortion removed.
The coding scheme of the coding region can be found in the description of the embodiments described above with respect to the calibration plate.
In a preferred embodiment, when the coding information of the coding region is obtained from the binary information recorded in the coding region, bit exclusive or processing is performed on the obtained binary information and the data mask matrix to obtain pre-mask information, and the coding information of the coding region is obtained from the pre-mask information.
In a preferred embodiment, the error correction decoding is RS (reed solomon) error correction decoding when the encoded information is error correction decoded.
In an alternative embodiment, step 12 may specifically include:
and extracting the image edge of the characteristic pattern by a Canny edge detection operator, extracting straight lines in the edge graph by using a Hough algorithm, and determining the pixel coordinates of the corner points (namely the characteristic points) of the characteristic pattern by utilizing the intersection points of the straight lines. The corner index coordinates of the feature pattern are denoted (x, y), where x denotes the column direction and y denotes the row direction. For example, index coordinates of corner points (feature points) of the feature pattern closest to the upper left corner of the image are set to (0, 0); each corner (feature point) coordinate index is then given in turn from left to right, top to bottom. In step 42, the obtained coordinate information of the feature point in the calibration plate image includes the pixel coordinates of the feature point and the index coordinates of the feature point.
In an alternative embodiment, when the calibration information of the marking points of the coded graphic unit is the physical distance between the calibration index coordinates of the marking points of the coded graphic unit in all the feature points in the calibration board and the adjacent feature points in the calibration board, the correcting the image index coordinates and the physical coordinates of each feature point in the image of the calibration board according to the calibration information of the marking points of the coded graphic unit in step 13 includes:
Step 131, establishing a mapping relation from the image index coordinates to the calibration index coordinates according to the image index coordinates and the calibration index coordinates of the marking points;
step 132, converting the image index coordinates of all the feature points in the calibration plate image into calibration index coordinates by using the mapping relation;
and 133, obtaining the physical coordinates of each feature point in the calibration plate image according to the calibration index coordinates of each feature point in the calibration plate image and the physical distance between the adjacent feature points.
Fig. 7 shows a schematic diagram of the coordinate derivation in the calibration plate. In the embodiment shown in fig. 7, the coding graphic units 3 each occupy a basic feature unit pattern, and the lower left corner in the coding graphic units 3 is a mark point of the coding graphic units 3, where the mark point coincides with a feature point of the position, that is, the coordinates of the mark point are the coordinates of the feature point. In the embodiment shown in fig. 7, the coordinates of the index of the lower left corner of the code pattern unit 3, which are read out from the code area in the code pattern unit 3, are (0, 0), the coordinates of the pixels of the lower left corner of the code pattern unit 3 (i.e., the coordinates of the mark point in the calibration plate image) are (300 ), and the coordinates of the pixels of the feature point in the right dashed line frame of the code pattern unit 3 (i.e., the coordinates of the feature point in the calibration plate image) are (500,300), wherein the coordinates of the pixels of the lower left corner of the code pattern unit 3 and the coordinates of the pixels of the respective feature points are obtained by searching the code pattern unit 3 in the calibration plate image in steps 11 and 12. In step 12, after the pixel coordinates of each feature point in the calibration plate image are obtained, the image index coordinates of each feature point in the calibration plate image are determined based on the pixel coordinates of each feature point in the calibration plate image, for example, in fig. 7, the obtained pixel coordinates of the feature point at the top left corner are (0, 0) and the image index coordinates of the feature point at the top left corner are (0, 0), then based on the pixel coordinates of each feature point in the calibration plate image, the image index coordinates of each feature point in the calibration plate image can be determined, for example, the pixel coordinates of the bottom left corner of the code graphic unit 3 (i.e., the coordinates of the mark point in the calibration plate image) are (300 ), and as known from the pixel coordinates of each feature point in the calibration plate image, the three feature points of the lower left corner point of the coding pattern unit 3 located at the lower side of the feature point of the upper left corner (the image index coordinate is (0, 0)) and located at the right side of the feature point of the upper left corner, and the image index coordinate of the lower left corner point of the coding pattern unit 3 is (3, 3), for example, the pixel coordinate of the feature point (hereinafter referred to as the first feature point) in the dotted line frame on the right side of the coding pattern unit 3 in fig. 7 is (500,300), and as known from the pixel coordinate of each feature point in the calibration plate image, the three feature points of the first feature point located at the lower side of the feature point of the upper left corner (the image index coordinate is (0, 0)) and located at the right side of the feature point of the upper left corner, and the image index coordinate of the first feature point is (5, 3), for example, in fig. 7, the pixel coordinates of the feature point (hereinafter referred to as second feature point) in the upper left Fang Xuxian frame of the coding graphic unit 3 are (100 ), and as can be seen from the pixel coordinates of each feature point in the calibration plate image, the second feature point is located at one feature point on the lower side of the feature point at the upper left corner (the image index coordinates are (0, 0)) and is located at one feature point on the right side of the feature point at the upper left corner, and further the image index coordinates of the second feature point are (1, 1). It may be known that the image index coordinate of the lower left corner (mark point) of the encoded graphic unit 3 is (3, 3), the image index coordinate of the first feature point is (5, 3), the image index coordinate of the second feature point is (1, 1), etc. through step 12, and that the calibration index coordinate of the lower left corner (mark point) of the encoded graphic unit 3 is (0, 0) through step 11, then in step 131, a mapping relationship from the image index coordinate to the calibration index coordinate is established according to the image index coordinate (3, 3) of the mark point and the calibration index coordinate (0, 0):
x’=x+ox
y’=y+oy
Wherein, (x ', y') is the indexing coordinate of the feature point, and (x, y) is the image indexing coordinate of the feature point, and ox and oy are the offsets in the x direction and the y direction respectively. In the embodiment shown in FIG. 7, there are, for the marker points, as known from the image index coordinates (3, 3) and the calibration index coordinates (0, 0) of the marker points
0=3+ox
0=3+oy
It can be derived that ox is-3 and oy is-3. Then, in step 132, the index coordinates (5, 3) of the first feature point and the mapping relation can be used to obtain the index coordinates of the first feature point as
x’=5-3=2
y’=3-3=0
The calibration index coordinates of the first feature point are (2, 0), the calibration index coordinates of the second feature point can be deduced to be (-2, -2) by the same method, and the calibration index coordinates of other feature points can be deduced by the method.
In step 133, the physical coordinates of each feature point in the calibration plate image can be obtained by simply multiplying the calibration index coordinates of each feature point by the physical distance between adjacent feature points. For example, if the physical distance between adjacent feature points is 10mm, the physical coordinates of the lower left corner (mark point) of the coded graphic unit 3 are (0, 0), the physical coordinates of the first feature point are (20 mm, 0), the physical coordinates of the second feature point are (-20 mm ), and so on.
In an alternative embodiment, when the calibration information of the marking point of the coding graphic unit is the physical coordinate of the marking point of the coding graphic unit in the calibration board, the correcting the image index coordinate and the physical coordinate of each feature point in the calibration board image according to the calibration information of the marking point of the coding graphic unit in step 13 includes:
step 131', receiving the physical distance between adjacent feature points in the calibration plate input by the user;
and step 132', obtaining the physical coordinates of all the characteristic points in the calibration plate according to the physical coordinates of the marking points of the coding graphic units in the calibration plate and the physical distances between the adjacent characteristic points in the calibration plate.
The content of step 132' may be implemented by combining the above description with a general coordinate conversion technique, only with respect to the conversion relation between physical coordinates, and will not be described here.
The calibration plate of the embodiment of the invention can be applied to the calibration of a machine vision application system of a plurality of cameras, as shown in fig. 8, wherein although 4 cameras are depicted in fig. 8, the machine vision application system can use fewer or more cameras to shoot the same scene. The fields of view of each camera may or may not have overlapping areas, such as the dashed areas shown in fig. 8. Even more, the machine vision application system may use only one camera.
FIG. 9 shows a process for multi-camera calibration using a calibration plate according to an embodiment of the invention, comprising:
step a, determining the size of a calibration plate to be manufactured, manufacturing the calibration plate, and then entering the step b;
step b, determining the pose of the calibration plate, and then entering step c;
c, placing the calibration plate on the determined pose, and then entering a step d;
step d, capturing a calibration plate image by a camera, and then entering a step e;
step e, positioning the calibration plate in the captured calibration plate image to obtain calibration plate information, and then entering f;
step f, judging whether the camera is traversed, namely judging whether all cameras are traversed, if yes, entering step g, and otherwise returning to step d;
step g, judging whether the pose of the calibration plate is moved, if so, entering a step i, otherwise, entering a step h;
step h, the calibration plate is moved to the next pose, and then the step b is returned;
and i, performing calibration treatment.
In an alternative embodiment, the calibration process includes a hand-eye calibration and a non-hand-eye calibration, which can be implemented by using the prior art, and are not described herein.
In the embodiment of the present invention, the encoded region 35 shown in each drawing is only schematically illustrated and does not represent encoded data actually recorded therein.
Regarding the exclusive or operation in the embodiment of the present invention, the following is supplemented.
In the encoding process, exclusive-or operation is carried out on real data to be recorded in an encoding region and a data mask matrix, so that an encoding region graph avoiding black and white aggregation is obtained, in the decoding process, a means of exclusive-or operation is adopted on the encoding region graph and the data mask matrix, and the data mask matrix adopted in encoding and the data mask matrix adopted in decoding are the same, because the exclusive-or follows the following combination law:
therefore, if a is defined as a data mask matrix and b is defined as real data to be recorded in the encoded region at the time of encoding, then the above equation is leftIt is shown that the real data is exclusive-ored with the data mask matrix at encoding, if +.>C, i.e. the coding region pattern avoiding black and white aggregation, is defined as c, and the left content of the above equation is
And on the right side of the upper partAn exclusive or operation of the coding region pattern with the data mask matrix at the time of decoding is shown.
From the two formulas, it can be seen that
As is known to those skilled in the art, the exclusive OR of the same values is 0, i.e., in the above formulaThen there is
And those skilled in the art know that 0 exclusive-or equals the non-zero number, if b is a non-zero number, then there is
Since b is defined as the data to be recorded in the coding region during coding, it can be seen from the above equation that the original coded real data can be obtained by performing an exclusive-or operation on the coding region pattern and the data mask matrix (which is the same as the data mask matrix used during coding) during decoding.
Therefore, in the preferred embodiment, the same data mask matrix is used in the encoding process and the decoding process to exclusive-or the real data to be recorded in the encoding region and the encoding region, respectively, so that the original encoded information recorded in the encoding region can be obtained in decoding.
The embodiment of the invention also provides an electronic device, the structure of which can be seen in fig. 10, the electronic device comprises: at least one processor 41; and a memory 42 communicatively coupled to the at least one processor 41; wherein the memory 42 stores instructions executable by the at least one processor 41 to cause the at least one processor 41 to perform steps in the calibration method as set forth in any one of the embodiments above.
Embodiments of the present invention also provide a non-transitory computer readable storage medium storing instructions, characterized in that the instructions, when executed by a processor, cause the processor to perform the steps in the calibration method as described in any of the embodiments above.
According to the calibration plate, the calibration method, the electronic equipment and the nonvolatile computer readable storage medium, the coding graphic unit containing the direction information and the calibration information is embedded in the characteristic pattern of the calibration plate, the calibration plate calibrated by adopting the two-dimensional code is replaced, the cost required by adopting the two-dimensional code generating software is saved, the method is not limited by the use limitation of the existing two-dimensional code generating software, and meanwhile, the calibration information of the calibration plate is recorded by utilizing the coding graphic unit embedded in the calibration plate, so that the camera can directly obtain the calibration information of the calibration plate from the image of the calibration plate when the camera performs calibration, and further obtain the index coordinates of the characteristic points in the calibration plate and the physical distance information between the adjacent characteristic points or obtain the physical coordinate information of the characteristic points in the calibration plate, so that the related information of the calibration plate does not need to be manually input, the automatic calibration of the camera is realized, and the calibration efficiency and the calibration accuracy are improved. In the embodiment of the invention, the four positioning blocks in the coding graphic unit can provide the direction information of the coding graphic unit and the direction information of the calibration plate, so that multiplexing of the direction of the coding graphic and the direction marking of the calibration plate is realized. In the embodiment of the invention, the size of the coding graphic unit can be flexibly set and can be smaller, equal or larger than the characteristic pattern of the calibration plate, so that the position and the size of the coding graphic unit in the calibration plate can be flexibly set. In the embodiment of the invention, the coding pattern in the coding pattern unit comprises the data code word and the error correction code word, the coding and decoding scheme adopts the RS coding and decoding scheme, and binary information recorded in the coding pattern unit is subjected to exclusive OR processing during decoding, so that the decoding accuracy is improved. In addition, in the embodiment of the invention, the coding scheme of adding 18 error correction code words to 6 data code words can enable the fault tolerance to reach 37.5%, which is higher than the maximum fault tolerance of the existing two-dimensional codes such as QR codes, DM codes and the like, so that the coding graphic unit has better error prevention performance. In addition, the size of the coding region in the embodiment of the invention is 16×16, and compared with the QR code of version 1, the size of the coding region can be reduced by 42%, so that the coding region can be used for smaller calibration plates or other application scenes requiring small-size codes.
The foregoing description of the preferred embodiments of the invention is not intended to be limiting, but rather to enable any modification, equivalent replacement, improvement or the like to be made within the spirit and principles of the invention.

Claims (24)

1. A calibration plate, comprising:
a substrate;
a feature pattern printed on a surface of the substrate, the feature pattern having a plurality of feature points therein;
a coding graphic unit which is square and covers the characteristic pattern; wherein,
the encoded graphic unit includes:
the device comprises a first positioning block, a second positioning block, a third positioning block, a fourth positioning block and a coding region; wherein,
the first positioning block, the second positioning block and the third positioning block are respectively positioned in a first corner area, a second corner area and a third corner area of the coding graphic unit, wherein the second corner area and the third corner area are two corner areas on one diagonal line of the coding graphic unit;
the coding region is positioned in an area which is not occupied by the first positioning block, the second positioning block and the third positioning block in the coding graphic unit, and the coding region records calibration information of a marking point of the coding graphic unit, wherein the marking point is overlapped with one of the characteristic points in the characteristic pattern;
The fourth positioning block is embedded in the coding region, and in a quadrilateral formed by the center of the first positioning block, the center of the second positioning block, the center of the third positioning block and the center of the fourth positioning block, the inner angle of the fourth positioning block is the largest inner angle of four inner angles of the quadrilateral, and the distance between the center of the fourth positioning block and the center of the third positioning block is smaller than the distance between the center of the fourth positioning block and the center of the second positioning block.
2. The calibration plate of claim 1, wherein:
the coded graphics unit has a first edge, a second edge, a third edge, and a fourth edge, and the first edge perpendicularly intersects the second edge, the second edge perpendicularly intersects the third edge, the third edge perpendicularly intersects the fourth edge, and the fourth edge perpendicularly intersects the first edge;
the edge of the first positioning block is tangential to the first edge and the second edge at the same time;
the edge of the second positioning block is tangential to the second edge and the third edge at the same time;
The edge of the third positioning block is tangential to the first edge and the fourth edge at the same time;
the edge of the fourth positioning block is tangential to the fourth edge only.
3. The calibration plate of claim 1, wherein:
the shapes and the sizes of the first positioning block, the second positioning block, the third positioning block and the fourth positioning block are the same.
4. A calibration plate according to claim 3, characterized in that:
the first positioning block, the second positioning block, the third positioning block and the fourth positioning block are all concentric and are provided with a plurality of ring shapes with alternate colors.
5. The calibration plate of claim 1, wherein the feature pattern is:
a checkerboard pattern, a dot pattern, or a hexagonal pattern.
6. The calibration plate of claim 1, wherein:
the marking points of the coding graphic unit are as follows:
a feature point to which a specified one of the four corners of the coded graphic unit is directed and which is closest to the specified one corner;
the calibration information of the marking points of the coding graphic units comprises:
and marking index coordinates of the marking points of the coding graphic units in all feature points in the calibration plate and physical intervals between adjacent feature points in the calibration plate, wherein the marking index coordinates refer to: index coordinates of the marking points recorded in the coding region in all characteristic points in the calibration plate;
Or,
and the physical coordinates of the marking points of the coding graphic units in the calibration plate.
7. The calibration plate of claim 1, wherein:
the number of the coding graphic units is at least one.
8. The calibration plate of claim 1, wherein:
the coding region is a dot matrix formed by data points, and the data points are square points or round points;
the data points include two color data points that are distinguished from each other, where the data point for one color represents 0 and the data point for the other color represents 1.
9. The calibration plate of claim 8, wherein:
the lattice includes a data points;
the a data points are arranged to form b data code words and c error correction code words, and each code word is a binary d bit; wherein,
the calibration information of the calibration plate is recorded in the b data code words;
the error correction code word is used for performing error correction decoding on the data code word;
wherein a >1, b >1, c > b, d >1, and a= (b+c) ×d.
10. The calibration plate of claim 9, wherein when the calibration information of the marking points of the coding graphic unit is the physical spacing between the calibration index coordinates of the marking points of the coding graphic unit among all the feature points in the calibration plate and the adjacent feature points in the calibration plate, the decimal conversion of the b data codewords comprises: and the column serial numbers and the row serial numbers of the marking points of the coding graphic units of the dot matrix in all the characteristic points and the physical distance between the adjacent characteristic points in the calibration plate.
11. The calibration plate of claim 1, wherein the coded graphic unit further comprises:
the static area is embedded in the static area and is used for isolating the characteristic patterns from the first positioning block, the second positioning block, the third positioning block, the fourth positioning block and the coding area.
12. A calibration method, comprising:
capturing a calibration plate image containing the calibration plate according to any one of claims 1 to 11, and extracting calibration plate information from the calibration plate image;
and performing calibration processing according to the extracted calibration plate information.
13. The method of claim 12, wherein extracting calibration plate information from the captured calibration plate image comprises:
searching the coding graphic unit in the calibration plate image, and reading calibration information of marking points of the coding graphic unit recorded in the coding region in the coding graphic unit; wherein, the marking points of the coding graphic unit are as follows: a feature point to which a specified one of the four corners of the coded graphic unit is directed and which is closest to the specified one corner;
Searching the characteristic points in the calibration plate image, acquiring pixel coordinates of each characteristic point in the calibration plate image, and determining image index coordinates of each characteristic point in the calibration plate image according to the pixel coordinates of each characteristic point in the calibration plate image, wherein the image index coordinates refer to: index coordinates in part of feature points which are only shot in the calibration plate image and are obtained from the calibration plate image;
and correcting the image index coordinates and physical coordinates of each characteristic point in the calibration plate image according to the calibration information of the marking points of the coding graphic unit.
14. The method according to claim 13, wherein searching the coding graphic unit in the calibration plate image and reading calibration information of the mark point of the coding graphic unit recorded in the coding region in the coding graphic unit comprises:
searching the first positioning block, the second positioning block, the third positioning block and the fourth positioning block of the coding graphic unit in the calibration plate image, and determining the direction of the coding graphic unit according to the searched first positioning block, second positioning block, third positioning block and fourth positioning block;
Searching a marking point of the coding graphic unit in the calibration plate image, determining pixel coordinates of the marking point of the coding graphic unit in the calibration plate image, and determining image index coordinates of the marking point in all feature points in the calibration plate image according to the pixel coordinates of the marking point in the calibration plate image and the pixel coordinates of each feature point in the calibration plate image;
in the calibration plate image, determining the position of the coding region according to the positions of the first positioning block, the second positioning block, the third positioning block and the fourth positioning block in the coding graphic unit;
and reading the coding region to obtain the calibration information of the marking points of the coding graphic units recorded in the coding region.
15. The method of calibrating according to claim 14, wherein said searching the calibration plate image for the first positioning block, the second positioning block, the third positioning block, and the fourth positioning block of the coding graphic unit comprises:
constructing a quadrangle by taking the centers of the four positioning blocks included in the coding graphic unit as vertexes;
Acquiring four inner angles of the quadrangle, and determining a positioning block at the position of the largest inner angle as the fourth positioning block in the four inner angles;
determining the positioning blocks closest to the fourth positioning block on two sides of the largest inner angle as the third positioning block, determining the positioning blocks farthest from the fourth positioning block on two sides of the largest inner angle as the second positioning block, and determining the rest positioning blocks as the first positioning block;
the determining the direction of the coding graphic unit according to the searched first positioning block, second positioning block, third positioning block and fourth positioning block comprises the following steps:
one side of the first positioning block and the second positioning block is determined as an upper side of the encoding graphic unit, one side of the third positioning block and the fourth positioning block is determined as a lower side of the encoding graphic unit, one side of the first positioning block and the third positioning block is determined as a left side of the encoding graphic unit, and the other side of the encoding graphic unit opposite to the left side of the encoding graphic unit is determined as a right side of the encoding graphic unit.
16. The calibration method according to claim 13, wherein when the calibration information of the mark points of the code graphic unit is the calibration index coordinates of the mark points of the code graphic unit among all the feature points in the calibration plate and the physical distances between the adjacent feature points in the calibration plate, the correcting the image index coordinates and the physical coordinates of each feature point in the calibration plate image according to the calibration information of the mark points of the code graphic unit includes:
Establishing a mapping relation from the image index coordinates to the calibration index coordinates according to the image index coordinates and the calibration index coordinates of the marking points;
transforming the image index coordinates of all the characteristic points in the calibration plate image into calibration index coordinates by using the mapping relation;
and obtaining the physical coordinates of each feature point in the calibration plate image according to the calibration index coordinates of each feature point in the calibration plate image and the physical distance between adjacent feature points.
17. The calibration method according to claim 13, wherein when the calibration information of the mark point of the code graphic unit is the physical coordinates of the mark point of the code graphic unit in the calibration board, the correcting the image index coordinates and the physical coordinates of each feature point in the calibration board image according to the calibration information of the mark point of the code graphic unit includes:
receiving the physical distance between adjacent characteristic points in the calibration plate input by a user;
and obtaining the physical coordinates of all the characteristic points in the calibration plate according to the physical coordinates of the marking points of the coding graphic unit in the calibration plate and the physical distances between the adjacent characteristic points in the calibration plate.
18. The method for calibrating according to claim 14, wherein said obtaining calibration information of the mark point of the encoded graphic unit recorded in the encoded region comprises:
performing binarization processing on the coding region;
acquiring binary information recorded in the coding region from the initial position of the coding region;
obtaining coding information of the coding region according to the coding scheme of the coding region by binary information recorded by the coding region;
and performing error correction decoding on the encoded information, and taking a decoding result as calibration information of the marking point of the encoded graphic unit if the error value of the error correction decoding is less than a preset threshold value.
19. The calibration method according to claim 18, characterized in that:
when the binary information recorded in the coding region is used for obtaining the coding information of the coding region, the obtained binary information and a data mask matrix are subjected to bit exclusive OR processing to obtain pre-mask information, and the pre-mask information is used for obtaining the coding information of the coding region.
20. The calibration method according to claim 18, characterized in that:
the error correction decoding is reed-solomon RS error correction decoding.
21. The method for calibrating according to claim 18, wherein said obtaining binary information recorded in said coding region comprises:
sequentially reading data points of each row in a lattice of the code region after binarization processing from a first row adjacent to the upper side of the code graphic unit in the order from the left side of the code graphic unit to the right side of the code graphic unit;
when the row divided by the fourth positioning block is read, firstly, the data point of the row positioned at the left side part of the fourth positioning block is read, then the fourth positioning block is skipped, and the data point of the row positioned at the right side part of the fourth positioning block is continuously read.
22. The method for calibrating according to claim 18, wherein said obtaining binary information recorded in said coding region comprises:
sequentially reading data points of each column in the lattice from a first column adjacent to the left side of the coding graphic unit in the lattice of the coding region after binarization processing along the sequence from the upper side of the coding graphic unit to the lower side of the coding graphic unit; or,
Sequentially reading data points of each column in the lattice from a first column adjacent to the left side of the coding graphic unit in the lattice of the coding region after binarization processing along the sequence from the lower side of the coding graphic unit to the upper side of the coding graphic unit; or,
sequentially reading data points of each column in the lattice from a first column adjacent to the right side of the coding graphic unit in the lattice of the coding region after binarization processing along the sequence from the upper side of the coding graphic unit to the lower side of the coding graphic unit; or,
and sequentially reading data points of each column in the lattice from a first column adjacent to the right side of the coding graphic unit in the lattice of the coding region after binarization processing along the sequence from the lower side of the coding graphic unit to the upper side of the coding graphic unit.
23. An electronic device, comprising:
at least one processor; the method comprises the steps of,
a memory communicatively coupled to the at least one processor; wherein,
the memory stores instructions executable by the at least one processor to cause the at least one processor to perform the steps in the calibration method of claim 12.
24. A non-transitory computer readable storage medium storing instructions that, when executed by a processor, cause the processor to perform the steps in the calibration method of claim 12.
CN201910606513.XA 2019-07-05 2019-07-05 Calibration plate and calibration method Active CN112184826B (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201910606513.XA CN112184826B (en) 2019-07-05 2019-07-05 Calibration plate and calibration method
EP20837644.2A EP3996283B1 (en) 2019-07-05 2020-07-04 Coding pattern, coding and reading methods for same, calibration board, and calibration method
US17/624,953 US11843395B2 (en) 2019-07-05 2020-07-04 Coding pattern, coding and reading methods for same, calibration board, and calibration method
PCT/CN2020/100304 WO2021004414A1 (en) 2019-07-05 2020-07-04 Coding pattern, coding and reading methods for same, calibration board, and calibration method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910606513.XA CN112184826B (en) 2019-07-05 2019-07-05 Calibration plate and calibration method

Publications (2)

Publication Number Publication Date
CN112184826A CN112184826A (en) 2021-01-05
CN112184826B true CN112184826B (en) 2024-03-08

Family

ID=73918769

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910606513.XA Active CN112184826B (en) 2019-07-05 2019-07-05 Calibration plate and calibration method

Country Status (1)

Country Link
CN (1) CN112184826B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114012736A (en) * 2021-12-08 2022-02-08 北京云迹科技有限公司 Positioning object for assisting environment positioning and robot system
CN114897992A (en) * 2022-05-23 2022-08-12 聚好看科技股份有限公司 Three-dimensional reconstruction method and electronic equipment
CN116687569B (en) * 2023-07-28 2023-10-03 深圳卡尔文科技有限公司 Coded identification operation navigation method, system and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106600648A (en) * 2016-12-06 2017-04-26 合肥工业大学 Stereo coding target for calibrating internal parameter and distortion coefficient of camera and calibration method thereof
CN107689061A (en) * 2017-07-11 2018-02-13 西北工业大学 Rule schema shape code and localization method for indoor mobile robot positioning

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106600648A (en) * 2016-12-06 2017-04-26 合肥工业大学 Stereo coding target for calibrating internal parameter and distortion coefficient of camera and calibration method thereof
CN107689061A (en) * 2017-07-11 2018-02-13 西北工业大学 Rule schema shape code and localization method for indoor mobile robot positioning

Also Published As

Publication number Publication date
CN112184826A (en) 2021-01-05

Similar Documents

Publication Publication Date Title
CN112184826B (en) Calibration plate and calibration method
US9892300B2 (en) Two-dimensional code
EP2178031B1 (en) Optical code recognition apparatus, optical code and recognition method.
WO2016026349A1 (en) Highly robust mark point decoding method and system
JP2005267598A (en) Two-dimensional bar code and sign decoding method
WO2021004414A1 (en) Coding pattern, coding and reading methods for same, calibration board, and calibration method
JP2007317184A (en) Two-dimensional bar code, and encoding and decoding method thereof
US7900848B2 (en) Process for tag imaging and decoding of machine readable coded data
US9898637B2 (en) Two-dimensional code
EP3561729B1 (en) Method for detecting and recognising long-range high-density visual markers
CN111046996B (en) Color QR code generation and identification method
JP2016006639A (en) High capacity 2d color barcode and method for decoding high capacity 2d color barcode
CN111275152A (en) Two-dimensional code, encoding method and decoding method of two-dimensional code, decoding device of two-dimensional code and electronic system
CN106909869B (en) Sampling grid division method and device for matrix type two-dimensional code
CN109101855B (en) Lost positioning frame two-dimensional code identification method based on opencv
CN112184803B (en) Calibration plate and calibration method
CN106897758B (en) QRL code for plane continuous positioning and continuous positioning method thereof
CN112187284A (en) Encoding method, encoding pattern reading method, and imaging device
CN111336949B (en) Space coding structured light three-dimensional scanning method and system
CN112183695B (en) Coding method, coding pattern reading method, and photographing apparatus
JP2013084031A (en) Marker, two-dimensional code, recognition method for marker, and recognition method for two-dimensional code
KR20050092335A (en) Two-dimensional bar code and associated codingdecoding method
CN113158704A (en) Method and system for rapidly positioning Dotcode code
CN111191759A (en) Two-dimensional code generation method and positioning and decoding method based on GPU
CN113409402B (en) Camera calibration plate and use method thereof, and camera calibration feature point extraction method

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 310051 room 304, B / F, building 2, 399 Danfeng Road, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: Hangzhou Hikvision Robot Co.,Ltd.

Address before: 310052 5 / F, building 1, building 2, no.700 Dongliu Road, Binjiang District, Hangzhou City, Zhejiang Province

Applicant before: HANGZHOU HIKROBOT TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant