监控视频长度压缩算法

帧差-> I-mean(I) -->openFilter -->medianFilter + Sobel -->  psnr(sobel, black)

 

1. 帧差法+PSNR

缺点:

亮度剧烈变化检测失败,  人物静止时检测失败

 

2. 背景差分法+psnr

原图,背景图   该图误检为静帧  44

 

 

---》代码加入 abs  并且高斯滤波核设置为3X3

然鹅  然并卵

---》继续删除guassian滤波  然并卵    差分图如下

 

 

--》删除openfilter    一样  变成了43

 

--> modify code as follow  静止照片检测出错  34

        median_m = cv::Mat(minus_m.size(), CV_8U);
        for (int i = 0; i != median_m.cols*median_m.rows; ++i) {
            int of3 = i*3;
            float d = _max(minus_m.data[of3] , minus_m.data[of3] , minus_m.data[of3]);
            median_m.data[i] = (int)d;
        }

 

 

 

 ---> 增加openfilter     静帧误检消失,  但是动帧误检出现  44  

感觉使用max ( dr,dg,db )  并不能反应真实的颜色距离???

 

 

---》refreshBg  参数设置为0.04  (以前是0.1)

有误检  这么平滑的图像都会被误检???    用图片分块,然后用熵来判断是否会好一点

 

 

--》 refreshBg的时候   把后一帧进行高斯滤波    并且修改阈值为28 (改为高斯滤波后, 平均psnr会增大)

动帧检测失败, 背景噪声和人物信号同时增大了, 如何抑制背景噪声???

 

 

 ----》curr image  差分前使用3X3高斯滤波   37

然并卵  

 

 

 

---》 使用  min_psnr   8 块  

psnr  变32 

 

--》 去掉sobel滤波

same   31

 

 

--->去掉 openfilter   

same   30

 

 

--->阈值设置为32

静帧检测为了动帧   有问题

 

--》  分辨率改为320X240   

恢复openfilter   sobel  阈值恢复为29

same   32

 

 

只有这一帧检测错误,   后续通过滤波可以解决!!

 

 

 

 

 

----》发现实在是没办法,只能用大杀器深度学习了!!

深度学习比较两张图片的余弦相似度

 

posted @ 2019-09-19 18:47  洛笔达  阅读(494)  评论(0编辑  收藏  举报