3分钟,了解3题必问算法题(NMS/分割/分类)
大家好,我是灿视。
我们将在每天更新的博文中,简单介绍下我们今天更新了哪些题,并且给出一个简短的参考答案。同时,我们每一题都会提供一个详细版本的参考回答,这些详细的参考回答是放在github上的,方便各位查看。
各位可以在文末的阅读原文,跳转到我们的Github地址。
算法面经题分享(5.26)
1. 介绍下FCN与UNet
是深度学习网络应用于图像分割领域的开山之作,它将全连接层全部替换为卷积层。由于整个网络中只有卷积层,所以叫做全卷积网络。
整体的网络结构分为两个部分:全卷积部分和反卷积部分。其中全卷积部分借用了一些经典的 网络(如 , , 等),并把最后的全连接层换成卷积,用于提取特征,形成热点图;反卷积部分则是将小尺寸的热点图上采样得到原尺寸的语义分割图像。
为了得到分割效果更好的模型,提出三种不同的模型: 、 、 ,将不同尺度的特征图进行融合,以恢复一些细节特征。
仍有一些缺点,比如:
-
得到的结果还不够精细,对细节不够敏感; -
没有考虑像素与像素之间的关系,缺乏空间一致性等。
网络结构是典型的编码器-解码器结构。它由一个收缩路径(左侧)和一个扩展路径(右侧)组成。收缩路径遵循卷积网络的典型架构。它由两个 x 卷积(未填充卷积)的重复应用组成,每个卷积后跟一个整流线性单位( )和一个 x 最大池化操作,步长为 用于下采样。在每个降采样步骤中,我们将特征通道的数量增加一倍。
扩展路径中的每个步骤都包括对特征图进行上采样,然后进行 x 卷积(”上卷积”),以将特征通道的数量减半,并与从收缩路径中相应裁剪的特征图进行级联,再进行两个3x3卷积,每个卷积都由一个 进行。由于每次卷积中都会丢失边界像素,因此有必要进行裁剪。在最后一层,使用 x 卷积将每 分量特征向量映射到所需的类数。该网络总共有 个卷积层。
相比更早提出的 网络,主要是以下的区别:
-
是通过特征图对应像素值的相加来融合特征的; -
使用拼接来作为特征图的融合方式,通过通道数的拼接,这样可以形成更厚的特征,当然这样会更佳消耗显存;
的好处我感觉是:网络层越深得到的特征图,有着更大的视野域,浅层卷积关注纹理特征,深层网络关注本质的那种特征,所以深层浅层特征都是有各自的意义;另外一点是通过反卷积得到的更大的尺寸的特征图的边缘,是缺少信息的,毕竟每一次下采样提炼特征的同时,也必然会损失一些边缘特征,而失去的特征并不能从上采样中找回,因此通过特征的拼接,来实现边缘特征的一个找回。
详细信息,请点击底部阅读原文,查阅 中的详细文章。
2. 系列之 与
为什么把 与 放一起呢?主要是因为它俩出自一篇文章~
主要核心创新点:
-
用两个 × 的卷积代替 × 的卷积
-
用 × 和 × 卷积代替 × 卷积
-
模块中的滤波器组被扩展(即变得更宽而不是更深)
-
引入辅助分类器,加速深度网络收敛 -
避免使用瓶颈层 -
减小特征图的尺寸
在 和 中, 主要是在 的基础上增加了 层;
提出了四种 模块,并引入辅助分类器,加速深度网络收敛。另一方面,在 中作者使用了 优化器和标签平滑,并在辅助分类器使用了 ,进一步加速网络收敛的速度。
详细信息,请点击底部阅读原文,查阅 中的详细文章。
3. 说下 ?
- - (非极大值抑制): 当两个 空间位置非常接近,就以 更高的那个作为基准,看 即重合度如何,如果与其重合度超过阈值,就抑制 更小的 ,只保留 大的就 ,其它的 就都应该过滤掉。对于 而言,适合于水平框,针对各种不同形状的框,会有不同的 来进行处理。
具体的过程与代码,可以点击底部阅读原文,查阅 中的详细文章。
- END -长按扫描下方二维码添加小助手。
可以一起讨论遇到的问题
声明:转载请说明出处
扫描下方二维码关注【集智书童】公众号,获取更多实践项目源码和论文解读,非常期待你我的相遇,让我们以梦为马,砥砺前行!