基于VGG-Net网络的道路语义分割
1.目的
项目基于VGG-Net网络实现道路图像的语义分割,利用英特尔开发工具,验证经过英特尔开发工具优化后的训练时间与推理时间与未经优化前推理时间的差异。
2.关键实施细节
系统基于Tensorflow进行程序的开发,使用英特尔oneAPI AI分析工具套件分析与原始版本的区别。
采用端到端的方式进行程序的开发,端到端的开发方式如下所示。
模型以图像作为输入,以分割结果作为输出,采用python 3.7作为开发语言,深度学习框架为Tensorflow 2.8.0,官方提供的数据集包括原始数据集以及标注后的结果,同时提供了图像中物体的标注框。数据集按照训练集、测试集和验证集进行了划分,其中训练集2975幅图片,图像分辨率为2048*1024。
VGG-UNET网络为基于分割的卷积神经网络,是一种分割架构,用于从图像中分割出不同的物体。VGG-UNET网络结构如下图所示。
模型训练过程如下所示;
模型推理过程如下所示:
模型评估过程如下所示:
接下来我们采用英特尔优化的方式实现上述过程,基于英特尔oneAPI组件优化的端到端的解决方案如下图所示。
同样基于VGG-UNET网络,不同的是,采用经过英特尔oneDNN优化的Tensorflow 2.9.0进行模型的训练和推理。
试验结果显示,与原始训练时间4179.144相比,利用优化过的网络进行训练,时间为4094.539,训练时间得到有效的缩短。