Image recognition engine-engine collection knowledge map
The search results are still not ideal and there is a lot of room for improvement. Here are a few more professional image search engines.
1:HTTPS://IMAGES.GOOGLE.COM/HTTP://WWW.GOOGLE.COM/IMGHP ( old version: http://similar-images.googlelabs.com )
Temporary replacement: HTTP://54.250.200.50/IMGHP HTTP://203.208.46.200/IMGHP
Google Labs Similar image search: Enter a keyword, such as "Bird". On the returned page, click on the following similar images of a picture. Use Google's similar image search engine to instantly search for similar images for you. displayed to the user for viewing.
The accuracy and similarity rate are relatively high.
The principle of Google picture acquaintance search
Very many people have used Google image search function.
You can use a picture to search all the images on the Internet that are similar to it.
You enter the web address of the mesh. or upload images directly, Google will find similar images.
The following picture is an American actress Alyson Hannigan.
After uploading. Google returns for example the following results:
watermark/2/text/ahr0cdovl2jsb2cuy3nkbi5uzxqvew91dghsenu=/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/ Dissolve/70/gravity/southeast ">
What is the principle of such a technology? How does a computer know that two pictures are similar?
based on The rationale for Dr. Neal Krawetz's explanation is easy to understand.
We can use a high-speed algorithm to achieve the main effect.
The key technology here is called the "Perceptual Hashing algorithm" (perceptual hash algorithm), which is used to generate a "fingerprint" (fingerprint) string for each image, and then compare the fingerprints of different images. The closer the result is. The more similar the picture shows.
The following is one of the simplest implementations:
The first step. Reduce the size.
Reduce the image to 8x8 's size, a total of 64 pixels.
The effect of this step is to remove the details of the picture. Just keep the basic information of structure, shading and so on, discard the difference of different size and proportion.
The second step. Simplify color.
Will shrink the picture. To level 64 grayscale. Other words. All pixels have a total of only 64 colors.
The third step is to calculate the average.
Calculates a grayscale average of all 64 pixels.
The fourth step, the grayscale of the pixel.
Compare the grayscale of each pixel to the average. Greater than or equal to the average, recorded as 1, less than the average, recorded as 0.
Fifth step, calculate the hash value.
Combining the results of the previous step together makes up a 64-bit integer, which is the fingerprint of the image. The order of the combinations is not important. Just make sure all the pictures are in the same order.
After getting fingerprints. You can control different pictures. See how many of the 64 bits are not the same. In theory, this equates to the calculation of "Hamming distance" (Hamming distance). Assume that the same data bits do not exceed 5. It means that two pictures are very similar; if they are larger than 10, it means that they are two different pictures.
Detailed code implementation, can see Wote in Python language written imghash.py.
The code is very short. There are only 53 lines.
When used, the first number of parameters is the base picture. The second parameter is the folder in which the other images are compared, and the result is a different number of data bits (Hamming distance) between the two pictures.
The advantage of such an algorithm is simple high speed, not affected by the size of the picture, the disadvantage is that the content of the picture can not be changed.
Suppose you add a few words to the picture, it doesn't recognize it. Therefore, its best use is based on thumbnails. Find the original.
In practical applications. Often using more powerful phash algorithms and sift algorithms, they can identify the deformation of a picture.
Only if the degree of deformation is not more than 25%, they can match the original image.
Although these algorithms are more complex, the principle is the same as the simple algorithm above, that is, to first convert the image into a hash string, and then the comparison.
2:http://tineye.com/ TinEye looking for pictures
TinEye is a typical map search engine, enter the image on the local hard drive or enter the image URL, you can take the initiative to help you search for similar images, search accuracy is relatively pleasant.
3:http://cn.bing.com/images Microsoft Bing maps
Http://cn.bing.com/images/searchbyimage?FORM=IRSBIQ
Cbir=sbi
Imgurl=:: $URL::
watermark/2/text/ahr0cdovl2jsb2cuy3nkbi5uzxqvew91dghsenu=/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/ Dissolve/70/gravity/southeast ">
4:http://shitu.baidu.com Baidu Map
5: http://image.so.com 360 Figure Http://st.so.com/stu?
A=list&imgkey=t0144cfa2e52a0870a2.jpg&tp=imgurl&src=image
watermark/2/text/ahr0cdovl2jsb2cuy3nkbi5uzxqvew91dghsenu=/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/ Dissolve/70/gravity/southeast ">
6. Http://pic.sogou.com/ris?
Query=[url] Sogou knowledge map
Copyright notice: This article Bo Master original article. Blog, not reproduced without consent.
Image recognition engine-engine collection knowledge Map ~