Пространственно-временная фильтрация (регрессионный анализ) в OpenCV
Ну как-бы Лукас-Канаде делает именно то, что Вы описали, ищет корреляцию в окне для нескольких хороших точек. Посмотрите еще раз в сторону оптического потока, для этой задачи он должен дать весьма хорошую точность. Возможно Вы когда экспериментировали с ним, выбрали точки неудачно или параметры. Как найдете движение всех точек, можно попробовать найти движение, которое соответствует фону.
Если вам еще актуально, замечу, что в OpenCV есть функции для выделения фона , которые как раз приспособлены для тез случаев, когда он переодическ меняется.