Milvus 能够帮助用户轻松应对海量非结构化数据(图片/视频/语音/文本)检索。单节点 Milvus 可以在秒内完成十亿级的向量搜索,分布式架构亦能满足用户的水平扩展需求。

在 Ubuntu/CentOS 上使用docker安装 Milvus

1.docker info,确定docker已经安装

2.拉取 Milvus 镜像(拉取仅需 CPU 的镜像)

docker pull milvusdb/milvus:0.9.1-cpu-d052920-e04ed5

3.下载配置文件

mkdir -p /home/$USER/milvus/conf

cd /home/$USER/milvus/conf

wget https://raw.githubusercontent.com/milvus-io/milvus/v0.9.1/core/conf/demo/server_config.yaml

注意:万一你遇到无法通过 wget 命令正常下载配置文件的情况,你也可以在 /home/$USER/milvus/conf 路径下创建 server_config.yaml 文件,然后复制粘贴 server config 文件 的内容。

4.启动 Milvus Docker 容器

sudo docker run -d --name milvus_cpu_0.9.1 \
-p 19530:19530 \
-p 19121:19121 \
-v /home/$USER/milvus/db:/var/lib/milvus/db \
-v /home/$USER/milvus/conf:/var/lib/milvus/conf \
-v /home/$USER/milvus/logs:/var/lib/milvus/logs \
-v /home/$USER/milvus/wal:/var/lib/milvus/wal \
milvusdb/milvus:0.9.1-cpu-d052920-e04ed5

使用Milvus实现以图搜图

项目代码:https://github.com/zgd716/search_image

项目运行流程:

一、图片预处理:

准备搜索的图片库

提取图片库全部图片的特征值

将特征值存入milvus和图片地址持久化(存入数据库)

二、用户上传图片:

将图片保存服务器

提取该图片的特征值

运用欧式距离算法与图片库特征值,进行相似度计算,展示相似度最高的top k 张图片

前置条件环境配置完毕、milvus安装完毕且开启。

1.python ImageTrain.py,提取特征,存放到milvus中

2.运行manage.py,测试以图搜图功能