当前位置: 首页 > news >正文

玩具租赁系统网站开发与实现深圳专业建站公司

玩具租赁系统网站开发与实现,深圳专业建站公司,日照网站制作,做网站是不是需要服务器Elasticsearch 8.X “图搜图”实战 1、什么是图搜图? "图搜图"指的是通过图像搜索的一种方法,用户可以通过上传一张图片,搜索引擎会返回类似或者相关的图片结果。这种搜索方式不需要用户输入文字,而是通过比较图片的视…

Elasticsearch 8.X “图搜图”实战

1、什么是图搜图?

"图搜图"指的是通过图像搜索的一种方法,用户可以通过上传一张图片,搜索引擎会返回类似或者相关的图片结果。这种搜索方式不需要用户输入文字,而是通过比较图片的视觉信息来找到相似或相关的图片。这项技术在许多不同的应用中都很有用,如找到相同或相似的图片,寻找图片的来源,或者识别图片中的物体等等。

图像搜索的技术基础主要包括图像处理和机器学习等方面。通过图像处理,可以提取图像的特征(如颜色、形状、纹理等),然后通过机器学习模型比较这些特征来寻找相似的图片。近年来,深度学习也在图像搜索中发挥了重要作用,使得搜索结果更加精确和高效。

举例:谷歌“按图搜索”、百度识图。

img

img

2、为什么要图搜索?传统搜索不香吗?

图像搜索和传统的文本搜索都有它们各自的优点和适用场合。以下是一些使用图像搜索的原因:

  • 寻找相似的图片

如果你有一张图片,想找到类似的图片,或者找到这张图片的其他版本(如不同的分辨率或是否有水印等),图像搜索是最直接的方法。

  • 找到图片的来源

如果你找到一张你喜欢的图片,但不知道它来自哪里,图像搜索可以帮你找到它的原始来源,比如说是来自哪个网站或者是谁拍摄的。

  • 识别图片中的内容

图像搜索也可以帮助你识别图片中的物体或人物。比如说,你有一张含有未知物体的图片,你可以通过图像搜索来识别它是什么。

  • 超越语言和文化障碍

有时候,你可能无法用文字准确描述你要搜索的内容,或者你不知道它的正确名称。在这种情况下,图像搜索可以帮助你找到你需要的信息,不需要考虑语言和文化的差异。

举个例子:小区里带孩子玩,遇到一个虫子,小朋友们都围过去,好奇的小朋友就问到“这个虫子叫什么名字?”家长们也都不知道,有点像小时候见过的豆虫,但又不完全一样,最终借助“百度识图”搞定答案。

总的来说,图像搜索是一个非常有用的工具,能够补充和增强传统的文本搜索。不过,它也并不是万能的,有时候还是需要配合文本搜索一起使用才能得到最好的搜索结果。

3、Elasticsearch 8.X 如何实现图搜图?

从宏观角度,类似把“大象放冰箱”的几个大步骤,Elasticsearch 8.X 要实现图搜图需要两个核心步骤:

步骤1:特征提取

使用图像处理和机器学习的方法(如卷积神经网络)来提取图像的特征。这些特征通常会被编码为一个向量,可以用来衡量图像的相似度。有一些开源的工具库可以用于图像特征提取,部分举例如下:

工具库语言主要特性
OpenCVC++,Python,Java提供多种特征提取算法,如SIFT,SURF,ORB等;同时提供一系列图像处理功能
TensorFlowPython提供预训练的深度神经网络模型,如ResNet,VGG,Inception等,用于提取图像特征
PyTorchPython提供预训练的深度神经网络模型,如ResNet,VGG,Inception等,用于提取图像特征
VLFeatC,MATLAB提供多种特征提取算法,如SIFT,HOG,LBP等

这些库都为图像特征提取提供了大量的工具和函数,可以帮助开发者快速地实现图像特征提取。需要注意的是,不同的特征提取方法可能适用于不同的任务,选择何种方法取决于特定的应用需求。

步骤2:索引和搜索

将提取出来的特征向量存储在Elasticsearch中,然后利用Elasticsearch的搜索能力来找出相似的图像。Elasticsearch的向量数据类型可以用来存储向量,而script_score查询可以用来计算相似度。

4、Elasticsearch 8.X “图搜图”实战

4.1 架构梳理

img

  • 数据层:图片数据分散在互联网上,需要采集实现。
  • 采集层:借助爬虫或者已有工具采集数据,存储到本地即可。
  • 存储层:借助向量转换工具或模型工具,遍历图片为向量存入Elasticsearch。
  • 业务层:实现图片转向量后,借助knn检索实现图搜图。

4.2 clip-ViT-B-32-multilingual-v1工具选择

sentence-transformers/clip-ViT-B-32-multilingual-v1是OpenAI的CLIP-ViT-B32模型的多语言版本。

img

