智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-SiamMask(2019)

简介: 与普通的视频跟踪网络不同的是,SiamMask可以同时完成视频跟踪和实例级分割的任务。如下图所示,与传统的对象跟踪器一样,依赖于一个简单的边界框初始化(蓝色)并在线操作。与ECO(红色)等最先进的跟踪器不同,SiamMask(绿色)能够生成二进制分割,从而更准确地描述目标对象。

与普通的视频跟踪网络不同的是,SiamMask可以同时完成视频跟踪和实例级分割的任务。如下图所示,与传统的对象跟踪器一样,依赖于一个简单的边界框初始化(蓝色)并在线操作。与ECO(红色)等最先进的跟踪器不同,SiamMask(绿色)能够生成二进制分割,从而更准确地描述目标对象。


f537b433b59f4162892fdef214075cea.png


3.5.1 网络结构


SiamMask的网络结构,提出了三分支的SiamMask网络。与之前的孪生网络十分相似的是,将模板图像与搜索图像输入网络,两者经过特征提取网络,特征提取网络如下表所示,生成15×15×256和31×31×256的featuremap,与SiamFC相似的是,将两个featuremap逐通道相互卷积,生成17×17×256的featuremap,将这个过程生成的像素值叫做RoW,如下图所示,蓝色的1×1×256的featuremap为heatmap的最大值,代表目标最有可能出现的位置。之后将featuremap输入三个分支中,图中h_{\psi}hψ,b_{\psi}bψ,s_{\psi}sψ 是1×1的卷积层,作用是改变通道的数量。


a1963a734fb442a08668756e9782f26f.png


网络结构如下表所示:


62f2be72dec14526945a9f34b4cbf79e.png


在box分支中,17×17×256的featuremap经过1×1×(4k)的卷积层后生成17×17×4k的featuremap,这里k是每一个RoW生成k个anchors,这里实际上和SiamRPN相同,每四个一组,分别对应dx、dy、dw、dh四个值,代表着与groundtruth的距离。


在score分支中,17×17×256的featuremap经过1×1×(2k)的卷积层后生成17×17×2k的featuremap,这里k是每一个RoW生成k个anchors,这里实际上和SiamRPN相同,每两个一组,分别对应分类为目标和背景的标签结果。


在Mask分支中。17×17×256的featuremap经过1×1×(63×63)的卷积层后生成17×17×(63×63)的featuremap,从featuremap中取出与RoW位置相同的像素值,为1×1×(63×63),对其做上采样,生成127×127×1的图像,在这个图像中所有的像素值都取0或1,生成的相当于是一个二进制掩码,目标像素值为1,背景像素值为0,这样就完成了实例级分割的任务。   


三分支中的网络结构如下表所示:


1cee8315eb5e49629491b0857c1d57c8.png


除了三分支的SiamMask之外,作者还提出了二分支的SiamMask网络,如上图所示,删掉了box分支,只保留score和Mask分支:


91910655d54346fd9905767f0dd231fa.png


通过Mask分支生成的二进制掩码来生成相对应的bounding box,二分支中的网络结构如下表所示:


4f5e349ffbc84730ac4ed96ba5d27d09.png


3.5.2 模型创新


  • 改进的bounding box生成策略


设计了三种生成bounding box的策略如下图所示的红色、绿色和蓝色框


091bb1f1ac3c4b1284d59a1df6f21428.png


在之前的视频跟踪网络中,生成的都是平行于图片的x轴,y轴的bounding box。当然,SiamMask也能完成这样的任务,如图中红色框所示,在三分支的SiamMask网络中,box分支负责生成这样的bounding box。而在二分支的SiamMask网络中,利用Mask分支生成的二进制掩码取出目标所在的最小和最大的像素值,来生成Min-max的bounding box。


为了能够将bounding box尽可能的贴合物体,设计了MBR的生成策略,如图绿色框所示。同样,利用Mask分支生成的二进制掩码,求目标的最小包闭矩形,这样会导致生成的bounding box会有一定的倾斜。


还设计了一种策略Opt,如图中蓝色框所示。通过Mask分支生成的二进制掩码,求一个矩形区域使得矩形与目标像素的IoU最大,通过这种策略在一些计算目标与bounding box之间IoU的比赛中会提高SiamMask的成绩。


  • 掩膜细化模型


下图为特征提取网络和Mask分支的结构图,网络忽略了box分支和score分支,经过特征提取网络生成的1×1×256的featuremap,首先经过反卷积生成15×15×32的featuremap,之后每一次反卷积都通过Ui 结合多层的特征,最后经过一个3×3的卷积层和Sigmoid层生成127×127×1的二进制掩码。


