Matlab video processing of Contracting tissues. how to analyze movement?
You could try a simple non-linear denoising filter (3x3 or 5x5 median filter) on your image sequence to make your detection more robust to noise ; but I get the feeling that the moving details on these images or quite thin and that too much filtering would harm your detection. And it looks like you are already thresholding the images before comparison, so the only noise that matters here are pixels moving above and below the threshold at each frame.

To get a beating rate you could also compute the auto-correlation of the sequence. It will show a secondary maximum at the beating rate. The autocorrelation is actually an interesting representation for your task because:


A very regular beat will mean a very sharp secondary peak on the AC sequence ; while a more irregular beat will show a flattened, spread out secondary peak in the AC sequence.
The ratio of the autocorrelation secondary peak to the first peak ($r_0$) can be used as a good measure of beat strength.


But back in time domain you could also consider:


The kurtosis of the sequence as a measure of "peakedness" (and thus beat strength). Other measures of peakedness include the ratio of geometric mean to arithmetic mean.
The standard deviation of the time intervals between peaks as a measure of beat regularity. The downside is that you will have to detect peaks, which will be a bit imprecise in your case especially given the low temporal resolution of your data (and this is why I thought about doing things from the AC function first!)