我将使用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
我有三个问题:
要修改这些参数(比例,宽高比等),是否需要重新训练模型?还是经过这些修改后,我仍然可以使用预训练的模型并对数据进行微调?
由于我要检测的对象与图像大小相比都很小,因此增加或减少mobilenet中转换层的数量会改善(速度或准确性)检测吗?如果是,我可以在哪个文件中应用这些更改?
是否有用于修改SSD移动网检测器的特定方法,以使其更好地检测小物体?例如,我知道4X4功能图(网格)对于我的对象来说太大了,有什么方法可以删除路线网格并仅保留精细网格(例如8X8)吗?
谢谢。
答案 0 :(得分:1)
要修改这些参数(比例,宽高比等),是否需要重新训练模型?还是经过这些修改后,我仍然可以使用预训练的模型并对数据进行微调? 是的,您需要重新训练模型,因为网络经过训练可以以特定的长宽比查找排球,但是您可以重新训练现有的网络,而不必使用新的网络。
由于我要检测的对象与图像大小相比都很小,因此增加或减少移动网络中conv层的数量会改善(速度或准确性)检测吗?如果是,我可以在哪个文件中应用这些更改? 通常,您想要的是接近最小尺寸的网络,该网络仍可以产生合理的精度,但是我不确定tensorflow是否允许设置图像重采样限制,因为在该图像大小下,您可能会从图像中重新采样排球。训练是任何神经网络中最慢的部分,而运行查询以进行检测与性能无关。
是否有用于修改SSD移动网检测器的特定方法,以使其更好地检测小物体?例如,我知道4X4特征图(网格)对于我的对象来说太大了,是否有任何方法可以删除路线网格并仅保留精细网格(例如8X8)? 如前所述,重采样设置很重要,但是我不确定是否可行。也许是比例参数。