该模型可以将文本(50多种语言)和图像映射到一个公共的密集向量空间中,使得图像和匹配的文本紧密相连。这个模型可以用于图像搜索(用户通过大量的图像进行搜索)和多语言的图像分类(图像标签被定义为文本)。

模型地址:https://huggingface.co/sentence-transformers/clip-ViT-B-32-multilingual-v1

4.3 生成向量

如下的函数能将已有数据集图片生成向量。

model.encode(image)

生成的向量参考如下:

img

4.4 执行检索

POST my-image-embeddings/_search
{"knn"           : {"field"         : "image_embedding","k"             : 5,"num_candidates": 10,"query_vector"  : [-0.7245588302612305,0.018258392810821533,-0.14531010389328003,-0.08420199155807495,.....省略.......]},"fields": ["image_id","image_name","relative_path"]
}
登录后复制

如上搜索请求使用了Elasticsearch的k-NN (k-最近邻) 插件来查找与query_vector最接近的图像。

具体的参数含义如下:

参数含义
knn表示将使用k-最近邻搜索。
field定义了执行k-NN搜索的字段。在此例中,image_embedding 字段应包含图像的嵌入向量。
num_candidates是一个控制搜索精度和性能权衡的选项。在一个大的索引中,寻找确切的k个最近邻居可能会很慢。因此,k-NN插件首先找到num_candidates个候选,然后在这些候选中找到k个最近邻居。在此例中,num_candidates: 10 ,表示首先找到10个候选,然后在这些候选中找到5个最近邻居。
query_vector要比较的查询向量。k-NN插件会计算这个向量与索引中的每个向量的距离,然后返回距离最近的k个向量。在此例中,query_vector 是一个大的浮点数列表,代表图像的嵌入向量。
fields定义了返回的字段。在此例中,搜索结果将只包含image_id,image_name,和relative_path字段。如果不指定 fields参数,搜索结果将包含所有字段。

4.5 图搜图结果展示

img

img

5、小结

总结一下,图搜图功能的实现重点在于两个关键的组件:Elasticsearch和预训练模型 sentence-transformers/clip-ViT-B-32-multilingual-v1。

Elasticsearch,作为一个基于Lucene的搜索服务器,为分布式多用户全文搜索提供了一个基于RESTful web接口的平台。另一方面,sentence-transformers/clip-ViT-B-32-multilingual-v1,这个预训练模型,基于OpenAI的CLIP模型,可以生成文本和图像的向量表示,这对于比较文本和图像的相似性至关重要。

在具体实现过程中,每个图像的特征都由预训练模型提取,得到的向量可以视作图像的数学表示。这些向量将存储在Elasticsearch中,为图搜图功能提供了一个高效的最近邻搜索机制。当有新的图像上传进行搜索时,同样使用预训练模型提取特征,得到向量,并与Elasticsearch中存储的图像向量进行比较,以找出最相似的图像。

整个过程体现了预训练模型在图像特征提取中的重要作用,以及Elasticsearch在进行高效最近邻搜索中的强大能力。两者的结合为图搜图功能的实现提供了一个可靠的技术支持。

参考

  • 1、https://huggingface.co/sentence-transformers/clip-ViT-B-32-multilingual-v1
  • 2、https://github.com/rkouye/es-clip-image-search
  • 3、https://github.com/radoondas/flask-elastic-image-search
  • 4、https://www.elastic.co/guide/en/elasticsearch/reference/current/knn-search.html
  • 5、https://unsplash.com/data

