While working at the NFL with Next Gen Stats, one of the projects I was working on was building a model to identify specific pass rush moves and defensive stunts.
For context, the pass rush moves I was trying to identify were high-level moves like inside, outside, or bull-rush moves based on how the pass rusher was interacting with the blocker.
Defensive stunts are a coordinated pass rush move by the defensive line to crash one lineman (the penetrator) into the side of another blocker while another lineman (the looper) loops around behind the penetrator into what is hopefully a free lane to the quarterback.
For this model the first approach that I tried was a logic-based model with feature engineering on the underlying tracking data. This model showed some initial promise, however there are many edge cases with defensive linemen rushing the passer. In order to achieve higher accuracy without limiting the scope of plays the model could apply to, I turned to a neural network approach similar to how NGS identifies coverage classifications. The high-level architecture is explained below.
Cleaning the data by coordinating into the same frame of reference for the model and reducing its size by temporal downsampling to every other frame
Building the appropriate player permutation tensor and passing it into the model
Utilizing a CNN to encode player locations and relationships between players onto the frame level data
Passing the frame level data into an LSTM model to identify changes to the relationships between the players over time
Dense layers to classify the output
The final output can be added to the NGS pass rush dataset to be used for future insights regarding stylistic approaches for pass rushers. They will be able to tell a pass rushers most utilized and most effective rush pash, which defenses utilize stunts more often and which players are most effective at executing stunts, and which pass blockers struggle or excel at defending specific pass rush moves.