此页面由 AI 自动翻译。查看英文原版

本页目录

  • 如何放置
  • 输入和输出
  • 用法
  • 功能示例
  • 参考

SegmentationParser

Supported on:RVC4
SegmentationParser 节点接收分割神经网络的原始输出,并应用逐像素 argmax 来将原始输出张量转换为单通道分割掩码,然后将其作为 SegmentationMask 消息输出。 某些分割神经网络直接以单通道输出的形式输出分割掩码,在这种情况下,SegmentationParser 节点可以用于在不应用 argmax 的情况下,简单地将原始输出张量转换为 SegmentationMask 消息。

如何放置

Python

Python
1pipeline = dai.Pipeline()
2segmentation = pipeline.create(dai.node.SegmentationParser)

C++

C++
1dai::Pipeline pipeline;
2auto segmentation = pipeline.create<dai::node::SegmentationParser>();

输入和输出

用法

Python

Python
1model = dai.NNModelDescription("luxonis/deeplab-v3-plus:512x512")
2pipeline = dai.Pipeline()
3camera = pipeline.create(dai.node.Camera).build()
4nn = pipeline.create(dai.node.NeuralNetwork).build(camera, model)
5parser = pipeline.create(dai.node.SegmentationParser).build(nn.out, model )

C++

C++
1dai::NNModelDescription model("luxonis/deeplab-v3-plus:512x512");
2dai::Pipeline pipeline;
3auto camera = pipeline.create<dai::node::Camera>()->build();
4auto nn = pipeline.create<dai::node::NeuralNetwork>()->build(camera, model);
5auto parser = pipeline.create<dai::node::SegmentationParser>()->build(nn->out, model);

功能示例

参考

class

dai::node::SegmentationParser

#include SegmentationParser.hpp
variable
std::shared_ptr< SegmentationParserConfig > initialConfig
Initial config to use when parsing segmentation masks.
variable
Input input
Input NN results with segmentation data to parser
variable
Input inputConfig
Input SegmentationParserConfig message with ability to modify parameters in runtime.
variable
Output out
Outputs segmentation mask
function
~SegmentationParser()
function
SegmentationParser()
inline function
SegmentationParser(std::unique_ptr< Properties > props)
function
std::shared_ptr< SegmentationParser > build(Node::Output & nnInput, const Model & model)
function
std::shared_ptr< SegmentationParser > build(Node::Output & nnInput, const dai::nn_archive::v1::Head & head)
function
void setLabels(const std::vector< std::string > & labels)
Sets the class labels associated with the segmentation mask. The label at index $i$ in the
Parameters
  • labels: Vector of class labels
function
std::vector< std::string > getLabels()
Returns the class labels associated with the segmentation mask.
function
void setBackgroundClass(bool backgroundClass)
Sets whether the first class (index 0) is considered the background class. If true, the pixels classified as index 0 will be treated as background.
Parameters
  • backgroundClass: Boolean indicating if the first class is the background class
Parameters
Only applicable if the number of classes is greater than 1 and the output classes are not in a single layer (eg. classesInOneLayer = false).
function
bool getBackgroundClass()
Gets whether the first class (index 0) is considered the background class.
function
void setRunOnHost(bool runOnHost)
Specify whether to run on host or device By default, the node will run on device.
function
bool runOnHost()
Check if the node is set to run on host
function
void run()
function
void buildInternal()
inline function
DeviceNodeCRTP()
inline function
DeviceNodeCRTP(const std::shared_ptr< Device > & device)
inline function
DeviceNodeCRTP(std::unique_ptr< Properties > props)
inline function
DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)
inline function
DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)
enum

std::variant< NNModelDescription, NNArchive, std::string > Model

需要帮助?

请前往 Discussion Forum 获取技术支持或提出您可能有的任何其他问题。