相关疑难解决方法(0)

如何实现多类语义分割?

我能够训练带有二进制分类标记图像的U-net.

但我很难弄清楚如何在Keras/Theano中配置最终层以进行多类分类(4类).

我有634个图像和相应的634个掩码,unit864 x 64像素.

我的面具不是黑色(0)和白色(1),而是在3个类别加上背景的颜色标记对象,如下所示:

  • 黑色(0),背景
  • 红色(1),对象类1
  • 绿色(2),对象类2
  • 黄色(3),对象类3

在训练运行之前,包含掩码的数组是单热编码,如下所示:

mask_train = to_categorical(mask_train, 4)
Run Code Online (Sandbox Code Playgroud)

这使得mask_train.shape从去(634, 1, 64, 64)(2596864, 4).

我的模型紧跟Unet架构,但最终层似乎有问题,因为我无法展平结构以匹配单热编码阵列.

[...]
up3 = concatenate([UpSampling2D(size=(2, 2))(conv7), conv2], axis=1)
conv8 = Conv2D(128, (3, 3), activation='relu', padding='same')(up3)
conv8 = Conv2D(128, (3, 3), activation='relu', padding='same')(conv8)

up4 = concatenate([UpSampling2D(size=(2, 2))(conv8), conv1], axis=1)
conv9 = Conv2D(64, (3, 3), activation='relu', padding='same')(up4)
conv10 = Conv2D(64, (3, 3), activation='relu', padding='same')(conv9)

# here I used number classes …
Run Code Online (Sandbox Code Playgroud)

python machine-learning image-segmentation deep-learning keras

12
推荐指数
1
解决办法
7169
查看次数

Tensorflow:如何创建Pascal VOC样式图像

我正在Tensorflow中实现一个语义分段网络,我正在试图弄清楚如何在训练期间写出标签的摘要图像.我想以与Pascal VOC数据集中使用的类分割注释类似的方式对图像进行编码.

例如,假设我有一个网络,批量大小为1,有4个类.网络的最终预测已经形成[1, 3, 3, 4]

本质上我想要获取输出预测并运行它argmin以获得包含输出中每个点的最可能类的张量:

[[[0, 1, 3], 
  [2, 0, 1],
  [3, 1, 2]]]
Run Code Online (Sandbox Code Playgroud)

带注释的图像使用255种颜色的调色板来编码标签.我有一个包含所有颜色三元组的张量:

  [[  0,   0,   0],
   [128,   0,   0],
   [  0, 128,   0],
   [128, 128,   0],
   [  0,   0, 128],
   ...
   [224, 224, 192]]
Run Code Online (Sandbox Code Playgroud)

我怎么能获得一个形状的张量[1, 3, 3, 3](一个3x3彩色图像),使用从argmin?获得的值索引到调色板?

[[palette[0], palette[1], palette[3]],
 [palette[2], palette[0], palette[1]],
 [palette[3], palette[1], palette[2]]]
Run Code Online (Sandbox Code Playgroud)

我可以很容易地包装一些numpy和PIL代码,tf.py_func但我想知道是否有一种纯Tensorflow方式来获得这个结果.

编辑:对于那些好奇,这是我使用numpy的解决方案.它工作得很好,但我仍然不喜欢使用tf.py_func:

import numpy as np
import tensorflow as tf


def voc_colormap(N=256):
    bitget = lambda …
Run Code Online (Sandbox Code Playgroud)

python image-segmentation tensorflow

6
推荐指数
1
解决办法
2375
查看次数