本页目录

  • 如何放置
  • 输入与输出
  • 使用示例
  • 功能示例
  • 参考

SegmentationParser

Supported on:RVC4
SegmentationParser 节点接收分割神经网络(NN)的原始输出,对每个像素应用 argmax,将原始输出张量转换为单通道分割掩码,然后作为 SegmentationMask 消息输出。 某些分割神经网络直接输出单通道分割掩码,在这种情况下,SegmentationParser 节点可直接将原始输出张量转换为 SegmentationMask 消息,而无需应用 argmax。

如何放置

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 NNArchive & nnArchive)
function
std::shared_ptr< SegmentationParser > build(Node::Output & nnInput, const dai::nn_archive::v1::Head & head)
function
void setNNArchive(const NNArchive & nnArchive)
function
void setNNArchiveHead(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

需要帮助?

请前往 OAKChina 官网 获取技术支持或解答您的任何疑问。