【AI达人特训营第三期】:PaddleSeg助力自动驾驶场景分割
时间:2025-07-30 13:30:59
本文介绍使用PaddleSeg工具处理基于ADE数据集场景解析的过程。首先,解压相关软件及数据集,并加载并预处理它们。采用GCnet模型,其简化注意力机制高效且具有竞争力。此外,还提到了KNet等其他算法以及两种分割方式的优缺点。在训练后,GCnet表现出比Upernet更好的mIoU、耗时和模型大小。最后,分享了调参等经验。
一、项目背景介绍
ADE20K数据集来源
场景解析基准测试:从理论到实践场景解析是将图像分割并解析为与语义类别相关联的不同图像区域,例如天空、道路、人和床。MIT Scene Parsing Benchmark (SceneParse 为这种复杂任务提供了一个标准的训练和评估平台。本次基准测试的数据集来自ADE Dataset,该数据集中包含超过以场景为中心的图像,并且对象和对象部分进行了详尽注释。具体来说,基准测试分为三个部分:用于训练,用于验证,以及另外一批留作测试用。共有语义类别供评估,包括天空、道路、草地、人和车、床等离散对象。这个场景解析基准测试不仅提供了挑战性的任务要求,还捕捉了图像中自然分布的对象类型。请注意,图像中的对象分布并不均匀,这与现实世界中更常见的情况相符。
对于每张图像,分割算法生成一个语义分割掩码,预测像素的语义类别。其性能由像素精度平均值及所有语义类别的平均交并比(IoU)决定。
我们的基准集已与ILSVRC'赛中的多个任务和COCO挑战结合,包括Scene Parsing Challenge Places Challenge 您可以访问场景解析的演示来了解细节。此外,我们还公开了预训练模型和相应代码。
二、准备工作
2.1、使用paddleseg配置文件开发
参考:20分钟快速上手PaddleSeg
也可参考官方aistudio:10分钟上手PaddleSeg In [1]
# 这里准备好了paddleseg套件,直接解压即可!unzip -oq /home/aistudio/data/data201976/PaddleSeg.zip -d /home/aistudio/work/登录后复制
2.2、解压数据集
In [2]
!unzip -oq /home/aistudio/data/data26423/ade20k.zip -d /home/aistudio/work/dataset/登录后复制
2.3、加载数据集
得益于peddseg的完美封装,我们能在低代码环境中迅速便捷地进行数据加载、模型训练及验证工作。只需调整相应的配置文件即可完成这些操作。
数据集的加载和预处理在/home/aistudio/work/PaddleSeg/configs/base/ade20k.yml
三、模型训练
3.1、模型和backbone的选取
这里选用的模型是GCnet
这张图片中各个像素点间的关系,特别是长距离像素点间的互动对各种视觉任务至关重要。这种关系可以通过传统的堆叠卷积层(Stacked Convolutions)来实现,但效率通常不高。Non-local网络采用了自注意力机制(Self-Attention Mechanism),有效地解决了这个问题。然而,对于图像而言,作者发现每个像素点的基本全局特征图是相似的,如图示,其中红色标记的是我们要计算的目标点。基于这一点,我们就不需要为每个点单独计算其全局特征图了。因此,作者提出了一种比Non-local网络效果更好的但计算量较小的简化注意力机制模块(Simplified Attention Mechanism)。这种简化的方法虽然在某些方面略逊于非局部网络,但在计算效率上有了显著提升,并且仍然可以达到良好的性能表现。简化的注意力机制通过共享部分特征并进行多尺度融合,大大减少了模型的参数和内存需求,从而提高了模型的可训练性和鲁棒性。

图1 non-local方法计算的红色点的注意力特征图
非局部计算方法有多种,例如高斯、嵌入式高斯、点积和拼接等。基于此,Graph Convolutional Network (GCNet) 则采用了嵌入式高斯的方法,这也是常见使用的策略。该模块的具体实现细节如图示。从图中可以清晰看到,GCNet模块是对简化版的非局部模块和SE(Self-Attention)机制进行结合的结果。例如,非局部计算方法将输入图节点间的关系通过一系列操作映射到一个固定大小的空间上,并利用空间距离来传递信息,这在图神经网络处理任务中具有重要作用。而嵌入式高斯则是通过构建一个图的向量表示空间,使各节点在其中的位置分布能够反映其非局部属性。这种方法不仅增强了模型对复杂数据的建模能力,还显著提升了模型的泛化能力和性能。简单来说,GCNet是基于非局部计算方法的一个重要组成部分,它结合了嵌入式高斯和自注意力机制的优势,从而在图像处理、推荐系统等多个领域取得了卓越的表现。

图2 GCNet模块实现细节示意图
详细模型信息可前往/home/aistudio/work/PaddleSeg/models/gcnet.py查看代码细节
配置文件为/home/aistudio/work/PaddleSeg/configs/gcnet/gcnet_resnet50_os8_voc12aug_512x512_40k.yml
backbone为经典的resnet50_vd

在paperwithcode网站上,可看出gcnet在Instance Segmentation on COCO test-dev上mask_AP高达45.4,算是比较不错的算法
3.2、浅谈一下其他算法
3.2.1、KNet:
KNet 是一种基于卷积神经网络(CNN)的语义分割算法,它采用了 U-Net 架构,并增加了 skip connections 和 deep supervision 等创新技术。该模型接收一张图像作为输入,输出是每个像素的类别标签。在训练过程中,KNet 通常使用交叉熵损失函数和随机梯度下降法优化算法进行学习。
优点:KNet展现出了极高的准确度,在处理微小物体和复杂的环境背景上效果显著。它的设计理念简洁易懂,易于理解与实际操作。KNet广泛应用于图像分割任务,涵盖医学图像分割及自然图像分割等多个领域。
缺陷分析:KNet由于复杂的计算结构,对计算资源的需求较大,并且其对于输入图像的尺寸与分辨率有一定依赖性,需要进行特定的预处理(如图像尺度归一化)。此外,在解决像遮挡、遮蔽和形状不规则等问题时,可能会产生一定程度的误差。
3.2.2、MaskFormer:
MaskFormer 是一种基于 Transformer 的语义分割算法,它使用自注意力机制捕捉长距离依赖关系,并将它们与局部特征结合在一起。MaskFormer 的输入是一张图像,输出是该图像中每个像素的掩码。其训练过程通常采用二进制交叉熵损失函数和 Adam 优化算法。
优点:MaskFormer 具有极高的准确性,并在处理遮挡、遮蔽和不规则形状等问题时表现卓越。其训练速度非常快,在大规模数据集上也能轻松胜任。 MaskFormer 的掩码输出适用于多种分割任务,如实例分割和语义分割等。
优点:在处理大规模图片时,MaskFormer表现出色。缺点:其计算量较大,需要更强大的硬件支持;对图像尺寸有较高的要求,需进行特定的预处理步骤。
3.2.3、UperNet:
UperNet 是一种基于Encoder-Decoder架构的语义分割技术,它通过结合多尺度特征来提升分割精度。输入为一张图像,输出则是该图像中每个像素的类别标签。在训练过程中,通常采用交叉熵损失函数和随机梯度下降算法。
优点:UperNet 拥有极高的准确性,在应对遮挡和不规则形状等问题时表现优异。它的计算效率不高,但速度快。此外,UperNet 的结构非常灵活,用户可以轻松调整层的数量和通道来适应不同的应用需求。
优点:UperNet 在处理大量遮挡和遮蔽等问题时表现出色,具有很高的准确性和稳定性;其特征融合过程不产生信息损失,确保了分割的准确性;由于多尺度特征融合,它无需对输入图像进行多次下采样和上采样,从而保持了分辨率和精度。
综上所述,KNet、MaskFormer和UperNet在图像分割任务中有广泛的应用,并且这些算法各具特色。每个算法都有其优势与劣势,因此在决定使用何种方法时,需要根据具体的场景和需求来选择,这样才能达到最佳的分割效果和性能。
3.2.4、逐像素分割和逐 mask分割各自优缺点
逐像素分割和逐 mask 分割是两种常用的图像分割方法。
逐像素分割,又称全像素分割,是指每个图像上的每一个像素被分配到不同的目标类别中。这种技术的优点是能够生成极精确的分割结果,可以详细展示目标物体的形状与轮廓细节,特别适用于尺寸小且形态复杂的目标识别场景。然而,逐像素分割也有其缺点:计算量较大,需要处理海量的像素点;同时容易受到噪声的影响,对这些干扰因素敏感,因此在实际应用中通常会进行预处理如去噪等步骤以提高准确率。
逐mask分割,又称实例分割,是一种将图像中每个目标实例分配到不同的目标类别的技术,使得同一目标的所有像素点归为一个类别,从而获得实例级别的分割结果。逐mask分割的优点在于能够提供准确的实例级分割结果,对于尺寸较大且形状简单的目标有良好的表现,并且由于没有依赖于背景信息的规则化处理,具有较强的抗噪声能力。然而,这种方法也存在一些局限性:首先,它无法清晰地区分同一类别的不同实例,使得这些实例在识别时可能被混淆;其次,它也无法捕捉到目标细节的信息,对于尺寸小、形状复杂的对象则表现不佳。虽然逐mask分割方法有很多优点,但在实际应用中也有其限制。为了克服这些缺点,可以尝试结合其他更复杂的方法或算法来提高模型的性能和实用性。例如,可以通过引入更多的监督信息(如实例级别的边界框)或者使用更先进的图像处理技术(如目标检测与识别技术)来进行改进。总之,逐mask分割是图像处理领域中的一个关键工具,但在应用中需要权衡其优势与局限性,并通过不断的技术创新来提高其实际效果。
总之,逐像素分割和逐mask分割各有优势与劣势。因此,在选择分割方法时需综合考量目标大小、形状、数量及噪音水平,并结合具体应用需求,比如实例级分割的要求。
3.2.5、总体而言
选择适合特定应用场景的分割算法非常重要。为了确保高准确性且有足够的计算资源,可以考虑使用 KNet 和 MaskFormer。然而,如果你倾向于在时间和计算资源上更加高效,那么可以选择 UperNet。此外,如果图像中包含大量遮挡、遮蔽或不规则形状,则 MaskFormer 可能是更好的选择。
在逐像素分割和逐 mask 分割方面,逐像素分割更为精准但计算复杂度较高;而逐 mask 分割能更精细地区分不同实例但存在重叠风险,并需额外生成掩码,因而速度相对较慢。
综上所述,应根据具体的应用场景和需求来选择适合的分割算法和分割方式。
3.3、开始训练
In []
在Aistudio环境设置中,使用以下命令启动并运行PaddleSeg训练任务: ``` cd /home/aistudio/work/PaddleSeg !python train.py \ --config configs/gcnet/gcnet_resnetosvocug_.yml \ --do_eval \ --use_vdl \ --save_interval \ --save_dir output1 ``` 其中`cd /home/aistudio/work/PaddleSeg`用于切换到PaddleSeg文件夹,确保你已经在正确的工作目录下。运行命令时,请确保你的Python环境已经安装,并且所有依赖库都已正确配置。启动后,系统将根据配置文件进行训练,并在指定的间隔周期内保存模型状态或评估效果。如果启用了Vdl日志功能,还可以通过指定路径访问和可视化训练过程。
3.4、数据模型可视化
3.5、补充一下Upernet模型
In []
%cd /home/aistudio/work/PaddleSeg !python train.py \ --config configs/upernet/upernet_resnet101_os8_cityscapes_512x1024_40k.yml \ --do_eval \ --use_vdl \ --save_interval 1000 \ --save_dir output2 \ # --resume_model output2/iter_8000 \ # --resume_model 恢复训练# 配置文件位置为/home/aistudio/work/PaddleSeg/configs/upernet/upernet_resnet101_os8_cityscapes_512x1024_40k.yml登录后复制
Upernet训练过程可视化
四、模型验证
笔者在/home/aistudio/work/PaddleSeg/output1/best_model下准备了GCNet的best_model,直接运行以下代码块即可查看效果 In [2]
%cd /home/aistudio/work/PaddleSeg !python val.py \ --config configs/gcnet/gcnet_resnet50_os8_voc12aug_512x512_40k.yml \ --model_path output1/best_model/model.pdparams \登录后复制
/home/aistudio/work/PaddleSeg 2023-03-24 08:26:55 [INFO] ---------------Config Information--------------- batch_size: 13 iters: 20000 loss: coef: - 1 - 0.4 types: - type: CrossEntropyLoss lr_scheduler: decay_steps: 10000 end_lr: 1.0e-06 learning_rate: 0.0001 power: 0.9 type: PolynomialDecay warmup_iters: 50 warmup_start_lr: 1.6e-06 model: align_corners: false backbone: output_stride: 8 pretrained: https://bj.bcebos.com/paddleseg/dygraph/resnet50_vd_ssld_v2.tar.gz type: ResNet50_vd enable_auxiliary_loss: true gc_channels: 512 pretrained: null ratio: 0.25 type: GCNet optimizer: beta1: 0.9 beta2: 0.999 type: AdamW weight_decay: 0.05 train_dataset: dataset_root: /home/aistudio/work/dataset/ADEChallengeData2016/ mode: train transforms: - max_scale_factor: 2.0 min_scale_factor: 0.5 scale_step_size: 0.25 type: ResizeStepScaling - crop_size: - 512 - 512 type: RandomPaddingCrop - type: RandomHorizontalFlip - brightness_range: 0.4 contrast_range: 0.4 saturation_range: 0.4 type: RandomDistort - type: Normalize type: ADE20K val_dataset: dataset_root: /home/aistudio/work/dataset/ADEChallengeData2016/ mode: val transforms: - type: Normalize type: ADE20K ------------------------------------------------ W0324 08:26:55.128404 3109 gpu_resources.cc:61] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 11.2, Runtime API Version: 11.2 W0324 08:26:55.128458 3109 gpu_resources.cc:91] device: 0, cuDNN Version: 8.2. 2023-03-24 08:26:56 [INFO] Loading pretrained model from https://bj.bcebos.com/paddleseg/dygraph/resnet50_vd_ssld_v2.tar.gz Connecting to https://bj.bcebos.com/paddleseg/dygraph/resnet50_vd_ssld_v2.tar.gz Downloading resnet50_vd_ssld_v2.tar.gz [==================================================] 100.00% Uncompress resnet50_vd_ssld_v2.tar.gz [==================================================] 100.00% 2023-03-24 08:27:06 [INFO] There are 275/275 variables loaded into ResNet_vd. 2023-03-24 08:27:06 [INFO] Loading pretrained model from output1/best_model/model.pdparams 2023-03-24 08:27:06 [INFO] There are 311/311 variables loaded into GCNet. 2023-03-24 08:27:06 [INFO] Loaded trained params of model successfully 2023-03-24 08:27:06 [INFO] Start evaluating (total_samples: 2000, total_iters: 2000)... 2000/2000 [==============================] - 150s 75ms/step - batch_cost: 0.0749 - reader cost: 2.2674e-04 2023-03-24 08:29:37 [INFO] [EVAL] #Images: 2000 mIoU: 0.4060 Acc: 0.7891 Kappa: 0.7733 Dice: 0.5450 2023-03-24 08:29:37 [INFO] [EVAL] Class IoU: [0.7124 0.8008 0.9313 0.7649 0.7004 0.7802 0.7785 0.8228 0.5516 0.6548 0.5171 0.5712 0.7614 0.3339 0.3057 0.4794 0.5427 0.4586 0.6691 0.4856 0.8022 0.4848 0.598 0.5627 0.3497 0.4863 0.4897 0.4337 0.4701 0.2799 0.347 0.5287 0.3518 0.3859 0.42 0.3769 0.5323 0.6636 0.2801 0.4832 0.1924 0.1725 0.4099 0.3104 0.3519 0.2163 0.3782 0.6042 0.539 0.6257 0.5381 0.401 0.1217 0.2473 0.6241 0.4786 0.8794 0.458 0.4401 0.2717 0.1967 0.5515 0.2755 0.2419 0.4676 0.758 0.2995 0.3691 0.05 0.3994 0.4922 0.6181 0.4712 0.2761 0.5462 0.3593 0.4183 0.4103 0.5348 0.3811 0.6988 0.5173 0.3753 0.1949 0.3953 0.5977 0.171 0.1695 0.2836 0.6271 0.5258 0.0745 0.3111 0.1573 0.0004 0.0924 0.2422 0.3383 0.19 0.4618 0.0716 0.0486 0.3279 0.6406 0.2951 0.5686 0.1721 0.6494 0.2546 0.4074 0.3229 0.1346 0.2477 0.5765 0.8193 0.1123 0.601 0.7063 0.2151 0.3593 0.5408 0.0423 0.2745 0.1847 0.4372 0.2888 0.512 0.4712 0.0009 0.4836 0.6393 0.0429 0.3087 0.3261 0.1744 0.2856 0.2329 0.0178 0.3722 0.4944 0.4709 0.0724 0.444 0.021 0.4145 0.0017 0.4981 0.1145 0.1682 0.2814] 2023-03-24 08:29:37 [INFO] [EVAL] Class Precision: [0.8119 0.8695 0.962 0.8547 0.7814 0.8793 0.8997 0.8753 0.7011 0.7864 0.7353 0.6727 0.8435 0.5302 0.6102 0.6638 0.7082 0.7214 0.7994 0.6683 0.8769 0.6835 0.7093 0.6884 0.5274 0.6138 0.5585 0.6761 0.7636 0.393 0.5105 0.6331 0.5877 0.5448 0.5405 0.4941 0.7326 0.7843 0.4651 0.6829 0.359 0.4159 0.6445 0.567 0.5198 0.5016 0.5896 0.7959 0.6443 0.7543 0.6547 0.444 0.3063 0.599 0.6497 0.5739 0.9083 0.7014 0.5525 0.4622 0.3538 0.684 0.4142 0.688 0.5741 0.8462 0.5175 0.5607 0.1598 0.6991 0.6164 0.7631 0.6411 0.3225 0.7192 0.4976 0.5331 0.6106 0.7578 0.542 0.7403 0.7045 0.7159 0.3659 0.753 0.7415 0.4658 0.443 0.6463 0.753 0.7322 0.1231 0.513 0.4166 0.0036 0.3219 0.5174 0.5526 0.4577 0.6989 0.3567 0.0755 0.6647 0.7321 0.721 0.6855 0.3575 0.9111 0.4424 0.5729 0.6351 0.1438 0.49 0.629 0.8332 0.436 0.746 0.7556 0.3095 0.4968 0.7359 0.3707 0.7468 0.6528 0.8193 0.6748 0.8287 0.6061 0.0664 0.645 0.7521 0.4227 0.5671 0.7565 0.6982 0.4636 0.4544 0.1138 0.5872 0.6711 0.6449 0.0955 0.6682 0.2432 0.6712 0.0112 0.8014 0.5777 0.4641 0.6835] 2023-03-24 08:29:37 [INFO] [EVAL] Class Recall: [0.8531 0.9103 0.9668 0.8792 0.871 0.8739 0.8525 0.9321 0.7212 0.7964 0.6354 0.791 0.8867 0.4742 0.38 0.6331 0.6991 0.5574 0.804 0.6397 0.904 0.6252 0.7922 0.7549 0.5092 0.7007 0.7988 0.5474 0.5502 0.493 0.52 0.7623 0.4671 0.5695 0.6534 0.6139 0.6606 0.8117 0.4132 0.623 0.2931 0.2276 0.5298 0.4069 0.5214 0.2755 0.5134 0.715 0.7672 0.7858 0.7512 0.8054 0.1679 0.2964 0.9406 0.7424 0.9651 0.569 0.684 0.3973 0.3069 0.74 0.4515 0.2717 0.7159 0.8791 0.4155 0.5193 0.0678 0.4824 0.7096 0.7648 0.6399 0.6571 0.6943 0.5639 0.66 0.5558 0.6451 0.5622 0.9258 0.6606 0.441 0.2942 0.4542 0.755 0.2127 0.2154 0.3357 0.7894 0.6509 0.1586 0.4415 0.2017 0.0004 0.1147 0.3129 0.4659 0.2452 0.5765 0.0822 0.1199 0.3929 0.8367 0.3332 0.7692 0.2492 0.6933 0.375 0.5852 0.3965 0.6772 0.3337 0.8734 0.98 0.1314 0.7557 0.9155 0.4136 0.5649 0.6711 0.0456 0.3027 0.2048 0.4839 0.3355 0.5727 0.6792 0.0009 0.659 0.81 0.0456 0.4039 0.3644 0.1886 0.4266 0.3233 0.0207 0.5042 0.6526 0.6357 0.2303 0.5697 0.0225 0.5201 0.0019 0.5683 0.125 0.2087 0.3236]登录后复制
笔者在/home/aistudio/work/PaddleSeg/output2/best_model下准备了Upernet的best_model,直接运行以下代码块即可查看效果 In [3]
%cd /home/aistudio/work/PaddleSeg !python val.py \ --config configs/upernet/upernet_resnet101_os8_cityscapes_512x1024_40k.yml \ --model_path output2/best_model/model.pdparams \登录后复制
/home/aistudio/work/PaddleSeg 2023-03-24 08:53:26 [INFO] ---------------Config Information--------------- batch_size: 8 iters: 40000 loss: coef: - 1 - 0.4 types: - type: CrossEntropyLoss lr_scheduler: decay_steps: 20000 end_lr: 1.0e-06 learning_rate: 0.001 power: 1.5 type: PolynomialDecay warmup_iters: 150 warmup_start_lr: 1.6e-06 model: backbone: output_stride: 8 pretrained: https://bj.bcebos.com/paddleseg/dygraph/resnet101_vd_ssld.tar.gz type: ResNet101_vd backbone_indices: - 0 - 1 - 2 - 3 channels: 512 dropout_prob: 0.1 enable_auxiliary_loss: true type: UPerNet optimizer: type: sgd weight_decay: 0.0005 train_dataset: dataset_root: /home/aistudio/work/dataset/ADEChallengeData2016/ mode: train transforms: - max_scale_factor: 2.0 min_scale_factor: 0.5 scale_step_size: 0.25 type: ResizeStepScaling - crop_size: - 512 - 512 type: RandomPaddingCrop - type: RandomHorizontalFlip - brightness_range: 0.4 contrast_range: 0.4 saturation_range: 0.4 type: RandomDistort - type: Normalize type: ADE20K val_dataset: dataset_root: /home/aistudio/work/dataset/ADEChallengeData2016/ mode: val transforms: - type: Normalize type: ADE20K ------------------------------------------------ W0324 08:53:26.108537 7681 gpu_resources.cc:61] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 11.2, Runtime API Version: 11.2 W0324 08:53:26.108594 7681 gpu_resources.cc:91] device: 0, cuDNN Version: 8.2. 2023-03-24 08:53:27 [INFO] Loading pretrained model from https://bj.bcebos.com/paddleseg/dygraph/resnet101_vd_ssld.tar.gz 2023-03-24 08:53:29 [INFO] There are 530/530 variables loaded into ResNet_vd. 2023-03-24 08:53:29 [INFO] Loading pretrained model from output2/best_model/model.pdparams 2023-03-24 08:53:30 [INFO] There are 616/616 variables loaded into UPerNet. 2023-03-24 08:53:30 [INFO] Loaded trained params of model successfully 2023-03-24 08:53:30 [INFO] Start evaluating (total_samples: 2000, total_iters: 2000)... 2000/2000 [==============================] - 230s 115ms/step - batch_cost: 0.1149 - reader cost: 2.6253e-04 2023-03-24 08:57:20 [INFO] [EVAL] #Images: 2000 mIoU: 0.3909 Acc: 0.7868 Kappa: 0.7713 Dice: 0.5292 2023-03-24 08:57:20 [INFO] [EVAL] Class IoU: [0.7115 0.8011 0.9314 0.7647 0.7042 0.787 0.8049 0.84 0.5649 0.6462 0.5362 0.5995 0.7441 0.3094 0.3554 0.4754 0.536 0.4481 0.6626 0.4777 0.8098 0.4829 0.6057 0.5982 0.3838 0.4725 0.5459 0.496 0.491 0.2577 0.356 0.533 0.3685 0.3815 0.4109 0.3827 0.5311 0.6146 0.3125 0.4607 0.2319 0.1872 0.4051 0.3083 0.3786 0.3747 0.2756 0.5684 0.5776 0.5924 0.5052 0.3146 0.1775 0.1849 0.6592 0.4048 0.8408 0.4871 0.4102 0.2576 0.118 0.4577 0.3204 0.2345 0.4711 0.7338 0.2616 0.4106 0.0548 0.3417 0.4774 0.5949 0.4258 0.2156 0.4975 0.3868 0.39 0.3472 0.5401 0.3453 0.5822 0.4809 0.3615 0.2809 0.2508 0.5794 0.1629 0.1485 0.2743 0.6273 0.4158 0.0254 0.1913 0.0738 0.0096 0.0065 0.2471 0.3797 0.2024 0.4278 0.1038 0.0625 0.2214 0.643 0.4732 0.3105 0.1562 0.516 0.2314 0.3265 0.2965 0.0689 0.2294 0.5552 0.5121 0.0194 0.6406 0.6248 0.1877 0.3104 0.5239 0.0125 0.2889 0.211 0.5088 0.2775 0.5669 0.4562 0.0099 0.4972 0.5025 0.0066 0.3107 0.3572 0.1159 0.2616 0.2058 0.0123 0.343 0.4589 0.3581 0.0646 0.4363 0.2756 0.374 0. 0.4782 0.087 0.1422 0.3191] 2023-03-24 08:57:21 [INFO] [EVAL] Class Precision: [0.8287 0.8841 0.9687 0.8747 0.7825 0.8856 0.9059 0.8874 0.7003 0.801 0.7608 0.7409 0.8732 0.5617 0.6384 0.6547 0.7048 0.7229 0.8222 0.6973 0.883 0.6961 0.7002 0.6883 0.531 0.5755 0.6419 0.6524 0.7158 0.3307 0.5137 0.5957 0.5923 0.5299 0.4938 0.4602 0.7291 0.6983 0.5043 0.7226 0.3873 0.3407 0.5983 0.5291 0.6176 0.611 0.4069 0.8419 0.6112 0.645 0.5909 0.336 0.3525 0.6151 0.6872 0.4666 0.8622 0.7264 0.4477 0.3868 0.171 0.4977 0.4181 0.6474 0.5378 0.807 0.3646 0.5995 0.1186 0.5065 0.6388 0.7217 0.5087 0.2645 0.6051 0.4658 0.4694 0.6118 0.6464 0.6077 0.6045 0.6908 0.7662 0.536 0.4042 0.7233 0.5561 0.361 0.4804 0.7987 0.5181 0.0578 0.2771 0.3427 0.1093 0.0297 0.3534 0.6737 0.5066 0.5739 0.3667 0.0786 0.5355 0.6774 0.8164 0.3551 0.4044 0.5904 0.4412 0.3715 0.6888 0.0715 0.4757 0.6028 0.5123 0.2882 0.7996 0.636 0.2419 0.3764 0.6865 0.3466 0.4599 0.6474 0.7609 0.7099 0.8262 0.5613 0.0392 0.7182 0.5333 0.0976 0.464 0.675 0.6291 0.4505 0.3991 0.0596 0.7079 0.63 0.4212 0.1156 0.6099 0.5317 0.7055 0.0002 0.7177 0.6002 0.7423 0.7913] 2023-03-24 08:57:21 [INFO] [EVAL] Class Recall: [0.8341 0.8951 0.9604 0.8587 0.8757 0.876 0.8783 0.9402 0.745 0.7698 0.6449 0.7585 0.8343 0.408 0.445 0.6346 0.6911 0.5411 0.7734 0.6026 0.9071 0.6118 0.8178 0.8204 0.5808 0.7254 0.785 0.6742 0.6099 0.5387 0.5371 0.835 0.4938 0.5767 0.71 0.6946 0.6616 0.8369 0.4509 0.5597 0.3663 0.2936 0.5564 0.4249 0.4945 0.4921 0.4605 0.6363 0.9129 0.8789 0.7769 0.8319 0.2634 0.209 0.9419 0.7533 0.9713 0.5966 0.8307 0.4353 0.2759 0.8507 0.5785 0.2688 0.7914 0.89 0.481 0.5658 0.0925 0.5122 0.6539 0.772 0.7231 0.5384 0.7368 0.6954 0.6975 0.4454 0.7666 0.4444 0.9404 0.6128 0.4063 0.3712 0.3978 0.7444 0.1872 0.2014 0.39 0.745 0.678 0.0432 0.382 0.086 0.0104 0.0082 0.451 0.4653 0.2521 0.6268 0.1264 0.2341 0.274 0.9267 0.5296 0.7119 0.2028 0.8036 0.3274 0.7295 0.3424 0.6512 0.3069 0.8755 0.9995 0.0204 0.7632 0.9726 0.4559 0.639 0.6886 0.0128 0.4371 0.2384 0.6056 0.313 0.6437 0.7089 0.0131 0.6177 0.8969 0.007 0.4847 0.4314 0.1244 0.3841 0.2983 0.0152 0.3996 0.6282 0.705 0.1277 0.6051 0.364 0.4432 0. 0.5889 0.0924 0.1496 0.3485]登录后复制
五、模型预测
笔者在/home/aistudio/work/PaddleSeg/output1/best_model下准备了GCNet的best_model,直接运行以下代码块即可查看ade20k数据集中测试集的效果 In []
请在您的电脑上运行以下命令:cd /home/aistudio/work/PaddleSeg然后执行此命令以进行预测: python predict.py \ --config configs/gcnet/gcnet_resnetosvocug_.yml \ --model_path outputbest_model/model.pdparams \ --image_path /home/aistudio/work/dataset/ADEChallengeDataimages/testing \ --save_dir outputresult注意,您需要确保具有执行这些命令所需的权限。成功运行后,预测结果将被保存在路径/home/aistudio/work/PaddleSeg/outputresult中。
笔者在/home/aistudio/work/PaddleSeg/output2/best_model下准备了Upernet的best_model,直接运行以下代码块即可查看ade20k数据集中测试集的效果 In []
请在本地服务器上运行以下命令生成PaddleSeg模型的预测结果:```bash cd /home/aistudio/work/PaddleSeg/ !python predict.py \ --config configs/upernet/upernet_resnetoscityscapes_.yml \ --model_path output/best_model/model.pdparams \ --image_path /home/aistudio/work/dataset/ADEChallengeDataimages/testing \ --save_dir output/result ```注意:请确保您已安装并配置了所需的Python环境,同时将`output和`result`替换为实际的路径。如果您没有本地服务器,请通过SSH连接到您的机器执行此命令。
六、对比与总结
模型1 backbone 验证集miou 验证耗时 模型文件大小 GCnet resnet50_vd 0.4060 150s 75ms/step 190MB 模型2 backbone 验证集miou 验证耗时 模型文件大小 Upernet ResNet101_vd 0.3909 230s 115ms/step 390.5MB
通过对比可以看出:GCnet优于Upernet
总结:
在这个数据集上训练模型并不难,但是获得良好的mIoU结果却颇具挑战。这需要精心挑选算法和参数配置,确保模型性能最佳。
除此之外,我还研究过Setr_mla_large算法。该算法使用了ViT_large_patch为其backbone(配置文件路径为/home/aistudio/work/PaddleSeg/configs/setr/setr_mla_large_cityscapes_.yml)。尽管可以预见其效果将优于GCNet,但训练时验证过程却异常缓慢,估计需要至少半小时。然而,由于这个问题是ViT系列模型的普遍问题,我最终选择了放弃研究。
在这个经验分享中,我主要提到了配置文件方面的一个不满意之处学习率策略、优化器和损失函数的选择。虽然GitHub中的paddleseg参考文档相对较少,但是一些地方确实可以提供帮助。我在处理自适应学习策略时遇到了一些挑战,但幸运的是通过查看源码找到了解决方案。对于那些希望在配置文件中为自适应学习策略传递验证集损失的人来说,了解并使用paddle框架的API文档是非常重要的,它将极大地助你调参。
以上就是【AI达人特训营第三期】:PaddleSeg助力自动驾驶场景分割的详细内容,更多请关注其它相关文章!
热门推荐
-
抖音2000粉丝接推广一般多少钱_抖音达人推广收费标准2025抖音2000粉丝接推广一般多少钱?本期小编给大家带来抖音达人推广收费标准2025,2000左右的粉丝博主接推广的费用大约在500元到3000元之间,而具体报价会因合作方式,广告形式和博主的影响力等因素有所不同。并且博主的合作报价还会受到其数据表现的影响,如点赞数、收藏数等,数据好的博主报价自然会更高,以下是详细分析介绍。 -
抖音团购达人怎么开通-抖音团购达人开通教程抖音专设了购物橱窗功能,如果你想要成为一名成功的团购达人,可以在其中进行带货,展示你的产品。下面是详细步骤:第一步:确保已经成功注册并登录了抖音账号 -
【AI达人特训营第三期】:PaddleSeg助力自动驾驶场景分割本文介绍使用PaddleSeg工具处理基于ADE数据集场景解析的过程。首先,解压相关软件及数据集,并加载并预处理它们 -
盲盒派对弹幕发射姬养成全攻略 轻松变身高玩达人盲盒派对中的弹幕发射姬,这个概念将传统的盲盒收藏文化与现代电子游戏的互动元素巧妙结合,为玩家带来全新的娱乐体验 -
测测app怎么入驻达人测测app怎么入驻达人?经过入驻达人,网友能够获得更多的专业知识和经验分享,进步自个在测测平台上的使用效果和效力。那么测测如何入驻达人呢?接下来小编就为网友带来了测测app达人入驻的教程讲解,好奇的玩家们能够跟小编一起来了解下。 -
王者荣耀三丽鸥第三弹联动 五款皮肤全解析与获取指南作为本站网景小侠,结合最新官方信息和玩家实测反馈,为您提供此次联动核心内容与获取策略的详细解析,助您高效获得心仪的皮肤
-
双相第三关囚笼怎么通关在双相这款游戏中,第三关囚笼充满挑战,吸引着众多玩家去探索通关之道。双相第三关囚笼通关攻略进入第三关囚笼,玩家首先需熟悉场景布局,探索复杂的多区域空间 -
《双影奇境》冰封之王第三阶段攻略分享当你在游戏中遇到双影奇境中的冰封之王第三阶段时,首先要了解它会在你刚来到游戏世界的第一层冰面上被摧毁,然后在它的位置上形成一个水池 -
环形战争智慧书库第三层怎么过最近有些智慧书库玩家遇到了问题,无法通过智慧书库第三层。这里有一个通关技巧和阵容推荐给大家。建议大家按照这个攻略进行尝试 -
八方旅人2极品装备攻略,搭配助力战力飙升玩八方旅人戏时在前期可以选择的极品装备有火焰辟邪符、炽天使之枪、猛兽之弓、禁忌之盾和石英长袍等。这些极品装备与普通装备之间有着显著的区别,物理攻击力可以提升,属性
-
biubiu重磅升级,帕拉斯3.0引擎为电竞梦想助力!biubiu电竞级加速器全新升级上线,帕拉斯3.引擎联合左梓轩打造,为全球电竞梦想助力!【为梦想而发】全新上线与冠军选手Aixleft联合打磨,专为竞技而生的游戏 -
Tita助力多角色高效项目管理今天有哪些项目需向老板汇报进展,但尚未收集到最新情况。在设置项目进度提醒前,请务必确认自己具有项目管理员权限 -
淘宝喵糖助力失败是什么原因-淘宝喵糖黑号助力失败解决方法淘宝喵糖成功助力需要满足一定条件,如商品评价、销量等。如果您的助手中断了,可能是因为这些条件没有达到要求 -
Uber CEO:特斯拉是敌是友皆有可能,自动驾驶领域不存在“赢家通吃”,据路透社报道,UberCEO达拉?科斯罗沙希指出,特斯拉与Uber在自动驾驶领域可以共存,这一领域的市场格局不会形成“一家独大的局面”,因为新兴市场的潜力巨大 -
奥迪E7X最远续航751km,搭载L3级自动驾驶技术奥迪E震撼登场,定位智享驾控大五座SUV!凭借其独特魅力,在众多竞争者中脱颖而出。车身尺寸达到m/m/m,轴距为m,带来超凡的驾驶体验和宽敞舒适的乘坐空间 -
驾驶座配安全员,特斯拉正式在加州湾区推出自动驾驶出租车 Robotaxi 服务今日,特斯拉正式宣告其自动驾驶出租车服务拓展至加州湾区,覆盖范围涵盖新旧金山与圣何塞之间的重要城镇,包括伯克利、奥克兰及弗里蒙特等繁华区 -
以下哪种职业是自动驾驶车辆的安全保障?_2024支付宝蚂蚁新村9.4答题答案2024支付宝蚂蚁新村9.4答题答案:支付宝蚂蚁新村今天答题已经更新了,玩家参与答题也能获得不错的奖励。小编整理了蚂蚁新村9月4日答题以下哪种职业是自动驾驶车辆的安全保障?下面一起来看看相关的信息。 -
部落冲突场景布置的技巧有什么在策略塔防类游戏部落冲突中,场景布置不仅仅是视觉上的享受,更是策略的核心。精心设计的布局不仅提升了防御效率,增加了进攻难度,还可能对游戏结果产生重大影响 -
0-0.5米人际距离适用场景解析null适合知己、伴侣、恋人之间使用。爱德华霍尔提出人际交往存在四种空间距离。公众距离,最远可达36厘米,适用于公开演讲等正式场合 -
VR场景与图片制作软件推荐当前,VR技术已广泛应用于景区、餐饮、房产、汽车展示及博物馆等多个领域,深入融入人们的日常生活。随着应用场景不断拓展,VR内容制作受到越来越多的关注 -
2026年7大游戏加速器对比:FC26场景下免费高效方案实测推荐,随着FC26等高帧率、低延迟敏感型竞技游戏持续升温,玩家普遍反馈遭遇**晚高峰跳延迟(+4512ms瞬时跃升)、跨境联机丢包率突增至1.8%5.3%、校园网NA -
《最终幻想16》实机演示视频发布 战斗场景及CG画面呈现史克威尔在昨日的直播活动中就对行将发布的最终幻想16进行了揭示,出品人吉田直树和本地化总监MichaelChristopherKojiFox在参预了这次直播活动, -
视频按原格式分割技巧当你需要对视频进行分割或者截取特定片段时,传统的视频编辑软件可能显得过于复杂和费时。这时,一款专业的软件如VidCutter无疑会成为你的得力助手










