Git Product home page Git Product logo

soma's Introduction

A Github Pages template for academic websites. This was forked (then detached) by Stuart Geiger from the Minimal Mistakes Jekyll Theme, which is © 2016 Michael Rose and released under the MIT License. See LICENSE.md.

I think I've got things running smoothly and fixed some major bugs, but feel free to file issues or make pull requests if you want to improve the generic template / theme.

Note: if you are using this repo and now get a notification about a security vulnerability, delete the Gemfile.lock file.

Instructions

  1. Register a GitHub account if you don't have one and confirm your e-mail (required!)
  2. Fork this repository by clicking the "fork" button in the top right.
  3. Go to the repository's settings (rightmost item in the tabs that start with "Code", should be below "Unwatch"). Rename the repository "[your GitHub username].github.io", which will also be your website's URL.
  4. Set site-wide configuration and create content & metadata (see below -- also see this set of diffs showing what files were changed to set up an example site for a user with the username "getorg-testacct")
  5. Upload any files (like PDFs, .zip files, etc.) to the files/ directory. They will appear at https://[your GitHub username].github.io/files/example.pdf.
  6. Check status by going to the repository settings, in the "GitHub pages" section
  7. (Optional) Use the Jupyter notebooks or python scripts in the markdown_generator folder to generate markdown files for publications and talks from a TSV file.

See more info at https://academicpages.github.io/

To run locally (not on GitHub Pages, to serve on your own computer)

  1. Clone the repository and made updates as detailed above
  2. Make sure you have ruby-dev, bundler, and nodejs installed: sudo apt install ruby-dev ruby-bundler nodejs
  3. Run bundle clean to clean up the directory (no need to run --force)
  4. Run bundle install to install ruby dependencies. If you get errors, delete Gemfile.lock and try again.
  5. Run bundle exec jekyll liveserve to generate the HTML and serve it from localhost:4000 the local server will automatically rebuild and refresh the pages on change.

Changelog -- bugfixes and enhancements

There is one logistical issue with a ready-to-fork template theme like academic pages that makes it a little tricky to get bug fixes and updates to the core theme. If you fork this repository, customize it, then pull again, you'll probably get merge conflicts. If you want to save your various .yml configuration files and markdown files, you can delete the repository and fork it again. Or you can manually patch.

To support this, all changes to the underlying code appear as a closed issue with the tag 'code change' -- get the list here. Each issue thread includes a comment linking to the single commit or a diff across multiple commits, so those with forked repositories can easily identify what they need to patch.

soma's People

Contributors

nghorbani avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

soma's Issues

TypeError: __init__() got an unexpected keyword argument 'distributed_backend'

When i tried to run soma on soma dataset using the given ipynb file in jupyter notebook, it gave me error

train_multiple_soma(
soma_data_settings=soma_data_settings,
soma_train_cfg={
'soma.expr_id': soma_expr_id, # the experiment ID

    'dirs.support_base_dir': support_base_dir,
    'dirs.work_base_dir': soma_work_base_dir,
    'data_parms.mocap_dataset.amass_marker_noise_model.enable': False, # we cannot create amass marker noise model
    
    'moshpp_cfg_override.moshpp.verbosity': 1,
    'moshpp_cfg_override.dirs.support_base_dir':support_base_dir,

    'trainer.fast_dev_run': False, # if true then only one iteration of training and validation is done.

    'data_parms.mocap_dataset.marker_layout_fnames': [soma_marker_layout_fname],
    'train_parms.batch_size': 256,
    'trainer.num_gpus': num_gpus,
    'train_parms.num_workers': num_cpus,
},

)

TypeError: init() got an unexpected keyword argument 'distributed_backend'

My specification :
Ubuntu 20.04
python 3.7
pytorch version 1.5.10

COLAB code not runnning

