A method of motion detection using background subtraction and foreground motion estimation
with Python, Raspberry Pi, and Open Computer Vison (OpenCV) is proposed in this paper. Motion
detection is been a subject of study in the past, this paper will explain and implement the basic
motion detection algorithm. Automated video surveillance applications require accurate
separation of foreground and background image content. This paper presents an algorithm for
motion detection from a dynamic background scene. This project aims to overcome one of the
major drawbacks of existing method: dynamic background changes such as swinging trees,
shaking camera, change in lighting condition, and existence of similar color objects in background.
One characteristic of the method is background subtraction using the nearest neighbor method
with multiple background images. To expand the project and demonstrate an application of the
motion detection, an algorithm was implemented to track an object.