MC3-18 (Mixed Convolution 3D) fine-tuned on HMDB51 split 1, initialized from Kinetics-400 pretrained weights, trained as part of the video pipeline in human-action-classification. A reference baseline, not a state-of-the-art result -- published HMDB51 split-1 methods using ensembles, test-time augmentation, and multi-crop evaluation reach roughly 70-75%. A sibling model initialized from UCF-101 weights instead of Kinetics-400 is also available; see Related Resources below.
Precision, recall and F1 are computed with macro averaging over HMDB51's 51 (equally-sized, 30 videos each) test classes -- macro recall equals accuracy here because the test split is exactly class-balanced.
Overfitting
Train Acc
Val Acc
Gap
This model
~75%
56.34%
~19%
A ~19-point train/validation gap is expected here: HMDB51 has only ~70 training videos per class, and MC3-18's 11.5M parameters are enough to memorize a set that size even with augmentation. See the UCF-101-initialized sibling model for a comparison with a smaller gap at similar accuracy.
Evaluation Protocol
Metrics above come from VideoTrainer.validate() in hac.video.training.train, run on HMDB51 split 1's test set (1,530 videos, 51 classes), at the checkpoint's best-performing epoch. Each clip: 8 frames sampled uniformly (no frame skipping), resized preserving aspect ratio to roughly 128x171, center-cropped to 112x112, normalized with Kinetics-400 statistics -- a single center clip per video, no test-time augmentation or multi-crop averaging.
Why 8 frames instead of 16? HMDB51 contains many short videos (some 10-20 frames total). An 8-frame window with no frame-skipping avoids the frame-repetition/tiling that a longer window would force on those clips, at the cost of a shorter temporal receptive field than the UCF-101 models in this project use.
The repo's VideoPredictor wraps frame sampling, transforms, and the forward pass end-to-end (pass num_frames=8 to match this model's training configuration):
Note: VideoPredictor's built-in class list defaults to UCF-101's 101 classes -- for HMDB51 you'll want to pass/override the 51 class names listed below rather than relying on the predictor's default.
training script default (unconfirmed exact values for this run)
Rows marked "checkpoint ..." are read directly out of the optimizer/scheduler state and config dict stored inside mc3-18-hmdb51-kinetics.pth. Rows marked "training script default" reflect hac.video.training.train's CLI defaults/flags at the time of training but weren't independently re-derived from the checkpoint for this exact run -- no separate run-config file was saved alongside it.
Kinetics-400 vs. UCF-101 Initialization
This project also ships an MC3-18/HMDB51 model initialized from UCF-101 weights instead of Kinetics-400 -- see mc3-18-hmdb51-ucf-transfer for that model's own card and verified numbers before drawing any conclusions from comparing the two; don't assume the two cards' headline framing is still in sync with each other.
Kinetics-400 init (this model): larger, more diverse pretraining corpus; uses 8-frame clips to avoid tiling short HMDB51 videos.
UCF-101 init: domain-closer to HMDB51 (similar YouTube/movie sources, overlapping action categories); uses 16-frame clips to match its own UCF-101 pretraining configuration, which causes frame tiling on HMDB51's shorter videos.
config.json doubles as the Hub's download-count query file: since this repo has no library_name integration the Hub recognizes, it falls back to counting requests against config.json (per Hugging Face's download-stats docs) -- the loading snippet above fetches it as part of normal usage, so downloads register.
Related Resources
mc3-18-hmdb51-ucf-transfer -- sibling model, same architecture/dataset, initialized from UCF-101 weights instead of Kinetics-400
mc3-18-ucf101 -- the UCF-101 model this project's UCF-101-init sibling was transferred from
If you use this model, please consider citing the HMDB51 dataset, the MC3 architecture, and the training framework:
bibtex
1@inproceedings{kuehne2011hmdb,
2 title={HMDB: a large video database for human motion recognition},
3 author={Kuehne, Hildegard and Jhuang, Hueihan and Garrote, Est{\'\i}baliz and Poggio, Tomaso and Serre, Thomas},
4 booktitle={2011 International Conference on Computer Vision},
5 pages={2556--2563},
6 year={2011},
7 organization={IEEE}
8}
bibtex
1@inproceedings{tran2018closer,
2 title={A Closer Look at Spatiotemporal Convolutions for Action Recognition},
3 author={Tran, Du and Wang, Heng and Torresani, Lorenzo and Ray, Jamie and LeCun, Yann and Paluri, Manohar},
4 booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
5 year={2018}
6}
bibtex
1@misc{saksena2025mc3hmdbkinetics,
2 author = {Saumya Saksena},
3 title = {{MC3-18 HMDB51 (Kinetics-400 Init)}},
4 year = {2025},
5 publisher = {Hugging Face},
6 howpublished = {\url{https://huggingface.co/dronefreak/mc3-18-hmdb51-kinetics}},
7 note = {Trained with the human-action-classification framework, Top-1 Accuracy: 56.34\%}
8}