Google 大神,我要找的圖片不是這個!Google以圖找圖背後的AI搜尋原理是什麼?

Google 大神,我要找的圖片不是這個!Google以圖找圖背後的AI搜尋原理是什麼?

Google 搜尋已經是人們使用電腦生活的一部分,強大的圖片搜尋也帶來了不少便利,想要知道手上美女圖是誰,只要把照片丟上 Google 圖片搜尋就可以知道答案。不過 PTT 有位網友,為了要搜尋一隻模型,結果搜到了意外的答案。

延伸閱讀:手機用Google以圖搜圖這樣做,如果找不到另外加送你這兩個方法

 

你要的圖片找好了

PTT 板友 a031516462 在一天想要知道手上的模型照片叫什麼名字,所以就把圖片丟到了 Google 圖片搜尋,結果在第一張就找到了神奇的照片,其姿勢和模型居然異常相似,也有推文表示搜尋沒有錯,只不過是 40 年後,不少板友也都表示 Google 大神搜尋非常精確。

Google 大神,我要找的圖片不是這個!Google以圖找圖背後的AI搜尋原理是什麼?

▲Google 大神,我想搜尋這模型的相關照片。

Google 大神,我要找的圖片不是這個!Google以圖找圖背後的AI搜尋原理是什麼?

▲Google 大神:「不好意思沒有你要的圖片,不過下面有看像來相似的。」

Google 大神,我要找的圖片不是這個!Google以圖找圖背後的AI搜尋原理是什麼?

▲Google 大神:「這是你要的照片嗎?」

Google 圖片搜尋是怎麼做的呢?其實基本原理很簡單,只要把照片先縮小,再把顏色轉化為灰階,之後再去比對兩張圖片的灰階程度是否接近,就可以找到相似的照片。其演算法是「感知雜湊算法」(Perceptual hash algorithm),有五個步驟:

  1. 縮小尺寸:把圖片縮到 8 x 8 的大小。
  2. 簡化顏色:把圖片的色彩轉為 64 級灰階。
  3. 計算平均值:算出 64 像素的平均值。
  4. 比較像素:把每個像素和平均值比較。
  5. 計算雜湊值:根據上一步會得到64位的數字,就是這圖片的指紋,只要比對指紋就能得知是否為同圖片。

對這演算法有興趣的可以搜尋相關資料:Perceptual hash algorithm

Google 大神,我要找的圖片不是這個!Google以圖找圖背後的AI搜尋原理是什麼?

▲兩張照片縮小之後,其實相似度就已經很高,只有中間衣服的部分比較不同。

但重點是,有人知道那模型是誰嗎?

以圖搜圖技術原理

我們來介紹以圖搜圖技術的通用框架。在介紹以圖搜圖技術之前,我們來看任何一個搜索技術所擁有的基本組件。舉個例子,我們需要到圖書館查找一本書,需要幾個基本的要素:1. 圖書館(海量圖書);2. 圖書的分類、書名或者作者(在圖書館的編碼體系下,這些信息的組合能夠唯一表示這一本書);3. 圖書館的書需要按照一定的規律來布置(科目、難易程度、首字母、作者、年份等);在有了這些基本的要素之外,只要圖書館有這本書,我們就能夠快速找到它;或者即便沒有某一本具體的書,我們也能夠查詢到與這本書有著相近內容的書。

結合上面的例子,我們來看一個典型的以圖搜圖系統所包括3個基本的要素:

01. 檢索圖片庫:這就相當於上一個例子中的圖書,我們需要有一個足夠規模的圖片庫,比如淘寶的所有商品的圖片集合,比如百度圖片搜索中收集到的網際網路圖片數據集合。當然,這裡我們介紹的是一個靜態的圖片庫,在實際項目中,我們需要有能力來處理動態變化的圖片資料庫。

