机器视觉学习系列二:敏感图像识别
2015-06-27 22:02
225 查看
项目背景:
本项目用于互联网上敏感图像(其实就是色情图像)的过滤,类似绿坝-花季护航的功能,保护青少年免受黄毒侵害,呵呵,对于小狼们来说,肯定恨死这块软件了。
色情图像和人体艺术的区分?前者会勾起人们的欲望,后者会给人美感;
色情图像的最典型特征是人体的关键部位(性器官和胸)处于整幅图的显著位置(中心位置);
技术方案:
提取敏感图像的相关特征,使用SVM 分类器进行分类;对于大头贴之类人脸图像,额外判断进行滤除;
软件:VS2010+opencv2.0
具体步骤:
1、对图像进行光照补偿;尝试过灰度世界假设、参考白、gamma、同态滤波、直方图均衡、基于视网膜进行校正等算法,最终效果不是很理想,针对颜色丰富的图像,以上算法进行校正效果不错,但对于色调单一的图像(本文的色情图像),效果很一般,有一些好的图片会被校正坏的;
2、肤色分割,主要基于肤色在不同颜色空间的聚类特点,比较快、好的颜色空间是YUV和Ycbcr,归一化rgb空间也不错吧,形成二值图像;
3、统计二值图的几何特征,主要是:占空比、连通区域密度、孔洞数目、最小外接矩形占空比等特征(还有记不清了);
4、送入SVM,进行预测;
5、对于判为色情的图像,检测人脸,有人脸的更改为非色情图像;
这种方法对于不偏色的色情图像,也能识别到85%左右,对于米黄色的物体,易出现误检,这是所有基于颜色方法的通病;
当时也尝试了选取典型的胸和性器官作为正样本,基于harr特征和adaboost进行训练,也有一定的效果,但是速度不是很快,而且互联网的图像特别多,
经常处理不完,缓存很多图像;
总结:色情图像识别很难做的很准,但是如果用它来搜敏感图像,到时很不错,呵呵
以今天的眼光来看,到时可以采用类似谷歌或百度的以图搜图技术,加上图像的指纹特征,应该可以改进效果吧;如果采用显著区域分割技术,也许效果更好吧。
本文就不附图了,时间很长了,有些地方记不清了,写的不好地方请包涵,欢迎交流指正。
本项目用于互联网上敏感图像(其实就是色情图像)的过滤,类似绿坝-花季护航的功能,保护青少年免受黄毒侵害,呵呵,对于小狼们来说,肯定恨死这块软件了。
色情图像和人体艺术的区分?前者会勾起人们的欲望,后者会给人美感;
色情图像的最典型特征是人体的关键部位(性器官和胸)处于整幅图的显著位置(中心位置);
技术方案:
提取敏感图像的相关特征,使用SVM 分类器进行分类;对于大头贴之类人脸图像,额外判断进行滤除;
软件:VS2010+opencv2.0
具体步骤:
1、对图像进行光照补偿;尝试过灰度世界假设、参考白、gamma、同态滤波、直方图均衡、基于视网膜进行校正等算法,最终效果不是很理想,针对颜色丰富的图像,以上算法进行校正效果不错,但对于色调单一的图像(本文的色情图像),效果很一般,有一些好的图片会被校正坏的;
2、肤色分割,主要基于肤色在不同颜色空间的聚类特点,比较快、好的颜色空间是YUV和Ycbcr,归一化rgb空间也不错吧,形成二值图像;
3、统计二值图的几何特征,主要是:占空比、连通区域密度、孔洞数目、最小外接矩形占空比等特征(还有记不清了);
4、送入SVM,进行预测;
5、对于判为色情的图像,检测人脸,有人脸的更改为非色情图像;
这种方法对于不偏色的色情图像,也能识别到85%左右,对于米黄色的物体,易出现误检,这是所有基于颜色方法的通病;
当时也尝试了选取典型的胸和性器官作为正样本,基于harr特征和adaboost进行训练,也有一定的效果,但是速度不是很快,而且互联网的图像特别多,
经常处理不完,缓存很多图像;
总结:色情图像识别很难做的很准,但是如果用它来搜敏感图像,到时很不错,呵呵
以今天的眼光来看,到时可以采用类似谷歌或百度的以图搜图技术,加上图像的指纹特征,应该可以改进效果吧;如果采用显著区域分割技术,也许效果更好吧。
本文就不附图了,时间很长了,有些地方记不清了,写的不好地方请包涵,欢迎交流指正。
相关文章推荐
- SSH免密码登录的原理
- 也谈Theano在Win7 x64和Python 3.4下的安装
- Hibernate操作步骤
- MATLAB - SQL 连接技术
- oracle设定用户密码使用时间
- oracle设定用户密码使用时间
- oracle设定用户密码使用时间
- oracle设定用户密码使用时间
- Struts 2 标签使用的总结
- 机器视觉学习系列一:线结构光三维测量重建
- C语言——预处理命令(宏)有些问题,宏和函数都可以
- 信念与荣耀——黑客们的故事(连载四)他们的世界
- Python中实现数组功能
- Java IO流 IO流的选择
- leetCode-Add Binary(c++)
- 连接Access数据库查询语句
- KCXP测试题目
- 深入理解Java类加载器(1):Java类加载原理解析
- 参数估计(Parameter Estimation):频率学派(最大似然估计MLE、最大后验估计MAP)与贝叶斯学派(贝叶斯估计BPE)
- vs2008 error C2440: “static_cast”: 无法从“void (__thiscall CMainFrame::* )(void)”转换为“LRESULT (__thiscal