以图搜图算法java_以图搜图系统概述及⼯程实践(上)
以图搜图系统概述
以图搜图指的是根据图像内容搜索出相似内容的图像。
构建⼀个以图搜图系统需要解决两个最关键的问题:⾸先,提取图像特征;其次,特征数据搜索引擎,即特征数据构建成数据库并提供相似
性搜索的功能。
图像特征表⽰
介绍三种⽅式。
图像哈希
图像通过⼀系列的变换和处理最终得到的⼀组哈希值称之为图像的哈希值,⽽中间的变换和处理过水草种子 程则称之为哈希算法。
图像的哈希值是对这张图像的整体抽象表⽰。
⽐如AverageHash算法的计算过程:
size:将原图压缩到8x8即64像素⼤⼩,忽略细节。
color:灰度处理得到64级灰度图像。
ethecolors:计算64级灰度均值。
ethebits:⼆矮牵牛 值化处理,将每个像素与上⼀步均值⽐较并分别记为0或者1。
uctthehash:根据上⼀步结果矩阵构成⼀个64bit整数,⽐如按照从左到右、从上到下的顺序。最后得到的就是图像的均
值哈希值。
图像哈希算法有很多种,包含但不限于:
AverageHash:也叫Dif关于我爸 ferentH金莲花软胶囊 ash
PHash:Perceptual
MarrHildrethHash:Marr-HildrethOperatorBadHash
RadialVarianceHash:ImagehashbadonRadontransform
Bl樱桃种苗 ockMeanHash:Imagehashbadonblockmean
ColorMomentHash:Imagehashbadoncolormoments
我们最常见可能就是PHash。
图像哈希可以对抗⼀定程度的⽔印、压缩、噪声等影响,即通过对⽐图像哈希值的Hammingdistance(汉明距离)可以判断两幅图像的
内容是否相似。
图像的哈希值是对这张图像的整体抽象表⽰,局限性也很明显,由于是对图像整体进⾏的处理,⼀旦我们对整体性进⾏了破坏,⽐如在原图
加⼀个⿊边就⼏乎⽆法判断相似性了。
传统特征
在计算机视觉领域早期,创造了很多经典的特征算法,⽐如SIFT
如上图所⽰,通过SIFT算法提取出来的⼀系列的特征点。
⼀幅束缚带 图像提取出来的特征点有多个,且每⼀个特征点都是⼀个多维的局部向量,为了进⾏相似性计算,通常需要先将这⼀系列特征点融合编
码为⼀个全局特征,也就是局部特征向量融合编码为⼀个全局特征向量(⽤这个全局特征向量表⽰⼀幅图像),融合编码相关的算法包括但
不限于:
BOW
Fishervector
VLAD
CNN特征
⼈⼯智能兴起之后,基于CNN卷积神经⽹络提取图像特征越来越主流。
搜索引擎
由于将图像转换为了特征向量,因此搜索引擎所要做的就是其实就是向量检索。
更多具体的实践内容,请期待下⼀篇请期待下⼀篇
本文发布于:2023-03-23 10:26:58,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/1679538421355007.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:搜图.doc
本文 PDF 下载地址:搜图.pdf
留言与评论(共有 0 条评论) |