CNN对象检测和带有水印图像的训练,它会起作用吗?
CNN Object detection and training with watermarked images, will it work?
我想知道使用带水印的图像(带有水印 1.under the image or 2.over it or 3.diffused)为 pandas 的对象检测任务训练像 YOLO 这样的 CNN 是否会显着影响模型的准确性,当针对无水印图像。
此外,更具体地说,如果水印在图像中,但在我想要检测的对象区域之外(如示例 1. 或最终 3.),这将如何影响最终结果?
谢谢
根据经验,我会说 YOLO 应该能够处理这种级别的噪声。
检查您的案例:
这应该不是问题。一些训练例程实际上包括黑白图像边界,以在不拉伸图像的情况下获得正确的分辨率。
和 3。如果水印掩盖了重要特征,这可能是个问题,或者如果水印的一部分在训练期间与 class 相关联,则更糟。
如果水印在对象区域之外:
YOLO 具有跨图像学习上下文的能力,但只要您坚持使用预训练模型,就应该没问题。
YOLO 可能能够解决噪声问题,但它仍然不是您可以制作的最佳数据集。为了获得更高的准确性,我建议您使用 YoloV3-SPP(空间金字塔池化)模型。您可以使用这个流行的 repo https://github.com/AlexeyAB/darknet 中的 SPP 模型。
在darknet/cfg/yolov3-spp.cfg
中,您可以看到添加了 SPP 块:
### SPP ###
[maxpool]
stride=1
size=5
[route]
layers=-2
[maxpool]
stride=1
size=9
[route]
layers=-4
[maxpool]
stride=1
size=13
[route]
layers=-1,-3,-5,-6
### End SPP ###
SPP 在卷积层中使用下采样(步长=2)+ 对同一图像使用 3 个不同大小的最大池,并在最大池化层中获得最佳特征。我认为通过添加最大池化层,它会通过仅选择图像中的最大值和重要特征来减少图像中的一些噪声。
我想知道使用带水印的图像(带有水印 1.under the image or 2.over it or 3.diffused)为 pandas 的对象检测任务训练像 YOLO 这样的 CNN 是否会显着影响模型的准确性,当针对无水印图像。
此外,更具体地说,如果水印在图像中,但在我想要检测的对象区域之外(如示例 1. 或最终 3.),这将如何影响最终结果?
谢谢
根据经验,我会说 YOLO 应该能够处理这种级别的噪声。 检查您的案例:
这应该不是问题。一些训练例程实际上包括黑白图像边界,以在不拉伸图像的情况下获得正确的分辨率。
和 3。如果水印掩盖了重要特征,这可能是个问题,或者如果水印的一部分在训练期间与 class 相关联,则更糟。
如果水印在对象区域之外: YOLO 具有跨图像学习上下文的能力,但只要您坚持使用预训练模型,就应该没问题。
YOLO 可能能够解决噪声问题,但它仍然不是您可以制作的最佳数据集。为了获得更高的准确性,我建议您使用 YoloV3-SPP(空间金字塔池化)模型。您可以使用这个流行的 repo https://github.com/AlexeyAB/darknet 中的 SPP 模型。
在darknet/cfg/yolov3-spp.cfg
中,您可以看到添加了 SPP 块:
### SPP ###
[maxpool]
stride=1
size=5
[route]
layers=-2
[maxpool]
stride=1
size=9
[route]
layers=-4
[maxpool]
stride=1
size=13
[route]
layers=-1,-3,-5,-6
### End SPP ###
SPP 在卷积层中使用下采样(步长=2)+ 对同一图像使用 3 个不同大小的最大池,并在最大池化层中获得最佳特征。我认为通过添加最大池化层,它会通过仅选择图像中的最大值和重要特征来减少图像中的一些噪声。