美工素材网站有哪些,哪些网站可以做简历,建筑工程信息查询,网站建设论文伯乐在线本篇文章主要是实现的yolov5和reid结合的车辆重识别项目。是在我之前实现的yolov5_reid行人重识别的代码上修改实现的baseline模型。
目录
相关参考资料
数据集说明
环境说明
项目使用说明
vehicle reid训练
yolov5车辆重识别
从视频中获取想要检测的车(待检测车辆)
车…本篇文章主要是实现的yolov5和reid结合的车辆重识别项目。是在我之前实现的yolov5_reid行人重识别的代码上修改实现的baseline模型。
目录
相关参考资料
数据集说明
环境说明
项目使用说明
vehicle reid训练
yolov5车辆重识别
从视频中获取想要检测的车(待检测车辆)
车辆查找
项目完整代码 相关参考资料
涉及到的相关资料如下
参考的reid论文Bag of Tricks and A Strong Baseline for Deep Person Re-identification(这应该是一篇19年的论文可能稍微比较早了但很有参考价值)
Reid代码详解Reid strong baseline 代码详解
Reid之网络的定义Reid之网络的定义代码详解
Reid训练代码之数据集处理Reid训练代码之数据集处理
Reid损失函数理论学习Reid损失函数理论学习
Reid度量学习Triplet loss:Reid度量学习之Triplet loss
yolov5_行人重识别yolov5_行人重识别 数据集说明
数据集采用的是veri数据集该数据集的格式与markt1501类似。 %******************************************************************************************************************%
VeRi-776Reference:Liu, Xinchen, et al. Large-scale vehicle re-identification in urban surveillance videos. ICME 2016.URL:https://vehiclereid.github.io/VeRi/Dataset statistics:# identities: 776# images: 37778 (train) 1678 (query) 11579 (gallery)# cameras: 20
%******************************************************************************************************************%%%%%%% Content in the Zip file%%%%%%%%%%
1. image_test file. This file contains 11579 images for testing.
2. image_train file. This file contains 37778 images for training.
3. image_query file. It contains 1678 query images. Search is performed in the image_test file. 环境说明 torch 1.7.0 torchvision 0.8.0 opencv-python 4.7.0.72 opencv-python-headless 4.7.0.72 numpy 1.21.6 matplotlib 3.4.3 loguru 0.5.3 项目使用说明
该训练reid项目中vehicle_search与_search项目是独立的训练完reid后把训练好的权重放到 vehicle_search/weights下切换到vehicle_search_search项目中在去进行reid识别【不然有时候会报cant import xxx】。
项目仅包含reid的训练不包含yolov5的训练可以直接把yolov5的权重拿来用即可。
vehicle reid训练
将预权重下载后放置下项目weights中。
数据集放置在data/下目录如下 data/veri |-- image_query |-- image_test |-- image_train 训练预权重下载链接
将 r50_ibn_2.pthresnet50-19c8e357.pth放在yolov5_vehicle_reid/weights下
链接百度网盘 请输入提取码 提取码yypn
train.py中的训练参数
参数说明 --config_file: 配置文件路径默认configs/softmax_triplet.yml --weights: Reid 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. 配置文件的修改
配置包含在两个目录文件中
1.config/defaults.py为项目默认的配置文件
2.configs/下各yml文件为训练期间的配置文件
主要以yml配置文件为主当两个配置文件参数名相同的时候以yml文件为主这个需要注意一下。
configs文件:
以softmax_triplet.yml为例 SOLVER:OPTIMIZER_NAME: Adam # 优化器MAX_EPOCHS: 120 # 总epochsBASE_LR: 0.00035IMS_PER_BATCH: 8 # batch
TEST:IMS_PER_BATCH: 4 # test batchRE_RANKING: noWEIGHT: path # test weight pathFEAT_NORM: yes
OUTPUT_DIR: /logs # model save path 训练命令
python tools/train.py --weights 【预权重路径】--config_file configs/softmax_triplet.yml MODEL.DEVICE_ID (0) DATASETS.NAMES (veri) DATASETS.ROOT_DIR (r./data)
训练的权重会保存在logs/文件夹下。 yolov5车辆重识别
该项目可用于做reid识别可用于做跨视频车辆识别
reid网络采用resnet50_ibn_a权重需要和defaults.py中的MODEL.NAME对应支持se_resnext50网络。权重见文末百度盘链接。
注意
该项目没有将yolov5训练加入只是将检测功能和reid进行了整理。
vehicle_search下只进行检测不进行reid的训练reid的训练在yolov5_vehicle_reid中。
从视频中获取想要检测的车(待检测车辆)
python get_query.py
可从弹出的视频中利用鼠标框选待检测的车辆。
操作方法
运行程序后用鼠标左键从目标左上角进行框选按“空格”键继续播放视频(会自动把框选的图像进行保存)
该车辆图像会保存在query文件夹中默认命名格式为veri。
ps:也可以直接将图像放在query文件中但名字也需要按veri命名。
车辆查找
权重下载
检测将 训练好的reid权重放在vehicle/weights文件下yolov5s.pt放vehicle_search下
链接百度网盘 请输入提取码 提取码yypn
修改reid/config/defaults.py中的_C.TEST.WEIGHT为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 car.mp4 --dist_thres 1
如果需要检测视频或者多视频(跨视频检测)需要指定source路径。 目标车辆的检索 项目完整代码
GitHub - YINYIPENG-EN/yolov5_vehicle_reid: yolov5reid实现的车辆重识别