Hi, I have been trying to get SOMA to run for a couple of weeks now on COLAB using python 3.7 and carefully following the requirements, but I am left with dependency conflicts coming out of my ears, does anyone have any working COLAB code that I could use as I would like to use and reference SOMA as part of a project. Thanks

How to run Mosh with GPU

Thank you for your excellent task. As said in the code, the mosh process runs in the cpu, so the speed is very slow, so can the mosh process be accelerated by gpu? If so, how should I do it. Looking forward to your reply.

Wrong argument name in soma_processor

Hi,

first of all, thank you for publishing and releasing such an awesome work to the public!
While looking at the code I have noticed a small mismatch of function arguments. In soma/src/soma/tools/soma_processor.py:451 you call the function write_mocap_c3d with the wrong argument. It should be out_mocap_fname not out_c3d_fname, so

    if rt_cfg.save_c3d:
        c3d_out_fname = rt_cfg.dirs.mocap_out_fname.replace('.pkl', '.c3d')
        nan_replaced_labels = [l if l != 'nan' else '*{}'.format(i) for i, l in enumerate(results['labels'])]
        write_mocap_c3d(out_mocap_fname=c3d_out_fname,
                        markers=results['markers'],
                        labels=nan_replaced_labels,
                        frame_rate=soma_labeler.mocap_frame_rate)
        logger.info(f'Created {c3d_out_fname}')

Happy to do a small PR to fix this as well :)

The code seems generally outdated

I've been trying to run the first tutorial and I'm still jumping through hoops to avoid errors.

I would like to have a pip freeze of a working environment, because the problem I'm facing now seems related to outdated features of PyTorch and PyTorch Lightning. The issue #7 is closed, but I don't think it should be. Either the code should be updated to work with current versions of the libraries or the requirements should be edited to a set of versions that works.

As a note, up until now I've managed to avoid the following problems:

  • The instructions for the installation of smpl_derivatives are wrong. My solution seems to work: #19 (comment)
  • One of the configuration files is wrong, this seems to fix it: #8 (comment)
  • When installing Mosh++, I had to edit the version of Cython in the requirements
  • PyTorch3D can't be installed with pip install -r requirements.txt. It has to be installed from source manually.
  • mesh always imports the meshviewer module, which causes problems with OpenGL. For this, my solution has been to move the from OpenGL import GL, GLU, GLUT statement inside the functions, to avoid importing it until the moment it is necessary (because I don't care about visualization if I can't even run the model). The related issues are:

May be a bug

