From d181311dee69ad145c5789b0635be6a3b0403551 Mon Sep 17 00:00:00 2001
From: Damon Da Tong <tongda@outlook.com>
Date: Mon, 27 Mar 2023 14:50:53 +0800
Subject: [PATCH] fix pose_tracker python api will raise ValueError when result
 has no human (#1923)

---
 csrc/mmdeploy/apis/python/pose_tracker.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/csrc/mmdeploy/apis/python/pose_tracker.cpp b/csrc/mmdeploy/apis/python/pose_tracker.cpp
index fea6895ae..16c79bbfa 100644
--- a/csrc/mmdeploy/apis/python/pose_tracker.cpp
+++ b/csrc/mmdeploy/apis/python/pose_tracker.cpp
@@ -30,7 +30,7 @@ std::vector<py::tuple> Apply(mmdeploy::PoseTracker* self,
   std::vector<py::tuple> batch_ret;
   batch_ret.reserve(frames.size());
   for (const auto& rs : results) {
-    py::array_t<float> keypoints({static_cast<int>(rs.size()), rs[0].keypoint_count, 3});
+    py::array_t<float> keypoints({static_cast<int>(rs.size()), rs.size() > 0 ? rs[0].keypoint_count : 0, 3});
     py::array_t<float> bboxes({static_cast<int>(rs.size()), 4});
     py::array_t<uint32_t> track_ids(static_cast<int>(rs.size()));
     auto kpts_ptr = keypoints.mutable_data();