VolumetricSMPL


NameVolumetricSMPL JSON
Version 1.0.4 PyPI version JSON
download
home_pagehttps://github.com/markomih/VolumetricSMPL
SummaryVolumetricSMPL body model.
upload_time2025-07-20 11:34:12
maintainerNone
docs_urlNone
authorMarko Mihajlovic
requires_python>=3.6.0
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # VolumetricSMPL

## Description
VolumetricSMPL is an extension of the SMPL body model that incorporates a volumetric (signed distance field, SDF) representation. This enables seamless interaction with 3D geometries, such as scenes, objects, and other humans.

## Installation
Ensure that PyTorch and PyTorch3D are installed with GPU support. Then, install VolumetricSMPL via:
```bash
pip install VolumetricSMPL
```

# Usage
VolumetricSMPL extends the interface of the [SMPL-X package](https://github.com/vchoutas/smplx) by attaching a volumetric representation to the body model. This allows for querying signed distance fields for arbitrary points and accessing collision loss terms.

A more detailed tutorial is available [here](https://github.com/markomih/VolumetricSMPL_applications/), demonstrating how to integrate VolumetricSMPL into applications requiring human-scene, human-object, and human-human interactions.

# Example Usage
```python
import smplx
from VolumetricSMPL import attach_volume

# Create a SMPL body and extend it with volumetric functionalities (supports SMPL, SMPLH, and SMPL-X)
model = smplx.create(**smpl_parameters)
attach_volume(model)

# Forward pass
smpl_output = model(**smpl_data)  

# Ensure valid SMPL variables (pose parameters, joints, and vertices)
assert model.joint_mapper is None, "VolumetricSMPL requires valid SMPL joints as input."

# Access volumetric functionalities
model.volume.query(scan_point_cloud)                 # Query SDF for given points
model.volume.selfpen_loss(smpl_output)               # Compute self-intersection loss
model.volume.collision_loss(smpl_output, scan_point_cloud)  # Compute collisions with external geometries
```

# Pretrained Models
Pretrained models are automatically fetched and loaded. They can also be found in the `dev` branch inside the `./models` directory.

# Contact
For questions, please contact Marko Mihajlovic (_markomih@ethz.ch_) or open an issue on GitHub. 

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/markomih/VolumetricSMPL",
    "name": "VolumetricSMPL",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6.0",
    "maintainer_email": null,
    "keywords": null,
    "author": "Marko Mihajlovic",
    "author_email": "markomih@inf.ethz.ch",
    "download_url": "https://files.pythonhosted.org/packages/43/a0/12e3f97bbdffe8c9b8385bc18d23af6401216b6743905e80a1d271928077/volumetricsmpl-1.0.4.tar.gz",
    "platform": null,
    "description": "# VolumetricSMPL\n\n## Description\nVolumetricSMPL is an extension of the SMPL body model that incorporates a volumetric (signed distance field, SDF) representation. This enables seamless interaction with 3D geometries, such as scenes, objects, and other humans.\n\n## Installation\nEnsure that PyTorch and PyTorch3D are installed with GPU support. Then, install VolumetricSMPL via:\n```bash\npip install VolumetricSMPL\n```\n\n# Usage\nVolumetricSMPL extends the interface of the [SMPL-X package](https://github.com/vchoutas/smplx) by attaching a volumetric representation to the body model. This allows for querying signed distance fields for arbitrary points and accessing collision loss terms.\n\nA more detailed tutorial is available [here](https://github.com/markomih/VolumetricSMPL_applications/), demonstrating how to integrate VolumetricSMPL into applications requiring human-scene, human-object, and human-human interactions.\n\n# Example Usage\n```python\nimport smplx\nfrom VolumetricSMPL import attach_volume\n\n# Create a SMPL body and extend it with volumetric functionalities (supports SMPL, SMPLH, and SMPL-X)\nmodel = smplx.create(**smpl_parameters)\nattach_volume(model)\n\n# Forward pass\nsmpl_output = model(**smpl_data)  \n\n# Ensure valid SMPL variables (pose parameters, joints, and vertices)\nassert model.joint_mapper is None, \"VolumetricSMPL requires valid SMPL joints as input.\"\n\n# Access volumetric functionalities\nmodel.volume.query(scan_point_cloud)                 # Query SDF for given points\nmodel.volume.selfpen_loss(smpl_output)               # Compute self-intersection loss\nmodel.volume.collision_loss(smpl_output, scan_point_cloud)  # Compute collisions with external geometries\n```\n\n# Pretrained Models\nPretrained models are automatically fetched and loaded. They can also be found in the `dev` branch inside the `./models` directory.\n\n# Contact\nFor questions, please contact Marko Mihajlovic (_markomih@ethz.ch_) or open an issue on GitHub. \n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "VolumetricSMPL body model.",
    "version": "1.0.4",
    "project_urls": {
        "Homepage": "https://github.com/markomih/VolumetricSMPL"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c18adf274f938f314992812eae6470ed0ad945d12e92efc5719892f1547bd31a",
                "md5": "0e5e3ef84c1d56d40e13d411cf484f2a",
                "sha256": "aed868225c3605068b30e49c2e7c4975d8beebc6e904210339dedff2e74291a1"
            },
            "downloads": -1,
            "filename": "VolumetricSMPL-1.0.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0e5e3ef84c1d56d40e13d411cf484f2a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6.0",
            "size": 22693,
            "upload_time": "2025-07-20T11:34:11",
            "upload_time_iso_8601": "2025-07-20T11:34:11.261767Z",
            "url": "https://files.pythonhosted.org/packages/c1/8a/df274f938f314992812eae6470ed0ad945d12e92efc5719892f1547bd31a/VolumetricSMPL-1.0.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "43a012e3f97bbdffe8c9b8385bc18d23af6401216b6743905e80a1d271928077",
                "md5": "c08bec5cead85c0d6027ca5b7022ff96",
                "sha256": "5382b941eef854a2bb20d3a37ff17ce5991d9cf7350c7aa4f9374fac30128db0"
            },
            "downloads": -1,
            "filename": "volumetricsmpl-1.0.4.tar.gz",
            "has_sig": false,
            "md5_digest": "c08bec5cead85c0d6027ca5b7022ff96",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6.0",
            "size": 22806,
            "upload_time": "2025-07-20T11:34:12",
            "upload_time_iso_8601": "2025-07-20T11:34:12.875218Z",
            "url": "https://files.pythonhosted.org/packages/43/a0/12e3f97bbdffe8c9b8385bc18d23af6401216b6743905e80a1d271928077/volumetricsmpl-1.0.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-20 11:34:12",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "markomih",
    "github_project": "VolumetricSMPL",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "volumetricsmpl"
}
        
Elapsed time: 0.54129s