Background averaging not working I'm working on a problem where I'm trying to use background averaging to see what the frame looks like in a beehive behind the bees. I've been trying to use standard averaging (I take an image every 1 or 4 seconds over the course of my 3 hour video) as well as other techniques like mog and mog2. The problem is that there is an extremely high density of bees in the centre that is tightly packed and barely moving, so while I end up with a great view of the background around the middle, the centre turns into a bit of a smear like this:



Does anyone have any advice on what I could do to improve things? I spoke to a researcher who suggested something called "sparse coding" as one possible options and I'm curious if OpenCV has anything like that or if anyone knows of any other techniques I could try.
I would try techniques related to low-rank approximations of your data $X$. For instance, the paper GoDec: Randomized Low-rank &amp; Sparse Matrix Decomposition in Noisy Case attempts to decompose
$$X = L + S + G$$
with a low-rank part ($\mathrm{rank}(L) \le r$), a sparse part ($\mathrm{card}(S) \le k$) and a residual $G$. 

It has been employed for background modeling, with backgrounds related to the low-rank part, plus sparse en independent objects. 



Some video demos are:


GoDec and Robust PCA for background modeling on Escalator
GoDec and Robust PCA for background modeling on Hall


There are alternatives in the field of robust matrix factorization, and I understand it as an instance of sparse coding.