Sports Video Classifier

Overview

This model recognizes the 487 different classes of sports activities in the Sports-1M Dataset. The model consists of a deep 3-D convolutional net that was trained on the Sports-1M dataset. The input to the model is a video, and the output is a list of estimated class probabilities. The model is based on the C3D TensorFlow Model.

Model Metadata

Domain Application Industry Framework Training Data Input Data Format
Vision Video Classification General TensorFlow Sports-1M Video (MPEG-4)

References

Licenses

Component License Link
Model GitHub Repository Apache 2.0 LICENSE
Model Weights MIT C3D-TensorFlow
Model Code (3rd party) MIT C3D-TensorFlow
Test assets Various Asset README

Options available for deploying this model

  • Deploy from Dockerhub:

    docker run -it -p 5000:5000 codait/max-sports-video-classifier
    
  • Deploy on Red Hat OpenShift:

    Follow the instructions for the OpenShift web console or the OpenShift Container Platform CLI in this tutorial and specify codait/max-sports-video-classifier as the image name.

  • Deploy on Kubernetes:

    kubectl apply -f https://raw.githubusercontent.com/IBM/MAX-Sports-Video-Classifier/master/max-sports-video-classifier.yaml
    

    A more elaborate tutorial on how to deploy this MAX model to production on IBM Cloud can be found here.

  • Locally: Follow the instructions in the model README on GitHub

Example Usage

You can test or use this model

Test the model using cURL

Once deployed, you can test the model from the command line. For example:

curl -F "video=@assets/basketball.mp4" -XPOST http://localhost:5000/model/predict
{
  "status": "ok",
  "predictions": [
    {
      "label_id": "367",
      "label": "basketball",
      "probability": 0.39916181564331
    },
    {
      "label_id": "370",
      "label": "streetball",
      "probability": 0.16513635218143
    },
    {
      "label_id": "369",
      "label": "3x3 (basketball)",
      "probability": 0.11865037679672
    }
  ]
}

Test the model in a serverless app

You can utilize this model in a serverless application by following the instructions in the Leverage deep learning in IBM Cloud Functions tutorial.