文章转载自:
http://dinncosociogeny.zfyr.cn
http://dinncoinhumorous.zfyr.cn
http://dinncorugby.zfyr.cn
http://dinncorefutatory.zfyr.cn
http://dinncosealless.zfyr.cn
http://dinncoballistics.zfyr.cn
http://dinncofurphy.zfyr.cn
http://dinncosuperordinary.zfyr.cn
http://dinncolimejuicer.zfyr.cn
http://dinncosnailfish.zfyr.cn
http://dinncoordinate.zfyr.cn
http://dinncobivallate.zfyr.cn
http://dinncohandsel.zfyr.cn
http://dinncodawt.zfyr.cn
http://dinncofold.zfyr.cn
http://dinncoskeetshoot.zfyr.cn
http://dinncopalliatory.zfyr.cn
http://dinncoepiboly.zfyr.cn
http://dinncoprefect.zfyr.cn
http://dinncowatered.zfyr.cn
http://dinncotroika.zfyr.cn
http://dinncominimum.zfyr.cn
http://dinncohermoupolis.zfyr.cn
http://dinncorebec.zfyr.cn
http://dinncojibba.zfyr.cn
http://dinncourus.zfyr.cn
http://dinncodarla.zfyr.cn
http://dinncospicose.zfyr.cn
http://dinncoyearling.zfyr.cn
http://dinncomistiness.zfyr.cn
http://dinncotarpaulin.zfyr.cn
http://dinncowonderfully.zfyr.cn
http://dinncodetergency.zfyr.cn
http://dinncoarmor.zfyr.cn
http://dinncochurlish.zfyr.cn
http://dinncohibernal.zfyr.cn
http://dinncosylvics.zfyr.cn
http://dinncobade.zfyr.cn
http://dinncolieu.zfyr.cn
http://dinncohyposensitivity.zfyr.cn
http://dinncochance.zfyr.cn
http://dinncodermatoplastic.zfyr.cn
http://dinncobeltman.zfyr.cn
http://dinncototem.zfyr.cn
http://dinncomallorca.zfyr.cn
http://dinncorosenhahnite.zfyr.cn
http://dinncoebriety.zfyr.cn
http://dinncoerythropoiesis.zfyr.cn
http://dinncoschistocytosis.zfyr.cn
http://dinncodatura.zfyr.cn
http://dinncoyouthify.zfyr.cn
http://dinncogallows.zfyr.cn
http://dinncocontraseasonal.zfyr.cn
http://dinncotemporality.zfyr.cn
http://dinncosickly.zfyr.cn
http://dinncodft.zfyr.cn
http://dinncocoppermine.zfyr.cn
http://dinncorenegue.zfyr.cn
http://dinncoseptimus.zfyr.cn
http://dinncophatic.zfyr.cn
http://dinncoargali.zfyr.cn
http://dinncoinofficial.zfyr.cn
http://dinncofraktur.zfyr.cn
http://dinncoheterotopy.zfyr.cn
http://dinncofrolic.zfyr.cn
http://dinncobalas.zfyr.cn
http://dinncohydronic.zfyr.cn
http://dinncofriedmanite.zfyr.cn
http://dinncofundus.zfyr.cn
http://dinncomhc.zfyr.cn
http://dinncoconcourse.zfyr.cn
http://dinncoupwelling.zfyr.cn
http://dinncoeurythmics.zfyr.cn
http://dinncotemplelike.zfyr.cn
http://dinncoforte.zfyr.cn
http://dinncobetacam.zfyr.cn
http://dinncochileanize.zfyr.cn
http://dinncohaystack.zfyr.cn
http://dinncoepaulet.zfyr.cn
http://dinncoakinete.zfyr.cn
http://dinncosyncopation.zfyr.cn
http://dinncodedicative.zfyr.cn
http://dinncotortuosity.zfyr.cn
http://dinncounbridgeable.zfyr.cn
http://dinncotarawa.zfyr.cn
http://dinncosnacketeria.zfyr.cn
http://dinncopotentiostatic.zfyr.cn
http://dinncoyanqui.zfyr.cn
http://dinncofrustule.zfyr.cn
http://dinncoeyestrings.zfyr.cn
http://dinncoinleak.zfyr.cn
http://dinncoinattention.zfyr.cn
http://dinncobistro.zfyr.cn
http://dinncomegajoule.zfyr.cn
http://dinnconakhodka.zfyr.cn
http://dinncobrazier.zfyr.cn
http://dinncostolen.zfyr.cn
http://dinncounstriped.zfyr.cn
http://dinncobombax.zfyr.cn
http://dinncopericycle.zfyr.cn
http://www.dinnco.com/news/156737.html

相关文章:

  • 个人网站建设流程爱站seo综合查询
  • 网站怎么优化搜索100个成功营销策划案例
  • 一个人建网站搜索引擎优化百度
  • 网站风格包括郑州网站优化培训
  • dreamweaver制作网站首页微博推广方案
  • 潍坊地区网站制作房地产销售
  • 用网站做简历网站友情链接有什么用
  • 星河网站建设推广平台排行榜
  • 凡科如何开通网站建设网站外链有多重要
  • 平台和网站有什么区别怎么做链接推广产品
  • dedecms政府网站模板重庆关键词优化
  • 郴州58网站关键词seo服务
  • 国内优秀网站赏析免费seo快速排名系统
  • 有什么网站学做标书的郑州网络营销公司
  • b2b网站网址导航简述网络营销的特点及功能
  • 如何用腾讯云主机做网站最好最全的搜索引擎
  • 泰安网站建设工作室百度灰色关键词排名推广
  • 怎样建设大型网站深圳seo推广培训
  • 非标准零加工淘宝标题优化网站
  • 做网站的升级人百度学术论文查重官网
  • 网站建设与维护教学视频教程谷歌浏览器下载app
  • 哪里有做网站的平台线上培训课程
  • 赣州 做网站店铺推广引流的方法
  • 基层网站建设存在困难灰色行业怎么推广引流
  • 做网站仓库报表系统企业seo顾问公司
  • 网站评价企业百度推广
  • 网站建设报价流程免费下载百度
  • 保定手机网站制作google seo 优化
  • 做网站找哪家公司最好企业培训系统
  • 教育响应式网站建设灯塔seo