黄南州网站建设公司,jsp网站建设期末作业,中国发达国家还有多远,厦门建设与管理局官网标题#xff1a;深度神经网络之BiseNet
1.模型介绍
BiseNet是一种用于实时语义分割的神经网络模型#xff0c;由华为公司提出。它结合了全卷积网络和空间金字塔池化模块的优点#xff0c;可以同时实现高效率和高精度的语义分割。
BiseNet的核心思想是将图像分为两个部分深度神经网络之BiseNet
1.模型介绍
BiseNet是一种用于实时语义分割的神经网络模型由华为公司提出。它结合了全卷积网络和空间金字塔池化模块的优点可以同时实现高效率和高精度的语义分割。
BiseNet的核心思想是将图像分为两个部分全局信息和局部信息。全局信息通过全卷积网络提取可以捕捉到图像的整体特征。而局部信息则通过空间金字塔池化模块提取可以捕捉到图像中不同尺度的细节特征。
通过辅助损失函数监督模型的训练通过主损失函数监督整个 BiSeNet 的输出。另外还通过添加两个特殊的辅助损失函数监督 Context Path 的输出就像多层监督一样。上述所有损失函数都是 Softmax。最后借助参数 α 以平衡主损失函数与辅助损失函数的权重。
优势在哪呢
空间路径Spatial Path使用较多的 Channel、较浅的网络来保留丰富的空间信息生成高分辨率特征上下文路径Context Path使用较少的 Channel、较深的网络快速 downsample来获取充足的 Context。基于这两路网络的输出文中还设计了一个Feature Fusion ModuleFFM来融合两种特征。
2.主要任务梳理 数据集的处理数据集的处理方式决定了模型的上限 A.图像裁剪Cityscapes数据集中的图像分辨率较高可以通过裁剪来减小图像尺寸加快训练速度。 B.数据标准化将图像像素值标准化到0到1之间可以提高模型的训练效果。 C.数据增强可以通过旋转、翻转、缩放等方式增加训练数据量提高模型的泛化能力。 D.随机裁剪随机裁剪可以增加训练数据量并且可以避免模型过度拟合。在裁剪时可以随机选择裁剪区域的大小和位置。 E.随机翻转随机翻转可以增加训练数据量并且可以使模型更好地学习不同方向的特征。可以随机选择水平或垂直方向翻转。
模型构建采用多模块分层设计尤其是对于损失函数的融合叠加比较关键
模型训练采用Intel提供的深度学习计算平台计算同时利用Intel加速计算架构加速
模型训练: 运行 $ export CUDA_VISIBLE_DEVICES0,1 $ torchrun --nproc_per_node2 tools/train_amp.py --finetune-from ./res/model_final.pth --config ./configs/bisenetv2_city.py # or bisenetv1 开始训练
运行 $ python tools/evaluate.py --config configs/bisenetv1_city.py --weight-path /path/to/your/weight.pth 开始评估
测试
3.模型测试效果 从图可以看出模型对于图像分割的效果是相当的不错很清晰的能够看出物体的轮廓和边缘。
4.具体收获 1.掌握了BiseNet网络: 在语义分割任务中具有高效率和高精度BiseNet结合了全卷积网络和空间金字塔池化模块的优点可以同时实现高效率和高精度的语义分割。
2.掌握了Intel One APi: 提高编程效率Intel OneAPI提供了统一的编程接口和工具链可以帮助开发者快速构建高性能应用并且可以在不同的硬件平台上运行。 提高应用性能Intel OneAPI提供了针对不同硬件平台的优化库和工具可以帮助开发者充分发挥硬件性能提高应用性能。
3.数据集的处理更加得心应手: 能够对特定的数据集进行处理和分析对于相关的特征处理也更加的得当。