随机裁剪和十个边框

2024-06-07 01:14:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在WiderFace数据集上添加一个数据增强,我想知道,怎么可能随机裁剪一个图像,而只使用tensorflow将中心放在裁剪内的面框中?在

我已经尝试实现一个解决方案,但是我使用了TFRecords和TfExampleDecoder,并且在这个过程中输入图像的形状被设置为[None, None, 3],所以没有办法获得图像的形状并自己去做。在


Tags: 数据图像none过程tensorflowtfrecords解决方案中心
1条回答
网友
1楼 · 发布于 2024-06-07 01:14:59

您可以获得形状,但只能在运行时调用sess.运行并实际传递数据-这是形状被实际定义的时候。在

所以在tesorflow中手动进行随机裁剪,基本上,您需要重新实现tf.random_crop,这样就可以处理对边界框的操作。在

首先,要获得形状,x = your_tensor.shape[0]将给您第一个维度。在您实际调用sess.run之前,它将显示为None,然后它将解析为适当的值。现在您可以使用tf.random_uniform或任何您喜欢的方法来计算一些随机作物参数。最后,使用tf.slice执行裁剪。在

如果要选择是否执行裁剪,可以使用tf.cond。在

在这些组件之间,您应该能够只使用tensorflow构造来实现您想要的。试试看,如果你一路上卡住了,把你遇到的代码和错误贴出来。在

相关问题 更多 >