专栏首页Reinvent Data Science基于 Milvus 的以图搜图系统 2.0

基于 Milvus 的以图搜图系统 2.0

Milvus 以图搜图 1.0 版本自发布以来便受到广大用户的欢迎。近日,Zilliz 推出了 Milvus 以图搜图系统 2.0 版。本文将介绍 Milvus 以图搜图系统 2.0 版的主要更新内容。

系统升级

以图搜图系统 2.0 版在 1.0 版的基础上,升级了 Milvus 版本 ,增加了图像目标检测功能,替换了图片识别模型,并增强了在多物体图片检测的能力。

1.1 Milvus 版本升级

搭建 Milvus 以图搜图系统 1.0 版时使用的 Milvus v0.10.0,在 2.0 版中升级为最新发布的 Milvus v1.0.0。Milvus v1.0.0 新增了将日志写入到标准输出 (stdout) 的功能,修复了之前版本中内存泄漏的问题。

详见发版说明:https://www.milvus.io/cn/docs/v1.0.0/release_notes.md

1.2 图像目标检测功能

Milvus 以图搜图 2.0 版增加了图像目标检测功能。本功能中使用了 YOLOv3 增强模型——PaddleDetection。PaddleDetection 进一步提升了图像检测速度和精度,还使用了 Bag of Freebies for Training Object Detection Neural Networks 中提出的图像增强和 label smooth 等优化方法。

1.3 图片识别模型升级

Milvus 以图搜图 2.0 版将图片识别模型从 VGG 替换为 Resnet50。Resnet50 模型训练速度更快,对图片的识别精度也更高。

系统简介

Milvus 以图搜图系统 2.0 的结构如下图所示:

首先,将图片库输入到目标检测模型 YOLOv3 中,检测出库中每一张图片中包含的所有物体,并将检测出的物体分别保存成图片。

然后,将生成的图片输入到图片识别模型 Resnet50 中,转化为向量并存储到 Milvus 中。Milvus 会对每条向量生成 ID 并建立索引。其后将 ID 和对应的原始图片存储路径存储到 CacheDB 数据库中。

最后,输入一张待搜索的图片,依次进行目标检测和图片识别,并将待搜索图片转化为向量。Milvus 会对向量进行相似度计算并检索出相似图片的 ID ,根据 ID 在CacheDB 数据库中查找对应的图像存储路径,最后将检索结果返回给用户。

搭建步骤

请参考 GitHub 项目 搭建 Milvus 以图搜图系统。

