【发布时间】:2019-07-04 21:20:57
【问题描述】:
是否可以在 Elasticsearch 集群中存储图像?如果是,那么是否有关于工作流程的资源?我检查了以下链接:https://github.com/kzwang/elasticsearch-image
由于我们必须处理大型图像文件(超过 500GB),我们计划使用 HDFS。
【问题讨论】:
标签: elasticsearch lucene hdfs
是否可以在 Elasticsearch 集群中存储图像?如果是,那么是否有关于工作流程的资源?我检查了以下链接:https://github.com/kzwang/elasticsearch-image
由于我们必须处理大型图像文件(超过 500GB),我们计划使用 HDFS。
【问题讨论】:
标签: elasticsearch lucene hdfs
将整个图像存储在 Elasticsearch 中并不是很有用,因为如果图像被缩放/裁剪然后用作查询,它会给出不正确的结果。您需要什么取决于您为什么要为这些图像编制索引。
在我的情况下,我需要查找经过一些缩放或裁剪后的图像是否在我的数据库中具有紧密匹配。我正在提取图像的本地描述符 (SIFT/SURF) 并使用它们来构建 Elasticsearch 索引。这将减少图像索引大小,因为不是存储整个图像,而是仅存储几个特征。我现在将所有这些图像存储在 S3 上,Elasticsearch 将存储这些图像的 id 以及从中提取的特征。
关于 elasticsearch-image:这个插件已经有一段时间没有更新了,最近对问题的回复来自去年。该插件将LIRE 与 Elasticsearch 集成在一起,其中 LIRE 提供了多图像指纹提取器的功能。
可能的解决方案:
集成库 OpenCv (to compute feature vectors for an image) 和 Elasticsearch,并使用这些图像功能构建您自己的索引,而不是存储整个图像。对于产品架构,大家可以得到一些提示here。
使用旧版本的 Elasticsearch 和兼容版本的 elasticsearch-image。
升级 elasticsearch-image 以使用最新版本的 Elasticsearch。
您还可以使用 SOLR 和 LireSolr 插件与 LireSolr 库集成。
更新:- 这是图像检索任务的更新,您需要搜索接近的图像匹配。我建议您通过此链接https://paperswithcode.com/task/image-retrieval。最好的解决方案 - Deep Local Features 已经集成在 tensorflow 中。
【讨论】: