【轉(zhuǎn)載】相似圖片搜索的原理(二)

http://www.ruanyifeng.com/blog/2011/07/principle_of_similar_image_search.html


二年前浸须,我寫了《相似圖片搜索的原理》,介紹了一種最簡單的實(shí)現(xiàn)方法努酸。

昨天,我在isnowfy的網(wǎng)站看到说铃,還有其他兩種方法也很簡單鲫售,這里做一些筆記。


一橱鹏、顏色分布法

每張圖片都可以生成顏色分布的直方圖(color histogram)。如果兩張圖片的直方圖很接近堪藐,就可以認(rèn)為它們很相似莉兰。

任何一種顏色都是由紅綠藍(lán)三原色(RGB)構(gòu)成的,所以上圖共有4張直方圖(三原色直方圖 + 最后合成的直方圖)礁竞。

如果每種原色都可以取256個(gè)值糖荒,那么整個(gè)顏色空間共有1600萬種顏色(256的三次方)。針對(duì)這1600萬種顏色比較直方圖模捂,計(jì)算量實(shí)在太大了捶朵,因此需要采用簡化方法》闵穑可以將0~255分成四個(gè)區(qū):0~63為第0區(qū)泉孩,64~127為第1區(qū)硼端,128~191為第2區(qū)并淋,192~255為第3區(qū)。這意味著紅綠藍(lán)分別有4個(gè)區(qū)珍昨,總共可以構(gòu)成64種組合(4的3次方)县耽。

任何一種顏色必然屬于這64種組合中的一種句喷,這樣就可以統(tǒng)計(jì)每一種組合包含的像素?cái)?shù)量。

上圖是某張圖片的顏色分布表兔毙,將表中最后一欄提取出來唾琼,組成一個(gè)64維向量(7414, 230, 0, 0, 8, ..., 109, 0, 0, 3415, 53929)。這個(gè)向量就是這張圖片的特征值或者叫"指紋"澎剥。

于是锡溯,尋找相似圖片就變成了找出與其最相似的向量。這可以用皮爾遜相關(guān)系數(shù)或者余弦相似度算出哑姚。

二祭饭、內(nèi)容特征法

除了顏色構(gòu)成,還可以從比較圖片內(nèi)容的相似性入手叙量。

首先倡蝙,將原圖轉(zhuǎn)成一張較小的灰度圖片,假定為50x50像素绞佩。然后寺鸥,確定一個(gè)閾值,將灰度圖片轉(zhuǎn)成黑白圖片品山。





如果兩張圖片很相似胆建,它們的黑白輪廓應(yīng)該是相近的。于是肘交,問題就變成了眼坏,第一步如何確定一個(gè)合理的閾值,正確呈現(xiàn)照片中的輪廓酸些?

顯然宰译,前景色與背景色反差越大,輪廓就越明顯魄懂。這意味著沿侈,如果我們找到一個(gè)值,可以使得前景色和背景色各自的"類內(nèi)差異最小"(minimizing the intra-class variance)市栗,或者"類間差異最大"(maximizing the inter-class variance)缀拭,那么這個(gè)值就是理想的閾值。