023f8c8a06504fcaae5c979dd161051a.png


下图为细化模型的结构图,经过细化模型可以实现上采样的过程中结合特征提取的featuremap信息。


12e0005fb0ba4fe5a55fbf64516c2f0e.png


3.5.3 损失函数


Mask分支的损失函数:


82ba76941ae04012a35e024645c78888.png


  在Mask分支最后生成一个127×127×1的二进制掩码也需要对其进行标记,目标像素标记为+1,背景像素标记为-1,所以假设一个RoW中会有w×h个像素,cij为Mask中第n个RoW中第i,j个像素的真实标记,mij为对应的网络的输出。所以这里的Mask分支只会计算一个目标RoW在二进制掩码中的所有像素。


  • 二分支:


二分支的SiamMask的损失函数如下式所示,其中λ1与λ2为超参数,λ1=32,λ2=1,L_{mask}Lmask 是上面讲的Mask分支的损失函数,L_{sim}Lsim是SiamFC的损失函数


e23c7750a35b49c1ae5762b66273073d.png


  • 三分支:


三分支的SiamMask的损失函数如下式所示,其中λ1与λ2为超参数,λ1=32,λ2=λ3=1, L_{mask}Lmask是Mask分支的损失函数,L_{score}Lscore和L_{box}Lbox是SiamRPN的损失函数 L_{cls}Lcls和L_{reg}Lreg.


e6747880a22d467aab9ce254ff6654cd.png


3.5.4 模型训练


siamMask是端到端训练模型,训练参数如下表所示:


03d2a4ca4adf48089f1b04afe2aa855f.png

目录
相关文章
|
10月前
|
BI
有没有签到软件推荐?资深行政使用体验分享!
作为一名行政人事,日常需处理考勤、会议签到与访客登记等事务。为提升效率,我尝试了几款签到软件:企业微信适合内部考勤但灵活性不足;草料二维码签到简单高效,适用于会议、培训等多场景;活动行则更适合大型外部活动。根据需求选择合适工具,可让签到管理更轻松顺畅。
|
9月前
|
编解码 数据可视化 Java
三维基因组: TAD差异分析-HiCCUPS (2)
三维基因组: TAD差异分析-HiCCUPS (2)
757 17
三维基因组: TAD差异分析-HiCCUPS (2)
|
存储 Linux 开发工具
告别Hugging Face模型下载难题:掌握高效下载策略,畅享无缝开发体验
【8月更文挑战第2天】告别Hugging Face模型下载难题:掌握高效下载策略,畅享无缝开发体验
4639 64
告别Hugging Face模型下载难题:掌握高效下载策略,畅享无缝开发体验
|
机器学习/深度学习 传感器 监控
红外小目标检测:基于深度学习
本文介绍了红外小目标检测技术的优势、基本原理及常用方法,包括背景抑制、滤波、模型和深度学习等,并探讨了多传感器融合的应用。通过一个基于深度学习的实战案例,展示了从数据准备到模型训练的全过程。最后,文章展望了该技术在军事、安防、交通等领域的广泛应用及未来发展趋势。
|
12月前
|
算法 测试技术 Swift
Kimi开源Moonlight-16B-A3B:基于Muon优化器的高效大模型,性能与训练效率双突破!
Kimi开源Moonlight-16B-A3B:基于Muon优化器的高效大模型,性能与训练效率双突破!
468 0
|
缓存 负载均衡 前端开发
优化Web应用性能的十种策略
在当今的数字化时代,Web应用的性能直接影响用户体验和业务成效。本文深入探讨了优化Web应用性能的十种策略,从前端的资源优化到后端的架构改进,涵盖了缓存机制、异步加载、数据库优化等关键技术手段。这些策略不仅能提升响应速度,还能显著减少服务器负担和带宽消耗,为开发者提供了一系列切实可行的解决方案。
|
机器学习/深度学习 PyTorch TensorFlow
Jetson 学习笔记(五):pb转uff---pb转onnx转trt----pth转onnx转pb
这篇文章是关于如何在NVIDIA Jetson平台上使用TensorRT来优化和部署深度学习模型的详细教程,包括了从不同格式的模型转换到TensorRT引擎的构建和推理过程。
587 1
Jetson 学习笔记(五):pb转uff---pb转onnx转trt----pth转onnx转pb
|
Ubuntu 前端开发 Linux
Ubuntu防火墙命令大集合
【7月更文挑战第13天】
1055 1
Ubuntu防火墙命令大集合
|
关系型数据库 MySQL 网络安全
实时计算 Flink版操作报错合集之Debezium引擎因为其他错误而关闭,导致无法检索到引擎的schema历史记录,该如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。