Generating a unique identifier from a collection of particles
By forming planar particles and media materials that are unique markers on the surface of the target object, and combining them with an imaging device to determine the relative position and orientation of the particles, the problem of generating and identifying unique identifiers in the prior art is solved, and simple and accurate identifier generation and identification are achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- DUST IDENTITY INC
- Filing Date
- 2024-09-16
- Publication Date
- 2026-06-05
AI Technical Summary
Existing technologies struggle to effectively generate and identify unique identifiers, especially on complex surfaces where it is difficult to determine the relative position and orientation of particles, making identifier generation complex and susceptible to errors.
By using planar or elongated particles to form unique markers on the surface of a target object, attaching the particles to a medium, and using an imaging device to determine the relative position and orientation of the particles, a unique identifier is generated.
It enables the simple and accurate generation of unique identifiers on complex surfaces, reducing recognition complexity and improving recognition reliability and efficiency.
Smart Images

Figure CN122162140A_ABST
Abstract
Description
Cross-reference to related applications
[0001] This application claims priority to U.S. Provisional Application No. 63 / 582,993, filed September 15, 2023, entitled “Generating Unique Identifiers from a Collection of Planar Bodies,” the entire contents of which are incorporated herein by reference. Background Technology
[0002] The following description pertains to generating unique identifiers from a set of particles.
[0003] Some products are manufactured using holograms, watermarks, fluorescent dyes, or other features that can be used as anti-counterfeiting measures. For example, such features can be used to verify the product's origin or authenticity. These measures are important in many industries, including the food, pharmaceutical, electronics, luxury goods, and others. Attached Figure Description
[0004] Figure 1 This is a schematic diagram of an example set of particles that can be used as unique markers for the target object, taken from a top view.
[0005] Figure 2 This is a schematic diagram of a three-dimensional view of an example particle group attached to a plane of a target object using a medium.
[0006] Figure 3 This is a top-view schematic diagram of an example particle group, where each particle has an outer perimeter that defines a convex or concave polygonal shape.
[0007] Figure 4A This is a schematic diagram of an example particle with an internal set of orthogonal axes including a major axis and a minor axis, using a top view.
[0008] Figure 4B This is a schematic diagram using a top view of example particles of different sizes.
[0009] Figure 5 These are schematic diagrams using front views of two example arrangements of the object plane and image plane that can be used to derive unique identifiers.
[0010] Figure 6 This is a schematic diagram of cross-sectional views of two example particle groups attached to a convex surface and an undulating surface, respectively.
[0011] Figure 7 This is a schematic diagram using a top view of an example shape having a set of principal orthogonal axes including major and minor axes.
[0012] Figure 8This is a schematic diagram using a top view of an example shape, each having a set of principal orthogonal axes including major and minor axes.
[0013] Figure 9 This is a schematic diagram illustrating the relative distance and relative orientation between a pair of shapes defined by particles.
[0014] Figure 10 This is a schematic diagram illustrating the shape of particles defined by different viewpoints.
[0015] Figure 11 This is a schematic diagram illustrating the shape defined by multiple particles from different perspectives.
[0016] Figure 12 This is a flowchart illustrating an example process for determining a unique code based on one or more images of objects including particles.
[0017] Figure 13 This is a flowchart illustrating an example process for determining shape information based on one or more images of objects including particles.
[0018] Figure 14 This is a flowchart illustrating an example process for determining the relative position and relative orientation information of a pair of planar particles.
[0019] Figure 15 This is a flowchart illustrating an example process for determining two unique codes based on one or more images of objects, each containing planar particles with sub-elements.
[0020] Figure 16 This is a block diagram illustrating an example device. Detailed Implementation
[0021] Some aspects described herein disclose techniques for generating one or more unique identifiers (also referred to herein as unique codes or authentication codes) from one or more images of objects comprising multiple particles (e.g., planar particles, planar volumes, planar elements, or elongated particles).
[0022] In general, unique markers may include particles disposed on a surface. In some cases, the particles are disposed on the surface of the target object, and the particles have well-defined relative positions and orientations on the surface. The particles may be a physical part of the unique markers that provides the basis for generating a unique identifier for the target object. Furthermore, deriving a two-dimensional representation of the particles can, for example, reduce the overall dimensionality of the group, making it easy for a camera or other imaging device to distinguish a unique set of relative positions and orientations in the unique markers. Thus, the reduced dimensionality allows for easy determination of unique identifiers from unique markers without more complex measuring devices. In some variations, the unique identifier can be determined using imaging devices (such as optical imaging devices (e.g., cameras, stereo cameras, or mobile phones) or other devices used for imaging (e.g., devices using X-rays or millimeter waves, etc.)).
[0023] In some implementations, particles have a high aspect ratio, allowing each particle to be considered (or approximated as) a two-dimensional geometric object. For example, each particle may have a physical extent that occurs primarily in two dimensions. In some cases, the thickness or depth of the particle is negligible relative to its size in either of the two principal dimensions. For example, the thickness of the particle may be less than 10%, less than 5%, or less than 1% of its size in the other two dimensions. In some cases, the particle has surface features (e.g., protrusions, etc.) or surface variations (e.g., cracks, etc.) that are negligible relative to its size in either of the two principal dimensions. In some cases, the particle may be curved or bent along one or both of the two principal dimensions. In some cases, the particle may include flakes, fragments, shavings, foils, strips, shards, microparticles, etc. Combinations of different types of particles are possible. Figure 1 A schematic diagram of an example group of particles 100, presented in a top-down view, is shown as a unique marker that can be used as a target object. Some particles (e.g., 100A, 100B) have a perimeter that defines a polygon or another two-dimensional geometry.
[0024] In some implementations, a medium (matrix material) (e.g., an adhesive) is used to attach particles or a unique marker containing the particles to the surface of a target object. The medium can be a thin or thick transparent or translucent material, and the surface of the target object can be planar (or partially planar). However, other surfaces are possible for the target object (e.g., curved surfaces, surfaces of arbitrary shapes, etc.). Figure 2 A three-dimensional view is used to present a schematic diagram of an example planar particle group 200 attached to a plane of a target object using matrix material 202.
[0025] In some implementations, a thin medium is used to attach particles to the surface of the target object. This surface can be planar or partially planar. In this case, the particles can conform to the topology of the surface, and therefore, the relative position and orientation of the particles can occur in two spatial dimensions. Thus, a unique set of the resulting relative positions and orientations can be given relative to a single two-dimensional coordinate system.
[0026] In some implementations, one or more particles in a group may have an outer perimeter that defines a polygonal shape (such as a closed polygon) when being imaged. For this purpose, the outer perimeter may include a straight or curved outer surface. The polygonal shape may be convex or concave in nature, and each shape may contain centroid (geometric center) coordinates in two dimensions. For example, a polygonal shape may include geometric center coordinates defined by the centroid in the xy-plane. Figure 3 A schematic diagram of example particle group 300 is presented in top view, wherein each particle (e.g., 302, 304, 306) has an outer perimeter that defines a polygonal shape, either convex or concave. In these implementations, the relative distance between any two particles, or the relative angle and distance between three or more particles, can represent a unique identifier that defines the spatial relationship between the central coordinates of the particles (e.g., the centroid of the particle).
[0027] Furthermore, each particle in the group, when imaged and constrained into a polygonal shape, can be fitted to an internal set of orthogonal axes, such that a single rotation angle can correlate the orientation of one internal set of orthogonal axes with the orientation of another internal set of orthogonal axes. In some variations, such as Figure 4A As shown, the set of internal orthogonal axes (e.g., 402, 404, forming right angles as indicated by the right angle symbol) can include major and minor axes. For example, the set of internal orthogonal axes of a shape (e.g., 400) can be derived using moment calculations. In these cases, the major axis (e.g., 402) can be aligned with the calculated major principal moment of the shape, and the minor axis (e.g., 404) can be configured to be orthogonal to the axis of the calculated minor principal moment closest to the shape. The major and minor axes can have an origin at the centroid of the shape (e.g., 406). In many variations, the relative orientation between two shapes can be represented by a single in-plane angle that can transform the coordinate system (or set of internal orthogonal axes) of one particle to the coordinate system of another particle.
[0028] In some implementations, particles define a unique set of relative positions and orientations in three dimensions. For example, a thick medium (as a matrix material) can be used to attach a group of particles to the surface of a target object. As another example, a group of particles can be attached to a non-planar surface of the target object. In these implementations, the position of each particle can be represented by a centroid (e.g., a centroid) defined in three spatial dimensions. For example, for two particles with centroids at different depths in a thick medium, the depth difference can be represented in a third spatial dimension (e.g., where the difference in horizontal and vertical position between centroids is represented in the first and second spatial dimensions). The orientation of each particle can also be represented in three spatial dimensions by a local coordinate system of that particle. The local coordinate system can, for example, be defined by a vector perpendicular to the plane of the particle and the major and minor axes based on the shape of the particle. The relative distance between any two particles and the coordinate transformation between any two particles can provide unique identifying features that contribute to or define the spatial characteristics of a unique marker. Other combinations of spatial relationships are possible. For example, the distance between three or more particles and the coordinate transformation between each particle and a common reference frame can also provide unique identifying features that contribute to or define the spatial characteristics of a unique marker.
[0029] Particles can come from different classes and can be used at different scales or sizes to create composite unique identifiers (e.g., fingerprints or identification tags). In some implementations, the characteristic size of a class is a centimeter scale, a millimeter scale, or other size scale. In some implementations, the characteristic size of a particle class represents the minimum, maximum, or average expected size along one or more dimensions of the particle. For example, a given particle that is larger in one dimension than a threshold established for the characteristic size (e.g., 5 mm for a millimeter scale) can be excluded from being considered part of a class with that characteristic size. For example, a unique identifier could include a first class of particles with an average characteristic size of 1 cm × 1 cm and a second class of particles with an average characteristic size of 0.1 mm × 0.1 mm. In this configuration, the first and second classes can be used to generate a first unique identifier and a second unique identifier, respectively. In some examples, the second class includes particles or elements that are not necessarily planar. The first and second classes can also be used together to generate a third unique identifier (e.g., a multi-scale authentication code). Furthermore, these particles can also be combined with extended three-dimensional particles, such as those described in International Patent Publication No. WO 2017 / 155967 entitled "Generating a Unique Code from Orientation Information" and as described in International Patent Publication No. WO 2021 / 092121 entitled "Applying and Using Unique Unclonable Physical Identifiers". For example, microscopic diamond particles can be added to a matrix material having a group of planar particles (e.g., glitter sheets) to create multi-scale unique markers, whereby each class corresponds to a unique marker (e.g., fingerprint) that can be used to generate a unique identifier.
[0030] Figure 4BExamples of particles of different sizes are illustrated. Example particle 400 (on its surface) includes multiple particles 410 of different classes as part of a multi-scale unique identifier. For example, generating a first unique identifier can be done using relationships between multiple shapes representing particle 400 and other particles (e.g., 100A and 100B) that are similar in scale to each other. In this example, generating a second unique code can be done using multiple particles (including particle 410) that are different in scale from each other (e.g., smaller than particle 400). In some cases, the second unique code is derived from relationships between sub-particles (e.g., particle 410) located on the same particle (e.g., particle 400). In some cases, the second unique code is derived from relationships between sub-particles located on two or more other particles (e.g., relationships between sub-particles located on the surfaces of different particles (e.g., 400, 100A, and 100B, etc.) (e.g., having a scale similar to particle 410). In some cases, particles and sub-particles can exist independently in the medium, where the first and second codes are derived from their respective particle classes.
[0031] The same or different techniques can be used to derive information (and thus unique codes) from different classes of particles. For example, particles in different classes can respond differently to imaging or sensing. In some implementations, particles can reflect electromagnetic radiation in a manner that depends on the polarization vector of the propagating electromagnetic field. In these implementations, the class of a particle can be distinguished by the relative reflectivity of the particle at specific angles of illumination and polarization. For example, the class of a particle can be distinguished by illuminating it with electromagnetic radiation (e.g., in the visible spectrum) and observing it with optical imaging and a polarization filter. In some instances, the particle can also be birefringent. The reflection of both polarized and unpolarized optical illumination can also be strongly dependent on the angle of illumination incidence relative to the viewing angle. In some variations, the particle can include a holographic pattern encompassing some of the aforementioned optical properties. The particle can also have different colors (e.g., absorption characteristics) or be designed to have an electromagnetic spectrum response in the visible, UV, infrared, or THz bands (e.g., optical filters).
[0032] A range of techniques can be deployed when deriving a unique identifier from a group of particles. For example, an object plane and an image plane (also called an imaging plane) can be used to image the group of particles (or the unique marker containing that group). The group of particles resides in the object plane, and the image plane corresponds to the plane of the imaging device (e.g., a camera) that senses or images the particles. Figure 5 The diagram presents two example arrangements of the object plane and image plane, which can be used to derive unique identifiers, using a frontal view.
[0033] like Figure 5As shown on the left side 500, the object plane and the sensor plane can be parallel to each other (e.g., object plane 502 is parallel to image plane 506). In this case, the image captured by imaging device 504 (e.g., which includes imaging unit 504A and optical magnifier 504B) can include pixel locations that can be correlated with the location in a unique marker by a magnification factor (subtracting image artifacts, etc.). Note that Figure 5 The depiction of imaging device 504 (e.g., imaging unit 504A and optical magnifier 504B) is merely illustrative and not necessarily to scale (e.g., the size and / or distance between components of imaging device 504 or between components of imaging device and object or particle may differ). Figure 5 (Depicted in the text). Shape 508 illustrates the shape of the particle captured by imaging unit 504 when image plane 506 is parallel to object plane 502. However, as... Figure 5 As shown on the right side 510, the imaging device 504 can also occupy a position (or orientation) that makes the image plane 506 non-parallel to the object plane 502. Shape 512 illustrates the shape of particles (the same particles as shape 508) in an image captured by the imaging unit 504 when the image plane 506 is oriented as shown on the right side 510 (e.g., not parallel to the object plane 502). It is worth noting that shape 512 is skewed relative to shape 508 due to the orientation of the imaging device 504 when capturing the image. If the orientation of the imaging device 504 relative to the parallel arrangement is known (e.g., representing the angle of rotation of the image plane 506 in the right side 510 relative to the image plane 506 in the left side 500), then the distortion of the image relative to the parallel arrangement (e.g., the distortion of shape 512 compared to shape 508) can be used to correct the orientation and derive a unique identifier similar to the parallel arrangement. In some variations, the orientation can be determined by capturing a series of images and deriving the structure of the orientation change from these images, thereby determining the parallel arrangement (e.g., a motion recovery structure). Attitude changes can also be assessed using external sensors (such as inertial measurement units, gyroscopes, etc.) to aid in the reconstruction of the image-object plane relationship.
[0034] In some implementations, particles reside on straight surfaces, and the unique set of corresponding positions and orientations is based on one or more linear spatial relationships. In other implementations, such as Figure 6 As shown, particles reside on curved surfaces (e.g., 600) or surfaces containing general convex or concave topologies with only local curvature (e.g., 602) (e.g., undulating surfaces). In these implementations, the spatial relationships of particles may include third-dimensional or second-angle parameterization, which can be used to derive a unique set of positions and orientations between particles.
[0035] Some aspects described herein can be derived and used with unique and non-clonable physical identifiers. Unique and non-clonable physical identifiers can be based on unique markers that include elements such as particle groups. In some implementations, the unique marker is shaped into the form of a surface feature of the target object. Surface features can be facets, surface patterns, textures, or other indentations of the object. In some instances, the target object has multiple sides or faces, and a facet can be one of the multiple sides or faces of the object. For example, the target object can be a gemstone, and a facet can be one of the multiple sides or faces of the gemstone. Unique markers can be applied to or incorporated into the target object (which may also be referred to as an item).
[0036] In some implementations, unique markers may include elements distributed in or on a matrix material applied to or incorporated into the target object. In some cases, the elements are distributed on a single plane on the target object. In others, the elements do not reside in a single plane but are suspended at different depths within the matrix material. In these cases, to accommodate imaging, the aspect ratio of the average element spacing in the matrix material can be arranged such that the depth variation of the elements is small relative to the overall range of the element group. In some cases, the imaging system captures a two-dimensional projection of a narrow three-dimensional thin film of element distribution. In some variations, the elements of the unique marker may include crystalline grains (e.g., micron- or nano-sized diamond grains) or other types of particles. Unique markers may be physically unclonable, thereby allowing them to serve as tracers of the object. For example, the orientation of the elements may be randomly distributed, and the size and relative positions of the elements may be regular or random. In some examples, it is extremely unlikely to create a copy of the target object with a marker having a similar composition and orientation of elements, making the target object with the unique marker considered unique or singular, and therefore unique and physically unclonable. In some instances, the unique marker is a sticker that includes the distribution of elements on a substrate with an adhesive backing, and at least a portion of the sticker is applied to the object.
[0037] Unique identifiers can be used to analyze target objects. In some examples, using unique identifiers to analyze target objects includes: authenticating the object's identity, determining whether the object has been tampered with, determining whether the object has been used or activated, determining whether the object has been exposed to environmental stress, determining whether the object has been subjected to mechanical stress or wear, or other types of analysis of the object. Various types of target objects can be analyzed using the methods and systems discussed in this paper. Non-limiting illustrative examples of target objects include: banknotes and certificates, credit cards and the like, electronic payment systems, voting systems, communication systems and components, jewelry and collectibles, diamonds and gemstones, packaging, paper products, electronic equipment cases, electronic components and systems (e.g., integrated circuits, chips, circuit boards), retail goods (e.g., handbags, clothing, sporting goods), industrial components and systems (e.g., machine parts, automotive parts, aerospace parts), raw materials (processed or unprocessed) (e.g., ingots, billets, logs, slabs), food and packaging (e.g., wine, spirits, truffles, spices), pharmaceuticals, pharmaceutical packaging and batches, medical devices and surgical instruments and their packaging, official documents (e.g., contracts, passports, visas), digital storage systems and components, mail and postal packaging, seals and tamper-evident labels. This list of example target objects is not exhaustive, and many other types of target objects can be analyzed.
[0038] Some aspects described here allow for the generation of unique identifiers (or codes) based on elements of a unique marker. In some instances, one or more properties of an element can be determined (e.g., by scanning the element) to generate a unique identifier, which can then be used, for example, to analyze the object. For instance, the spatial orientation, location, or size of an element can be extracted from a unique marker to generate a unique identifier, although other types of properties of the element can be used to generate unique identifiers. Unique identifiers can be used to analyze objects in a manner similar to how barcodes and quick-response (QR) codes are currently used to easily identify objects. Thus, a unique marker can be used as a "fingerprint," for example, when attached to or incorporated into a target object, thereby enabling object analysis.
[0039] Figure 7 This is a schematic diagram using a top view of an example shape having a set of principal orthogonal axes including the major and minor axes. Figure 7In this example, shape 700 is defined by edges. Shape 700 is derived from a planar image comprising a planar representation of particles (e.g., planar particles or elongated particles). In some implementations, the planar representation of the particles is a two-dimensional representation of the particles. For example, the planar representation of the particles is a region within an image (e.g., defined by the edges depicting the particles in the image). In some implementations, the region of the image is formed (or can be considered as such a projection) of a view of the particles (e.g., captured by an imaging device) onto a plane (e.g., an image plane or an object plane). For example, shape 700 could represent a region corresponding to (e.g., defined by) a particle imaged by an imaging device using an image plane parallel to the object plane. Figure 7 Example: The centroid 702, defined for shape 700, is the origin of the two sets of axes shown. Axis 704 (solid line) represents an arbitrarily defined set of orthogonal axes (e.g., it may be defined relative to or aligned with a global set of axes defining a reference coordinate system). Axis 706 (dashed line) represents the orthogonal principal axes that have been determined based on geometric information related to shape 700.
[0040] In some implementations, the particles are planar particles. In some implementations, the shape of a planar particle is a particle that is primarily defined in two dimensions (e.g., length and width); the third dimension (e.g., thickness) is non-substantial relative to the other two dimensions (e.g., less than 20%). Examples of planar particles can include sheets, foils, plates, wafers, disks, blades, and fragments.
[0041] In some implementations, the particles are elongated particles. In some implementations, elongated particles are particles primarily defined in one dimension (e.g., length); the second and third dimensions (e.g., width, thickness) are non-substantial relative to the main dimension. Examples of elongated particles can include rods, cones, wires, nanowires, fibers, filaments, and needles. In some implementations, images depicting views of elongated particles projected onto an image plane include a planar representation of the elongated particles (e.g., since the elongated particles are not entirely one-dimensional).
[0042] In some implementations, the principal axis is determined by calculating the centroid of the shape, calculating the second moment of the area of the shape relative to the centroid, and diagonalizing the default coordinate system to obtain the principal axis of the element.
[0043] In some implementations, to calculate the centroid of the shape, an arbitrary point inside the shape is chosen as the reference origin. The shape exists in a plane and is defined by two orthogonal axes (which will be referred to as x and y); the centroid coordinates are calculated for each of these directions. For a displacement x along the x-axis from the reference origin, a small area element dA is taken, the product of the displacement and the area element is calculated, and all these products are summed relative to the origin. Here, dA = I(x,y)dxdy, where I(x,y) is 1 if the point (x,y) is inside the shape, and I(x,y) is 0 if the point (x,y) is outside the shape. This process is repeated along the y-axis for orthogonal displacements y by also taking a small area element dA. All products x in the x-direction are calculated. The sum of dA - this value is called S x Then, the centroid of x (called C) x ) is S x / A, where A is the total area of the shape. The centroid is defined relative to the origin. Similarly, the centroid in the y-direction is C. y And it is S y / A is also calculated relative to the origin.
[0044] In some implementations, the centroid is the center of mass or area of the shape. In some implementations, the centroid is inside the shape. For example, for a convex shape, the centroid would be located inside the shape's boundary. In some implementations, the centroid is outside the shape. For example, the centroid of a shape does not need to be inside the shape. For example, some shapes (such as rings, toroidals, or dart shapes) can have a centroid located outside the shape's boundary.
[0045] In some implementations, the second moment of area (also known as the area moment of inertia) of the shape relative to its centroid is determined. In some implementations, to calculate the second moment of area of the shape, the centroid is located, which is determined by coordinates (C0, C0) in the x, y plane. x C y The order is x-coordinate first, then y-coordinate, in an orthogonal axis system used to calculate the centroid location from an arbitrary origin. Based on the centroid, for each infinitesimal area element dA, the second moment of the area along the x-axis is I. xx It is calculated as the sum of the products of the infinite area element dA and the square of the displacement y along the y-axis. Similarly, the second moment of the area along the y-axis I... yy It is calculated as the sum of the products of the infinitesimal area element dA and the square of the displacement x along the x-axis. Finally, I xy It is calculated as the sum of the products of the infinitesimal area element dA and the displacements x and y along the x-axis. Note that I xy =I yx A matrix whose values can be constrained: I = [[I xx , Ixy ],[I yx ,I yy ]], which compactly represents three values.
[0046] In some implementations, the default coordinate system is diagonalized to obtain the principal axes of the elements. For example, given a matrix I, if the matrix is non-diagonal, there exists a rotation in the xy-plane that transforms the axes x and y to x' and y', creating a diagonal version of matrix I'. Diagonalizing I or a transformation for solving eigenvalue problems also gives the principal axes of the shape, where these axes intersect at the centroid of the shape. Diagonalizing I (origin at centroid) [[I xx , I xy ],[I yx ,I yy We obtain [[a, 0], [0, b]], where a and b are eigenvalues, also known as principal moments of inertia. This can be achieved by solving (I - a) = v a and (I - b) = v b To find the corresponding feature vector (v) a and v b ).
[0047] Figure 8 These are schematic top views of example shapes, each having a set of principal orthogonal axes including a major axis and a minor axis. Shape 800 is rectangular and includes a major axis 800A and a minor axis 800B. Shape 810 is elliptical and includes a minor axis 810A and a major axis 810B. Shape 820 is dart-shaped (e.g., arrowhead) and includes a major axis 820A and a minor axis 820B.
[0048] Figure 9 This is a schematic diagram illustrating the relative distance and relative orientation between a pair of shapes defined by the planar representation of particles. Figure 9 The simplified diagram 900 includes shapes 902 and 904, each representing a shape derived from different grains in an image of the object. Shape 902 includes a centroid 902A, and shape 904 includes a centroid 904A. The centroids can be defined relative to (e.g., an image-defined or arbitrarily defined) reference coordinate system, and displacements between the centroids along one or more axes of the reference coordinate system can be determined. In some implementations, the displacement is a single distance value (e.g., a straight-line distance) between the centroids. Figure 9As shown, the displacement between the two centroids in the x-direction is represented by displacement 906, and the displacement between the two centroids in the y-direction is represented by displacement 908. The displacement between the two centroids can be used to determine the distance between them, or the individual x-component and y-component values can be used to represent the relative distance between a pair of shapes 902 and 904. The relative distance can be used to characterize the relationship between the particles represented by shapes 902 and 904.
[0049] Furthermore, the relationship between shapes 902 and 904 can be characterized by their relative orientation. Figure 9 On the right side of the simplified diagram 900, shapes 902 and 904 are shown aligned at their centroids. The simplified diagram 900 includes an angle 910 representing a measured rotational displacement between the long principal axes of each shape 902 and 904. The simplified diagram 900 also includes an angle 912 representing a measured rotational displacement between the short principal axes of each shape 902 and 904. Angle 910 or 912, or either angle, can be used as a measure of the relative orientation difference between the shapes 902 and 904 of the particles.
[0050] Figure 10 This is a schematic diagram illustrating the shape of a particle defined by different image plane perspectives. Figure 10 The simplified diagram 1000 includes the surface of an object 1002 composed of a polymer matrix material comprising particles 1004. The simplified diagram 1000 illustrates an implementation where the particles are planar (e.g., two-dimensional) and not arranged along a single plane, but rather can be tilted or deflected from the plane formed by the surface of the object 1002. The simplified diagram 1000 also illustrates the differences in shapes formed when such planar particles are imaged along different directions. Shape 1006 has a rectangular shape and is formed when the particle 1004 is imaged in a direction along the surface normal of the particle 1004 (e.g., the imaging plane is parallel to the surface of the particle 1004). Shape 1008 has a trapezoidal (almost rectangular) shape and is formed when the particle 1004 is imaged in a direction along the surface normal of the object 1002 (e.g., the imaging plane is parallel to the surface of the object 1002). Shape 1008 illustrates the shape of particle 1004 when a view of the particle is projected onto an imaging plane formed by the surface of object 1002 (e.g., parallel to the surface of object 1002). Shape 1008 appears trapezoidal due to how the planar particle 1004 (which is rectangular when viewed from the perspective shown in shape 1006) is oriented (e.g., tilted, rotated) relative to the image plane within the matrix material.
[0051] Figure 11 This is a schematic diagram illustrating the shape defined by multiple particles from different perspectives. Figure 11 Examples similar to Figure 10Examples, but with a thickness small enough to consider them as planar (e.g., two-dimensional) particles. Figure 11 Schematic diagram 1100 includes the surface of object 1102 composed of a polymer matrix material comprising particles 1104 and 1106. Schematic diagram 1100 illustrates an implementation where planar particles are not arranged along a single plane, but can be tilted or deflected from the plane formed by the surface of object 1102 at different depths within the polymer matrix material. Schematic diagram 1100 also illustrates the differences in shape formed when the particles are imaged along different directions. Shape 1112 has a rectangular shape and is formed when particle 1106 is imaged in a direction along the surface normal of particle 1106 (e.g., the imaging plane is parallel to the plane of particle 1106). Shape 1108 is rectangular for similar reasons and is formed by imaged particles 1104 (and...) Figure 10 Shape 1114 is formed by imaging particle 1106 (the same particle as particle 1004 in the image). Shape 1114 has a rhomboid shape and is formed when particle 1106 is imaged in a direction along the surface normal of object 1102 (e.g., the imaging plane is parallel to the surface of object 1102). Shape 1114 illustrates the shape of particle 1106 when an image of the particle is projected onto an imaging plane formed by the surface of object 1002 (e.g., parallel to the surface of object 1002). Shape 1114 appears rhomboid because of how planar particle 1106 (which is rectangular when viewed from the perspective shown in shape 1112) is tilted and oriented relative to the image plane within the matrix material. Shape 1110 is trapezoidal for a similar reason and is formed by imaging particle 1104. In this example, particles 1104 and 1106 have the same shape when viewed relative to their respective surface normals, but create different shapes (e.g., 1114 and 1110) when projected onto the image plane.
[0052] exist Figure 11In the example, an image taken of object 1102 can lead to the determination of a pair of shapes 1110 and 1114 from a planar view of the particles on the object. As discussed here, information about each shape can be determined, including the centroid and principal axes of each shape. Based on this information, the relative distance between the centroids (e.g., relative displacement or relative position) and the relative orientation between their principal axes are determined. In some implementations, the relative distance and relative orientation are determined (or derived) for multiple pairs of shapes determined from an image of the object. For example, if 50 planar shapes of particles are determined from an image of the object, the number of unique shape pairs will be 1225, given by the formula n(n-1) / 2, where n is the number of shapes in the set. In such an example, for each of the 1225 unique pairs, the relative distance and relative orientation can be determined (e.g., directly calculated or derived using information known about one or more other shapes or shape pairs).
[0053] In some embodiments, relative distances or relative orientations are derived for a first pair using known values (e.g., values that have been determined). For example, if the centroid positioning (or principal axis rotation) relative to a reference coordinate system is known for each of the two shapes individually, the relative distances (or relative orientations) between these shapes can be derived. Similarly, if the relative distances (or relative orientations) between two shapes relative to a third shape are known, the relative distances (or relative orientations) between the two shapes can be derived.
[0054] In some implementations, authentication codes are created using relative spatial orientation information (e.g., relative position information and relative orientation information) for a set of particles. For example, generating authentication codes may include processing spatial orientation information to derive codes. Such processing may include one or more operations such as combining, encoding, ranking, or filtering information. In some implementations, the processing is repeatable to derive authentication codes from subsequently obtained information (e.g., from an image of a subsequently received unique marker) in a standardized format.
[0055] In some implementations, authentication codes are generated based on the parameterization of the shape structure. For example, in addition to using relative position and relative orientation, parameterized information of the shape structure corresponding to the particle can be used to generate the authentication code. In some implementations, the parameterized information includes information describing the dimensions or contours of the shape / region (representing the particle). In some implementations, shape information can be used for shape matching (e.g., comparing whether two regions are used for the same shape). For example, the parameterized information can include shape context feature descriptors. For example, the parameterized information can include closed-basis spline (B-spline) functions. In some implementations, the parameterized information is included in the geometric properties determined for a given shape (e.g., the system determines the geometric properties of the shape (including the centroid of the shape structure, one or more principal axes, and parameterized information)).
[0056] Unique markers can be formed using one or more methods described herein. In some aspects described herein, a unique marker can be shaped into a surface feature of a target object. For example, a unique marker can be shaped into a surface pattern, texture, or other indentation of an object. In some instances, shaping a unique marker into a surface feature of a target object includes providing a fluid (e.g., a liquid or viscous fluid) containing a distribution of elements (e.g., planar particles, crystalline particles, or other types of elements), and solidifying that fluid to form a unique marker. In some implementations, the fluid (containing the distribution of elements) solidifies within a surface pattern, texture, or other indentation of the object to become a unique marker. In some implementations, the fluid is transferred from a cell pattern to a substrate to create a unique marker.
[0057] In some aspects described herein, the distribution of elements (e.g., planar particles, crystalline particles, or other types of elements) can be incorporated into an uncured or semi-cured material. In some implementations, the material can be an adhesive or sealant material, and the uncured or semi-cured material can have a gel-like consistency. The uncured or semi-cured material can be applied to an object to conformally coat one or more components of the object or cover or fill seams of the object. The uncured or semi-cured material is then exposed to a process that solidifies the material (e.g., ordinary drying, curing, exposure to an energy source (e.g., UV radiation) or another process), thereby allowing the adhesive or sealant material (containing the distribution of elements) to maintain its functional purpose (e.g., decorative, informational, protective, etc.) within the design of the substrate object while acquiring a physically unclonable identifier.
[0058] In some cases, a computer system (e.g., executing computer software) can generate unique codes based on the spatial properties of particles in a unique marker. These spatial properties can be determined from data obtained by a camera or another type of optical detector.
[0059] Figure 12 This is a flowchart illustrating an example process for determining a unique identifier based on one or more images of an object including particles. The steps of process 1200 can be performed by a system (e.g., one or more data processing devices, computing devices, or computing systems) (e.g., device 1600).
[0060] At 1202, the system acquires (e.g., captures or receives) one or more images of an object comprising multiple particles (e.g., 1104, 1106). For example, the image comprises a planar representation of the multiple particles (e.g., a projection onto an image plane). For example, the object is a unique marker comprising multiple particles (e.g., 100, 200) suspended in a polymer (e.g., 200). In some implementations, the system acquires the image from another system or device (e.g., the system communicates with an external image capture device (e.g., 504) that provides the image acquired by the system performing processing at 1200). In some implementations, the system determines a unique identifier based on one or more images of the object.
[0061] At 1204, the system creates a segmented (or binary) image of the object and detects the boundaries of the shapes represented in that image. For example, the system performs image segmentation to identify particles (e.g., to distinguish them from the background or surrounding matrix material, such as polymers). Several techniques for image segmentation are well-known, and any such technique can be used to identify regions (e.g., shapes) within an image that correspond to particles. For example, such techniques can divide an image into discrete groups of pixels by labeling each pixel in the image and grouping pixels sharing the same characteristics based on such labels. In some implementations, labels can be used to create a binary image where pixels with a first label (indicating that the pixel is part of a planar representation of the particles in the image) are assigned a first color (e.g., black). In such implementations, pixels with a second label (indicating that the pixel is not part of a planar representation projection of the particles represented in the image) are assigned a second color (e.g., white). For example, the resulting binary image may include groups of black pixels (e.g., shapes) representing projections of particles onto a white background. In some embodiments, the system determines the boundaries of the shapes. In some implementations, the system processes binary images to determine the shapes of particles that can represent overlapping or contacting particles. In some implementations, two particles that are not physically in contact may appear to overlap or contact because one particle occludes another particle in the projection direction (e.g., this causes their planar representation in the resulting image to be a continuous shape).
[0062] At 1206, the system determines shape information for each shape. In some embodiments, determining shape information includes determining the centroid of the shape. In some embodiments, determining shape information includes determining one or more principal axes of the shape. In some embodiments, determining relative position and relative orientation information includes performing one or more operations of processing 1300.
[0063] At 1208, the system determines relative position information and relative orientation information for shape pairs. For example, the system determines relative position and orientation information for each unique shape pair detected in the image (e.g., using a binary image derived from the image). In some embodiments, determining the shape information includes performing one or more operations of processing 1400.
[0064] At 1210, the system determines the authentication code based on relative position information and relative orientation information. For example, the authentication code can be a set of relative position and relative orientation information for each shape pair (e.g., an array, an object, or any other data arrangement). In some implementations, the authentication code is created by applying a transformation or function to the data (e.g., relative position and relative orientation information).
[0065] In some implementations, the authentication code is unique and can be used to verify the authenticity of an object (e.g., a unique marker or an item to which it is attached). For example, an authentication code derived from an image of an element may be considered unique and unclonable due to the random arrangement and shape of the elements (and the relationships between the elements). In some implementations, a second subsequent scan (e.g., along the same imaging plane) should result in the derivation of the same authentication code, thus verifying authenticity or indicating no tampering. In some implementations, subsequent scans result in the derivation of substantially similar authentication codes (e.g., due to slight changes in the object's visibility, object variations, or other factors). In some cases, substantially similar codes are considered acceptable based on a threshold or metric (e.g., if more than 99% of the codes match, the remaining variations are ignored as acceptable errors). In some implementations, the unique code derived from the scan is checked against a reference code (e.g., one previously created by the entity performing the scan or by a trusted third-party authentication entity).
[0066] Figure 13 This is a flowchart illustrating an example process for determining shape information based on one or more images including objects containing particles. The steps of process 1300 can be performed by a system (e.g., one or more data processing devices, computing devices, or computing systems) (e.g., device 1600). In some implementations, process 1300 is performed on each shape detected in the image (e.g., after processing according to process 1200).
[0067] At 1302, the system assigns a unique arbitrary index value to the shape. For example, when processing multiple shapes, each shape can receive a unique index value (e.g., 1, 2, 3, ..., or n). At 1304, the system calculates the centroid of the shape. In some implementations, the centroid is represented as a set of coordinates relative to a reference coordinate system. At 1306, the system calculates the area second moment of the shape relative to the centroid. At 1308, the system diagonalizes the default coordinate system to obtain the principal axes of the elements. At 1310, the system outputs for each indexed shape (e.g., stored or provided to one or more other operations being processed): the index value, centroid coordinates, area second moment, principal axes, and transformation matrix relative to the reference coordinate system. In some implementations, the output for each shape includes some of these values, other values, or a combination of both.
[0068] Figure 14 This is a flowchart illustrating an example process for determining relative position and relative orientation information of a pair of shapes representing particles. Step 1400 can be performed by a system (e.g., one or more data processing devices, computing devices, or computing systems) (e.g., device 1600). In some implementations, process 1400 is performed on a unique pair of shapes detected in an image (e.g., after processing according to process 1200 or process 1300). In some implementations, the system determines the relative position and relative orientation information based on one or more images of the object.
[0069] At 1402, the system calculates the relative orientation between the principal axes of a pair of shapes. For example, when the centroids of the first and second shapes are aligned (e.g., the corresponding origins of the principal axes are the same), the system determines the angle formed between the major principal axes of the first and second shapes.
[0070] At position 1404, the system calculates the relative position between the centroids of the pair of shapes. In some implementations, the relative position is a displacement or translation relative to a reference coordinate system (e.g., a canonical coordinate system assigned to an object or image). For example, displacement includes values for displacement in the x-direction and displacement in the y-direction.
[0071] At 1406, the system outputs (e.g., to store or provide to one or more other operations being processed) relative position information and relative orientation information for each shape pair. In some implementations, the output for each shape pair includes some of these values, other values, or a combination of both.
[0072] Figure 15This is a flowchart illustrating an example process for determining two authentication codes based on one or more images of objects, each comprising particles having sub-elements. The steps of process 1500 can be performed by a system (e.g., one or more data processing devices, computing devices, or computing systems) (e.g., device 1600).
[0073] At 1502, the system acquires one or more images of an object comprising a first plurality of particles and a second plurality of particles. For example, the object may include (or may be) multi-scale markers comprising a first type of particles having a first characteristic size (e.g., 1 cm × 1 cm) and a second type of particles having a second characteristic size (e.g., 0.1 mm × 0.1 mm). In some examples, the first plurality of particles and the second plurality of particles may be individually distributed in or on a matrix material (e.g., the second plurality of particles occupy the interstitial spaces between the first plurality of particles). In some examples, the second plurality of particles may be distributed on one or more surfaces of the first plurality of particles (e.g., attached to one or more surfaces of the first plurality of particles).
[0074] At 1504, the system generates a first authentication code associated with the object, which is generated based on first orientation information extracted from one or more images, and this first orientation information is used to indicate the relative spatial orientation of a first plurality of particles relative to each other. For example, the system generates the first authentication code according to one or more of processes 1200, 1300, and 1400.
[0075] At 1506, the system generates a second authentication code associated with the object, which is generated based on second orientation information extracted from one or more images, and this second orientation information is used to indicate the relative spatial orientation of the second plurality of particles relative to each other. In some implementations, the system generates the second authentication code according to one or more of processes 1200, 1300, and 1400. In some implementations, the system generates the second authentication code according to a different process than that used to generate the first authentication code. For example, the object can be a multi-scale unique marker including crystalline diamond particles as the second plurality of particles. In such an example, the properties of the diamond particles (e.g., the relationships between diamond particles) can be quantified (e.g., imaged, sensed, and processed) and used to generate the second authentication code. For example, magnetic resonance imaging or fluorescence scanning can be used to determine the properties of the diamond particles. In some implementations, the second plurality of particles can be any extended object in three dimensions (e.g., and not necessarily crystalline in nature).
[0076] The processes described herein (e.g., 1200, 1300, 1400, and 1500) or portions thereof may be performed together in various combinations. Such combinations may include some or all of any part of the processes and may be performed in an order different from that which can be explicitly described herein.
[0077] Figure 16 An example block diagram of example device 1600 is shown. Figure 16 As shown, example device 1600 includes interface 1630, processor 1610, memory 1620, and power supply unit 1640. The device may include additional or different components, and device 1600 may be configured to operate as described with respect to the above example. In some implementations, the device's interface 1630, processor 1610, memory 1620, and power supply unit 1640 are housed together in a common housing or other assembly. In some implementations, one or more components of the device may be housed individually in a separate housing or other assembly. Device 1600 may also be referred to as system 1600 or computer system 1600.
[0078] Example interface 1630 can communicate (receive, transmit, or both) wireless signals. For example, interface 1630 can be configured to communicate radio frequency (RF) signals formatted according to wireless communication standards such as Wi-Fi, 4G, 5G, Bluetooth, etc. In some implementations, example interface 1630 includes a wireless electronic system and a baseband subsystem. The wireless electronic system may, for example, include one or more antennas and RF circuitry. The wireless electronic system can be configured to communicate RF wireless signals over a wireless communication channel. As an example, the wireless electronic system may include a radio chip, an RF front end, and one or more antennas. The baseband subsystem may, for example, include digital electronics configured to process digital baseband data. In some cases, the baseband subsystem may include a digital signal processor (DSP) device or another type of processor device. In some cases, the baseband system includes digital processing logic to operate the wireless electronic system, communicate wireless network traffic through the wireless electronic system, or perform other types of processing.
[0079] Example processor 1610 may, for example, execute instructions to generate output data based on data input. Instructions may include programs, code, scripts, modules, or other types of data stored in memory 1620. Additionally or alternatively, instructions may be encoded as pre-programmed or reprogrammable logic circuits, logic gates, or other types of hardware or firmware components or modules. Processor 1610 may be or may include a general-purpose microprocessor, a dedicated coprocessor, or another type of data processing device. In some cases, processor 1610 performs high-level operations of device 1600. For example, processor 1610 may be configured to execute or interpret software, scripts, programs, functions, executable files, or other instructions stored in memory 1620. In some implementations, processor 1610 may be included in interface 1630 or another component of device 1600.
[0080] Example memory 1620 may include (e.g., non-transitory) computer-readable storage media, such as volatile memory devices, non-volatile memory devices, or both. Memory 1620 may include one or more read-only memory devices, random access memory devices, buffer memory devices, or combinations of these and other types of memory devices. In some instances, one or more components of the memory may be integrated with or otherwise associated with another component of device 1600. Memory 1620 may store instructions executable by processor 1610. For example, instructions may include those for performing the example processing described herein (such as targeting...). Figures 1 to 15 One or more instructions in the operations of those (etc.).
[0081] Example power supply unit 1640 provides power to other components of device 1600. For example, other components may operate based on power supplied by power supply unit 1640 via a voltage bus or other connection. In some implementations, power supply unit 1640 includes a battery or battery system (e.g., a rechargeable battery). In some implementations, power supply unit 1640 includes an adapter (e.g., an AC adapter) that receives an external power signal (from an external source) and converts that external power signal into an internal power signal regulated for the components of device 1600. Power supply unit 1620 may include other components or operate in another manner.
[0082] In some implementations, device 1600 includes additional components. For example, device 1600 may include one or more imaging devices (e.g., a camera, an imaging sensor, and optics).
[0083] Therefore, some of the subjects and operations described in this specification can be implemented in digital electronic circuit systems, or in computer software, firmware, or hardware (including the structures disclosed in this specification and their equivalents), or in a combination of one or more of these. Some of the subjects described in this specification can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions encoded on a computer storage medium for execution by a data processing device or for controlling the operation of a data processing device. The computer storage medium can be or can be included in a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of these. Furthermore, although the computer storage medium is not a propagating signal, it can be a source or destination of computer program instructions encoded in an artificially generated propagating signal. The computer storage medium can also be or can be included in one or more separate physical components or media (e.g., multiple CDs, discs, or other storage devices).
[0084] Some of the operations described in this specification can be implemented as operations performed by a data processing device on data stored on one or more computer-readable storage devices or received from other sources.
[0085] The term "data processing device" encompasses all kinds of devices, apparatuses, and machines for processing data, including, by way of example, programmable processors, computers, systems-on-a-chip, or a combination thereof. The device may include special-purpose logic circuit systems, such as FPGAs (Field-Programmable Gate Arrays) or ASICs (Application-Specific Integrated Circuits). In addition to hardware, the device may include code that creates an execution environment for the computer program in question, such as code constituting processor firmware, protocol stacks, database management systems, operating systems, cross-platform runtime environments, virtual machines, or a combination thereof. A data processing device may include one or more apparatuses such as apparatus 1600.
[0086] Computer programs (also referred to as programs, software, software applications, scripts, or code) can be written in any programming language (including compiled or interpreted languages, declarative or procedural languages), and can be deployed in any form (including as standalone programs or as modules, components, subroutines, objects, or other units suitable for use in a computing environment). A computer program may, but does not necessarily, correspond to a file in a file system. A program may be stored as part of a file holding other programs or data (e.g., in one or more scripts within a markup language document), in a single file dedicated to the program, or in multiple coordinating files (e.g., in a file storing one or more modules, subroutines, or code sections). A computer program can be deployed to execute on a single computer or on multiple computers located in one place or distributed across multiple locations and interconnected by a communication network.
[0087] Some of the processing and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to operate on input data and generate outputs. The processing and logic flows can also be performed by a dedicated logic circuit system (e.g., an FPGA (Field-Programmable Gate Array) or an ASIC (Application-Specific Integrated Circuit)), and the device can also be implemented as such a dedicated logic circuit system.
[0088] To provide interaction with the user, operation can be implemented on a computer having a display device for displaying information to the user (e.g., a monitor or another type of display device) and a keyboard and pointing device (e.g., a mouse, trackball, tablet, touchscreen, or another type of pointing device) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form (including acoustic, speech, or tactile input). Additionally, the computer can interact with the user by sending documents to and receiving documents from the device used by the user; for example, by sending web pages to a web browser on the user's client device in response to a request received from a web browser.
[0089] Some aspects described here include the fact that unique markers of the distribution of elements can be used to demonstrate evidence of tampering or use of marked objects.
[0090] The systems and techniques described herein can provide technical advantages and improvements. In some examples, the unique identifier may include the distribution of particles, and a unique code corresponding to the unique identifier can be derived from a planar representation of the particle distribution. Using a planar representation of the particle distribution can simplify the process of generating authentication codes while preserving other desired characteristics (e.g., uniqueness, non-cloning, etc.). In some cases, using a planar representation of two-dimensional elements can simplify manufacturing processes or allow the deployment of unique identifiers using different types of materials (e.g., cheaper materials or more abundant or readily available or physically more robust materials), different types of substrates, different size or shape factors, or a combination of these and other advantages.
[0091] In general, a method for generating an authentication code identifier includes: receiving a target object; and forming a unique marker on the surface of the target object. The unique marker may include multiple particles and may conform to the surface. The method may further include: extracting spatial information from the unique marker. The spatial information may represent the position and orientation of the particles relative to each other. The method may additionally include: generating an authentication code for the target object based on the spatial information. In some implementations, the spatial information includes two-dimensional spatial information. In these implementations, the two-dimensional spatial information may represent the relative position and orientation of particles adjacent to a plane.
[0092] In general, an authentication code is generated that is associated with the object.
[0093] In the first example, the method is performed by a computing system (e.g., 1600). The method includes: obtaining one or more images of an object comprising multiple particles (e.g., 100A, 100B, 400). The method includes: identifying regions (e.g., shapes 508, 512, 700, 902, 904) in one or more images corresponding to the multiple particles. The method includes: determining the edges of the regions corresponding to the multiple particles based on one or more images. The method includes: determining the geometric properties of the regions corresponding to the multiple particles based on the edges, the geometric properties of each region including a centroid (e.g., 406, 902A, 904A) and principal axes (e.g., 402, 404). The method includes: determining orientation information for pairs of regions in one or more images based on the geometric properties, the orientation information of each pair indicating the relative orientation of the principal axis of a first region relative to the principal axis of a second region (e.g., 910, 912). The method includes: determining positional information of one or more pairs of regions in an image based on geometric properties, wherein the positional information of each pair is used to indicate the relative distance (e.g., 906, 908) between the centroids of a first region and a second region. The method also includes: generating an authentication code associated with an object, which is generated based on orientation and positional information.
[0094] The implementation of the first example may include one or more of the following features: Relative distance includes displacement along a first axis (e.g., 906) and displacement along a second axis orthogonal to the first axis (e.g., 908). Orientation information includes rotation angles (e.g., 910, 912) measured between the principal axes of the first and second regions when the centroids of the first and second regions are aligned. The geometric properties of each region include a transformation matrix relative to a reference coordinate system. The authentication code includes position and orientation information. The plurality of particles are a plurality of elongated particles. The plurality of particles are a plurality of planar particles. The surface normal vectors of the plurality of particles (e.g., for a plane) are parallel, and the orientation information represents the relative orientation with respect to a single plane. The surface normal vectors of at least some of the plurality of particles (e.g., for a plane) are inclined relative to and not parallel to the surface normal vector of the plane corresponding to the surface of the object, wherein the geometric properties of the regions corresponding to at least some of the plurality of particles are determined based on the projection of the respective particles onto the plane corresponding to the surface of the object. At least some of the particles (e.g., for a plane) have surface normal vectors that are inclined relative to and not parallel to the surface normal vectors of the plane corresponding to the surface of the object, wherein the orientation information includes the relative orientation of the surface normal vectors of at least some of the particles (e.g., for a plane) relative to the surface normal vectors of the plane corresponding to the surface of the object. One or more regions corresponding to the particles are closed polygons having a shape structure (e.g., for particles that are essentially planar) that can be concave or convex. Authentication codes are generated based on parameterization of the shape structure. The particles are of non-uniform size. Obtaining one or more images includes causing an image capture component (e.g., 504) communicating with a computing system to capture one or more images. Generating authentication codes includes manipulating the orientation and position information, including one or more of encoding, ranking, and filtering. The particles are multiple elongated particles.
[0095] In the second example, the method is performed by a computing system (e.g., 1600). The method includes: obtaining one or more images of an object (e.g., a multi-scale unique marker), the object comprising: a first plurality of particles (e.g., 100A, 100B, 400) and a second plurality of particles (e.g., 410). The method includes: generating a first authentication code associated with the object, the first authentication code being generated based on first orientation information (e.g., one or more of 906, 908, 910, and 912) extracted from one or more images, and the first orientation information being used to indicate the relative spatial orientation of the first plurality of particles relative to each other. The method includes: generating a second authentication code associated with the object, the second authentication code being generated based on second orientation information (e.g., one or more of 906, 908, 910, and 912) extracted from one or more images, and the second orientation information being used to indicate the relative spatial orientation of the second plurality of particles relative to each other.
[0096] The implementation of the second example may include one or more of the following features: The first plurality of particles have one or more representative characteristics different from the second plurality of particles. One or more representative characteristics include one or more of the following: characteristic size; shape; material; color; and spectral reflectance. The first plurality of particles are particles of the same type as the second plurality of particles. The first plurality of particles are particles of a different type than the second plurality of particles. The second plurality of particles are located on one or more surfaces of the first plurality of particles. The first plurality of particles and the second plurality of particles are distributed in or on a matrix material. A first authentication code and a second authentication code are generated based on the same image in one or more images. A first authentication code and a second authentication code are generated based on different images in one or more images. The method includes: identifying regions in one or more images corresponding to the first plurality of particles; determining the edges of the regions corresponding to the first plurality of particles based on one or more images; and determining the geometric properties of the regions corresponding to the first plurality of particles based on the edges, the geometric properties of each region including centroid and principal axes. The method includes: determining first orientation information based on geometric properties, including determining orientation information for pairs of regions in one or more images, each pair indicating the relative orientation of the principal axis of the first region relative to the principal axis of a second region. The method also includes: determining position information for pairs of regions in one or more images based on geometric properties, each pair indicating the relative distance between the centroids of the first and second regions. A first authentication code is generated based on the first orientation and position information. The method further includes: generating a composite authentication code (e.g., a multi-scale authentication code) based on the first and second authentication codes. The first plurality of particles are macroscopic. The second plurality of particles are microscopic. The first plurality of particles are planar. The second plurality of particles are planar. The second plurality of particles are non-planar. The second plurality of particles are crystalline particles. The crystalline particles are diamond particles. The method includes: checking the first authentication code against a first reference code; and outputting a check result indicating whether the first authentication code matches the first reference code. The method also includes: checking the second authentication code against a second reference code; and outputting a check result indicating whether the second authentication code matches the second reference code. Acquiring one or more images includes: causing an image capture component (e.g., 504) that communicates with a computing system to capture one or more images.
[0097] In the third example, the computing system includes one or more processors and a computer-readable medium storing instructions that, when executed by one or more processors, are operable to perform one or more operations of the first or second example.
[0098] In the fourth example, a non-transitory computer-readable medium storing instructions that, when executed by a data processing device, are operable to perform one or more of the operations of the first or second example.
[0099] In the fifth example, the authentication markers used for object verification include: a matrix material (e.g., 202) (e.g., a polymer); a first plurality of particles (e.g., 100, 100A, 100B, 200, 300, 400) distributed relative to the matrix material (e.g., distributed in or on the matrix material) (e.g., suspended within the matrix material) (e.g., distributed on the surface of the matrix material); and a second plurality of particles (e.g., 100, 100A, 100B, 200, 300, 400, 410) distributed relative to the matrix material.
[0100] The implementation of the fifth example may include one or more of the following features. The first plurality of particles have one or more representative characteristics different from the second plurality of particles. One or more representative characteristics include one or more of the following: characteristic size (e.g., centimeter scale, millimeter scale, or other scale); shape (e.g., square, circular, rhomboid, dart-shaped, elliptical, or non-uniform); material; color; and spectral reflectance. The first plurality of particles are particles of the same type (e.g., material, shape, or properties) as the second plurality of particles. The first plurality of particles are particles of a different type than the second plurality of particles. The second plurality of particles are located on (e.g., attached to or formed on) one or more surfaces of the first plurality of particles. The first plurality of particles and the second plurality of particles are distributed in or on a matrix material. The first plurality of particles are macroscopic. The second plurality of particles are microscopic. The first plurality of particles are planar. The second plurality of particles are planar. The second plurality of particles are non-planar. The second plurality of particles are crystalline particles. The crystalline particles are diamond particles. The matrix material is a polymer. The first plurality of particles are (or include) a plurality of elongated particles. The second group of particles is (or includes) a group of slender particles.
[0101] While this specification contains numerous details, these should not be construed as limiting the scope of the claims, but rather as descriptions of features specific to particular examples. Certain features described in this specification or illustrated in the drawings in the context of separate implementations may also be combined. Conversely, various features described or illustrated in the context of a single implementation may also be implemented individually or in any suitable sub-combination in multiple embodiments.
[0102] Similarly, although the operations are depicted in a specific order in the accompanying drawings, this should not be construed as requiring these operations to be performed in the specific order shown or in a sequential order, or to perform all illustrated operations to achieve the desired result. In some cases, multitasking and parallel processing may be advantageous. Furthermore, the separation of the various system components in the above implementation should not be construed as requiring such separation in all implementations, and it should be understood that the described program components and systems can generally be integrated together in a single product or packaged into multiple products.
[0103] Several embodiments have been described. However, it will be understood that various modifications can be made. Therefore, other embodiments are within the scope of the appended claims.
Claims
1. A method performed by a computing system, the method comprising: Obtain one or more images of an object that includes multiple particles; Identify regions in one or more images that correspond to the plurality of particles; Determine the edges of regions corresponding to the plurality of particles based on one or more images; The geometric properties of the regions corresponding to the plurality of particles are determined based on the edges, and the geometric properties of each region include the centroid and principal axis. The orientation information of a pair of regions in one or more images is determined based on the geometric properties, and the orientation information of each pair is used to indicate the relative orientation of the principal axis of the first region with respect to the principal axis of the second region. Based on the geometric properties, the positional information of the region pairs in one or more images is determined, and the positional information of each pair is used to indicate the relative distance between the centroid of the first region and the centroid of the second region; as well as Generate an authentication code associated with the object, the authentication code being generated based on the orientation information and the location information.
2. The method according to claim 1, wherein, The relative distance includes displacement along a first axis and displacement along a second axis orthogonal to the first axis.
3. The method according to any one of claims 1 to 2, wherein, The orientation information includes the rotation angle measured between the principal axes of the first region and the second region when the centroids of the first region and the second region are aligned.
4. The method according to any one of claims 1 to 2, wherein, The geometric properties of each region include the transformation matrix relative to the reference coordinate system.
5. The method according to any one of claims 1 to 2, wherein, The authentication code includes the location information and the orientation information.
6. The method according to any one of claims 1 to 2, wherein, The plurality of particles are a plurality of slender particles.
7. The method according to any one of claims 1 to 2, wherein, The plurality of particles are multiple planar particles.
8. The method according to claim 7, wherein, The surface normal vectors of the plurality of planar particles are parallel, and the orientation information represents the relative orientation with respect to a single plane.
9. The method according to claim 7, wherein, At least some of the planar particles have surface normal vectors that are inclined relative to the surface normal vector of the plane corresponding to the surface of the object, and are not parallel to the surface normal vector of the plane corresponding to the surface of the object. The geometric properties of the regions corresponding to at least some of the planar particles are determined based on the projection of the respective planar particle onto a plane corresponding to the surface of the object.
10. The method according to claim 7, wherein, At least some of the planar particles have surface normal vectors that are inclined relative to the surface normal vector of the plane corresponding to the surface of the object, and are not parallel to the surface normal vector of the plane corresponding to the surface of the object. The orientation information includes the relative orientation of the surface normal vectors of at least some of the plurality of planar particles with respect to the surface normal vector of the plane corresponding to the surface of the object.
11. The method according to any one of claims 1 to 2, wherein, One or more of the regions corresponding to the plurality of particles are closed polygons with concave or convex shape structures.
12. The method according to claim 11, wherein, The authentication code is generated based on the parameterization of the shape structure.
13. The method according to any one of claims 1 to 2, wherein, The size of the multiple particles is not uniform.
14. The method according to any one of claims 1 to 2, wherein, Obtaining one or more images includes: causing an image capture component communicating with the computing system to capture one or more images.
15. The method according to any one of claims 1 to 2, wherein, Generating the authentication code includes operating on the orientation information and the location information, the operations including one or more of the following: encoding, ranking, and filtering.
16. The method according to any one of claims 1 to 2, wherein, The plurality of particles are a plurality of slender particles.
17. A computing system, comprising: One or more processors; as well as A computer-readable medium storing instructions that, when executed by one or more processors, can perform operations including: Obtain one or more images of an object that includes multiple particles; Identify regions in one or more images that correspond to the plurality of particles; Determine the edges of regions corresponding to the plurality of particles based on one or more images; The geometric properties of the regions corresponding to the plurality of particles are determined based on the edges, and the geometric properties of each region include the centroid and principal axis. The orientation information of a pair of regions in one or more images is determined based on the geometric properties, and the orientation information of each pair is used to indicate the relative orientation of the principal axis of the first region with respect to the principal axis of the second region. Based on the geometric properties, the positional information of the region pairs in one or more images is determined, wherein the positional information of each pair is used to indicate the relative distance between the centroid of the first region and the centroid of the second region; and Generate an authentication code associated with the object, the authentication code being generated based on the orientation information and the location information.
18. The computing system according to claim 17, wherein, The relative distance includes displacement along a first axis and displacement along a second axis orthogonal to the first axis.
19. The computing system according to any one of claims 17 to 18, wherein, The orientation information includes the rotation angle measured between the principal axes of the first region and the second region when the centroids of the first region and the second region are aligned.
20. The computing system according to any one of claims 17 to 18, wherein, The authentication code includes the location information and the orientation information.
21. The computing system according to any one of claims 17 to 18, wherein, Obtaining one or more images includes: causing an image capture component communicating with the computing system to capture one or more images.
22. The computing system according to any one of claims 17 to 18, wherein, Generating the authentication code includes operating on the orientation information and the location information, the operations including one or more of the following: encoding, ranking, and filtering.
23. A non-transitory computer-readable medium storing instructions that, when executed by a data processing device, can perform operations including: Obtain one or more images of an object that includes multiple particles; Identify regions in one or more images that correspond to the plurality of particles; Determine the edges of regions corresponding to the plurality of particles based on one or more images; The geometric properties of the regions corresponding to the plurality of particles are determined based on the edges, and the geometric properties of each region include the centroid and principal axis. The orientation information of a pair of regions in one or more images is determined based on the geometric properties, and the orientation information of each pair is used to indicate the relative orientation of the principal axis of the first region with respect to the principal axis of the second region. Based on the geometric properties, the positional information of the region pairs in one or more images is determined, and the positional information of each pair is used to indicate the relative distance between the centroid of the first region and the centroid of the second region; as well as Generate an authentication code associated with the object, the authentication code being generated based on the orientation information and the location information.
24. The non-transitory computer-readable medium according to claim 23, wherein, The relative distance includes displacement along a first axis and displacement along a second axis orthogonal to the first axis.
25. The non-transitory computer-readable medium according to any one of claims 23 to 24, wherein, The orientation information includes the rotation angle measured between the principal axes of the first region and the second region when the centroids of the first region and the second region are aligned.
26. The non-transitory computer-readable medium according to any one of claims 23 to 24, wherein, The authentication code includes the location information and the orientation information.
27. The non-transitory computer-readable medium according to any one of claims 23 to 24, wherein, Obtaining the one or more images includes: having an image capture component that communicates with a computing system capture the one or more images.
28. The non-transitory computer-readable medium according to any one of claims 23 to 24, wherein, Generating the authentication code includes operating on the orientation information and the location information, the operations including one or more of the following: encoding, ranking, and filtering.
29. A method performed by a computing system, the method comprising: Obtain one or more images of an object, said object including: The first multiple particles, and The second group of particles; Generate a first authentication code associated with the object, the first authentication code being generated based on first orientation information extracted from the one or more images, and the first orientation information being used to indicate the relative spatial orientation of the first plurality of particles relative to each other; and A second authentication code associated with the object is generated, the second authentication code being generated based on second orientation information extracted from the one or more images, and the second orientation information being used to indicate the relative spatial orientation of the second plurality of particles relative to each other.
30. The method according to claim 29, wherein, The first plurality of particles have one or more representative characteristics that are different from those of the second plurality of particles.
31. The method according to claim 30, wherein, The one or more representative characteristics include one or more of the following: Feature size; shape; Material; Color; and Spectral reflectance.
32. The method according to any one of claims 29 to 31, wherein, The first plurality of particles are particles of the same type as the second plurality of particles.
33. The method according to any one of claims 29 to 31, wherein, The first plurality of particles are particles of a different type from the second plurality of particles.
34. The method according to any one of claims 29 to 31, wherein, The second plurality of particles are located on one or more of the surfaces of the first plurality of particles.
35. The method according to any one of claims 29 to 31, wherein, The first plurality of particles and the second plurality of particles are distributed in or on the matrix material.
36. The method according to any one of claims 29 to 31, wherein, The first authentication code and the second authentication code are generated based on the same image in one or more of the images.
37. The method according to any one of claims 29 to 31, wherein, The first authentication code and the second authentication code are generated based on different images in one or more of the images.
38. The method according to any one of claims 29 to 31, comprising: Identify the regions in one or more images that correspond to the first plurality of particles; Determine the edges of the regions corresponding to the first plurality of particles based on one or more images; as well as The geometric properties of the regions corresponding to the first plurality of particles are determined based on the edges, and the geometric properties of each region include the centroid and principal axis.
39. The method of claim 38, comprising: Determining the first orientation information based on the geometric properties includes: determining the orientation information of a pair of regions in one or more images, wherein the orientation information of each pair is used to indicate the relative orientation of the principal axis of the first region with respect to the principal axis of the second region.
40. The method of claim 39, comprising: Based on the geometric properties, the positional information of the region pairs in one or more images is determined, and the positional information of each pair is used to indicate the relative distance between the centroid of the first region and the centroid of the second region.
41. The method according to claim 40, wherein, The first authentication code is generated based on the first orientation information and the location information.
42. The method according to any one of claims 29 to 31, comprising: A composite authentication code is generated based on the first authentication code and the second authentication code.
43. The method according to any one of claims 29 to 31, wherein, The first plurality of particles are macroscopic.
44. The method according to any one of claims 29 to 31, wherein, The second plurality of particles are microscopic.
45. The method according to any one of claims 29 to 31, wherein, The first plurality of particles are planar.
46. The method according to claim 45, wherein, The second plurality of particles are planar.
47. The method according to claim 45, wherein, The second plurality of particles are non-planar.
48. The method according to any one of claims 29 to 31, wherein, The second plurality of particles are crystalline particles.
49. The method according to claim 48, wherein, The crystal particles are diamond particles.
50. The method according to any one of claims 29 to 31, comprising: This allows the first authentication code to be checked against the first reference code; as well as Output a check result indicating whether the first authentication code matches the first reference code.
51. The method according to any one of claims 29 to 31, comprising: This allows the second authentication code to be checked against the second reference code; as well as The output is a check result indicating whether the second authentication code matches the second reference code.
52. The method according to any one of claims 29 to 31, wherein, Obtaining one or more images includes: causing an image capture component communicating with the computing system to capture one or more images.
53. A computing system, comprising: One or more processors; as well as A computer-readable medium storing instructions that, when executed by one or more processors, can perform operations including: Obtain one or more images of an object, said object including: The first multiple particles, and The second group of particles; Generate a first authentication code associated with the object, the first authentication code being generated based on first orientation information extracted from the one or more images, and the first orientation information being used to indicate the relative spatial orientation of the first plurality of particles relative to each other; and A second authentication code associated with the object is generated, the second authentication code being generated based on second orientation information extracted from the one or more images, and the second orientation information being used to indicate the relative spatial orientation of the second plurality of particles relative to each other.
54. The computing system of claim 53, wherein the computer-readable medium stores instructions, the instructions being executable when executed by the one or more processors to perform operations, the operations including: Identify the regions in one or more images that correspond to the first plurality of particles; Determine the edges of the regions corresponding to the first plurality of particles based on one or more images; as well as The geometric properties of the regions corresponding to the first plurality of particles are determined based on the edges, and the geometric properties of each region include the centroid and principal axis.
55. The computing system of claim 54, wherein the computer-readable medium stores instructions, the instructions being executable when performed by the one or more processors to perform operations, the operations including: Determining the first orientation information based on the geometric properties includes: determining the orientation information of a pair of regions in one or more images, wherein the orientation information of each pair is used to indicate the relative orientation of the principal axis of the first region with respect to the principal axis of the second region.
56. The computing system of claim 55, wherein the computer-readable medium stores instructions, the instructions being executable when performed by the one or more processors to perform operations, the operations including: Based on the geometric properties, the positional information of the region pairs in one or more images is determined, and the positional information of each pair is used to indicate the relative distance between the centroid of the first region and the centroid of the second region.
57. The computing system according to claim 56, wherein, The first authentication code is generated based on the first orientation information and the location information.
58. The computing system according to any one of claims 53 to 57, wherein the computer-readable medium stores instructions, the instructions being executable by the one or more processors to perform operations, the operations including: A composite authentication code is generated based on the first authentication code and the second authentication code.
59. The computing system according to any one of claims 53 to 57, wherein, Obtaining one or more images includes: causing an image capture component communicating with the computing system to capture one or more images.
60. A non-transitory computer-readable medium storing instructions that, when executed by a data processing device, can perform operations including: Obtain one or more images of an object, said object including: The first multiple particles, and The second group of particles; Generate a first authentication code associated with the object, the first authentication code being generated based on first orientation information extracted from the one or more images, and the first orientation information being used to indicate the relative spatial orientation of the first plurality of particles relative to each other; and A second authentication code associated with the object is generated, the second authentication code being generated based on second orientation information extracted from the one or more images, and the second orientation information being used to indicate the relative spatial orientation of the second plurality of particles relative to each other.
61. The non-transitory computer-readable medium of claim 60, wherein the non-transitory computer-readable medium stores instructions that, when executed by one or more processors, are operable to perform operations, the operations including: Identify the regions in one or more images that correspond to the first plurality of particles; Determine the edges of the regions corresponding to the first plurality of particles based on one or more images; as well as The geometric properties of the regions corresponding to the first plurality of particles are determined based on the edges, and the geometric properties of each region include the centroid and principal axis.
62. The non-transitory computer-readable medium of claim 61, wherein the non-transitory computer-readable medium stores instructions, the instructions being executable when executed by the one or more processors to perform operations, the operations including: Determining the first orientation information based on the geometric properties includes: determining the orientation information of a pair of regions in one or more images, wherein the orientation information of each pair is used to indicate the relative orientation of the principal axis of the first region with respect to the principal axis of the second region.
63. The non-transitory computer-readable medium of claim 62, wherein the non-transitory computer-readable medium stores instructions, the instructions being executable when executed by the one or more processors to perform operations, the operations including: Based on the geometric properties, the positional information of the region pairs in one or more images is determined, and the positional information of each pair is used to indicate the relative distance between the centroid of the first region and the centroid of the second region.
64. The non-transitory computer-readable medium according to claim 63, wherein, The first authentication code is generated based on the first orientation information and the location information.
65. The non-transitory computer-readable medium according to any one of claims 60 to 64, wherein the non-transitory computer-readable medium stores instructions, the instructions being executable by one or more processors to perform operations, the operations comprising: A composite authentication code is generated based on the first authentication code and the second authentication code.
66. The non-transitory computer-readable medium according to any one of claims 60 to 64, wherein, Obtaining the one or more images includes: having an image capture component that communicates with a computing system capture the one or more images.
67. An authentication token for verifying an object, the authentication token comprising: Matrix material; A plurality of particles, wherein the plurality of particles are distributed relative to the matrix material; as well as The second plurality of particles are distributed relative to the matrix material.
68. The authentication mark according to claim 67, wherein, The first plurality of particles have one or more representative characteristics that are different from those of the second plurality of particles.
69. The authentication mark according to claim 68, wherein, The one or more representative characteristics include one or more of the following: Feature size; shape; Material; Color; and Spectral reflectance.
70. The certification mark according to any one of claims 67 to 69, wherein, The first plurality of particles are particles of the same type as the second plurality of particles.
71. The authentication mark according to any one of claims 67 to 69, wherein, The first plurality of particles are particles of a different type from the second plurality of particles.
72. The certification mark according to any one of claims 67 to 69, wherein, The second plurality of particles are located on one or more of the surfaces of the first plurality of particles.
73. The certification mark according to any one of claims 67 to 69, wherein, The first plurality of particles and the second plurality of particles are distributed in or on the matrix material.
74. The certification mark according to any one of claims 67 to 69, wherein, The first plurality of particles are macroscopic.
75. The certification mark according to any one of claims 67 to 69, wherein, The second plurality of particles are microscopic.
76. The certification mark according to any one of claims 67 to 69, wherein, The first plurality of particles are planar.
77. The authentication mark according to claim 76, wherein, The second plurality of particles are planar.
78. The authentication mark according to claim 76, wherein, The second plurality of particles are non-planar.
79. The certification mark according to any one of claims 67 to 69, wherein, The second plurality of particles are crystalline particles.
80. The authentication mark according to claim 79, wherein, The crystal particles are diamond particles.
81. The authentication mark according to any one of claims 67 to 69, wherein, The matrix material is a polymer.
82. The certification mark according to any one of claims 67 to 69, wherein, The first plurality of particles include elongated particles.
83. The authentication mark according to any one of claims 67 to 69, wherein, The second plurality of particles includes elongated particles.
84. A computing system, comprising: One or more processors; as well as A computer-readable medium storing instructions that, when executed by one or more processors, are capable of performing the operations according to any one of claims 1 to 16 or 29 to 52.
85. A non-transitory computer-readable medium storing instructions that, when executed by a data processing device, are operable to perform the operation according to any one of claims 1 to 16 or 29 to 52.