Inspiration

We're all very enthusiastic about American football and want to see the right calls made for the game we love. The chains are an archaic way of determining first downs. Just look at soccer, where they implemented VAR to accurately determine offsides.

What it does

Our project helps referees make the right decision by giving them the frame where the ball has passed the first down marker. In this way, they can more accurately judge if the player has obtained the first down.

How we built it

We have a React interface to upload the video of the play which is sent to our backend using Flask. Our backend is written in Python. Our algorithm involves a canny edge detection and Hough line transform to determine the yellow first down line. We also created a 2000 image dataset we manually annotated for our YOLOv9 model which detects the football. From there, we just check if the football has passed the first down line.

Challenges we ran into

Some of our members had CORS issues with the Flask/React REST API calling. It also took a while for us to figure out how to embed an image returned from our Flask API. We took significant time creating our dataset and adjusting parameters for our optimized model.

Accomplishments that we're proud of

We're very happy about the accuracy of our model despite the short timeframe. Vision models like the ones we use, often times require extremely large datasets, one which we did not have the time to make.

What we learned

We learned a lot about React and Flask integration after a lot of time spent on trial and error. Although these are very powerful and flexible tools, none of the team members had experience using them with each other, which ended up being our most major roadblock for the duration of this hackathon. By learning how to make Axios request while following the CORS paradigm, we learned something that is applicable to almost all full stack ventures.

What's next for First Down Detector

Simply, we can improve our vision model by increasing the dataset size. We would also like to integrate more camera angles such as the ones that are used in the NFL to more accurately detect first down. Finally, some further capabilities we would've liked to explore include AR integration to help referees on the field.

Share this project:

Updates