02. 特徵提取:這就相當於上一個例子中圖書的作者、年份、科目等等,我們稱為圖片的特徵。實際上,圖片的任何統計量都可以作為圖片的特徵,甚至圖像的像素值本身通過歸一化之後也可以作為圖片的特徵。在實際中,我們使用圖片的顏色分布、梯度變化統計量、紋理、BOW統計、底層/中層/高層語義特徵等作為圖片的特徵,非常豐富。

03. 檢索結構:檢索結構的唯一目的就是讓查找更快更准。簡單的,一一對比是最簡單的查詢結構,最准,但是最慢;所以所有檢索結構本質上都是效率和精度的平衡。常見的,我們可以對數據集進行聚類,把數據分成一堆一堆的,比對時先選擇相似的堆,然後在堆內部再進行細緻的比對。而分堆的理念又可以通過樹結構、Hash結構、倒排索引、圖結構等等來刻畫。

 

延伸閱讀:

Google 以圖搜尋 繁中版上線,有圖就幫你找到人

Google 圖片搜尋結果也能出書?英藝術家推出 Google 視覺辭典

無敵小恩恩
作者

我只是個打字的。

使用 Facebook 留言
5b07a7a48af3d6c21a472fed761e68a0?size=48&default=wavatar
1人給推

2.  英國人 (發表於 2012年8月07日 16:18)
這篇是故意寫笑話讓大家笑一笑嗎
(≧▽≦)
LIS
1人給推

3.  LIS (發表於 2012年8月07日 16:36)
重點是後面的 google 怎麼搜尋圖片啊!絕對不是要寫成笑話。
7a54dc6fa713b177cfd9d372a6321819?size=48&default=wavatar
2人給推

6.  QQ (發表於 2012年8月07日 18:15)
哈希值是對岸的用語
現在有些人對岸的文章看太多了
已經搞不清楚台灣的專業術語
最常見的就是把HD稱高清的人
無敵小恩恩
7.  無敵小恩恩 (發表於 2012年8月07日 18:20)
※ 引述《Quinn》的留言:
> hash 應該要翻成“雜湊”,又不是人名。

感謝建議,已經更改文章的翻譯。
8064686bb7651b90109f38b6819a2af8?size=48&default=wavatar
12.  三角貓 (發表於 2012年8月07日 22:46)
※ 引述《5D小78》的留言:
> 死阿宅的低能幽默。囧rz

死嘴砲的低能發言。囧rz
小桃子
13.  小桃子 (發表於 2012年8月07日 22:59)
這就是科技的盲點吧 (≧▽≦)
不管再如何強的運算,還是比不上人類的感知吧
Ce5b20c950923cf73852c078ab91c696?size=48&default=wavatar
14.  古紀洛子 (發表於 2012年8月08日 14:33)
雖然以圖搜圖這功能蠻方便的,
不過遇到這種超級誤差實在是……(⊙ˍ⊙)

期望這個技術未來能更進步,讓搜尋的誤差率降到最小!(≧▽≦)
85550a796638284545039759f617ed39?size=48&default=wavatar
15.  K島島民 (發表於 2012年8月10日 22:50)
※ 引述《5D小78》的留言:
> 死阿宅的低能幽默。囧rz
只是個廚廚,這魚餌好爛╯-__-)╯ ╩╩
92e2d0997effdb0b8b1a9356631d689d?size=48&default=wavatar
16.  小斌 (發表於 2012年10月19日 16:23)
※ 引述《無敵小恩恩》的留言:
> ※ 引述《Quinn》的留言:
> > hash 應該要翻成“雜湊”,又不是人名。
>
> 感謝建議,已經更改文章的翻譯。
「計算哈希值」這裡沒改到喔。
0d652f303a20168ddf0f7dc6dee6b40e?size=48&default=wavatar
17.  Q (發表於 2013年1月06日 02:26)
請問如果要查電話發射端及維信的發射點,有辦法查的到嗎?
0d652f303a20168ddf0f7dc6dee6b40e?size=48&default=wavatar
18.  Q (發表於 2013年1月06日 02:26)
請問如果要查電話發射端及維信的發射點,有辦法查的到嗎?
發表回應
謹慎發言,尊重彼此。按此展開留言規則