NFL contact prediction
The goal of this project is to detect external contact experienced by players during an NFL football game by applying Computer Vision techniques. Video and player tracking data have been used to identify moments with contacts to help improve player safety.
The meaning of each element is as follows:
⬛: No contact
🟥: Player - Ground contact
🟩: Player - Player contact
To achieve these results convolutional neural networks have been used applying the Pytorch framework. Box selection has been carried out using the Yolo v8 algorithm.
YOLO (You Only Look Once) is an object detection algorithm that works by dividing an image into a grid and then predicting bounding boxes and class probabilities for each grid cell. Here's a brief overview of how it works:
- Input image: The YOLO algorithm takes an input image and resizes it to a fixed size.
- Divide image into grid: The algorithm divides the resized image into a grid of cells, each of which is responsible for detecting objects within its boundaries.
- Predictions for each cell: For each cell in the grid, YOLO predicts a fixed number of bounding boxes, each represented by its center coordinates, width, height, and a confidence score representing the likelihood of an object being present in that box. Additionally, YOLO predicts class probabilities for each bounding box, indicating the likelihood that the object in the box belongs to a particular class.
- Non-max suppression: YOLO uses a technique called non-max suppression to eliminate redundant bounding boxes that overlap with each other.
- Output: The final output of the algorithm is a list of bounding boxes, each with its class probability, for the objects detected in the image.