We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Video Analysis using CUDA and OpenCV

Formale Metadaten

Titel
Video Analysis using CUDA and OpenCV
Untertitel
Detecting scene changes in videos using CUDA and OpenCV
Serientitel
Anzahl der Teile
561
Autor
Lizenz
CC-Namensnennung 2.0 Belgien:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen.
Identifikatoren
Herausgeber
Erscheinungsjahr
Sprache

Inhaltliche Metadaten

Fachgebiet
Genre
Abstract
CUDA has gained popularity as the programming language for GPUs. OpenCV remains the most popular library for computer vision. The aim of the talk is to introduce people to harness both the technologies to build high performance models for image and video processing, by using the simple problem of detecting scene changes in a video. Detecting scene changes in videos using CUDA and OpenCV. CUDA is a parallel computing platform and application programming interface (API) model created by Nvidia. It allows software developers and software engineers to use a CUDA-enabled graphics processing unit (GPU) for GPGPU (General-Purpose computing on Graphics Processing Units). OpenCV stands for Open Source Computer Vision Library. It has C++, python and Java interfaces. The scene change detection problem is can be defined formally as - given two frames, do they belong to the same scene, or different scenes? The content-aware scene change detection finds all areas in a video where the difference between two subsequent frames exceeds a threshold value. This allows to detect cuts between scenes. The proposed algorithm has the following steps - * Decode the video. * For each frame - * Convert the frame to HSV colour space. * For each channel, find the average pixel by pixel difference with the previous frame * Average the difference over the number of channels. * If greater than a given threshold declare the frame as a scene change The pixel-by-pixel operation of each channel can be optimised to execute in parallel. This can be achieved using CUDA. The simple algorithm above can be optimised to execute on a GPU and achieve 10x improvements in speed. All the code is written in C++