Track & Assign Unique IDs to Objects in Video c#

2019-02-20 10:47发布

问题:

I am new to Computer Vision and i am using EmguCV library. My goal is to track and assign unique IDs to all objects in a video and i'm almost lost!!.

Approach 1: for each frame in the video:

  • Background subtraction using (BackgroundSubtractorMOG)
  • Get Blobs using (CvBlobDetector)
  • Track detected Blobs using (CvTracks)

The issues in this approach are:

  • The same object (ex: person) may be detected as more than one Blob and each one is assigned a different ID.
  • If the person/object left the scene or gets occluded by another object in one frame, it is assigned a new ID (lose tracking).

Approach 2: for each frame in the video:

  • Detect objects in the frame using YOLO
  • Use modern trackers in EmguCV (TLD, KCF) Trackers

The issues in this approach are:

  • How to map detected objects in YOLO to trackers in EmguCV?
  • If the person/object left the scene or gets occluded by another object in one frame, i lose tracking.
  • How to identify the same object in different frames (using color/appearance/features not the location)? what is the best method?

Any help/ideas for these approaches will be very appreciated or new approaches for tracking and ID tagging.