2

I am new to image processing and I'm working on a project multiple object detection(any object in frame) and tracking. I read few of the detection algorithms and thought of implemnting Gaussian mixture model for detection and tracking using kalman filter.

1) How good is GMM compared to other background subtraction methods?

2) Since GMM uses k-means to separate the foreground from the background. I have been trying to find out the optimal number of K gaussian distributions? Any method/algorithm to find K?

3) GMM detects only moving objects. How can I detect static object?

I want to implement this project using Java in ImageJ.

Any suggestions? Plz help!!

Pratul Jn
  • 69
  • 8

1 Answers1

2

I am not expert in Java but I can tell you what to do: The first mog used to perform background subtraction is in 1999. Although there are many algorithms that tried to optimize the mog but two basic problems still exist: 1- the sensitivity to changes in intensity value " light variations" is very high, 2- it is slow in adaptation which makes a trade off between detecting slow moving objects and avoiding ghosts ( holes result from moving objects) If you just started working on such problem I recommend use: vibe or any of it is extensions: vibe+, vibe++, lobster, subsense. These methods do not fit any model based on prob, this is why they are efficient.

For static objects : this is completely different problem. You can use proposals generation algorithm (edge boxes) to suggest proposals. These proposals can be classified by machine learning. You need to know that these problems still under research and there is no optimal solution

Bashar Haddad
  • 369
  • 2
  • 10
  • 1
    interesting options. I didn't know about vibe and it's extensions. Can you please share some relevant links for these ? Thank you – George Profenza Apr 02 '16 at 18:54
  • you can always stay in touch with the latest methods by checking cvpr/change detection website http://changedetection.net/ for the last two years 2012 and 2014. This is also a very interesting package avialable at GitHup (c++) https://github.com/andrewssobral/bgslibrary that has the implementation for more than 37 background subtraction methods. you can find a list of all methods and the code as well as the references. – Bashar Haddad Apr 02 '16 at 19:11
  • Awesome! Thanks for sharing! – George Profenza Apr 02 '16 at 20:35
  • Hi BH85, thanks for your answer. very helpful. I read few IEEE papers and they say that MoG is insensitive to light changes in the background. Can you plz tell more about this? – Pratul Jn Apr 02 '16 at 21:26
  • Let me be more precise. MOG is just a pdf. EM algorithm will be used to estimate the parameters of the MOG based on a given set of values. Usually, these values are the pixel values "intensity values" in background subtraction. But if other representations (features) are used like Local Binary Pattern or any normalization technique have been used to normalize the intensity values the MOG will not be sensitive any more BUT other problems will start to appear e.g detecting uniform foreground objects. As I said too many papers have been published to enhance MOG and still many Problems exist – Bashar Haddad Apr 02 '16 at 22:50
  • it is also important to distinguish between slow light variations e.g. sun rise and sun set and other kinds of noise or sudden changes. – Bashar Haddad Apr 02 '16 at 22:52
  • One example of MOG drawbacks that is related to light variations is shadow detection. MOG-, intensity-based methods will detect shadows as moving objects. MOG also has problem with camouflage. – Bashar Haddad Apr 02 '16 at 23:07