【深度学习】图像基础与神经网络及其应用

1 应用

  • 交通运输是新型基础设施与传统基础设施融合发展的重要领域,而智能交通是交通运输行业发展的主要方向之一。国家已经将“交通强国”列入国家战略,十三届全国人大四次会议通过《中华人民共和国国民经济和社会发展第十四个五年规划和2035年远景目标纲要》,指出发展智慧交通、自动驾驶和车路协同的出行服务,这将很大程度上为智能交通的建设速度和建设质量提供保障。锁定“碳达峰”,智慧交通刻不容缓。
  • ADAS作为自动驾驶的基础系统,是实现智慧交通的关键技术之一,其提升汽车主动安全性可以有效减少交通事故的发生和驾驶人员的伤亡。VO作为ADAS的关键技术之一,是实现SLAM中其他部分的必要基础,扮演着无可替代的角色。
  • 车辆的自主导航技术必须时刻保持对自身所处位置的准确获知,应用在ADAS中的VO可以精确感知车辆的运行环境和运行轨迹,获得车辆已经行驶的轨迹、道路交通环境中交通参与者以及路灯建筑等障碍物与车辆本体的距离等信息,从而实现自动驾驶、避障和行人保护等功能。
  • ADAS将在未来在车辆中发挥的作用,以协助驾驶员,帮助实现车辆的先进智能驾驶,其的功能具有不同的复杂性,从简单的制动建议到提供高级巡航控制等。ADAS是实现车辆智能驾驶和主动安全行为的关键,而车辆的运动状态和导航定位是ADAS实现高级巡航控制的必要信息。
  • 深度学习(Deep Learning, DL)作为机器学习领域中的一个研究方向,在诸多应用领域取得了成功。根据不同的学习方式分为不同的类别,包括监督学习、半监督学习和自监督学习。大量研究实验结果表明,与图像处理、计算机视觉、机器翻译、机器人控制领域等的传统机器学习方法相比,使用深度学习方法具有最先进的性能。深度学习技术包括深度神经网络 (Deep Neural Network, DNN),卷积神经网络(Convolutional Neural Network, CNN)、循环神经网络(Recurrent Neural Network, RNN)、包括长短期记忆(Long Short-Term Memory, LSTM)、自动编码器(Auto-Encoder, AE)、生成对抗网络(Generative Adversarial Network, GAN)和深度强化学习(Deep Reinforcement Learning, DRL)等[4]。本文所述的深度学习技术主要是指CNN,作为视觉领域最广泛使用的深度学习技术之一,其主要受到神经生物学技术分析影响。

2 深度学习

