基于k-means聚类图像分割+lbp+pca+svm实现烟雾识别(利用matlab仿真实现)

一、算法简介

1.1 c-means聚类算法

        聚类分析是根据在数据中发现的描述对象及其关系的信息,将数据对象进行分组。目的是使组内的对象相互之间是相似的(相关的),而不同组中的对象是不同的(不相关的)。组内相似性越大,组间差距越大,说明聚类效果越好。

也就是说,聚类的目标是得到较高的类内相似度和较低的类间相似度,使得类间的距离尽可能大,类内样本与类中心的距离尽可能小。在此,我们选用k-means聚类算法。

1 .2 LBP算法

        LBP(Local Binary Pattern,局部二值模式)是一种用来描述图像局部纹理特征的算子;它具有旋转不变性和灰度不变性等显著的优点。它是首先由T. Ojala, M.Pietikäinen, 和D. Harwood 在1994年提出,用于纹理特征提取,提取的特征是图像的局部的纹理特征。

原始的LBP算子定义为在3*3的窗口内,以窗口中心像素为阈值,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0。这样,3*3邻域内的8个点经比较可产生8位二进制数(通常转换为十进制数即LBP码,共256种),即得到该窗口中心像素点的LBP值,并用这个值来反映该区域的纹理信息。

1.3 PCA算法

        PCA(Principal Component Analysis),即主成分分析方法,是一种使用最广泛的数据降维算法。其算法步骤如下:    

        1)数据中心化——去均值,根据需要,有的需要归一化——Normalized;

        2)求解协方差矩阵;

        3)利用特征值分解/奇异值分解 求解特征值以及特征向量;

        4)将特征值从大到小排序保留k个特征向量

        5)利用特征向量构造投影矩阵;

        6)利用投影矩阵,得出降维的数据。

1.4 SVM算法      

        支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;SVM还包括核技巧,这使它成为实质上的非线性分类器。SVM的的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。SVM的的学习算法就是求解凸二次规划的最优化算法。

        SVM学习的基本想法是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。如下图所示即为分类超平面,对于线性可分的数据集来说,这样的超平面有无穷多个(即感知机),但是几何间隔最大的分类超平面却是唯一的。如下图1-1SVM算法示意图

图1-1SVM算法示意图

二、算法实现

2.1 烟雾识别算法流程

        1)首先对所有图像进行预处理,假定将有烟当作正样本,将没烟看作负样本,train集的smoke文件夹改名为pos,train集的non文件夹改名为neg;同理将test集的smoke文件夹改名为pos,test集的non文件夹改名为neg。为了对所有图片进行处理,将train和test中的pos和neg中的图片全部规范命名格式为0001.jpg、0002.jpg、0003.jpg、0004.jpg、0005.jpg......。将这些图片名字提取出来分别存到“pos_list.txt、neg_list.txt、pos_test_list.txt、neg_test_li

  • 6
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 15
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

future_xio

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值