精准猎取科技资讯,天堂视频在线观看,高效阅读科技新闻_黄色av网站在线免费观看_科技猎

相似圖片搜索的原理 | 互聯(lián)網(wǎng)的那點事

我是創(chuàng)始人李巖:很抱歉!給自己產(chǎn)品做個廣告,點擊進來看看。  

摘要: 上個月,google把“相似圖片搜索”正式放上了首頁。 你可以用一張圖片,搜索互聯(lián)網(wǎng)上所有與它相似的圖片。點擊搜索框中照相機的圖標。 一個對話框會出現(xiàn)。 你輸入網(wǎng)片的網(wǎng)址,或者直接上傳圖片,google就會找出與其相似的圖片。下面這...

上個月,google把“相似圖片搜索”正式放上了首頁。

你可以用一張圖片,搜索互聯(lián)網(wǎng)上所有與它相似的圖片。點擊搜索框中照相機的圖標。

一個對話框會出現(xiàn)。

你輸入網(wǎng)片的網(wǎng)址,或者直接上傳圖片,google就會找出與其相似的圖片。下面這張圖片是美國女演員alyson hannigan。

上傳后,google返回如下結(jié)果:

類似的”相似圖片搜索引擎”還有不少,tineye甚至可以找出照片的拍攝背景。

==========================================================

這種技術(shù)的原理是什么?計算機怎么知道兩張圖片相似呢?

根據(jù)neal krawetz博士的解釋,原理非常簡單易懂。我們可以用一個快速算法,就達到基本的效果。

這里的關(guān)鍵技術(shù)叫做”感知哈希算法”(perceptual hash algorithm),它的作用是對每張圖片生成一個”指紋”(fingerprint)字符串,然后比較不同圖片的指紋。結(jié)果越接近,就說明圖片越相似。

下面是一個最簡單的實現(xiàn):

第一步,縮小尺寸。

將圖片縮小到8×8的尺寸,總共64個像素。這一步的作用是去除圖片的細節(jié),只保留結(jié)構(gòu)、明暗等基本信息,摒棄不同尺寸、比例帶來的圖片差異。

第二步,簡化色彩。

將縮小后的圖片,轉(zhuǎn)為64級灰度。也就是說,所有像素點總共只有64種顏色。

第三步,計算平均值。

計算所有64個像素的灰度平均值。

第四步,比較像素的灰度。

將每個像素的灰度,與平均值進行比較。大于或等于平均值,記為1;小于平均值,記為0。

第五步,計算哈希值。

將上一步的比較結(jié)果,組合在一起,就構(gòu)成了一個64位的整數(shù),這就是這張圖片的指紋。組合的次序并不重要,只要保證所有圖片都采用同樣次序就行了。

=? = 8f373714acfcf4d0

得到指紋以后,就可以對比不同的圖片,看看64位中有多少位是不一樣的。在理論上,這等同于計算“漢明距離”(hamming distance)。如果不相同的數(shù)據(jù)位不超過5,就說明兩張圖片很相似;如果大于10,就說明這是兩張不同的圖片。

具體的代碼實現(xiàn),可以參見wote用python語言寫的imghash.py。代碼很短,只有53行。使用的時候,第一個參數(shù)是基準圖片,第二個參數(shù)是用來比較的其他圖片所在的目錄,返回結(jié)果是兩張圖片之間不相同的數(shù)據(jù)位數(shù)量(漢明距離)。

這種算法的優(yōu)點是簡單快速,不受圖片大小縮放的影響,缺點是圖片的內(nèi)容不能變更。如果在圖片上加幾個文字,它就認不出來了。所以,它的最佳用途是根據(jù)縮略圖,找出原圖。

實際應(yīng)用中,往往采用更強大的phash算法和sift算法,它們能夠識別圖片的變形。只要變形程度不超過25%,它們就能匹配原圖。這些算法雖然更復(fù)雜,但是原理與上面的簡便算法是一樣的,就是先將圖片轉(zhuǎn)化成hash字符串,然后再進行比較。

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

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

