我输入了形状为[?, 448, 448, 3]
的Tensor图像,我的网络预测了一个形状为[?, 4]
的边界框。我想用边界框张量切割我的图像张量,并将得到的张量重新调整为固定大小的图像以供进一步处理。
这是否可能与张量流(或甚至更好,原生在Keras)?我已经阅读了相关问题。例如,this和this,但它们不适用于索引张量和原始张量都具有未知的第一维。
非常感谢任何正确方向的帮助!
答案 0 :(得分:2)
最好的方法是使用tf.image.crop_and_resize
。来自文档:
从输入图像张量中提取裁剪并对其进行双线性调整 (可能的宽高比改变)到指定的公共输出大小 crop_size。这比crop_to_bounding_box op更通用 从输入图像中提取固定大小的切片,但不允许 调整大小或宽高比改变。
从定义位置的输入图像返回带有裁剪的张量 在框中的边界框位置。裁剪的盒子都是 调整大小(使用双线性插值)到固定大小= [crop_height, crop_width。结果是4-D张量[num_boxes,crop_height, crop_width,depth]。