Tensorflow 对象检测 API - 重新训练以使用来自不同色彩空间的图像?
Tensorflow Object Detection API - Retrain to use Images from different colorspace?
我已经能够重新训练对象检测模型以使用我的自定义 类。但我现在想做的是在推断期间将输入修改为不同的颜色 space(最好是 YUV)。
我需要修改网络吗?可以使用相同的 API 来完成吗?我还能使用迁移学习还是必须从头开始训练?
只转换为 RGB 可能是最简单的,但绝对可以使用迁移学习进行训练。您仍然必须将 YUV 值保存为 JPEG 的 RGB 通道,目前尚不清楚这样做是否比简单地转换为 RGB 有任何显着优势。
如果您想以较低的空间分辨率表示色度 (U,V) 通道(这通常是这样做的),一个可能的小速度优势是,但这可能涉及设计一个可以利用的自定义架构这个。
您不需要更改网络架构。
您可以使用相同的 API 进行训练。
但我认为你在迁移学习方面会有问题。
您用来进行迁移学习的训练网络是在 RGB 通道上训练的。这意味着可能在第一层中您有过滤器正在寻找 RGB 值之间的特定差异。例如,当您在 B 通道和 R 通道之间存在差异时找到边缘。此过滤器不会针对 V 通道和 Y 通道之间的差异找到相同的东西。
因为从第一层开始您将得到不同的结果,这将传播到整个网络。
作为一般规则,如果您向网络中插入的数据与其预期的不同,则不会指望获得相同的结果。
我已经能够重新训练对象检测模型以使用我的自定义 类。但我现在想做的是在推断期间将输入修改为不同的颜色 space(最好是 YUV)。
我需要修改网络吗?可以使用相同的 API 来完成吗?我还能使用迁移学习还是必须从头开始训练?
只转换为 RGB 可能是最简单的,但绝对可以使用迁移学习进行训练。您仍然必须将 YUV 值保存为 JPEG 的 RGB 通道,目前尚不清楚这样做是否比简单地转换为 RGB 有任何显着优势。
如果您想以较低的空间分辨率表示色度 (U,V) 通道(这通常是这样做的),一个可能的小速度优势是,但这可能涉及设计一个可以利用的自定义架构这个。
您不需要更改网络架构。
您可以使用相同的 API 进行训练。
但我认为你在迁移学习方面会有问题。
您用来进行迁移学习的训练网络是在 RGB 通道上训练的。这意味着可能在第一层中您有过滤器正在寻找 RGB 值之间的特定差异。例如,当您在 B 通道和 R 通道之间存在差异时找到边缘。此过滤器不会针对 V 通道和 Y 通道之间的差异找到相同的东西。
因为从第一层开始您将得到不同的结果,这将传播到整个网络。
作为一般规则,如果您向网络中插入的数据与其预期的不同,则不会指望获得相同的结果。