一、顏色分布法

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

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

如果每種原色都可以取256個值,那么整個顏色空間共有1600萬種顏色(256的三次方)。針對這1600萬種顏色比較直方圖,計算量實在太大了,因此需要采用簡化方法??梢詫?~255分成四個區(qū):0~63為第0區(qū),64~127為第1區(qū),128~191為第2區(qū),192~255為第3區(qū)。這意味著紅綠藍分別有4個區(qū),總共可以構(gòu)成64種組合(4的3次方)。

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

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

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

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

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

首先,將原圖轉(zhuǎn)成一張較小的灰度圖片,假定為50×50像素。然后,確定一個閾值,將灰度圖片轉(zhuǎn)成黑白圖片。

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

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

1979年,日本學者大津展之證明了,”類內(nèi)差異最小”與”類間差異最大”是同一件事,即對應(yīng)同一個閾值。他提出一種簡單的算法,可以求出這個閾值,這被稱為“大津法”(otsu’s method)。下面就是他的計算方法。

假定一張圖片共有n個像素,其中灰度值小于閾值的像素為 n1 個,大于等于閾值的像素為 n2 個( 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

可以證明,這兩個式子是等價的:得到”類內(nèi)差異”的最小值,等同于得到”類間差異”的最大值。不過,從計算難度看,后者的計算要容易一些。

下一步用”窮舉法”,將閾值從灰度的最低值到最高值,依次取一遍,分別代入上面的算式。使得”類內(nèi)差異最小”或”類間差異最大”的那個值,就是最終的閾值。具體的實例和java算法,請看這里。

有了50×50像素的黑白縮略圖,就等于有了一個50×50的0-1矩陣。矩陣的每個值對應(yīng)原圖的一個像素,0表示黑色,1表示白色。這個矩陣就是一張圖片的特征矩陣。

兩個特征矩陣的不同之處越少,就代表兩張圖片越相似。這可以用”異或運算”實現(xiàn)(即兩個值之中只有一個為1,則運算結(jié)果為1,否則運算結(jié)果為0)。對不同圖片的特征矩陣進行”異或運算”,結(jié)果中的1越少,就是越相似的圖片。

(完)

文檔信息

  • 版權(quán)聲明:自由轉(zhuǎn)載-非商用-非衍生-保持署名 |?creative commons by-nc-nd 3.0
  • 原文網(wǎng)址:http://www.ruanyifeng.com/blog/2013/03/similar_image_search_part_ii.html
  • 最后修改時間:2013年4月 1日 16:04

&

更多

  • 本文被轉(zhuǎn)載1次

    首發(fā)媒體 互聯(lián)網(wǎng)的那點事 | 轉(zhuǎn)發(fā)媒體

    隨意打賞

    提交建議
    微信掃一掃,分享給好友吧。
    主站蜘蛛池模板: 电子元器件呆滞料_元器件临期库存清仓尾料_尾料优选现货采购处理交易商城 | 浙江宝泉阀门有限公司| 越南专线物流_东莞国际物流_东南亚专线物流_行通物流 | 制丸机,小型中药制丸机,全自动制丸机价格-甘肃恒跃制药设备有限公司 | 期货软件-专业期货分析软件下载-云智赢 | 正压密封性测试仪-静态发色仪-导丝头柔软性测试仪-济南恒品机电技术有限公司 | 车间除尘设备,VOCs废气处理,工业涂装流水线,伸缩式喷漆房,自动喷砂房,沸石转轮浓缩吸附,机器人喷粉线-山东创杰智慧 | 北京网络营销推广_百度SEO搜索引擎优化公司_网站排名优化_谷歌SEO - 北京卓立海创信息技术有限公司 | 天津电机维修|水泵维修-天津晟佳机电设备有限公司 | 飞扬动力官网-广告公司管理软件,广告公司管理系统,喷绘写真条幅制作管理软件,广告公司ERP系统 | 精密五金冲压件_深圳五金冲压厂_钣金加工厂_五金模具加工-诚瑞丰科技股份有限公司 | 电子万能试验机_液压拉力试验机_冲击疲劳试验机_材料试验机厂家-济南众标仪器设备有限公司 | 深圳离婚律师咨询「在线免费」华荣深圳婚姻律师事务所专办离婚纠纷案件 | 德州网站制作 - 网站建设设计 - seo排名优化 -「两山建站」 | Boden齿轮油泵-ketai齿轮泵-yuken油研-无锡新立液压有限公司 | 洁净化验室净化工程_成都实验室装修设计施工_四川华锐净化公司 | 耳模扫描仪-定制耳机设计软件-DLP打印机-asiga打印机-fitshape「飞特西普」 | 天津中都白癜风医院_天津白癜风医院_天津治疗白癜风 | 土壤墒情监测站_土壤墒情监测仪_土壤墒情监测系统_管式土壤墒情站-山东风途物联网 | 不锈钢轴流风机,不锈钢电机-许昌光维防爆电机有限公司(原许昌光维特种电机技术有限公司) | 电磁铁_推拉电磁铁_机械手电磁吸盘电磁铁厂家-广州思德隆电子公司 | 深圳激光打标机_激光打标机_激光焊接机_激光切割机_同体激光打标机-深圳市创想激光科技有限公司 深圳快餐店设计-餐饮设计公司-餐饮空间品牌全案设计-深圳市勤蜂装饰工程 | 北京康百特科技有限公司-分子蒸馏-短程分子蒸馏设备-实验室分子蒸馏设备 | 耐酸碱胶管_耐腐蚀软管总成_化学品输送软管_漯河利通液压科技耐油耐磨喷砂软管|耐腐蚀化学软管 | 全球化工设备网—化工设备,化工机械,制药设备,环保设备的专业网络市场。 | 定制奶茶纸杯_定制豆浆杯_广东纸杯厂_[绿保佳]一家专业生产纸杯碗的厂家 | 整合营销推广|营销网络推广公司|石家庄网站优化推广公司|智营销 好物生环保网、环保论坛 - 环保人的学习交流平台 | 威廉希尔WilliamHill·足球(中国)体育官方网站 | 真空干燥烘箱_鼓风干燥箱 _高低温恒温恒湿试验箱_光照二氧化碳恒温培养箱-上海航佩仪器 | 比亚迪叉车-比亚迪电动叉车堆垛车托盘车仓储叉车价格多少钱报价 磁力去毛刺机_去毛刺磁力抛光机_磁力光饰机_磁力滚抛机_精密金属零件去毛刺机厂家-冠古科技 | 热闷罐-高温罐-钢渣热闷罐-山东鑫泰鑫智能热闷罐厂家 | 机械加工_绞车配件_立式离心机_减速机-洛阳三永机械厂 | 化妆品加工厂-化妆品加工-化妆品代加工-面膜加工-广东欧泉生化科技有限公司 | 实验室隔膜泵-无油防腐蚀隔膜泵-耐腐蚀隔膜真空泵-杭州景程仪器 电杆荷载挠度测试仪-电杆荷载位移-管桩测试仪-北京绿野创能机电设备有限公司 | 南京兰江泵业有限公司-水解酸化池潜水搅拌机-絮凝反应池搅拌机-好氧区潜水推进器 | 闪电优家-卫生间防水补漏_酒店漏水渗水维修_防水堵漏公司 | 立式矫直机_卧式矫直机-无锡金矫机械制造有限公司 | 冷却塔厂家_冷却塔维修_冷却塔改造_凉水塔配件填料公司- 广东康明节能空调有限公司 | 原子吸收设备-国产分光光度计-光谱分光光度计-上海光谱仪器有限公司 | 上海单片机培训|重庆曙海培训分支机构—CortexM3+uC/OS培训班,北京linux培训,Windows驱动开发培训|上海IC版图设计,西安linux培训,北京汽车电子EMC培训,ARM培训,MTK培训,Android培训 | 大立教育官网-一级建造师培训-二级建造师培训-造价工程师-安全工程师-监理工程师考试培训 |