• Embed Doc
  • Readcast
  • Collections
  • CommentGo Back
Download
 
Blob Tracking Modules
Table of contents
Blob Tracking Modules ...................................................................................................................1Table of contents ..........................................................................................................................1General Description .....................................................................................................................1Data structures description ...........................................................................................................2CvBlob .....................................................................................................................................2CvBlobList ...............................................................................................................................3Modules descriptions ...................................................................................................................3CvFGDetector ..........................................................................................................................3CvBlobDetector .......................................................................................................................4CvBlobTracker .........................................................................................................................5CvBlobTrackerList ..............................................................................................................6CvBlobTrackerOne ..............................................................................................................6CvBlobTrackGen .....................................................................................................................7CvBlobTrackPostProc ..............................................................................................................7CvBlobTrackPostProcList ...................................................................................................8CvBlobTrackPostProcOne ...................................................................................................8
General Description
The blob tracking system includes 5 modules as depicted on diagram.
 
 FG/BGDetectionModuleBlobTrackingModuleTrajectory GenerationModuleFramesBlob EnteringDetectionModuleTrajectoryPostProcessingModuleBlobs(Id,Pos,Size)Blob position correction
This pipeline is called “Blob Tracking Auto” module and implemented as individual module inBlobTrackingAuto.cpp and BlobTrackingAuto.h files.
“FG/BG Detection”
module performs foreground/background segmentation for each pixel.
 Blob Entering Detection
” module uses the result (FG/BG mask) of “FG/BG Detection” moduletodetect new blobobject entered to a scene on each frame. 
“Blob Tracking”
module initialized by “Blob Entering Detection” results and tracks eachnew entered blob.
“Trajectory
(轨迹)
Generation”
module performs a saving function. It collects all blobs positions and save each whole blob trajectory to hard disk when it finished (for exampletracking is lost).
“Trajectory PostProcessing”
module performs a blob trajectory smoothing function. Thismodule is optional and can not be included in specific pipeline.The blob tracking system includes 4 modules as depicted on diagram.
Data structures description
CvBlob
It is a simple structure
 
describing a blob position, size and ID.
typedef structCvBlob { floatx,y;/* blob position */  floatw,h;/* blob sizes */
 
 intID;/* blbo ID */  }CvBlob;
CvBlobList
This is a class to collect set of blobs. This set can be trajectories or (for example) list of blob oncurrent frame. So this list is the indexed array and each element of this array can be addressed bykey.
classCvBlobSeq{public:CvBlobSeq(intBlobSize =sizeof(CvBlob));  virtual~CvBlobSeq(); virtualCvBlob* GetBlob(intBlobIndex);  virtualCvBlob* GetBlobByID(intBlobID);  virtual voidDelBlob(intBlobIndex);  virtual voidDelBlobByID(intBlobID);  virtual voidClear();  virtual voidAddBlob(CvBlob* pB);  virtual intGetBlobNum(); };
 Now this class is implemented using CvSeq
(可动态增长的序列块)
from OpenCV. Initiallythis class was implemented to simplify blob list creation and manipulation.
Modules descriptions
CvFGDetector 
 FramesFG mask FG/BGDetectionModule
This is virtual class, describing interface of “FG/BG Detection” module.The interface is defined in videomining\Surveillance\src\BG-FG-Estimation\PM\BG_FG_Estimation.h file. If someone wants to create own module, he mustcreate a class inherited from CvFGDetector and implement all virtual methods declared inCvFGDetector.
 Input Data:
Image of current frame.
Output Data:
FG/BG mask of current frame.
classCvFGDetector{public: virtualIplImage* GetMask() = 0;
of 00

Leave a Comment

You must be to leave a comment.
Submit
Characters: ...
You must be to leave a comment.
Submit
Characters: ...