后处理
后处理
输出解释和转换
预定义模型
对象检测
- 边界框坐标 (xmin, ymin, xmax, ymax): 这些定义了检测到的对象在图像中所在的位置的矩形区域。坐标是归一化的,这意味着它们表示为相对于图像尺寸的 0 到 1 之间的值。
- 置信度分数: 表示模型对检测准确性的确定性。分数越高,表示检测准确性越高。
- 类别标签: 指示检测到的对象的类别,这是模型在训练期间学习到的。
- MobileNet: 可通过
MobileNetDetectionNetwork节点使用。 - Yolo: 可通过
YoloDetectionNetwork节点使用。可通过 Luxonis Tools 导出。 我们支持多个版本的 Yolo 模型,每个模型都针对不同的检测需求进行了定制:YoloV5YoloV6 (R1, R2, R3, R4)YoloV7YoloV8GoldYolo
ImgDetections 文档。 解析数据的示例如下:Python
1import depthai as dai
2
3# 假设管道和模型设置已完成
4# 有关管道创建的详细信息,请参阅 DepthAI 文档
5
6# 连接到设备并启动管道
7with dai.Device(pipeline) as device:
8
9 # 从输出队列检索检测结果
10 qDet = device.getOutputQueue(name="network_node_name", maxSize=4, blocking=False)
11 detections = qDet.get().detections
12
13 # 解析每个检测结果
14 for detection in detections:
15 xmin, ymin, xmax, ymax = detection.bbox
16 confidence = detection.confidence
17 class_id = detection.label
18 # 进一步处理或利用...自定义模型
getLayerFp16(layer_name) 或 getLayerInt8(layer_name) 等方法检索输出, 您需要提供特定层的名称。鉴于这些方法返回所选层的扁平化输出, 因此有必要重塑输出以供后续使用。您可以在 EfficientDet 实验 中找到示例。 以下代码片段简要说明了该过程:Python
1import depthai as dai
2import numpy as np
3
4# 假设管道和模型设置已完成
5# 有关管道创建的详细信息,请参阅 DepthAI 文档
6output_shape=(1,1000) # 替换为您自己的形状
7
8# 连接到设备并启动管道
9with dai.Device(pipeline) as device:
10
11 # 定义队列
12 qDet = device.getOutputQueue(name="network_node_name", maxSize=4, blocking=False)
13
14 # 检索输出列表并将其重塑为所需的尺寸
15 outputs = in_nn.getLayerFp16('network_output_name')
16 outputs = np.array(outputs).reshape(output_shape)
17
18 # 进一步解析、处理或利用...实用应用展示
- 视觉反馈: 使用边界框坐标在实时视频流中检测到的对象周围绘制矩形。您可以在 我们的 YOLO 实验 中找到示例。
- 数据分析: 人员跟踪实验 说明了数据在跟踪、分析移动趋势和计数人员方面的应用。这在零售空间、公共场所或交通枢纽等环境中非常有用,在这些环境中,了解人流量模式和密度对于运营效率、安全性和客户体验优化至关重要。
- 异常检测: 此实验 展示了实时异常检测功能。这在制造质量控制等场景中特别有用,在这些场景中,检测产品或流程中的偏差至关重要。