程序代写案例-V2
时间:2021-10-30
Background
核心需求是在 Yolo-FastestV2 的模型基础上,添加embeddings的检测分支,使其实现多目标追踪
(MOT)的功能。添加好embeddings 分支的主要的模型结构已经写好,在压缩包里的 ‘model文件夹
中’。除此文件夹外的其他文件与原始GitHub并无两样。
原始 github 的地址是 https://github.com/dog-qiuqiu/Yolo-FastestV2
 
Requirement
原github是一个轻量化的目标检测的模型,采用的是 yolo-shufflenetv2 结构的模型。在原始的github
上,我对‘model’文件夹做了如下的修改:
1. 在原有的detector上加上了embeddings 分支以及embedding head。
2. 原始的shufflenet v2 分支我做一些微调,增大了感受野以及改变了每个stage的输出通道数量。
3. 以前与backbone连接的FPN层是连接的backbone后两个stages,现在改成了连接全部三个
stages,所以anchors也就从之前的6组自然改成了9组,这里关于锚点的生成,需要参考原github
的 genanchors.py 脚本,然后根据MOT17数据集中的object生成对应的锚点。
4. detector的部分缺少对于embeddings特征的分类器,需要补全。
 
大致的模型结构如下:
 
具体的需求如下:
由于模型输出的有改动,需要重写损失函数部分,关于embeddings 的损失函数部分可以参考如下
两篇论文,JDE 以及 RetinaTrack。
需要重写 train and val 的 dataloader 以适配 MOT17 数据集。
不同于JDE,最终输出结果要求直接输出 track ID而无需再通过卡尔曼滤波或者匈牙利算法来匹配
embeddings的特征,这点参考 RetinaTrack 部分(直接做成identification)。
需要确保能够在MOT17数据集上训练,且能收敛,可以先测试几个epochs,无需完成全部训练。
 
References
CVPR2020 | 多目标跟踪(车辆)与检测框架 RetinaTrack
 

学霸联盟





























学霸联盟


essay、essay代写