超强实时跟踪系统PP-Tracking学习记录
PP-Tracting学习记录超强实时跟踪系统PP-Tracking:飞桨AI Studio - 人工智能学习实训社区 (baidu.com)目标检测多目标跟踪仅检测当前帧物体的id信息可以构建帧间的关系无法识别同一物体并去重id信息可以识别同一物体无法得到长轨迹或轨迹易断裂连续长轨迹,便于后续高阶应用技术简介Detection Based Tracking:SDE,JDESDE采用目标检测与Re
PP-Tracting学习记录
超强实时跟踪系统PP-Tracking:飞桨AI Studio - 人工智能学习实训社区 (baidu.com)
目标检测 | 多目标跟踪 |
---|---|
仅检测当前帧 | 物体的id信息可以构建帧间的关系 |
无法识别同一物体并去重 | id信息可以识别同一物体 |
无法得到长轨迹或轨迹易断裂 | 连续长轨迹,便于后续高阶应用 |
技术简介
Detection Based Tracking:SDE,JDE
SDE
采用目标检测与ReID解耦的方式进行
JDE
采用目标检测与ReID耦合的方式进行
基于检测的MOT(多目标跟踪)核心步骤:
①通过目标检测得出检测框(坐标宽高、置信度、种类名)
②通过ReID(重识别)模型提取表观特征,结合运动特征去计算相似性
③数据关联,更新和匹配轨迹
Detection Free Tracking:
PP-LCnet
PP-LCNet: A Lightweight CPU Convolutional Neural Network
abstract
提出了一个基于MKLDNN acceleration strategy的CPU轻量级网络,PP-LCNet。在分类任务上,其Latency,Acc,等方面达到SOTA。并且拥有良好的向下兼容性,例如:目标检测,语义分割扥扥。
采用PaddlePaddle实现。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P6iUpEiL-1650682835602)(C:\Users\BlackFriday\AppData\Roaming\Typora\typora-user-images\image-20211128160310959.png)]
Introduction
卷积神经网络(CNNs)代表了当前计算机视觉应用的主力军。随着模型参数和FLOPs的增加,模型特征提取能力的增强,使得基于ARM体系结构的移动设备或基于x86体系结构的CPU设备很难获得快速的推理速度。许多优秀的net,因此不被使用。
故此,想要提出一个轻量级的net,进行如下三个思考:
-
如何在不提升延迟的情况下,提升network的学习feature presentations。
-
让轻量级模型在CPU上提升准确率的因素是什么
-
怎么融合不同策略用于设计CPU上的轻量级网络
最终提出相应的解决方案:
- 总结一系列方法improve accuracy without increase of inference time.
- 平衡 accuracy and inference time
Relate works
现在的网络有两种主流思想:
- manuall-designed CNN architecture
- Neural Architecture Search(NAS)
Manually-designed Architecture
- VGG:简单,但是有效的堆叠策略,深。
- GoogLeNet:采用Inception block,包括四个并行的操作:1×1,3×3,5×5和最大池化。开创性的使网络更轻量。
- MobileNet V1:通过深度可分离卷积代替了标准卷积,大大减少参数量与FLOPs
- MobileNet V2:提出了Inverted block,进一步减少FLOPs和提升模型表现
- ShuffleNet V1/V2 通过通道shuffle来交换信息,极大的减少了网络的开销。
- GhostNet: 提出Ghost module 可以更少的参数生成更多的feature map。
Neural Architecture Search
随着GPU硬件的发展,GPU的重点已经从Manually-designed Architecture转变为能够自适应地执行特定任务的系统搜索的体系结构。许多NAS生成的网络使用与MobileNetV2[15]相似的搜索空间,包括EfficientNet[19]、MobileNetV3[20]、FBNet[21]、DNANet[22]、OFANet[23]等。MixNet[24]提出在同一层中混合不同核大小的深度卷积,NAS生成的网络依赖于人工生成的块,如BottleNeck,Inverted-block等。
该方法可以减小神经结构搜索的搜索空间,提高搜索效率,并有可能提高整体性能,可以在以后的工作中进一步研究。
Approach
现有的许多网络可以在ARM-based devices上跑的快,很少能在CPU上,特别是当加速系统为MKLDNN。
采用了MobileNetV1中提到的DepthSepConv作为basic block 。
DepthSepConv:没有concat,elementwise-add之类的shortcout,这些操作不仅会降低模型的推理速度,还不会提高小模型的准确率。然而,其可以在Inter CPU 加速推理器上实现深度优化。
所以将其堆叠,并附加上了一些现有的操作,最终得到了PP-LCnet。
Better activation function
激活函数的质量影响网络的性能。
借鉴采用ModileNetV3中的H-Swish激活函数,降低指数型运算。
Performance better,inference time has hardly changed.
SE modules at appropriate positions
SE modules在许多轻量级网络中广泛使用。但是SE module在Inter CPUs上的推理时间较长,所以没有在全部的网络中采用。
做了许多相关的实验,最后将SE modules 部署在网络的末端,与MobileNetV3[20]一样,SE模块[26]的两层的激活函数分别是RELU和H-Sigmoid。
Larger convolution kernels
因:
卷积核的大小常常影响网络的最终结果。在MixNet[24]中,作者分析了不同大小的卷积核对网络性能的影响,最终将不同大小的卷积核混合在同一层网络中。但是,这样的混合会降低模型的干扰速度,所以我们尽量在单层中只使用一个大小的卷积核,并确保在低延迟和高精度的情况下使用大的卷积核。
果:
实验发现,仅用网络尾部的5×5卷积核代替3×3的卷积核,就可以达到替换几乎所有网络层的效果。
Larger dimensional 1×1 conv layer after GAP
network 小维度的输出损失feature 。所以在最后的GAP layer 添加了一个类似于FC layer的1280维1×1conv。
Conclusion and Future work
我们的工作总结了一些设计轻量级Intel CPU网络的方法,这些方法可以在避免增加推理时间的情况下提高模型的精度。虽然这些方法都是从前人的工作中得出的现有方法,但精度和速度之间的平衡还没有从实验中总结出来。通过大量的实验和对这些方法的支持,我们提出了PP-LCNet,它在处理大量视觉任务时表现出更强的性能,具有更好的精度和速度平衡,并且减小了NAS的搜索空间,也为NAS更快地访问轻量级模型提供了可能。在未来,我们还将使用NAS来获得更快、更强大的模型。
验中总结出来。通过大量的实验和对这些方法的支持,我们提出了PP-LCNet,它在处理大量视觉任务时表现出更强的性能,具有更好的精度和速度平衡,并且减小了NAS的搜索空间,也为NAS更快地访问轻量级模型提供了可能。在未来,我们还将使用NAS来获得更快、更强大的模型。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)