The problem
Security teams, sports analysts and smart-camera builders all want the same thing from a video stream: a plain-language answer to "what is happening?" — walking, running, sitting. Manually reviewing video footage does not scale: nobody can watch every hour of footage, and a 2D CNN that sees one frame at a time is blind to the motion that defines an activity. A single still of a person mid-stride cannot distinguish walking from running; the answer lives in how the frames change over time. A 3D CNN addresses exactly this by convolving across height, width and time together, so each filter learns motion patterns — a stride, a swinging arm — directly from short frame sequences. For students, the project fills the gap between image classification and true video understanding: it demonstrates clip sampling, spatiotemporal augmentation, closed-set action classification and an honest per-class confusion analysis, all on the standard academic benchmark for the task.
Frequently asked questions
- What is a 3D CNN and why is it used here? A 3D CNN applies convolution across height, width and time, so each filter learns motion patterns (a swinging arm, a stride) directly from stacked frames. For activity recognition this beats single-frame 2D CNNs, which cannot see motion at all.
- What dataset does the model train on? UCF101 — 13,320 real-world YouTube video clips across 101 action categories, introduced by Soomro et al. (2012). It is the standard academic benchmark for action recognition, and the report documents the train/validation split used in the build.
- How is the model evaluated? The training notebook computes clip-level accuracy on the validation split every epoch, logs accuracy and loss curves, and builds a per-class confusion matrix — the report documents the procedure and the metrics the build's own training run computes.
- How long should an uploaded clip be? A few seconds is enough: the demo samples a fixed-length frame sequence from whatever is uploaded, so short clips work best.
- Is this project suitable for a final-year project? Yes. It suits B.E./B.Tech students in Computer Science, AI/ML and Data Science, demonstrating 3D convolutions, video preprocessing, temporal augmentation, action-recognition evaluation and a clip-upload demo.
- What will I receive? Complete source code, trained 3D-CNN weights (.pth), dataset download and split-configuration scripts, project report PDF, PPT presentation, viva Q&A document and a setup guide.
A short video clip (UCF101-style: 13,320 YouTube clips across 101 action categories).
Follow the working sequence
How it works
Dataset & model:
Dataset name: UCF101.
Source: publicly released action-recognition benchmark (Soomro et al., 2012).
Task: closed-set video action classification.
Classes: 101 action categories across 13,320 real-world YouTube clips.
Model: C3D-style 3D CNN (Tran et al., arXiv:1412.0767), trained in PyTorch.
Input: short video clip, sampled into a fixed-length frame sequence and stacked into a spatiotemporal tensor.
Prediction: 101-way softmax over action classes.
Output: top-3 predicted activities with confidence bars.
Evaluation metrics: clip-level accuracy, loss curves, per-class confusion matrix — computed by the training notebook on the validation split during the build.
Design target: ~85%+ clip accuracy on the validation split. This is a design target, not a measured claim; the notebook computes the actual accuracy during the build.
Working:
- Training phase: UCF101 clips are decoded and sampled into fixed-length frame sequences, split by video group into train and validation sets; training clips are augmented with random crops, horizontal flips and temporal jitter, while validation clips are center-cropped.
- A C3D-style 3D CNN trains on clip batches; every epoch logs clip accuracy and loss curves on the validation split and saves the best checkpoint.
- Evaluation phase: the training notebook computes clip-level accuracy and builds a per-class confusion matrix on the validation split, documenting which activities are confused with which.
- Inference phase: the Flask app loads the best .pth weights at startup; each uploaded clip is sampled to a fixed-length sequence, normalized and stacked into a spatiotemporal tensor for one forward pass.
- Softmax scores are ranked and the top-3 activities are displayed with confidence bars.
- The classifier is closed-set over the UCF101 classes: out-of-distribution actions get the nearest-looking label, which the Limitations section documents openly.
Specifications:
Model | C3D-style 3D CNN trained on UCF101
Dataset | UCF101 — 13,320 YouTube clips, 101 action classes (Soomro et al. 2012)
Metric | Clip accuracy on the validation split, computed by the training notebook during the build
Design target | ~85%+ clip accuracy (design target, not a measured claim)
Input | Short video clips, auto-sampled to fixed-length frame sequences
Demo app | Flask web app with clip upload and top-3 prediction display
Weights | .pth file shipped with the build
Project features
[3D-CNN Action Classifier] (implemented) — A C3D-style 3D convolutional network classifies UCF101 action classes from short clips, served through a Flask demo app.
[Top-3 Clip Predictions] (implemented) — Upload a clip and get the three most likely activities with confidence bars.
[Clip Sampling & Augmentation Pipeline] (implemented) — Fixed-length frame sampling with random crops, horizontal flips and temporal jitter during training.
[Training & Evaluation Notebook] (implemented) — Logs clip accuracy and loss curves every epoch and computes the per-class confusion matrix on the validation split during the build.
[Per-Class Evaluation] (implemented) — The confusion matrix documents exactly which activities are confused with which — honest, discussable error analysis.
[Exportable .pth Weights] (implemented) — The best checkpoint ships as a .pth file for deployment-style demos.
[Configurable Top-k Display] (configurable) — The number of displayed activities and the confidence display can be adjusted in the app.
[Video-Group Split Scripts] (implemented) — Dataset download and split-configuration scripts enforce the by-video-group train/validation split the benchmark expects.
What is included
Complete source code (data pipeline, training, evaluation, Flask app)
Trained 3D-CNN weights (.pth)
Dataset download and split-configuration scripts
Project report PDF (background, dataset analysis, methodology, evaluation, error analysis)
PPT presentation for the final review
Viva Q&A preparation document (3D convolutions, action recognition, augmentation, evaluation metrics)
Setup guide (environment, dependencies, GPU guidance for training)
Advantages
- True 3D spatiotemporal modeling: the C3D-style 3D convolutional network learns motion and appearance jointly from video volumes instead of classifying frames one by one.
- Real-world training data: trains on UCF101, 13,320 real-world YouTube clips across 101 action classes.
- Auditable training: the notebook logs clip accuracy (design target around 85% plus) and loss curves every epoch on the validation split.
- Honest error analysis: the per-class confusion matrix documents exactly which activities are confused with which.
- Proper benchmark hygiene: dataset download and split scripts enforce the by-video-group train/validation split the UCF101 benchmark expects.
- Deployment-style deliverable: the best checkpoint ships as an exportable .pth file, served through a Flask demo with top-3 activity predictions.
Disadvantages
- Accuracy depends on clip quality: shaky, low-resolution or heavily occluded footage classifies worse, and the report documents this bias.
- UCF101 covers staged YouTube-style actions, so real CCTV footage is out of distribution.
- The model classifies fixed-length clips, not continuous streams: it does not track who is doing what over time, and actions outside UCF101 get the nearest-looking label, which the demo states openly.
- This is an educational prototype, not a certified surveillance product: it must not drive real security decisions.
- All reported figures are design targets from the buyer's own training run: no pre-measured accuracy is claimed.
Limitations & prerequisites
Accuracy depends on clip quality — shaky, low-resolution or heavily occluded footage classifies worse; the report documents this bias.
UCF101 covers staged YouTube-style actions, so real CCTV footage is out of distribution.
The model classifies fixed-length clips, not continuous streams — it does not track who is doing what over time.
Closed-set classifier: actions outside UCF101 get the nearest-looking label, which the demo states openly.
This is an educational prototype, not a certified surveillance product — it must not drive real security decisions.
All reported figures are design targets from the buyer's own training run; no pre-measured accuracy is claimed.
Frequently Asked Questions
What is a 3D CNN and why is it used here?
A 3D CNN applies convolution across height, width and time, so each filter learns motion patterns (a swinging arm, a stride) directly from stacked frames. For activity recognition this beats single-frame 2D CNNs, which cannot see motion at all.
What dataset does the model train on?
UCF101 — 13,320 real-world YouTube video clips across 101 action categories, introduced by Soomro et al. (2012). It is the standard academic benchmark for action recognition, and the report documents the train/validation split used in the build.
How is the model evaluated?
The training notebook computes clip-level accuracy on the validation split every epoch, logs accuracy and loss curves, and builds a per-class confusion matrix — the report documents the procedure and the metrics the build's own training run computes.
How long should an uploaded clip be?
A few seconds is enough: the demo samples a fixed-length frame sequence from whatever is uploaded, so short clips work best.
Is this project suitable for a final-year project?
Yes. It suits B.E./B.Tech students in Computer Science, AI/ML and Data Science, demonstrating 3D convolutions, video preprocessing, temporal augmentation, action-recognition evaluation and a clip-upload demo.
What will I receive?
Complete source code, trained 3D-CNN weights (.pth), dataset download and split-configuration scripts, project report PDF, PPT presentation, viva Q&A document and a setup guide.
Components & software requirements
Python 3.10
PyTorch and torchvision
OpenCV and FFmpeg
NumPy, scikit-learn
Matplotlib, Seaborn
Flask
UCF101 dataset (public; download and split-configuration scripts included)
GPU recommended for training (cloud-GPU guidance included); short-clip demo inference runs on CPU
Delivery information
Built to order — the source code, trained weights, project report, PPT and viva Q&A are prepared fresh for each buyer after the order is placed. The delivery schedule is confirmed at order time, and includes time for training the model and assembling the complete documentation kit.
Support terms
- Environment and dependency setup guidance, including GPU options for training.
- Viva preparation support covering 3D convolutions, action recognition, augmentation and evaluation metrics.
- Explanation of the training notebook output and how to present the confusion matrix in the review.
- Discussion of feasible customizations before ordering, such as extra action classes or a webcam-capture demo mode.
Download free synopsis (PDF)
Enter your name and WhatsApp number — the synopsis PDF downloads immediately. We may send occasional project updates on WhatsApp; no spam.