mac2025-mar

Code for MAC2025 Track 1: Micro-Action Recognition

https://github.com/ruoyxue/mac2025-mar

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.2%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

Code for MAC2025 Track 1: Micro-Action Recognition

Basic Info
  • Host: GitHub
  • Owner: ruoyxue
  • License: apache-2.0
  • Language: Python
  • Default Branch: main
  • Size: 14.8 MB
Statistics
  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created 12 months ago · Last pushed 12 months ago
Metadata Files
Readme License Citation

README.md

Official Codes for The MAC 2025 Grand Challenge Track 1

1. Data preparation

  • Downlaod Track1 dataset in data or other floder as following:

-data |-annotations |-train |-train_val (merge train and val) |-val |-test

  • You need to prepare the virtual environment as follows:

conda create --name mar conda activate mar pip install -r requirements.txt

1.1 Balance data

Those videos less than 200 are copied several times to mitigate the severe data imbalance, which is a commonly used trick.

python data_process/data_aug.py

1.2 Instance Detection

Pretrained people detector is employed to locate the interviewed person. Specifically, the bounding box of person instance is detected by YOLOv8m. All the bounding boxes are saved in pickle format.

python data_process/predict_video.py

2. Training

  • Before training your model following our tutorial, please make sure that the path of instance is right in line 68-73 of mmaction/datasets/video_dataset.py.

  • Make sure the path of dataset in config file.

OMP_NUM_THREADS=1 CUDA_VISIBLE_DEVICES='0,1,2,3' bash tools/dist_train.sh configs_train_val/videomae2-base_baseline.py 4 --work-dir <your_work_dir_path>

3. Testing Inference

With corresponding configuration, you can inference model forward and save the results in pickle format.

``` OMPNUMTHREADS=1 CUDAVISIBLEDEVICES='0,1' bash tools/disttest.sh configstrainval/videomae2-basebaseline.py MAC-2025MAR/checkpoints/videomae2-basebaseline/pth 2 workdirstestsubset/videomae2-basebaseline_clip10

(optional: TTA reference) OMPNUMTHREADS=1 CUDAVISIBLEDEVICES='0,1' bash tools/disttest.sh configstrainval/videomae2-basebaseline.py MAC-2025MAR/checkpoints/videomae2-basebaseline/pth 2 workdirstestsubset/videomae2-basebaselineclip10tta

(optinal: merge TTA results) python tta.py ```

4. Submission

More important, model performance could be improved further by weighting the different predictions via Model ensembling, a simple yet useful trick.

python assemble_models.py

Our final submission is prediction.csv and our checkpoints can be downloaded from https://huggingface.co/ruoyxue/MAC2025_MAR/tree/main.

Owner

  • Name: ruoyxue
  • Login: ruoyxue
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - name: "MMAction2 Contributors"
title: "OpenMMLab's Next Generation Video Understanding Toolbox and Benchmark"
date-released: 2020-07-21
url: "https://github.com/open-mmlab/mmaction2"
license: Apache-2.0

GitHub Events

Total
  • Watch event: 1
  • Push event: 1
  • Create event: 2
Last Year
  • Watch event: 1
  • Push event: 1
  • Create event: 2

Dependencies

docker/Dockerfile docker
  • pytorch/pytorch ${PYTORCH}-cuda${CUDA}-cudnn${CUDNN}-devel build
docker/serve/Dockerfile docker
  • pytorch/pytorch ${PYTORCH}-cuda${CUDA}-cudnn${CUDNN}-devel build
requirements/build.txt pypi
  • Pillow *
  • decord >=0.4.1
  • einops *
  • matplotlib *
  • numpy *
  • opencv-contrib-python *
  • scipy *
  • torch >=1.3
requirements/docs.txt pypi
  • docutils ==0.18.1
  • einops *
  • modelindex *
  • myst-parser *
  • opencv-python *
  • scipy *
  • sphinx ==6.1.3
  • sphinx-notfound-page *
  • sphinx-tabs *
  • sphinx_copybutton *
  • sphinx_markdown_tables *
  • sphinxcontrib-jquery *
  • tabulate *
requirements/mminstall.txt pypi
  • mmcv >=2.0.0rc4,<2.2.0
  • mmengine >=0.7.1,<1.0.0
requirements/multimodal.txt pypi
  • transformers >=4.28.0
requirements/optional.txt pypi
  • PyTurboJPEG *
  • av >=9.0
  • future *
  • imgaug *
  • librosa *
  • lmdb *
  • moviepy *
  • openai-clip *
  • packaging *
  • pims *
  • soundfile *
  • tensorboard *
  • wandb *
requirements/readthedocs.txt pypi
  • mmcv *
  • titlecase *
  • torch *
  • torchvision *
requirements/tests.txt pypi
  • coverage * test
  • flake8 * test
  • interrogate * test
  • isort ==4.3.21 test
  • parameterized * test
  • pytest * test
  • pytest-runner * test
  • xdoctest >=0.10.0 test
  • yapf * test
requirements.txt pypi
setup.py pypi
tools/data/activitynet/environment.yml pypi
  • decorator ==4.4.2
  • intel-openmp ==2019.0
  • joblib ==0.15.1
  • mkl ==2019.0
  • numpy ==1.18.4
  • olefile ==0.46
  • pandas ==1.0.3
  • python-dateutil ==2.8.1
  • pytz ==2020.1
  • six ==1.14.0
  • youtube-dl *
tools/data/gym/environment.yml pypi
  • decorator ==4.4.2
  • intel-openmp ==2019.0
  • joblib ==0.15.1
  • mkl ==2019.0
  • numpy ==1.18.4
  • olefile ==0.46
  • pandas ==1.0.3
  • python-dateutil ==2.8.1
  • pytz ==2020.1
  • six ==1.14.0
  • youtube-dl *
tools/data/hvu/environment.yml pypi
  • decorator ==4.4.2
  • intel-openmp ==2019.0
  • joblib ==0.15.1
  • mkl ==2019.0
  • numpy ==1.18.4
  • olefile ==0.46
  • pandas ==1.0.3
  • python-dateutil ==2.8.1
  • pytz ==2020.1
  • six ==1.14.0
  • youtube-dl *
tools/data/kinetics/environment.yml pypi
  • decorator ==4.4.2
  • intel-openmp ==2019.0
  • joblib ==0.15.1
  • mkl ==2019.0
  • numpy ==1.18.4
  • olefile ==0.46
  • pandas ==1.0.3
  • python-dateutil ==2.8.1
  • pytz ==2020.1
  • six ==1.14.0
  • youtube-dl *