【问题标题】:Can't detect with YOLOv5 while running the code with pytorch使用 pytorch 运行代码时无法使用 YOLOv5 进行检测
【发布时间】:2022-01-19 20:57:43
【问题描述】:

虽然当我从 github 下载 YOLOv5 并将 detect.py 作为“python detect.py --source 0”运行时它可以工作,但当我尝试从 pytorch 运行它时

import cv2
import torch

model = torch.hub.load('ultralytics/yolov5', 'yolov5s', pretrained=True)

vid1 = cv2.VideoCapture(0)

while True:
    ret1, frame1 = vid1.read()

    cv2.imshow('frame', frame1)

    results = model(frame1)
    results.print()

    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

vid1.release()
cv2.destroyAllWindows()

它没有检测输出:

terminal output

我该怎么办?

【问题讨论】:

    标签: opencv pytorch yolov5


    【解决方案1】:

    首先,您应该在发布之前检查 github 代码,您可以在 github of this model 上找到使其工作的所有步骤。 Opencv 将您的网络摄像头图像作为一个 numpy 数组获取,该数组必须转换为 Torch 张量。

    im = torch.from_numpy(im)
    

    图片的数据类型为uint8,必须转换成float32或float16

    im = im.float()
    

    然后您需要将图像除以 255 以使值介于 0 和 1 之间。

    im /= 255
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-29
      • 2021-06-07
      • 2014-08-20
      • 1970-01-01
      • 2021-12-18
      • 2012-12-08
      • 2023-03-24
      相关资源
      最近更新 更多