我在项目中使用Mask-RCNN和Tensorflow。
我过去完成了许多培训。
在最近的一个中,我发现损耗曲线在张量板上具有较大的冲击幅度。我在较小的范围内更改了一些设置,例如batch_size,但它没有用(我认为)。
我发现这是第一次使用.png进行训练,在这次培训之前是使用.jpg的,也许这是错误的吗?
谢谢。
答案 0 :(得分:0)
当然,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?
如您所见,它可能会影响您的结果。因此,最好与图像格式保持一致,以消除这种错误源。