卡尔曼滤波算法和应用

1. 状态转移矩阵 从当前状态到下一个状态的转换. 例子: 假设跟踪车辆形式 车辆的状态矩阵, 位置变量 $p_t$; 速度变量 $v_t$. $$ x_t=\begin{bmatrix} p_t \\ v_t \end{bmatrix} $$ 假设车辆有加速度变量 $u_t$; 这里 $\Delta t$ 是单位时间; 这里就可以从上一个单位时间的 $p_{t-1}v_{t-1}$ 推导出当前的 $p_tv_t$. $$ \begin{aligned}p_t=&p_{t-1}+v_{t-1}\times\Delta t+u_t\times\frac{\Delta t^2}{2}\\v_t=&v_{t-1}+u_t\times\Delta t\end{aligned} $$ 这里可以发现输出变量是输入变量的线性组合, 所以卡尔曼滤波器是线性滤波器, 只能描述状态与状态之间的线性关系. 由于是线性关系, 所以可以将公式写成矩阵的形式. $$ \left[\begin{array}{c}p_t \\v_t\end{array}\right]=\left[\begin{array}{cc}1 & \Delta t \\0 & 1\end{array}\right]\left[\begin{array}{c}p_{t-1} \\v_{t-1}\end{array}\right]+\left[\begin{array}{c}\frac{\Delta t^2}{2} \\\Delta t\end{array}\right] u_t $$ 提取公式中带时间参数矩阵之后, 就可以简化公式获得卡尔曼滤波器中的状态预测公式. $$ \begin{aligned}&F_t=\left[\begin{array}{cc}1 & \Delta t \\0 & 1\end{array}\right], B_t=\left[\begin{array}{c}\frac{\Delta t^2}{2} \\\Delta t\end{array}\right]\\&\hat{x}_t^{-}=F_t \hat{x}_{t-1}+B_t u_t\end{aligned} \quad\quad \text{(1)} $$ 这里的 $\hat{x}_t^{-}$ 表示, 这个值有 hat 符号是预测值, 并不是真实值; 右上角减号表示这个值是从 t-1 时刻的参数估计而来, 还需要 t 时刻的观测值进行修正. ...

2024年2月13日 · 7 分钟 · sun510001

不同任务下主干网络的选择

论文PDF: Battle of the Backbones: A Large-Scale Comparison of Pretrained Models across Computer Vision Tasks 爱可可 AI 前沿推介(11.2) 动机 当前计算机视觉系统的构建通常依赖于预训练或随机初始化的特征提取器作为骨干网络, 而选择合适的骨干网络是一个困难的问题, 因此需要一个方法来比较不同的预训练模型, 以帮助从业者做出明智的选择. ...

2023年11月6日 · 2 分钟 · sun510001

OCR文本识别和CRNN算法简介

1. CRNN算法介绍 CRNN 全称为 Convolutional Recurrent Neural Network 主要用于端到端地对不定长的文本序列进行识别, 不用先对单个文字进行切割, 而是将文本识别转化为时序依赖的序列学习问题, 就是基于图像的序列识别. 对于无字典和有字典的场景都有较好的表现. (不过无字典精度差有字典10%以上) 模型结构简单, 性能比Transformer等模型更好. 2. 传统的文字识别模型 有些模型基于DCNN 缺点: 这些模型需要一个很强的词语检测模型. 需要将图片中的词语准确检测出来. 需要做一个大范围的分类(英文单词有90K个, 中文1百万) 3. 模型结构 ...

2023年8月26日 · 7 分钟 · sun510001

OCR文本检测和DBNet

1. 文本检测难点 文本的多样性: 颜色, 大小, 字体, 形状, 方向, 语言, 文本长度… 复杂的背景干扰: 图像失真, 模糊, 低分辨率, 阴影, 亮度… 密集文本或重叠文本 文字存在局部一致性: 文本行的一部分也可以是为独立的文本 2. 场景文本检测方法分类 ...

2023年8月5日 · 8 分钟 · sun510001

目标检测问题常用的模型

1. 原始CNN 卷积结构的网络大致由 3 各网络层组成: 卷积层, 池化层和全连接层. 1.1. 卷积层 Convolution layer 使用不同的卷积核依次进行卷积提取特征 卷积操作涉及的参数如下: 滑动窗口步长: 步长不同会导致特征图尺寸不同 步长越小, 计算效率越低 卷积核尺寸 边缘填充 有些卷积核按照特定步长会导致漏掉一些原图的像素, 所以需要再边界补 $0$. $0$ 不会对卷积计算产生影响. 卷积核个数 卷积核的个数决定了特征图的厚度 (第三个维度) 卷积的尺寸计算, 卷积有两种方式: VALID 和 SAME. VALID 不进行补 $0$, 会漏掉一些原图的参数, SAME 补 $0$, 多加一圈 $0$ 来补齐. 下面的公式是 SAME, 去掉 $2P$ 就是 VALID. 长度: $$ H_2=\frac{H_1-F_H+2 P}{S}+1 $$ 宽度: $$ W_2=\frac{W_1-F_W+2 P}{S}+1 $$ $W_1,H_1$ 表示 input 的宽度和长度 $W_2,H_2$ 表示输入特征图的宽度和长度 $F$ 表示卷积核长和宽的大小 $S$ 表示滑动窗口的步长 $P$ 表示边界填充 (padding) 厚度 卷积参数共享: 如果图像是 $32*32*3$ 的图像, 卷积核有 $10$ 个, 尺寸都为 $5*5*3$ (就是对 RGB 三通道都做卷积). 这样的话, 每个卷积核需要 $5*5*3=75$ 个参数, 加上每个卷积核都有一个对应的偏置参数 $b$, 总共需要 $(75+1)*10$ 个参数. 所以卷积网络参数远少于全连接神经网络参数. 使用多个不同尺寸的卷积核之后全连接如何处理? (NLP 处理句子或 CV 处理图片时被使用到) 使用多个不同尺寸的卷积核卷积后的全连接处理_多个卷积核_空字符(公众号:月来客栈)的博客-CSDN博客 ...

2023年7月23日 · 28 分钟 · sun510001