Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
efb2991
Pipeline integration: process YOLO tracking output (Shafqat Ullah)
Apr 1, 2026
e4675a8
Initial pipeline integration for player tracking
Apr 1, 2026
ab7254d
Update my recent player tracking work
Apr 5, 2026
7dade94
Update my recent work
Apr 5, 2026
9e944cf
Update my recent work
Apr 5, 2026
01df976
Merge pull request #22 from lucastargett/player-tracking-ethan
lucastargett Apr 8, 2026
c3df57c
Merge remote-tracking branch 'upstream/main' into player-tracking-pip…
Apr 10, 2026
db55e98
Update different method on re-traciking with jersey color.
quan-le Apr 28, 2026
598743e
Merge branch 'main' of https://github.com/lucastargett/redback-orion …
quan-le Apr 28, 2026
580da39
Route error handlings in backend
lucastargett Apr 29, 2026
b13f855
Merge pull request #45 from lucastargett/backend-sp3/lucas-route_erro…
lucastargett Apr 29, 2026
2d15d38
Fix failing backend tests (UUID + mock DB refresh)
lucastargett May 2, 2026
f3dd3b7
Merge branch 'backend-sp4/lucas-fix-failing-tests' into backend-api-g…
lucastargett May 4, 2026
81ed62d
Add backend README with setup and run instructions
TOMINJOSE88 May 5, 2026
c067eb4
Merge branch 'backend-api-gateway' of https://github.com/lucastargett…
TOMINJOSE88 May 5, 2026
c8e2ec2
Fix process_video background task using sync DB session correctly
TOMINJOSE88 May 5, 2026
75ae9b7
Combine backend API gateway routes and test fixes
lucastargett May 5, 2026
becb7e2
Merge branch 'main' into backend-api-gateway
MAYURA26-bot May 5, 2026
f90c7a5
Revise architecture diagram in README.md
lucastargett May 6, 2026
50eba22
Merge pull request #52 from lucastargett/frontend-sp3/JakeNgo-AboutFi…
lucastargett May 6, 2026
2b960b5
feat: store access_token and refresh_token on login, add getAuthHeade…
Scott7ss May 6, 2026
153fde7
Merge pull request #54 from lucastargett/frontend-sp2/scott-auth-tokens
lucastargett May 6, 2026
e33f4d1
Merge pull request #51 from lucastargett/backend-api-gateway
TOMINJOSE88 May 6, 2026
712a7c4
Fix refresh token auth flow and begun docker setup
lucastargett May 7, 2026
22fd394
Add email-validator dependency for docker auth schema
lucastargett May 8, 2026
fea13dd
Added Drew colour and speed detection tracking
May 8, 2026
5f781fb
Update player service backend integration
WilliamHamilton22 May 8, 2026
f8193ea
Merge branch 'main' of https://github.com/lucastargett/redback-orion …
May 8, 2026
dce5013
Added multi-player tackle detection module and outputs by Shafqat Ullah
May 8, 2026
037b7e5
Merge branch 'Player-Tracking' into player-tracking-pipeline-integrat…
quan-le May 8, 2026
5ddae10
Merge pull request #59 from Shafqat1137/player-tracking-pipeline-inte…
quan-le May 8, 2026
c122ba8
Add Ethan labelling and tracking pipeline
mcchamps2097 May 8, 2026
5f8d471
Add tracking output JSON
mcchamps2097 May 8, 2026
30350d8
Update .gitignore
quan-le May 8, 2026
8c7d148
Merge pull request #60 from lucastargett/player-tracking-ethan
quan-le May 8, 2026
81ec8df
Merge branch 'Player-Tracking' of https://github.com/lucastargett/red…
quan-le May 8, 2026
65d1117
Added JSON tracking output
May 9, 2026
268db91
Merge remote-tracking branch 'origin/player-tracking-sp4/drew-colour-…
quan-le May 9, 2026
21737c7
Update tackle dection, adding json files and best.pt model file
quan-le May 10, 2026
f3a620e
Merge branch 'backend-api-gateway' of https://github.com/lucastargett…
TOMINJOSE88 May 10, 2026
0c120e9
Complete Docker setup for backend gateway
TOMINJOSE88 May 10, 2026
814d8f6
Update player service backend integration
WilliamHamilton22 May 8, 2026
e76e9ce
Merge pull request #64 from lucastargett/backend-sp4/william
lucastargett May 10, 2026
326b11b
Merge pull request #63 from lucastargett/Player-Tracking
lucastargett May 10, 2026
f63da34
Merge pull request #57 from lucastargett/feature/player-service-backend
lucastargett May 10, 2026
f73a45b
Modify Yolov11 Tracking logic to include team id and team name in the…
quan-le May 11, 2026
29e9f7f
Implementation Formation visualizing between teams
quan-le May 12, 2026
7566b94
Update README.md file for formation analysis
quan-le May 12, 2026
b128bbc
- Update README.md file for general folder
quan-le May 12, 2026
687ba58
Update readme.md file for jersey Color detection and Team Formation v…
quan-le May 12, 2026
898e3a9
Merge pull request #65 from lucastargett/Player-Tracking
TOMINJOSE88 May 13, 2026
d6b573f
Merge pull request #55 from lucastargett/lucastargett-patch-1
TOMINJOSE88 May 13, 2026
250ca79
Merge remote-tracking branch 'origin/main' into backend-api-gateway
TOMINJOSE88 May 13, 2026
bef933c
Integrate player and crowd services into backend gateway
TOMINJOSE88 May 13, 2026
9521a96
Resolve merge conflict in player_client — keep full pipeline implemen…
TOMINJOSE88 May 13, 2026
512466b
Add Docker configuration for Orion services
lucastargett May 13, 2026
1c0c5ca
Fix frontend Docker build by including server files
lucastargett May 14, 2026
4bbe7ae
Merge backend-sp4/lucas into backend-api-gateway
lucastargett May 14, 2026
151aded
Add PostgreSQL support to Docker Compose
lucastargett May 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,13 @@ runs/
# Model weights & large files
*.pt
*.pth
*.zipobj/
*.zip
*.mp4
*.json
*.csv
/Player_Tracking/Pose_Matching_project/Pose_Estimation/pose-estimation-fitness/src/models/FitnessTracking.v1i.yolov5pytorch/test/images
/Player_Tracking/Pose_Matching_project/Pose_Estimation/pose-estimation-fitness/src/models/FitnessTracking.v1i.yolov5pytorch
obj/
bin/
*.mp4
*.mov
Expand All @@ -42,3 +48,5 @@ bin/
obj/
bin/
.DS_Store
/Player_Tracking/Pose_Matching_project/Pose_Estimation/pose-estimation-fitness
*.jpg
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
FROM python:3.11-slim

