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