Google 搜尋已經是人們使用電腦生活的一部分,強大的圖片搜尋也帶來了不少便利,想要知道手上美女圖是誰,只要把照片丟上 Google 圖片搜尋就可以知道答案。不過 PTT 有位網友,為了要搜尋一隻模型,結果搜到了意外的答案。
延伸閱讀:手機用Google以圖搜圖這樣做,如果找不到另外加送你這兩個方法
你要的圖片找好了
PTT 板友 a031516462 在一天想要知道手上的模型照片叫什麼名字,所以就把圖片丟到了 Google 圖片搜尋,結果在第一張就找到了神奇的照片,其姿勢和模型居然異常相似,也有推文表示搜尋沒有錯,只不過是 40 年後,不少板友也都表示 Google 大神搜尋非常精確。
▲Google 大神,我想搜尋這模型的相關照片。
▲Google 大神:「不好意思沒有你要的圖片,不過下面有看像來相似的。」
▲Google 大神:「這是你要的照片嗎?」
Google 圖片搜尋是怎麼做的呢?其實基本原理很簡單,只要把照片先縮小,再把顏色轉化為灰階,之後再去比對兩張圖片的灰階程度是否接近,就可以找到相似的照片。其演算法是「感知雜湊算法」(Perceptual hash algorithm),有五個步驟:
- 縮小尺寸:把圖片縮到 8 x 8 的大小。
- 簡化顏色:把圖片的色彩轉為 64 級灰階。
- 計算平均值:算出 64 像素的平均值。
- 比較像素:把每個像素和平均值比較。
- 計算雜湊值:根據上一步會得到64位的數字,就是這圖片的指紋,只要比對指紋就能得知是否為同圖片。
對這演算法有興趣的可以搜尋相關資料:Perceptual hash algorithm
▲兩張照片縮小之後,其實相似度就已經很高,只有中間衣服的部分比較不同。
但重點是,有人知道那模型是誰嗎?
以圖搜圖技術原理
我們來介紹以圖搜圖技術的通用框架。在介紹以圖搜圖技術之前,我們來看任何一個搜索技術所擁有的基本組件。舉個例子,我們需要到圖書館查找一本書,需要幾個基本的要素:1. 圖書館(海量圖書);2. 圖書的分類、書名或者作者(在圖書館的編碼體系下,這些信息的組合能夠唯一表示這一本書);3. 圖書館的書需要按照一定的規律來布置(科目、難易程度、首字母、作者、年份等);在有了這些基本的要素之外,只要圖書館有這本書,我們就能夠快速找到它;或者即便沒有某一本具體的書,我們也能夠查詢到與這本書有著相近內容的書。
結合上面的例子,我們來看一個典型的以圖搜圖系統所包括3個基本的要素:
01. 檢索圖片庫:這就相當於上一個例子中的圖書,我們需要有一個足夠規模的圖片庫,比如淘寶的所有商品的圖片集合,比如百度圖片搜索中收集到的網際網路圖片數據集合。當然,這裡我們介紹的是一個靜態的圖片庫,在實際項目中,我們需要有能力來處理動態變化的圖片資料庫。
02. 特徵提取:這就相當於上一個例子中圖書的作者、年份、科目等等,我們稱為圖片的特徵。實際上,圖片的任何統計量都可以作為圖片的特徵,甚至圖像的像素值本身通過歸一化之後也可以作為圖片的特徵。在實際中,我們使用圖片的顏色分布、梯度變化統計量、紋理、BOW統計、底層/中層/高層語義特徵等作為圖片的特徵,非常豐富。
03. 檢索結構:檢索結構的唯一目的就是讓查找更快更准。簡單的,一一對比是最簡單的查詢結構,最准,但是最慢;所以所有檢索結構本質上都是效率和精度的平衡。常見的,我們可以對數據集進行聚類,把數據分成一堆一堆的,比對時先選擇相似的堆,然後在堆內部再進行細緻的比對。而分堆的理念又可以通過樹結構、Hash結構、倒排索引、圖結構等等來刻畫。
(≧▽≦)
http://blog.livedoor.jp/azure_toy_box/archives/223333.html
現在有些人對岸的文章看太多了
已經搞不清楚台灣的專業術語
最常見的就是把HD稱高清的人
> hash 應該要翻成“雜湊”,又不是人名。
感謝建議,已經更改文章的翻譯。
http://www.terios.net/lycoris.html (18禁注意)
> 死阿宅的低能幽默。囧rz
死嘴砲的低能發言。囧rz
不管再如何強的運算,還是比不上人類的感知吧
不過遇到這種超級誤差實在是……(⊙ˍ⊙)
期望這個技術未來能更進步,讓搜尋的誤差率降到最小!(≧▽≦)
> 死阿宅的低能幽默。囧rz
只是個廚廚,這魚餌好爛╯-__-)╯ ╩╩
> ※ 引述《Quinn》的留言:
> > hash 應該要翻成“雜湊”,又不是人名。
>
> 感謝建議,已經更改文章的翻譯。
「計算哈希值」這裡沒改到喔。