首页 > 解决方案 > 用于训练/验证的图像分辨率是否会影响 Yolov3 从短距离和长距离检测物体的能力

问题描述

假设我希望能够从短距离和远距离检测汽车模型。这是否意味着我必须准备包含具有多个分辨率的相同汽车图像的训练和验证数据集?

任何见解将不胜感激。

问候,

塞努格

标签: object-detectionyolo

解决方案


我认为您的问题与YOLO WIKI页面中提到的以下问题相匹配:

1. I get low accuracy:
    ....
    ....
    4. Your training dataset doesn't suitable for your Test dataset:
          - Training dataset contains: cars (rear view) from distance 100m
          - Test dataset contains: cars (side view) from distance 5m

如果您查看如何改进对象检测部分,您可以找到有关如何根据检测目标准备训练的一般规则:Dataset

一般规则 - 您的训练数据集应包含您想要检测的一组相对大小的对象:

train_network_width * train_obj_width / train_image_width ~= detection_network_width * detection_obj_width / detection_image_width

train_network_height * train_obj_height / train_image_height ~= detection_network_height * detection_obj_height / detection_image_height

即对于来自测试数据集的每个对象,在训练数据集中必须至少有一个对象具有相同的 class_id 和大约相同的相对大小:

object width in percent from Training dataset ~= object width in percent from Test dataset

也就是说,如果训练集中只存在占据图像 80-90% 的对象,那么经过训练的网络将无法检测到占据图像 1-10% 的对象。

您的查询:

这是否意味着我必须准备包含具有多个分辨率的相同汽车图像的训练和验证数据集?

答:不,这并不一定意味着您需要具有不同分辨率的相同汽车图像。相反,您可以说您需要具有相似分辨率的汽车训练图像,以了解您想要使用训练模型检测的汽车尺寸(分辨率)。


推荐阅读