FairMOT论文解读与运行记录

论文解读

目标检测部分

FairMOT的目标检测部分基于CenterNet,只需识别person一个类别,然后在网络输出部分增加id分支,使用交叉熵损失函数进行训练。
网络backbone默认使用深层聚合网络dla34,沿用CenterNet对dla的修改,上采样时使用可变形卷积。
损失函数分为4部分,分别是

  1. heatmap损失(类别),使用Focal loss或者MSE loss;
  2. 中心点偏移损失,使用L1 loss或者smooth L1 loss
  3. wh宽高损失,使用L1 loss;
  4. id损失使用交叉熵。

跟踪部分

track部分基于JDE,这部分代码还没有详细阅读,其中用到了卡尔曼滤波。

1.AttributeError: module ‘tensorflow’ has no attribute 'Summary’

Traceback (most recent call last):
  File "train.py", line 136, in <module>
    logger.list_of_scalars_summary(tensorboard_log, batches_done)
  File "/media/smartcity/E6AA1145AA1113A1/dengjie/PyTorch-YOLOv3/utils/logger.py", line 17, in list_of_scalars_summary
    summary = tf.Summary(value=[tf.Summary.Value(tag=tag, simple_value=value) for tag, value in tag_value_pairs])
AttributeError: module 'tensorflow' has no attribute 'Summary'

参考博客:
https://blog.csdn.net/weixin_45709330/article/details/105452342#2AttributeError_module_tensorflow_has_no_attribute_Summary_49

2.运行track里的demo文件时首先需要编译sh make.sh
然后运行时会报以下错误

问题:ImportError: libcudart.so.9.0: cannot open shared object file: No such file or directory
解决办法:
.bashrc中添加环境变量:
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda

命令行输入以下命令:
sudo ldconfig /usr/local/cuda-9.0/lib64
会有提示:/sbin/ldconfig.real: /usr/local/cuda-9.0/lib64/libcudnn.so.7 不是符号连接
但是程序可以跑

3.训练时有很多警告

UserWarning: indexing with dtype torch.uint8 is now deprecated, please use a dtype torch.bool instead

参考博客:https://www.cnblogs.com/zhibei/p/12106893.html

4. --resume时报错
python train.py mot --exp_id ft_mot20_last --gpus 3,5 --batch_size 8 --load_model '../exp/mot/20epoch_ft_mot20_dla34/model_last.pth' --data_cfg '../src/lib/cfg/mot20.json' --num_epochs 60 --lr_step '15' --K 500 --resume

FairMOT论文解读与运行记录_第1张图片

博客:
变形卷积核、可分离卷积?卷积神经网络中十大拍案叫绝的操作
PyTorch—torchvision.models导入预训练模型—残差网络代码讲解
深层特征融合DLA

你可能感兴趣的:(深度学习,目标跟踪)