Nowadays, with the fast pace of the development of information technology, the copyright of data is becoming a major issue. Lots of efforts have been made in the aspect of text information such as journals, but when it comes to pictures, things become complicated.
The issue of the image copyright becomes more and more serious as the development of the social media on the Internet. There are two leading potential rationales to this problem. On the one hand the huge number of images on the Internet make it really hard track the origin of the each single image. On the other hand it is really hard to make a sound claim to the copyright owner since the state of the art cannot provide a solid proof to detect the create time of the image. So, we introduced PixelBase, a desktop web app which based on computer vision and bitcoin Blockchain technology. PixelBase can detect the similarity of the pictures and record an unchangeable, inedible transaction hash value to the Blockchain to provide a permanent verifiable record for image ownership.
What it does
PixelBase is a web app based on Blockchain that provides a verifiable record for image copyright for the public. PixelBase can provide a solid proof for those who wants to claim their image copyright. PixelBase keeps records of the actual image file, the hash value of the image and the transaction ID of the image when its hash get written to the Blockchain, so that users can use them for check in the future.
How we built it
Backend: By combining the irreversibility of Bitcoin Blockchain and the flexibility of three computer vision feature detection algorithms. The app can both store the unique fingerprint hash of an image to the Blockchain, and verify if an image has high similarity with those in the Blockchain library. To store the hash value of an image into the Blockchain, we had a python script from coinspark to append the hash value to the OP_RETURN field in a Bitcoin transaction output script, thus storing the record permanently. For image copyright verification, we used three different computer vision algorithms (Scale Invariant Feature Transform (SIFT), Principal Component Analysis (PCA)–SIFT and Speeded Up Robust Features (SURF)) to calculate the features of images and generate an order of similarity between the two, usually the greater the value the more similar the two images; when that value exceeds a certain threshold, we would then decide that the image submitted has failed the verification and implies possibility of copyright violation.
Challenges we ran into
Bitcoin transaction is different than common transactions. We had to dive into details of Bitcoin transaction process, in particular the OP_RETURN field in the output script, in order to successfully operate appending message to the Blockchain. On the other hand, since we provided service for user to verify if the image is similar to previously uploaded ones, we applied image feature matching algorithm so that we could identify similar images even if it is rotated, blurred, cropped, or mixed with other images, just as we do when we recognize images using human eyes. But since the algorithm need large amount of computing, optimizing the algorithm becomes our main challenge, and we approached the solution by implementing multithreading process and by optimizing the size of image without losing its feature points.
Accomplishments that we're proud of
We crossed the whole California just for seeing how San Francisco is like in 4 a.m. ＼(￣▽￣)／
What we learned
MySQL, NodeJs, Python, Blockchain, OpenCV... and most importantly, the ability to keep awake and code!
What's next for PixelBase
Our app is now only applicable for individual use: to claim and verify personal images copyright by setting up a small database. However, it is not suitable for setting up a public database of image copyrights for common use, because there are too many existing identical images that we can’t tell which copyright they are in order to first store them into the database. Our next step would be to consider practical solutions to this issue using our app. For example study the development patent law in the history.
Also, for right now, it will take a considerable long time (approximately 15 minutes and up to 1.5 hours) to wait for a picture to get confirmed and written into Bitcoin Blockchain. We will consider boost the transaction process by increasing amount of transaction fee and send personalized emails for professional users who would investigate in PixelBase.