tensorflow - 用于检测小物体的 SSD
问题描述
我将使用 Google Detection API 的 SSD 模型来检测小物体(如图片中的排球)。
我想更改配置文件中的以下参数(纵横比、比例、..):
anchor_generator { ssd_anchor_generator { num_layers: 6 min_scale: 0.2 max_scale: 0.95 aspect_ratios: 1.0 aspect_ratios: 2.0 aspect_ratios: 0.5 aspect_ratios: 3.0 aspect_ratios: 0.3333
我有三个问题:
为了修改这些参数(比例、纵横比……),我需要重新训练模型吗?或者在这些修改之后,我仍然可以使用预训练模型并对我的数据进行微调?
由于我要检测的对象与图像大小相比都很小,增加或减少移动网络中的卷积层数量是否会提高(速度或准确性)检测?如果是,我可以在哪个文件中应用这些更改?
是否有任何特定的方法可以修改 SSD mobilenet 检测器以使其更好地检测小物体?例如,我知道 4X4 特征图(网格)对于我的对象的大小来说太大了,有没有办法删除课程网格并只保留细网格(如 8X8)?
谢谢你。
解决方案
为了修改这些参数(比例、纵横比……),我需要重新训练模型吗?或者在这些修改之后,我仍然可以使用预训练模型并对我的数据进行微调? 是的,您需要重新训练您的模型,因为该网络经过训练可以找到该特定纵横比的排球,但是您可以重新训练现有网络而不是使用新网络。
由于我要检测的对象与图像大小相比都很小,增加或减少移动网络中的卷积层数量是否会提高(速度或准确性)检测?如果是,我可以在哪个文件中应用这些更改? 通常,您想要仍然产生合理精度的接近最小尺寸的网络,但是我不确定 tensorflow 是否允许设置图像重采样限制,因为在该图像大小下,您可能会完全从图像中重新采样排球。训练是任何神经网络中最慢的部分,并且运行检测查询对性能来说并不是什么大问题。
是否有任何特定的方法可以修改 SSD mobilenet 检测器以使其更好地检测小物体?例如,我知道 4X4 特征图(网格)对于我的对象的大小来说太大了,有没有办法删除课程网格并只保留细网格(如 8X8)? 如前所述,重新采样对设置很重要,但是我不确定是否可能。也许这可能是规模参数。
推荐阅读
- html - 滚动条延伸过去的页面
- android - MvvmCross 昂贵的焦点更改事件
- python - 在 Jupyter Books 中访问 Github 数据
- unity3d - 为什么我在搅拌机中制作的网格上的某些表面比其他表面更暗?
- python - 删除引号之间不需要的空格
- android - Android - 是否成功安装适用于 AMD 处理器的 Android Emulator Hypervisor Driver
- javascript - 在 javascript onClick 中使用本地属性
- c# - 有没有一种有效的方法可以在 Windows 窗体中每秒绘制 30 个位图?
- javascript - 让 JavaScript 函数显示结果而不是隐藏结果
- essbase - 没有动态计算成员的 Lvl 0 成员列表 (Essbase)