yolov5_reid【附代码,行人重识别,可做跨视频人员检测】

简介: 该项目利用yolov5+reid实现的行人重识别功能,可做跨视频人员检测。应用场景:可根据行人的穿着、体貌等特征在视频中进行检索,可以把这个人在各个不同摄像头出现时检测出来。可应用于犯罪嫌疑人检索、寻找走失儿童等。

支持功能:

       1.reid训练

       2.人员标注

       3.人员查找(可做跨视频人员检测)

Reid训练

ps:Reid理论部分参考:Reid理论学习


项目支持多网络,如resnet50, resnet50_ibn_a, se_resnext50等主干网络。


下载代码后输入:


python tools/train.py --config_file configs/softmax_triplet.yml MODEL.DEVICE_ID "('0')" DATASETS.NAMES "('market1501')" DATASETS.ROOT_DIR "(r'./data')

其中softmax_triple.yml是配置文件(里面包含了训练epochs,学习率,优化器等参数配置)。


训练可选参数 :


参数说明:


--config_file: 配置文件路径,默认configs/softmax_triplet.yml


--weights: pretrained weight path


--neck: If train with BNNeck, options: bnneck or no


--test_neck: BNNeck to be used for test, before or after BNNneck options: before or after


--model_name: Name of backbone.


--pretrain_choice: Imagenet


--IF_WITH_CENTER: us center loss, True or False.


配置文件的修改:


(注意:项目中有两个配置文件,一个是config下的defaults.py配置文件,一个是configs下的yml配置文件,一般配置yml文件即可,当两个配置文件参数名相同的时候以yml文件为主,这个需要注意一下)


configs文件:


以softmax_triplet.yml为例


SOLVER:

 OPTIMIZER_NAME: 'Adam' # 优化器

 MAX_EPOCHS: 120  # 总epochs

 BASE_LR: 0.00035

 IMS_PER_BATCH: 8  # batch


 CHECKPOINT_PERIOD: 1   # 权重保存周期

 LOG_PERIOD: 1 # 日志周期

 EVAL_PERIOD: 1  # 测试周期,测map

TEST:

 IMS_PER_BATCH: 4 # test batch

 RE_RANKING: 'no'

 WEIGHT: "path"  # test weight path

 FEAT_NORM: 'yes'

OUTPUT_DIR: "/logs" # model save path


=> Market1501 loaded

Dataset statistics:

 ----------------------------------------

 subset   | # ids | # images | # cameras

 ----------------------------------------

 train    |   751 |    12936 |         6

 query    |   750 |     3368 |         6

 gallery  |   751 |    15913 |         6

 ----------------------------------------

Loading pretrained ImageNet model......



2023-02-24 21:08:22.121 | INFO     | engine.trainer:log_training_loss:194 - Epoch[1] Iteration[19/1484] Loss: 9.194, Acc: 0.002, Base Lr: 3.82e-05

2023-02-24 21:08:22.315 | INFO     | engine.trainer:log_training_loss:194 - Epoch[1] Iteration[20/1484] Loss: 9.156, Acc: 0.002, Base Lr: 3.82e-05

2023-02-24 21:08:22.537 | INFO     | engine.trainer:log_training_loss:194 - Epoch[1] Iteration[21/1484] Loss: 9.119, Acc: 0.002, Base Lr: 3.82e-05


训练好的权重会自动保存在logs下。


人员标注

可将视频中嫌疑人(特定人员),可以运行person_search/get_query.py,按住鼠标左键不放,拖动进行人员款选标注,标注后的人员会自动保存在query文件中(命名格式为markt1501),按空格键继续播放视频。


也可以直接将图像放在query文件中,但名字也需要按mark1501命名。




人员查找(yolov5+Reid)

参数说明:


--weights: yolov5权重路径


--source: video/file/ path


--data: data/coco128.yaml


--imgsz: 输入图像大小,默认(640,640)


--conf_thres:置信度阈值


--iou_thres:iou阈值


--classes:过滤的类


--half:半精度推理


--dist_thres:reid对比的距离阈值(小于该阈值判断为同一个人)


--save_res:保存视频图像


python search.py --weights yolov5s.pt --source 0 --dist_thres 1.5

如果需要检测视频或者多视频(跨视频检测),需要指定source路径。


代码:


git clone https://github.com/YINYIPENG-EN/yolov5_reid.git

权重下载:


检测:将 ReID_resnet50_ibn_a.pth放在👂person_search/weights文件下,yolov5s.pt放person_search下


