Coder Social home page Coder Social logo

opensourcevs's Introduction

VideoResumenOpenSource

Brief description from wikipedia:

Video synopsis (often abbreviated V.S.) is an approach to create a short video summary of a long video. It tracks and analyzes moving objects, and converts video streams into a database of objects and activities. The technology has specific applications in the field of video surveillance where, despite technological advancements and increased growth in the deployment of CCTV (closed circuit television) cameras, viewing and analysis of recorded footage is still a costly and labor-intensive and time-intensive task.

In recent years, the use of video storage systems have increase radically. Generally, this records are used for surveillance tasks and allow monitoring activity in particular areas, track certain situations or analyse information from incidents. These systems store large amounts of data and the greatest part of the records have irrelevant information, generating an unnecessary demand of time and money for its storage and analysis. In this work, the development of an open source library to perform video synopsis is presented. The term `video synopsis' refers to the generation of an automatic summary of a video based on digital image processing techniques. With this tool, it is possible to carry out the background substraction, the detection and segmentation of moving objects in a scene, to later on generate the summary of the video. It presents the moving objects with metadata (order and time of appearance) and can present the activity registered in linear time or merged on a common background. Thereby, the library allows the generation of video synopsis of the activity detected, serving as a support of traditional storage systems and facilitating the visual inspection of long videos.

For more information, please see this paper or this.

The private software that can do this task is BriefCam. Own library don't have any affiliation with breifcam, and we attend to solve the problem with our way.

Main Features

  • Video Segmentation.
  • Object search and indexing.
  • Objects tagging and tracking.
  • ...

See in action

Original video from a Hihgway (~1 minute long).

Original

Video synopsis (~1/3 minute long from original)

Resumen

Timestamp objects (seconds)

Etiquetado

Only red objects?

Segmentacion

Requirements

The core of the library is written in C++ and uses Opencv.

Version Test
OpenCV 2.4.13 ☑️ Ubuntu 14 & 16 ☑️ Archlinux

How to use

Just for now, the library it's very hard coded!! kept in mind that this originally was a weekend project for academic asignature.

Download

$ git clone https://github.com/lerker/OpenSourceVS.git

Compile

$ cd OpenSourceVS/
$ g++ -std=c++11 -o OpenSourceVS main.cpp `pkg-config --cflags --libs opencv`

Run

./OpenSourceVS video2.avi

In this example, video2.avi is the input video, the arguments is not accepted by the program (hard coded...) and the video file MUST be video2.avi

You need assitance?

I just made a Dockerfile to download and setup everything!!

Steps

  1. Download the Dockerfile
  2. Build the image, docker $ build -t videoresumen:1.0 .
  3. Run the container, $ docker run -it --name VideoResumen videoresumen:1.0 /bin/bash
  4. In container promt, ./opensourcevs

TODOs

Please see TODO list.

Contact

Main manteiner: [email protected] (Ponzoni Nelson) as github user @lerker

opensourcevs's People

Contributors

lerker avatar

Watchers

James Cloos 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.