训练过程

训练过程,网络的最终输出是 17×17 的response map.

网络的输入

需要保证两条支路上目标物体在输入图片的中心位置,且目标物体在整幅图像中有一定的占比。

对于模板图片

模板图片大小: 127×127×3。以目标中心为裁剪中心,确定一个稍大的正方形(记边长为 C )裁剪区域(可能会超出原图片,以图片颜色均值填充),然后再将裁剪区域resize到127×127大小。根据paper,C 的计算公式如下(设目标框的大小为w×h):

$$

\begin{array}{ll}

w’ =w+(w+h)·0.5 \\

h’ =h+(w+h)·0.5 \\

C = \sqrt{w’*h’}

\end{array}

$$

对于搜索图片

搜索图片大小:255×255×3。以目标中心为裁剪中心,需要先确定上面的 C ,然后在按比例(127:255)确定搜索图片的正方形裁剪区域边长 C‘。

训练的细节

维度问题

具体实现上,卷积后的通道数和paper描述的不同。

卷积操作

训练batch中每个输入样本对的卷积操作可以用groups参数实现。

batch norm

添加 batch norm 层,否则loss会出现nan的情况。要对其进行初始化。

label

训练网络的输出是一个 17×17 的 2D response. 由于SiamFC是全卷积网络,所以不用关心物体在图片中的位置,将以物体为中心的图像输入两条支路。这样可以直接将 ground truth 设为中心响应最大的 17×17 2D response:根据输入和网络缩放情况,将 response 中心点及其 Manhattan Distance 距离为2的点设为1,其余点设为0(与paper中稍不同,因为采用的是binary_cross_entropy_with_logits损失函数)。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18labels:

[[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]

[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]

[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]

[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]

[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]

[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]

[0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0.]

[0. 0. 0. 0. 0. 0. 0. 1. 1. 1. 0. 0. 0. 0. 0. 0. 0.]

[0. 0. 0. 0. 0. 0. 1. 1. 1. 1. 1. 0. 0. 0. 0. 0. 0.]

[0. 0. 0. 0. 0. 0. 0. 1. 1. 1. 0. 0. 0. 0. 0. 0. 0.]

[0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0.]

[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]

[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]

[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]

[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]

[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]

[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]]

Manhattan Distance = 16 / 8, 8是网络stride的总步长, 16是超参数。

normalize response1responses_maps = 0.001 * responses_maps

Score adjustment is simply normalizing response to the range (e.g. [-10, 10]) where sigmoid is not saturated. Without it, the scale of the response will be on the order of 1e3 and the gradients vanish.

For most of the time, set the scale to 1e-3 and the train_bias to True should be fine.

lr_decay_factor这是根据作者的 learning rate schedule 得到的。作者在 50 个 epoch 内,learning rate 从 1e-2 下降到 1e-5,设 x = lr_decay_factor, 则有 1e-2 * x ^ (50 -1) = 1e-5, 求解得到 x = 0.8685113737513527.

关于augmentation

为了增强鲁棒性,对输入图片加入干扰。由于response map 上相邻的两点在输入的搜索图片上对应区域中心的间隔为2×2×2=8. 所以,可以让模板图片和搜索图片的中心(也就是目标物体)在8×8的区域内随机取点(保证二者的最大间隔不超过8)。

测试过程

网络的输入

模板图片是第一帧上crop和resize的区域,搜索图片则根据上一帧的预测bbox确定,具体方法和训练过程一样。

确定物体中心和大小

要注意如何确定输入的 search 区域上目标框的中心和大小:

找到 一号最大响应点 ,确定尺度:三个17*17的 2D response 分别经过16倍双三次插值上采样变成三个272*272大小的2D response。

对于第一个和第三个非正常尺度的 2D response 乘以一个惩罚值(这里是 0.9745 )。第二个是正常尺度(与原图1:1),可以将惩罚值看做 1.0 。

