Report/Docs/2024-10-17/README.md

42 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 2024-10-17 组会汇报
## 一、科研项目
- 无新进展
## 二、工程项目
### 2.1 目标跟踪流程跑通
- 结合yolov8行人重识别开源项目[fast-reid](https://github.com/JDAI-CV/fast-reid)以及目标跟踪算法deepsort初步跑通以下3步流程
- 行人检测通过Yolo这类目标模型提取当前帧的行人图像。
- 特征提取基于特征提取模型如通过fast-reid基于度量学习训练得到的模型提取行人区域图片的特征向量。
- 目标跟踪结合行人区域特征通过deepsort进行目标跟踪
### 2.2 遇到的问题
- 问题描述:跟踪精度低,存在严重的 id switch 问题
- 问题原因:
1. 通过打印cv::Mat的值发现由于cv::Mat没有调用clone方法导致截取到的图片在使用前就被析构了导致fast-reid输出的特征向量完全无效
2. 通过理解原项目deepsort的跟踪逻辑发现原项目传入的坐标点(x,y)为目标检测框的中心点,而我设置的是左上角坐标,导致框没有截全,最终导致跟踪精度低
- 解决方案:
1. 修改cv::Mat的调用方法为clone方法
2. 修改坐标点的设置方法,改为左上角坐标
---
- 问题描述行人重识别模型推理速度慢占推理总流程时间的90%以上,需要再优化一下,导致视频流严重卡顿![alt text](image/image.png)
- 问题原因通过打印fast-reid推理用时当batch_size为4时用时约为6ms由于yolo一次性会检测8张图片同一张图片里面有非常多的框所以fast-reid推理总用时较长
- 解决方案:
1. 增大fast-reid模型的batch_size为8时视频流卡顿现象明显缓解
### 2.3 待办事项
#### 重识别逻辑
1. 检测到人之后
1. 首先在数据库里检索是否有相似度比较高的人
1. 这一步需要用向量数据库来做若出现则给出对应的id否则id为无效值
2. 之后给系统后端发送一个http消息http消息的json格式如下
```json
{
"PersonId": 1 // 行人id
"Picture": "xxx"// base64编码后的行人图片
"CameraIP": "192.169.0.0" //摄像头地址
"TimeStamp": "xxx"//时间戳
}
```
3. 判定这段视频里后面几秒内是否重复出现该行人,注意以下事项:
1. 视频可见范围内只发一次http消息
2. 相似度高的人不管在摄像头中消失多少次都是一个相同的ID
[项目链接](https://github.com/dancing-ui/uestc_vhm)