mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2025-10-06 00:57:33 +08:00

* Add tinypose model * Add PPTinypose python API * Fix picodet preprocess bug && Add Tinypose examples * Update tinypose example code * Update ppseg preprocess if condition * Update ppseg backend support type * Update permute.h * Update README.md * Update code with comments * Move files dir * Delete premute.cc * Add single model pptinypose * Delete pptinypose old code in ppdet * Code format * Add ppdet + pptinypose pipeline model * Fix bug for posedetpipeline * Change Frontend to ModelFormat * Change Frontend to ModelFormat in __init__.py * Add python posedetpipeline/ * Update pptinypose example dir name * Update README.md * Update README.md * Update README.md * Update README.md * Create keypointdetection_result.md * Create README.md * Create README.md * Create README.md * Update README.md * Update README.md * Create README.md * Fix det_keypoint_unite_infer.py bug * Create README.md * Update PP-Tinypose by comment * Update by comment * Add pipeline directory * Add pptinypose dir * Update pptinypose to align accuracy * Addd warpAffine processor * Update GetCpuMat to GetOpenCVMat * Add comment for pptinypose && pipline * Update docs/main_page.md * Add README.md for pptinypose * Add README for det_keypoint_unite * Remove ENABLE_PIPELINE option * Remove ENABLE_PIPELINE option * Change pptinypose default backend * PP-TinyPose Pipeline support multi PP-Detection models * Update pp-tinypose comment * Update by comments * Add single test example Co-authored-by: Jason <jiangjiajun@baidu.com>
56 lines
2.4 KiB
Python
56 lines
2.4 KiB
Python
# # Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved.
|
|
# #
|
|
# # Licensed under the Apache License, Version 2.0 (the "License");
|
|
# # you may not use this file except in compliance with the License.
|
|
# # You may obtain a copy of the License at
|
|
# #
|
|
# # http://www.apache.org/licenses/LICENSE-2.0
|
|
# #
|
|
# # Unless required by applicable law or agreed to in writing, software
|
|
# # distributed under the License is distributed on an "AS IS" BASIS,
|
|
# # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# # See the License for the specific language governing permissions and
|
|
# # limitations under the License.
|
|
|
|
from __future__ import absolute_import
|
|
from ... import c_lib_wrap as C
|
|
|
|
|
|
class PPTinyPose(object):
|
|
def __init__(self, det_model=None, pptinypose_model=None):
|
|
"""Set initialized detection model object and pptinypose model object
|
|
|
|
:param det_model: (fastdeploy.vision.detection.PicoDet)Initialized detection model object
|
|
:param pptinypose_model: (fastdeploy.vision.keypointdetection.PPTinyPose)Initialized pptinypose model object
|
|
"""
|
|
assert det_model is not None or pptinypose_model is not None, "The det_model and pptinypose_model cannot be None."
|
|
self._pipeline = C.pipeline.PPTinyPose(det_model._model,
|
|
pptinypose_model._model)
|
|
|
|
def predict(self, input_image):
|
|
"""Predict the keypoint detection result for an input image
|
|
|
|
:param im: (numpy.ndarray)The input image data, 3-D array with layout HWC, BGR format
|
|
:return: KeyPointDetectionResult
|
|
"""
|
|
return self._pipeline.predict(input_image)
|
|
|
|
@property
|
|
def detection_model_score_threshold(self):
|
|
"""Atrribute of PPTinyPose pipeline model. Stating the score threshold for detectin model to filter bbox before inputting pptinypose model
|
|
|
|
:return: value of detection_model_score_threshold(float)
|
|
"""
|
|
return self._pipeline.detection_model_score_threshold
|
|
|
|
@detection_model_score_threshold.setter
|
|
def detection_model_score_threshold(self, value):
|
|
"""Set attribute detection_model_score_threshold of PPTinyPose pipeline model.
|
|
|
|
:param value: (float)The value to set use_dark
|
|
"""
|
|
assert isinstance(
|
|
value, float
|
|
), "The value to set `detection_model_score_threshold` must be type of float."
|
|
self._pipeline.detection_model_score_threshold = value
|