tensorflow - 将超像素滤波器应用于网络输出

时间:2017-05-31 17:32:36

标签: python tensorflow neural-network superpixels

下午好, 我有一个卷积神经网络,用6类一批图像进行像素分类。我想将超像素算法(opencv中的算法)应用于网络的输出。实际上,超级像素将根据输入图像计算,然后对于网络输出中的每个超像素位置,我将计算输出类的模式,以便为输入图像的每个超像素具有相同的输出类。 由于在前馈传递期间网络的输出是[batch,w,h,6]大小张量,我正在考虑将张量重新整形为[batch * w,h,6]然后迭代每个类(对于我在范围(6)中并为每个超像素计算该类的模式,然后重新塑造回原始大小。

我在基于numpy的脚本中编写代码应该是这样的:

for i in range ( number of superpixels):
    for j in range(number of classes=6):
        mask = superpixel_location[i]
        net_new_output[:,:,j][mask] = mode(net_output[:,:,j][mask])

虽然这在numpy中编码肯定很容易,但我在尝试在tensorflow中执行它时遇到问题,因为我不知道如何实现for循环或如何管理它们。

你可以帮帮我吗?

谢谢,

MC

0 个答案:

没有答案