NeuralDepth
Supported on:RVC4
NeuralDepth 仅支持安装有 Luxonis OS 1.20.4 或更新版本 的 RVC4 设备。
如何放置
Python
Python
1pipeline = dai.Pipeline()
2neuralDepth = pipeline.create(dai.node.NeuralDepth)输入和输出
模型尺寸
DepthAI 3.6.1 中引入的优化模型。这些新增功能使您可以根据应用更轻松地权衡深度分辨率、精度和实时性能。| 模型 | 分辨率 | FPS |
|---|---|---|
NEURAL_DEPTH_1248X780 (NEURAL_DEPTH_EXTRA_LARGE) | 1248x780 | 8.5 |
NEURAL_DEPTH_1056X660 | 1056x660 | 12.5 |
NEURAL_DEPTH_960X600 | 960x600 | 14 |
NEURAL_DEPTH_864X540 | 864x540 | 18 |
NEURAL_DEPTH_LARGE | 768x480 | 22 |
NEURAL_DEPTH_MEDIUM | 576x360 | 38 |
NEURAL_DEPTH_SMALL (默认) | 480x300 | 56 |
NEURAL_DEPTH_NANO | 384x240 | 85 |
后处理
- 置信度阈值:置信度低于此阈值的像素被视为无效。有效范围是 [0, 255],默认值为 125。
- 边缘阈值:边缘幅度低于此值的像素被视为无效。有效范围是 [0, 255],默认值为 10。
- 时间滤波器:随时间平均深度值以降低噪声。该滤波器具有以下参数:
enable:布尔值,启用/禁用滤波器(默认:false)alpha:指数移 动平均平滑因子,范围 [0, 1]。较低的值提供更平滑的效果(对静态场景很有用),值为 1.0 时实际上相当于直通(默认:0.4)delta:视差变化检测的阈值,范围 [0, 255]。只有视差变化(当前帧与前一帧之间)低于此值的像素才会被滤波,否则该像素的滤波被禁用(默认:100)
Rectification
setRectification(false) 禁用它。Usage
Python
Python
1import depthai as dai
2
3pipeline = dai.Pipeline()
4
5# Create mono cameras
6monoLeft = pipeline.create(dai.node.Camera).build(dai.CameraBoardSocket.CAM_B)
7monoRight = pipeline.create(dai.node.Camera).build(dai.CameraBoardSocket.CAM_C)
8
9# Create Outputs
10leftOutput = monoLeft.requestOutput((640, 400))
11rightOutput = monoRight.requestOutput((640, 400))
12
13# Create NeuralDepth node
14neuralDepth = pipeline.create(dai.node.NeuralDepth)
15neuralDepth.build(leftOutput, rightOutput, dai.DeviceModelZoo.NEURAL_DEPTH_SMALL)
16
17# Configure post-processing
18neuralDepth.initialConfig.setConfidenceThreshold(125)
19neuralDepth.initialConfig.setEdgeThreshold(10)
20
21neuralDepth.initialConfig.postProcessing.temporalFilter.enable = True
22neuralDepth.initialConfig.postProcessing.temporalFilter.delta = 100
23neuralDepth.initialConfig.postProcessing.temporalFilter.alpha = 0.4
24
25# Create output queue
26depthQueue = neuralDepth.depth.createOutputQueue()Examples of functionality
- Neural Depth Minimal - 最小示例,展示基本 NeuralDepth 用法及视差输出可视化。
- Neural Depth - 演示 NeuralDepth 节点,支持运行时配置置信度阈值、边缘阈值和时间滤波。
- Neural Depth RGBD - 将 NeuralDepth 与 RGBD 节点结合生成点云,可通过远程连接查看。
- Neural Depth Align - 演示使用 ImageAlign 节点将 NeuralDepth 输出对齐到 RGB 相机。
Reference
class
dai::node::NeuralDepth
variable
std::shared_ptr< NeuralDepthConfig > initialConfig
variable
variable
Subnode< MessageDemux > messageDemux
variable
Subnode< Rectification > rectification
variable
Subnode< NeuralNetwork > neuralNetwork
variable
variable
variable
variable
variable
Input inputConfig
Input config to modify parameters in runtime.
variable
variable
Input leftInternal
Input left frame internal, used to extract frame info
variable
Input rightInternal
Input right frame internal, used to extract frame info
variable
variable
variable
variable
function
NeuralDepth()function
NeuralDepth & setRectification(bool enable)Enable or disable rectification (useful for prerectified inputs)
function
std::shared_ptr< NeuralDepth > build(Output & left, Output & right, DeviceModelZoo model)function
void buildInternal()需要帮助?
请前往 OAKChina 官网 获取技术支持或解答您的任何疑问。