Coder Social home page Coder Social logo

rayanwang / crosscameratrackingframework Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 3.0 128.72 MB

This is a cross camera object tracking system for visual surveillance.

License: MIT License

Makefile 0.01% C++ 99.76% C 0.19% Cuda 0.02% Perl 0.01% M4 0.01% Batchfile 0.01% Shell 0.01%
tracking-algorithm cross-camera tld

crosscameratrackingframework's Introduction

README

This README would normally document whatever steps are necessary to get your application up and running.

Module intriduction

  • This project include three parts:

    1. TrackingManager
    2. Tracking algorithm module "TrackAlgTLD".
    3. An analyzer "AnalyzerTK" for showing the result.
  • TrackingManager:

    • Responsible for maintaining all resources that will be dispatched to all cameras(e.g. IP camera) in the system, including the object feature transferring and the data format definition etc.
  • The Tracking Algorithm "TrackAlgTLD" implemented with an open source framework TLD(tracking-learning-detection) at present, and was built as a library for easy to replace.

  • Other tracking algorithm implemented by yourself can replace the tracking module.

    • Just build your tracking library with the name prefix "TrackAlg", and don't forget to inherit the TrackAlg class. For instance, in this case, "TrackAlgTLD".
  • Finally, AnalyzerTK will invoke the tracking APIs for the intra camera tracking and showing the results by use of openCV.

  • If you want to build a cross camera system, please execute AnalyzerTK once for each camera and input different camera IDs and URLs as parameters described in the section of parameter settings. Each AnalyzerTK will transfer the feature of targets to all other tracking process for re-identification.

How do I get set up?

  • To run this system, make sure that you have already installed openCV (building with gstreamer and without ffmpeg, since ffmpeg has a socket buffer only 64KB and may cause the packet loss) version with 2.4.9 or later.
  • First, you should run TrackingManager to create the resource for the system.
  • Ex: TrackingManager -t 2 -m 4, which "-t" means how many cameras will be used and "-m" the max number of targets each camera can support.
  • After running TrackingManager, you can execute AnalyzerTK for tracking.

Parameter settings for AnalyzerTK

  • "-c" : give the camera ID in integer.
  • "-k" : set up an interval in ms to keep tracking an object which disappeared from that moment.
  • "-l" : the detection model file path trained by adaboost(openCV).
  • "-r" : describe which tracking algorithm will be loaded (in this system will be "TLD").
  • "-v" : set up the IP camera URL.

For imrpovement

  • Now, this algorithm seems not good for object re-identification in multi-object tracking since its feature is not robust(only color histogram). I will try to add some new features or use other algorithm such as ELM for making it better.

  • The entry/exit zone mapping function(algorithm) for cross camera tracking will be implemented in this module.

  • This framework is just implemented under the local host scenario at present and will be built with a decentralized architecture.

crosscameratrackingframework's People

Contributors

rayanwang avatar

Stargazers

 avatar  avatar

Watchers

 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.