Detailed Description
The present application will be described in further detail with reference to the following drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the relevant invention and not restrictive of the invention. It should be noted that, for convenience of description, only the portions related to the related invention are shown in the drawings.
It should be noted that the embodiments and features of the embodiments in the present application may be combined with each other without conflict. The present application will be described in detail below with reference to the embodiments with reference to the attached drawings.
Fig. 1 illustrates an exemplary system architecture 100 to which embodiments of the method for anti-counterfeiting validation of the present application may be applied.
As shown in fig. 1, system architecture 100 may include user terminals 1011, 1012, networks 1021, 1022, block link points 1031, 1032, 1033, 1034, and server 104. Network 1021 is the medium used to provide communication links between user terminals 1011, 1012 and block link points 1031; network 1022 is the medium used to provide communication links between block link points 1031 and servers 104. The networks 1021, 1022 may include various types of connections, such as wire, wireless communication links, or fiber optic cables, to name a few.
It should be noted that the block link points 1031, 1032, 1033, 1034 are computers existing in the same blockchain network for anti-counterfeit authentication, and include, but are not limited to, smart phones, tablet computers, laptop computers, desktop computers, routers, mining machines, servers, and the like. Block link point 1031, block link point 1032, block link point 1033, and block link point 1034 also have networks, not shown in fig. 1, between them that provide communication links.
A user may use the user terminals 1011, 1012 to interact with the block link point 1031 through the network 1021 to send or receive messages and the like (for example, the user terminals 1011, 1012 may send the item identifier and the three-dimensional image feature information of the target item to the block link point 1031, and the user terminals 1011, 1012 may receive the anti-counterfeit verification result for the target item sent by the block link node 1031). The user terminals 1011 and 1012 may be installed with various communication client applications, such as an anti-counterfeit authentication application, an image processing application, and a shopping application.
The user terminals 1011, 1012 may obtain the item identification of the target item; then, image acquisition can be carried out on the target object to obtain three-dimensional image characteristic information of the target object; then, the article identifier and the three-dimensional image feature information may be sent to a block chain node 1031, so that the block chain node 1031 performs anti-counterfeit verification on the target article based on the article identifier and the three-dimensional image feature information; finally, the anti-counterfeit verification result for the target item returned by the blockchain node 1031 may be received.
The user terminals 1011, 1012 may be hardware or software. When the user terminals 1011, 1012 are hardware, they may be various electronic devices that are equipped with a camera and support information interaction, including but not limited to smart phones, tablet computers, laptop portable computers, desktop computers, and the like. When the user terminals 1011, 1012 are software, they may be installed in the electronic devices listed above. It may be implemented as multiple pieces of software or software modules, or as a single piece of software or software module. And is not particularly limited herein.
Blockchain node 1031 may be a node present in a blockchain network for anti-counterfeiting validation. The block link node 1031 may first receive the item identifier and the three-dimensional image feature information of the target item sent by the user terminals 1011 and 1012, and search for the stored three-dimensional image feature information corresponding to the item identifier; then, comparing the stored three-dimensional image characteristic information with the received three-dimensional image characteristic information to generate a comparison result; then, the item identifier and the three-dimensional image feature information of the target item can be broadcasted to other block link nodes 1032, 1033, 1034, and the comparison results returned by other block chain nodes 1032, 1033, 1034 are received; finally, the anti-counterfeit verification result for the target object may be determined based on the generated comparison result and the comparison result returned by the other block link points 1032, 1033, 1034, and the anti-counterfeit verification result may be sent to the user terminals 1011, 1012.
Block link point 1031 may be hardware or software. When block link point 1031 is hardware, it may be any of a variety of electronic devices that support information interaction, including but not limited to smart phones, tablets, laptop desktop computers, routers, mining machines, servers, and the like. When the block link point 1031 is software, it can be installed in the electronic devices listed above. It may be implemented as multiple pieces of software or software modules, or as a single piece of software or software module. And is not particularly limited herein.
The server 104 may be a server that provides various services. For example, a server that stores the item information of the target item, and transmits the item information of the target item to the block link point 1031.
It should be noted that the method for anti-counterfeit verification provided by the embodiment of the present application may be executed by the user terminals 1011, 1012, or may be executed by the block link point 1031.
It should be understood that the number of user terminals, networks, block chain nodes and servers in fig. 1 is merely illustrative. There may be any number of user terminals, networks, block link points, and servers, as desired for an implementation.
With continued reference to FIG. 2, a flow 200 of one embodiment of a method for anti-counterfeiting validation according to the present application is shown. The method for anti-counterfeiting verification is applied to a block chain node (such as the block chain node shown in FIG. 1), and comprises the following steps:
step 201, receiving an article identifier and three-dimensional image feature information of a target article sent by a user terminal, and searching stored three-dimensional image feature information corresponding to the article identifier.
In this embodiment, the block link point of the method for anti-counterfeit verification may receive the object identifier and the three-dimensional image feature information of the target object sent by the user terminal. Here, the target object may include objects having a collection value such as porcelain, diamond, antique, and jade. The item identifier may be used to identify the uniqueness of the item. The three-dimensional image feature information may include a three-dimensional geometric feature and a three-dimensional texture feature of the target object. The three-dimensional image feature information may be obtained by the user terminal by performing image acquisition on a target object.
And then, the block link points can search the stored three-dimensional image characteristic information corresponding to the article identification. The block chain node may store a real item identifier and real three-dimensional image feature information of the target item.
Herein, a block link point refers to a computer in a block chain network, including a mobile phone, an ore machine, a server, and so on. A blockchain is a user of a large number of individuals or families, each of which may be a node of the blockchain.
In this embodiment, the blockchain network is generally the blockchain network where the above-mentioned blockchain nodes are located for the anti-counterfeit verification.
Step 202, comparing the stored three-dimensional image characteristic information with the received three-dimensional image characteristic information to generate a comparison result.
In this embodiment, the block chain node may compare the stored three-dimensional image feature information with the received three-dimensional image feature information, and generate a comparison result. The above-described blockchain node may determine a similarity between the stored three-dimensional image feature information and the received three-dimensional image feature information. Specifically, the number of identical features between the features indicated by the stored three-dimensional image feature information and the features indicated by the received three-dimensional image feature information may be determined, and the ratio of the number of identical features to the total number of features indicated by the stored three-dimensional image feature information may be determined as the degree of similarity. Then, if the similarity is greater than or equal to a preset similarity threshold (for example, 98%), it may be determined that the comparison result is a feature match or the verification status is updated to be successful; if the similarity is smaller than the similarity threshold, it may be determined that the comparison result is a feature inconsistency or that the verification status is updated to fail.
Step 203, broadcasting the object identification and the three-dimensional image feature information of the target object to other block chain nodes, and receiving the comparison result returned by other block chain nodes.
In this embodiment, the block chain node may broadcast the object identifier and the three-dimensional image feature information of the target object to other block chain nodes. The other blockchain link points are typically other nodes in the blockchain network than the blockchain node.
Here, after receiving the article identifier and the three-dimensional image feature information of the target article, the other blockchain nodes may compare the three-dimensional image feature information by a method similar to that of the blockchain node to generate a comparison result. Then, the above block chain node may receive the comparison result returned by other block chain nodes.
And step 204, determining an anti-counterfeiting verification result aiming at the target object based on the generated comparison result and the comparison result returned by other block chain nodes, and sending the anti-counterfeiting verification result to the user terminal.
In this embodiment, the block chain node may determine an anti-counterfeit verification result for the target object based on the generated comparison result and the comparison result returned by the other block chain nodes. The above-mentioned determination method of the anti-counterfeiting verification result utilizes a consensus mechanism in the block chain. The consensus mechanism means that the verification and confirmation of the transaction is completed in a short time through the voting of a special node. For a transaction, if several nodes with irrelevant benefits can achieve consensus, we can consider that the whole network can achieve consensus for the node.
Here, the blockchain node may determine whether a ratio of the number of the comparison results with the same characteristics or the verification status as successful to the total number of the comparison results is greater than a preset ratio threshold. If yes, the anti-counterfeiting verification result aiming at the target object can be determined to be true or genuine. If not, the result of the anti-counterfeiting verification aiming at the target object can be determined to be false or fake (fake goods).
It should be noted that, the block chain link points in the block chain network may also be associated with weights, i.e. relative importance of votes from a certain block chain node. The above block chain nodes may calculate a sum of weights of the block chain nodes from which the comparison result is the comparison result whose features are consistent or whose verification state is successful, and determine whether a ratio of the sum of weights to a total number of the comparison results is greater than the above proportional threshold. If yes, the anti-counterfeiting verification result aiming at the target object can be determined to be true or genuine. If not, the anti-counterfeiting verification result aiming at the target object can be determined to be false or fake.
In this embodiment, after determining the anti-counterfeit verification result, the blockchain node may send the anti-counterfeit verification result to the user terminal.
In some optional implementation manners of this embodiment, after determining the anti-counterfeit verification result for the target item, the blockchain node may generate a block, and package and store the item identifier of the target item, the three-dimensional image feature information of the target item, the transaction information for the target item, and the anti-counterfeit verification result for the target item in the generated block, that is, store information associated with the target item in a local account book.
In some optional implementations of this embodiment, the block link point may store the item information of the target item sent by the target electronic device. The article information may include an article identifier and corresponding three-dimensional image feature information.
Here, after the production of the object, the manufacturer of the object may capture a plurality of images of the object (generally including images of a plurality of angles of the object, such as a front image, a rear image, and a side image) by the camera device, and upload the plurality of images to the object electronic device. The target electronic device may acquire a three-dimensional image of the target object using the plurality of images.
As an example, the target electronic device may perform three-dimensional reconstruction on the target object by using the plurality of images to obtain a three-dimensional image of the target object. Then, three-dimensional image feature information can be extracted from the three-dimensional image. Three-dimensional reconstruction refers to the establishment of a mathematical model suitable for computer representation and processing of a three-dimensional object, is the basis for processing, operating and analyzing the properties of the three-dimensional object in a computer environment, and is also a key technology for establishing virtual reality expressing an objective world in a computer.
As another example, the image capturing device may also be a depth camera, and the image capturing device may directly capture a three-dimensional image of the target object. The target electronic device may acquire three-dimensional image feature information of the three-dimensional image.
Here, the target electronic device further needs to generate a unique item identifier of the target item, and for example, the unique item identifier may be generated by three-dimensional image feature information of the item. Then, the target electronic device may send the article information of the target article to the block link node, so that the received article information is stored in the block link node.
The blockchain node may then transmit the article information to another blockchain node in the blockchain network, so that the article information is stored in the another blockchain node. That is, the target electronic device may send the article information of the target article to a blockchain network for anti-counterfeit verification, and at this time, each blockchain link point in the blockchain network may receive and store the article information of the target article.
In some optional implementations of this embodiment, the article information may further include a digital signature of the target object. The target object may be a producer or a manufacturer of the target object.
The method provided by the embodiment of the application ensures multi-party consensus and safety of transactions and improves the accuracy of anti-counterfeiting verification by applying the block chain technology to the field of anti-counterfeiting verification of articles, confirming the authenticity of the articles by using the three-dimensional characteristics of the articles and performing multi-end verification by using the block chain nodes.
With continued reference to FIG. 3, a flow 300 of yet another embodiment of a method for anti-counterfeiting validation according to the present application is shown. The method for anti-counterfeiting verification is applied to a user terminal and comprises the following steps:
step 301, acquiring an item identifier of a target item.
In this embodiment, a user terminal (e.g., the user terminal shown in fig. 1) of the method for anti-counterfeit verification may obtain an item identifier of a target item. Here, the target object may include objects having a collection value such as porcelain, diamond, antique, and jade. The item identification may be used to identify the uniqueness of the item.
Step 302, image acquisition is performed on the target object to obtain three-dimensional image characteristic information of the target object.
In this embodiment, the user terminal may perform image acquisition on the target object to obtain three-dimensional image feature information of the target object. Specifically, the user terminal may acquire an image of the target object by using a depth camera to obtain three-dimensional image feature information of the target object. Here, the three-dimensional image feature information may include a three-dimensional geometric feature and a three-dimensional texture feature of the target object.
Step 303, sending the article identifier and the three-dimensional image feature information to a block chain node, so that the block chain node performs anti-counterfeiting verification on the target article based on the article identifier and the three-dimensional image feature information.
In this embodiment, the user terminal may send the article identifier obtained in step 301 and the three-dimensional image feature information obtained in step 302 to the block chain node, so that the block chain node performs anti-counterfeit verification on the target article based on the article identifier and the three-dimensional image feature information. The blockchain is a novel application mode of computer technologies such as distributed data storage, point-to-point transmission, a consensus mechanism and an encryption algorithm. A blockchain is a shared distributed ledger. The method is essentially a decentralized database, and is used as a bottom layer technology of the bitcoin, namely a series of data blocks which are generated by correlation through a cryptographic method, wherein each data block contains information of a batch of bitcoin network transactions, and the information is used for verifying the validity (anti-counterfeiting) of the information and generating a next block. A blockchain node refers to a computer in a blockchain network, including a cell phone, a mining machine, a server, and so on. A blockchain is a user of a large number of individuals or families, each of which may be a node of the blockchain.
Here, the block chain node may receive the item identifier and the three-dimensional image feature information of the target item, which are sent by the user terminal. The block link points can search the stored three-dimensional image characteristic information corresponding to the article identification. The block chain node may store a real item identifier and real three-dimensional image feature information of the target item. The stored item identification and three-dimensional image characteristic information may be retrieved from a target server.
Here, after the production of the object, the manufacturer of the object may capture a plurality of images of the object (typically, images of a plurality of angles of the object, such as a front image, a rear image, and a side image, etc.) by using the camera device, and upload the plurality of images to the object server. The target server may acquire a three-dimensional image of the target object using the plurality of images.
As an example, the target server may perform three-dimensional reconstruction on the target object using the plurality of images to obtain a three-dimensional image of the target object. Then, three-dimensional image feature information can be extracted from the three-dimensional image. Three-dimensional reconstruction refers to the establishment of a mathematical model suitable for computer representation and processing of a three-dimensional object, is the basis for processing, operating and analyzing the properties of the three-dimensional object in a computer environment, and is also a key technology for establishing virtual reality expressing an objective world in a computer.
As another example, the image capturing device may also be a depth camera, and the image capturing device may directly capture a three-dimensional image of the target object. The target server may obtain three-dimensional image feature information of the three-dimensional image.
Here, the target server further needs to generate a unique item identifier of the target item, and the unique item identifier may be generated by three-dimensional image feature information of the item, for example. Then, the target server may store the three-dimensional image feature information of the target object, the unique object identifier, and the digital signature of the owner or the enterprise to which the target object belongs in the blockchain network for anti-counterfeit verification where the blockchain node is located, and at this time, each blockchain node in the blockchain network may receive and store the three-dimensional image feature information of the target object, the unique object identifier, and the digital signature of the owner or the enterprise to which the target object belongs.
Here, the block chain node may compare the stored three-dimensional image feature information with the received three-dimensional image feature information, and generate a comparison result. The above-described blockchain node may determine a similarity between the stored three-dimensional image feature information and the received three-dimensional image feature information. Specifically, the number of identical features between the features indicated by the stored three-dimensional image feature information and the features indicated by the received three-dimensional image feature information may be determined, and the ratio of the number of identical features to the total number of features indicated by the stored three-dimensional image feature information may be determined as the degree of similarity. Then, if the similarity is greater than or equal to a preset similarity threshold, the comparison result can be determined as the characteristic consistency or the verification state is updated to be successful; if the similarity is smaller than the similarity threshold, it may be determined that the comparison result is a feature inconsistency or that the verification status is updated to fail.
Then, the block chain node may broadcast the object identifier and the three-dimensional image feature information of the target object to other block chain nodes. The other blockchain link points are typically other nodes in the blockchain network than the blockchain node.
Here, after receiving the article identifier and the three-dimensional image feature information of the target article, the other blockchain nodes may compare the three-dimensional image feature information by a method similar to that of the blockchain node to generate a comparison result. Then, the above block chain node may receive the comparison result returned by other block chain nodes. Then, the block chain node may determine an anti-counterfeit verification result for the target object based on the generated comparison result and the comparison result returned by the other block chain nodes. The above-mentioned determination method of the anti-counterfeiting verification result utilizes a consensus mechanism in the block chain. The consensus mechanism means that the verification and confirmation of the transaction is completed in a short time through the voting of a special node. For a transaction, if several nodes with irrelevant benefits can achieve consensus, we can consider that the whole network can achieve consensus for the node.
Here, the blockchain node may determine whether a ratio of the number of the comparison results with the same characteristics or the verification status as successful to the total number of the comparison results is greater than a preset ratio threshold. If yes, the anti-counterfeiting verification result aiming at the target object can be determined to be true or genuine. If not, the anti-counterfeiting verification result aiming at the target object can be determined to be false or fake.
It should be noted that, the block chain link points in the block chain network may also be associated with weights, i.e. relative importance of votes from a certain block chain node. The above block chain nodes may calculate a sum of weights of the block chain nodes from which the comparison result is the comparison result whose features are consistent or whose verification state is successful, and determine whether a ratio of the sum of weights to a total number of the comparison results is greater than the above proportional threshold. If yes, the anti-counterfeiting verification result aiming at the target object can be determined to be true or genuine. If not, the anti-counterfeiting verification result aiming at the target object can be determined to be false or fake.
In this embodiment, after determining the anti-counterfeit verification result, the blockchain node may send the anti-counterfeit verification result to the user terminal.
And step 304, receiving an anti-counterfeiting verification result for the target article returned by the block chain node.
In this embodiment, the user terminal may receive an anti-counterfeit verification result for the target object, which is returned by the block chain node. Here, the user terminal may present the anti-counterfeit authentication result. As an example, if the target item is porcelain, an anti-counterfeiting verification result of "porcelain purchased by you is genuine" may be presented on a display screen of the user terminal.
In some optional implementation manners of this embodiment, in order to ensure that more accurate three-dimensional image feature information is obtained, the user terminal may perform image acquisition according to a shooting angle in a preset shooting angle set. Here, the photographing angle may be an included angle between a straight line of the lens center pointing to the article during photographing and a preset reference line of the article by the photographing apparatus. The reference line may be set manually. The user terminal may first select a shooting angle from the set of shooting angles as a target shooting angle.
Then, the user terminal may perform the following image capturing steps: and presenting indication information for indicating a user to acquire an image of the target object from a target shooting angle. As an example, the indication information may be "please move farther away", "please move some to the left", or the like, which is used to indicate information for adjusting the distance or angle between the user terminal and the target object. The acquired image may then be added to a preset set of images. Thereafter, it may be determined whether there is an unindicated shooting angle in the above set of shooting angles. If it is determined that the shooting angle set has an unindicated shooting angle, the unindicated shooting angle can be determined as a target shooting angle, and the image acquisition step is continuously executed.
If it is determined that there is no shooting angle that is not indicated in the shooting angle set, the user terminal may determine the three-dimensional image feature information of the target object by using the image set. If the image capturing device that captures the image is a depth camera, the image in the image set may be a three-dimensional image. The user terminal may extract three-dimensional image feature information from three-dimensional images in the image set.
In some optional implementations of the present embodiment, the images in the image set may be two-dimensional images. If it is determined that there is no shooting angle that is not indicated in the shooting angle set, the user terminal may perform three-dimensional reconstruction on the target object by using a plurality of two-dimensional images in the image set to obtain a three-dimensional image of the target object. Then, three-dimensional image feature information can be extracted from the three-dimensional image. Three-dimensional reconstruction refers to the establishment of a mathematical model suitable for computer representation and processing of a three-dimensional object, is the basis for processing, operating and analyzing the properties of the three-dimensional object in a computer environment, and is also a key technology for establishing virtual reality expressing an objective world in a computer.
In some optional implementation manners of this embodiment, the user terminal may detect whether to perform a scanning operation on the target identifier. As an example, if the user can scan the target identifier corresponding to the target article by using the image capturing device, the user terminal may detect that the scanning operation is performed on the target identifier. In this case, the user terminal may use the scanned item identifier as the item identifier of the target item. The target identification may include, but is not limited to, at least one of: one-dimensional codes (bar codes), two-dimensional codes and checkerboard grids. The camera device may be a camera on the user terminal, or may be an independent camera device that performs information interaction with the user terminal. The target mark corresponding to the target object may be attached to the certificate of the target object or may be attached to an object package of the target object. Here, in order to doubly secure uniqueness of an article, an object identifier corresponding to the object article may be attached to the certificate of the object article and the article package.
The method provided by the embodiment of the application ensures multi-party consensus and safety of transactions and improves the accuracy of anti-counterfeiting verification by applying the block chain technology to the field of anti-counterfeiting verification of articles, confirming the authenticity of the articles by using the three-dimensional characteristics of the articles and performing multi-end verification by using the block chain nodes.
With continued reference to FIG. 4, FIG. 4 illustrates a timing diagram of an embodiment of a system for anti-counterfeiting validation according to the present application.
The system for anti-counterfeiting verification of the embodiment comprises: user terminals, block link points, and other block link nodes. The user terminal is used for acquiring an article identifier of a target article, carrying out image acquisition on the target article to obtain three-dimensional image characteristic information of the target article, sending the article identifier and the three-dimensional image characteristic information to the block chain node, and receiving an anti-counterfeiting verification result which is returned by the block chain node and aims at the target article; the block chain nodes are used for receiving the article identification and the three-dimensional image characteristic information sent by the user terminal, searching the stored three-dimensional image characteristic information corresponding to the article identification, comparing the stored three-dimensional image characteristic information with the received three-dimensional image characteristic information to generate a comparison result, broadcasting the article identification and the three-dimensional image characteristic information to other block chain nodes, receiving the comparison result returned by other block chain nodes, determining an anti-counterfeiting verification result aiming at the target article based on the generated comparison result and the comparison result returned by other block chain nodes, and sending the anti-counterfeiting verification result to the user terminal; and the other block chain nodes are used for receiving the article identification and the three-dimensional image characteristic information and returning the comparison result to the block chain node points.
In some optional implementations of this embodiment, the system for anti-counterfeit verification may further include a target electronic device, where the target electronic device is configured to send object information of a target object to the block link points, where the object information includes an object identifier and corresponding three-dimensional image feature information.
As shown in fig. 4, in step 401, the user terminal obtains an item identifier of a target item.
Here, the user terminal may acquire an item identification of the target item. Here, the target object may include objects having a collection value such as porcelain, diamond, antique, and jade. The item identification may be used to identify the uniqueness of the item.
In step 402, the user terminal performs image acquisition on the target object to obtain three-dimensional image feature information of the target object.
Here, the user terminal may acquire an image of the target object to obtain three-dimensional image feature information of the target object. Specifically, the user terminal may acquire an image of the target object by using a depth camera to obtain three-dimensional image feature information of the target object. Here, the three-dimensional image feature information may include a three-dimensional geometric feature and a three-dimensional texture feature of the target object.
In step 403, the user terminal sends the item identifier and the three-dimensional image feature information to the blockchain node.
Here, the user terminal may transmit the item identifier and the three-dimensional image feature information to a blockchain node. The blockchain is a novel application mode of computer technologies such as distributed data storage, point-to-point transmission, a consensus mechanism and an encryption algorithm. A blockchain is a shared distributed ledger. The method is essentially a decentralized database, and is used as a bottom layer technology of the bitcoin, namely a series of data blocks which are generated by correlation through a cryptographic method, wherein each data block contains information of a batch of bitcoin network transactions, and the information is used for verifying the validity (anti-counterfeiting) of the information and generating a next block. A blockchain node refers to a computer in a blockchain network, including a cell phone, a mining machine, a server, and so on. A blockchain is a user of a large number of individuals or families, each of which may be a node of the blockchain.
In step 404, the block chain node points are searched for the stored three-dimensional image feature information corresponding to the article identifier.
Here, after receiving the article identifier and the three-dimensional image feature information of the target article sent by the user terminal, the block link point may search for the stored three-dimensional image feature information corresponding to the article identifier. The block chain node may store a real item identifier and real three-dimensional image feature information of the target item.
In step 405, the block link point compares the stored three-dimensional image feature information with the received three-dimensional image feature information, and generates a comparison result.
Here, the block link point may compare the stored three-dimensional image feature information with the received three-dimensional image feature information, and generate a comparison result. The above-described blockchain node may determine a similarity between the stored three-dimensional image feature information and the received three-dimensional image feature information. Specifically, the number of identical features between the features indicated by the stored three-dimensional image feature information and the features indicated by the received three-dimensional image feature information may be determined, and the ratio of the number of identical features to the total number of features indicated by the stored three-dimensional image feature information may be determined as the degree of similarity. Then, if the similarity is greater than or equal to a preset similarity threshold, the comparison result can be determined as the characteristic consistency or the verification state is updated to be successful; if the similarity is smaller than the similarity threshold, it may be determined that the comparison result is a feature inconsistency or that the verification status is updated to fail.
In step 406, the tile link points broadcast the item identification and three-dimensional image feature information of the target item to other tile link points.
Here, the tile link points may broadcast the above-described object identification and three-dimensional image feature information of the target object to other tile link points. The other blockchain link points are typically other nodes in the blockchain network than the blockchain node.
In step 407, other blockchain nodes return the comparison results to the blockchain nodes.
After receiving the article identifier and the three-dimensional image feature information of the target article, the other blockchain nodes may compare the three-dimensional image feature information by a method similar to the method for comparing the three-dimensional image feature information with the block chain node to generate a comparison result. Then, the other block link points may return comparison results to the block link nodes.
In step 408, the block link points determine the anti-counterfeit verification result for the target object based on the generated comparison result and the comparison result returned by other block link nodes.
Here, the block chain node may determine the anti-counterfeit verification result for the target object based on the generated comparison result and the comparison result returned by the other block chain node. The above-mentioned determination method of the anti-counterfeiting verification result utilizes a consensus mechanism in the block chain. The consensus mechanism means that the verification and confirmation of the transaction is completed in a short time through the voting of a special node. For a transaction, if several nodes with irrelevant benefits can achieve consensus, we can consider that the whole network can achieve consensus for the node.
Here, the blockchain node may determine whether a ratio of the number of the comparison results with the same characteristics or the verification status as successful to the total number of the comparison results is greater than a preset ratio threshold. If yes, the anti-counterfeiting verification result aiming at the target object can be determined to be true or genuine. If not, the anti-counterfeiting verification result aiming at the target object can be determined to be false or fake.
It should be noted that, the block chain link points in the block chain network may also be associated with weights, i.e. relative importance of votes from a certain block chain node. The above block chain nodes may calculate a sum of weights of the block chain nodes from which the comparison result is the comparison result whose features are consistent or whose verification state is successful, and determine whether a ratio of the sum of weights to a total number of the comparison results is greater than the above proportional threshold. If yes, the anti-counterfeiting verification result aiming at the target object can be determined to be true or genuine. If not, the anti-counterfeiting verification result aiming at the target object can be determined to be false or fake.
In step 409, the block link point sends the anti-counterfeit verification result to the user terminal.
Here, the block link point may transmit the anti-counterfeit authentication result to the user terminal. And after receiving the anti-counterfeiting verification result for the target article returned by the block chain node, the user terminal can present the anti-counterfeiting verification result. As an example, if the target item is porcelain, an anti-counterfeiting verification result of "porcelain purchased by you is genuine" may be presented on a display screen of the user terminal.
With further reference to fig. 5, as an implementation of the methods shown in the above figures, the present application provides an embodiment of an apparatus for anti-counterfeit verification, where the embodiment of the apparatus corresponds to the embodiment of the method shown in fig. 2, and the apparatus may be specifically disposed in a blockchain node.
As shown in fig. 5, the apparatus 500 for authentication against forgery of the present embodiment includes: a receiving unit 501, a comparing unit 502, a broadcasting unit 503 and a transmitting unit 504. The receiving unit 501 is configured to receive an article identifier and three-dimensional image feature information of a target article sent by a user terminal, and search stored three-dimensional image feature information corresponding to the article identifier, where the three-dimensional image feature information is obtained by the user terminal performing image acquisition on the target article; the comparison unit 502 is configured to compare the stored three-dimensional image feature information with the received three-dimensional image feature information, and generate a comparison result; the broadcasting unit 503 is configured to broadcast the item identifier and the three-dimensional image feature information of the target item to other block chain nodes, and receive the comparison result returned by other block chain nodes; the sending unit 504 is configured to determine an anti-counterfeiting verification result for the target item based on the generated comparison result and the comparison result returned by the other blockchain nodes, and send the anti-counterfeiting verification result to the user terminal.
In this embodiment, the specific processing of the receiving unit 501, the comparing unit 502, the broadcasting unit 503 and the sending unit 504 of the apparatus 500 for anti-counterfeit verification can refer to step 201, step 202, step 203 and step 204 in the corresponding embodiment of fig. 2.
In some optional implementations of the present embodiment, the apparatus 500 for anti-counterfeit verification may include a generating unit (not shown in the figure). The generation unit may generate a block, and store the item identifier of the target item, the three-dimensional image feature information of the target item, the transaction information for the target item, and the anti-counterfeit verification result for the target item in the generated block in a package manner, that is, store information associated with the target item in a local account book.
In some optional implementations of the present embodiment, the apparatus 500 for anti-counterfeit verification may include a storage unit (not shown in the figure) and an item information sending unit (not shown in the figure). The storage unit may store the article information of the target article transmitted from the target electronic device. The article information may include an article identifier and corresponding three-dimensional image feature information. The article information transmitting unit may then transmit the article information to another blockchain node in the blockchain network, so that the article information is stored in the another blockchain node. That is, the target electronic device may send the article information of the target article to a blockchain network for anti-counterfeit verification, and at this time, each blockchain link point in the blockchain network may receive and store the article information of the target article.
In some optional implementations of this embodiment, the article information may further include a digital signature of the target object. The target object may be a producer or a manufacturer of the target object.
With further reference to fig. 6, as an implementation of the methods shown in the above figures, the present application provides another embodiment of an apparatus for anti-counterfeit verification, where the embodiment of the apparatus corresponds to the embodiment of the method shown in fig. 3, and the apparatus may be specifically disposed in a user terminal.
As shown in fig. 6, the apparatus 600 for authentication against forgery of the present embodiment includes: an acquisition unit 601, an acquisition unit 602, a transmission unit 603, and a reception unit 604. Wherein the obtaining unit 601 is configured to obtain an item identifier of the target item; the acquisition unit 602 is configured to acquire an image of a target article, and obtain three-dimensional image feature information of the target article; the sending unit 603 is configured to send the article identifier and the three-dimensional image feature information to the blockchain node for the blockchain node to perform anti-counterfeit verification on the target article based on the article identifier and the three-dimensional image feature information; the receiving unit 604 is configured to receive the anti-counterfeit verification result for the target item returned by the blockchain node.
In this embodiment, the specific processing of the obtaining unit 601, the acquiring unit 602, the sending unit 603, and the receiving unit 604 of the apparatus 600 for anti-counterfeit verification may refer to step 301, step 302, step 303, and step 304 in the corresponding embodiment of fig. 3.
In some optional implementations of the present embodiment, the capturing unit 602 may perform image capturing according to a shooting angle in a preset shooting angle set. Here, the photographing angle may be an included angle between a straight line of the lens center pointing to the article during photographing and a preset reference line of the article by the photographing apparatus. The reference line may be set manually. The capturing unit 602 may first select a shooting angle from the shooting angle set as a target shooting angle. Thereafter, the above-mentioned acquisition unit 602 may perform the following image acquisition steps: and presenting indication information for indicating a user to acquire an image of the target object from a target shooting angle. As an example, the indication information may be "please move farther away", "please move some to the left", or the like, which is used to indicate information for adjusting the distance or angle between the user terminal and the target object. The acquired image may then be added to a preset set of images. Thereafter, it may be determined whether there is an unindicated shooting angle in the above set of shooting angles. If it is determined that the shooting angle set has an unindicated shooting angle, the unindicated shooting angle can be determined as a target shooting angle, and the image acquisition step is continuously executed.
If it is determined that there is no shooting angle that is not indicated in the shooting angle set, the acquisition unit 602 may determine three-dimensional image feature information of the target object by using the image set. If the image capturing device that captures the image is a depth camera, the image in the image set may be a three-dimensional image. The acquisition unit 602 may extract three-dimensional image feature information from three-dimensional images in the image set.
In some optional implementations of the present embodiment, the images in the image set may be two-dimensional images. If it is determined that there is no shooting angle that is not indicated in the shooting angle set, the acquisition unit 602 may perform three-dimensional reconstruction on the target object by using multiple two-dimensional images in the image set to obtain a three-dimensional image of the target object. Then, three-dimensional image feature information can be extracted from the three-dimensional image. Three-dimensional reconstruction refers to the establishment of a mathematical model suitable for computer representation and processing of a three-dimensional object, is the basis for processing, operating and analyzing the properties of the three-dimensional object in a computer environment, and is also a key technology for establishing virtual reality expressing an objective world in a computer.
In some optional implementations of this embodiment, the obtaining unit 601 may detect whether to perform a scanning operation on the target identifier. As an example, if the user can scan the target identifier corresponding to the target item by using the image capturing device, the acquiring unit 601 may detect that the scanning operation is performed on the target identifier. In this case, the acquisition unit 601 may use the scanned item identifier as the item identifier of the target item. The target identification may include, but is not limited to, at least one of: one-dimensional codes (bar codes), two-dimensional codes and checkerboard grids. The camera device may be a camera on the user terminal, or may be an independent camera device that performs information interaction with the user terminal. The target mark corresponding to the target object may be attached to the certificate of the target object or may be attached to an object package of the target object. Here, in order to doubly secure uniqueness of an article, an object identifier corresponding to the object article may be attached to the certificate of the object article and the article package.
Referring now to fig. 7, a schematic diagram of an electronic device (e.g., a user terminal or a blockchain node in fig. 1) 700 suitable for use in implementing embodiments of the present disclosure is shown. The electronic device shown in fig. 7 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 7, electronic device 700 may include a processing means (e.g., central processing unit, graphics processor, etc.) 701 that may perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)702 or a program loaded from storage 708 into a Random Access Memory (RAM) 703. In the RAM703, various programs and data necessary for the operation of the electronic apparatus 700 are also stored. The processing device 701, the ROM 702, and the RAM703 are connected to each other by a bus 704. An input/output (I/O) interface 705 is also connected to bus 704.
Generally, the following devices may be connected to the I/O interface 705: input devices 706 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; an output device 707 including, for example, a Liquid Crystal Display (LCD), a speaker, a vibrator, and the like; and a communication device 709. The communication means 709 may allow the electronic device 700 to communicate wirelessly or by wire with other devices to exchange data. While fig. 7 illustrates an electronic device 700 having various means, it is to be understood that not all illustrated means are required to be implemented or provided. More or fewer devices may alternatively be implemented or provided. Each block shown in fig. 7 may represent one device or may represent multiple devices as desired.
In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In such embodiments, the computer program may be downloaded and installed from a network via the communication means 709, or may be installed from the storage means 708, or may be installed from the ROM 702. The computer program, when executed by the processing device 701, performs the above-described functions defined in the methods of embodiments of the present disclosure. It should be noted that the computer readable medium described in the embodiments of the present disclosure may be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In embodiments of the disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In embodiments of the present disclosure, however, a computer readable signal medium may comprise a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, optical cables, RF (radio frequency), etc., or any suitable combination of the foregoing.
The computer readable medium may be included in the block chain node or the user terminal described in the above embodiments; or may exist separately and not fit into the block link point or user terminal. The computer readable medium carries one or more programs which, when executed by the block node or user terminal, cause the block node to: receiving an article identification and three-dimensional image characteristic information of a target article sent by a user terminal, and searching stored three-dimensional image characteristic information corresponding to the article identification, wherein the three-dimensional image characteristic information is obtained by the user terminal performing image acquisition on the target article; comparing the stored three-dimensional image characteristic information with the received three-dimensional image characteristic information to generate a comparison result; broadcasting the object identification and the three-dimensional image characteristic information of the target object to other block chain nodes, and receiving comparison results returned by other block chain nodes; and determining an anti-counterfeiting verification result aiming at the target object based on the generated comparison result and the comparison result returned by other block chain nodes, and sending the anti-counterfeiting verification result to the user terminal. Or cause the user terminal to: acquiring an article identifier of a target article; acquiring an image of a target object to obtain three-dimensional image characteristic information of the target object; sending the article identifier and the three-dimensional image characteristic information to the block chain node so that the block chain node can perform anti-counterfeiting verification on the target article based on the article identifier and the three-dimensional image characteristic information; and receiving an anti-counterfeiting verification result for the target object returned by the block chain node.
Computer program code for carrying out operations for embodiments of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C + +, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in the embodiments of the present disclosure may be implemented by software or hardware. The described units may also be provided in a processor, and may be described as: a processor includes a receiving unit, a comparing unit, a broadcasting unit, and a transmitting unit. The names of these units do not limit the unit itself in some cases, and for example, the comparison unit may also be described as a "unit that compares stored three-dimensional image feature information with received three-dimensional image feature information to generate a comparison result".
The units described in the embodiments of the present disclosure may be implemented by software or hardware. The described units may also be provided in a processor, and may be described as: a processor includes an acquisition unit, a collection unit, a transmission unit, and a reception unit. Where the names of these units do not in some cases constitute a limitation of the unit itself, for example, the acquiring unit may also be described as a "unit that acquires an item identification of a target item".
The foregoing description is only exemplary of the preferred embodiments of the disclosure and is illustrative of the principles of the technology employed. It will be appreciated by those skilled in the art that the scope of the invention in the embodiments of the present disclosure is not limited to the specific combination of the above-mentioned features, but also encompasses other embodiments in which any combination of the above-mentioned features or their equivalents is made without departing from the inventive concept as defined above. For example, the above features and (but not limited to) technical features with similar functions disclosed in the embodiments of the present disclosure are mutually replaced to form the technical solution.