给定的是灰度图像I作为 2D 张量(维度 W、H)和坐标张量C(暗淡。无,2)。我想解释的行C作为坐标I, 样本I在这些坐标上使用某种插值(双线性可能适合我的用例),并将结果值存储在新的张量中P(维度为无,即一维,条目数量为C有行)。
使用 TensorFlow 可以(有效)实现这一点吗?我能找到的只是调整图像大小的函数(如果您愿意,可以进行等距重采样)。但我找不到任何开箱即用的东西可以在坐标列表中进行采样。
IE。我本希望找到类似 tf.interpolate() 函数的东西:
I = tf.placeholder("float", shape=[128, 128])
C = tf.placeholder("float", shape=[None, 2])
P = tf.interpolate(I, C, axis=[0, 1], method="linear")
理想情况下,我会寻找一个允许我在 N 维张量中进行插值的解决方案I沿 M 维度使用C具有形状 (None, M) 并产生 N-M+1 维输出,如上面代码中的“axis”参数所示。
(顺便说一句,我的应用程序中的“图像”不是图片,它是来自物理模型(用作占位符时)或替代学习模型(用作变量时)的采样数据。现在,该物理模型具有 2 度自由度,因此现在插入“图像”就足够了,但我将来可能会研究更高维度的模型。)
如果现有的 TensorFlow 功能无法实现类似的功能:当我想要实现类似 tf.interpolate() 运算符的功能时,我应该从哪里开始? (文档和/或简单的示例代码)