如何训练 YoloV4 在灰度图像上进行自定义对象检测?

时间:2021-04-03 05:18:15

标签: deep-learning computer-vision object-detection yolo yolov4

我正在处理带有图表的文本图像。我的图像基本上是黑白的 我不明白为什么我想要图像中的颜色。我在默认设置下得到了一些不错的结果,但我也想在灰度图像上进行测试。我使用 this tutorial 作为基础,默认情况下使用 AlexyAB's 存储库作为 darknet。我想我必须将 config 文件更改为:

channels=3 # I think I have to change it to 0
momentum=0.9
decay=0.0005
angle=0 # A link says that I have to comment these all
saturation = 1.5 # This on 
exposure = 1.5  # and this one too
hue=.1 # Should I change it to 0 too?

但是 there is this link 表示我必须评论 hue,saturation,angle,exposure 等。我想知道:

  1. 我必须将图像以灰度格式保存在目录中还是代码会自己保存?
  2. 除了设置 channels=1 之外,还需要更改一些其他配置吗?将 hue 设置为 0 也是 suggested in this link
  3. 我是否需要修改一些处理加载图像的函数 as given in this link 作为 load_data_detection 函数

2 个答案:

答案 0 :(得分:0)

只需更改配置文件中的 channels=1 即可。如果没有,则注释掉其他参数,例如 angle,hue,exposure,saturation 并重试

答案 1 :(得分:0)

网上和官方仓库都有帖子建议编辑通道、色调值等。

这是对 SURE 有效的方法(我试过), 对于训练集,获取灰度图像或使用 openCV 将 RGB 转换为灰度。

cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

按照您想要的 RGB 训练 YOLOv4,即不干扰通道、色调等。

注意:不要忘记像通常对 RGB 图像所做的那样设置步长、批量大小、通道数等,只需在灰度图像而不是 RGB 上训练模型。

一些个人观察,我找不到理论解释:

  1. YOLOv4 在 RGB 图像上训练,不适用于黑白/灰度图像。
  2. YOLOv4 在黑白/灰度图像上训练,不适用于 RGB。

希望这会有所帮助。

编辑:我还没有验证这是否会比用减少通道训练的模型在计算上更昂贵。尽管它shown不会减少/改进推理时间。