在这里插入图片描述

  • 神经元这种特性使得生物学和人工智能很好的融合在一起,虽然人工神经网络的神经元数量还远未达到生物学中的神经元数量,但这开启了人工神经网络研究的序幕。

  • 激活函数作为人工神经网络非线性表达的重要计算过程,常用的激活函数有Sigmoid函数、Tanh双曲正切函数、ReLU函数或者ELU函数等。
    List item

  • 几种常见的激活函数如图2-4所示,随着输入的增大,Sigmoid激活函数的导数在不断变小,这会造成在CNN中梯度减小至消失,梯度消失或爆炸都会对神经网络的训练造成影响。针对Sigmoid激活函数存在的梯度消失的问题,ReLU激活函数可以很好的解决,无论输入如何增大,其梯度值保持不变,但是由于其单边抑制性,导致输入信息不能完全利用,就有研究人员提出了ELU激活函数,避免了ReLU激活函数在输入小于0的情况下其梯度也是0的情况,ELU激活函数在输入小于0的情况下,其输出梯度是一个较小值而不是直接为0,在一定程度上解决了ReLU激活函数存在的问题。
    在这里插入图片描述

  • 神经网络的基本原理为通过感知器从外部接收输入并产生输出,感知器为包含内部参数的计算节点(神经元)。神经网络结构一般由多层感知器(Multilayer Perceptron’s, MLP)组成,其包含若干隐藏层,每个隐藏层包含若干神经元。神经网络发展历史与关键节点如下[4]:1943年McCulloch和Pitts表明可以组合神经元来构建图灵机;1958年:Rosenblatt表明感知器在学习某种表示时可以收敛;1969年Minsky和Papert展示了感知器的局限性,使神经网络研究停滞了十年;1985年Geoffrey Hinton 等人提出反向传播算法振兴了神经网络领域;1988年Neocognitron提出一种能够识别视觉模式的分层神经网络受到认可;1998年Yan LeCun使用反向传播的CNN进行文档分析;2006年Hinton实验室解决了DNN的训练问题;2012 年至今各种深度学习算法不断涌现。

  • CNN最早由Fukushima在1988年提出[5],然而,由于当时计算机硬件设备计算能力的限制,这个模型并没有得到广泛应用。在1990年,LeCun等人[6]将基于梯度的学习算法应用于CNN,并获得了手写数字分类问题的成功。在此之后,研究人员进一步研究和改进了CNN,在许多识别任务中提高了模型的表现。

  • CNN与DNN相比有几个明显的优点,比如其结构更像人类的视觉神经元,在处理图像上能够有效地学习和提取相关的抽象特征。相比于全连接网络的稠密连接方式,CNN因其稀疏的连接结构,权重的参数量要明显小很多,其池化层结构也使得其模型更适合处理图像任务。最重要是,使用基于梯度下降的学习算法进行CNN的训练,通过优化算法最小化设置的误差函数,产生高度优化的权重参数,得到最佳模型。

  • CNN的网络结构架构主要由两个部分组成:特征提取器和分类器,三种基本结构类型为:卷积层、池化层和全连接层。特征提取器网络结构由多层卷积层组成,在特征提取器中,网络的每一层都将前一层的输出作为输入,并将其输出作为输入传递给下一层。随着卷积层数量的增加,卷积神经网络越来越深,而特征也从低维特征向高维特征计算。当特征传播到最高层时,特征的维度数量分别根据卷积等操作的内核大小而减少,但是为了更好的表示输入图像的特征和提高分类精度等操作,特征图的数量通常会增加。在大多数视觉任务中,CNN的最后一层输出用作全连接层网络的输入,称为分类层。在分类层中,将提取的特征作为最终神经网络权重矩阵维度的输入,但是全连接层的计算量较大。目前,随着深度学习技术的发展,诸如平均池化和全局平均池化等被用作全连接层的替代方案并取得了不错的实验效果。

  • 1998年,LeNet[6]提出用于识别手写字符识别,其卷积神经网络的结构和反向传播的优化算法提高了手写字符的准确率,如图1-4所示。在LeNet之后,CNN得到迅速发展,有很多基于LeNet的网络结构提出。AlexNet[7]由Alex Krizhevsky于2012年提出,夺得2012年ImageNet Large Scale Visual Recognition Challenge比赛的冠军,top5预测的错误率为16.4%。AlexNet采用8层的神经网络,5个卷积层和3个全连接层,包含6亿3000万个连接,6000万个参数和65万个神经元,AlexNet网络结构示意图如图1-5所示。

  • VGGNet[8]由牛津大学计算机视觉组和Google DeepMind公司研究员共同研发。它探索了CNN的深度和其性能之间的关系,通过反复的堆叠33的小型卷积核和22的最大池化层,成功的构建了16~19层深的CNN。VGGNet获得了2014年ImageNet Large Scale Visual Recognition Challenge比赛的亚军和定位项目的冠军,在top5上的错误率为7.5%。
    在这里插入图片描述

  • GoogLeNet[9]是Google推出的基于Inception模块的深度神经网络模型,在2014年的ImageNet竞赛中夺得了冠军,在随后的两年中一直在改进,形成了多个版本。Inception结构就是把多个卷积或池化操作,放在一起组装成一个网络模块,设计神经网络时以模块为单位去组装整个网络结构,其结构如图1-6所示。
    在这里插入图片描述

  • 自Kaiming He在2015年提出ResNet[10]以后,ResNet的改进网络层出不穷,都各有其特点,网络性能也有一定的提升。在2017年CVPR中提出的 DenseNet[11]主要借鉴ResNet以及GoogleNet的网络结构思想,设计了全新的网络结构,网络结构并不复杂,却非常有效,使得网络性能进一步提升,并在CIFAR指标上全面超越ResNet。

  • 以上所讨论模型的应用领域非常广泛,包括数据挖掘、图像分类、检测、分割、去噪、高光谱图像、图像配准、定位、风格迁移、字符识别等[4],深度学习技术被大量应用并取得了先进的性能。
    在这里插入图片描述

  • 神经网络基本结构

