【问题标题】:Tiny yolo v4 usage with opencv gives no detection与 opencv 一起使用的小 yolo v4 没有检测到
【发布时间】:2021-06-30 14:47:21
【问题描述】:

我已经在 google colab 上的自定义数据集上训练了 yolo-tiny-v4,并且检测效果很好。然后我尝试在opencv的dnn模块的帮助下将yolo-tiny-v4加载到其他colabproject中,没有出现错误,但是检测失败(没有检测到物体,检测的输出是Nan的向量) .

[array([[nan, nan, nan, nan, nan,  0.],
    [nan, nan, nan, nan, nan,  0.],
    [nan, nan, nan, nan, nan,  0.],
    ...,
    [nan, nan, nan, nan, nan,  0.],
    [nan, nan, nan, nan, nan,  0.],
    [nan, nan, nan, nan, nan,  0.]], dtype=float32),
array([[nan, nan, nan, nan, nan,  0.],
    [nan, nan, nan, nan, nan,  0.],
    [nan, nan, nan, nan, nan,  0.],
    ...,
    [nan, nan, nan, nan, nan,  0.],
    [nan, nan, nan, nan, nan,  0.],
    [nan, nan, nan, nan, nan,  0.]], dtype=float32)]

我在 colab 上使用 OpenCV 版本 4.5.1 和 Python 3.7。有什么想法吗?

这是代码

#Load YOLO
net = cv2.dnn.readNetFromDarknet("/content/custom-yolov4-tiny-detector.cfg","/content/custom-yolov4- 
tiny-detector_last.weights")
classes = []  
with open("obj.names","r") as f:
classes = [line.strip() for line in f.readlines()]
net.getLayerNames()
layer_names = net.getLayerNames()
outputlayers = [layer_names[i[0] - 1] for i in net.getUnconnectedOutLayers()]
#loading image
img = cv2.imread("/content/1.png")
#img = cv2.resize(img,None,fx=0.4,fy=0.3)
height,width,channels = img.shape
cv2_imshow(img)
blob = cv2.dnn.blobFromImage(img,0.00392,(416,416),(0,0,0),True,crop=False)
net.setInput(blob)
outs = net.forward(outputlayers)
outs

【问题讨论】:

  • 相同的代码是否适用于预训练的微型 yolo v3 模型?您是否尝试过预训练的微型 yolo v4?
  • 我会试试这个并提供反馈
  • @Micka 嗨,我犯了一个有趣的错误,因为初学者忘记在可乐中安装暗网。现在一切正常,谢谢

标签: opencv computer-vision conv-neural-network yolo transfer-learning


【解决方案1】:

作为初学者,我忘记在 colab 中安装暗网

【讨论】:

  • 您好,您介意详细说明安装是什么意思吗?我已经在 colab 中制作了暗网,但它仍然给了我 nan 的预测。谢谢
猜你喜欢
  • 1970-01-01
  • 2021-11-29
  • 2021-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-20
  • 1970-01-01
相关资源
最近更新 更多