VAE介绍

前置知识

1. KL散度

KL散度可以衡量两个分布的相似程度,当KL散度为0时,代表两个分布完全相同。注意KL散度不是距离,因为 KL(p||q)不等于KL(q||p). KL散度的计算公式为:

阅读更多...

卡尔曼滤波器

卡尔曼滤波器

我们观测到的数据总是包含噪声的,为了得到更准确的结果,卡尔曼最早在1960年提出卡尔曼滤波器,Kalman Filter 的目的是利用先验知识,根据一批采样数据$(X_1, X2, …,X_n)$估计对象在n时刻的状态$Z_n$。例如我们在跟踪飞行器的时候,我们对它的运动状态并非一无所知,我们知道很多牛顿力学、运动学知识可以帮助我们做出判断。

阅读更多...

目标检测中的旋转增强

目标检测中的旋转增强

论文:Towards Rotation Invariance in Object Detection——ICCV2021

代码:https://github.com/akasha-imaging/ICCV2021

1. 论文介绍

众所周知,一般的检测网络并不具备旋转不变性或者旋转等变性,在某些场景如遥感图像中,经常会对训练数据使用“旋转增强”来增强网络的性能。对于旋转之后的目标的ground truth,通常的做法是对原本的真值框旋转相同的角度,然后对旋转后的框取最大外接水平矩形,如下图红框所示。然而作者发现,这种最大外接框的取法会得到过于大的真值框,从而产生标签歧义问题,甚至会损害网络的检测性能,特别是AP75的性能。

image-20220330220343514

这种通常的方法我们将它称为最大框法,它假设方框中的物体的形状为占满整个框的方形。而本文作者提出,用最大内接椭圆来表示bounding box中物体的形状为更优的表示,对图片旋转后,对这个椭圆进行旋转,取椭圆的最大外接矩作为旋转后物体的真值框,如上图墨蓝色框所示。最大内接椭圆的计算方法为:

阅读更多...

Numpy常用操作

数组生成:

  • np.arange(0,10) 生成[0,10)的顺序矩阵

  • np.random.rand(4,3) # 0~1的随机小数矩阵,4行3列

  • np.random.randint(0, 10, size=5) # 随机数(5个):第1个起始;第2个结束(不包括);第3个随机数个数

  • np.random.randint(0, 10, size=(2, 5)) # 随机数组/矩阵(5个):第1个起始;第2个结束(不包括);第3个随机数个数(行,列)

  • np.random.seed(100) # 随机数种子,种子不变,每次生成的随机数也不变

  • 或者使用rs = np.random.RandomState(100)设置随机数种子,然后通过rs.rand(4)等方法来使用,生成四个随机数

  • np.random.random(5) # 随机数(float型),5个

  • np.random.random((3, 5)) # 随机数组/矩阵(float型),(3行,5列)

  • np.random.normal(size=5) # 正态分布的5个随机数

  • np.random.normal(size=(3, 5)) # 正态分布的5个随机数组

阅读更多...

请我喝杯咖啡吧~

支付宝
微信