选取惩罚后的三个 2D response 中最大值所在的那一个 response 对应的尺度作为目标的最佳尺度 best scale ,将这个 response 称为 best response (272×272)。

找到 二号最大响应点 ,将此最大相应点对应到输入的 search 区域,确定目标框的中心:对 best response (272×272) 进行归一化处理,然后用一个对应大小的余弦窗(hanning window)进行惩罚(余弦窗中心位置的值最大,往四周方向的值逐渐减小。因为目标物体靠近区域中心,这样做可以看做是对预测时出现较大位移的惩罚)。

找到处理后的 best response (272×272) 中最大值的坐标,将这个坐标对应到输入的 search 区域上的一个点(通过和中心的距离来对应),作为 search 区域中预测的目标物体中心位置。

确定目标框的大小:由 best scale 和初始帧中的目标框大小确定当前预测框的大小,宽高比保持不变 。

测试的细节

关于加窗

具体计算过程:

1response = (1 - 0.176) * response + 0.176 * hanning_window

0.176 (22/125) 这个超参数的由来并没有特别说明。

关于尺度的选择

3尺度情况下

输入crop:

将原crop边长(记为 C ) 乘以下面的尺度,得到三个新的crop边长,按新边长进行区域裁剪:

$$

scales = [1.0375^{-1}, 1.0375^{0}, 1.0375^{1}]

$$

1.0375 (83/80) 这个超参数的由来并没有特别说明。

惩罚:

对于三个尺度上的最大值,分别乘上 [0.9745, 1, 0.9745] 作为惩罚,然后再比较三者中的最大值,作为最终尺度。

0.9745 这个超参数的由来并没有特别说明。

bbox更新:

确定最终bbox的尺度:

1

2update_scale = (1 - 0.59) * 1.0 + 0.59 * new_scale

bbox_w_h *= update_scale

0.59 这个超参数的由来并没有特别说明。

中心点到输入图片的映射

backbone采用的是AlexNet,共有3次stride操作,所以 response map 上相邻的两点在输入的搜索图片上对应区域中心的间隔为2×2×2=8. 从距离中心的位置可以推断 scaled crop 上的位置,进一步推断出原图上的位置。

s 是选择出来的 best scale.

$(x_4, y_4)$ 是预测的目标中心$(x_p, y_p)$相对于上一帧的目标中心$(x_l, y_l)$的偏移量,有:

$$

\begin{array}{ll}

x_p = x_l + x_4 \\

y_p = y_l + y_4

\end{array}

$$

改进模板图像始终是第一帧,未涉及更新。

bbox纵横比不能改变。