训练:将 r50_ibn_2.pth,resnet50-19c8e357.pth放在yolov5_reid/weights下


注意:训练和检测(person_search)是两个独立的项目!!


链接:百度网盘 请输入提取码 提取码:yypn

————————————————


CSDN链接:https://blog.csdn.net/z240626191s/article/details/129221510

目录
相关文章
|
4月前
|
机器学习/深度学习 算法 安全
基于YOLOv8深度学习的危险区域人员闯入检测与报警系统【python源码+Pyqt5界面+数据集+训练代码】YOLOv8、ByteTrack、目标追踪、区域闯入
基于YOLOv8深度学习的危险区域人员闯入检测与报警系统【python源码+Pyqt5界面+数据集+训练代码】YOLOv8、ByteTrack、目标追踪、区域闯入
|
4月前
|
机器学习/深度学习 存储 算法
基于YOLOv8与ByteTrack的车辆行人多目标检测与追踪系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标追踪、运动物体追踪
基于YOLOv8与ByteTrack的车辆行人多目标检测与追踪系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标追踪、运动物体追踪
|
4月前
|
机器学习/深度学习 存储 编解码
基于YOLOv8与ByteTrack的车辆检测追踪与流量计数系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标追踪、车辆检测追踪、过线计数、流量统计(2)
基于YOLOv8与ByteTrack的车辆检测追踪与流量计数系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标追踪、车辆检测追踪、过线计数、流量统计
|
4月前
|
机器学习/深度学习 算法 计算机视觉
基于YOLOv8与ByteTrack的车辆检测追踪与流量计数系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标追踪、车辆检测追踪、过线计数、流量统计(3)
基于YOLOv8与ByteTrack的车辆检测追踪与流量计数系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标追踪、车辆检测追踪、过线计数、流量统计
|
4月前
|
机器学习/深度学习 存储 算法
深度学习实战】行人检测追踪与双向流量计数系统【python源码+Pyqt5界面+数据集+训练代码】YOLOv8、ByteTrack、目标追踪、双向计数、行人检测追踪、过线计数(2)
深度学习实战】行人检测追踪与双向流量计数系统【python源码+Pyqt5界面+数据集+训练代码】YOLOv8、ByteTrack、目标追踪、双向计数、行人检测追踪、过线计数
|
4月前
|
自然语言处理 安全 数据安全/隐私保护
不影响输出质量还能追踪溯源,大模型无偏水印入选ICLR 2024 Spotlight
【6月更文挑战第7天】研究人员提出了一种无偏水印技术,能在不降低大型语言模型(LLMs)输出质量的情况下实现追踪和归属。此方法被ICLR 2024选为Spotlight论文,保证水印不影响模型性能,保护知识产权,防止滥用。无偏水印的挑战包括设计无损模型质量的实现、有效检测及安全防范措施。[论文链接: https://openreview.net/pdf?id=uWVC5FVidc]
46 2
|
4月前
|
机器学习/深度学习 监控 算法
基于YOLOv8与ByteTrack的车辆检测追踪与流量计数系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标追踪、车辆检测追踪、过线计数、流量统计(1)
基于YOLOv8与ByteTrack的车辆检测追踪与流量计数系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标追踪、车辆检测追踪、过线计数、流量统计
|
4月前
|
机器学习/深度学习 编解码 监控
深度学习实战】行人检测追踪与双向流量计数系统【python源码+Pyqt5界面+数据集+训练代码】YOLOv8、ByteTrack、目标追踪、双向计数、行人检测追踪、过线计数(1)
深度学习实战】行人检测追踪与双向流量计数系统【python源码+Pyqt5界面+数据集+训练代码】YOLOv8、ByteTrack、目标追踪、双向计数、行人检测追踪、过线计数
|
11月前
|
SQL 机器学习/深度学习 开发框架
【网安AIGC专题10.25】8 CoLeFunDa华为团队:静默漏洞检测(识别+多分类)+数据增强、样本扩充+对比学习+微调+结果分析(降维空间,分类错误样本归纳,应用场景优势,有效性威胁分析)
【网安AIGC专题10.25】8 CoLeFunDa华为团队:静默漏洞检测(识别+多分类)+数据增强、样本扩充+对比学习+微调+结果分析(降维空间,分类错误样本归纳,应用场景优势,有效性威胁分析)
242 0
|
机器学习/深度学习 编解码 算法
检测并消除瑕疵,DeSRA让真实场景超分中的GAN更加完美
检测并消除瑕疵,DeSRA让真实场景超分中的GAN更加完美
339 0
下一篇
无影云桌面