DepthAI 节点
概述
depthai-nodes 是一个开源 Python 库,包含用于 DepthAI v3 流水线的宿主端节点和消息类型。 它通过在宿主机器上运行的解析器、实用程序和辅助节点扩展了标准的 DepthAI 工作流,同时保持与流水线其余部分的兼容性。该库分为两个主要模块:node用于宿主端流水线组件message用于这些组件使用的更丰富的消息类型
安装
depthai-nodes 需要 Python 3.10 或更高版本,并且适用于 depthai v3 流水线。使用以下命令从 PyPI 安装:Command Line
1pip install depthai-nodesCommand Line
1git clone git@github.com:luxonis/depthai-nodes.git
2cd depthai-nodes
3pip install .模块
Node
node 模块提供了一系列自定义节点对象,这些对象扩展了标准 DepthAI 节点的功能。 这些节点分为解析器、实用程序和辅助类别。典型工作流
ParsingNeuralNetwork 是主要入口点。 它创建底层的 NeuralNetwork 节点以及所选模型所需的解析器节点。 模型源可以提供为 Luxonis Models 参考、本地 NN Archive 或 dai.NNModelDescription。相关的辅助工具包括:HostParsingNeuralNetwork用于同一工作流的宿主端版本ParserGenerator当您需要从 NN Archive 生成解析器节点时
解析器
dai.ImgDetections、dai.TrackedFeatures 或 dai.ImgFrame,或者是自定义的 depthai_nodes.message 类型。以下是可用解析器节点及其相应任务和用法示例的概述。 我们仅列出了一小部分示例,因为在 Luxonis Models 上还有更多可用。 有关每个单独解析器的详细信息,请参阅 解析器节点文档。| 解析器 | 任务 | 用法示例 |
|---|---|---|
YOLOExtendedParser | 对象检测 | YOLOv8 实例分割 Nano、YOLOv8 Nano 姿态估计 |
YuNetParser | 对象检测 | YuNet |
SCRFDParser | 对象检测 | SCRFD 人员检测 |
MPPalmDetectionParser | 对象检测 | MediaPipe 手掌检测 |
PPTextDetectionParser | 对象检测 | Paddle 文本检测 |
ClassificationParser | 分类 | EfficientNet-Lite |
ClassificationSequenceParser | 分类 | Paddle 文本识别 |
SegmentationParser | 分割 | DeepLab-V3-Plus |
FastSAMParser | 分割 | FastSAM s |
KeypointParser | 关键点检测 | MediaPipe 手部地标检测器 |
SuperAnimalParser | 关键点检测 | SuperAnimal 地标检测器 |
HRNetParser | 关键点检测 | Lite-HRNet |
XFeatMonoParser | 特征匹配 | XFeat |
XFeatStereoParser | 特征匹配 | XFeat |
LaneDetectionParser | 其他 | Ultra Fast Lane Detection |
MLSDParser | 其他 | M-LSD |
EmbeddingsParser | 其他 | ArcFace |
RegressionParser | 其他 | 头部姿态估计 |
MapOutputParser | 其他 | Depth Anything V2 |
ImageOutputParser | 其他 | Zero-DCE |
实用程序和辅助程序
| 节点 | 任务 | 目的 |
|---|---|---|
BaseHostNode | 抽象类 | 主机节点基类 |
BaseThreadedHostNode | 抽象类 | 线程化主机节点基类 |
ApplyColormap | 图像处理 | 应用伪彩色 |
ApplyDepthColormap | 图像处理 | 应用百分位数归一化的深度或视差着色 |
DepthMerger | 图像处理 | 合并深度和检测 |
FrameCropper | 图像处理 | 从检测或上游 manip-config 组裁剪和调整图像区域大小 |
ImgFrameOverlay | 图像处理 | 叠加两个图像 |
Tiling | 图像处理 | 生成用于下游裁剪管道的平铺 dai.ImageManipConfig 组 |
ExtendedNeuralNetwork | 神经网络处理 | dai.node.NeuralNetwork 的便捷包装器,用于模型库和 NN 存档源 |
ParsingNeuralNetwork | 神经网络处理 | 为给定模型创建 NeuralNetwork 节点和相关的解析器 |
HostParsingNeuralNetwork | 神经网络处理 | 主机端 ParsingNeuralNetwork 实现 |
ParserGenerator | 神经网络处理 | 从给定的 NN 存档生成解析器 |
CoordinatesMapper | 检测和过滤 | 重新映射支持的消息在图像转换空间之间的坐标 |
HostSpatialsCalc | 检测和过滤 | 使用深度数据和校准信息计算主机端空间坐标 |
ImgDetectionsFilter | 检测和过滤 | 过滤检测消息 |
InstanceToSemanticMask | 检测和过滤 | 将实例 ID 蒙版转换为语义蒙版 |
GatherData | 数据管理 | 将消息收集到一个 |
MessageCollector | 数据管理 | 将来自流的相同时间戳消息收集到一个集合中 |
SnapsUploader |