文章目录

  • 模型训练
    • 训练流程
    • 训练可视化
  • 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_learningloss选择问题:

triplet loss 损失函数

magnet loss 损失函数

sparse_softmax_cross_entropy 损失函数

小结

本篇是针对算法deep_sort的训练以及可视化记录。以及训练模型使用的损失函数一些简单总结。

参考

cosine_metric_learning
deep_sort
使用deepsort重新训练自己的多目标跟踪模型

【DeepSORT系列之】Cosine Metric Learning训练与demo可视化相关推荐

  1. 度量学习 度量函数 metric learning deep metric learning 深度度量学习

    曼哈顿距离(CityBlockSimilarity) 同欧式距离相似,都是用于多维数据空间距离的测度. 欧式距离(Euclidean Distance) 用于衡量多维空间中各个点之间的绝对距离.欧式距 ...

  2. 深度度量学习 (metric learning deep metric learning )度量函数总结

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_16234613/article/ ...

  3. Deep Metric Learning for Person Re-Identification

    Deep Metric Learning for Person Re-Identification (ICPR2014,中国科学院自动化研究所模式识别国家重点实验室:Dong Yi, Zhen Lei ...

  4. metric learning

    度量(metric)的定义: 在数学中,一个度量(或距离函数)是一个定义集合中元素之间距离的函数.一个具有度量的集合被称为度量空间. 为什么要用度量学习? 很多的算法越来越依赖于在输入空间给定的好的度 ...

  5. 论文笔记之: Deep Metric Learning via Lifted Structured Feature Embedding

    Deep Metric Learning via Lifted Structured Feature Embedding CVPR 2016 摘要:本文提出一种距离度量的方法,充分的发挥 traini ...

  6. 漫谈度量学习(Distance Metric Learning)那些事儿

    ©作者 | 黄春喜 单位 | 香港科技大学 研究方向 | 智能交通 前言 上图为 2018 年 4 月在杭州阿里中心听 Michael Jordan 讲座时所摄,他本人也是 distance metr ...

  7. MatchNet: Unifying Feature and Metric Learning for Patch-Based Matching

    MatchNet: Unifying Feature and Metric Learning for Patch-Based Matching 摘要:由于在学习特征表示和学习特征比较函数的成功,我们提 ...

  8. 【论文复现,含代码】MatchNet: Unifying Feature and Metric Learning for Patch-Based Matching

    图像匹配问题,历久而弥新.从上个世纪六十年代起,人们开始使用灰度匹配进行匹配,目前,图像匹配的研究重点为图像特征的提取与描述,初始匹配以及精准匹配.目前,深度学习在图像领域正如火如荼,传统的图像匹配问 ...

  9. RepMet: Representative-based metric learning for classification and few-shot object detection

    参考   RepMet: Representative-based metric learning for classification on - 云+社区 - 腾讯云 简介 距离度量学习(DML)已 ...

  10. 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 跨空 ...

最新文章

  1. python open
  2. Windows XP Ghost系统安装
  3. Winform中设置ZedGraph的颜色填充使用Fill
  4. js基础总结性能优化
  5. 转载(四).Net Framework中的委托与事件
  6. 解决tomcat中temp文件夹出现项目的副本的情况
  7. android百度导航实现,Android 集成百度地图实现设备定位
  8. display 隐藏css,CSS-元素的显示与隐藏
  9. BZOJ4458: GTY的OJ
  10. C/C++编程语言中volatile关键字介绍
  11. 条码软件如何自定义设置条形码尺寸
  12. 日系清新LR调色预设支持PS/PR/FCPX/达芬奇/AE/LUT图片滤镜
  13. ADB各种操作指令详解大汇总
  14. 2022华为春招面试经历
  15. 导出的CSV数据中含有身份证并在Excel正确显示方法
  16. icp许可证申请:一文读懂icp许可办理流程、费用
  17. JavaScript 对象大全
  18. 大白菜装机教程win10_详解戴尔电脑一键重装系统win10教程
  19. 行数据上加一个version版本字段,可以有效防止数据重复更新
  20. 中华英才网居然出现如此错误

热门文章

  1. Pyecharts亚马逊订单可视化
  2. 2020安徽省程序设计省赛知识点
  3. css所有缩写属性,CSS常见属性缩写与全写对比
  4. python多线程模块threading学习笔记(5)之锁Lock
  5. 《图像处理、分析与机器视觉 第四版》 摄像机 相机概述——学习笔记
  6. 进不了BIOS,电脑开机黑屏
  7. CSDN 重新开放付费资源的上传了,但要求如下
  8. 控制极限(UCL,LCL) 和规格极限(USL,LSL)
  9. 水倒七分、茶倒八分、酒倒满
  10. 假如让你从 0 到 1 实现一个直播弹幕系统