我在一个项目中使用了 Mask-RCNN 和 Tensorflow。我过去完成了许多培训。
在最近的一个中,我发现张量板中的损失曲线具有很大的冲击幅度。我在小范围内更改了一些设置,例如 batch_size,但它没用(在我看来)。
发现是第一次用.png来训练,这次训练之前用.jpg,可能这里有问题?</p>
先感谢您。
我在一个项目中使用了 Mask-RCNN 和 Tensorflow。我过去完成了许多培训。
在最近的一个中,我发现张量板中的损失曲线具有很大的冲击幅度。我在小范围内更改了一些设置,例如 batch_size,但它没用(在我看来)。
发现是第一次用.png来训练,这次训练之前用.jpg,可能这里有问题?</p>
先感谢您。
当然,png 和 jpeg 格式是有区别的。PNG支持无损数据压缩,而JPEG始终使用有损压缩。因此,如果我们以不同的格式保存同一张图像,它的数值可能会有所不同。
例子:
我们假设以下 png 图像(确保下载它,以重现此示例)。我们将此图像保存为 jpg,然后将 png 图像与 jpg 图像进行比较:
https://upload.wikimedia.org/wikipedia/commons/6/6c/Belton_Garden.png
代码:
import cv2
import numpy as np
img = cv2.imread('./Belton_Garden.png', -1)
img_png = img
cv2.imwrite('./Belton_Garden.jpg', img)
img_jpg = cv2.imread('./Belton_Garden.jpg', -1)
diff = img_png - img_jpg
cv2.imwrite('diff.png', diff)
print('diff', diff)
png 和 jpg 图像的区别是这样的:
结论:
不同的图像格式(jpg、png)会影响Mask-RCNN的训练结果吗?
如您所见,它可能会影响您的结果。因此,最好与图像格式保持一致,以消除此错误源。