Deeplabv3无法预测类

问题描述

我正在尝试使用mobilenetv3_small_seg体系结构训练deeplabv3模型。我训练了模型,但是得到的预测是没有类预测的完整空白蒙版。我接受培训的步骤如下:

  1. 在Google Colab中克隆的官方存储库。

  2. 我只准备了一个类别的数据集(将嘴唇分割成一个面部)。我遵循了Pascal VOC12数据集格式。我创建了RGB蒙版(0、255、0),其周围带有白色边框(255、255、255),黑色背景(0、0、0),如下所示。

    RGB mask

    RGB mask

  3. 然后借助此script,将RGB蒙版转换为具有background:0,forground:1和boundary:255的单通道png(8位),如下所示:

    RGB mask

    color map removed

  4. 然后我通过修改script成功地将数据集转换为tfrecord。

  5. 然后,我将我的数据集说明添加到data_generator.py中,并带有ignore_label = 255和num_classes = 2。

  6. 最后,我开始使用以下命令进行训练:

     !python train.py \
         --logtostderr \
         --training_number_of_steps=10000 \
         --train_split="val" \
         --model_variant="mobilenet_v3_small_seg" \
         --decoder_output_stride=16 \
         --train_crop_size="256,256" \
         --train_batch_size=16 \
         --dataset="pqr" \
         --save_interval_secs=600 \
         --save_summaries_secs=300 \
         --save_summaries_images=True \
         --log_steps=200 \
         --train_logdir=${PATH_TO_TRAIN_DIR} \
         --dataset_dir=${PATH_TO_DATASET}
    
  7. 训练完成后,我用几个不同的图像测试了模型。该模型的输出是(256,256)数组,所有值都等于0。没有一个值我得到1或其他任何值。

我是机器学习的新手。我想知道

  1. 我的流程有什么问题?我看了很多教程,但找不到答案。
  2. 我的数据集有问题吗?该数据集总共包含2000张图像。
  3. 我找不到mobilenetv3_small的预训练权重。如果有人知道,请分享一下,以便我进行迁移学习。
  4. 我将类数设置为2(背景和前景)。是吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...