diff --git a/.github/workflows/release-pypi.yml b/.github/workflows/release-pypi.yml new file mode 100644 index 0000000..6abf230 --- /dev/null +++ b/.github/workflows/release-pypi.yml @@ -0,0 +1,59 @@ +name: Update internal release + +on: + push: + tags: + - 'v*.*.*' + pull_request: + branches: + - main + types: + - labeled + - opened + - edited + - synchronize + - reopened + +jobs: + release: + runs-on: ubuntu-latest + + steps: + - name: Cache dependencies + id: pip-cache + uses: actions/cache@v4 + with: + path: ~/.cache/pip + key: ${{ runner.os }}-pip + + - name: Install dependencies + run: | + pip install --upgrade pip + pip install wheel + # NOTE(stes) see https://github.com/pypa/twine/issues/1216#issuecomment-2629069669 + pip install "packaging>=24.2" + + - name: Checkout code + uses: actions/checkout@v3 + + - name: Build and publish to Test PyPI + if: ${{ (github.ref != 'refs/heads/main') && (github.event.label.name == 'release') }} + env: + TWINE_USERNAME: __token__ + TWINE_PASSWORD: ${{ secrets.TEST_PYPI_TOKEN }} + run: | + make dist + ls dist/ + tar tvf dist/fmpose3d-*.tar.gz + python3 -m twine upload --verbose --repository testpypi dist/* + + - name: Build and publish to PyPI + if: ${{ github.event_name == 'push' }} + env: + TWINE_USERNAME: __token__ + TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }} + run: | + make dist + ls dist/ + tar tvf dist/fmpose3d-*.tar.gz + python3 -m twine upload --verbose dist/* diff --git a/README.md b/README.md index d4ef3ca..6c83d6a 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,27 @@ -# FMPose3D: monocular 3D Pose Estimation via Flow Matching +# FMPose3D: monocular 3D pose estimation via flow matching + +![Version](https://img.shields.io/badge/python_version-3.10-purple) +[![PyPI version](https://badge.fury.io/py/fmpose3d.svg)](https://badge.fury.io/py/fmpose3d) +[![License: LApache 2.0](https://img.shields.io/badge/License-Apache2.0-blue.svg)](https://www.gnu.org/licenses/apach2.0) This is the official implementation of the approach described in the paper: -> [**FMPose3D: monocular 3D Pose Estimation via Flow Matching**](xxx) -> Ti Wang, Xiaohang Yu, Mackenzie Weygandt Mathis +[**FMPose3D: monocular 3D Pose Estimation via Flow Matching**](xxx) +Ti Wang, Xiaohang Yu, Mackenzie Weygandt Mathis

+## 🚀 TL;DR + +FMPose3D replaces slow diffusion models for monocular 3D pose estimation with fast Flow Matching, generating multiple plausible 3D poses via an ODE in just a few steps, then aggregates them using a reprojection-based Bayesian module (RPEA) for accurate predictions, achieving state-of-the-art results on human and animal 3D pose benchmarks. + + ## News! -- [X] Feb 2026: FMPose3D is code and arXiv paper is released - check out the demos here or on our [project page](https://xiu-cs.github.io/FMPose3D/) +- [X] Feb 2026: FMPose3D code and arXiv paper is released - check out the demos here or on our [project page](https://xiu-cs.github.io/FMPose3D/) - [ ] Planned: This method will be integrated into [DeepLabCut](https://www.mackenziemathislab.org/deeplabcut) ## Installation