Go to the documentation of this file.
26 #include <SimoxUtility/algorithm/string.h>
34 def->topic(
listener2DPrx,
"OpenPoseEstimation2D",
"OpenPoseEstimation2DTopicName");
36 def->optional(
op_settings.
net_resolution,
"OP_net_resolution",
"Multiples of 16. If it is increased, the accuracy potentially increases. If it is "
37 "decreased, the speed increases. For maximum speed-accuracy balance, it should keep the "
38 "closest aspect ratio possible to the images or videos to be processed.\n Using `-1` in "
39 "any of the dimensions, OP will choose the optimal aspect ratio depending on the user's "
40 "input value.\n E.g. the default `-1x368` is equivalent to `656x368` in 16:9 resolutions, "
41 "e.g. full HD (1980x1080) and HD (1280x720) resolutions.");
42 def->optional(
op_settings.
output_resolution,
"OP_output_resolution",
"The image resolution (display and output). Use \"-1x-1\" to force the program to use the"
43 " input image resolution.");
44 def->optional(
op_settings.
scale_gap,
"OP_scale_gap",
"Scale gap between scales. No effect unless scale_number > 1. Initial scale is always 1. "
45 "If you want to change the initial calib->get scale, you actually want to multiply the "
46 "`net_resolution` by your desired initial scale.");
48 def->optional(
op_settings.
model_pose,
"OP_model_pose",
"Model to be used. E.g. `BODY_25` (25 keypoints, best model), `COCO` (18 keypoints), `MPI` (15 keypoints, ~10% faster), "
49 "MPI_4_layers` (15 keypoints, even faster but less accurate).");
50 def->optional(
op_settings.
model_folder,
"OP_model_folder",
"Folder path (absolute or relative) where the models (pose, face, ...) are located.");
54 def->optional(
op_render_threshold,
"OP_render_threshold",
"Only estimated keypoints whose score confidences are higher than this threshold will be"
55 " rendered.\n Generally, a high threshold (> 0.5) will only render very clear body parts;"
56 " while small thresholds (~0.1) will also output guessed and occluded keypoints, but also"
57 " more false positives (i.e. wrong detections).");
59 def->optional(
active_upon_startup,
"ActivateOnStartup",
"If true, poseEstimation-tasks are started after starting the component. If false, the component idles.");
198 ARMARX_WARNING <<
"Could not start 3D pose estimation in 2D component.";
std::mutex openpose_initializing_mutex
OpenPoseEstimationComponentPluginUser()
std::atomic_bool update_ready
CByteImage * rgbImageBuffer
virtual void preOnDisconnectImageProcessor()
std::shared_ptr< OpenPoseAdapter > MonocularOpenPoseEstimationPtr
std::atomic_bool result_image_ready
OpenPose2DListenerPrx listener2DPrx
float op_render_threshold
virtual void preOnInitImageProcessor()
CByteImage ** openposeResultImage
void start(const Ice::Current &=Ice::emptyCurrent) override
void start3DPoseEstimation(const Ice::Current &=Ice::emptyCurrent) override
void stop(const Ice::Current &=Ice::emptyCurrent) override
std::atomic_long timestamp_of_update
armarx::RunningTask< OpenPoseEstimationComponentPluginUser >::pointer_type openposeTask
ReaderT::InputType & input
virtual void postOnConnectImageProcessor()
std::atomic_bool running2D
std::mutex openposeResultImageMutex
std::string output_resolution
std::mutex rgbImageBufferMutex
unsigned int minimum_number_of_valid_keypoints_per_entitiy
std::string net_resolution
void stop3DPoseEstimation(const Ice::Current &=Ice::emptyCurrent) override
virtual void postOnDisconnectImageProcessor()
virtual void renderOutputImage(const op::Array< float > &)
HumanPose2DMap openposeResult
virtual void reportEntities()
virtual void preOnConnectImageProcessor()
SpamFilterDataPtr deactivateSpam(float deactivationDurationSec=10.0f, const std::string &identifier="", bool deactivate=true) const
disables the logging for the current line for the given amount of seconds.
MonocularOpenPoseEstimationPtr openposePtr
void enableHumanPoseEstimation(const EnableHumanPoseEstimationInput &input, const Ice::Current &=Ice::emptyCurrent) override
OpenPoseAdapter::OpenPoseSettings op_settings
This file offers overloads of toIce() and fromIce() functions for STL container types.
virtual void postCreatePropertyDefinitions(PropertyDefinitionsPtr &properties)