GithubHelp home page GithubHelp logo

rozumden / fmo-cpp-demo Goto Github PK

View Code? Open in Web Editor NEW
56.0 2.0 13.0 115.26 MB

Fast Moving Objects Detection (demo version)

Home Page: http://cmp.felk.cvut.cz/fmo/

License: MIT License

CMake 0.93% C++ 99.07%
fast-moving-objects fmo-detection real-time-object-detection camera object-detection mobile-app

fmo-cpp-demo's Introduction

FMO detection (demo version)

The demonstrator displays the detection and processing of fast moving objects in real-time. Various properties of the objects can be estimated, like velocity, radius or trajectory. Users can toss various objects such as balls or darts, “shoot” any objects in front of a webcam at speeds that the objects will appear as long streaks. Properties of these blurred steaks allow us to describe movement and shape of the object. The detected objects and their trajectories are shown in real-time. If the real object size of the object in world units is known, then object velocity can be estimated. By default we assume a floorball, thus for objects of other sizes the estimation will be corrupted, but these settings can be easily changed (see Parameters section). The user should understand that velocity is found solely from video frames, whereas current methods (for example in tennis tournaments) usually use radars for this task. Additionally, the total number of detections is shown. This may be particularly interesting when a lot of small objects, which for example are not from the same class, are thrown in front of the camera. Applications of the methods like removal of fast moving objects can be shown in real-time. Attendees will be able to play with the system, testing its limits (small objects, very fast throws, shaking the camera).

Prerequisites

opencv 
boost

opencv recommended version 3.4.0 install by running

git clone https://github.com/Itseez/opencv.git
cd opencv
git checkout 3.4.0
...compile...

To compile

mkdir build
cd build
cmake ..
make
sudo make install

Compiled version for Windows: http://cmp.felk.cvut.cz/fmo/files/fmo-demo_windows_compiled.zip

Android mobile application (test version): http://cmp.felk.cvut.cz/fmo/app.apk

To run real-time on a camera

Integer after --camera for camera index.

fmo-desktop --camera 0 --utiademo

While running: space to stop, enter to make a step, "n" to enter name to score table, "1" to hide score table, "2" to show score table, "r" to start or stop recording, "h" for help subwindow, "a" and "m" to switch between automatic and manual mode, esc to exit.

fmo-desktop --camera 0 --demo

Minimalistic FMO detection.

fmo-desktop --camera 0 --tutdemo

Warning: starts recording by default, --no-record to fix it.

While running different modes switched by:

0 - default with recorded videos

1 - all detection for every frame

2 - detection steps: input frame, difference image, distance transform and local maxima, detections

3 - shows only the last frame where FMOs occurred and current frame in the corner

4 - shows frame which had the largest amount of FMOs during last 10 seconds

fmo-desktop --camera 0 --removal

FMO removal.

fmo-desktop --camera 0 --debug

While running: "d" for difference image, "i" for thresholded, "t" for distance transform, "o" for original image, etc.

Parameters

--exposure <float>

Set exposure value. Should be between 0 and 1. Usually between 0.03 and 0.1.

--fps <int>

Set number of frames per second.

--p2cm <float>

Set how many cm are in one pixel on object. Used for speedm estimation. More dominant than --radius.

--dfactor <float>

Differential image threshold factor. Default 1.0. Suggested value for FMO dataset is 0.45.

--radius <float>

Set object radius in cm. Used for speed estimation. Used if --p2cm is not specified. By default used for tennis/floorball: 3.6 cm.

To run for a specific video

fmo-desktop --input --demo

Examples

Help

fmo-desktop --help

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.