【问题标题】:YOLOV8 how does it handle different image sizesYOLOV8如何处理不同尺寸的图片
【发布时间】:2023-01-29 21:08:26
【问题描述】:

Yolov8 和我怀疑 Yolov5 可以很好地处理非方形图像。我看不到任何裁剪输入图像的证据,即检测似乎到达了最长边的边缘。它是否会调整为 640x604 的正方形,这会改变物体的纵横比,使它们更难被发现?

当从预训练模型开始训练自定义数据集时,imgsz(图像大小)参数实际上做了什么?

【问题讨论】:

    标签: python deep-learning conv-neural-network yolov5


    【解决方案1】:

    现代 Yolo 版本,从 v3 开始,只要两边都是 32 的倍数,就可以处理任意大小的图像。这是因为主干的最大步幅为 32,并且它是一个全卷积网络。

    一个例子。假设您通过以下方式选择资产下的图像作为源和 imgsz 512:

    from ultralytics.yolo.engine.model import YOLO
      
    model = YOLO("yolov8n.pt")
    results = model.predict(stream=True, imgsz=512) # source already setup
    for i, (result) in enumerate(results):
        boxes = result.boxes  # Boxes object for bbox outputs
        masks = result.masks  # Masks object for segmenation masks outputs
        probs = result.probs  # Class probabilities for classification outputs
    

    通过在predictor.py 中打印原始图像形状 (im0) 和馈送到模型 (im) 的图像形状,您将获得以下输出:

    (yolov8) ➜  ultralytics git:(main) ✗ python new.py 
    Ultralytics YOLOv8.0.23 ? Python-3.8.15 torch-1.11.0+cu102 CUDA:0 (Quadro P2000, 4032MiB)
    YOLOv8n summary (fused): 168 layers, 3151904 parameters, 0 gradients, 8.7 GFLOPs
    im0s (1080, 810, 3)
    im torch.Size([1, 3, 512, 384])
    image 1/2 /home/mikel.brostrom/ultralytics/ultralytics/assets/bus.jpg: 512x384 4 persons, 1 bus, 7.4ms
    im0s (720, 1280, 3)
    im torch.Size([1, 3, 288, 512])
    image 2/2 /home/mikel.brostrom/ultralytics/ultralytics/assets/zidane.jpg: 288x512 3 persons, 2 ties, 5.8ms
    Speed: 0.4ms pre-process, 6.6ms inference, 1.5ms postprocess per image at shape (1, 3, 512, 512)
    

    您可以看到最长的图像边被重塑为 512。短边被重塑为 32 的倍数,同时保持两边之间的比例和纵横比。

    【讨论】:

    • 感谢您花时间解释,Stride of 32!我在 user-images.githubusercontent.com/27466624/… 的 yolov8 骨干图中看到它在底部提到了步幅 = 32,但我认为它被计算为 2**5,即步幅 2 的 5 倍。我在图中没有看到的是自适应池层或类似层。我假设较小的一侧通过填充调整为与调整后的较大尺寸相同。你知道 imgsz 参数的作用吗?
    • 只要短边也是 32 的倍数,就不需要填充。将为答案添加更多信息......
    猜你喜欢
    • 2019-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-19
    • 2021-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多