slam面试整理

一面

项目相关

1、简历中的项目相关问题,项目是三维重建相关的,深度学习的深度估计

2、具体细节上,网络结构、loss设计、数据、训练泛化效果

3、非公共区域如何处理、精度如何保证

基础:

1、非线性优化

概念:规划问题的目标函数及约束函数中至少有一个是非线性函数,则称这种规划为非线性规划。

迭代法:LM/高斯牛顿法/最速下降法/D_G法

优缺点对比:高斯牛顿法适用于迭代的开始阶段,牛顿法适用于最优值附近,LM相当于对高斯牛顿法进行改进,引入了阻尼因子;高斯牛顿法的H矩阵容易是病态的矩阵,如果步长太准确性也会降低,常用的是G-N和L-M(病态也好)法求解,

2、视觉slam基础

1、只有相机的情况下,采用深度学习的方案,如何实现高精度、强泛化的模型效果

当模型泛化性差的时候,我们需要找到其原因
原因1:网络足够大,仅仅记住了所有样本
解决1:1.找当前任务的公开数据集在自己的模型上训练,对比一些性能优越算法的性能,这样能让我们验证自己算法的可行性,以测试所有基础架构是否正确到位。
2.保证数据集和标签正确无误,这个很好理解,当数据集有错误的时候,网络无论如何无法学到真正的规律;
3.正则化
4.超参探索、尝试

原因2:过拟合

解决2:增大数据集、增加正则化,dropout一些神经元,减小网络模型、提前停止训练

2、cnn,不做三维了,做其他方向,怎么准备

1、双目立体匹配,哪些方案

BM和SGBM。SGBM是BM立体匹配算法的优化版,属于半全局匹配,相对于BM花的时间要更多,但效果优于BM。这里以SGBM举例
步骤:1.打开相机,获取到左目和右目的图像;
2.矫正畸变;
3.图像灰度化;
4.立体匹配,输出结果。
使重建更加稠密的方法:WLS视差滤波(opencv-contrib)
或者是使用open3d点云重建

  1. sgbm,全称,g是如何实现的,什么算法原理

SGBM全称为半全局匹配方式,相比BM多了代价空间和代价聚合。
其中的惩罚系数P1与相邻像素点视差之间的差异有关,当差异为1时惩罚为P1。在理论上来说,深度图上的视差应当是连续的,惩罚系数P2与视差不连续有关,当差异值大于1时惩罚值为P2。P2大于P1,因此不连续的惩罚很高。
opencv中实现的SGBM算法计算匹配代价没有按照原始论文的互信息作为代价,而是按照块匹配的代价。
算法实现过程:预处理 -> 代价计算 -> 动态规划 -> 后处理
1.预处理包括Sobel算子处理,并将处理后的图像上每个像素点映射成一个新的图像
2.代价计算包括基于采样的方法利用图像的梯度信息得到梯度代价,以及原图像采样得到SAD代价
3.动态规划包括参数P1和P2
4.后处理包括三个步骤:唯一性检测、亚像素插值、左右一致性检测

kinectfusion等等开源三维重建框架,有没有玩过,看过

KinectFusion是第一个使用RGBD相机进行实时稠密三维重建的系统,TSDF(截断符号距离函数)地图
对于输入的RGB-D图像,首先计算点云及其归一化后的法向量,然后通过ICP算法迭代计算当前帧的相机位姿(输入为三维场景投影得到上一帧的深度图像,以及当前帧的点云),之后将当前点云融合到TSDF地图中,最后通过TSDF地图以及当前帧的位姿,预测(投影)出当前帧的深度图,该深度图用来和下一帧的点云计算下一阵的位姿。

深度学习相关:

1、cnn 基础架构哪些,cnn总体可以分为哪两类任务

卷积层(conv)+激活函数(如:relu)+池化层(pooling)+全连接(fc)
CNN特性:局部连接、权值共享、下采样,都是为了减少参数,提高训练速度。

2、l1 l2 loss 优缺点、原因、l1 l2正则化,优点,原因,如何在pytorch代码里面实现

L1损失:即平均绝对误差(MAE),L2损失:即均方误差(MSE)
L1正则化:即对权重矩阵的每个元素绝对值求和,L2正则化:即对权重矩阵的每个元素求平方和 优缺点:
L1损失函数:最小化绝对误差,因此L1损失对异常点有较好的适应更鲁棒,不可导,有多解,解的稳定性不好。
L2损失函数:最小化平方误差,因此L2损失对异常点敏感,L2损失函数会赋予异常点更大的损失值和梯度,调整网络参数向减小异常点误差的方向更新,因此容易造成训练的不稳定和发散。

3、交叉熵loss,代码,二分类问题

逻辑logistic回归问题,引入激活函数sigmoid将线性方程转化为非线性方程,然后利用极大似然估计(Maximize
Li

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值