Cityscapes Trafficsigns 没有使用 TF 对象检测的方框或面具检测 API
Cityscapes Trafficsigns no box- or mask- detection with TF Object Detection API
对于所有关于此的想法、提示或链接,我将不胜感激:
使用 TF 1.10 和最近的 object detection-API (github, 2018-08-18) I can do box- and mask prediction using the PETS dataset as well as using my own proof of concept data-set:
但是在城市景观交通标志(单个 class)上进行训练时,我很难获得 任何 结果。我调整了锚点以尊重更小的对象,看起来 RPN 至少在做 有用的事情:
无论如何,框预测器根本不会起作用。这意味着我根本没有收到任何盒子 - 不是要口罩。
我的管道大部分甚至完全像示例配置。
所以我预计要么是特定类型的数据有问题,要么是错误。
你有什么tips/links方法吗
- 使用 2 级或 3 级时可视化 RPN 结果? (仅使用一个阶段就可以做到这一点,但是如何强制执行呢?)
- 先训练 RPN,然后再继续训练框?
- 调查where/why箱子丢了? (具有 零 分数的预测,而评估产生 零 class化错误)
解决方案最终是多个问题的组合:
- 参数
from_detection_checkpoint: true
已贬值,将被 fine_tune_checkpoint_type: 'detection'
取代。然而,如果没有这些,框架似乎默认为 'classification'
,这似乎打破了对象检测框架的整体理念。这次依赖默认值不是个好主意。
我的数据准备得不够好。我有零宽度+/高度的盒子(无论出于何种原因)。我还为断开连接的实例删除了掩码。
将 keep_aspect_ratio_resizer
与 random_crop_image
和 random_coef: 0.0
一起使用 而不是 似乎允许完整的分辨率,因为resizer 似乎是在随机裁剪之前应用的。我现在将我的输入图像分割成(垂直)条纹 [为了节省内存] 并应用 random_crop 和一个小的 min_area
所以它根本不会跳过小特征。此外,我现在可以允许 max_area: 1
和随机系数 > 0,因为内存使用已得到处理。
还有一个潜在的问题是我只考虑了一个 class(到目前为止)。这可能是框架或网络中激活函数的问题。但是,结合其他问题,此更改似乎不会导致其他问题 - 至少。
最后但并非最不重要的一点是,我将源更新为 2018-10-02,但没有详细介绍所有修改。
我希望其他人可以从我的发现中节省时间和麻烦。
对于所有关于此的想法、提示或链接,我将不胜感激:
使用 TF 1.10 和最近的 object detection-API (github, 2018-08-18) I can do box- and mask prediction using the PETS dataset as well as using my own proof of concept data-set:
但是在城市景观交通标志(单个 class)上进行训练时,我很难获得 任何 结果。我调整了锚点以尊重更小的对象,看起来 RPN 至少在做 有用的事情:
无论如何,框预测器根本不会起作用。这意味着我根本没有收到任何盒子 - 不是要口罩。
我的管道大部分甚至完全像示例配置。 所以我预计要么是特定类型的数据有问题,要么是错误。
你有什么tips/links方法吗
- 使用 2 级或 3 级时可视化 RPN 结果? (仅使用一个阶段就可以做到这一点,但是如何强制执行呢?)
- 先训练 RPN,然后再继续训练框?
- 调查where/why箱子丢了? (具有 零 分数的预测,而评估产生 零 class化错误)
解决方案最终是多个问题的组合:
- 参数
from_detection_checkpoint: true
已贬值,将被fine_tune_checkpoint_type: 'detection'
取代。然而,如果没有这些,框架似乎默认为'classification'
,这似乎打破了对象检测框架的整体理念。这次依赖默认值不是个好主意。 我的数据准备得不够好。我有零宽度+/高度的盒子(无论出于何种原因)。我还为断开连接的实例删除了掩码。
将
keep_aspect_ratio_resizer
与random_crop_image
和random_coef: 0.0
一起使用 而不是 似乎允许完整的分辨率,因为resizer 似乎是在随机裁剪之前应用的。我现在将我的输入图像分割成(垂直)条纹 [为了节省内存] 并应用 random_crop 和一个小的min_area
所以它根本不会跳过小特征。此外,我现在可以允许max_area: 1
和随机系数 > 0,因为内存使用已得到处理。还有一个潜在的问题是我只考虑了一个 class(到目前为止)。这可能是框架或网络中激活函数的问题。但是,结合其他问题,此更改似乎不会导致其他问题 - 至少。
最后但并非最不重要的一点是,我将源更新为 2018-10-02,但没有详细介绍所有修改。
我希望其他人可以从我的发现中节省时间和麻烦。