我正在使用 tensorflow 对象检测 api ( https://github.com/tensorflow/models/tree/master/research/object_detection ) 使用 Single Shot Multibox 检测器 (SSD) 训练 CNN,然后检测图像/视频中的对象. 有什么方法可以在网络中实现热图以提高模型的准确性?如果没有,你能建议我改进模型的其他方法吗?
提前致谢
我正在使用 tensorflow 对象检测 api ( https://github.com/tensorflow/models/tree/master/research/object_detection ) 使用 Single Shot Multibox 检测器 (SSD) 训练 CNN,然后检测图像/视频中的对象. 有什么方法可以在网络中实现热图以提高模型的准确性?如果没有,你能建议我改进模型的其他方法吗?
提前致谢
答案取决于你真正想从这项工作中得到什么。如果您只是想拥有一个运行良好的模型而不了解幕后发生的事情,我建议您尝试一些高级服务,例如来自 Google Cloud Platform 的 AutoML。
相反,如果您对背后的技术感兴趣,您应该首先阅读原始 SSD 论文,以深入了解它的工作原理。之后,您可以尝试使用在 .config 文件中找到的参数。
与 MobileNet 相比,我个人会从更改特征提取器开始使用更准确(但可能更慢)的特征提取器,如 VGG16 或 ResNet(快速但不太准确)。
然后,您可以尝试更改锚点的大小及其形状,始终从 .config 文件。
但是,我真的建议不要使用试错法,因为很有可能你最终会浪费大量时间等待训练结束。有一些简单但有用的技术可以避免这种情况:例如,我建议您尝试使用最强大的配置并且无需正则化,看看长时间训练是否能够产生至少过度拟合您的数据集的模型并且在那个上效果很好。如果这不起作用,则意味着您的网络不够深/不够大,您应该继续努力。
根据我的个人经验,我发现预处理图像不如我预期的有用,尤其是在使用迁移学习时。