1979年填帽,日本學(xué)者大津展之證明了蛛淋,"類內(nèi)差異最小"與"類間差異最大"是同一件事,即對(duì)應(yīng)同一個(gè)閾值篡腌。他提出一種簡單的算法褐荷,可以求出這個(gè)閾值,這被稱為"大津法"(Otsu's method)嘹悼。下面就是他的計(jì)算方法叛甫。

假定一張圖片共有n個(gè)像素层宫,其中灰度值小于閾值的像素為 n1 個(gè),大于等于閾值的像素為 n2 個(gè)( n1 + n2 = n )其监。w1 和 w2 表示這兩種像素各自的比重萌腿。

  w1 = n1 / n

  w2 = n2 / n

再假定,所有灰度值小于閾值的像素的平均值和方差分別為 μ1 和 σ1抖苦,所有灰度值大于等于閾值的像素的平均值和方差分別為 μ2 和 σ2毁菱。于是,可以得到

  類內(nèi)差異 = w1(σ1的平方) + w2(σ2的平方)

  類間差異 = w1w2(μ1-μ2)^2

可以證明锌历,這兩個(gè)式子是等價(jià)的:得到"類內(nèi)差異"的最小值鼎俘,等同于得到"類間差異"的最大值。不過辩涝,從計(jì)算難度看贸伐,后者的計(jì)算要容易一些。

下一步用"窮舉法"怔揩,將閾值從灰度的最低值到最高值捉邢,依次取一遍,分別代入上面的算式商膊。使得"類內(nèi)差異最小"或"類間差異最大"的那個(gè)值伏伐,就是最終的閾值。具體的實(shí)例和Java算法晕拆,請(qǐng)看這里藐翎。

有了50x50像素的黑白縮略圖,就等于有了一個(gè)50x50的0-1矩陣实幕。矩陣的每個(gè)值對(duì)應(yīng)原圖的一個(gè)像素吝镣,0表示黑色,1表示白色昆庇。這個(gè)矩陣就是一張圖片的特征矩陣末贾。

兩個(gè)特征矩陣的不同之處越少,就代表兩張圖片越相似整吆。這可以用"異或運(yùn)算"實(shí)現(xiàn)(即兩個(gè)值之中只有一個(gè)為1拱撵,則運(yùn)算結(jié)果為1,否則運(yùn)算結(jié)果為0)表蝙。對(duì)不同圖片的特征矩陣進(jìn)行"異或運(yùn)算"拴测,結(jié)果中的1越少,就是越相似的圖片府蛇。

(完)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末集索,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌抄谐,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,183評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件扰法,死亡現(xiàn)場離奇詭異蛹含,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)塞颁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門浦箱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人祠锣,你說我怎么就攤上這事酷窥。” “怎么了伴网?”我有些...
    開封第一講書人閱讀 168,766評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵蓬推,是天一觀的道長。 經(jīng)常有香客問我澡腾,道長沸伏,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,854評(píng)論 1 299
  • 正文 為了忘掉前任动分,我火速辦了婚禮毅糟,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘澜公。我一直安慰自己姆另,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評(píng)論 6 398
  • 文/花漫 我一把揭開白布坟乾。 她就那樣靜靜地躺著迹辐,像睡著了一般。 火紅的嫁衣襯著肌膚如雪甚侣。 梳的紋絲不亂的頭發(fā)上右核,一...
    開封第一講書人閱讀 52,457評(píng)論 1 311
  • 那天,我揣著相機(jī)與錄音渺绒,去河邊找鬼贺喝。 笑死,一個(gè)胖子當(dāng)著我的面吹牛宗兼,可吹牛的內(nèi)容都是我干的躏鱼。 我是一名探鬼主播,決...
    沈念sama閱讀 40,999評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼殷绍,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼染苛!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,914評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤茶行,失蹤者是張志新(化名)和其女友劉穎躯概,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體畔师,經(jīng)...
    沈念sama閱讀 46,465評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡娶靡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了看锉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片姿锭。...
    茶點(diǎn)故事閱讀 40,675評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖伯铣,靈堂內(nèi)的尸體忽然破棺而出呻此,到底是詐尸還是另有隱情,我是刑警寧澤腔寡,帶...
    沈念sama閱讀 36,354評(píng)論 5 351
  • 正文 年R本政府宣布焚鲜,位于F島的核電站,受9級(jí)特大地震影響放前,放射性物質(zhì)發(fā)生泄漏恃泪。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評(píng)論 3 335
  • 文/蒙蒙 一犀斋、第九天 我趴在偏房一處隱蔽的房頂上張望贝乎。 院中可真熱鬧,春花似錦叽粹、人聲如沸览效。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽锤灿。三九已至,卻和暖如春辆脸,著一層夾襖步出監(jiān)牢的瞬間但校,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評(píng)論 1 274
  • 我被黑心中介騙來泰國打工啡氢, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留状囱,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,091評(píng)論 3 378
  • 正文 我出身青樓倘是,卻偏偏與公主長得像亭枷,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子搀崭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評(píng)論 2 360

推薦閱讀更多精彩內(nèi)容

  • 姓名:尤學(xué)強(qiáng) 學(xué)號(hào):17101223374 轉(zhuǎn)載自:http://mp.weixin.qq.com/s/pD7G4...
    51fb659a6d6f閱讀 706評(píng)論 0 0
  • 2011年叨粘,Google把“相似圖片搜索”正式放上了首頁。你可以用一張圖片,搜索互聯(lián)網(wǎng)上所有與它相似的圖片升敲。點(diǎn)擊搜...
    余平的余_余平的平閱讀 1,954評(píng)論 0 7
  • 原文地址:http//www.ruanyifeng.com/blog/2013/03/similar_image_...
    融化的冰閱讀 682評(píng)論 1 4
  • 放棄OR堅(jiān)持答倡,這是個(gè)哲學(xué)問題…… 最近聽了一個(gè)TED的演講,題目是《堅(jiān)毅驴党,通往成功的關(guān)鍵》瘪撇。演講的內(nèi)容我總結(jié)如下:...
    何池蔭閱讀 429評(píng)論 0 4
  • 馬上就要進(jìn)入2017年了,祝各位親元旦快樂鼻弧,年年有余设江,歲歲平安锦茁! 一七令.年 年 母念攘轩,兒還 春聯(lián)掛,彩燈懸 ...
    簡書作者木瓜閱讀 261評(píng)論 19 9