问题标签 [semantic-segmentation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2000 浏览

python - TensorFlow tf.metrics.mean_iou 返回 0

我想将该函数tf.metrics.mean_iou用于 FCN 进行语义分割。只有在 IoU 之前计算混淆矩阵时才有效,否则返回 0。

这是我的例子:

此示例返回正确的值0.66071427

.

这个例子返回0

如果有一个函数计算平均 IoU 而不初始化其中的所有变量,那就太好了。有没有办法解决第二个例子?我认为问题在于同时计算 IoU 和混淆矩阵,我没有找到另一种方法,比如通过 Session() 单独运行它们。

谢谢

0 投票
2 回答
5934 浏览

tensorflow - 我可以将 deeplab 微调到 tensorflow 中的自定义数据集吗?

我想使用我自己的数据集自定义 deeplab 进行图像分割?这可以通过再培训来实现吗?

0 投票
2 回答
6953 浏览

neural-network - U-net 与 FCN 背后的直觉用于语义分割

我不太明白以下内容:

Shelhamer 等人提出的用于语义分割的 FCN 中,他们提出了一种像素到像素的预测来构建图像中对象的掩码/精确位置。

在用于生物医学图像分割的 FCN 的略微修改版本U-net中,主要区别似乎是“与收缩路径中相应裁剪的特征图的连接”。

现在,为什么这个功能特别适用于生物医学分割?对于生物医学图像与其他数据集,我可以指出的主要区别在于,在生物医学图像中,定义对象的特征集不如日常常见对象那样丰富。数据集的大小也是有限的。但是这个额外的功能是受这两个事实的启发还是其他原因?

0 投票
1 回答
740 浏览

python - 在张量流中读取带有索引颜色值的图像以进行语义分割任务

我正在为语义分割创建 FCN。我很难将标记的 png 图像转换为 PascalVOC 数据集上的索引颜色值。我希望该值在 0 到 20 之间。因为我可以在以下代码中使用 PIL 实现这样的操作

它输出我想要的。但是对于 tensorflow 实现,我希望它与以下代码具有相同的值

但是 tensorflow 实现的结果是从 0 到 255。有什么方法可以在 tensorflow 中实现 PIL 实现?谢谢你。

0 投票
1 回答
2248 浏览

python - Pascal VOC 类分割:用于训练的真实像素标记

我刚开始研究 Pascal VOC 分割数据集。但是我很难理解他们在地面标签中使用的颜色编码。我假设每个类的像素将被注释为 1 到 20,但我得到的是具有像素值 (0-255) 的 8 位深 png 图像。

对于属于aeroplanein 类的某个像素2007_000033.png,我得到以下值: (128, 0, 0); 而另一个属于trainin 类的像素2007_000123.png给出值:(128, 0, 192) 等等。

如何将它们区分为不同的类并进行一次性编码?我是否需要为每个类指定像素值(例如使用 (128, 0, 0) 搜索像素并将它们编码为 1 的类aeroplane)?

抱歉,我在 SO 上看到了一些类似的问题,但没有任何帮助。谢谢。

0 投票
1 回答
740 浏览

python - 语义分割中的 RGB 颜色代码

我正在使用语义分割网络(SegNet)。我正在尝试减少课程的数量,从而重新安排网络。

因此,我也在更改预测的颜色编码。我的问题是我没有在输出图像中得到预期的颜色。

例如

由于像素仅在 1 个通道中,因此上述行为这三个类别提供了完美的结果。

输出如下:

给出预期的结果

但是,如果我修改该行并将值添加到不同的通道,它会给出奇怪的输出。输出附在下面:

将颜色代码更改为 (124, 252, 0)。代码应该是草坪绿色。我还在RBG代码之类的网站上检查过

都变红了

我在这里想念什么?任何解释都会有所帮助。

预测代码:

PS。在这两种情况下,我都使用相同的模型进行预测

0 投票
1 回答
2703 浏览

tensorflow - 语义分割损失函数

对于二元分割问题,以加权方式结合交叉熵损失和骰子分数是否有意义?

优化骰子分数会产生分割区域,而交叉熵损失会为我的应用程序产生分割不足的区域。

0 投票
1 回答
5076 浏览

tensorflow - 如何在 COCO 数据集上加载预训练模型进行图像分割?

我想对视频文件中的对象进行语义分割。我更喜欢在 COCO 数据集(或 COCO stuff 数据集)上使用预训练模型,并开始使用它对我自己的视频文件进行语义分割和对象检测。我遇到的大多数主题都是关于 COCO 数据集的训练算法。我正在寻找一个可以直接用于分割我自己的视频文件的预训练模型(一个冻结的图形文件)。

谁能指导我如何做到这一点?

PS 我可以使用来自 tensorflow 模型动物园的预训练模型进行对象检测,但我无法将其扩展为对象分割。

0 投票
1 回答
2885 浏览

python - 如何在 deeplab v3 plus 上学习使用我的数据集

在 deeplab v3p 中,虽然我训练了我的数据集,但它不起作用。为什么?

我的环境如下:

我做了以下工作:

a) 生成简单的数据集:

