计算二值化图片的迭代次数

博客探讨了在神经网络进行二值化图片分类时,迭代次数与图片中不同类别像素点移动距离和之间的关系。实验结果显示,总移动距离越小,迭代次数越少,且该规律在不同实验数据中保持一致,验证了假设。此外,实验还涉及高度重合的图片,同样符合预期的迭代次数规律。
摘要由CSDN通过智能技术生成

(A,B)---m*n*k---(1,0)(0,1)

用神经网络分类A和B,让A中有9个1,B中有5个1,计算这个网络的迭代次数。

移动距离和的假设

用神经网络分类A和B,把参与分类的A和B中的数字看作是组成A和B的粒子,设分类的过程就是让A和B中的粒子互相交换位置,寻找最短移动路径的过程。而熵H与最短移动距离和成正比,迭代次数n和熵H成反比。

对二值化图片移动规则汇总

每个粒子移动一次,位置重合不移动,0不动,单次移动距离恒为1.

按照移位距离和假设,951中不重合的点有4个,因此951的移动距离和为4,而941的移动距离和为5,961的移动距离和为3.因此951的迭代次数应该小于961,大于941

961

951

941

δ

迭代次数n

迭代次数n

迭代次数n

5.00E-04

25523.99

22959.57

4.00E-04

30958.15

27774.2

3.00E-04

40262.78

35993.35

2.00E-04

59096.97

52950.71

1.00E-04

113446.1

101146.2

总移动距离

3

4

5

这次验证这一猜测

第一组实验951-953,得到数据

951

952

953

δ

迭代次数n

迭代次数n

迭代次数n

5.00E-04

23904.73

23795.07

23801.59

4.00E-04

28978.03

28937.15

29324.19

3.00E-04

38252.24

38369.51

38000.34

2.00E-04

55426.48

55361.27

55790.98

1.00E-04

106880.8

105691.6

104897.6

比较951和941,961的数据

961

951

941

δ

迭代次数n

迭代次数n

迭代次数n

5.00E-04

25523.99

23904.73

22959.57

4.00E-04

30958.15

28978.03

27774.2

3.00E-04

40262.78

38252.24

35993.35

2.00E-04

59096.97

55426.48

52950.71

1.00E-04

113446.1

106880.8

101146.2

总移动距离

3

4

5

确实得到迭代次数961>951>941,这个顺序符合假设,并且由于这几组图片的不重合点都只有4个,因此他们的迭代次数相同,这个现象也与假设一致。

所以对于二值化的图片,在网络结构相同的前提下,是可以通过计算不重合点的数量,对迭代次数的大小关系给出一个很合理的解释。

为进一步确认这一现象,又做了第二组实验,得到迭代次数

951

952

953

954

955

956

δ

迭代次数n

迭代次数n

迭代次数n

迭代次数n

迭代次数n

迭代次数n

5.00E-04

23904.73

23795.07

23801.59

24159.42

23923.14

23806

4.00E-04

28978.03

28937.15

29324.19

29142.43

29291.83

29155.65

3.00E-04

38252.24

38369.51

38000.34

38254.14

38114.63

37731.15

2.00E-04

55426.48

55361.27

55790.98

55251.35

55435.69

55622.99

1.00E-04

106880.8

105691.6

104897.6

106630

107345.4

106412.7

几组新数据是高度重合的,也同样符合预期。

再将这次的数据与前述的实验数据做比较

981

971

122

961

951

941

δ

迭代次数n

迭代次数n

迭代次数n

迭代次数n

迭代次数n

迭代次数n

5.00E-04

34219.01

28229.22

25862.05

25523.99

23904.73

22959.57

4.00E-04

41899.68

34548.15

31524.1

30958.15

28978.03

27774.2

3.00E-04

53474.56

44497.27

41011.36

40262.78

38252.24

35993.35

2.00E-04

77797.83

64693.36

59270.11

59096.97

55426.48

52950.71

1.00E-04

148175

123601.3

112397.9

113446.1

106880.8

101146.2

总移动距离

1

2

3

3

4

5

迭代次数与总移动距离之间的反比关系很清晰,也进一步验证了假设。

好的,以下是使用粒子群优化算法对图像进行灰度二值化的matlab代码: ```matlab % 读取图片 img = imread('test.jpg'); % 将图像转换为灰度图像 gray_img = rgb2gray(img); % 获取灰度图像的大小 [rows, cols] = size(gray_img); % 初始化粒子群优化算法参数 max_iter = 100; % 最大迭代次数 pop_size = 50; % 粒子群大小 w = 0.7; % 惯性权重 c1 = 1.5; % 学习因子 1 c2 = 1.5; % 学习因子 2 % 初始化粒子位置和速度 pos = rand(pop_size, 1) * 255; % 粒子位置,范围在 0~255 之间 vel = zeros(pop_size, 1); % 粒子速度 % 初始化全局最优解和每个粒子的最优解 global_best = inf; % 全局最优解 local_best = zeros(pop_size, 1); % 每个粒子的最优解 local_best_pos = zeros(pop_size, 1); % 每个粒子的最优解位置 % 开始迭代 for i = 1:max_iter % 计算适应度值(灰度值与阈值之差的平方) fitness = (gray_img - pos).^2; % 更新每个粒子的最优解和全局最优解 for j = 1:pop_size % 如果当前适应度值比最优解小,则更新最优解和最优解位置 if fitness(j) < local_best(j) local_best(j) = fitness(j); local_best_pos(j) = pos(j); end % 如果当前适应度值比全局最优解小,则更新全局最优解 if fitness(j) < global_best global_best = fitness(j); end end % 更新粒子位置和速度 for j = 1:pop_size % 更新速度 vel(j) = w * vel(j) + c1 * rand() * (local_best_pos(j) - pos(j)) + c2 * rand() * (global_best - pos(j)); % 更新位置 pos(j) = pos(j) + vel(j); % 确保位置在 0~255 之间 if pos(j) < 0 pos(j) = 0; elseif pos(j) > 255 pos(j) = 255; end end end % 将最优解作为阈值,将图像二值化 threshold = round(global_best); binary_img = gray_img > threshold; % 显示结果 subplot(1,2,1), imshow(gray_img), title('原图') subplot(1,2,2), imshow(binary_img), title('二值化图') ``` 以上代码使用粒子群优化算法对灰度图像进行二值化,输出二值化图像。其中,粒子位置表示阈值,粒子速度表示阈值的变化量。在每次迭代中,计算每个粒子的适应度值,并更新全局最优解和每个粒子的最优解。最后将全局最优解作为最终阈值,将图像二值化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

黑榆

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

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

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

打赏作者

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

抵扣说明:

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

余额充值