在这里插入图片描述

  • 参数是神经网络结构中所含有的基本信息之一,数量众多的参数构建起了神经网络模型。神经网络的层数决定了神经网络的深度,神经网络的深度决定其算法模型的复杂度,算法模型越简单,其训练越容易收敛,但是容易造成欠拟合;算法模型越复杂,其训练越难以收敛,也容易导致过拟合。
  • 神经网络的前向传播是层层递进式计算的,上一层的输出是下一层的输入。神经网络其实就是一个输入x到输出y的映射函数:f(x)=y,函数的系数就是我们所要训练的网络参数w,只要函数系数确定下来,对于任何输入x我们就能得到一个与之对应的输出y。
    在这里插入图片描述
  • ORB-SLAM
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

  • 模型轻量化
    (1):大模型拟合能力和泛化能力均强于小模型,小模型比大模型容易过拟合,用大模型引导小模型,仅保留大模型的有效信息,实现知识蒸馏。
    (2):去掉模型的冗余参数后,使模型基本达到同样的拟合能力。通常在网络模型中寻找冗余的卷积核,对其进行剪枝(稀疏处理),具体分为训练时和训练后的剪枝。
    (3):是指将网络模型中的高精度参数量化为低精度参数,从而实现加速计算。
    (4):对于网络模型参数存在的大量冗余,使用SVD分解和PQ分解将原始张量分解成若干个低秩张量,以减少卷积计算量,提高推理速度。
    在这里插入图片描述

在这里插入图片描述

3 数字图像

  • 随着计算机硬件设备计算能力的提升和计算机软件的进一步发展,计算机逐渐被用来处理图像数据,后续发展为数字图像这一学科。早期的图像处理主要目的是改善图像质量,进行几何校正、去噪等。计算机是采用0-1编码的系统,数字图像也是利用0-1表示在计算机系统中的,通常图像是二进制的八位数字图像,灰度区间为0-255,0表示黑,255表示白,在灰度阶跃变化的时候,边缘处要更加明显,主观上增强了灰度边缘处的对比度,如图2-1所示,为灰度图的马赫带示意图。
    在这里插入图片描述

  • 图像分辨率为在每英寸的像素数量,比如分辨率1280×960就是指水平像素为1280,垂直像素为960,为120万像素。色彩空间可以根据通道数来区分,比如灰度图是单通道,只包括亮度信息,而彩色图最常见的是RGB通道,不仅包含亮度信息还有色彩信息。RGB通道由红色(Red)、绿色(Green)、蓝色(Blue)三个通道,自然界中的所有颜色都由这三种颜色组合而成。除了RGB色彩空间,还有HSV色彩空间、YUV色彩空间等。

  • 直方图表示数字图像中亮度连续变量的分布情况,如灰度图对像素的灰度值进行统计就可以得到灰度图的直方图。在二进制八位表示的图像中,直方图中左侧为0,右侧为255,如图2-2所示,为彩色图对应的三通道直方图。

  • 对比度是指的画面的明暗反差程度。增加对比度,明暗反差增强;清晰度则是指靠近边缘较暗的一侧会变得更暗,靠近边缘较亮的一侧会变得更亮,但这种亮度对比的变化只局限在边缘周围的部分;锐化则类似于清晰度,只作用于物体的边缘,但主要是通过在边缘两侧,增加黑白相间的高对比使其看起来更加突出锐利。通常情况下,锐化会增加数字图像清晰度,模糊和降低分辨率则会降低数字图像清晰度。常见的对比度调整方法有线性变换、伽马变换、直方图均衡化等操作。

  • 线性变换常用线性函数对图像像素进行处理,如公式2-1所示,其中x_min和x_max为数字图像中最大像素灰度值和最小像素灰度值。
    在这里插入图片描述
    在这里插入图片描述

  • 伽马变换通常使用指数函数对图像像素进行处理,如公式2-2所示,输入图像灰度值为x,γ为伽马系数,c为常数,当伽马系数小于1时,原始的图像亮度会增加。

  • 直方图均衡化通常用来增加全局图像的对比度,其提供使灰度直方图分布更加均衡。除了全局直方图均衡化,还有局部直方图均衡化,其可以提供更好的图像局部细节。

  • 数字图像处理主要是针对数字图像的像素直接进行操作,计算机视觉和数字图像处理息息相关,相对于数字图像更加关注于底层的图像变换实现,计算机视觉更加关注于高级信息理解。

4 DL & SLAM

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值