公司面试问题

One:

1、Tensorflow和Pytorch有哪些区别?

答:
1)Pytorch 是采用的动态图机制(可以进行修改),TensorFlow采用的是静态图机制(不能进行修改);
2)TensorFlow存在着大量的API,Pytorch相反API很简洁;
3)Pytorch因为简单易上手,在学术界超越了TensorFlow;但是在工业界更加注重部署,因此TensorFlow并没有被淘汰;
4)Pytorch在建立前向计算图、传入变量数据、求梯度上更加简便

2、卡尔曼滤波在DeepSort中怎么实现的?

  1. 首先,卡尔曼滤波怎么DeepSort中是自己写的。卡尔曼滤波有两大核心模块,一个是预测模块,一个是更新模块,这两个模块均是预测的状态值(均值和协方差)。
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

  2. 在DeepSort中,YOLO检测的结果是作为卡尔曼滤波的传感器测量值。由于观测的结果和预测的结果必然存在着误差,因此我们考虑将这两个结果结合起来。

  3. 卡尔曼预测的均值是通过矩阵A进行计算的,其中在跟踪任务中,矩阵B并没有被考虑。

  4. 预测的方差是通过公式推导出来的,又由于协方差存在着噪音,当数据越大时,噪音越大,因此预测公式中的Q是与均值x相关的,从代码中也可以看出来,当预测每一帧的状态时,都会利用测量(YOLO)的结果去更新Q。

  5. YOLO检测的结果是在观测空间的,而卡尔曼预测的结果是在状态空间。如何将这两个空间的高斯分布相乘,因此采用了映射矩阵(dim,2*dim),这个矩阵将状态空间的分布转移到观测空间。

  6. 其中观测空间也存在着误差,因此也会存在这协方差矩阵R。

  7. 我们已知,两个高斯分布相乘,结果仍为高斯分布,因此就可以得到另一个高斯分布,其均值和方差如下所示。因此我们将预测的高斯分布和观测的高斯分布所对应的均值和协方差带入到公式,我们就可以得到更新的结果公式。
    在这里插入图片描述
    以上的整个过程,一方面是通过1-k-1帧的先验知识和数学模型,预测得到第k帧的状态(均值和协方差),另一方面利用观测值(YOLO)直接获取第k帧的状态(均值和协方差),我们通过映射矩阵将状态空间的结果映射到观测空间,再对两个相乘的高斯分布计算新的状态(均值和方差)。DeepSort中的卡尔曼的具体流程如下图所示,在DeepSort中,是利用python中的numpy实现了矩阵分解和矩阵相乘。
    在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值