SimaBoxDecode.h File
SimaBoxDecode Node — postprocess box decode + NMS for object-detection models. More...
Included Headers
#include "builder/PreprocessMetaRequirement.h"
#include "builder/Node.h"
#include "builder/InputContractConfigurable.h"
#include "builder/NodeContractConfigurable.h"
#include "builder/NodeContractProvider.h"
#include "builder/OutputSpec.h"
#include "model/PreprocessPlan.h"
#include "pipeline/BoxDecodeType.h"
#include <memory>
#include <optional>
#include <string>
#include <vector>
Namespaces Index
| namespace | simaai |
| namespace | neat |
| namespace | nodes |
Classes Index
| class | SimaBoxDecode |
|
EV74 postprocess Node that decodes detection-head tensors into object boxes (with NMS). More... | |
Description
SimaBoxDecode Node — postprocess box decode + NMS for object-detection models.
Runs on the EV74. Consumes the raw detection-head tensor(s) emitted by the MLA, applies detector-specific box decoding (anchor decode, sigmoid/softmax over class scores), and returns surviving boxes after non-maximum suppression. Place at the tail of an object-detection pipeline; the variant family is enumerated in pipeline/BoxDecodeType.h.
- See Also
File Listing
The file content with the documentation metadata removed is:
21#include "model/PreprocessPlan.h"
22#include "pipeline/BoxDecodeType.h"
33namespace simaai::neat {
37namespace simaai::neat {
53class SimaBoxDecode final : public Node,
74 explicit SimaBoxDecode(BoxDecodeType decode_type, double detection_threshold = 0.0,
78 BoxDecodeTypeOption decode_type_option = BoxDecodeTypeOption::Auto);
110 explicit SimaBoxDecode(const simaai::neat::Model& model, BoxDecodeType decode_type,
118 BoxDecodeTypeOption decode_type_option = BoxDecodeTypeOption::Auto);
121 explicit SimaBoxDecode(
122 const pipeline_internal::sima::BoxDecodeStaticContract& contract, BoxDecodeType decode_type,
134 BoxDecodeTypeOption decode_type_option = BoxDecodeTypeOption::Auto);
142 NodeCapsBehavior caps_behavior() const override {
146 std::string backend_fragment(int node_index) const override;
148 std::vector<std::string> element_names(int node_index) const override;
150 OutputSpec output_spec(const OutputSpec& input) const override;
152 std::optional<PreprocessMetaRequirement> preprocess_meta_requirement() const override;
154 NodeContractDefinition contract_definition() const override;
156 bool compile_node_contract(const ContractCompileInput& input, CompiledNodeContract* out,
159 void apply_compiled_contract(const CompiledNodeContract& contract, std::string* err) override;
161 void apply_input_contract(const InputContract& contract, std::string* err) override;
165 BoxDecodeType decode_type_internal() const;
171 BoxDecodeTypeOption decode_type_option_internal() const;
191namespace simaai::neat::nodes {
194SimaBoxDecode(BoxDecodeType decode_type, double detection_threshold = 0.0,
198 BoxDecodeTypeOption decode_type_option = BoxDecodeTypeOption::Auto);
201SimaBoxDecode(const simaai::neat::Model& model, BoxDecodeType decode_type,
208 BoxDecodeTypeOption decode_type_option = BoxDecodeTypeOption::Auto);
212 const pipeline_internal::sima::BoxDecodeStaticContract& contract, BoxDecodeType decode_type,
223 BoxDecodeTypeOption decode_type_option = BoxDecodeTypeOption::Auto);
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.