16178
- 收藏
- 点赞
- 分享
- 举报
关于移动侦测(Motion Detection)算法
本帖最后由 9crk 于 2014-12-27 11:31 编辑
Motion Detection 可以说是移动侦测,或者“前景识别”,主要的思想就是利用上一帧来减去下一帧,来判断是否有移动的物体。
之前本人接触过的ASC88xx 安霸A5S Hi3518a都有提供移动侦测功能,设计的主要思想,就是可以设置一个或多个ROI(报警区域),如果区域内的帧差(区域总和或方差)超过一个阈值,就执行报警。
然而,很多时候,工程师需要处理一些特殊情况,比如室内监控,突然的开关灯、日夜模式切换时的 IR-cut、转动的电风扇、夜晚闪烁的电脑网络指示灯、窗外摇动的树叶、夜晚低照度下sensor的随机噪点……
这些都是简单的帧差无法较好处理的情况。
据我所接触过的一些公司产品中,都只有最简单的帧差算法,误报的话,就用加高报警阈值的方式来做折中,但代价是降低了报警响应速度、加大了漏报率。
网上有一个开源项目motion,看其源代码也只是在帧差的基础上做了开关灯情况的检测,不过效果还可以,能将整个运动过程从进入到出去比较完整记录下来,这一点就已经是很多安防IPC做不到的了。(暂时没找到项目地址)
当这些误报或漏报对你的工程造成困扰后,你能做什么:
1.开关灯、日夜切换:
做平均计算:把一幅图像分成10*10,如果整个画面100个框中都突然具有较大帧差,则忽略报警
2.闪烁的网络指示灯:
一般情况,这个灯的面积不会太大,所以可以使用方差统计的方法来解决(面积太小,达不到报警阈值)
3.晃动的树叶、风扇
树叶、风扇这些物体都是颜色有规律,比如第一秒是绿叶,第二秒是树干、第三秒是……,总之不是绿的就是灰的,如果我给它建立一个账本,告诉这个像素点:你如果是绿色和灰色,我就让结果输出0,其他颜色,我就让结果输出1,这样的话,当有其他物体入侵时,是不是很容易得到大面积的1,而树叶不管怎么晃,都会是0 ?这就是codebook算法,事实上,还能做很多演进,比如自动学习复杂背景(如果此区域长时间(超过N秒)不断出现这几种颜色,我就让这几种颜色记录进账本,下次他们再出现,就当作背景了)。
大家有什么图像方面的问题,都可以跟帖哦。
Motion Detection 可以说是移动侦测,或者“前景识别”,主要的思想就是利用上一帧来减去下一帧,来判断是否有移动的物体。
之前本人接触过的ASC88xx 安霸A5S Hi3518a都有提供移动侦测功能,设计的主要思想,就是可以设置一个或多个ROI(报警区域),如果区域内的帧差(区域总和或方差)超过一个阈值,就执行报警。
然而,很多时候,工程师需要处理一些特殊情况,比如室内监控,突然的开关灯、日夜模式切换时的 IR-cut、转动的电风扇、夜晚闪烁的电脑网络指示灯、窗外摇动的树叶、夜晚低照度下sensor的随机噪点……
这些都是简单的帧差无法较好处理的情况。
据我所接触过的一些公司产品中,都只有最简单的帧差算法,误报的话,就用加高报警阈值的方式来做折中,但代价是降低了报警响应速度、加大了漏报率。
网上有一个开源项目motion,看其源代码也只是在帧差的基础上做了开关灯情况的检测,不过效果还可以,能将整个运动过程从进入到出去比较完整记录下来,这一点就已经是很多安防IPC做不到的了。(暂时没找到项目地址)
当这些误报或漏报对你的工程造成困扰后,你能做什么:
1.开关灯、日夜切换:
做平均计算:把一幅图像分成10*10,如果整个画面100个框中都突然具有较大帧差,则忽略报警
2.闪烁的网络指示灯:
一般情况,这个灯的面积不会太大,所以可以使用方差统计的方法来解决(面积太小,达不到报警阈值)
3.晃动的树叶、风扇
树叶、风扇这些物体都是颜色有规律,比如第一秒是绿叶,第二秒是树干、第三秒是……,总之不是绿的就是灰的,如果我给它建立一个账本,告诉这个像素点:你如果是绿色和灰色,我就让结果输出0,其他颜色,我就让结果输出1,这样的话,当有其他物体入侵时,是不是很容易得到大面积的1,而树叶不管怎么晃,都会是0 ?这就是codebook算法,事实上,还能做很多演进,比如自动学习复杂背景(如果此区域长时间(超过N秒)不断出现这几种颜色,我就让这几种颜色记录进账本,下次他们再出现,就当作背景了)。
大家有什么图像方面的问题,都可以跟帖哦。
我来回答
回答21个
时间排序
认可量排序
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
加载中···
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片![alt](url)
相关问答
-
32016-05-05 14:11:19
-
2017-11-24 15:23:07
-
2022-05-26 15:57:39
-
2016-11-04 18:42:03
-
02018-12-30 19:22:56
-
2019-05-22 09:47:35
-
102019-05-22 09:55:10
-
2017-06-28 23:14:18
-
2019-06-26 11:27:46
-
2021-03-02 21:17:31
-
2016-12-09 15:51:55
-
2020-06-03 15:44:54
-
2017-06-29 14:30:34
-
2015-02-01 23:52:53
-
2020-10-30 08:25:00
-
2016-12-16 11:33:50
-
2016-11-28 12:14:40
-
2017-06-29 14:29:35
-
2022-06-09 10:17:47
无更多相似问答 去提问
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
50如何获取vpss chn的图像修改后发送至vo
-
5FPGA通过Bt1120传YUV422数据过来,vi接收不到数据——3516dv500
-
50SS928 运行PQtools 拼接 推到设备里有一半画面会异常
-
53536AV100的sample_vdec输出到CVBS显示
-
10海思板子mpp怎么在vi阶段改变视频数据尺寸
-
10HI3559AV100 多摄像头同步模式
-
9海思ss928单路摄像头vio中加入opencv处理并显示
-
10EB-RV1126-BC-191板子运行自己编码的程序
-
10求HI3519DV500_SDK_V2.0.1.1
-
5有偿求HI3516DV500 + OV5647驱动
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认