This repository contains a Computer Vision based pipeline developed as part of the UAS Recruitment Task.
The objective is to analyze aerial images and assist in rescue decision-making by detecting land, camps, and casualties, followed by priority-based rescue logic.
Given aerial images captured by a UAV:
- Segment land and water regions
- Detect rescue camps and their capacities
- Detect casualties and assign priorities based on shape
- Assign casualties to camps using logical constraints
- Compute an image-level rescue priority metric
- Performed using HSV color thresholding
- Green regions are identified as land
- This stage intentionally over-segments green areas
- Camps are detected using geometric constraints
- Area filtering
- Circularity check
- Color is used only after geometric validation
- Camp capacity is assigned based on color:
- Blue → 4 casualties
- Pink → 3 casualties
- Grey → 2 casualties
- Land regions are removed to isolate foreground objects
- Binary thresholding and morphological operations are applied
- Shape approximation is used for classification:
- Square → Priority 1
- Triangle → Priority 2
- Star → Priority 3
- Casualties are sorted by priority (highest first)
- Each casualty is assigned to the nearest available camp
- Camp capacity constraints are enforced
- A greedy, priority-first strategy is used
- Priorities of casualties assigned to each camp are summed
- Camp priorities are stored in the order: [Blue, Pink, Grey]
- Image-level urgency is computed as: Pr = (Total priority of all camps) / (Number of casualties)
- This allows fair comparison across multiple images
##Image Ranking**
- Images are ranked in descending order of
Pr - Higher
Prindicates higher rescue urgency
- Python
- OpenCV
- NumPy
- Git & GitHub