mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2025-10-06 09:07:10 +08:00
[Model] Add tinypose single && pipeline model (#177)
* 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>
This commit is contained in:
16
python/fastdeploy/pipeline/__init__.py
Normal file
16
python/fastdeploy/pipeline/__init__.py
Normal file
@@ -0,0 +1,16 @@
|
||||
# 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 .pptinypose import PPTinyPose
|
55
python/fastdeploy/pipeline/pptinypose/__init__.py
Normal file
55
python/fastdeploy/pipeline/pptinypose/__init__.py
Normal file
@@ -0,0 +1,55 @@
|
||||
# # 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
|
Reference in New Issue
Block a user