object-detection - MobileNet-SSD 输入分辨率
问题描述
我有一个工作对象检测模型(微调 MobileNet SSD),可以检测我的自定义小型机器人。我将向它提供一些网络摄像头镜头(将与无人机相关联)并使用实时边界框信息。
所以,我准备购买相机。
我的问题:既然 SSD 将输入图像的大小调整为 300x300,那么相机分辨率是否非常重要?更高的分辨率是否意味着更高的精度(即使它被调整为 300x300 的尺寸)?在运行对象检测模型之前,我是否应该在每一帧将摄像机素材裁剪为 1:1 的纵横比?我应该将图像分成 MxN 裁剪段并逐个运行推理吗?
因为我的机器人非常小,无人机将在 4 米的高度,所以我将有效地尝试检测输入图像上的一个非常小的点。
非常感谢任何智慧,谢谢。
解决方案
这些问题很多,我会尽力回答所有问题。检测模型在通过某种调整大小方法(例如双线性)将输入图像馈送到网络之前调整其大小。如果输入图像等于或大于网络的输入大小而不是更小,那当然会更好。经验法则是,确实更高的分辨率意味着更高的准确性,但这在很大程度上取决于设置和任务。如果您尝试检测一个小物体,例如原始分辨率为 1920x1080。然后在调整图像大小后,小物体会更小(按像素计算),并且可能太小而无法检测。因此,确实,最好将图像分割成更小的图像(可能有一些重叠以避免由于对象分割而导致的错误检测)并对每个图像应用检测,或者使用具有更高输入分辨率的模型。请注意,虽然第一个模型在您当前的模型中是可能的,但您需要为后者训练一个新模型,可能会进行一些架构更改(例如添加 SSD 层和修改锚点,取决于您想要检测的比例)。关于纵横比问题,您最需要保持一致。如果您不保持原始纵横比并不重要,但如果您不保持 - 在训练和评估/测试/部署中都这样做。需要为后者训练一个新模型,可能需要进行一些架构更改(例如添加 SSD 层和修改锚点,取决于您要检测的比例)。关于纵横比问题,您最需要保持一致。如果您不保持原始纵横比并不重要,但如果您不保持 - 在训练和评估/测试/部署中都这样做。需要为后者训练一个新模型,可能需要进行一些架构更改(例如添加 SSD 层和修改锚点,取决于您要检测的比例)。关于纵横比问题,您最需要保持一致。如果您不保持原始纵横比并不重要,但如果您不保持 - 在训练和评估/测试/部署中都这样做。
推荐阅读
- sql-server - SQL Server Management Studio 拒绝查看对所有数据库的访问权限,但用户有权访问但没有使用户成为所有者的数据库
- ios - Nativescript-Vue IOS安全区布局问题
- python - 如果至少一个单元格是 NaN,则 Pandas 加入行
- python - 从通过 Microsoft 服务帐户上的 Windows 任务计划程序安排的 python 脚本访问 sharepoint 文件夹
- android - Android:在动作模式对话框外点击时关闭浮动动作模式
- vba - 用于拆分函数的 VBA UBound 与用于字符串数组的 UBound
- python - 使用 SQL 将数据从 CSV 文件插入到 postgres
- asp.net - 我们可以仅使用 SendGrid 个性化更改密件抄送的电子邮件内容吗?
- angular - 测试是否使用 Jasmine 和 Karma 更改类
- javascript - [Vue 警告]:v-on 处理程序中的错误:VueJS 和 Laravel 中的“TypeError:无法读取未定义的属性 'id'”