CN115170665A - Image-based spherical object pose determination method and system - Google Patents
Image-based spherical object pose determination method and system Download PDFInfo
- Publication number
- CN115170665A CN115170665A CN202210804715.7A CN202210804715A CN115170665A CN 115170665 A CN115170665 A CN 115170665A CN 202210804715 A CN202210804715 A CN 202210804715A CN 115170665 A CN115170665 A CN 115170665A
- Authority
- CN
- China
- Prior art keywords
- target
- spots
- spherical object
- spot
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
The invention relates to a method and a system for determining a pose of a spherical object based on an image, wherein the method comprises the following steps: acquiring spot information in an image of a spherical object; determining two large-area spots as two target large spots according to the spot information, wherein the spots except the two target large spots are all used as target small spots; constructing a target triangular pyramid; matching the target triangular pyramid with triangular pyramids in a database, and determining the number of each target large spot by adopting a voting method; determining the initial position coordinates of each target big spot according to the number of each target big spot; and determining the current pose of the spherical object according to the current position coordinates and the initial position coordinates of the two target blobs. The invention realizes the determination of the pose of the spherical object by adopting a triangular pyramid matching mode, is not limited by the division precision of longitude and latitude, and improves the determination precision of the pose of the spherical object.
Description
Technical Field
The invention relates to the technical field of pose measurement, in particular to a method and a system for determining a pose of a spherical object based on an image.
Background
The existing positioning mode of the spherical object usually adopts a longitude and latitude mode, the pose determination precision of the method depends on the longitude and latitude division precision, and the pose determination precision of the method is limited.
Disclosure of Invention
In view of this, the present invention provides a method and a system for determining a pose of a spherical object based on an image, so as to improve the accuracy of determining the pose of the spherical object.
In order to achieve the purpose, the invention provides the following scheme:
an image-based spherical object pose determination method, the method comprising the steps of:
acquiring spot information in an image of a spherical object; the spherical object is marked with a plurality of large spots and a plurality of small spots;
determining two spots with the largest area as two target large spots according to the spot information, wherein the spots except the two target large spots are all used as target small spots;
constructing a target triangular pyramid by taking the two target large spots as two vertexes of the bottom surface, taking the sphere center of the spherical object as a vertex except the bottom surface, and taking each target small spot as another vertex of the bottom surface respectively to obtain a plurality of target triangular pyramids;
respectively matching each target triangular pyramid with triangular pyramids in a database to obtain the number combination of two large spots of the triangular pyramid matched with each target triangular pyramid in the direction; the database stores the number and initial position coordinates of each large spot, and any two large spots and any one small spot are respectively used as three vertexes of the bottom surface, the sphere center of the spherical object is used as a triangular pyramid constructed by vertexes outside the bottom surface, and the two large spots and the one small spot which form the same triangular pyramid are arranged clockwise according to the sequence of the large spots, the large spots and the small spots;
determining the number combination corresponding to the two target large spots by adopting a voting statistic mode, and further determining the number of each target large spot;
determining the initial position coordinates of each target macro-blob according to the number of each target macro-blob;
determining the current position coordinate of each target macro-speckle according to the position information of the two target macro-speckles in the image;
and determining the current pose of the spherical object according to the current position coordinates and the initial position coordinates of the two target large spots.
Optionally, the determining, according to the blob information, two blobs having the largest area as two target large blobs, and all blobs other than the two target large blobs as target small blobs specifically includes:
correcting the image measurement area of the spots in the image by adopting the following formula to obtain the corrected area;
wherein S' represents the corrected area, S represents the image measurement area, theta is the included angle between the gradient direction of the central point of the spot relative to the XOZ plane and the XOZ plane, R is the radius of the spherical object, and x and z are the x-axis coordinate and the z-axis coordinate of the central point of the spot respectively;
carrying out secondary correction on the corrected area which is more than 2 times of the image measurement area to obtain the area after secondary correction; the area after the secondary correction is equal to 2 times of the image measurement area;
respectively taking the corrected area of the spot or the area after the secondary correction as the standard area of the spot;
and selecting two spots with the largest standard area as two target large spots, and determining spots except for the two target large spots as target small spots.
Optionally, the determining the current pose of the spherical object according to the current position coordinates and the initial position coordinates of the two target blobs specifically includes:
solving a rotation matrix of the spherical object by using the following equation;
(P t1 '-P t0 )×(P t2 '-P t0 )=R M [(P t1 -P t0 )×(P t2 -P t0 )];
wherein, P t1 ' and P t2 ' Current position coordinates, P, of two target blobs, respectively t1 And P t2 Initial position coordinates, R, of two target blobs, respectively M Rotation matrix, P, representing spherical objects t0 Representing the sphere center coordinates of a spherical object;
determining a current homogeneous matrix of the spherical object by using the following formula according to the rotation matrix of the spherical object, namely determining the current pose of the spherical object;
wherein r is 11 、r 12 、r 13 、r 21 、r 22 、r 23 、r 31 、r 32 And r 33 Are elements in a rotation matrix of the spherical object, and H is a current homogeneous matrix of the spherical object.
Optionally, the acquiring speckle information in the image of the spherical object further includes:
equating the spherical object to an Archimedes polyhedron;
arranging a large spot at the center of a regular hexagon of the Archimedes polyhedron;
setting a small spot on at least one central line of a regular hexagon or a regular pentagon of the Archimedes polyhedron; the central line is a line segment connecting the central point and the end point of the regular hexagon or the regular pentagon.
An image-based spherical object pose determination system, the system comprising:
the spot information acquisition module is used for acquiring spot information in the image of the spherical object; the spherical object is marked with a plurality of large spots and a plurality of small spots;
the target spot selection module is used for determining two spots with the largest areas as two target large spots according to the spot information, and the spots except the two target large spots are all used as target small spots;
the target triangular pyramid building module is used for building a target triangular pyramid by taking the two target large spots as two vertexes of the bottom surface, taking the sphere center of the spherical object as a vertex except the bottom surface and respectively taking each target small spot as the other vertex of the bottom surface to obtain a plurality of target triangular pyramids;
the number combination determining module is used for respectively matching each target triangular pyramid with the triangular pyramids in the database to obtain the number combination of two large spots of the triangular pyramid matched with each target triangular pyramid in the direction; the database stores the number and initial position coordinates of each large spot, any two large spots and any one small spot respectively as three vertexes of the bottom surface, the sphere center of the spherical object is used as a triangular pyramid constructed by vertexes except the bottom surface, and the two large spots and the one small spot which form the same triangular pyramid are arranged clockwise according to the sequence of the large spots, the large spots and the small spots;
the number determining module of the target big spots is used for determining the number combination corresponding to the two target big spots by adopting a voting statistic mode so as to determine the number of each target big spot;
an initial position coordinate determination module, configured to determine an initial position coordinate of each of the target blobs according to the number of each of the target blobs;
the current position coordinate determination module is used for determining the current position coordinate of each target macro-speckle according to the position information of the two target macro-speckles in the image;
and the current pose determining module is used for determining the current pose of the spherical object according to the current position coordinates and the initial position coordinates of the two target blobs.
Optionally, the target blob selecting module specifically includes:
the correction submodule is used for correcting the image measurement area of the spots in the image by adopting the following formula to obtain the corrected area;
wherein S' represents the corrected area, S represents the image measurement area, theta is the included angle between the gradient direction of the central point of the spot relative to the XOZ plane and the XOZ plane, R is the radius of the spherical object, and x and z are the x-axis coordinate and the z-axis coordinate of the central point of the spot respectively;
the secondary correction submodule is used for carrying out secondary correction on the corrected area which is larger than 2 times of the image measurement area to obtain the area after secondary correction; the area after the secondary correction is equal to 2 times of the image measurement area;
the standard area determination submodule is used for respectively taking the corrected area or the secondarily corrected area of the spot as the standard area of the spot;
and the target spot selection sub-module is used for selecting the two spots with the largest standard areas as the two target large spots and determining the spots except the two target large spots as the target small spots.
Optionally, the module for determining the current position coordinate specifically includes:
the rotation matrix solving submodule is used for solving a rotation matrix of the spherical object by using the following equation;
(P t1 '-P t0 )×(P t2 '-P t0 )=R M [(P t1 -P t0 )×(P t2 -P t0 )];
wherein, P t1 ' and P t2 ' Current position coordinates, P, of two target blobs, respectively t1 And P t2 Respectively the initial position coordinates of two target macro-speckles, R M Rotation matrix representing a spherical object, P t0 Representing the sphere center coordinates of a spherical object;
the current pose determining submodule is used for determining a current homogeneous matrix of the spherical object by using the following formula according to the rotation matrix of the spherical object, namely the current pose of the spherical object;
wherein r is 11 、r 12 、r 13 、r 21 、r 22 、r 23 、r 31 、r 32 And r 33 Are elements in a rotation matrix of the spherical object, and H is a current homogeneous matrix of the spherical object.
Optionally, the system further includes:
the equivalent processing module is used for equivalent the spherical object into an Archimedes polyhedron;
the macro-patch setting module is used for setting a macro-patch at the center of a regular hexagon of the Archimedes polyhedron;
the small spot setting module is used for setting a small spot on at least one central line of a regular hexagon or a regular pentagon of the Archimedes polyhedron; the central line is a line segment connecting the central point and the end point of the regular hexagon or the regular pentagon.
According to the specific embodiment provided by the invention, the invention discloses the following technical effects:
the invention discloses a method and a system for determining a pose of a spherical object based on an image, wherein the method comprises the following steps: acquiring spot information in an image of a spherical object; determining two spots with the largest area as two target large spots according to the spot information, wherein the spots except the two target large spots are all used as target small spots; constructing a target triangular pyramid by taking the two target large spots as two vertexes of the bottom surface, taking the sphere center of the spherical object as a vertex except the bottom surface, and taking each target small spot as the other vertex of the bottom surface respectively to obtain a plurality of target triangular pyramids; respectively matching each target triangular pyramid with triangular pyramids in a database to obtain the number combination of two large spots of the triangular pyramid matched with each target triangular pyramid in the direction; the database stores the number and initial position coordinates of each large spot, and any two large spots and any one small spot are respectively used as three vertexes of the bottom surface, the sphere center of the spherical object is used as a triangular pyramid constructed by vertexes outside the bottom surface, and the two large spots and the one small spot which form the same triangular pyramid are arranged clockwise according to the sequence of the large spots, the large spots and the small spots; determining the number combination corresponding to the two target blobs by adopting a voting statistical mode, and further determining the number of each target blob; determining the initial position coordinates of each target macro-blob according to the number of each target macro-blob; determining the current position coordinates of each target macro-speckle according to the position information of the two target macro-speckles in the image; and determining the current pose of the spherical object according to the current position coordinates and the initial position coordinates of the two target blobs. The invention adopts the triangular pyramid matching mode to realize the determination of the pose of the spherical object, is not limited by the longitude and latitude division precision, and improves the accuracy of the pose determination of the spherical object.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required to be used in the embodiments will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to these drawings without inventive labor.
Fig. 1 is a flowchart of an image-based spherical object pose determination method according to embodiment 1 of the present invention;
fig. 2 is a schematic diagram of a method for determining the pose of a spherical object based on an image according to embodiment 1 of the present invention;
fig. 3 is a schematic diagram of a binarized image of a spherical object provided in embodiment 1 of the present invention;
fig. 4 is a schematic structural diagram of an archimedean polyhedron of a spherical object provided in embodiment 1 of the present invention;
FIG. 5 is an exemplary graph of the distribution of large and small speckles on a regular hexagon provided in example 1 of the present invention;
FIG. 6 is another exemplary plot of the distribution of large and small speckles on a regular hexagon provided in example 1 of the present invention;
FIG. 7 is a schematic diagram of the distribution of large spots and small spots of a semi-regular polyhedron of Archimedes' polyhedron provided in example 1 of the present invention;
FIG. 8 is a schematic view of the structure of a target triangular pyramid provided in embodiment 1 of the present invention;
FIG. 9 is a schematic diagram of the numbering determination of the target blobs according to embodiment 1 of the present invention;
fig. 10 is a schematic diagram of pose determination provided in embodiment 1 of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be obtained by a person skilled in the art without making any creative effort based on the embodiments in the present invention, belong to the protection scope of the present invention.
The invention aims to provide a method and a system for determining the pose of a spherical object based on an image so as to improve the accuracy of determining the pose of the spherical object.
In order to make the aforementioned objects, features and advantages of the present invention more comprehensible, the present invention is described in detail with reference to the accompanying drawings and the detailed description thereof.
Example 1
As shown in fig. 1 and 2, embodiment 1 of the present invention provides a method for determining a pose of a spherical object based on an image, where the method includes the following steps:
The core of embodiment 1 of the present invention is to utilize coordinate information of a blob, which is illustratively a black blob, and it is necessary to acquire black blob features (i.e., black blob information or blob information) on a spherical object in an image, so that a plurality of blob position information is obtained by performing various processing means such as binarization, connected component analysis, etc. on an image with a standard size.
After the image is binarized, a binarized image as shown in fig. 3 may be obtained.
After the connected domain analysis is carried out on the binarized image, the binarized image is divided into a plurality of small regions, so that which parts belong to the same spot and which parts belong to other parts and backgrounds on the spherical object can be determined.
And step 102, determining two spots with the largest area as two target large spots according to the spot information, wherein the spots except the two target large spots are all used as target small spots.
As shown in fig. 3, a certain number of large spots and small spots are distributed on the binarized image, and the size of the area of each spot on the image and the corresponding center point coordinates thereof can be calculated by calculating the connected domain. However, since the captured image corresponds to projecting a spherical surface onto a plane, the closer the spot is to the center, the closer the spot area is to the true value, and the farther the spot is from the center, the flatter the spot shape is, and the area is much smaller than the true value. This may result in the area of the small spot in the center on the image being larger than the area of the large spot on the edge on the image, so that it is possible that the area of the small spot is identified as a large spot due to the particular top ranking when finally sorted by area, eventually making the result of triangular pyramid matching erroneous.
In order to avoid this problem, the present invention proposes a way of correcting the spot area on the image based on the gradient, based on the condition that the picture taken corresponds to a spherical surface projected onto a plane. Since the gradients of all the spots on a spherical object relative to the projection plane cannot be equal everywhere, for the purpose of solving the approximation, the invention proposes to use the gradient of the center point of the spot to approximately replace the gradient of all the points on the spot. Thus, the problem becomes a plane projection problem, and if the gradient size of a plane and the size of the projection area of the plane on the projection plane are known, the size of the actual area of the plane can be obtained. For a ball
x 2 +y 2 +z 2 =R 2
Requiring the solution of the gradient of any point thereon relative to the XOZ plane, the surface equation can be expressed as
Then
The mode of the gradient is
The gradient direction forms an angle with the XOZ plane
Therefore, the corrected area is calculated according to the formula
However, this formula also has the drawback that when the spot center is at the boundary of a circle in the image, i.e. when the spot center is at the boundary of a circle in the imageVery close to R, calculatedIt will be very close to 0 and thus S' will be close to infinity, which is clearly not in line with reality. The invention provides that S' is a maximum of 2 times S, in which caseIllustrating that the applicability of the gradient-based algorithm has covered most of the area of the circle in which spots, marked according to the present invention, are generally locatedIt is possible to find two large spots, and even beyond this area, the area of the large spot multiplied by 2 tends to be larger than the area of the small spot. Therefore, after the areas of the blobs on the image are corrected by the algorithm, the blobs are sorted according to the corrected areas, and the category to which the two blobs having the largest areas belong is always the large blob.
And 103, constructing a target triangular pyramid by taking the two target large spots as two vertexes of the bottom surface, taking the sphere center of the spherical object as a vertex except the bottom surface, and taking each target small spot as the other vertex of the bottom surface respectively, so as to obtain a plurality of target triangular pyramids.
According to the embodiment of the invention, the spots are sorted according to the areas of the spots, and two spots with the largest areas are always large spots when viewed from each angle on the marked spherical object, so that the two largest spots detected in the image are considered as target large spots. For other smaller area blobs, they are all considered small blobs. Although there are still blobs that belong to large blobs among the small blobs considered, since the exemplary voting-based algorithm can be adopted, the number of small blobs considered but the number of large blobs is much smaller than the number of small blobs, the final result is not affected much after the voting.
On each image, as shown in FIG. 3, there are several large blobs and several small blobs. According to the triangular pyramid construction rule, each two large spots and one small spot are three vertexes of the triangular pyramid bottom surface, and the sphere center is taken as a vertex, so that a triangular pyramid, namely a target triangular pyramid, can be constructed, as shown in fig. 8.
104, respectively matching each target triangular pyramid with triangular pyramids in a database to obtain the number combination of two large spots of the triangular pyramid matched with each target triangular pyramid in the direction; the database stores the number and initial position coordinates of each large spot, and any two large spots and any one small spot are respectively used as three vertexes of the bottom surface, the sphere center of the spherical object is used as a triangular pyramid constructed by vertexes outside the bottom surface, and the two large spots and the one small spot which form the same triangular pyramid are arranged clockwise according to the sequence of the large spots, the large spots and the small spots.
For the construction of the database:
firstly, the spherical object needs to be marked with large spots and small spots arranged according to a certain rule.
To visually describe the distribution of spots on a spherical object, we consider the sphere as a semi-regular polyhedron, also known as an "archimedean polyhedron". The surface of the semi-regular polyhedron in the invention is composed of 20 regular hexagons and 12 regular pentagons. As shown in fig. 4.
Then, the large spots and the small spots are distributed on each regular polygon according to a certain rule. Wherein, a large spot is distributed at the center of each regular hexagon, and a plurality of small spots are distributed on the top angles of the regular hexagons around the large spot, as shown in fig. 5 and 6.
Meanwhile, a plurality of small spots are distributed on the top corners of the regular pentagon. The final effect is shown in fig. 7.
In order to make the distribution of the large and small spots unique on the images taken from any angle, the present invention totally designs that the number of the large spots is 20 and the number of the small spots is 78. And then, projecting the spots on the semi-regular polyhedron onto the spherical surface, thereby completing the marking of the spots.
The spots marked on the spherical object comprise 20 big spots and 78 small spots, the spots are respectively numbered, the positions of the central points of the spots in the space are recorded, the ball in the current state is taken as a reference ball, and then the pose of the spherical object is calculated according to the space coordinates of the corresponding numbered spots after rotation.
For each triangular pyramid, the vertex of the triangular pyramid is the sphere center of the spherical object, two of the three vertexes on the triangle on the bottom surface are the central points of the large spots, and the other one is the central point of the small spot. To ensure that each triangular pyramid constructed appears only once in the triangular pyramid library, the vertices of the triangular pyramids are numbered. As shown in fig. 8, pt0 is the center of the spherical object, pt1 and Pt2 are the centers of the large spots, and Pt3 is the center of the small spot, i.e., the arrangement of Pt1, pt2 and Pt3 is clockwise when viewed from the bottom toward the apex. With such a numbering rule, the number formed by the four vertices of each triangular pyramid is uniquely determined. Meanwhile, the triangular pyramids to be matched (i.e., the target triangular pyramids) are numbered only in the same manner, and the triangular pyramids can be effectively matched only if all the triangular pyramids are numbered in the same manner.
The method matches a target triangular pyramid constructed on the image with triangular pyramids in a database based on the side length of each side of the triangular pyramid. Because the radius of three lateral edges of the triangular pyramid is consistent with that of the spherical object, the triangular pyramid does not need to be matched, and only three edges of the bottom surface of the triangular pyramid need to be matched. The three edges of the bottom surface of the triangular pyramid are sequenced as the top points of the bottom surface of the triangular pyramid, wherein the connecting line of the central points of the two large spots is the first edge, and the subsequent edges are sequentially arranged in the clockwise direction. And matching the three edges with three edges of each triangular pyramid in the triangular pyramid library, wherein if the error of each edge of the triangular pyramid and the target triangular pyramid in the triangular pyramid library is within 5%, the successful matching is indicated.
And 105, determining the number combination corresponding to the two target large spots by adopting a voting statistic mode, and further determining the number of each target large spot.
And voting large spot combinations corresponding to the triangular pyramids of the triangular pyramid library. The most likely corresponding serial numbers of the two large spots in the image on the marked spherical object can be obtained through voting, and the poses of the spherical object can be calculated through the serial numbers of the two large spots.
After finding the two target large spots on the image, the next step is to determine the numbers of the two target large spots, and then calculate the pose of the spherical object at the moment.
The vertex coordinates on the image can be calculated from the relationship between the image and the space and the characteristics of the spherical object. Therefore, the spatial vertex coordinates of the center point coordinates of the target macro patch on the image can be calculated. The calculation procedure is as follows. As shown in fig. 9, the width and height of the binarized image are the diameters of the spherical objects, and half the length thereof is the radius of the sphere on the image. Exemplary if the radius of the spherical object is 1m, the determination of the current position coordinates is performed in combination with the following formula
x 2 +y 2 +z 2 =R 2
The x and z sizes can be measured on the image, and since the y coordinate of the spot on the image in the spherical coordinate system is less than 0, the y coordinate size can be calculated by the above formula.
A database containing a triangular pyramid library containing triangular pyramids has been previously constructed using the initial coordinate information of the large and small spots. A triangular pyramid, namely a target triangular pyramid, can be constructed by taking the central points of the maximum two target large spots on the image, then taking one central point from the identified target small spots and adding the spherical center of the spherical object. If the constructed target triangular pyramid has a triangular pyramid matched with the target triangular pyramid in the triangular pyramid library, voting is carried out on the serial numbers of the large spots of the matched triangular pyramids in the triangular pyramid library (namely, the number of votes is added with 1). After matching and voting are carried out on all the triangular pyramids which can be constructed on the image, the number of votes obtained by each large-spot combination is counted, and the combination with the highest vote is the serial number corresponding to the two largest spots (namely, the two target large spots) on the image.
After the numbers of the two blobs are determined, the respective numbers of the two blobs also need to be determined. As shown in FIG. 9, nos. 10 and 12 are the numbers of the two large blobs determined by the voting method. The determination method is as follows, the spot at A has the largest product after being corrected by the spot area sorting algorithm, the spot at B is ranked second, therefore the two spots are regarded as big spots, and the number of the spots is determined according to the voting method. For the base of two selected triangular pyramids on the image, the order of the vertices of the triangular pyramids when matching should be (0, a, B, c) and (0, B, a, d) according to the clockwise principle previously designed, the number of the large spot should be determined, where we cannot vote for (10, 12) and (12, 10) respectively, because the positions of a and B are determined, and thus the vote should be cast to a certain combination. To avoid this problem, it is specified that voting is performed in order of area when voting is performed. When the triangular pyramid is generated, three vertexes on the base surface of the triangular pyramid are sorted according to the spot area, and whether the arrangement order of the three vertexes is clockwise is judged. If the direction is clockwise, voting is carried out on the combination according to the sequence of the two big spots; if the direction is anticlockwise, voting is carried out on the combination of the two big spots after the exchange sequence. By this method, the tickets can all be cast to the (A, B) combination, thereby avoiding the occurrence of the situation of ticket distribution.
And 106, determining the initial position coordinates of each target macro-blob according to the number of each target macro-blob.
And 107, determining the current position coordinates of each target macro patch according to the position information of the two target macro patches in the image.
And 108, determining the current pose of the spherical object according to the current position coordinates and the initial position coordinates of the two target large spots.
As shown in fig. 10, the posture of the spherical object is calculated by the coordinates pt0 of the center of the sphere of the spherical object, and the current position coordinates pt1', pt2' and the initial position coordinates pt1, pt2 of the two target blobs.
Since the ball has only undergone rotation, it
Wherein R is M For rotation matrices, according to the rotation matrix property R M U×R M V=R M (U × V) to obtain
(P t1 '-P t0 )×(P t2 '-P t0 )=R M [(P t1 -P t0 )×(P t2 -P t0 )]
Combining the two preceding equations with R M By constraint of (2), the rotation matrix R can be determined M 。
The homogeneous matrix H (4 × 4) is often used to represent the position and attitude of a rigid body, where the translation vector is 0 since no translation of a spherical object is involved, and the homogeneous matrix is only associated with the rotation matrix R of a spherical object M It is relevant. Calculating the rotation matrix R of the spherical object M To obtain a homogeneous matrix of the spherical object
Wherein
Since the initial sphere is in a standard state, its homogeneous matrix is a unit matrix. The homogeneous matrix H of the rotated spherical object is the pose of the spherical object at that time.
An image-based spherical object pose determination system, the system comprising:
the spot information acquisition module is used for acquiring spot information in the image of the spherical object; the spherical object is marked with a plurality of large spots and a plurality of small spots;
and the target spot selection module is used for determining two spots with the largest areas as two target large spots according to the spot information, and the spots except the two target large spots are all used as target small spots.
The target spot selection module specifically comprises:
and the correction submodule is used for correcting the image measurement area of the spots in the image by adopting the following formula to obtain the corrected area.
Wherein S' represents the corrected area, S represents the image measurement area, theta is the included angle between the gradient direction of the center point of the spot relative to the XOZ plane and the XOZ plane, R is the radius of the spherical object, and x and z are the x-axis coordinate and the z-axis coordinate of the center point of the spot respectively.
The secondary correction submodule is used for carrying out secondary correction on the corrected area which is larger than 2 times of the image measurement area to obtain the area after secondary correction; the area after the secondary correction is equal to 2 times of the image measurement area.
And the standard area determination submodule is used for respectively taking the corrected area or the secondarily corrected area of the spot as the standard area of the spot.
And the target spot selection sub-module is used for selecting the two spots with the largest standard areas as the two target large spots and determining the spots except the two target large spots as the target small spots.
The target triangular pyramid building module is used for building a target triangular pyramid by taking the two target large spots as two vertexes of the bottom surface, taking the sphere center of the spherical object as a vertex except the bottom surface and respectively taking each target small spot as the other vertex of the bottom surface to obtain a plurality of target triangular pyramids;
the number combination determining module is used for respectively matching each target triangular pyramid with the triangular pyramids in the database to obtain the number combination of two large spots of the triangular pyramid matched with each target triangular pyramid in the direction; the database stores the number and initial position coordinates of each large spot, any two large spots and any one small spot respectively as three vertexes of the bottom surface, the sphere center of the spherical object is used as a triangular pyramid constructed by vertexes except the bottom surface, and the two large spots and the one small spot which form the same triangular pyramid are arranged clockwise according to the sequence of the large spots, the large spots and the small spots;
the number determining module of the target big spots is used for determining the number combination corresponding to the two target big spots by adopting a voting statistic mode so as to determine the number of each target big spot;
an initial position coordinate determination module, configured to determine an initial position coordinate of each of the target blobs according to the number of each of the target blobs;
the current position coordinate determination module is used for determining the current position coordinate of each target macro-speckle according to the position information of the two target macro-speckles in the image;
and the current pose determining module is used for determining the current pose of the spherical object according to the current position coordinates and the initial position coordinates of the two target large spots.
The current position coordinate determination module specifically includes:
and the rotation matrix solving submodule is used for solving the rotation matrix of the spherical object by using the following equation.
(P t1 '-P t0 )×(P t2 '-P t0 )=R M [(P t1 -P t0 )×(P t2 -P t0 )];
Wherein, P t1 ' and P t2 ' Current position coordinates, P, of two target blobs, respectively t1 And P t2 Initial position coordinates, R, of two target blobs, respectively M Rotation matrix representing a spherical object, P t0 Representing the sphere center coordinates of a spherical object.
And the current pose determining submodule is used for determining a current homogeneous matrix of the spherical object according to the rotation matrix of the spherical object by using the following formula, namely the current pose of the spherical object.
Wherein r is 11 、r 12 、r 13 、r 21 、r 22 、r 23 、r 31 、r 32 And r 33 Are elements in a rotation matrix of the spherical object, and H is a current homogeneous matrix of the spherical object.
Illustratively, the system further comprises:
the equivalent processing module is used for equivalent the spherical object into an Archimedes polyhedron;
the macro-patch setting module is used for setting a macro-patch at the center of a regular hexagon of the Archimedes polyhedron;
the small spot setting module is used for setting a small spot on at least one central line of a regular hexagon or a regular pentagon of the Archimedes polyhedron; the central line is a line segment connecting the central point and the end point of the regular hexagon or the regular pentagon.
According to the specific embodiment provided by the invention, the invention discloses the following technical effects:
the invention discloses a method and a system for determining a pose of a spherical object based on an image, wherein the method comprises the following steps: acquiring spot information in an image of a spherical object; determining two spots with the largest area as two target large spots according to the spot information, wherein the spots except the two target large spots are all used as target small spots; constructing a target triangular pyramid by taking the two target large spots as two vertexes of the bottom surface, taking the sphere center of the spherical object as a vertex except the bottom surface, and taking each target small spot as the other vertex of the bottom surface respectively to obtain a plurality of target triangular pyramids; respectively matching each target triangular pyramid with triangular pyramids in a database to obtain the number combination of two large spots of the triangular pyramid matched with each target triangular pyramid in the direction; the database stores the number and initial position coordinates of each large spot, and any two large spots and any one small spot are respectively used as three vertexes of the bottom surface, the sphere center of the spherical object is used as a triangular pyramid constructed by vertexes outside the bottom surface, and the two large spots and the one small spot which form the same triangular pyramid are arranged clockwise according to the sequence of the large spots, the large spots and the small spots; determining the number combination corresponding to the two target blobs by adopting a voting statistical mode, and further determining the number of each target blob; determining the initial position coordinates of each target macro-blob according to the number of each target macro-blob; determining the current position coordinates of each target macro-speckle according to the position information of the two target macro-speckles in the image; and determining the current pose of the spherical object according to the current position coordinates and the initial position coordinates of the two target large spots. The invention realizes the determination of the pose of the spherical object by adopting a triangular pyramid matching mode, is not limited by the division precision of longitude and latitude, and improves the determination precision of the pose of the spherical object.
The embodiments are described in a progressive manner in the specification, the heavy vertex description of each embodiment is different from that of other embodiments, and the same and similar parts among the embodiments can be referred to each other. The device disclosed in the embodiment corresponds to the method disclosed in the embodiment, so that the description is simple, and the relevant points can be referred to the description of the method part.
The principles and embodiments of the present invention have been described herein using specific examples, which are provided only to help understand the method and the core concept of the present invention; meanwhile, for a person skilled in the art, according to the idea of the present invention, the specific embodiments and the application range may be changed. In view of the above, the present disclosure should not be construed as limiting the invention.
Claims (8)
1. An image-based spherical object pose determination method is characterized by comprising the following steps:
acquiring spot information in an image of a spherical object; the spherical object is marked with a plurality of large spots and a plurality of small spots;
determining two spots with the largest area as two target large spots according to the spot information, wherein the spots except the two target large spots are all used as target small spots;
constructing a target triangular pyramid by taking the two target large spots as two vertexes of the bottom surface, taking the sphere center of the spherical object as a vertex except the bottom surface, and taking each target small spot as the other vertex of the bottom surface respectively to obtain a plurality of target triangular pyramids;
respectively matching each target triangular pyramid with triangular pyramids in a database to obtain the number combination of two large spots of the triangular pyramid matched with each target triangular pyramid in the direction; the database stores the number and initial position coordinates of each large spot, any two large spots and any one small spot respectively as three vertexes of the bottom surface, the sphere center of the spherical object is used as a triangular pyramid constructed by vertexes except the bottom surface, and the two large spots and the one small spot which form the same triangular pyramid are arranged clockwise according to the sequence of the large spots, the large spots and the small spots;
determining the number combination corresponding to the two target large spots by adopting a voting statistic mode, and further determining the number of each target large spot;
determining the initial position coordinates of each target macro-blob according to the number of each target macro-blob;
determining the current position coordinate of each target macro-speckle according to the position information of the two target macro-speckles in the image;
and determining the current pose of the spherical object according to the current position coordinates and the initial position coordinates of the two target large spots.
2. The image-based spherical object pose determination method according to claim 1, wherein the determining two blobs with the largest areas as two target large blobs according to the blob information, and all the blobs except the two target large blobs as target small blobs, specifically comprises:
correcting the image measurement area of the spots in the image by adopting the following formula to obtain the corrected area;
wherein S' represents the corrected area, S represents the image measurement area, theta is the included angle between the gradient direction of the central point of the spot relative to the XOZ plane and the XOZ plane, R is the radius of the spherical object, and x and z are the x-axis coordinate and the z-axis coordinate of the central point of the spot respectively;
carrying out secondary correction on the corrected area which is more than 2 times of the image measurement area to obtain the area after secondary correction; the area after the secondary correction is equal to 2 times of the image measurement area;
respectively taking the corrected area or the secondarily corrected area of the spot as the standard area of the spot;
and selecting two spots with the largest standard area as two target large spots, and determining spots except for the two target large spots as target small spots.
3. The image-based spherical object pose determination method according to claim 1, wherein the determining the current pose of the spherical object according to the current position coordinates and the initial position coordinates of the two large target blobs specifically comprises:
solving a rotation matrix of the spherical object by using the following equation;
(P t1 '-P t0 )×(P t2 '-P t0 )=R M [(P t1 -P t0 )×(P t2 -P t0 )];
wherein, P t1 ' and P t2 ' Current position coordinates, P, of two target blobs, respectively t1 And P t2 Initial position coordinates, R, of two target blobs, respectively M Rotation matrix, P, representing spherical objects t0 Representing the sphere center coordinates of a spherical object;
determining a current homogeneous matrix of the spherical object by using the following formula according to the rotation matrix of the spherical object, namely determining the current pose of the spherical object;
wherein r is 11 、r 12 、r 13 、r 21 、r 22 、r 23 、r 31 、r 32 And r 33 Are elements in a rotation matrix of the spherical object, and H is a current homogeneous matrix of the spherical object.
4. The image-based spherical object pose determination method according to claim 1, wherein the acquiring speckle information in the image of the spherical object further comprises:
the spherical object is equivalent to an Archimedes polyhedron;
arranging a large spot at the center of a regular hexagon of the Archimedes polyhedron;
setting a small spot on at least one central line of a regular hexagon or a regular pentagon of the Archimedes polyhedron; the central line is a line segment connecting the central point and the end point of the regular hexagon or the regular pentagon.
5. An image-based spherical object pose determination system, the system comprising:
the spot information acquisition module is used for acquiring spot information in the image of the spherical object; the spherical object is marked with a plurality of large spots and a plurality of small spots;
the target spot selection module is used for determining two spots with the largest areas as two target large spots according to the spot information, and the spots except the two target large spots are all used as target small spots;
the target triangular pyramid building module is used for building a target triangular pyramid by taking the two target large spots as two vertexes of the bottom surface, taking the sphere center of the spherical object as a vertex except the bottom surface and taking each target small spot as the other vertex of the bottom surface respectively to obtain a plurality of target triangular pyramids;
the number combination determining module is used for respectively matching each target triangular pyramid with the triangular pyramids in the database to obtain the number combination of two large spots of the triangular pyramid matched with each target triangular pyramid in the direction; the database stores the number and initial position coordinates of each large spot, any two large spots and any one small spot respectively as three vertexes of the bottom surface, the sphere center of the spherical object is used as a triangular pyramid constructed by vertexes except the bottom surface, and the two large spots and the one small spot which form the same triangular pyramid are arranged clockwise according to the sequence of the large spots, the large spots and the small spots;
the number determining module of the target big spots is used for determining the number combination corresponding to the two target big spots by adopting a voting statistic mode so as to determine the number of each target big spot;
an initial position coordinate determination module, configured to determine an initial position coordinate of each of the target blobs according to the number of each of the target blobs;
the current position coordinate determination module is used for determining the current position coordinate of each target macro-speckle according to the position information of the two target macro-speckles in the image;
and the current pose determining module is used for determining the current pose of the spherical object according to the current position coordinates and the initial position coordinates of the two target blobs.
6. The image-based spherical object pose determination system according to claim 5, wherein the target spot selection module specifically comprises:
the correction submodule is used for correcting the image measurement area of the spots in the image by adopting the following formula to obtain the corrected area;
wherein S' represents the corrected area, S represents the image measurement area, theta is the included angle between the gradient direction of the central point of the spot relative to the XOZ plane and the XOZ plane, R is the radius of the spherical object, and x and z are the x-axis coordinate and the z-axis coordinate of the central point of the spot respectively;
the secondary correction submodule is used for carrying out secondary correction on the corrected area which is larger than 2 times of the image measurement area to obtain the area after secondary correction; the area after the secondary correction is equal to 2 times of the image measurement area;
the standard area determination submodule is used for respectively taking the corrected area or the secondarily corrected area of the spot as the standard area of the spot;
and the target spot selection submodule is used for selecting the two spots with the maximum standard areas as two target large spots and determining spots except the two target large spots as target small spots.
7. The image-based spherical object pose determination system according to claim 5, wherein the current position coordinate determination module specifically comprises:
the rotation matrix solving submodule is used for solving a rotation matrix of the spherical object by using the following equation;
(P t1 '-P t0 )×(P t2 '-P t0 )=R M [(P t1 -P t0 )×(P t2 -P t0 )];
wherein, P t1 ' and P t2 ' Current position coordinates, P, of two target blobs, respectively t1 And P t2 Initial position coordinates, R, of two target blobs, respectively M Rotation matrix representing a spherical object, P t0 Representing the sphere center coordinates of a spherical object;
the current pose determining submodule is used for determining a current homogeneous matrix of the spherical object by using the following formula according to the rotation matrix of the spherical object, namely the current pose of the spherical object;
wherein r is 11 、r 12 、r 13 、r 21 、r 22 、r 23 、r 31 、r 32 And r 33 Are elements in a rotation matrix of the spherical object, and H is a current homogeneous matrix of the spherical object.
8. An image-based spherical object pose determination system according to claim 5, characterized in that the system further comprises:
the equivalent processing module is used for enabling the spherical object to be equivalent to an Archimedes polyhedron;
the macro-patch setting module is used for setting a macro-patch at the center position of a regular hexagon of the Archimedes polyhedron;
the small spot setting module is used for setting a small spot on at least one central line of a regular hexagon or a regular pentagon of the Archimedes polyhedron; the central line is a line segment connecting the central point and the end point of the regular hexagon or the regular pentagon.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210804715.7A CN115170665B (en) | 2022-07-08 | 2022-07-08 | Image-based spherical object pose determination method and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210804715.7A CN115170665B (en) | 2022-07-08 | 2022-07-08 | Image-based spherical object pose determination method and system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115170665A true CN115170665A (en) | 2022-10-11 |
CN115170665B CN115170665B (en) | 2023-08-01 |
Family
ID=83493420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210804715.7A Active CN115170665B (en) | 2022-07-08 | 2022-07-08 | Image-based spherical object pose determination method and system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115170665B (en) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130070239A1 (en) * | 2005-06-09 | 2013-03-21 | Analog Modules Inc. | Laser spot tracking with off-axis angle detection |
CN107146254A (en) * | 2017-04-05 | 2017-09-08 | 西安电子科技大学 | The Camera extrinsic number scaling method of multicamera system |
CN108253915A (en) * | 2018-01-18 | 2018-07-06 | 北方民族大学 | A kind of six ball models and scaling method |
CN110686650A (en) * | 2019-10-29 | 2020-01-14 | 北京航空航天大学 | Monocular vision pose measuring method based on point characteristics |
US20200064119A1 (en) * | 2018-08-22 | 2020-02-27 | Government Of The United States Of America, As Represented By The Secretary Of Commerce | Non-contact coordinate measuring machine using a noncontact metrology probe |
CN111833333A (en) * | 2020-07-16 | 2020-10-27 | 西安科技大学 | Binocular vision-based boom type tunneling equipment pose measurement method and system |
CN113538592A (en) * | 2021-06-18 | 2021-10-22 | 深圳奥锐达科技有限公司 | Calibration method and device for distance measuring device and camera fusion system |
US20220044443A1 (en) * | 2019-05-22 | 2022-02-10 | Sichuan Visensing Technology Co., Ltd. | Fisheye camera calibration system, method and electronic device |
-
2022
- 2022-07-08 CN CN202210804715.7A patent/CN115170665B/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130070239A1 (en) * | 2005-06-09 | 2013-03-21 | Analog Modules Inc. | Laser spot tracking with off-axis angle detection |
CN107146254A (en) * | 2017-04-05 | 2017-09-08 | 西安电子科技大学 | The Camera extrinsic number scaling method of multicamera system |
CN108253915A (en) * | 2018-01-18 | 2018-07-06 | 北方民族大学 | A kind of six ball models and scaling method |
US20200064119A1 (en) * | 2018-08-22 | 2020-02-27 | Government Of The United States Of America, As Represented By The Secretary Of Commerce | Non-contact coordinate measuring machine using a noncontact metrology probe |
US20220044443A1 (en) * | 2019-05-22 | 2022-02-10 | Sichuan Visensing Technology Co., Ltd. | Fisheye camera calibration system, method and electronic device |
CN110686650A (en) * | 2019-10-29 | 2020-01-14 | 北京航空航天大学 | Monocular vision pose measuring method based on point characteristics |
CN111833333A (en) * | 2020-07-16 | 2020-10-27 | 西安科技大学 | Binocular vision-based boom type tunneling equipment pose measurement method and system |
CN113538592A (en) * | 2021-06-18 | 2021-10-22 | 深圳奥锐达科技有限公司 | Calibration method and device for distance measuring device and camera fusion system |
Non-Patent Citations (3)
Title |
---|
ENRIC CORONA 等: "Pose Estimation for Objects with Rotational Symmetry", ARXIV, pages 1 - 24 * |
王天宇 等: "基于单目视觉和固定靶标的位姿测量系统", 红外与激光工程, pages 1 - 8 * |
钱伟 等: "数字图像相关方法中数字散斑场的制作与应用研究", 液晶与显示, pages 81 - 89 * |
Also Published As
Publication number | Publication date |
---|---|
CN115170665B (en) | 2023-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102446163B1 (en) | Target, method, and system for camera calibration | |
CN111243032A (en) | Full-automatic checkerboard angular point detection method | |
US8106968B1 (en) | System and method for pattern detection and camera calibration | |
US8949060B2 (en) | Inspection method | |
CN112614188B (en) | Dot-matrix calibration board based on cross ratio invariance and identification method thereof | |
JP2022528301A (en) | Calibration method, positioning method, equipment, electronic devices and storage media | |
EP3944194B1 (en) | Fisheye camera calibration system, method and apparatus, and electronic device and storage medium | |
CN113963067B (en) | Calibration method for calibrating large-view-field visual sensor by using small target | |
CN111699513B (en) | Calibration plate, internal parameter calibration method, machine vision system and storage device | |
CN113096191B (en) | Intelligent calibration method for monocular camera based on coding plane target | |
CN115170665B (en) | Image-based spherical object pose determination method and system | |
CN110163922B (en) | Fisheye camera calibration system, fisheye camera calibration method, fisheye camera calibration device, electronic equipment and storage medium | |
CN104484647B (en) | A kind of high-resolution remote sensing image cloud height detection method | |
US6985609B2 (en) | Method for identifying an object image | |
US11402524B2 (en) | Geometric calibration of X-ray imaging systems | |
CN115713564A (en) | Camera calibration method and device | |
CN110458951A (en) | A kind of the modeling data acquisition methods and relevant apparatus of power grid shaft tower | |
CN113506347B (en) | Camera internal reference processing method and system based on single picture | |
KR102442545B1 (en) | Method and apparatus of detecting object using deep learning of omni directional image, method of autonomous driving of vehicle and drone using the method | |
CN115131433A (en) | Non-cooperative target pose processing method and device and electronic equipment | |
CN114494316A (en) | Corner marking method, parameter calibration method, medium, and electronic device | |
CN110399931B (en) | Fisheye image matching method and system | |
Li et al. | Positional deviation detection of silicone caps on FPCB | |
CN115131273A (en) | Information processing method, ranging method and device | |
CN111445453A (en) | Method, system, medium, and apparatus for determining deviation of key image acquired by camera |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |