智能优化算法应用:基于生物地理学算法与非完全beta函数的自适应图像增强算法 - 附代码
文章目录
摘要:本文主要介绍如何用生物地理学算法和非完全beta函数实现图像的自适应增强。
1.图像非线性增强
图像像素灰度变换可表示为:
I
x
y
∗
=
f
(
i
x
y
)
(1)
I_{xy}^* = f(i_{xy}) \tag{1}
Ixy∗=f(ixy)(1)
式中:I 为输出的增强图像像素点(x,y) 的灰度值;f 为非线性变换。一般对不同质量的图像采用不同的变换函数,与此对应的变换函数大致有4 类 ,如图1 所示。
图中:横坐标为原图像的灰度值;纵坐标为变换后图像的灰度。每一种变换曲线都可以被一组参数所描述。Tubbs 提出了一种归一化的非完全 Beta 函数F(u)来自动拟合图像增强的这 4 类变换曲线 。该归一化的非完全 Beta 函数 F(u) 定义为:
F
(
u
)
=
B
−
1
(
α
,
β
)
∗
∫
0
u
t
α
−
1
(
1
−
t
)
β
−
1
d
t
,
0
<
α
,
β
<
10
(2)
F(u) = B^{-1}(\alpha,\beta)*\int_{0}^{u}t^{\alpha -1}(1-t)^{\beta - 1}dt,\,0<\alpha,\beta<10 \tag{2}
F(u)=B−1(α,β)∗∫0utα−1(1−t)β−1dt,0<α,β<10(2)
其中
B
(
α
,
β
)
B(\alpha,\beta)
B(α,β)为Beta函数,表示为:
B
(
α
,
β
)
=
∫
0
1
t
α
−
1
(
1
−
t
)
β
−
1
d
t
(3)
B(\alpha,\beta) = \int_{0}^{1}t^{\alpha -1}(1-t)^{\beta -1}dt \tag{3}
B(α,β)=∫01tα−1(1−t)β−1dt(3)
通过调整 α,β 的值,就可以得到图 1 所示的各种
类型的非线性变换曲线。利用智能优化算法生物地理学算法的全局优化搜索能力来动态地确定最佳变换参数 α,β 的值,实现图像的自适应增强。
2.生物地理学算法
生物地理学算法原理请参考:https://blog.csdn.net/u011835903/article/details/108665883
3.适应度函数设计
本文利用简单的适应度函数,即图像的方差作为图像的优化函数,方差越大,代表图像的内容越丰富,图像像素值的动态范围越大。对于MxN的图像,方差计算如下:
F
C
=
1
M
∗
N
∑
x
=
1
M
∑
y
=
1
N
i
x
y
2
−
(
1
M
∗
N
∑
x
=
1
M
∑
y
=
1
N
i
x
y
)
2
(4)
FC = \frac{1}{M*N}\sum_{x=1}^{M}\sum_{y=1}^{N}i_{xy}^2 - (\frac{1}{M*N}\sum_{x=1}^{M}\sum_{y=1}^{N}i_{xy})^2 \tag{4}
FC=M∗N1x=1∑My=1∑Nixy2−(M∗N1x=1∑My=1∑Nixy)2(4)
因为生物地理学算法是寻找最小值,于是适应度函数设计如下式,将寻找最大值,变为寻找最小值。
f
i
t
n
e
s
s
=
−
F
c
fitness = -Fc
fitness=−Fc
算法步骤:
1.将输入图像归一化处理;
2.利用生物地理学算法寻优得到最佳 α , β \alpha,\beta α,β值;
3.利用最佳 α , β \alpha,\beta α,β值,对图像进行变换。
4.反归一化得到最终输出图像。
4.算法实验与结果
生物地理学算法参数设定如下:
SearchAgents_no=30; % 种群数量
Max_iteration=50; % 设定最大迭代次数
lb = 0.1; %下边界
ub = 10; %上边界
dim = 2; %维度为2,即alpha,beta
fobj = @(X) fun(X,Igray);%适应度函数
5.参考文献:
[1] 李丙春, 耿国华. 基于粒子群优化的图像自适应增强方法[J]. 计算机工程与设计, 2007(20):133-135.
[2] 施泽波. 图像增强中优化算法适应度函数设计[J]. 电光与控制, 2013, 20(005):49-52.