当前位置: 首页 > news >正文

深度学习与图像处理案例 │ 基于深度学习的自动驾驶小车

 

采用深度学习回归模型,实现端到端的小车自动驾驶控制,提升小车自动驾驶平滑性。

01、卷积神经网络基础

卷积神经网络(Convolution Neural Network,CNN)是一类特殊的人工神经网络,是深度学习中最重要的一个分支。卷积神经网络在很多领域都表现优异,精度比传统学习算法高很多。特别是在图像处理领域,卷积神经网络是解决图像分类、目标检测和语义分割的主流模型。本节内容会进行更多工程上的讲解,不会涉及太多理论公式。

PaddlePaddle将深度神经网络模型按照层(Layer)的概念呈现。在本书接下来的内容中,会见到各种不同类型的层。那么怎么理解神经网络中层这个概念呢?

在投资预测案例中使用了直线方程y=ax+b来拟合数据,这个模型非常简单,拟合精度有限。如果希望强化这个模型,让它能够与观测数据更契合,这时候可以在直线方程基础上继续提高x的阶数,如下所示:

图片

很明显,提高阶数后的y2模型要比y1模型更复杂,属于二次非线性函数,具备更强的数据拟合能力。这里的y2是在y1的基础上乘上x再加上常数c完成的。因此,可以将y1和y2看作两层,且y2是在y1的基础上做了某些特定操作完成的,这就是最简单的层的概念。如果继续按照上述层操作,依次得到y3、y4等,那么越往后阶数越高,模型越复杂。

神经网络与高阶函数一样,理论上随着层数的增加函数的表达能力越强。卷积神经网络是通过一层层具备不同功能的操作堆叠出来的,一般由卷积层、激活函数层、池化层、线性变换层组成。下面将介绍各层的基本原理和计算规则。

1. 卷积层

卷积层的作用就是提取图像卷积特征。典型二维卷积操作如图2.31所示。

■ 图2.31典型二维卷积操作示意图

 

 

在图2.31所示中,输入图像形状是32×32×3,其中宽和高均为32像素,通道数为3,卷积层是一个5×5×3的滤波器,通过这样一个滤波器与输入图像进行卷积(卷积操作时假设padding=0),可以得到一个28×28×1大小的特征图。

一般情况会使用多层卷积来提取更深层次的特征。随着卷积层的加深,提取到的特征越来越抽象,对图像的理解能力也越来越强,如图2.32所示。在高层特征之后一般可以级联分类器对最终提取的高层特征进行分类,得到物体的最终类别。

■ 图2.32基于多层卷积的特征提取

 

那么卷积层是怎么计算的呢?

其实卷积层计算原理与参考书1.3节中介绍的图像卷积类似,只不过图像卷积操作一般1次只使用1个卷积,而深度学习中的卷积层可以1次使用多个卷积进行操作。例如对于形状为32×32×3的图像,如果使用1个卷积滤波器(形状为5×5×3)对其进行卷积可以得到28×28×1的特征图像; 如果使用n个同样大小的卷积滤波器,那么就会产生n个28×28×1的特征图,这些特征图合并就组成了28×28×n大小的特征图。可以看到,通过这样的卷积层操作,将原本只有32×32×3大小的输入图像变成了28×28×n大小。

PaddlePaddle提供了封装好的二维卷积层函数: Conv2D(),完整定义如下: 

图片

各参数说明如下: 

上述参数比较多,

http://www.dtcms.com/a/272639.html

相关文章:

  • GitHub上优秀的开源播放器项目介绍及优劣对比
  • 申请注册苹果iOS企业级开发者证书需要公司拥有什么规模条件
  • Nacos的基本功能以及使用Feign进行微服务间的通信
  • 【网络编程】 TCP 协议栈的知识汇总
  • ZW3D 二次开发-创建圆柱体
  • Qt cannot find C:\WINDOWS\TEMP\cctVBBgu: Invalid argument
  • QT5使用cmakelists引入Qt5Xlsx库并使用
  • 达梦数据库不兼容 SQL_NO_CACHE 报错解决方案
  • C++交叉编译工具链制作以及QT交叉编译环境配置
  • 生产环境CI/CD流水线构建与优化实践指南
  • 医院多部门协同构建知识库-指南库-预测模型三维网络路径研究
  • 12大产品规划工具对比:功能、价格与适用场景
  • (LeetCode 面试经典 150 题 ) 11. 盛最多水的容器 (贪心+双指针)
  • 2023 年 12 月青少年软编等考 C 语言七级真题解析
  • 2025年语言处理、大数据与人机交互国际会议(DHCI 2025)
  • QBoost 2025版:加速手机性能,提升使用体验
  • django中如何使用Django REST Framework
  • 基于SpringBoot旅游资源信息管理系统的设计与实现
  • 【Learning Notes】 Derak Callan‘s Business English P30~31
  • Redis数据库基础
  • 网安系列【15】之Docker未授权访问漏洞
  • Pytest 预期失败测试:如何标记“已知问题”用例
  • squash压缩合并
  • 【无标题】 RV1126平台(Buildroot Linux)+ SunplusIT SPCA2688 USB摄像头 RTSP推流全流程复盘与问题解决记录
  • 系统性部署系统母盘【rhel7和rhel9】
  • 7月10号总结 (1)
  • 大数据的安全挑战与应对
  • Linux:库的原理
  • swift开发,关于应用、页面、视图的生命周期
  • [C++ STL] list类的刨析及简易实现