Skeletonizer3D is a plugin that computes the 3D skeleton of a human body from a depth map.
More...
|
static const std::string | server_name () |
|
bool | dummy |
|
static const int | version |
|
Skeletonizer3D is a plugin that computes the 3D skeleton of a human body from a depth map.
◆ acquire_frame()
return_type Skeletonizer3D::acquire_frame |
( |
bool |
dummy = false | ) |
|
|
inline |
Acquire a frame from a camera device. Camera ID is defined in the parameters list.
The acquired frame is stored in the #_k4a_rgbd, _rgbd and _rgb attributes.
- See also
- set_params
- Author
- Nicola
- Returns
- result status ad defined in return_type
◆ consistency_check()
return_type Skeletonizer3D::consistency_check |
( |
bool |
debug = false | ) |
|
|
inline |
Consistency check of the 3D skeleton according to human physiology.
- Authors
- Marco, Matteo
- Returns
- result status ad defined in return_type
◆ coordinate_transfrom()
return_type Skeletonizer3D::coordinate_transfrom |
( |
bool |
debug = false | ) |
|
|
inline |
Transform the 3D skeleton coordinates in the global reference frame.
Use the extrinsic camera parameters to transorm the 3D skeleton coordinates just before sending them as plugin output.
- Returns
- return_type
◆ cov3D_compute()
return_type Skeletonizer3D::cov3D_compute |
( |
bool |
debug = false | ) |
|
|
inline |
Compute the 3D covariance matrix.
Compute the 3D covariance matrix. Two possible cases:
- one Azure camera: use the 3D to uncertainty in the view axis, use the 2D image to uncertainty in the projection plane
- one RGB camera: calculates a 3D ellipsoid based on the 2D covariance plus the "reasonable" depth range as a third azis (direction of view)
- Author
- Alessandro
- Returns
- result status ad defined in return_type
◆ get_output()
return_type Skeletonizer3D::get_output |
( |
json * |
out, |
|
|
vector< unsigned char > * |
blob = nullptr |
|
) |
| |
|
inlineoverride |
Get the output of the plugin.
This method acquires a new image and computes the skeleton from it.
- Author
- Paolo
- Parameters
-
out | The output of the plugin as JSON |
blob | Possible additional binary data |
- Returns
- return_type
◆ hessian_compute()
return_type Skeletonizer3D::hessian_compute |
( |
bool |
debug = false | ) |
|
|
inline |
Compute the hessians for joints.
Compute the hessians for joints on the RGB frame based on the _heatmaps field.
- Author
- Alessandro
- Returns
- result status ad defined in return_type
◆ info()
map<string, string> Skeletonizer3D::info |
( |
| ) |
|
|
inlineoverridevirtual |
Provide further info to Miroscic agent.
Provide the Miroscic agent loading this plugin with further info to be printed after initialization
- Returns
- a map with the information of the plugin
Implements Source< json >.
◆ kind()
string Skeletonizer3D::kind |
( |
| ) |
|
|
inlineoverridevirtual |
The plugin identifier.
- Author
- Paolo
- Returns
- a string with plugin kind
Implements Source< json >.
◆ point_cloud_filter()
return_type Skeletonizer3D::point_cloud_filter |
( |
bool |
debug = false | ) |
|
|
inline |
Remove unnecessary points from the point cloud.
Make the point cloud lighter by removing unnecessary points, so that it can be sent to the database via network
- Author
- Nicola
- Returns
- result status ad defined in return_type
◆ set_params()
void Skeletonizer3D::set_params |
( |
void * |
params | ) |
|
|
inlineoverridevirtual |
Set the parameters of the plugin.
The parameters are stored in the _params attribute. This method shall be called imediately after the plugin is instantiated
- Author
- Paolo
- Parameters
-
Reimplemented from Source< json >.
◆ skeleton_from_depth_compute()
return_type Skeletonizer3D::skeleton_from_depth_compute |
( |
bool |
debug = false | ) |
|
|
inline |
Compute the skeleton from the depth map.
Compute the skeleton from the depth map. The resulting skeleton is stored in _skeleton3D attribute as a map of 3D points.
- Author
- Nicola
- Returns
- result status ad defined in return_type
◆ skeleton_from_rgb_compute()
return_type Skeletonizer3D::skeleton_from_rgb_compute |
( |
bool |
debug = false | ) |
|
|
inline |
Compute the skeleton from RGB images only.
Compute the skeleton from RGB images only. On success, the field _skeleton2D is updated (as a map of 2D points). Also, the field _heatmaps is updated with the joints heatmaps (one per joint).
There is a configuration flag for optionally skipping this branch on Azure agents.
- Author
- Alessandro
- Returns
- result status ad defined in return_type
◆ _cov3D
Mat Skeletonizer3D::_cov3D |
|
protected |
◆ _cov3D_adj
Mat Skeletonizer3D::_cov3D_adj |
|
protected |
the adjusted 3D covariance matrix
◆ _heatmaps
vector<Mat> Skeletonizer3D::_heatmaps |
|
protected |
◆ _inference_device
string Skeletonizer3D::_inference_device = "CPU" |
|
protected |
◆ _layout
string Skeletonizer3D::_layout = "" |
|
protected |
inputs layouts (NCHW, NHWC)
◆ _nireq
uint32_t Skeletonizer3D::_nireq = 0 |
|
protected |
◆ _nstreams
string Skeletonizer3D::_nstreams = "" |
|
protected |
◆ _nthreads
uint32_t Skeletonizer3D::_nthreads = 0 |
|
protected |
◆ _params
json Skeletonizer3D::_params |
|
protected |
the parameters of the plugin
◆ _point_cloud
Mat Skeletonizer3D::_point_cloud |
|
protected |
the filtered body point cloud
◆ _poses
contains all the keypoints of all identified people
◆ _rgb
◆ _rgb_height
int Skeletonizer3D::_rgb_height |
|
protected |
◆ _rgb_width
int Skeletonizer3D::_rgb_width |
|
protected |
◆ _rgbd
Mat Skeletonizer3D::_rgbd |
|
protected |
◆ _skeleton2D
map<string, vector<unsigned char> > Skeletonizer3D::_skeleton2D |
|
protected |
the skeleton from 2D cameras only
◆ _skeleton3D
map<string, vector<unsigned char> > Skeletonizer3D::_skeleton3D |
|
protected |
the skeleton from 3D cameras only
◆ _threshold
data_t Skeletonizer3D::_threshold = 0.1 |
|
protected |
◆ _tsize
uint32_t Skeletonizer3D::_tsize = 0 |
|
protected |
The documentation for this class was generated from the following file:
- src/plugin/skeletonizer3D.cpp