WORKDIR /app

RUN apt-get update && apt-get install -y \
libgl1 \
libglib2.0-0 \
libxcb1 \
libx11-6 \
libxext6 \
libsm6 \
libxrender1 \
&& rm -rf /var/lib/apt/lists/*

COPY Crowd_Monitoring/2026_T1/requirements.txt .

RUN pip install --no-cache-dir -r requirements.txt

COPY Crowd_Monitoring/2026_T1/ .

EXPOSE 8002

CMD ["uvicorn", "shared.services.main:app", "--host", "0.0.0.0", "--port", "8002"]
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,49 @@ Heatmap
Crowd Behaviour Analytics
->
Crowd Allocation / Risk Zone
This repository contains the Crowd Monitoring module for the Orion project under Redback Operations.

The purpose of this module is to analyse stadium crowd behaviour and density using computer vision and data analytics. The expected outputs include:

- crowd heatmaps
- density metrics
- zone-based analytics
- behaviour insights for integration into the Orion analytics dashboard

## Objectives

- Detect and analyse spectators in stadium footage
- Estimate crowd density and distribution
- Generate zone-based crowd analytics
- Produce crowd heatmaps and visualisations
- Develop AI-based crowd behaviour analysis
- Optionally predict future attendance using machine learning models

## Proposed Pipeline

```text
Video Input
|
v
Frame Extraction (OpenCV)
|
v
Person Detection (YOLOv8)
|
v
Crowd Density Estimation
|
v
Zone-based Analysis
|
v
Heatmap Generation
|
v
Analytics Output (JSON / CSV)
|
v
Behaviour Analysis / Prediction
```

## Tech Stack
Expand Down Expand Up @@ -183,3 +226,97 @@ In the current setup, Swagger UI is served on the root URL.
- FastAPI Swagger is generated from `shared/services/models.py`
- implementation teams should follow their task `SCHEMA.md`
- if a field name changes, update schema first and then update service and task code
## 👥 Team Tasks (7 Members)

Each team member owns one task. Follow the README in each task folder for detailed objectives and deliverables.

| # | Task Folder | Team Member | Objective |
|---|-------------|-------------|-----------|
| 1 | **video_processing** | Member 1 | Extract frames and prepare video data |
| 2 | **crowd_detection** | Member 2 | Detect persons using YOLOv8 |
| 3 | **density_zoning** | Member 3 | Calculate density and zone-based analytics |
| 4 | **heatmap** | Member 4 | Generate crowd heatmaps |
| 5 | **analytics_output** | Member 5 | Create reports and output files (JSON/CSV) |
| 6 | **crowd_behaviour_analytics** | Member 6 | Analyze crowd movement and behavior patterns |
| 7 | **crowd_allocation_risk_zone** | Member 7 | Assess risk levels and crowd allocation strategy |

**Optional:** `prediction_optional/` - Attendance prediction (if time permits)

---

## Task Guidance

Each task folder contains its own `README.md` with:

- 🎯 Task objective
- 📥 Expected inputs and outputs
- 💡 Implementation notes
- ✅ Suggested deliverables

This keeps the semester plan split into smaller, easier-to-manage work packages.

---

## Project Structure

```text
2026_T1/
|-- data/ # Sample videos and frames
|-- docs/ # Documentation and notes
|-- shared/ # Common utilities and configs
|-- requirements.txt # Dependencies
|-- README.md # This file
|
|-- Task Folders (one per member):
|-- video_processing/ # Task 1: Video extraction & preparation
|-- crowd_detection/ # Task 2: Person detection (YOLOv8)
|-- density_zoning/ # Task 3: Density & zone analysis
|-- heatmap/ # Task 4: Heatmap generation
|-- analytics_output/ # Task 5: Report generation
|-- crowd_behaviour_analytics/ # Task 6: Behavior analysis
|-- crowd_allocation_risk_zone/ # Task 7: Risk assessment & allocation
|
|-- Optional:
`-- prediction_optional/ # Optional: Attendance prediction
```

---

## 🚀 Getting Started

1. **Find your task** in the table above
2. **Read the README** in your task folder
3. **Follow the implementation notes**
4. **Deliver outputs** as specified
5. **Update your README** with progress

---

## 📋 Integration Points

Tasks run in sequence:

```
video_processing (Task 1)
crowd_detection (Task 2)
density_zoning (Task 3)
heatmap (Task 4) + analytics_output (Task 5)
crowd_behaviour_analytics (Task 6)
crowd_allocation_risk_zone (Task 7)
Dashboard / Report Integration
```

---

## 💬 Collaboration

- **Shared utilities:** Use files in `shared/` folder
- **Input/Output:** Check task README for I/O specifications
- **Questions:** Document in docs/ folder
- **Results:** Save outputs to designated location in your task folder
Original file line number Diff line number Diff line change
Expand Up @@ -67,5 +67,9 @@ Do not create extra files too early. Start simple, then split only when needed.
## Suggested Deliverables

- A simple `main.py` script for exporting results

## Suggested Deliverables

- A serializer or export script
- Example JSON and CSV output
- A short schema note in this folder or `docs/`
Original file line number Diff line number Diff line change
Expand Up @@ -102,3 +102,10 @@ The module has been tested with the following scenarios:
### Test Results

All validation tests passed (5/5). Module is ready for integration.

## Suggested Deliverables

- Risk zone map visualization
- Allocation recommendation report (JSON/CSV)
- Risk threshold configuration file
- Examples showing critical scenarios and responses
Original file line number Diff line number Diff line change
Expand Up @@ -67,5 +67,9 @@ Do not create extra files too early. Start simple, then split only when needed.
## Suggested Deliverables

- A simple `main.py` script for behaviour analysis

## Suggested Deliverables

- A prototype behaviour analysis script
- A few example scenarios or simulated cases
- A list of event definitions used by the module
Original file line number Diff line number Diff line change
Expand Up @@ -67,5 +67,9 @@ Do not create extra files too early. Start simple, then split only when needed.
## Suggested Deliverables

- A simple `main.py` script for person detection

## Suggested Deliverables

- A detection script or notebook
- Sample visual output with boxes drawn on frames
- A saved set of person coordinates or detections
Original file line number Diff line number Diff line change
Expand Up @@ -67,5 +67,9 @@ Do not create extra files too early. Start simple, then split only when needed.
## Suggested Deliverables

- A simple `main.py` script that maps people into zones

## Suggested Deliverables

- A script that maps people into zones
- A table of zone counts and densities
- Example output using sample coordinates or detections
Original file line number Diff line number Diff line change
Expand Up @@ -65,5 +65,9 @@ Do not create extra files too early. Start simple, then split only when needed.
## Suggested Deliverables

- A simple `main.py` script for heatmap generation

## Suggested Deliverables

- A heatmap generation script or notebook
- Example heatmap image
- Optional frame overlay showing density distribution
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

from fastapi import FastAPI
from fastapi import Request
from fastapi.middleware.cors import CORSMiddleware
from fastapi.responses import HTMLResponse, JSONResponse
from fastapi.staticfiles import StaticFiles

Expand All @@ -19,6 +20,15 @@
)


app.add_middleware(
CORSMiddleware,
allow_origins=["http://localhost:3000"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)


@app.exception_handler(Exception)
async def unhandled_exception_handler(request: Request, exc: Exception):
"""Return actual runtime errors as JSON instead of generic 500 pages."""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,5 +66,10 @@ Do not create extra files too early. Start simple, then split only when needed.
## Suggested Deliverables

- A simple `main.py` script that extracts frames from a video
- Store reusable helpers in `shared/` when possible

## Suggested Deliverables

- A script or notebook that extracts frames from a video
- A short note on frame sampling strategy
- Example output for one sample video
Empty file.
3 changes: 2 additions & 1 deletion 26_T1/afl_player_tracking_and_crowd_monitoring/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ The system follows a microservices architecture with a FastAPI backend acting as
---

## Architecture Overview

```text
Frontend (React)
Expand All @@ -44,6 +44,7 @@ The system follows a microservices architecture with a FastAPI backend acting as
▼ ▼
Player Service Crowd Service
(YOLO) (Density)
```

## 🚀 How to Run the Project

Expand Down
Loading
Loading