购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.4 实践项目:CNN斑马线检测项目

利用百度飞桨PaddlePaddle框架搭建一个卷积神经网络,对包含斑马线的马路和不包含斑马线的马路图像进行分类。数据集中一张图像的样本如图3.25所示。

图3.25 图像样本示例

卷积神经网络具体设计流程如图3.26所示,大致分为数据处理、模型设计、训练配置、训练过程、模型保存这几个步骤,每个步骤中又包含各自模型不同的小细节。

由于项目代码篇幅较长,本节不附项目代码及介绍,读者可以扫码下载或通过链接在百度AI Stuido线上运行,项目代码附有注释,且配套有视频讲解。

项目运行:斑马线检测

https://aistudio.baidu.com/projectdetail/5107670?contributionType=1

图3.26 卷积神经网络设计流程 KzF6k0ytSkc2fqiB9NNQGJ+KCm+kFcQYq1sHSpqRZ6G+429cjiWzpX48HiVwmxLZ



3.5 实践项目:基于残差网络的自动驾驶数据集分类

本项目也是采用矿区自动驾驶图像分类数据集(mine_classification.zip),选择ResNet50网络来完成图像分类任务。具体地,ResNet50的每个残差块都包含两个卷积层和一个残差连接:第一个卷积层用于输入特征图的卷积计算,计算结果将被第二个卷积层再次进行卷积计算,两次卷积结果会相加并进入激活函数处理;残差连接则是跳过卷积计算,将输入特征图加在最后的激活函数前,最后得到新的输出特征图。具体的ResNet50网络结构如图3.27所示。

微信扫一扫,即可获取项目数据集及代码

图3.27 ResNet50网络结构

1)首先构建图像-标签对生成函数,遍历图像数据集,生成相应标签文件用于后续训练。

2)之后通过自己封装好的数据迭代器函数进行数据集类实例化,引用API实例化网络进行。训练过程如下:

3)最后根据模型的训练结果进行评估测试。

可以看到有些类别存在识别不准确的情况,抽取的随机样本具体预测结果如图3.28所示。

图3.28 预测结果 KzF6k0ytSkc2fqiB9NNQGJ+KCm+kFcQYq1sHSpqRZ6G+429cjiWzpX48HiVwmxLZ



思考题

1.推导7×7卷积核和2个3×3卷积核的感受野变化。

2.对比分析最大池化和平均池化的效果。

3.卷积的作用是什么?

4.针对3.4节斑马线检测项目,使用不同的卷积神经网络结构(AlexNet、GoogleNet、ResNet等)搭建网络模型,对比分析不同网络的训练效果。

5.尝试用不同的网络模型(如VGGNet、GoogleNet等)完成3.5节所述项目。 KzF6k0ytSkc2fqiB9NNQGJ+KCm+kFcQYq1sHSpqRZ6G+429cjiWzpX48HiVwmxLZ

点击中间区域
呼出菜单
上一章
目录
下一章
×