C++及图像算法基础知识(一)

PS:为了面试准备的,总结的有点粗糙。

 

1.receptive field:感受野

在卷积神经网络CNN中,决定某一层输出结果中一个元素所对应的输入层的区域大小,被称作感受野

 

左图:如果只看特征图,我们无法得知特征的位置(即感受野的中心位置)和区域大小(即感受野的大小)

右图:CNN特征图的大小固定,其特征位置即感受野的中心位置。各个特征(可以理解为图像中的像素点)的位置在卷积后保持不变,空的部分用空白来填充。

 

2.虚函数,virtual关键字,c++多态

a、编译时多态性(静态多态):通过重载函数实现

b、运行时多态性(动态多态):通过虚函数实现。(声明基类的指针,利用该指针指向任意一个子类对象,调用相应的虚函数,可以根据指向的子类的不同而实现不同的方法。virtual关键字)

 

虚函数: 就是允许被其子类重新定义的成员函数

纯虚函数: 是在基类中声明的虚函数,它在基类中没有定义,但要求任何派生类都要定义自己的实现方法

 

简单记:一个接口,多种方法

 

作用:封装可以使得代码模块化,继承可以扩展已存在的代码,他们的目的都是为了代码重用。而多态的目的则是为了接口重用。

 

 

3.常见CNN结构

LeNet,AlexNet,VGG,GoogleNet,ResNet

 

4.物体跟踪与识别,SLAM(重要!!!!

Simultaneous Localization and Mapping, 同时定位与地图构建

SLAM 的目的是解决“定位”与“地图构建”

应用:

室内扫地机

室内服务机器人

自动驾驶

空中的无人机

虚拟现实

增强现实

 

整个视觉SLAM流程包括以下步骤:

1.传感器信息读取。在视觉SLAM中主要为相机图像信息的读取和预处理。如果是在机器人中,还可能有码盘、惯性传感器等信息的读取和同步。

2.视觉里程计(Visual Odometry,VO)。视觉里程计的任务是估算相邻图像间相机的运动,以及局部地图的样子。VO又称为前端(Front End)。

3.后端优化(Optimization)。后端接受不同时刻视觉里程计测量的相机位姿,以及回环检测的信息,对它们进行优化,得到全局一致的轨迹和地图。由于接在VO之后,又称为后端(Back End)。

4.回环检测(Loop Closing)。回环检测判断机器人是否到达过先前的位置。如果检测到回环,它会把信息提供给后端进行处理。

5.建图(Mapping)。它根据估计的轨迹,建立与任务要求对应的地图。

经典的视觉SLAM框架是过去十几年的研究成果。这个框架本身及其所包含的算法已经基本定型,并且已经在许多视觉程序库和机器人程序库中提供。依靠这些算法,我们能够构建一个视觉SLAM系统,使之在正常的工作环境里实时定位与建图。因此,我们说,如果把工作环境限定在静态、刚体,光照变化不明显、没有人为干扰的场景,那么,这个SLAM系统是相当成熟的了。

 

 

5.梯度下降和牛顿法的区别

凸函数求极值的方法,他们都是为了求得目标函数的近似解。

梯度下降:

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值