CNN带有水印图像的对象检测和训练,是否行得通?

时间:2019-04-18 10:53:02

标签: conv-neural-network object-detection image-recognition yolo

我想知道,使用水印图像(带有水印1。under the image或2。over it或3。diffused)训练像YOLO这样的CNN来处理大熊猫的目标检测任务是否会显着当对非水印图像进行测试时,会影响模型的准确性。

更具体地说,如果水印在图像中,但在我要检测的对象区域之外(例如示例1.或最终3.),这将如何影响最终结果?

谢谢

2 个答案:

答案 0 :(得分:1)

根据经验,我想说YOLO应该能够处理这种噪音。 查看您的案例:

  1. 这应该不是问题。一些训练例程实际上包括黑白图像边框,以在不拉伸图像的情况下获得正确的分辨率。

  2. 和3。如果水印掩盖了重要特征,则可能会出现问题;如果在培训期间水印的一部分与班级相关,则可能会更糟。

如果水印在对象区域之外: YOLO具有在整个图像中学习上下文的功能,但是只要您遵循预先训练的模型,就可以了。

答案 1 :(得分:1)

YOLO也许可以解决噪声问题,但它仍然不是您可以制作的最佳数据集。为了获得更高的准确性,建议您使用YoloV3-SPP(空间金字塔池)模型。您可以从这个受欢迎的仓库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个不同大小的最大池,并在最大池化层中获得最佳功能。我认为通过添加最大池化层,可以通过仅从图像中选择最大值和重要特征来减少图像中的一些噪声。