百度圖片搜索引擎原理是如何實現的
圖片搜索的原理有三個步驟
1. 將目標圖片進行特征提取,描述圖像的算法很多,用的比較多的是:SIFT描述子,指紋算法函數,bundling features算法,hash function(散列函數)等。也可以根據不同的圖像,設計不同的算法,比如圖像局部N階矩的方法提取圖像特征。
2. 將圖像特征信息進行編碼,并將海量圖像編碼做查找表。對于目標圖像,可以對分辨率較大的圖像進行降采樣,減少運算量后在進行圖像特征提取和編碼處理。
3. 相似度匹配運算:利用目標圖像的編碼值,在圖像搜索引擎中的圖像數據庫進行全局或是局部的相似度計算;根據所需要的魯棒性,設定閾值,然后將相似度高的圖片預保留下來;最后應該還有一步篩選最佳匹配圖片,這個應該還是用到特征檢測算法。
其中每個步驟都有很多算法研究,圍繞數學,統計學,圖像編碼,信號處理等理論進行研究。
根據Neal Krawetz博士的解釋,原理非常簡單易懂。我們可以用一個快速算法,就達到基本的效果。
這里的關鍵技術叫做"感知哈希算法"(Perceptual hash algorithm),它的作用是對每張圖片生成一個"指紋"(fingerprint)字符串,然后比較不同圖片的指紋。結果越接近,就說明圖片越相似。下面是一個最簡單的實現:
第一步,縮小尺寸。
將圖片縮小到8x8的尺寸,總共64個像素。這一步的作用是去除圖片的細節,只保留結構、明暗等基本信息,摒棄不同尺寸、比例帶來的圖片差異。
第二步,簡化色彩。
將縮小后的圖片,轉為64級灰度。也就是說,所有像素點總共只有64種顏色。
第三步,計算平均值。
計算所有64個像素的灰度平均值。
第四步,比較像素的灰度。
將每個像素的灰度,與平均值進行比較。大于或等于平均值,記為1;小于平均值,記為0。
第五步,計算哈希值。
將上一步的比較結果,組合在一起,就構成了一個64位的整數,這就是這張圖片的指紋。組合的次序并不重要,只要保證所有圖片都采用同樣次序就行了。
得到指紋以后,就可以對比不同的圖片,看看64位中有多少位是不一樣的。在理論上,這等同于計算"漢明距離"(Hammingdistance)。如果不相同的數據位不超過5,就說明兩張圖片很相似;如果大于10,就說明這是兩張不同的圖片。
具體的代碼實現,可以參見Wote用python語言寫的imgHash.py。代碼很短,只有53行。使用的時候,第一個參數是基準圖片,第二個參數是用來比較的其他圖片所在的目錄,返回結果是兩張圖片之間不相同的數據位數量(漢明距離)。
這種算法的優點是簡單快速,不受圖片大小縮放的影響,缺點是圖片的內容不能變更。如果在圖片上加幾個文字,它就認不出來了。所以,它的最佳用途是根據縮略圖,找出原圖。
實際應用中,往往采用更強大的pHash算法和SIFT算法,它們能夠識別圖片的變形。只要變形程度不超過25%,它們就能匹配原圖。這些算法雖然更復雜,但是原理與上面的簡便算法是一樣的,就是先將圖片轉化成Hash字符串,然后再進行比較。
百度有圖片搜索功能嗎? 上傳圖片,找到類似圖片及出處
百度有圖片搜索功能,具體使用方法如下:
1、打開瀏覽器,輸入“image.baidu.com”并打開,或者在百度搜索引擎輸入該網址也行。
2、點擊搜索欄的相機圖樣,如圖所示。
3、在彈出的小對話框點擊“本地上傳”,并打開你想要的類似圖片。
4、這時候就會彈出類似的圖片了。
5、往下拉頁面還可以查看圖片的詳細來源,很方便。
圖片搜索引擎
百度圖片搜索
http://image.baidu.com/
百度圖片搜索引擎是世界上最大的中文圖片搜索引擎,百度從8億中文網頁中提取各類圖片,建立了世界第一的中文圖片庫。截止 2004 年底,百度圖片搜索引擎可檢索圖片已超過 7 千萬張。 百度新聞圖片搜索從中文新聞網頁中實時提取新聞圖片,它具有新聞性、實時性、更新快等特點。
Google 圖片搜索
http://images.google.cn
Google 是由斯坦福大學博士生Larry Page與Sergey Brin于1998年 9月發明的關鍵詞搜索引擎,支持包括簡、繁體中文等132種語言的,圖象搜索是其四大功能模塊之一。圖像搜索的工作原理是利用網絡蜘蛛 (Smart Spider)技術,通過分析頁面上圖像附近的文字、圖像標題以及許多其它元素來確定圖像的內容,并使用復雜的算法刪除重復信息,并確保在搜索結果中首先顯示質量最好的圖像。據稱,Google 圖像搜索可以搜索超過 3.9 億個圖像。用戶在關鍵詞框內輸入描述圖象內容的關鍵詞,便可得到最貼切的相關內容。搜索結果提供了一個很直觀的縮略圖版以及對這個縮略圖片的簡單描述,比如圖像文件的大小、名稱等。
雅虎圖片搜索
http://image.yahoo.com.cn/
搜索超過16億全球圖片,多彩世界觸手可及。
百度怎么查圖片啊
百度查圖片步驟:
1、打開百度圖片搜索引擎,輸入要搜索的圖片名稱,點擊搜索即可。
2、以圖識圖功能,上傳一張計算機上的本地圖片或者網絡地址圖片url鏈接,即可查詢到與該圖片相近或一致的圖片。