赞
踩
deepsort是用于目标跟踪的一个项目
1、deep_sort 的github官网
deep_sort 的github官网
:https://github.com/nwojke/deep_sort
1、运行一个跟踪的实例
python deep_sort_app.py \
--sequence_dir=./MOT16/test/MOT16-06 \
--detection_file=./resources/detections/MOT16_POI_test/MOT16-06.npy \
--min_confidence=0.3 \
--nn_budget=100 \
--display=True
在运行上面的命令之前,需要确保你已经下载了MOT16数据集
,MOT16数据集的下载地址如下:
MOT16数据集
下载地址:https://motchallenge.net/data/MOT16/
resources目录中的文件在
:这里下载
2、生成检测框
除了主跟踪应用程序之外,该存储库还包含一个脚本,用于生成用于人员重新识别的功能,适用于使用余弦相似度比较行人边界框的视觉外观
python tools/generate_detections.py \
--model=resources/networks/mars-small128.pb \
--mot_dir=./MOT16/train \
--output_dir=./resources/detections/MOT16_train
运行上面的命令,就会在resources/detections/MOT16_train
目录下生成如下文件
(base) shl@zhihui-mint:~/shl_res/1_project/deep_sort$ tree resources/detections/MOT16_train/
resources/detections/MOT16_POI_train/
├── MOT16-02.npy
├── MOT16-04.npy
├── MOT16-05.npy
├── MOT16-09.npy
├── MOT16-10.npy
├── MOT16-11.npy
└── MOT16-13.npy
0 directories, 7 files
(base) shl@zhihui-mint:~/shl_res/1_project/deep_sort$
在运行上面的命令之前,需要确保你已经下载了MOT16数据集
,MOT16数据集的下载地址如下:
MOT16数据集
下载地址:https://motchallenge.net/data/MOT16/
官方将deepsort的训练放在了另外一个仓库中:cosine_metric_learning
1、deep_sort 提供的训练仓库cosine_metric_learning
deepsort训练使用的数据集有两个:
Market1501数据集
:MARS数据集
MARS数据集相当于是Market1501数据集的一个超集,数据更多!(参考)
1、这篇博客介绍了Market1501数据集
,并提供了百度网盘和谷歌driver下载地址
2、这篇博客介绍了MARS数据集
,并提供了百度网盘下载地址
我使用训练Market1501数据集
训练deepsort(使用虚拟环境tf1
)
python train_market1501.py \
--dataset_dir=./Market-1501-v15.09.15/ \
--loss_mode=cosine-softmax \
--log_dir=./output/market1501/ \
--run_id=cosine-softmax
使用tensorboard查看训练过程:
tensorboard --logdir ./output/market1501/cosine-softmax --port 6006
浏览器中输入:http://127.0.0.1:6006
地址打开查看训练过程中的一些指标!
差不多训练一个小时的时候,分类精度就已经达到了99%+
了(使用GPU
)
注意:
使用
GPU训练
:我的tensorflow-gpu版本1.14.0
,需要cuda版本不能够大于10.0,在虚拟环境中安装cudatoolkit=10.0版本环境(参考)
1、下面是训练模型过程中保存的模型
(tf1) shl@zhihui-mint:~/shl_res/1_project/cosine_metric_learning_env_tf1$ tree output_latest_model/
output_latest_model/
├── model.ckpt-644844.data-00000-of-00001
├── model.ckpt-644844.index
└── model.ckpt-644844.meta
0 directories, 3 files
(tf1) shl@zhihui-mint:~/shl_res/1_project/cosine_metric_learning_env_tf1$
2、导出pb模型
python train_market1501.py --mode=freeze --restore_path=PATH_TO_CHECKPOINT
例如:
python train_market1501.py --mode=freeze --restore_path=./output_latest_model//model.ckpt-644844
然后会在当前目录下生成:market1501.pb
模型文件
注意:
PATH_TO_CHECKPOINT
是训练得到的checkpoint模型文件路径,但是一定不要包括后缀名
,否则会报错:ValueError: The passed save_path is not a valid checkpoint: ./output_latest_model/model.ckpt-644844.meta
3、测试自己训练导出的模型是否可用
你可以在yolov4-deepsort
这个项目下测试自己训练的模型是否可用,直接把自己的模型放在model_data
目录下,把自己的模型文件重新命名为:mars-small128.pb
即可!
yolov4-deepsort的github项目地址:https://github.com/theAIGuysCode/yolov4-deepsort
然后使用如下命令测试:
python object_tracker.py --weights ./checkpoints/yolov4-tiny-416 --model yolov4 --video ./data/video/test2.mp4 --output ./outputs/tiny.avi --tiny
测试效果截图:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。