gpt4 book ai didi

python - net.forward()的返回类型

转载 作者:行者123 更新时间:2023-12-02 16:28:41 25 4
gpt4 key购买 nike

嗨,我正在通过使用带有tensorflow的更快的rcnn模型来检测人。
在我引用的代码中提到了

net = cv2.dnn.readNetFromTensorflow(args["inferencegraph"],args["graphpbtxt"])

在那之后:
detections = net.forward()

我没有得到确切的检测以及检测的内容?
例如,它是列表还是元组,它的元素是什么?

最佳答案

cv2.dnn.readNetFromTensorflow接收您的Protobuf文件.pb和模型.pbtxt的配置文件,以加载保存的模型。
net.forward()-运行前向传递以计算净输出。

您的检测即net.forward()将给出Numpy ndarray作为输出,您可以使用它在给定的输入图像上绘制框。

您可以考虑以下示例。

import cv2

# Load a model imported from Tensorflow
tensorflowNet = cv2.dnn.readNetFromTensorflow('frozen_inference_graph.pb', 'graph.pbtxt')

# Input image
img = cv2.imread('img.jpg')
rows, cols, channels = img.shape

# Use the given image as input, which needs to be blob(s).
tensorflowNet.setInput(cv2.dnn.blobFromImage(img, size=(300, 300), swapRB=True, crop=False))

# Runs a forward pass to compute the net output
networkOutput = tensorflowNet.forward()

# Loop on the outputs
for detection in networkOutput[0,0]:

score = float(detection[2])
if score > 0.2:

left = detection[3] * cols
top = detection[4] * rows
right = detection[5] * cols
bottom = detection[6] * rows

#draw a red rectangle around detected objects
cv2.rectangle(img, (int(left), int(top)), (int(right), int(bottom)), (0, 0, 255), thickness=2)

# Show the image with a rectagle surrounding the detected objects
cv2.imshow('Image', img)
cv2.waitKey()
cv2.destroyAllWindows()

我已经考虑过使用 Inception-SSD v2作为重量文件,可以从 here下载该文件。
并从 link配置文件。

关于python - net.forward()的返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59409692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com