人工智能系列:以图搜图,可用于安防人像搜索
图像搜索平台介绍
- 人像高精度搜索:人脸特征提取(使用人脸特征模型提取512维特征)前先做 - 人脸检测,人脸关键点提取,人脸对齐
主要特性
- 底层使用特征向量相似度搜索
- 单台服务器十亿级数据的毫秒级搜索
- 近实时搜索,支持分布式部署
- 随时对数据进行插入、删除、搜索、更新等操作
- 支持在线用户管理与服务器性能监控,支持限制单用户登录
系统功能
- 搜索管理:提供通用图像搜索,人像搜索,图像信息查看
- 存储管理:提供图像压缩包(zip格式)上传,人像特征提取,通用特征提取
- 用户管理:提供用户的相关配置,新增用户后,默认密码为123456
- 角色管理:对权限与菜单进行分配,可根据部门设置角色的数据权限
- 菜单管理:已实现菜单动态路由,后端可配置化,支持多级菜单
- 部门管理:可配置系统组织架构,树形表格展示
- 岗位管理:配置各个部门的职位
- 字典管理:可维护常用一些固定的数据,如:状态,性别等
- 系统日志:记录用户操作日志与异常日志,方便开发人员定位排错
- SQL监控:采用druid 监控数据库访问性能,默认用户名admin,密码123456
- 定时任务:整合Quartz做定时任务,加入任务日志,任务运行情况一目了然
- 服务监控:监控服务器的负载情况
1. 前端部署
nginx部署运行:
cd /usr/local/etc/nginx/
vi /usr/local/etc/nginx/nginx.conf
# 编辑nginx.confserver {listen 8080;server_name localhost;location / {root /Users/calvin/Documents/image_search/dist/;index index.html index.htm;}location /aias {alias /Users/calvin/Documents/image_root/; (请更新成你的文件路径,用于存放上传的图片及显示使用)index index.html index.html;}......# 重新加载配置:
sudo nginx -s reload # 部署应用后,重启:
cd /usr/local/Cellar/nginx/1.19.6/bin# 快速停止
sudo nginx -s stop# 启动
sudo nginx
2. 后端jar部署
2.1 环境要求:
- 系统JDK 1.8+
- 需要安装redis
- 需要安装MySQL数据库
2.2 编辑环境配置信息
windows环境里可以使用7-zip直接对jar包中的配置文件进行编辑。
- application-dev.yml
1). 根据需要编辑数据库名称image-search,用户名,密码
url: jdbc:log4jdbc:mysql://${DB_HOST:localhost}:${DB_PORT:3306}/${DB_NAME:image-search}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=trueusername: ${DB_USER:root}password: ${DB_PWD:??????}
2). 根据需要编辑图片上传根路径imageRootPath(需配置到nginx)
# 文件存储路径
file:mac:...imageRootPath: ~/file/image_root/ #图片文件根目录linux:....imageRootPath: /home/aias/file/image_root/ #图片文件根目录
- application.yml
1). 根据需要编辑redis连接信息
redis:#数据库索引database: ${REDIS_DB:0}host: ${REDIS_HOST:127.0.0.1}port: ${REDIS_PORT:6379}password: ${REDIS_PWD:}#连接超时时间timeout: 5000
2). 根据需要编辑图片baseurl
image:#baseurl是图片的地址前缀,根据需要将127.0.0.1换成nginx所在服务器的ip地址baseurl: http://127.0.0.1:8080/aias/
3. 后端向量引擎部署(Milvus 2.0)
3.1 环境要求:
- 需要安装docker运行环境,Mac环境可以使用Docker Desktop
3.2 拉取Milvus向量引擎镜像(用于计算特征值向量相似度)
下载 milvus-standalone-docker-compose.yml 配置文件并保存为 docker-compose.yml
单机版安装文档
最新版本请参考官网
- Milvus向量引擎参考链接
Milvus向量引擎官网
Milvus向量引擎Github
wget https://github.com/milvus-io/milvus/releases/download/v2.0.0/milvus-standalone-docker-compose.yml -O docker-compose.yml
3.3 启动 Docker 容器
sudo docker-compose up -d
3.4 编辑向量引擎连接配置信息
- application.yml
- 根据需要编辑向量引擎连接ip地址127.0.0.1为容器所在的主机ip
##################### 向量引擎 ###############################
search:host: 127.0.0.1port: 19530indexFileSize: 1024 # maximum size (in MB) of each index filenprobe: 256nlist: 16384dimension: 512 #dimension of each vectorcollectionName: faces #collection name
4. 打开浏览器
- 输入地址: http://localhost:8080
人像搜索
图片上传
1). 点击上传按钮上传zip压缩包.
2). 点击提取人脸特征按钮.
3). 刷新页面:可以看到"状态"列,如:45/100 的特征提取进度.
5. 帮助信息
- 接口文档:
点击菜单:系统工具-接口文档
- 重置Milvus向量引擎(清空数据):
me.calvin.modules.search.tools.MilvusInit.java
Github地址:
Github链接
Gitee链接
人工智能系列:以图搜图,可用于安防人像搜索相关推荐
- 人工智能AI - 以图搜图产品
网站首页 以图搜图产品 主要特性 底层使用特征向量相似度搜索 单台服务器十亿级数据的毫秒级搜索 近实时搜索,支持分布式部署 随时对数据进行插入.删除.搜索.更新等操作 支持在线用户管理与服务器性能监控 ...
- 人工智能AI系列 - 以图搜图,以文搜图,以图搜文的跨模态搜索
目录: http://aias.top/ 图像&文本的跨模态相似性比对检索[支持40种语言] 本例子提供了通过文本搜图片的能力展示(模型本身当然也支持图片搜文字,或者混合搜索). 主要特性 底 ...
- 基于 Milvus 的以图搜图系统 2.0
Milvus 以图搜图 1.0 版本自发布以来便受到广大用户的欢迎.近日,Zilliz 推出了 Milvus 以图搜图系统 2.0 版.本文将介绍 Milvus 以图搜图系统 2.0 版的主要更新内容 ...
- ES 如何实现向量搜索【以图搜图/语义搜索】
ES 如何实现向量搜索 在 ES 的使用过程中,通过设置分词器可以灵活地按照文本字面实现搜索和查询.但是在某些场景下,向量搜索非常有必要,比如 CV 方面的以图搜图和 NLP 领域的语义搜索.较新的 ...
- 【Milvus的以图搜图】
0. 介绍 Milvus官方在bootcamp项目中给开发者提供多种解决方案,包含常见的以图搜图.人脸检索.DNA相似性检索.视频检索等等,具体可以参考bootcamp项目. 本文主要就bootcam ...
- 搭建自己的以图搜图系统(二):深入优化搭建生产级别的图搜系统
概述 本文是"搭建自己的以图搜图系统"系列的第二篇,在第一篇内容中我们了解了如何利用"机器学习框架 Towhee ¹"和"向量数据库 Milvus ² ...
- 使用AnalyticDB轻松实现以图搜图和人脸检索
1. 背景 以图搜图在生活中有着广泛的应用, 当我们在电视上看到有人穿着一件美丽的裙子或者帅气的球鞋也想拥有时, 我们可以拍张照片然后打开淘宝然后上传照片就可以快速的找到这个商品. 我们看到一张电影截 ...
- 无法检索数据和目标数据的列信息_使用AnalyticDB轻松实现以图搜图和人脸检索...
1. 背景 以图搜图在生活中有着广泛的应用, 当我们在电视上看到有人穿着一件美丽的裙子或者帅气的球鞋也想拥有时, 我们可以拍张照片然后打开淘宝然后上传照片就可以快速的找到这个商品. 我们看到一张电影截 ...
- 以图搜图/图像检索相关资料
基于内容的图片检索( Content Based Image Retrieval, CBIR ),也有人称之为以图搜图,是一个很老的研究领域,它是利用机器学习.模式识别.计算机视觉等相关技术对图片的内 ...
最新文章
- 算法心经.数学的应用.微分的应用
- 开发实践 | 使用Android开发TCP、UDP客户端(代码类)
- wxWidgets:wxListBox类用法
- 不是linux内核的国产系统,国产操作系统都是山寨Windows的?为何用Linux内核?
- DataURL:实现原理及优缺点分析
- IE10,IE9透明元素无法点击
- 三维重建12:室内三维物体的位姿识别论文列表
- linkedblockingqueue 后 take 不消化_消化不良的成因及护理
- WEB安全基础-WEB通信
- python网络爬虫_Python即时网络爬虫:API说明
- 应用随机过程张波商豪_学术简报五相逆变器非正弦双随机空间矢量脉宽调制策略...
- 静态配置_配置静态LSP示例
- LADRC的学习——用simulink搭建仿真模型
- Apache JMeter 5.1.1 发布,压力测试工具
- Hadoop集群搭建及测试
- 如何激活微信里沉睡的客户?
- vim学习笔记-tags用法
- 无效虚假询盘,如何避免上当?
- git push时 please tell me who you are 或 git fatal: empty ident name (for <>) not llowed
- html表格标题标签_HTML标题标签
热门文章
- win10同步服务器文件夹在哪里找,Win10 iTunes备份文件在什么位置|win10 itunes备份文件如何查看...
- H5定位考勤打卡功能实现
- 什么是网关?网关基础知识介绍
- Markdown查看器-typora
- 关于unique函数
- 复制Web项目,修改项目名称出现context root相同问题解决
- MFC图片控件PictrueControl用法
- 简单评测一个SM2259XT2+闪迪BICS5的1TB固态盘,附开卡软件下载地址
- 万字长文解读:企业如何做好数字化转型
- 经典爱情短信语句(泡MM专用版1.0)