NVIDIA DeepStream SDK API Reference
9.0 Release
9.0/sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_postprocess/decoder.hpp
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: Copyright (c) 2022-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3
* SPDX-License-Identifier: LicenseRef-NvidiaProprietary
4
*
5
* NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
6
* property and proprietary rights in and to this material, related
7
* documentation and any modifications thereto. Any use, reproduction,
8
* disclosure or distribution of this material and related documentation
9
* without an express license agreement from NVIDIA CORPORATION or
10
* its affiliates is strictly prohibited.
11
*/
12
13
#ifndef DECODER_HPP
14
#define DECODER_HPP
15
16
#include <memory>
17
#include <vector>
18
#include "dtype.hpp"
19
20
namespace
bevfusion
{
21
namespace
decoder{
22
23
struct
Position {
24
float
x
,
y
,
z
;
25
};
26
27
struct
Size {
28
float
w
,
l
,
h
;
// x, y, z
29
};
30
31
struct
Velocity {
32
float
vx
,
vy
;
33
};
34
35
struct
ThreeDBox
{
36
Position
position
;
37
Size
size
;
38
Velocity
velocity
;
39
float
yaw
;
40
float
score
;
41
int
category
;
42
int
ibatch
;
43
int
id
;
44
};
45
46
typedef
struct
ThreeDBox
ThreeDBox
;
47
typedef
std::vector<ThreeDBox>
ThreeDBoxes
;
48
49
struct
Head{
50
void
*
heatmap
;
51
void
*
rotation
;
52
void
*
height
;
53
void
*
dim
;
54
void
*
vel
;
55
void
*
reg
;
56
unsigned
int
fm_area
;
57
unsigned
int
fm_width
;
58
unsigned
int
batch
;
59
};
60
61
class
Decoder {
62
public
:
63
struct
DecoderParameter {
64
float
out_size_factor
= 4;
65
ds3d::Float2
voxel_size
{0.075, 0.075};
66
ds3d::Float2
pc_range
{-54.0f, -54.0f};
67
ds3d::Float3
post_center_range_start
{-61.2, -61.2, -10.0};
68
ds3d::Float3
post_center_range_end
{61.2, 61.2, 10.0};
69
unsigned
int
num_classes
= 5;
70
};
71
72
public
:
73
static
std::unique_ptr<Decoder>
createDecoder
(
const
DecoderParameter& param);
74
virtual
bool
init
(
const
Decoder::DecoderParameter& param) = 0;
75
virtual
ThreeDBoxes
forward
(
76
const
std::vector<Head>& heads,
77
float
confidence_threshold,
float
nms_threshold,
void
* stream) = 0;
78
virtual
~Decoder
() =
default
;
79
};
80
81
};
82
};
// bevfusion
83
84
#endif // DECODER_HPP
bevfusion::decoder::Decoder::DecoderParameter::post_center_range_end
ds3d::Float3 post_center_range_end
Definition:
sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_postprocess/decoder.hpp:68
bevfusion::decoder::Head::heatmap
void * heatmap
Definition:
sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_postprocess/decoder.hpp:50
bevfusion::decoder::Head::reg
void * reg
Definition:
sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_postprocess/decoder.hpp:55
bevfusion
Definition:
sources/libs/ds3d/datafilter/lidar_preprocess/voxelization.hpp:19
bevfusion::decoder::Head::height
void * height
Definition:
sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_postprocess/decoder.hpp:52
bevfusion::decoder::Position::x
float x
Definition:
sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_postprocess/decoder.hpp:24
bevfusion::decoder::ThreeDBox
struct ThreeDBox ThreeDBox
Definition:
sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_postprocess/decoder.hpp:46
bevfusion::decoder::Decoder::DecoderParameter::post_center_range_start
ds3d::Float3 post_center_range_start
Definition:
sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_postprocess/decoder.hpp:67
bevfusion::decoder::Head::fm_area
unsigned int fm_area
Definition:
sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_postprocess/decoder.hpp:56
bevfusion::decoder::Head::vel
void * vel
Definition:
sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_postprocess/decoder.hpp:54
bevfusion::decoder::ThreeDBox::ibatch
int ibatch
Definition:
sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_postprocess/decoder.hpp:42
bevfusion::decoder::Decoder::DecoderParameter::num_classes
unsigned int num_classes
Definition:
sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_postprocess/decoder.hpp:69
bevfusion::decoder::Head::rotation
void * rotation
Definition:
sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_postprocess/decoder.hpp:51
bevfusion::decoder::Decoder::DecoderParameter::out_size_factor
float out_size_factor
Definition:
sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_postprocess/decoder.hpp:64
bevfusion::decoder::Size::l
float l
Definition:
sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_postprocess/decoder.hpp:28
bevfusion::decoder::Size::w
float w
Definition:
sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_postprocess/decoder.hpp:28
bevfusion::decoder::ThreeDBox::size
Size size
Definition:
sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_postprocess/decoder.hpp:37
bevfusion::decoder::Decoder::init
virtual bool init(const Decoder::DecoderParameter ¶m)=0
bevfusion::decoder::ThreeDBox::category
int category
Definition:
sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_postprocess/decoder.hpp:41
bevfusion::decoder::Decoder::DecoderParameter::voxel_size
ds3d::Float2 voxel_size
Definition:
sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_postprocess/decoder.hpp:65
ds3d::Float2
Definition:
sources/includes/ds3d/common/helper/dtype.hpp:39
bevfusion::decoder::Position::z
float z
Definition:
sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_postprocess/decoder.hpp:24
bevfusion::decoder::ThreeDBox::score
float score
Definition:
sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_postprocess/decoder.hpp:40
bevfusion::decoder::Decoder::createDecoder
static std::unique_ptr< Decoder > createDecoder(const DecoderParameter ¶m)
bevfusion::decoder::Decoder::~Decoder
virtual ~Decoder()=default
bevfusion::decoder::Head::batch
unsigned int batch
Definition:
sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_postprocess/decoder.hpp:58
bevfusion::decoder::Position::y
float y
Definition:
sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_postprocess/decoder.hpp:24
bevfusion::decoder::Head::dim
void * dim
Definition:
sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_postprocess/decoder.hpp:53
ds3d::Float3
Definition:
sources/includes/ds3d/common/helper/dtype.hpp:46
bevfusion::decoder::Decoder::DecoderParameter::pc_range
ds3d::Float2 pc_range
Definition:
sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_postprocess/decoder.hpp:66
bevfusion::decoder::Decoder::forward
virtual ThreeDBoxes forward(const std::vector< Head > &heads, float confidence_threshold, float nms_threshold, void *stream)=0
bevfusion::decoder::ThreeDBox::id
int id
Definition:
sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_postprocess/decoder.hpp:43
bevfusion::decoder::Velocity::vx
float vx
Definition:
sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_postprocess/decoder.hpp:32
bevfusion::decoder::ThreeDBox::velocity
Velocity velocity
Definition:
sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_postprocess/decoder.hpp:38
bevfusion::decoder::ThreeDBoxes
std::vector< ThreeDBox > ThreeDBoxes
Definition:
sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_postprocess/decoder.hpp:47
bevfusion::decoder::ThreeDBox::position
Position position
Definition:
sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_postprocess/decoder.hpp:36
bevfusion::decoder::Head::fm_width
unsigned int fm_width
Definition:
sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_postprocess/decoder.hpp:57
bevfusion::decoder::Size::h
float h
Definition:
sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_postprocess/decoder.hpp:28
bevfusion::decoder::ThreeDBox::yaw
float yaw
Definition:
sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_postprocess/decoder.hpp:39
bevfusion::decoder::Velocity::vy
float vy
Definition:
sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_postprocess/decoder.hpp:32
Privacy Policy
|
Manage My Privacy
|
Do Not Sell or Share My Data
|
Terms of Service
|
Accessibility
|
Corporate Policies
|
Product Security
|
Contact
© 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
NVIDIA Confidential | Subject to Change | For test and development only.
Fri Mar 20 2026 14:36:58 | PR-09318-R32