4

我正在尝试查看使用 TensorFlow 来识别图像数据中的特征的可行性。我有 50x50px 的原子核灰度图像,我想对其进行分割 - 每个像素的所需输出将是 0 或 1。0 为背景,1 为核。

示例输入:原始输入数据

示例标签(“标签”/真实答案是什么):输出数据(标签)

甚至可以使用 TensorFlow 在我的数据集上执行这种类型的机器学习吗?我可能有数千张图像用于训练集。

很多例子都有一个标签对应一个类别,例如手写数字数据集的10个数字数组[0,0,0,0,0,0,0,0,0,0,0] ,但是我还没有看到很多可以输出更大数组的示例。我会假设我的标签是 50x50 数组?

另外,关于这次分析的处理 CPU 时间有什么想法吗?

4

3 回答 3

1

的,这可以通过 TensorFlow 实现。事实上,有很多方法可以接近它。这是一个非常简单的:

认为这是一个二元分类任务。每个像素都需要分类为前景或背景。选择一组特征,每个像素将根据这些特征进行分类。这些特征可以是局部特征(例如相关像素周围的补丁)或全局特征(例如图像中像素的位置)。或者两者的结合。

然后在此数据集上训练您选择的模型(例如 NN)。当然,您的结果将在很大程度上取决于您选择的功能。


如果您可以使用 TensorFlow 提供的原语将该计算表示为计算图,您也可以采用图切割方法。然后,您可以不使用 TensorFlow 的优化函数(例如反向传播),或者如果您的计算中有一些可微变量,您可以使用 TF 的优化函数来优化这些变量。

于 2016-04-04T17:27:31.287 回答
1

SoftmaxWithLoss() 适用于您的图像分割问题,如果您将预测标签和真实标签映射从 [batch, height, width, channel] 重塑为 [N, channel]。

在您的情况下,您的最终预测图将为通道 = 2,并且在重塑后,N = 批量高度宽度,然后您可以使用 SoftmaxWithLoss() 或 tensorflow 中的类似损失函数来运行优化。

看到这个可能有帮助的问题。

于 2016-05-12T20:01:49.217 回答
0

尝试为模型使用卷积过滤器。卷积层和下采样层的堆叠。输入应该是标准化的像素图像,输出应该是掩码。最后一层应该是 softmaxWithLoss。HTH。

于 2016-09-22T18:17:47.623 回答