将其视为二元分类任务。需要将每个像素分类为前景或背景。选择一组特征来对每个像素进行分类。这些特征可以是局部特征(例如在问题像素周围的补丁)或全局特征(例如图像中像素的位置)。或两者的组合。
然后在此数据集上训练所选的模型(例如NN)。当然,您的结果高度取决于您选择的特征。
如果您可以使用TensorFlow提供的基本操作来表示计算图,并且希望进行图割方法,那么您也可以采用这种方法。然后,您可以选择不使用TensorFlow的优化函数(如反向传播),或者如果计算中存在可微变量,则可以使用TF的优化函数来优化这些变量。
SoftmaxWithLoss()
只接受[batch_size class_num]
输入,显然不能帮助OP。既然OP接受了你的答案,我希望他能解释一下他如何解决他的问题。 - 24hours如果您将预测标签和真实标签映射从[batch,height,width,channel]重塑为[N,channel],那么SoftmaxWithLoss()可用于您的图像分割问题。
在您的情况下,最终的预测映射将是channel = 2,在重塑后,N = batchheightwidth,然后您可以使用SoftmaxWithLoss()或类似的tensorflow损失函数来运行优化。
请参见this question,这可能有所帮助。