贝叶斯分类器
一 实验目的
将模式识别方法与图像处理技术相结合,掌握利用最小错分概率贝叶斯分类器进行图像分类的基本方法,通过实验加深对基本概念的理解。
二 实验原理
贝叶斯图像分类的设计是基于贝叶斯决策理论的。贝叶斯决策理论是统计模式识别的基本理论,其假设第一,各类别总体的概率分布是已知的;第二:要决策分类的类别数是一定的。贝叶斯决策理论研究了模式类的概率结构完全知道的理想情况。这种情况实际中极少出现,但提供了一个对比其它分类器的依据,即“最优”分类器。
常用的决策分类器主要有以下几种。最小错误率的贝叶斯决策规则,最小风险决策规则,NP决策规则以及极小极大决策规则。本次实验运用的主要是基于最小错误率的贝叶斯分类器。基于最小错误率的贝叶斯分类器的主要思想是:利用贝叶斯公式使得错误率最小。贝叶斯分类以贝叶斯定理为基础,通过训练大量样本来估计后验概率。
贝叶斯公式通过类条件概率密度形式的观察值,将先验概率转化为后验概率。
图像阈值分割是一种广泛应用的分割技术,利用图像中要提取的目标区域与其背景在灰度特性上的差异,把图像看作具有不同灰度级的两类区域(目标区域和背景区域)的组合,选取一个比较合理的阈值,以确定图像中每个像素点应该属于目标区域还是背景区域,从而产生相应的二值图像。本次实验利用最小错误率贝叶斯分类方法确定图像分割阈值。
图像中目标与背景有一定的交错,会产生将目标错分为背景与将背景错分为目标两类错误,通过Bayes最小错误率分类器求取“最优阈值”可令总的错误率最小。
假设目标与背景两类像素值均服从正态分布且混有加性高斯噪声,分类问题可以使用最小错分概率贝叶斯分类器来解决。
图像的混合概率密度函数可用下式表示;
图像中背景的先验概率,图像中目标的先验概率,图像中背景的概率密度,图像中目标的概率密度。
假定目标的灰度较亮,背景的灰度较暗,则有,求一分割阈值T,使分类错误率最小。
把目标错分为背景的概率可表示为,把背景错分为目标的概率可表示为,总的误差概率为,为求得使误差概率最小的阈值T, 将E(T)对T求导并令导数为0,得代换后可得,此时,若设,则有
,若还有,则。这时的最优阈值就是两类区域灰度均值,实际运算依靠迭代算法进行。
图2-1 概率密度函数
最优阈值的迭代算法:
设有一幅数字图像,混有加性高斯噪声,可表示为
此处假设图像上各点的噪声相互独立,且具有零均值,如果通过阈值分割将图像分为目标与背景两部分,则每一部分仍然有噪声点随机作用于其上,于是,目标和可表示为
迭代过程中,会多次地对和求均值,则
可见,随着迭代次数的增加,目标和背景的平均灰度都趋向于真实值。因此,用迭代算法求得的最佳阈值不受噪声干扰的影响。
三 实验步骤及程序
- 实验步骤
- 利用最优阈值对实验图像进行分割的迭代步骤为:
- (1)确定一个初始阈值,可取为图像灰度最小值与最大值和的一半。
- 式中,和为图像灰度的最小值和最大值。
- (2)利用第k次迭代得到的阈值将图像分为目标和背景两大区域,其中
- (3)计算区域和的灰度均值和。
- (4)计算新的阈值,其中
- (5)如果小于允许的误差,则结束,否则,转步骤(2)。
- 利用迭代法求得最优阈值后,仍需进行一些人工调整才能将此阈值用于实验图像的分割,这是因为,这种最优阈值仍然属于全局阈值,它利用了图像中所有像素点的信息,但当光照不均匀时,图像中部分区域的灰度值可能差距较大,造成计算出的最优阈值分割效果不理想。
2.实验程序
%基于贝叶斯分类算法的图像阈值分割
clear
clc;
Im = imread('C:\Users\mimos\Downloads\apple.jpg');
subplot(1,3,1),imhist(Im),title('直方图')
subplot(1,3,2),imshow(Im)
title('原始图像')
[x,y]=size(Im); % 求出图象大小
b=double(Im);
zd=max(max(Im)) % 求出图象中最大的灰度
zx=min(min(Im)) % 最小的灰度
T=(zd+zx)/2; % T赋初值,为最大值和最小值的平均值
TT=0; %TT赋初值
S0=0.0; n0=0.0; %为计算灰度大于阈值的元素的灰度总值、个数赋值
S1=0.0; n1=0.0; %为计算灰度小于阈值的元素的灰度总值、个数赋值
allow=10; % 新旧阈值的允许接近程度
d=abs(T-TT);
count=0; % 记录几次循环
while(d>=allow) % 迭代最佳阈值分割算法
count=count+1;
for i=1:x,
for j=1:y,
if Im(i,j)<T,
S0=S0+b(i,j);
n0=n0+1;
end
if Im(i,j)>=T,
S1=S1+b(i,j);
n1=n1+1;
end
end
end
T0=S0/n0;
T1=S1/n1;
TT=(T0+T1)/2; %在阈值T下,迭代阈值的计算过程
d=abs(T-TT);
T=TT;
end
S0
d
count
T
i1=im2bw(Im,T/255); % 图像在最佳阈值下二值化
subplot(133),imshow(i1)
title('实验结果')
四 实验结果与分析
各参数如下:
zd(:,:,1) =255
zd(:,:,2) =255
zd(:,:,3) =255
zx(:,:,1) =0
zx(:,:,2) =0
zx(:,:,3) =0
S0 =64206810
d =4.3590
count =2
T =102.9470
图4-1 处理图像
利用迭代法求得最优阈值仍然属于全局阈值。由图4-1分割前后的图像可知,分割后的图像有两个灰度级,即分为目标背景两个部分。将原图中的每一个像素与分离出的阈值作比较,大于的为目标,小于的为背景。
本实验不足其一在于分割出的阈值仍然是全局阈值。全局阈值对于图像分割效果不是很好。可以考虑先对进行分割,然后对各小区域局部阈值化。其二当光照不均匀的时候,对图像的阈值分割会照成影响。可以考虑使用邻域平均法或加权平均法对图像进行平滑。可以得到更好的结果。