我应该遵循哪些背景扣除方法?

Which background substraction methods I should follow?

我有一个大学作业,我有一个短视频,用三种不同的方法切断背景(只保留场景中移动的部分),

所以我搜索并从 OpenCV 中找到了这个示例:https://docs.opencv.org/3.4/d1/dc5/tutorial_background_subtraction.html 所以我想这应该是第一个

还有这个:https://learnopencv.com/simple-background-estimation-in-videos-using-opencv-c-python/ 应该是眼底中位数..

我说的对吗?我很困惑,因为老师没有用英语给我们传授条件。这个算法是否符合要求的方法?或者我在哪里可以找到这些方法的示例?

有两种类型的背景扣除:

  1. 基于形态学运算
  2. 基于人工智能 (AI)

基于形态学运算

这种方法假设背景是恒定的,或者更好地说,如果背景是恒定的,它就可以正常工作。我的意思是相机稳定。

  • OpenCV 库已经为此提供了一些漂亮的函数:BackgroundSubtractorMOG2 and BackgroundSubtractorKNN 是一些著名的函数。这些功能还可以将故事保存在内存中,因此即使相机在移动(背景变化),它们也可以更新它。
  • 我之前也研究过这个话题,并为此设计了一个算法。这是参考的 github link for code and video 结果。

注意:这种方法最大的问题是光照

基于人工智能 (AI)

这种方法比较流行,应用广泛。商店中的许多会议应用程序也在使用这个来更改背景。这种方法基本上检测目标 objects 并掩盖它们。例如,您可以查看 Mask-RCNN。所以在检测到目标(人,车等)的掩码后,很容易改变背景。相机移动和背景变化不影响。