零基础实战行人重识别ReID项目-基于Milvus的以图搜图

目录

第一阶段,ReID的基本概念

1.1 ReID定义

1.2 技术难点

1.3 常用数据集

1.4 评价指标

1.5 实现思路

1.6 具体方案

第二阶段:复现算法

2.1 PCB的骨干网络

2.2 PCB的流程

2.3 PCB的细节

2.4 PCB-RPP

​2.5 算法复现

第三阶段:工程化落地

3.1 业务逻辑

3.2 Milvus

3.3 以图搜图

3.4 效果展示

加入学习小组


零基础学习ReID,复现主流的ReID算法,并进行工程化落地。

学习目标:掌握ReID的算法原理、实现方案,动手搭建网络模型,在数据集上复现算法。

学习内容:阅读相关资料、论文、开源代码,复现算法,工程化落地。

 

如果你也在学习ReID,欢迎加入免费学习小组,加入方式见文末。

 

第一阶段,ReID的基本概念

包括 ReID的定义、常用数据集、评价指标、实现思路

推荐一个视频教程:https://edu.csdn.net/huiyiCourse/detail/788,可下载配套PPT

这个博客对视频进行了总结:https://blog.csdn.net/ctwy291314/article/details/83618646

1.1 ReID定义

全称Person Re-Identification,主要解决跨摄像头跨场景下行人的识别与检索。该技术可以作为人脸识别技术的重要补充,可以对无法获取清晰拍摄人脸的行人进行跨摄像头连续跟踪,增强数据的时空连续性。

1.2 技术难点

相机拍摄角度,图片模糊不清楚,室内室外环境变化,行人更换服装饰配,冬季夏季风格差异,白天晚上光线差异等。

1.3 常用数据集

Market1501 http://liangzheng.com.cn/Project/project_reid.html   网站挂了,联系我提供下载地址

DukeMTMC-reID https://github.com/sxzrt/DukeMTMC-reID_evaluation#download-dataset

CUHK03  http://www.ee.cuhk.edu.hk/~xgwang/CUHK_identification.html

1.4 评价指标

Rank1:首位命中率

mAP:平均精度均值

CMC:累计匹配曲线

参考:https://zhuanlan.zhihu.com/p/40514536

https://blog.csdn.net/qq_38451119/article/details/83000061

1.5 实现思路

a.检索图经过网络抽取图片特征(Feature) ;

b.底库里的所有图片全部抽取图片特征(Feature) ;

c.将检索图与地库图的特征计算距离(例如欧式距离) ;

d.根据计算距离进行排序,排序越靠前表示是相似率越高。

1.6 具体方案

               方案         性能                          对应论文

方案一:表征学习

基于SoftmaxLoss(分类损失)与 ContrastiveLoss(对比损失)

Rank1: 79.51%

mAP: 59.87%

Z.Zheng,L.Zheng,andY.Yang. A discriminatively learned cnn embedding for person re-identification. arXiv preprint arXiv:1611.05666, 2016.

方案二

  • 17
    点赞
  • 99
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
功能设计 ​ 系统功能模块较为简单,主要功能就是**新增人脸**和**人脸搜索**两个功能,其中新增人脸使用页面上传和压缩包批量上传两个方式,压缩包上传时文件名称为用户名,下面主要说明人脸搜索的功能流程 ##### Milvues ​ 在介绍前需要说明一下Mulvus ​ Milvus 向量数据库能够帮助用户轻松应对海量非结构化数据(图片 / 视频 / 语音 / 文本)检索。单节点 Milvus 可以在秒内完成十亿级的向量搜索 ​ 因此虹软的SDK只能提取向量及对比的功能,在大规模人脸识别中,需要搜索引擎对于人脸数据进行初步筛选到一个较小的范围后在利用虹软的SDK进行测试,值得一提的是,博主多次测试后Milvues返回的匹配率足以满足人脸匹配的要求,Milvus的安装部署和使用文档参考 https://milvus.io/cn/docs/v2.0.x ​ **特别说明的是**虹软提取的数组是一个经过归一后的1032长度的byte数组,我们需要对数组进行转换,去除前8位的版本号,并将1024长度的byte转为256长度的float向量,这部分可以利用Arrays提供的方法进行转换,代码中也有相应的工具类 ##### 人脸上传(单张) ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值