siamfc代码解读_分析SiamFC相关推荐

  1. python决策树代码解读_建模分析之机器学习算法(附pythonR代码)

    0序 随着移动互联和大数据的拓展越发觉得算法以及模型在设计和开发中的重要性.不管是现在接触比较多的安全产品还是大互联网公司经常提到的人工智能产品(甚至人类2045的的智能拐点时代).都基于算法及建模来 ...

  2. 神经网络代码解读_强化学习、联邦学习、图神经网络,飞桨全新工具组件详解...

    机器之心发布机器之心编辑部 11 月 5 日,在 Wave Summit+2019 秋季深度学习开发者峰会上,飞桨全新发布和重要升级了最新的 21 项进展,在深度学习开发者社区引起了巨大的反响. 很多 ...

  3. python画圣诞树代码解读_使用Python画了一棵圣诞树的实例代码

    分享给大家一篇文章,教你怎样用Python画了一棵圣诞树,快来学习. 如何用Python画一个圣诞树呢? 最简单: height = 5 ​ stars = 1 for i in range(heig ...

  4. joke整人代码瘫痪_分析瘫痪:过度思考和了解太多代码

    joke整人代码瘫痪 I read a post on ArsTechnica today called "I know too much to program quickly. What ...

  5. python画圣诞树代码解读_实战 | 教你用Python画各种版本的圣诞树

    项目介绍 大家好呀,这是一份迟到的圣诞节Python专辑项目. 我们一起看看如何用Python做出超级炫酷的圣诞树吧~ 1.入门版本 height = 5 stars = 1 for i in ran ...

  6. SiamFC代码大乱炖 (pytorch)

    写前bb 最早是看了matlab的代码,搭了环境,demo也跑了,就再也没碰过了.之后想自己把测试和训练部分全部跑通,找了个用pytorch写的代码,看的过程中发现自己还是很多细节部分不是很清楚.虽然 ...

  7. ResNet及其变种的结构梳理、有效性分析与代码解读(PyTorch)

    点击我爱计算机视觉标星,更快获取CVML新技术 本文来自知乎,作者费敬敬,现为同济大学计算机科学与技术硕士. https://zhuanlan.zhihu.com/p/54289848 温故而知新,理 ...

  8. java在线支付---09,10,11,12_在线支付_分析易宝支付网关的应答协议与处理代码,完成用于处理支付响应的Servlet的初步编写和调试,完成处理支付网关响应结果的Servlet,支付实现

    09_在线支付_分析易宝支付网关的应答协议与处理代码 创梦综合技术qq交流群:CreDream:251572072 对支付结果返回的数据加密生成md5-hmac public static boole ...

  9. 编译原理语义分析代码_Pix2Pix原理分析与代码解读

    原理分析: 图像.视觉中很多问题都涉及到将一副图像转换为另一幅图像(Image-to-Image Translation Problem),这些问题通常都使用特定的方法来解决,不存在一个通用的方法.但 ...

  10. 鱼眼图像自监督深度估计原理分析和Omnidet核心代码解读

    作者丨苹果姐@知乎 来源丨https://zhuanlan.zhihu.com/p/508090405 编辑丨3D视觉工坊 在自动驾驶实际应用中,对相机传感器的要求之一是拥有尽可能大的视野范围,鱼眼相 ...

最新文章

  1. Android视频播放之VideoView
  2. c# npoi 2.5版本设置字体加粗_巨巨巨巨推荐:SCI翻译神器,大版本更新来了
  3. 数组计算的数学模块----NumPy
  4. 浅谈嵌套命名实体识别(Nested NER)
  5. 学java交学费包分配_java 学生缴学费案例:
  6. 【OpenCV 例程200篇】92. 指数噪声、均匀噪声、椒盐噪声
  7. 中国游戏大数据:市场规模全球第一,直播已进入黄金期
  8. LeetCode_database刷题记录(181. 超过经理收入的员工)
  9. Hexo + Butterfly 自定义右键菜单
  10. 基于Telink 825x Sdk上按键短按及长按的功能实现
  11. MS4200 PCI串口卡驱动
  12. html作品使用说明,使用说明html模板
  13. 鄙人最新作JS自动适应的图片弹窗
  14. 专科计算机专业取消,教育部公布已撤销了这些大学专业!有你的专业吗
  15. 关于Oblog 2.52 help.asp漏洞的修补问题
  16. 2022-2027年中国稻壳提纯硅产品市场竞争态势及行业投资前景预测报告
  17. macOS Ventura 13.1 (22C65) 正式版发布,ISO、IPSW、PKG 下载
  18. 2019税改有哪些变化?什么是专项扣除?这些改动与你的工资息息相关!
  19. [IOS APP]西藏生死书
  20. 美元汇率【贪心算法练习题】

热门文章

  1. 华为云redis安装
  2. java模拟器vivo_vivo X3t驱动下载
  3. c语言国二题库选择填空题,国二c语言笔试题库(含答案),选择填空.doc
  4. 聚合影视源码搭建教程
  5. eclipse导入wsdl文件_eclipse生成wsdl文件
  6. TLS 各种加密套件
  7. 2021京东商城APP手机模板 HTML+CSS+JavaScript
  8. Yandex支持插件的手机浏览器
  9. 无人机辅助移动边缘计算的计算卸载优化:一种深度确定性策略梯度方法(6)——代码实现
  10. eclipse中pom文件的查看