我正在尝试使用YOLO从图像中提取边界框。 因此,我有一个包含3个元素的列表,每个元素都是一个形状数组:(255,26,26),(255,52,52),(255,13,13)。
我想将array(255)的第一个元素减少到最后250个元素,并提取最大值。
我尝试使用以下代码,但索引值很高,我也不知道为什么。
我收到此错误:
信心=得分[classID] IndexError:索引56097超出了轴250的大小250
image = cv.imread(some image)
ln = net.getLayerNames()
ln = [ln[i[0] - 1] for i in net.getUnconnectedOutLayers()]
blob = cv.dnn.blobFromImage(cv.resize(image,(416, 416)),1 / 255.0, (416, 416),swapRB=True, crop=False)
net.setInput(blob)
layerOutputs = net.forward(ln)
boxes = []
confidences = []
classIDs = []
for output in layerOutputs:
for detection in output:
print(detection.shape)
scores = detection[5:]
classID = np.argmax(scores)
print(scores.shape)
print(classID)
confidence = scores[classID]
我希望classID输出在0到249之间,并且第一次迭代得到56097。 对于其他迭代,我也获得了很高的价值:
没有此代码行的输出
信心=得分[classID]
(255, 26, 26)
(250, 26, 26)
56097
(255, 52, 52)
(250, 52, 52)
454245
(255, 13, 13)
(250, 13, 13)
13570