所有,
我将按照本指南使用deeplab v3 +开始培训过程。但是,在步骤1480之后,我得到了错误:
Error reported to Coordinator: Nan in summary histogram for: image_pooling/BatchNorm/moving_variance_2
Run Code Online (Sandbox Code Playgroud)
详细的火车日志在这里
有人可以建议如何解决这个问题吗?谢谢!
我想对视频文件中的对象进行语义分割。我更喜欢在 COCO 数据集(或 COCO stuff 数据集)上使用预先训练的模型,并开始使用它对我自己的视频文件进行语义分割和对象检测。我遇到的大多数线程都在谈论 COCO 数据集上的训练算法。我正在寻找一个可以直接用于分割我自己的视频文件的预训练模型(一个冻结的图形文件)。
谁能指导我如何做到这一点?
PS 我可以使用来自 tensorflow model zoo 的预训练模型进行对象检测,但我无法将其扩展为对象分割。
video-processing image-segmentation tensorflow mscoco semantic-segmentation
我是语义分割的新手。我使用 FCN 来训练我的数据集。在数据集中有一些未知类的像素。我想从我的损失中排除这个类。所以我根据整个数据集的类分布定义了一个权重,并将未知类的权重设置为零,如下所示。但我仍然得到这门课的预测。你知道如何正确排除一个特定的类吗?
loss = tf.reduce_mean(tf.nn.sparse_softmax_cross_entropy_with_logits
(logits=logits, labels=tf.squeeze(annotation,
squeeze_dims=[3]),name="entropy"))
weighted_losses = (loss * weights)
train_op = optimizer.minimize(weighted_losses,
var_list=tf.trainable_variables(),
global_step=tf.train.get_global_step())
Run Code Online (Sandbox Code Playgroud)
我不知道 pytorch,但我听说损失函数中有一些用于此目的的“ignore_index”,您可以忽略特定的类。如果这是解决我的问题的正确方法,你知道张量流中是否有一些等价的东西吗?
image-processing image-segmentation tensorflow pytorch semantic-segmentation
我正在做一个关于多类语义分割的项目。我制定了一个模型,通过降低损失值来输出相当下降的分割图像。但是,我无法用指标来评估模型性能,例如meanIoU或Dice系数。在二元语义分割的情况下,只需设置 0.5 的阈值即可轻松将输出分类为对象或背景,但在多类语义分割的情况下则不起作用。您能告诉我如何获得上述指标的模型性能吗?任何帮助将不胜感激!
顺便说一句,我正在使用 PyTorch 框架和 CamVid 数据集。
image-segmentation python-3.x multiclass-classification pytorch semantic-segmentation
我正在训练用于图像语义分割的 CNN U-net 模型,但是训练损失似乎比验证损失以更快的速度下降,这是正常的吗?
我使用的是 0.002 的损失
训练和验证损失如下图所示:

UNET架构就像前半编码器和后半解码器。自动编码器有不同的变体,如稀疏、变分等。它们都压缩和解压缩数据,但 UNET 也同样用于压缩和解压缩。就我而言,我认为在简单的自动编码器中我们不使用 Transpose2D 卷积,但在 UNET 中我们使用这种上采样。在简单的自动编码器中,我们不使用 Transpose2D Conv 。上采样是如何发生的?如果我们在自动编码器中使用 Transpose2D,它与 UNET 有何不同?
artificial-intelligence autoencoder deep-learning semantic-segmentation unet-neural-network
我正在用高分辨率图像(高于 8GB)训练卫星模型。我生成较小的补丁来处理巨大的图像。使用与训练补丁大小不同的补丁大小进行推理是否正确?
exp: 训练patch大小为512*512
推理补丁大小为2048*2048(它减少了处理时间,结果看起来不错)
*不调整大小
satellite-image image-segmentation deep-learning conv-neural-network semantic-segmentation
Deeplab v3 返回缩小/调整大小的图像及其相应的掩码。如何调整图像及其相应蒙版的大小以更好地符合我的规范。
我有一个任务,输入图像500x500x1并得到500x500x1二进制分割。500x500工作时,只应触发一小部分(小“目标”)。我在输出处使用 sigmoid 激活。由于希望如此小的分数为正,因此训练往往会因所有输出为零或非常接近而停止。我已经编写了自己的损失函数来部分处理它,但如果可能的话,我想使用带有类权重的二元交叉熵。
我的问题分为两部分:
如果我天真地将binary_crossentropy损失应用于我的500x500x1输出,它会根据需要应用于每个像素吗?
keras 有没有办法通过每个像素的单个 sigmoid 输出来应用类权重?
我使用detectorron2对图像运行语义分割。Detectron2 具有用于可视化结果的预构建函数。我有兴趣保存分割结果并在需要时解析它们。于是我回溯代码,发现instances_to_coco_json函数就是输出分割结果的函数。我尝试保存结果。
结果采用以下格式:
{
"image_id": 1,
"segmentation": {
"counts": "R[W<=Sf0001O000000000000000000000000000000000000000^_\\?",
"size": [
720,
1280
]
},
"category_id": 1,
"score": 0.992115
},
Run Code Online (Sandbox Code Playgroud)
我期望得到分割结果作为分割点的坐标,如下所示:
"segmentation": [
[
662.1764705882352,
387,
686,
386.5882352941176,
686,
398,
662.7647058823529,
399
]
Run Code Online (Sandbox Code Playgroud)
鉴于输出是 coco 格式,我如何理解它?