【问题标题】:Possible to store images in Elasticsearch?可以在 Elasticsearch 中存储图像吗?
【发布时间】:2019-07-04 21:20:57
【问题描述】:

是否可以在 Elasticsearch 集群中存储图像?如果是,那么是否有关于工作流程的资源?我检查了以下链接:https://github.com/kzwang/elasticsearch-image

由于我们必须处理大型图像文件(超过 500GB),我们计划使用 HDFS。

【问题讨论】:

    标签: elasticsearch lucene hdfs


    【解决方案1】:

    将整个图像存储在 Elasticsearch 中并不是很有用,因为如果图像被缩放/裁剪然后用作查询,它​​会给出不正确的结果。您需要什么取决于您为什么要为这些图像编制索引。

    在我的情况下,我需要查找经过一些缩放或裁剪后的图像是否在我的数据库中具有紧密匹配。我正在提取图像的本地描述符 (SIFT/SURF) 并使用它们来构建 Elasticsearch 索引。这将减少图像索引大小,因为不是存储整个图像,而是仅存储几个特征。我现在将所有这些图像存储在 S3 上,Elasticsearch 将存储这些图像的 id 以及从中提取的特征。

    关于 elasticsearch-image:这个插件已经有一段时间没有更新了,最近对问题的回复来自去年。该插件将LIRE 与 Elasticsearch 集成在一起,其中 LIRE 提供了多图像指纹提取器的功能。

    可能的解决方案:

    1. 集成库 OpenCv (to compute feature vectors for an image) 和 Elasticsearch,并使用这些图像功能构建您自己的索引,而不是存储整个图像。对于产品架构,大家可以得到一些提示here

    2. 使用旧版本的 Elasticsearch 和兼容版本的 elasticsearch-image。

    3. 升级 elasticsearch-image 以使用最新版本的 Elasticsearch。

    4. 您还可以使用 SOLR 和 LireSolr 插件与 LireSolr 库集成。

    更新:- 这是图像检索任务的更新,您需要搜索接近的图像匹配。我建议您通过此链接https://paperswithcode.com/task/image-retrieval。最好的解决方案 - Deep Local Features 已经集成在 tensorflow 中。

    【讨论】:

    • 感谢您的回答。我正在创建类似于您所描述的内容,但我发现很难计算查询图像描述符向量与索引图像的描述符向量之间的距离。你是怎么做到的?
    • @MedAli:您好,已经很久了,由于离开了以前的组织,我无法访问我的工作。您能否提供一些有关您使用什么框架让我正确回复的信息?在我的脑海中,我确实构建了一个带有 flann 索引的原型(opencv 和开源 flann 库都支持)用于查询特性,基于 cs.ubc.ca/research/flann/#publications。需要使用类似 ES/SOLR 的技术来解决可扩展性等生产问题,但在我的初步设置后不得不停止。真诚的。
    猜你喜欢
    • 2011-09-22
    • 1970-01-01
    • 1970-01-01
    • 2021-10-27
    • 2021-08-03
    • 1970-01-01
    • 2023-01-09
    • 1970-01-01
    相关资源
    最近更新 更多