in run_soma_multiple.py line 132 should be f'**/*{mocap_ext} ? instead of f'*/*{mocap_ext} on my linux machine it returns an empty list

ValueError: not enough frames were found that at least 100.0% of the markers.

Hi, thanks for this amazing work again!

When I tried to use my MoCap data as input to "solve_labeled_mocap.ipynb", this error appeared.
However, it didn't happen for every MoCap file, so I guess it was caused by the input data.
Just wonder if there is way to solve it or ignore it?

The whole error description:
ValueError: not enough frames were found that at least 100.0% of the markers.
either try mosh.stagei_frame_picker.type: random or set mosh.stagei.frame.picker.least_avail_markers to lower number in ange [0.1, 1.0]

Format of Input mocap dataset

Hi, Thanks for your tutorials, I wondered is there any specific format for the input mocap data, is there a need to preprocess the already existing mocap data to an acceptable input format?

Run-time of using mosh for labelled mocap

Hi, Is there any solutions to run the program more quickly? I takes a week on my laptop for a 20 minutes mocap recording.
Can we use parallel cfg parameters to run the program faster possibly in parallel?

Thank you very much

normalizing SMPL pose parameters

Hi,

I have a question regarding to how we can normalize the resulting SMPL computed from mocap data, to a single human form across all the dataset. It means that all the human subjects have the standard form so the difference between subjects are not recognizable. I should mention that I don't mean the shape parameters but converting pose parameters to a normalised version.

After converting mocap to SMPL, I have converted the resulting SMPL pose parameters to fbx, and different subjects seem to have different forms of body (even without using shape parameters). I want the pose parameters to be normalized so the subjects don't differ from each other. I would appreciate if you could guide me how to do that.

Thank you very much in advance.

Best wishes,
Leila

psbody.smpl smpl_derivatives in windows

Hi, recently i am working on human body reconstruction and download your codes, thanks for your great work. It helps me a lot.
Unfortunatly, i meet some troubles in using this work on Windows10. The smpl-fast-derivatives file downloaded is precompiled, which can only be used on Linux. I have no idea how to download the smpl_derivatives which can be used in Windows. Could you provide files that support Windows? Thank you very much!

ModuleNotFoundError: No module named 'psbody.smpl.fast_derivatives.smpl_derivatives'

Hello,

Thanks so much for sharing this work! I get an error when trying to run mosh on labelled data:


Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.7/site-packages/psbody/smpl/__init__.py", line 6, in <module>
    from .serialization import *
  File "/usr/local/lib/python3.7/site-packages/psbody/smpl/serialization.py", line 12, in <module>
    from .posemapper import posemap
  File "/usr/local/lib/python3.7/site-packages/psbody/smpl/posemapper.py", line 12, in <module>
    from .rodrigues import Rodrigues
  File "/usr/local/lib/python3.7/site-packages/psbody/smpl/rodrigues.py", line 6, in <module>
    from .fast_derivatives.smpl_derivatives import Rodrigues as _Rodrigues
ModuleNotFoundError: No module named 'psbody.smpl.fast_derivatives.smpl_derivatives'

I verified that the psbody package is placed in the site-packages folder, and I can import psbody, but if I import psbody.smpl I get the same error.

I also was attempting to run the code for labelling unlabelled c3d files and was getting an OmegcaConf resolver error for resolve_mocap_subject(the same as here #8). Tracing through the soma and moshpp code, it looks like there isn’t a resolver set for resolve_mocap_subject, but it looks like resolve_mocap_session defined on line 164 of run_tools in moshpp (https://github.com/nghorbani/moshpp/blob/6599a2d7dde7baab67ef9d859c967c14c4e7badc/src/moshpp/tools/run_tools.py#L125) does what resolve_mocap_subject should do.

I also had the exact same issue as described here #16 and fixed in the exact same manner which seems to work.

No body dataset

Thanks for your amazing work and it is very helpful to me. However, when I try Run SOMA on MoCap Point Cloud Data, I get some problems. Below are the error and the folder it mentions. Thanks a lot
jupyter
1
.

Cannot import name 'rm_spaces' from 'human_body_prior.tools.omni_tools'

Hello!
Thanks for your great work, it helps me a lot. Unfortunately, I meet some trouble when I run the code of SOMA on MoCap point cloud data. I cannot import 'rm_spaces' from 'human_body_prior.tools.omni_tools'. I found that there is no 'rm_spaces' function in 'human_body_prior.tools.omni_tools' module. Is there any new edition of 'human_body_prior' that I didn't find?
Thank you very much!
image
image

UnsupportedInterpolationType: Unsupported interpolation type resolve_mocap_subject

When trying to run "Running SOMA On MoCap Point Cloud Data" by following the steps in tutorial 1, getting this error:

UnsupportedInterpolationType: Unsupported interpolation type resolve_mocap_subject
full_key: dirs.mocap_out_fname
object_type=dict

Also, I tried to change the variable 'soma_mocap_target_ds_name' to 'SOMA_unlabeled_mpc/soma_subject1' as the .c3d files are in this folder. It removes the error but output says zero jobs submitted.

2022-04-11 13:02:22.358 | INFO | soma.tools.run_soma_multiple:run_soma_on_multiple_settings:245 - Submitting SOMA jobs.
2022-04-11 13:02:22.366 | INFO | soma.tools.parallel_tools:run_parallel_jobs:54 - #Job(s) submitted: 0
2022-04-11 13:02:22.366 | INFO | soma.tools.parallel_tools:run_parallel_jobs:67 - Will run the jobs in random order.

Any help would be really appreciated. Thanks in advance!

Label priming tutorial OmegaConf bug

Hi,

I am unable to go through the label priming demo, it throws an error when running run_soma_on_multiple_settings() :

UnsupportedInterpolationType: Unsupported interpolation type resolve_mocap_subject
    full_key: dirs.mocap_out_fname
    object_type=dict

happens on line 156 of run_soma_multiple.py:

soma_labeled_mocap_fname = cur_soma_cfg.dirs.mocap_out_fname

I trivially tried downgrading the omegaconf version from 2.3 to 2.1.2; this did not work. Have not figured out what part of the conf filename path is causing the interpolation error. Any ideas?

Using AMASS visualisation with Mosh++ files

Hello,

I am trying to view the moshed mocap data using AMASS code as stated in the tutorial Run soma on soma dataset. But I get the following error:
RuntimeError: CUDA error: unknown error

I have attached an image, How do I proceed?
error_CUDA

Question about marker layout file

Hi,

Thank you for your excellent work! I would like to convert our labeled mocap data to SMPL format using SOMA. When I run Solving Bodies with MoSh++ part in Run SOMA On MoCap Point Cloud Data. The layout file "SOMA_unlabeled_mpc_smplx.json" is created. Both subject 1 and 2 got the same JSON file, and I also found a fine-tuned layout file at support_files/marker_layouts/SOMA/soma_subject1/clap_001_smplx_finetuned.json, which has different vertices numbers(vids). I have some questions about the layout JSON files:

  1. Are all the subjects using the same layout files?
  2. How did you get the fine-tuned layout or how to update the vertices id of every key point label in the JSON file? Is there any rules to find more accurate vids of the different joint labels?

Thank you!

Blender render missing file

when using render_mosh_once to visualize pkl. file generated by mosh, the soma_standard.blend is missing. could you share this file for us? What is the body in the blend file?

Rendering mosh output in tutorial solve labeled mocap

Hello,

Thank you for your work and code. I am trying to run the solve labeled mocap tutorial but having issues with the rendering option. I have posted the image of the error below.

  1. How do I overcome this? Should I use the code available in the run_some_on_someDataset tutorial for rendering using AMASS?
  2. Does SOMA deal with DMPLs?
  3. Is there a minimum number of markers required for generating a body? I work on gait analysis and would like to use this project for analysing soft tissue movement?

Thanks,
Vignesh Radhakrishnan
issue

Error : "TypeError: register_buffer() takes 3 positional arguments but 4 were given " , while trying to display .pkl files using AMASS script

Hello,

I am trying to integrate the last part of the tutorial. Running SOMA on Mocap point cloud data, where the output model is displayed using AMASS, with the generated .pkl file using the last tutorial Solve Already Labeled MoCaps With MoSh++. But I am getting the following error:
TypeError: register_buffer() takes 3 positional arguments but 4 were given

I am working on Ubuntu 20.04, Python version 3.7.13

How do I fix this?

Thanks,
Vignesh
error

Workflow for Moshing custom labeled c3d

Hi,

Thank you so much for the excellent work.
I am trying to generate SMPL meshes from my custom & already labeled c3d files. However, my c3d marker labels are named differently than the AMASS dataset and also contain unique body locations that are not in the 89 supper set (e.g., ear).

I had some trouble following the solve_labeled_mocap tutorial regarding the marker_layout setups:

  1. Since my label names are unique, do I need to do the label priming tutorial (even though my c3d is already labeled)?
  2. Do I need to manually rename all my c3d label names to something like this?
  3. For my unique marker locations, is it okay to just rename it to nearby markers (e.g., ear to FHEAD)? or should I delete them?

I'm a bit unsure about the best mosh workflow for my situation and would greatly appreciate any guidance or insights you could offer. Thank you in advance for your help and time!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.