训练图像随机排列两个图形(圆形和矩形)并随机绘制颜色。标签图像设置为背景为 0RGB(0, 0, 0),矩形为 1 RGB (1,1,1),圆形为 2RGB(2, 2, 2),圆形为 255 RGB (255, 255, 255) 将线作为分割。

https://camo.qiitausercontent.com/2be21942628a85c46fd8ffb99e05b257b4b0c980/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f39353633362f62653262306638632d333933322d363434322d336132342d6534306333613466653865612e706e67

https://camo.qiitausercontent.com/323d4f21d792138ebb52f994dc42cc0b5d3ab30d/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f39353633362f34656633633261332d633533372d316134632d653633342d3165663632643734623166392e706e67

b) 转换为 tf.record

在 中build_voc2012_data.py,我将文件路径从原始数据集更改为我的数据集。然后,我运行它并创建了 tf.record。

c) 培训

在 中segmentation_dataset.py,我添加了 DATASETS INFORMATION。

然后,我开始训练。

d) 完成训练

由于一百万次迭代,最小损失为 4.765。当它开始训练时,它是 7.56。

e) 可见光。 两张测试图。

input image: https://camo.qiitausercontent.com/e37afb4ae0e5232a0c0828dad779a4a852462a45/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f39353633362f64363930326231622d386164302d306366612d656433642d6436346537383462636134322e706e67

output image: https://camo.qiitausercontent.com/d638a2fc7fe5f5119e2f00d7c0aa59b9b8fc73d4/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f39353633362f36643963643265372d373234362d636434612d303566322d6335623266396237623865352e706e67

input image: https://camo.qiitausercontent.com/8fe89aa43aac3a322ede1ac46d469fc48da6b809/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f39353633362f64313162643834372d323734372d643530642d393366642d6231353661353137613934632e706e67

output image: https://camo.qiitausercontent.com/94f15de43ce6195bdc8602b800d1275a4830193c/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f39353633362f63623061666663652d613566302d363333302d306362382d6261393964363735333734652e706e67

从上面的结果来看,我认为 Deeplab v3 效果不好。我的用法错了吗?还是参数设置不对?还是学习不够?

0 投票
0 回答
82 浏览

python - DeepMask 的 Pytorch 代码中的错误

我目前正在尝试使用 Pytorch 实现 Deepmask(链接到 FAIR 的论文),到目前为止,我已经定义了联合损失函数、模型的可学习参数和前向传递。

我在训练阶段工作,正如论文所说,训练必须在两个分支之间以另一种反向传播方式进行,我已经编写了相同的代码。

但是训练存在一些问题,我尝试使用假数据集(随机生成的数据集)训练模型,对于第一个小批量以外的小批量,模型的损失结果是nan

造成这种nan损失的原因可能是什么?

链接到我的代码的当前版本