SYSTEM AND METHOD FOR GENERATING TRACKABLE VIDEO FRAMES FROM BROADCAST VIDEO
A system and method of generating trackable frames from a broadcast video feed are provided herein. A computing system retrieves a broadcast video feed for a sporting event. The broadcast video feed includes a plurality of video frames. The computing system generates a set of frames for classification using a principal component analysis model. The set of frames are a subset of the plurality of video frames. The computing system partitions each frame of the set of frames into a plurality of clusters. The computing system classifies each frame of the plurality of frames as trackable or untrackable. Trackable frames capture a unified view of the sporting event. The computing system compares each cluster to a predetermined threshold to determine whether each cluster comprises at least a threshold number of trackable frames. The computing system classifies each cluster that includes at least the threshold number of trackable frames as trackable.
1 . A method of generating trackable frames from a broadcast video feed, comprising:
retrieving, by a computing system, a broadcast video feed for a sporting event, the broadcast video feed comprising a plurality of video frames;
generating, by the computing system, a set of frames for classification, wherein the set of frames are a subset of the plurality of video frames;
partitioning, by the computing system, each frame of the set of frames into a plurality of clusters;
classifying, by the computing system, each frame of the plurality of frames as trackable or untrackable;
comparing, by the computing system, each cluster to a predetermined threshold to determine whether each cluster comprises at least a threshold number of trackable frames; and
performing a camera calibration on at least a subset of clusters that are determine to comprise at least the threshold number of trackable frames.
2 . The method of claim 1 , wherein generating, by the computing system, the set of frames for classification comprises:
extracting, from the plurality of video frames, a frame every selected time-interval to generate a model of the broadcast video feed;
identifying, via the model, a subset of frames from the extracted frames; and
using the subset of frames as the set of frames for classification.
3 . The method of claim 2 , wherein partitioning, by the computing system, each frame of the set of frames into the plurality of clusters comprises:
labeling each frame in the subset of frames with a respective cluster number.
4 . The method of claim 3 , wherein classifying, by the computing system, each frame of the plurality of frames as trackable or untrackable comprises:
training a neural network to classify a video frame as trackable or untrackable using a training set comprising a plurality of video frames and a label associated with each video frame, wherein the label is trackable or untrackable.
5 . The method of claim 4 , wherein each frame of the plurality of frames comprises a trackable/untrackable classification and an associated cluster number.
6 . The method of claim 5 , wherein comparing, by the computing system, each cluster to the predetermined threshold to determine whether each cluster comprises at least the threshold number of trackable frames comprises:
identifying each frame corresponding to a given cluster label; and
determining a number of frames corresponding to the given cluster label that include a trackable classification.
7 . The method of claim 1 , further comprising:
storing each cluster that includes at least the threshold number of trackable frames in a data store.
8 . A system for re-identifying players in a broadcast video feed, comprising:
a processor; and
a memory having programming instructions stored thereon, which, when executed by the processor, performs one or more operations, comprising:
retrieving a broadcast video feed for a sporting event, the broadcast video feed comprising a plurality of video frames;
generating a set of frames for classification, wherein the set of frames are a subset of the plurality of video frames;
partitioning each frame of the set of frames into a plurality of clusters;
classifying each frame of the plurality of frames as trackable or untrackable; and
comparing each cluster to a predetermined threshold to determine whether each cluster comprises at least a threshold number of trackable frames; and
performing a camera calibration on at least a subset of clusters that are determine to comprise at least the threshold number of trackable frames.
9 . The system of claim 8 wherein generating the set of frames for classification comprises:
extracting, from the plurality of video frames, a frame every selected time-interval to generate a model of the broadcast video feed;
identifying, via the model, a subset of frames from the extracted frames; and
using the subset of frames as the set of frames for classification.
10 . The system of claim 9 , wherein partitioning each frame of the set of frames into the plurality of clusters comprises:
labeling each frame in the subset of frames with a respective cluster number.
11 . The system of claim 10 , wherein classifying each frame of the plurality of frames as trackable or untrackable comprises:
training a neural network to classify a video frame as trackable or untrackable using a training set comprising a plurality of video frames and a label associated with each video frame, wherein the label is trackable or untrackable.
12 . The system of claim 11 , wherein each frame of the plurality of frames comprises a trackable/untrackable classification and an associated cluster number.
13 . The system of claim 12 , wherein comparing each cluster to the predetermined threshold to determine whether each cluster comprises at least the threshold number of trackable frames comprises:
identifying each frame corresponding to a given cluster label; and
determining a number of frames corresponding to the given cluster label that include a trackable classification.
14 . The system of claim 13 , further comprising:
storing each cluster that includes at least the threshold number of trackable frames in a data store.
15 . A non-transitory computer readable medium including one or more sequences of instructions that, when executed by one or more processors, perform one or more operations comprising:
retrieving, by a computing system, a broadcast video feed for a sporting event, the broadcast video feed comprising a plurality of video frames;
generating, by the computing system, a set of frames for classification, wherein the set of frames are a subset of the plurality of video frames;
partitioning, by the computing system, each frame of the set of frames into a plurality of clusters;
classifying, by the computing system, each frame of the plurality of frames as trackable or untrackable; and
comparing, by the computing system, each cluster to a predetermined threshold to determine whether each cluster comprises at least a threshold number of trackable frames; and
performing a camera calibration on at least a subset of clusters that are determine to comprise at least the threshold number of trackable frames.
16 . The non-transitory computer readable medium of claim 15 , wherein generating, by the computing system, the set of frames for classification comprises:
extracting, from the plurality of video frames, a frame every selected time-interval to generate a model of the broadcast video feed;
identifying, via the model, a subset of frames from the extracted frames; and
using the subset of frames as the set of frames for classification.
17 . The non-transitory computer readable medium of claim 16 , wherein partitioning, by the computing system, each frame of the set of frames into the plurality of clusters comprises:
labeling each frame in the subset of frames with a respective cluster number.
18 . The non-transitory computer readable medium of claim 17 , wherein classifying, by the computing system, each frame of the plurality of frames as trackable or untrackable comprises:
training a neural network to classify a video frame as trackable or untrackable using a training set comprising a plurality of video frames and a label associated with each video frame, wherein the label is trackable or untrackable.
19 . The non-transitory computer readable medium of claim 18 , wherein each frame of the plurality of frames comprises a trackable/untrackable classification and an associated cluster number.
20 . The non-transitory computer readable medium of claim 19 , wherein comparing, by the computing system, each cluster to the predetermined threshold to determine whether each cluster comprises at least the threshold number of trackable frames comprises:
identifying each frame corresponding to a given cluster label; and
determining a number of frames corresponding to the given cluster label that include a trackable classification.