{
 "id": "epk2rryvxh",
 "slug": "motion-detection",
 "title": "Motion detection",
 "updated": "2026-10-15",
 "topic_path": [
  {
   "id": "technology",
   "label": "Technology and the built world",
   "api_url": "https://www.edgepedia.org/api/v1/topics/technology"
  },
  {
   "id": "technology.computing",
   "label": "Computing and digital systems",
   "api_url": "https://www.edgepedia.org/api/v1/topics/technology.computing"
  },
  {
   "id": "technology.computing.ai",
   "label": "Artificial intelligence and data",
   "api_url": "https://www.edgepedia.org/api/v1/topics/technology.computing.ai"
  },
  {
   "id": "technology.computing.ai.perception_language",
   "label": "Language and vision AI",
   "api_url": "https://www.edgepedia.org/api/v1/topics/technology.computing.ai.perception_language"
  },
  {
   "id": "technology.computing.ai.computer_vision",
   "label": "Computer vision",
   "api_url": "https://www.edgepedia.org/api/v1/topics/technology.computing.ai.computer_vision"
  },
  {
   "id": "technology.computing.ai.cv_methods",
   "label": "Vision methods and geometry",
   "api_url": "https://www.edgepedia.org/api/v1/topics/technology.computing.ai.cv_methods"
  },
  {
   "id": "technology.computing.ai.cv_methods.motion_analysis",
   "label": "Motion analysis and optical flow",
   "api_url": "https://www.edgepedia.org/api/v1/topics/technology.computing.ai.cv_methods.motion_analysis"
  }
 ],
 "geo": [
  {
   "id": "geo.nongeo.t1946.technology.computing.ai.perception_language",
   "label": "Non-geographic · 1946 to 2000: Language and vision AI",
   "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946.technology.computing.ai.perception_language",
   "path": [
    {
     "id": "geo.nongeo",
     "label": "Non-geographic",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo"
    },
    {
     "id": "geo.nongeo.t1946",
     "label": "Non-geographic · 1946 to 2000",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946"
    },
    {
     "id": "geo.nongeo.t1946.technology",
     "label": "Technology and the built world",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946.technology"
    },
    {
     "id": "geo.nongeo.t1946.technology.computing",
     "label": "Computing and digital systems",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946.technology.computing"
    },
    {
     "id": "geo.nongeo.t1946.technology.computing.ai",
     "label": "Artificial intelligence and data",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946.technology.computing.ai"
    },
    {
     "id": "geo.nongeo.t1946.technology.computing.ai.perception_language",
     "label": "Language and vision AI",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946.technology.computing.ai.perception_language"
    }
   ]
  }
 ],
 "excerpt": "Motion detection is a computer vision method that identifies moving regions or objects in video by analyzing changes between frames, typically producing a binary foreground mask often converted into bounding boxes and motion alarms.",
 "snippet": "Motion detection is a computer vision method that identifies moving regions or objects in video by analyzing changes between frames, typically producing a binary foreground mask often converted into bounding boxes and motion alarms.",
 "node": "technology.computing.ai.cv_methods.motion_analysis",
 "markdown": "# Motion detection\n\nMotion detection is a computer vision method that identifies moving regions or objects in a video sequence by analyzing temporal changes between frames. Its typical output is a binary foreground mask, a per-pixel label field in which moving pixels are separated from the background; production systems often convert this mask into bounding boxes and motion alarms. Three main families of approaches exist: consecutive frame differencing, background subtraction, and optical flow, with background subtraction offering the best compromise between robustness and real-time operation for static cameras.\n\n| Key fact | Value |\n|---|---|\n| Core output | Binary motion mask (foreground label field), often post-processed into bounding boxes and alarms <sup>[1](https://inria.hal.science/inria-00545518/file/ICPR_2008.pdf)</sup><sup> • </sup><sup>[2](https://docs.roboflow.com/workflows/blocks/blocks/video-processing/motion-detection)</sup> |\n| Method families | Frame differencing, background subtraction, optical flow <sup>[3](https://ar5iv.labs.arxiv.org/html/2001.05238)</sup> |\n| OpenCV MOG2 defaults | history = 500, varThreshold = 16 (squared Mahalanobis distance), detectShadows = true <sup>[4](https://docs.opencv.org/5.0/main_modules/video_motion.html)</sup> |\n| Reference benchmark | CDnet 2014: 53 videos, 11 categories, approximately 159,000 pixel-annotated frames <sup>[5](https://ar5iv.labs.arxiv.org/html/2202.12563)</sup> |\n| Classical accuracy ceiling | F-measure above 0.86, but false positive rate on shadows above 58% for the three best methods <sup>[6](https://orbi.uliege.be/bitstream/2268/157177/1/Jodoin2014Overview.pdf)</sup> |\n| Deep learning accuracy | FgSegNet variants exceed 0.97 F-measure; BSUV-Net reaches about 0.82 at 6.4 fps on GPU <sup>[7](https://www.mdpi.com/2624-6120/7/1/14)</sup> |\n| Best unsupervised ensemble (2022 study) | F1 of 0.8487 on CDnet 2014 from 26 combined algorithms <sup>[5](https://ar5iv.labs.arxiv.org/html/2202.12563)</sup> |\n\n## How it works\n\n[Background subtraction](https://www.edgepedia.org/background-subtraction) rests on a single decision rule. For each pixel \\( s \\) at time \\( t \\), the motion label field is\n\n\\[ X_{t}(s) = 1 \\text{ if } d(I_{s,t}, B_{s}) > \\tau, \\text{ 0 otherwise} \\]\n\nwhere \\( d \\) is a distance between the current frame value \\( I_{s,t} \\) and the background model \\( B_{s} \\), and \\( \\tau \\) is a threshold; the result is the motion mask.<sup>[1](https://inria.hal.science/inria-00545518/file/ICPR_2008.pdf)</sup> The process is online and has two parts, background initialization and background maintenance (updating).<sup>[8](https://link.springer.com/article/10.1155/2010/343057)</sup>\n\nThe simplest variant, frame differencing, subtracts the pixel's intensity in the current frame from its intensity in the previous frame. It is computationally inexpensive, but it cannot detect a moving object once it stops, and it typically detects only object boundaries and the areas covered or exposed between frames.<sup>[6](https://orbi.uliege.be/bitstream/2268/157177/1/Jodoin2014Overview.pdf)</sup> Differencing also produces ghost objects at the previous location of a moved object.<sup>[9](http://www2.imm.dtu.dk/courses/02503/docs/ChangeDetectionInVideos_reduced.pdf)</sup>\n\nParametric models replace the single reference value with a statistical model per pixel. A [Gaussian mixture model](https://www.edgepedia.org/gaussian-mixture-model) compares each pixel with every component in the mixture until a matching Gaussian is found, then updates that component's mean and variance <sup>[6](https://orbi.uliege.be/bitstream/2268/157177/1/Jodoin2014Overview.pdf)</sup>; each component's weight reflects the confidence that its gray level portrays background.<sup>[8](https://link.springer.com/article/10.1155/2010/343057)</sup> The learning rate is the central trade-off: a low rate slows adaptation to sudden illumination changes, the light switch problem, and can cause widespread false foreground detections, while too-fast adaptation absorbs slowly moving foreground pixels into the background, the foreground aperture problem, producing high false negatives.<sup>[8](https://link.springer.com/article/10.1155/2010/343057)</sup>\n\n## How it is done\n\nA textbook change-detection pipeline has six steps: estimate and save a reference image, capture and pre-process the current image, perform [image subtraction](https://www.edgepedia.org/image-subtraction), threshold, filter noise, and take a decision on the difference image.<sup>[9](http://www2.imm.dtu.dk/courses/02503/docs/ChangeDetectionInVideos_reduced.pdf)</sup> Thresholding yields false negatives inside the silhouette and false positives outside it; median filtering or morphological opening removes isolated noise pixels, and morphological closing fills holes.<sup>[9](http://www2.imm.dtu.dk/courses/02503/docs/ChangeDetectionInVideos_reduced.pdf)</sup>\n\nIn [OpenCV](https://www.edgepedia.org/opencv), the canonical loop reads frames with cv::VideoCapture, creates and updates a cv::BackgroundSubtractor such as MOG2 or KNN, and displays the foreground mask; every frame serves both for the mask and for the background update, and a learning rate can be passed to the apply method.<sup>[10](https://docs.opencv.org/5.0/tutorials/others/background_subtraction.html)</sup> MOG2 defaults are history = 500, varThreshold = 16 (a threshold on the squared [Mahalanobis distance](https://www.edgepedia.org/mahalanobis-distance) between pixel and model), and detectShadows = true; KNN defaults are history = 500 and dist2Threshold = 400.0, a threshold on the squared distance between a pixel and a stored sample.<sup>[4](https://docs.opencv.org/5.0/main_modules/video_motion.html)</sup> Enabling shadow detection decreases processing speed.<sup>[4](https://docs.opencv.org/5.0/main_modules/video_motion.html)</sup>\n\nMinimal scripts differ slightly: a common tutorial pipeline assumes the first frame is pure background, computes the absolute difference, thresholds at 25, dilates, and discards contours below a minimum area, applying Gaussian smoothing over a 21 × 21 region first to suppress sensor noise.<sup>[11](https://pyimagesearch.com/2015/05/25/basic-motion-detection-and-tracking-with-python-and-opencv/)</sup>\n\nProduction blocks wrap the same core with outputs: a Roboflow MOG2 block initializes the model on the first frame, applies background subtraction, filters noise morphologically, extracts contours filtered by minimum area, and emits bounding-box detections plus a motion alarm that fires on the not-detected-to-detected transition.<sup>[2](https://docs.roboflow.com/workflows/blocks/blocks/video-processing/motion-detection)</sup>\n\n## Origin\n\nThe first known background subtraction implementation for surveillance used differencing of adjacent frames for object detection with stationary cameras.<sup>[8](https://link.springer.com/article/10.1155/2010/343057)</sup> The Pfinder system, described by C.R. Wren and colleagues in IEEE TPAMI in 1997, modeled each pixel signal in YUV space by a simple mean value updated online.<sup>[12](https://doi.org/10.1109/34.598236)</sup><sup> • </sup><sup>[8](https://link.springer.com/article/10.1155/2010/343057)</sup> Adaptive background mixture models followed <sup>[13](https://pubs.aip.org/aip/acp/article/3343/1/040071/3370360/A-systematic-review-of-moving-object-tracking-and)</sup>, and the OpenCV MOG implementation is based on a paper on background subtraction.<sup>[14](https://opencv24-python-tutorials.readthedocs.io/en/stable/py_tutorials/py_video/py_bg_subtraction/py_bg_subtraction.html)</sup> MOG2 rests on Zivkovic's 2004 and 2006 papers and selects the appropriate number of Gaussians per pixel.<sup>[14](https://opencv24-python-tutorials.readthedocs.io/en/stable/py_tutorials/py_video/py_bg_subtraction/py_bg_subtraction.html)</sup> The codebook model of Kyungnam Kim and colleagues appeared in Real-Time Imaging in 2005.<sup>[15](https://doi.org/10.1016/j.rti.2004.12.004)</sup> ViBe is the paper by O Barnich and M Van Droogenbroeck in [IEEE Transactions on Image Processing](https://www.edgepedia.org/ieee-transactions-on-image-processing), 2010.<sup>[16](https://doi.org/10.1109/tip.2010.2101613)</sup> The Wallflower system, a three-component maintainer combining pixel-level Wiener filtering, region-level filling, and frame-level change detection, was compared against eight other algorithms and handled a greater set of difficult situations.<sup>[17](http://robots.stanford.edu/cs223b04/BackgroundSubtractionMSResearch.pdf)</sup>\n\n## Variants\n\nOne survey organizes motion detection into eight families: basic, parametric, non-parametric, data-driven, matrix decomposition, prediction, motion segmentation, and machine learning approaches.<sup>[6](https://orbi.uliege.be/bitstream/2268/157177/1/Jodoin2014Overview.pdf)</sup>\n\n**Parametric models** include MOG (K = 3 to 5 Gaussians per pixel, weights representing the time proportions of colors in the scene), MOG2, and GMG, which combines statistical background estimation with per-pixel Bayesian segmentation, uses the first 120 frames by default for modeling, and weights newer observations more heavily; <sup>[14](https://opencv24-python-tutorials.readthedocs.io/en/stable/py_tutorials/py_video/py_bg_subtraction/py_bg_subtraction.html)</sup>\n\n**Non-parametric models** include KDE, which builds a Parzen-window estimate of each background pixel's probability density over N previous frames and labels a pixel foreground when its probability falls below a threshold <sup>[1](https://inria.hal.science/inria-00545518/file/ICPR_2008.pdf)</sup>, and sample-consensus methods such as ViBe and PBAS, in which a pixel is declared foreground if it is not close to a sufficient number of background samples from the past.<sup>[6](https://orbi.uliege.be/bitstream/2268/157177/1/Jodoin2014Overview.pdf)</sup> ViBe also introduced spatial diffusion, in which a background value is diffused into a neighboring pixel's model.<sup>[6](https://orbi.uliege.be/bitstream/2268/157177/1/Jodoin2014Overview.pdf)</sup> The recursive \\( \\sigma \\)-filter approximates the temporal median with a non-linear recursive operator plus Markov-based spatial regularization, keeping a fixed number of recursive estimates instead of a per-pixel buffer.<sup>[18](https://perso.ensta.fr/~manzaner/Publis/icvgip04.pdf)</sup>\n\n**Matrix decomposition** methods, robust PCA decomposing the data into low-rank plus sparse matrices, have been widely used since 2009 and are robust to illumination changes and dynamic backgrounds, but require batch algorithms impractical for real time.<sup>[19](https://www.cs.nccu.edu.tw/~whliao/cv2022/DNN_backgroundsubtraction.pdf)</sup>\n\n**Deep learning** methods include CNN-based segmentation by Braham and Van Droogenbroeck and others, the unsupervised BM-Unet of Tao et al. (2017), applicable to new videos without re-training, and FCFlowNet, a fully-concatenated FlowNet variant.<sup>[19](https://www.cs.nccu.edu.tw/~whliao/cv2022/DNN_backgroundsubtraction.pdf)</sup> On CDnet2014, FgSegNet variants exceed 0.97 F-measure while BSUV-Net reaches about 0.82 <sup>[7](https://www.mdpi.com/2624-6120/7/1/14)</sup>; on the RGBD SBM-RGBD benchmark, the MFCN network almost always achieves the best results in all video categories.<sup>[20](https://www.mdpi.com/2313-433X/4/5/71)</sup> Such models depend on labeled training data and are more sensitive to dynamic backgrounds and camera jitter than conventional approaches.<sup>[3](https://ar5iv.labs.arxiv.org/html/2001.05238)</sup>\n\n**Transformer-era methods** frame motion segmentation as multi-modal fusion: M³Former fuses 2D and 3D motion representations (optical flow, motion embeddings, 3D scene flow) for monocular video <sup>[21](https://arxiv.org/html/2411.19141)</sup>, and SegAnyMotion, described by Huang and colleagues in 2025, combines long-range trajectories with DINO features and SAM2.<sup>[22](https://doi.org/10.48550/arxiv.2503.22268)</sup>\n\n## Applications\n\nCDnet 2014 is the standard benchmark: 53 videos in 11 categories totaling approximately 159,000 manually pixel-annotated frames.<sup>[5](https://ar5iv.labs.arxiv.org/html/2202.12563)</sup> The 2014 release added 22 videos in five new categories (Bad Weather, Low Frame-Rate at 0.17 to 1 fps, Night, PTZ, and Air Turbulence), with only the first half of each new video's ground truth public to reduce overtuning.<sup>[23](http://jacarini.dinf.usherbrooke.ca/datasetOverview/)</sup> In the 2014 IEEE Change Detection Workshop, 14 methods were evaluated; FTSG ranked best overall (average ranking 1.82, F-Measure 0.80), ahead of SuBSENSE (0.75) and Majority Vote-3 (0.75), while the classical GMM scored 0.60 and KDE 0.58.<sup>[24](https://openaccess.thecvf.com/content_cvpr_workshops_2014/W12/papers/Wang_CDnet_2014_An_2014_CVPR_paper.pdf)</sup> A pixel-based majority vote of FTSG, SuBSENSE, and CwisarDH outperformed every individual method, indicating complementarity.<sup>[24](https://openaccess.thecvf.com/content_cvpr_workshops_2014/W12/papers/Wang_CDnet_2014_An_2014_CVPR_paper.pdf)</sup> In the 2022 study, the top-ranked unsupervised algorithms were PAWCS, SuBSENSE, WeSamBE, SharedModel, FTSG, and CwisarDRP <sup>[5](https://ar5iv.labs.arxiv.org/html/2202.12563)</sup>, and combining 26 unsupervised algorithms reached F1 0.8487, against 0.8243 for the previous best.<sup>[5](https://ar5iv.labs.arxiv.org/html/2202.12563)</sup>\n\nRuntime spans three orders of magnitude. BSUV-Net processes about 6 fps of 320 × 240 video on an NVIDIA Titan-X GPU <sup>[25](http://jacarini.dinf.usherbrooke.ca/method/808/)</sup>; motion-aware architectures MU-Net1 and MU-Net2 reach about 35 FPS on high-end GPUs, and RT-SBS-v2 runs over 30 FPS on CPU by invoking semantic segmentation only every ~10 frames alongside a fast motion detector such as ViBe.<sup>[7](https://www.mdpi.com/2624-6120/7/1/14)</sup> A semantic post-processing framework with PSPNet cuts the mean overall error rate of 34 classical algorithms by roughly 50%.<sup>[26](https://orbi.uliege.be/bitstream/2268/213419/1/Braham2017Semantic.pdf)</sup>\n\n## Limitations and alternatives\n\nRecurring failure modes include sudden illumination variations, night scenes, background movements, low frame rate, shadows, camouflage (photometric similarity of object and background), and ghosting artifacts.<sup>[6](https://orbi.uliege.be/bitstream/2268/157177/1/Jodoin2014Overview.pdf)</sup> Shadows are easily misclassified as foreground because of similar characteristics <sup>[27](https://link.springer.com/content/pdf/10.1007/s41095-016-0058-0.pdf)</sup>; even the most accurate methods, with F-measure above 0.86, show a false positive rate on shadows above 58%.<sup>[6](https://orbi.uliege.be/bitstream/2268/157177/1/Jodoin2014Overview.pdf)</sup> The Wallflower paper's canonical problem list, moved objects, time of day, light switch, waving trees, camouflage, and bootstrapping, remains a standard taxonomy.<sup>[17](http://robots.stanford.edu/cs223b04/BackgroundSubtractionMSResearch.pdf)</sup> Outdoor scenes may need multiple background models per pixel, for example one for a green leaf and one for a gray road covering the same position.<sup>[9](http://www2.imm.dtu.dk/courses/02503/docs/ChangeDetectionInVideos_reduced.pdf)</sup> A comparative test of twelve methods on CDnet (159,000 images) with seven metrics concluded there is no perfect method for all challenging cases <sup>[28](https://arxiv.org/pdf/1804.05459)</sup>, and supervised deep models still generalize poorly to the Intermittent Object Motion and PTZ categories.<sup>[7](https://www.mdpi.com/2624-6120/7/1/14)</sup> Depth data can address light switches, gradual illumination changes, shadows, and color camouflage because it is insensitive to scene color and illumination.<sup>[20](https://www.mdpi.com/2313-433X/4/5/71)</sup>\n\nWhen the camera itself moves, background subtraction fails and optical flow becomes the relevant tool: it can detect independently moving objects even in the presence of camera motion, but most optical flow methods are computationally complex and cannot run full-frame in real time without specialized hardware.<sup>[28](https://arxiv.org/pdf/1804.05459)</sup> The variational formulation of Horn and Schunck (1981) minimizes an energy with a data term and a smoothness regularization term <sup>[29](https://doi.org/10.1016/0004-3702%2881%2990024-2)</sup><sup> • </sup><sup>[30](https://iris.uniroma1.it/retrieve/3f23fbb7-2c19-4b91-8821-7082ff204f5b/Alfarano_Estimating-optical_2024.pdf)</sup>, and Lucas and Kanade's 1981 iterative registration technique is the other classical basis.<sup>[13](https://pubs.aip.org/aip/acp/article/3343/1/040071/3370360/A-systematic-review-of-moving-object-tracking-and)</sup> [Motion compensation](https://www.edgepedia.org/motion-compensation) for moving cameras registers the current frame to the background model with a 2D parametric transformation, but global estimation causes foreground false alarms from registration errors.<sup>[3](https://ar5iv.labs.arxiv.org/html/2001.05238)</sup> Event cameras, which asynchronously capture brightness changes with microsecond temporal resolution, 140 dB dynamic range, low power, and KHz bandwidth, are an emerging frame-free alternative that reduces motion blur.<sup>[31](https://www.sciencedirect.com/science/article/abs/pii/S0925231225005715)</sup>\n\nSince 2023, the field has shifted from iterative optimization pipelines toward feed-forward models. GeoMotion, built on latent 4D geometry features fused with DINOv2 and RAFT optical flow features, runs at 0.31 seconds per frame and outperforms OCLR-Flow, SegAnyMotion, RoMo, VGGT4D, and Easi3R on DAVIS2016-M, DAVIS2017, and SegTrackV2.<sup>[32](https://openaccess.thecvf.com/content/CVPR2026/papers/He_GeoMotion_Rethinking_Motion_Segmentation_via_Latent_4D_Geometry_CVPR_2026_paper.pdf)</sup> On the unsupervised side, a dual-phase framework combining enhanced Fast-ICA decomposition with hybrid Chan-Vese/Yezzi level set evolution reports an average recall of 0.9613, precision of 0.9089, and F-measure of 0.9310 on CDnet-2014, above several supervised and unsupervised baselines.<sup>[33](https://www.nature.com/articles/s41598-026-50215-9)</sup>\n\n## References\n\n1. [Review and evaluation of commonly-implemented background subtraction algorithms](https://inria.hal.science/inria-00545518/file/ICPR_2008.pdf)\n2. [Motion Detection block, Roboflow Workflows documentation](https://docs.roboflow.com/workflows/blocks/blocks/video-processing/motion-detection)\n3. [Moving Objects Detection with a Moving Camera: A Comprehensive Review](https://ar5iv.labs.arxiv.org/html/2001.05238)\n4. [Motion Analysis, OpenCV API documentation](https://docs.opencv.org/5.0/main_modules/video_motion.html)\n5. [An exploration of the performances achievable by combining unsupervised background subtraction algorithms](https://ar5iv.labs.arxiv.org/html/2202.12563)\n6. [Overview and Benchmarking of Motion Detection Methods](https://orbi.uliege.be/bitstream/2268/157177/1/Jodoin2014Overview.pdf)\n7. [Comparative Study of Supervised Deep Learning Architectures for Background Subtraction and Motion Segmentation on CDnet2014](https://www.mdpi.com/2624-6120/7/1/14)\n8. [Background Subtraction for Automated Multisensor Surveillance: A Comprehensive Review](https://link.springer.com/article/10.1155/2010/343057)\n9. [Change detection in videos (DTU course textbook chapter)](http://www2.imm.dtu.dk/courses/02503/docs/ChangeDetectionInVideos_reduced.pdf)\n10. [How to Use Background Subtraction Methods, OpenCV Tutorials](https://docs.opencv.org/5.0/tutorials/others/background_subtraction.html)\n11. [Basic motion detection and tracking with Python and OpenCV, PyImageSearch](https://pyimagesearch.com/2015/05/25/basic-motion-detection-and-tracking-with-python-and-opencv/)\n12. [C.R. Wren and colleagues (1997). Pfinder: real-time tracking of the human body. IEEE Transactions on Pattern Analysis and Machine Intelligence.](https://doi.org/10.1109/34.598236)\n13. [A systematic review of moving object tracking and identification techniques (AIP Conference Proceedings, 2025)](https://pubs.aip.org/aip/acp/article/3343/1/040071/3370360/A-systematic-review-of-moving-object-tracking-and)\n14. [Background Subtraction, OpenCV-Python Tutorials](https://opencv24-python-tutorials.readthedocs.io/en/stable/py_tutorials/py_video/py_bg_subtraction/py_bg_subtraction.html)\n15. [Kyungnam Kim and colleagues (2005). Real-time foreground–background segmentation using codebook model. Real-Time Imaging.](https://doi.org/10.1016/j.rti.2004.12.004)\n16. [O Barnich, M Van Droogenbroeck (2010). ViBe: A Universal Background Subtraction Algorithm for Video Sequences. IEEE Transactions on Image Processing.](https://doi.org/10.1109/tip.2010.2101613)\n17. [Wallflower: Principles and Practice of Background Maintenance](http://robots.stanford.edu/cs223b04/BackgroundSubtractionMSResearch.pdf)\n18. [Robust motion detection using the σ-filter (ICVGIP 2004, Manzanera)](https://perso.ensta.fr/~manzaner/Publis/icvgip04.pdf)\n19. [Deep neural network concepts for background subtraction: A systematic review and comparative evaluation](https://www.cs.nccu.edu.tw/~whliao/cv2022/DNN_backgroundsubtraction.pdf)\n20. [Background Subtraction for Moving Object Detection in RGBD Data: A Survey](https://www.mdpi.com/2313-433X/4/5/71)\n21. [On Moving Object Segmentation from Monocular Video with Transformers (M³Former)](https://arxiv.org/html/2411.19141)\n22. [Huang, Nan and colleagues (2025). Segment Any Motion in Videos. arXiv (Cornell University).](https://doi.org/10.48550/arxiv.2503.22268)\n23. [Change detection benchmark web site, dataset overview](http://jacarini.dinf.usherbrooke.ca/datasetOverview/)\n24. [CDnet 2014: An Expanded Change Detection Benchmark Dataset](https://openaccess.thecvf.com/content_cvpr_workshops_2014/W12/papers/Wang_CDnet_2014_An_2014_CVPR_paper.pdf)\n25. [Change detection benchmark web site, BSUV-Net method results](http://jacarini.dinf.usherbrooke.ca/method/808/)\n26. [Semantic Background Subtraction](https://orbi.uliege.be/bitstream/2268/213419/1/Braham2017Semantic.pdf)\n27. [An evaluation of moving shadow detection techniques](https://link.springer.com/content/pdf/10.1007/s41095-016-0058-0.pdf)\n28. [Comparative study of motion detection methods for video surveillance systems (J. Electron. Imaging 26(2), 023025, 2017)](https://arxiv.org/pdf/1804.05459)\n29. [Determining optical flow (Artificial Intelligence, 1981)](https://doi.org/10.1016/0004-3702%2881%2990024-2)\n30. [Estimating optical flow: A comprehensive review of the state of the art](https://iris.uniroma1.it/retrieve/3f23fbb7-2c19-4b91-8821-7082ff204f5b/Alfarano_Estimating-optical_2024.pdf)\n31. [Survey paper Event-based optical flow: Method categorisation and review of techniques that leverage deep learning](https://www.sciencedirect.com/science/article/abs/pii/S0925231225005715)\n32. [GeoMotion: Rethinking Motion Segmentation via Latent 4D Geometry (CVPR 2026)](https://openaccess.thecvf.com/content/CVPR2026/papers/He_GeoMotion_Rethinking_Motion_Segmentation_via_Latent_4D_Geometry_CVPR_2026_paper.pdf)\n33. [An unsupervised dual-phase framework combining statistical separation and hybrid level set evolution for robust motion detection and segmentation in intelligent video surveillance (Scientific Reports)](https://www.nature.com/articles/s41598-026-50215-9)\n\n---\n*Topic: Encyclopedia › Technology and the built world › Computing and digital systems › Artificial intelligence and data › Language and vision AI › Computer vision › Vision methods and geometry › Motion analysis and optical flow*\n\n*Initially written Sep 29, 2026 · Edited: Oct 15, 2026*\n\n*Copyright 2026 EdgeChat AI, a subsidiary of Biostate AI.*\n\nLicense: Edgepedia Community License 1.0, https://www.edgepedia.org/edgepedia/license\n",
 "same_as": [],
 "url": "https://www.edgepedia.org/motion-detection",
 "markdown_url": "https://www.edgepedia.org/motion-detection.md",
 "license": {
  "name": "Edgepedia Community License 1.0",
  "url": "https://www.edgepedia.org/edgepedia/license",
  "summary": "Free with credit, commercial use included. AI training is open to everyone. For other uses, organizations over USD 100M in revenue or 100M monthly users license separately.",
  "spdx": "LicenseRef-Edgepedia-Community-1.0"
 },
 "credit": "\"Motion detection\", Edgepedia (EdgeChat), https://www.edgepedia.org/motion-detection. Edgepedia Community License 1.0.",
 "credit_md": "\"[Motion detection](https://www.edgepedia.org/motion-detection)\", Edgepedia (EdgeChat), [https://www.edgepedia.org/motion-detection](https://www.edgepedia.org/motion-detection). [Edgepedia Community License 1.0](https://www.edgepedia.org/edgepedia/license).",
 "credit_html": "\"<a href=\"https://www.edgepedia.org/motion-detection\">Motion detection</a>\", Edgepedia (EdgeChat), <a href=\"https://www.edgepedia.org/motion-detection\">https://www.edgepedia.org/motion-detection</a>. <a href=\"https://www.edgepedia.org/edgepedia/license\">Edgepedia Community License 1.0</a>.",
 "speakable": "Motion detection is a computer vision method that identifies moving regions or objects in video by analyzing changes between frames, typically producing a binary foreground mask often converted into bounding boxes and motion alarms."
}
