基于张量的图像分割

2024-10-16 22:24:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图看到使用TensorFlow识别图像数据中特征的可行性。我有50x50px灰度图像的细胞核,我想分割-期望的输出将是0或1为每个像素。0为背景,1为核心。

示例输入:raw input data

示例标签(标签/实际答案是什么):output data (label)

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

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

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


Tags: 数据图像示例datatensorflow数字像素特征
3条回答

尝试对模型使用卷积滤波器。卷积层和下采样层的叠加。输入应为标准化像素图像,输出应为遮罩。最后一层应该是softmaxWithLoss。哦。

SoftmaxWithLoss()适用于图像分割问题,如果您将预测的标签和真标签映射从[批处理,高度,宽度,通道]重塑为[N,通道]。

在您的情况下,最终预测的映射将是channel=2,在重新整形之后,N=batchheightwidth,然后您可以在tensorflow中使用SoftmaxWithLoss()或类似的loss函数来运行优化。

请参阅this question这可能有帮助。

是的,这在TensorFlow中是可能的。事实上,有很多方法可以解决这个问题。这里有一个非常简单的例子:

把这看作是一个二进制分类任务。每个像素都需要分类为前景或背景。选择一组用于对每个像素进行分类的特征。这些特征可以是局部特征(例如问题像素周围的补丁)或全局特征(例如像素在图像中的位置)。或者两者的结合。

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


如果可以使用TensorFlow提供的原语将计算表示为计算图,则还可以使用graph-cut approach。然后,您可以不使用TensorFlow的优化函数,如backprop,或者如果您的计算中有一些可微变量,您可以使用TF的优化函数来优化这些变量。

相关问题 更多 >