Skip to content

Fix broken tracking issue in Pose3DInferencer — previous results neve… #3200

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions =2.1.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
Looking in links: https://download.openmmlab.com/mmcv/dist/cu121/torch2.4.0/index.html
Requirement already satisfied: mmcv in /opt/conda/envs/openmmlab/lib/python3.8/site-packages (2.1.0)
Requirement already satisfied: addict in /opt/conda/envs/openmmlab/lib/python3.8/site-packages (from mmcv) (2.4.0)
Requirement already satisfied: mmengine>=0.3.0 in /opt/conda/envs/openmmlab/lib/python3.8/site-packages (from mmcv) (0.10.7)
Requirement already satisfied: numpy in /opt/conda/envs/openmmlab/lib/python3.8/site-packages (from mmcv) (1.24.4)
Requirement already satisfied: packaging in /opt/conda/envs/openmmlab/lib/python3.8/site-packages (from mmcv) (24.2)
Requirement already satisfied: Pillow in /opt/conda/envs/openmmlab/lib/python3.8/site-packages (from mmcv) (10.4.0)
Requirement already satisfied: pyyaml in /opt/conda/envs/openmmlab/lib/python3.8/site-packages (from mmcv) (6.0.2)
Requirement already satisfied: yapf in /opt/conda/envs/openmmlab/lib/python3.8/site-packages (from mmcv) (0.43.0)
Requirement already satisfied: matplotlib in /opt/conda/envs/openmmlab/lib/python3.8/site-packages (from mmengine>=0.3.0->mmcv) (3.7.5)
Requirement already satisfied: rich in /opt/conda/envs/openmmlab/lib/python3.8/site-packages (from mmengine>=0.3.0->mmcv) (13.4.2)
Requirement already satisfied: termcolor in /opt/conda/envs/openmmlab/lib/python3.8/site-packages (from mmengine>=0.3.0->mmcv) (2.4.0)
Requirement already satisfied: opencv-python>=3 in /opt/conda/envs/openmmlab/lib/python3.8/site-packages (from mmengine>=0.3.0->mmcv) (4.11.0.86)
Requirement already satisfied: platformdirs>=3.5.1 in /opt/conda/envs/openmmlab/lib/python3.8/site-packages (from yapf->mmcv) (4.3.6)
Requirement already satisfied: tomli>=2.0.1 in /opt/conda/envs/openmmlab/lib/python3.8/site-packages (from yapf->mmcv) (2.2.1)
Requirement already satisfied: contourpy>=1.0.1 in /opt/conda/envs/openmmlab/lib/python3.8/site-packages (from matplotlib->mmengine>=0.3.0->mmcv) (1.1.1)
Requirement already satisfied: cycler>=0.10 in /opt/conda/envs/openmmlab/lib/python3.8/site-packages (from matplotlib->mmengine>=0.3.0->mmcv) (0.12.1)
Requirement already satisfied: fonttools>=4.22.0 in /opt/conda/envs/openmmlab/lib/python3.8/site-packages (from matplotlib->mmengine>=0.3.0->mmcv) (4.56.0)
Requirement already satisfied: kiwisolver>=1.0.1 in /opt/conda/envs/openmmlab/lib/python3.8/site-packages (from matplotlib->mmengine>=0.3.0->mmcv) (1.4.7)
Requirement already satisfied: pyparsing>=2.3.1 in /opt/conda/envs/openmmlab/lib/python3.8/site-packages (from matplotlib->mmengine>=0.3.0->mmcv) (3.1.4)
Requirement already satisfied: python-dateutil>=2.7 in /opt/conda/envs/openmmlab/lib/python3.8/site-packages (from matplotlib->mmengine>=0.3.0->mmcv) (2.9.0.post0)
Requirement already satisfied: importlib-resources>=3.2.0 in /opt/conda/envs/openmmlab/lib/python3.8/site-packages (from matplotlib->mmengine>=0.3.0->mmcv) (6.4.5)
Requirement already satisfied: markdown-it-py>=2.2.0 in /opt/conda/envs/openmmlab/lib/python3.8/site-packages (from rich->mmengine>=0.3.0->mmcv) (3.0.0)
Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /opt/conda/envs/openmmlab/lib/python3.8/site-packages (from rich->mmengine>=0.3.0->mmcv) (2.19.1)
Requirement already satisfied: typing-extensions<5.0,>=4.0.0 in /opt/conda/envs/openmmlab/lib/python3.8/site-packages (from rich->mmengine>=0.3.0->mmcv) (4.12.2)
Requirement already satisfied: zipp>=3.1.0 in /opt/conda/envs/openmmlab/lib/python3.8/site-packages (from importlib-resources>=3.2.0->matplotlib->mmengine>=0.3.0->mmcv) (3.20.2)
Requirement already satisfied: mdurl~=0.1 in /opt/conda/envs/openmmlab/lib/python3.8/site-packages (from markdown-it-py>=2.2.0->rich->mmengine>=0.3.0->mmcv) (0.1.2)
Requirement already satisfied: six>=1.5 in /opt/conda/envs/openmmlab/lib/python3.8/site-packages (from python-dateutil>=2.7->matplotlib->mmengine>=0.3.0->mmcv) (1.17.0)
9 changes: 9 additions & 0 deletions mmpose/apis/inferencers/pose3d_inferencer.py
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,8 @@ def preprocess_single(self,
result.set_field(-1, 'track_id')
else:
result.set_field(track_id, 'track_id')

self._buffer['results_pose2d_last'] = results_pose2d
self._buffer['pose2d_results'] = merge_data_samples(results_pose2d)

# convert keypoints
Expand Down Expand Up @@ -318,9 +320,16 @@ def forward(self,
"""
pose_lift_results = self.model.test_step(inputs)

if len(pose_lift_results) == 0:
return []

# Post-processing of pose estimation results
pose_est_results_converted = self._buffer['pose_est_results_list'][-1]
for idx, pose_lift_res in enumerate(pose_lift_results):
# Protect in case the number of 3D poses predicted is larger than the number of 2D poses detected in the previous step
if idx >= len(pose_est_results_converted):
pose_lift_results = pose_lift_results[:len(pose_est_results_converted)]
break
# Update track_id from the pose estimation results
pose_lift_res.track_id = pose_est_results_converted[idx].get(
'track_id', 1e4)
Expand Down