问题标签 [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.
keras - 有没有办法让 keras 在计算 binary_crossentropy 损失时忽略标签?
我正在为(某种)语义分割任务编写自定义损失函数,其中我计算目标(二维数组)和预测的二进制交叉熵(使用 keras 后端)。整体损失是 4 个不同损失函数的总和。
在其中两个函数中,我需要制作一个定制的目标数组并使用这些目标和预测计算二元交叉熵。在这里,我想忽略并且不计算目标数组中标签为 1(前景)的损失。
在 pytorch 的 nll_loss() 中有一个参数 'ignore_index' 类似于我正在尝试做的事情。
我正在尝试实现以下目标:
但是对于 keras 自定义损失函数。
python - 将 COCO 数据集导入 google colaboratory
COCO 数据集非常大,我可以将其上传到 google colab。有什么办法可以直接将数据集下载到google colab?
keras - Keras中语义分割的不平衡数据?
我是 keras 的新手,现在已经学习了大约 3 周。如果我的问题听起来有点愚蠢,我很抱歉。
我目前正在做 512x512 的语义医学图像分割。我从这个链接https://github.com/zhixuhao/unet使用 UNet 。基本上,我想从图像中分割出大脑(所以两类分割,背景与前景)
我对网络进行了一些修改,得到了一些我很满意的结果。但是我认为我可以通过对前景施加更多的权重来改善分割结果,因为大脑的像素数量远小于背景像素的数量。在某些情况下,大脑不会出现在图像中,尤其是位于底部切片中的大脑。
https://github.com/zhixuhao/unet不知道需要修改哪部分代码
如果有人可以帮助我,我将不胜感激。提前非常感谢!
这是main.py
conv-neural-network - 在运行 deeplab 代码时运行“sh local_test.sh”命令时出现“No Module named Tensorflow”错误
我正在尝试安装 Deeplab 并在我的机器上运行它。我正在关注这个
我能够运行初始测试'python3 deeplab/model_test.py',但我得到了
没有名为 Tensorflow 的模块
运行下一步时出错,sh local_test.sh
Tensorflow 已安装在机器上,我尝试使用不同版本的 tensorflow 来验证任何不兼容问题。请建议我在哪里出错以及需要做什么才能成功运行它。
这是错误消息:
但是机器上安装了tensorflow:
pip show tensorflow
给了我以下输出。
keras - Keras:二值图像分割中的像素级不平衡
我有一个任务,我输入一个500x500x1
图像并得到一个500x500x1
二进制分割。500x500
工作时,只应触发一小部分(小“目标”)。我在输出端使用 sigmoid 激活。由于希望这样一小部分是正的,因此训练往往会在所有输出为零或非常接近时停止。我已经编写了自己的损失函数来部分处理它,但如果可能的话,我想使用带有类权重的二元交叉熵。
我的问题分为两部分:
如果我天真地将
binary_crossentropy
损失应用于我的500x500x1
输出,它会根据需要在每个像素的基础上应用吗?keras 有没有办法通过每个像素的单个 sigmoid 输出来应用类加权?
python - 如何从 Synthia 数据集中读取标签(注释)文件?
我是 Synthia 数据集的新手。我想从此数据集中读取标签文件。我希望有一个具有我的 RGB 图像大小的通道矩阵,但是当我加载数据时,我得到了 3x760x1280 并且它充满了零。
我试图阅读如下:
标签 = np.asarray(imread(label_path))
任何人都可以帮助正确阅读这些标签文件吗?
xml - 将 .xml 图像注释转换为遮罩(.jpg 或 .png)
我正在使用 LabelMe 注释工具,在注释标签后采用 .xml 格式。但是我的神经网络将注释作为.png。如何从 .xml 转换为 .jpg 或 .png?.xml 文件包含对象边界框的信息。
python - Sagemaker 语义分割:每类 iou 和像素精度
我正在 AWS sagemaker 上做一些语义分割工作。我的输出是我所有类的平均 iou 和像素精度,但我需要更多粒度,因此需要每个类的 iou 和像素精度。这是看哪些类需要改进。
我想这是可能的,但如何?
我看过这些类似的问题,但还没有解决方案。
python - 使用 flow_from_directory() 使用 keras(TensforFlow 后端)进行语义图像分割(3 个标签)的输入管道
我正在使用 keras(TensorFlow 后端),并且试图了解如何使用 flow_from_directory 引入我的标签/掩码以进行图像分割(3 个标签)。
train_images 的尺寸为 (144, 144, 144) - 灰度,uint8。对应的 label_images 具有相同的尺寸,但这里的值 1 表示标签 1,值 2 = 标签 2,值 3 = 标签 3,值 0 表示未标记的像素。
由于这是语义分割,因此对图像中的每个像素进行分类需要使用逐像素的交叉熵损失函数。正如我在一些帖子中所读到的,keras(或 TensorFlow)要求我的 label_image/mask 是一个热编码的。因此,我希望我的 label_images 是具有 3 个通道的图像,其中每个像素将由一个二进制向量组成。示例:[0, 1, 0]。
如何处理存储为 0 的未标记像素?它们应该被编码为 [0, 0, 0] 吗?
但是我找不到答案的问题是:如何正确地重塑/单热编码我的 label_images?keras 中是否有一个方便的功能可以让我转换我的 image_labels?
pytorch - LibTorch,使用 deeplab 模型在转发时出现段错误
我正在尝试通过 Libtorch 中的 DeepLab 模型运行图像来分割它们。使用 pytorch,我正在像这样转换 Deeplabv3 模型:
现在,在带有 LibTorch 的 c++ 中,我正在尝试加载模型并通过它运行数据。然而,这失败了:
我在哪里错了?