监控视频长度压缩算法

帧差-> 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

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

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

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

原文地址:https://www.cnblogs.com/luoyinjie/p/11551724.html