【DeepSORT系列之】Cosine Metric Learning训练与demo可视化
文章目录
- 模型训练
- 训练流程
- 训练可视化
- demo可视化
- 问题记录
- 小结
- 参考
模型训练
训练流程
数据准备:由于训练代码目前支持两种数据集如下,分别包含各自的数据准备方式。
Market-1501数据集介绍
Mars数据集介绍
代码准备:
cosine_metric_learning
demo代码准备:
deep_sort
训练启动命令:
训练mars数据集脚本如下:
python train_mars.py \--dataset_dir=/media/holo/B834B57734B538E8/tracking/MARs \--loss_mode=cosine-softmax \--log_dir=./output/mars/ \--run_id=cosine-softmax
训练market数据集脚本如下:
python train_market1501.py \--dataset_dir=/media/holo/B834B57734B538E8/tracking/Market-1501-v15.09.15 \--loss_mode=cosine-softmax \--log_dir=./output/market1501/ \--run_id=cosine-softmax
训练完成之后,需要对模型进行冻结。执行如下命令:
# Market-1501
python train_market1501.py --mode=freeze --restore_path=PATH_TO_CHECKPOINT
# Mars
python train_mars.py --mode=freeze --restore_path=PATH_TO_CHECKPOINT
关于模型冻结示例如下:(不要添加模型后缀)
# Market-1501
python train_market1501.py --mode=freeze --restore_path=./output/market/cosine-softmax/model.ckpt-1560
# Mars
python train_mars.py --mode=freeze --restore_path=/output/mars/cosine-softmax/model.ckpt-1560
当保存好模型pb
文件之后,将其拷贝至deep_sort
工程目录下。
训练可视化
当训练过程中,可以终端运行tensorboard
来观察训练过程。
我们在终端输入如下命令:
tensorboard --logdir ./output/mars/cosine-softmax --port 8008
稍等一会,我们能够看到终端弹出链接,点击即可。或者打开网页,输入以下IP
就可以看到如下的训练变量可视化。
http://127.0.0.8008
我们可以看下每个变量的训练变化过程:
demo可视化
上面训练结束并且生成pb
模型之后,将其拷贝至deep_sort
目录下./model/networks/
。
然后,执行目录tools
下面的generate_detections.py
来生成对应的检测&外观特征合并在一起。
python generate_detections.py --mot_dir ../data/MOT16/test
执行完该命令,会在tools/detections
下面生成对应的结果。
生成完后,执行deep_sort_app.py
脚本来进行可视化。
python deep_sort_app.py \--sequence_dir=./data/MOT16/test/MOT16-06 \--detection_file=./model/detections/MOT16_POI_test/MOT16-06.npy \--min_confidence=0.3 \--nn_budget=100 \--display=True
问题记录
问题1:训练模型时候终端报错cudnn failed
,添加如下代码:
# Add to solve cudnn failed.
from tensorflow import ConfigProto
from tensorflow import InteractiveSessionconfig = ConfigProto()
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)
问题2:图片训练过程中报错如下:【需要你手动写个脚本排查一下图片是否完好无损】
EnqueueError: Expected image (JPEG, PNG, or GIF), got empty file[[node map/while/DecodeJpeg (defined at /home/holo/anaconda3/envs/kitti_vis/lib/python3.7/site-packages/tensorflow_core/python/framework/ops.py:1748) ]]
问题3:如何接着训练
目前使用的tensorflow版本是1.14.0
。关于在之前模型继续训练方式:需要你修改一下train_app.py里面的参数。在parser
里面有个--restore_path
变量,里面添加默认路径即可,注意需要你写到对应的model
名称。例如:
# 注意需要写到mpdel.ckpt-xxxx后缀不需要填写
--restore_path="./output/mars/cosine-softmax/model.ckpt-20000"
关于训练模型cosine_metric_learning
的loss
选择问题:
triplet loss 损失函数
magnet loss 损失函数
sparse_softmax_cross_entropy 损失函数
小结
本篇是针对算法deep_sort的训练以及可视化记录。以及训练模型使用的损失函数一些简单总结。
参考
cosine_metric_learning
deep_sort
使用deepsort重新训练自己的多目标跟踪模型
【DeepSORT系列之】Cosine Metric Learning训练与demo可视化相关推荐
- 度量学习 度量函数 metric learning deep metric learning 深度度量学习
曼哈顿距离(CityBlockSimilarity) 同欧式距离相似,都是用于多维数据空间距离的测度. 欧式距离(Euclidean Distance) 用于衡量多维空间中各个点之间的绝对距离.欧式距 ...
- 深度度量学习 (metric learning deep metric learning )度量函数总结
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_16234613/article/ ...
- Deep Metric Learning for Person Re-Identification
Deep Metric Learning for Person Re-Identification (ICPR2014,中国科学院自动化研究所模式识别国家重点实验室:Dong Yi, Zhen Lei ...
- metric learning
度量(metric)的定义: 在数学中,一个度量(或距离函数)是一个定义集合中元素之间距离的函数.一个具有度量的集合被称为度量空间. 为什么要用度量学习? 很多的算法越来越依赖于在输入空间给定的好的度 ...
- 论文笔记之: Deep Metric Learning via Lifted Structured Feature Embedding
Deep Metric Learning via Lifted Structured Feature Embedding CVPR 2016 摘要:本文提出一种距离度量的方法,充分的发挥 traini ...
- 漫谈度量学习(Distance Metric Learning)那些事儿
©作者 | 黄春喜 单位 | 香港科技大学 研究方向 | 智能交通 前言 上图为 2018 年 4 月在杭州阿里中心听 Michael Jordan 讲座时所摄,他本人也是 distance metr ...
- MatchNet: Unifying Feature and Metric Learning for Patch-Based Matching
MatchNet: Unifying Feature and Metric Learning for Patch-Based Matching 摘要:由于在学习特征表示和学习特征比较函数的成功,我们提 ...
- 【论文复现,含代码】MatchNet: Unifying Feature and Metric Learning for Patch-Based Matching
图像匹配问题,历久而弥新.从上个世纪六十年代起,人们开始使用灰度匹配进行匹配,目前,图像匹配的研究重点为图像特征的提取与描述,初始匹配以及精准匹配.目前,深度学习在图像领域正如火如荼,传统的图像匹配问 ...
- RepMet: Representative-based metric learning for classification and few-shot object detection
参考 RepMet: Representative-based metric learning for classification on - 云+社区 - 腾讯云 简介 距离度量学习(DML)已 ...
- ICCV 2019 Vehicle Re-identification with Viewpoint-aware Metric Learning
文章目录 摘要 1.引言 2.相关工作 2.1 关于重识别 2.2 深度度量学习 3.VANet 3.1 度量学习baseline 3.2 视角感知的度量学习 3.2.1 空间内约束 3.2.2 跨空 ...
最新文章
- python open
- Windows XP Ghost系统安装
- Winform中设置ZedGraph的颜色填充使用Fill
- js基础总结性能优化
- 转载(四).Net Framework中的委托与事件
- 解决tomcat中temp文件夹出现项目的副本的情况
- android百度导航实现,Android 集成百度地图实现设备定位
- display 隐藏css,CSS-元素的显示与隐藏
- BZOJ4458: GTY的OJ
- C/C++编程语言中volatile关键字介绍
- 条码软件如何自定义设置条形码尺寸
- 日系清新LR调色预设支持PS/PR/FCPX/达芬奇/AE/LUT图片滤镜
- ADB各种操作指令详解大汇总
- 2022华为春招面试经历
- 导出的CSV数据中含有身份证并在Excel正确显示方法
- icp许可证申请:一文读懂icp许可办理流程、费用
- JavaScript 对象大全
- 大白菜装机教程win10_详解戴尔电脑一键重装系统win10教程
- 行数据上加一个version版本字段,可以有效防止数据重复更新
- 中华英才网居然出现如此错误