(https://github.com/milvus-io/bootcamp/tree/1.0/solutions/image_search2)

3.1 环境安装

在成功安装并启动 Milvus 后,下载 GitHub 项目到本地,安装对应的 Python 环境。

3.2 启动查询服务

安装 Python 环境后,启动查询服务,并验证环境配置是否正确。

注:Milvus 安装后需要修改 config.py 中相对应 Milvus 的参数

App.py 脚本中提供多个 API ,包括 train API 及 search API。

调用 train API 将图片库的路径传入系统中,对图片进行目标检测和图片识别,并将图片向量存储到 Milvus 中。

调用 search API 进行相似图片检索。将图片库进行目标检测、图片识别,然后在 Milvus 中进行相似图片检索,返回相似图片的 ID 和距离。

3.3 启动客户端

启动客户端查看以图搜图系统查询结果:

注:WEBSERVER_IP 为本机的 IP 地址,浏览器打开地址为<本机的 IP :8001>

结果比对

如下图所示,相较于 1.0 版,Milvus 以图搜图 2.0 版提升了多物体检测的能力:

图 1: Milvus 以图搜图 1.0 版本相似度搜索结果

图 2: Milvus 以图搜图 2.0 版本相似度搜索结果

经过多次搜索比对,我们发现如果在图片中仅包含少量物体,使用 Milvus 以图搜图系统 1.0 版本可以满足大多数用户的需求。在图片中包含多个物体的情况下,使用 Milvus 以图搜图系统 2.0 版本比使用 1.0 版本产生的检索结果准确率更高。总而言之,用户可依据自身业务和需求来选择使用 Milvus 以图搜图系统 1.0 版本或 2.0 版本。

想要了解更多 Milvus 的教程和应用场景,可以关注我们的微信公众号或者加入微信群。我们期待与你进一步交流!

About Zilliz

Zilliz 以重新定义数据科学为愿景,致力于打造一家全球领先的开源技术创新公司,并通过开源和云原生解决方案为企业解锁非结构化数据的隐藏价值。

Zilliz 构建了 Milvus 向量相似度搜索引擎,以加快下一代数据平台的发展。Milvus 目前是 LF AI & Data 基金会的孵化阶段项目,能够管理大量非结构化数据集。我们的技术在新药发现、计算机视觉、推荐引擎、聊天机器人等方面具有广泛的应用。

欢迎加入 Milvus 社区

github.com/milvus-io/milvus | 源码

milvus.io | 官网

zhihu.com/org/zilliz-11| 知乎

zilliz.blog.csdn.net | CSDN 博客

space.bilibili.com/478166626 | Bilibili

本文分享自微信公众号 - ZILLIZ(Zilliztech),作者:贾晶晶

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-04-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 拥抱云原生,Milvus v2.0 发布现场回顾 | 附Meetup讲师PPT和视频

    继今年 3 月发布 Milvus 1.0 版本,时隔 3 个月,Milvus 2.0 应云而生。

    Zilliz RDS
  • Milvus实战| 以图搜视频系统

    以图搜视频,顾名思义就是拿一张图片去视频底库里面搜索包含相似镜头的视频。以图搜视频中一个关键的步骤就是视频向量化,视频向量化即在视频中抽取关键帧,对每帧视频进行...

    Zilliz RDS
  • Milvus 2.0 新版本一览:重新定义向量数据库

    2018 年 10 月,我们写下了向量数据库 Milvus 的第一行代码;在历经了 29 个月、19 个版本的迭代与全球 1000 家用户的实践验证后,终于在 ...

    Zilliz RDS
  • Milvus 与 ONNX 格式的多种模型结合应用

    开放神经网络交换(Open Neural Network Exchange,简称 ONNX)是一个开放的生态系统,它提供了基于人工智能模型的一种开源格式。自 2...

    Zilliz RDS
  • Milvus 实战 | 基于 Milvus 的图像查重系统

    由于巨大的利益,论文造假屡见不鲜,在部分国家或地区甚至形成了论文造假的产业链。目前大部分论文查重系统只能检查论文文字,不能检查图片。因此,论文图片查重已然成为了...

    Zilliz RDS
  • Milvus 实战|基于 Milvus 的图文检索系统

    1. 通过 TIRG(Text Image Residual Gating)模型将图片特征和文本特征转化为多模态特征向量。

    Zilliz RDS
  • 基于 Milvus 的钓鱼网站检测

    在海量信息中,不乏非法分子利用网络骗取用户信任并从中获利,钓鱼网站就是其中之一。“钓鱼”网站的网址、网页内容、布局等与真实网站极其相似,没有安全意识的网民容易因...

    Zilliz RDS
  • Milvus开源向量搜索引擎,轻松搭建以图搜图系统

    当您听到“以图搜图”时,是否首先想到了百度、Google 等搜索引擎的以图搜图功能呢?事实上,您完全可以搭建一个属于自己的以图搜图系统:自己建立图片库;自己选择...

    Zilliz RDS
  • AI非结构化数据处理和分析软件公司Zilliz宣布完成4300万美元B轮融资

    “数据猿年度重磅活动预告:2020年度金猿策划活动(金猿榜单发布+金猿奖杯颁发+2.0版产业图谱+落地颁奖大会)即将推出,敬请咨询期待!

    数据猿
  • Milvus 到底有多少种玩法?这份攻略合集请收好!

    Milvus 是一款开源的向量相似度搜索引擎,支持使用多种 AI 模型将非结构化数据向量化,并为向量数据提供搜索服务。Milvus 集成了 Faiss、Anno...

    Zilliz RDS
  • Milvus 实战|利用 Milvus 搭建基于图的推荐系统

    推荐系统[1](Recommender System,RS)能够根据用户的偏好主动为用户推荐商品或项目。它通过用户的历史数据来发掘用户兴趣偏好,从而将用户可能感...

    Zilliz RDS
  • AI 搜房,贝壳找房的Milvus实践

    贝壳作为一家房产服务互联网平台,如何在海量房源中选出能够快速成交的房源是对平台和经纪人来说都是一件非常重要同时具有挑战的事情,但是针对房型图,户型信息等一系列非...

    Zilliz RDS
  • 海量数据中搜索精华价值:Milvus助力头部企业打造前沿AI搜索

    在今天这个大数据无处不在的时代,如何高效精确地对海量数据进行处理和分析,是摆在各行业头部企业与软件开发团队面前的重大挑战。传统的结构化、半结构化数据领域有着较为...

    深度学习与Python
  • 相似视频搜索—Opera 的 Milvus 实践

    Opera 成立于 1995 年,总部位于挪威奥斯陆,是全球领先的浏览器提供商及数字内容发现和推荐平台领域的先驱。20 多年来,数百万名用户通过 Opera 网...

    Zilliz RDS
  • 以图搜图系统概述

    构建一个以图搜图系统需要解决两个最关键的问题:首先,提取图像特征;其次,特征数据搜索引擎,即特征数据构建成数据库并提供相似性搜索的功能。

    凌虚
  • Milvus 分布式向量检索-Mishards架构介绍

    向量搜索引擎 Milvus 旨在帮助用户实现海量非结构化数据的近似检索和分析。单个 Milvus 实例可处理十亿级数据规模,而对于百亿或者千亿规模数据的需求,则...

    Zilliz RDS
  • 基于 Milvus 构建的近似最近邻(ANN)搜索引擎

    根据格像科技公司的业务需求,我们需要搭建一个近似最近邻(Approximate Nearest Neighbor,即 ANN)搜索引擎,以便将在线向量相似搜索功...

    Zilliz RDS
  • 基于 Google Colab 的 Milvus 使用教程

    Milvus 是一款开源的向量相似度搜索引擎,集成了 Faiss、NMSLIB、Annoy 等广泛应用的向量索引库,并提供了一整套简单直观的 API。Milvu...

    Zilliz RDS
  • Milvus 线上问答#14- Milvus 非结构数据服务(UDS)概述

    Milvus 究竟是一个计算平台,还是一个数据库?应用在哪些场景?诸如此类的问题我们的开发者常常在群里被小伙伴问到。这次我们对 Milvus 做了一个简单的概述...

    Zilliz RDS

扫码关注云+社区

领取腾讯云代金券