BoxDecodeType.h File
Typed decode-family selection for BoxDecode stages. More...
Included Headers
#include <cstdint>
Namespaces Index
| namespace | simaai |
| namespace | neat |
Description
Typed decode-family selection for BoxDecode stages.
The BoxDecodeType enum picks the head-decoding contract used by the SimaBoxDecode postprocess stage: which YOLO variant, DETR, EffDet, RCNN stage-1 or CenterNet head layout the planner should expect. The companion BoxDecodeTypeOption enum selects the tensor-packing variant within a family. Helpers in this header stringify the enums and summarise each decode family's tensor contract for diagnostics and docs.
- See Also
nodes/sima/SimaBoxDecode.h for the consuming postprocess node.
- See Also
DetectionTypes.h for the decoded detection payload.
File Listing
The file content with the documentation metadata removed is:
20namespace simaai::neat {
33enum class BoxDecodeType : std::int32_t {
35 Unspecified = 0,
37 Yolo = 1,
38 YoloV5 = 2,
39 YoloV5Seg = 3,
40 YoloV7 = 4,
41 YoloV7Seg = 5,
42 YoloV8 = 6,
43 YoloV8Seg = 7,
44 YoloV8Pose = 8,
45 YoloV9 = 9,
46 YoloV9Seg = 10,
47 YoloV10 = 11,
48 YoloV10Seg = 12,
49 Detr = 13,
50 EffDet = 14,
51 RcnnStage1 = 15,
52 Centernet = 16,
53 YoloV26 = 17,
66enum class BoxDecodeTypeOption : std::int32_t {
67 Auto = 0,
68 PackedPerHead = 1,
69 InterleavedByHead = 2,
70 GroupedByRole = 3,
71 Split3Interleaved = 4,
72 Split3Grouped = 5,
73 InterleavedByHeadProbability = 6,
74 InterleavedByHeadLogit = 7,
75 GroupedByRoleProbability = 8,
76 GroupedByRoleLogit = 9,
80constexpr const char* box_decode_type_token(BoxDecodeType type) {
82 case BoxDecodeType::Yolo:
84 case BoxDecodeType::YoloV5:
86 case BoxDecodeType::YoloV5Seg:
88 case BoxDecodeType::YoloV7:
90 case BoxDecodeType::YoloV7Seg:
92 case BoxDecodeType::YoloV8:
94 case BoxDecodeType::YoloV8Seg:
96 case BoxDecodeType::YoloV8Pose:
98 case BoxDecodeType::YoloV9:
100 case BoxDecodeType::YoloV9Seg:
102 case BoxDecodeType::YoloV10:
104 case BoxDecodeType::YoloV10Seg:
106 case BoxDecodeType::YoloV26:
108 case BoxDecodeType::Detr:
110 case BoxDecodeType::EffDet:
112 case BoxDecodeType::RcnnStage1:
114 case BoxDecodeType::Centernet:
116 case BoxDecodeType::Unspecified:
123constexpr const char* box_decode_type_option_token(BoxDecodeTypeOption option) {
125 case BoxDecodeTypeOption::Auto:
127 case BoxDecodeTypeOption::PackedPerHead:
129 case BoxDecodeTypeOption::InterleavedByHead:
131 case BoxDecodeTypeOption::GroupedByRole:
133 case BoxDecodeTypeOption::Split3Interleaved:
135 case BoxDecodeTypeOption::Split3Grouped:
143 case BoxDecodeTypeOption::GroupedByRoleLogit:
151constexpr bool box_decode_type_is_yolo_family(BoxDecodeType type) {
153 case BoxDecodeType::Yolo:
154 case BoxDecodeType::YoloV5:
155 case BoxDecodeType::YoloV5Seg:
156 case BoxDecodeType::YoloV7:
157 case BoxDecodeType::YoloV7Seg:
158 case BoxDecodeType::YoloV8:
159 case BoxDecodeType::YoloV8Seg:
160 case BoxDecodeType::YoloV8Pose:
161 case BoxDecodeType::YoloV9:
162 case BoxDecodeType::YoloV9Seg:
163 case BoxDecodeType::YoloV10:
164 case BoxDecodeType::YoloV10Seg:
165 case BoxDecodeType::YoloV26:
167 case BoxDecodeType::Detr:
168 case BoxDecodeType::EffDet:
169 case BoxDecodeType::RcnnStage1:
170 case BoxDecodeType::Centernet:
171 case BoxDecodeType::Unspecified:
178constexpr bool box_decode_type_is_segmentation(BoxDecodeType type) {
180 case BoxDecodeType::YoloV5Seg:
181 case BoxDecodeType::YoloV7Seg:
182 case BoxDecodeType::YoloV8Seg:
183 case BoxDecodeType::YoloV9Seg:
184 case BoxDecodeType::YoloV10Seg:
186 case BoxDecodeType::Yolo:
187 case BoxDecodeType::YoloV5:
188 case BoxDecodeType::YoloV7:
189 case BoxDecodeType::YoloV8:
190 case BoxDecodeType::YoloV8Pose:
191 case BoxDecodeType::YoloV9:
192 case BoxDecodeType::YoloV10:
193 case BoxDecodeType::YoloV26:
194 case BoxDecodeType::Detr:
195 case BoxDecodeType::EffDet:
196 case BoxDecodeType::RcnnStage1:
197 case BoxDecodeType::Centernet:
198 case BoxDecodeType::Unspecified:
205constexpr const char* box_decode_type_contract_summary(BoxDecodeType type) {
207 case BoxDecodeType::Yolo:
208 case BoxDecodeType::YoloV5:
209 case BoxDecodeType::YoloV7:
210 case BoxDecodeType::YoloV8:
211 case BoxDecodeType::YoloV8Pose:
212 case BoxDecodeType::YoloV9:
213 case BoxDecodeType::YoloV10:
216 case BoxDecodeType::YoloV26:
219 case BoxDecodeType::YoloV5Seg:
220 case BoxDecodeType::YoloV7Seg:
221 case BoxDecodeType::YoloV8Seg:
222 case BoxDecodeType::YoloV9Seg:
223 case BoxDecodeType::YoloV10Seg:
225 case BoxDecodeType::Detr:
228 case BoxDecodeType::EffDet:
229 case BoxDecodeType::RcnnStage1:
230 case BoxDecodeType::Centernet:
233 case BoxDecodeType::Unspecified:
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.