Giter Site home page Giter Site logo

accmpeg's Introduction

AccMPEG

Our codebase is a bit messy. We'll clean up our codebase after NSDI fall deadline ๐Ÿ˜†

Here are the steps to run our code. We assume you start from a directory called $DIR, and your working machine contains an NVIDIA GPU.

Setup the environment

Please refer to INSTALL.md on how to setup the environment.

Evaluate AccMPEG

cd $DIR/AccMPEG

to enter the repo of AccMPEG, and run

python generate_mpeg_curve.py

This script will generates the data points for AWStream baseline.

(Note: this will take a while, please wait.)

Then run

python batch_blackgen_roi.py

to run AccMPEG.

Result visualization

Run

cd artifact/

to enter into the artifact folder, and then run

python plot.py

to plot the delay-accuracy trade-off. The results are shown in delay-accuracy.jpg. Here is the results (generated from the stats file we use for generating figures in our paper).

Delay-accuracy trade-off

This plot replicates the experiments in Figure 7 (better accuracy-delay trade-off than the baselines under a wide range of video contents and video analytic models) on one video and one baseline (AWStream). We pick AWStream as the representative baseline since it is the baseline that is both applicable under various settings (DDS baseline and EAAR baseline are not applicable when the video analytic model has no region proposal module) and competitive (the accuracy of Vigil baseline is significantly lower than other approaches, and the accuracy-delay trade-off of Vigil is worse than AWStream).

Note that the exact number may vary. Here is one figure reproduced by us under different server/ffmpeg version/CUDA version/torch version/torchvision version.

Delay-accuracy trade-off

Run AccMPEG on multiple videos.

We put all the videos we used for object detection into artifact folder. To run these videos:

  1. Extract all the videos to pngs through the extract.py inside the folder
  2. Edit args.inputs in generate_mpeg_curve.py and run this script to generate AWStream baseline on these videos.
  3. Edit v_list in batch_blackgen_roi.py and run the script to run AccMPEG.

accmpeg's People

Contributors

alex-q-z avatar antonarapin avatar kuntaidu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.