diff --git a/Docs/2024-10-11/README.md b/Docs/2024-10-11/README.md deleted file mode 100644 index c9ce724..0000000 --- a/Docs/2024-10-11/README.md +++ /dev/null @@ -1,21 +0,0 @@ -# 2024-10-11 组会汇报 - -## 一、科研项目 - - - - - - - - -## 二、工程项目 -## 2.1 目标跟踪流程跑通 -1. 结合yolov8,行人重识别开源项目[fast-reid](https://github.com/JDAI-CV/fast-reid)以及目标跟踪算法deepsort,初步跑通以下3步流程: - 1. 行人检测:通过Yolov5这类目标模型提取当前帧的行人图像。 - 2. 特征提取:基于特征提取模型,如通过faster-reid基于度量学习训练得到的模型提取行人区域图片的特征向量。 - 3. 目标跟踪:结合行人区域特征,通过deepsort进行行人跟踪 -2. 目前存在问题: - 1. 跟踪精度低,存在严重的id switch问题 - 2. 行人重识别模型推理速度慢,占推理总流程时间的90%以上,需要再优化一下![alt text](image/image.png) -3. 尝试解决的方向是根据github上的[原项目](https://github.com/linghu8812/yolov5_fastreid_deepsort_tensorrt)进行优化,因为整个流程基本是根据这个项目来的,我估计应该是缺了一些设置导致上述的问题,使用原项目进行目标跟踪还是非常流畅的,[跟踪结果](video/video0.mp4) diff --git a/Docs/2024-10-17/README.md b/Docs/2024-10-17/README.md new file mode 100644 index 0000000..755511b --- /dev/null +++ b/Docs/2024-10-17/README.md @@ -0,0 +1,42 @@ +# 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) \ No newline at end of file diff --git a/Docs/2024-10-11/image/image.png b/Docs/2024-10-17/image/image.png similarity index 100% rename from Docs/2024-10-11/image/image.png rename to Docs/2024-10-17/image/image.png