本发明涉及一种图像处理技术,特别涉及一种基于人工鱼群算法的显微镜自动对焦窗口选择方法。
背景技术:
基于显微镜系统的自动对焦方法易于实现,而对焦窗口的选取是自动对焦方法的重要部分。选择合适的对焦窗口,即选择图像细节最丰富的区域,不仅可以降低后续对焦评价函数的计算量,提高对焦过程的实时行,亦可降低背景信息对主体信息的干扰。传统的对焦窗口算法的选择窗口主要集中在图像的中心,因此当主体部分随机分布在图像上时,无法准确获得感兴趣区域,则会失焦。
技术实现要素:
本发明是针对传统自动对焦窗口选择算法不适合所有图像的问题,提出了一种基于人工鱼群算法的显微镜自动对焦窗口选择方法,将新型的人工鱼群算法运用到对焦窗口选择中,选取整幅图像中细节最丰富的区域作为调焦评价函数的评判依据,提高自动对焦的精确度和效率。
本发明的技术方案为:一种基于人工鱼群算法的显微镜自动对焦窗口选择方法,具体包括如下步骤:
1)将显微镜自动对焦的图像信息映射到人工鱼群算法中,定义人工鱼群规模x={x1,x2,...,xi,...xn},其中,x对应整幅图像,xi为欲求寻优个体的变量,对应于人工鱼的位置,i=1,…,n;初始化工鱼群算法参数:人工鱼群规模x,每条人工鱼xi的初始位置;人工鱼视野范围visual;人工鱼可移动步长step;拥挤度因子δ;人工鱼搜索的最大尝试次数try_number;当前迭代次数k;最大迭代次数kmax;
2)计算每条人工鱼的食物浓度并初始化公告板:将个体鱼群的图像转换为二值图像,根据二值图像计算人工鱼的对焦评价函数的值y=f(x),即目前人工鱼的食物浓度或称适应度值;在算法中设立公告板,存储最优解状态。初始化公告板是指,将上述所得的所有人工鱼比较得最优值,并赋予公告板;
3)引入动态权衡因子策略:对视野visual和步长step根据迭代次数实时调整,提高算法的前期搜索能力和后期收敛能力,调整如公式(1)和(2)所示:
step=step-step×α;(1)
visual=visual-visual×α;(2)
其中,α为动态权衡因子,
4)对每条人工鱼通过觅食、聚群、追尾和随机行为更新自己的位置,所有人工鱼都更新后,则生成新鱼群,完成一次迭代,选出更新后鱼群的最优解个体,与公告板进行比较,若优于公告板则取代公告板原状态,此时,公告板获得目前能搜索到全局适应度函数最大值;
5)二次初始化参数:每次迭代结束后,根据公告板中的当前最优解的位置,重置初始人工鱼群算法的最佳参数:人工鱼群规模x、对应的每条人工鱼xi的位置、最大迭代次数kmax;避开局部最优值;
6)检查终止条件:如迭代次数k≥kmax,则算法迭代结束,输出公告板中的最优解(xbest,ybest),按照得到的最佳对焦位置选取窗口,完成自动对焦中窗口选择部分,若不满足终止条件,则将k+1赋值给k,并返回执行步骤3)。
所述步骤4)中对每条人工鱼通过觅食、聚群、追尾和随机行为更新自己的位置具体方法如下:
觅食行为:设xi为人工鱼个体当前状态,对应的对焦函数值为yi;在其视野范围内随机选择一种状态xj,其对应的对焦函数值为yj,
xj=xi+visual*rand()
如果yj>yi,则按照该方向作如下运动:
其中
否则重新选择随机状态xj,继续判断适应度优劣,若反复几次,尝试次数超出最大尝试次数try_number,则执行随机行为;
聚群行为:设xi为人工鱼个体当前状态,xc为当前邻域的同伴中心位置,nf为同伴数,dij<visual,dij=||xi-xj||,人工鱼xi和xj之间的距离,n为人工鱼总数;
如果对应对焦函数值yc>yi,且
否则,执行捕食行为;
追尾行为:设xi为人工鱼个体当前状态,xj为当前领域内所有人工鱼中对焦函数值最大的个体状态,如果yj>yi,且
否则,执行捕食行为;
聚群行为和觅食行为可根据实际运用环境择优选择执行顺序;
随机行为:在视野中随机选择一个状态,然后向这个状态移动。
本发明的有益效果在于:本发明基于人工鱼群算法的显微镜自动对焦窗口选择方法,以整幅图像中细节最丰富的区域作为对焦窗口的选取依据,利用人工鱼群算法在整幅图上进行搜索,保证调焦精度的同时,有效改善效率;针对显微镜成像系统的对象的特殊性,对图像采用了二值化处理,不仅保留了原图的信息,还大大减少了处理的数据量;针对人工鱼群算法本身的收敛慢的问题,引入动态权衡因子,实时调整人工鱼的步长及视野,提高算法效率;针对人工鱼群算法局部优值的问题,每次迭代后,根据所求最优解重置初始参数,有效增强了对焦的实时性,并保证了较高的收敛速度和算法精度。
附图说明
图1为本发明基于人工鱼群算法的显微镜自动对焦窗口选择方法流程图。
具体实施方式
将人工鱼群算法和图像处理技术相结合进行自动对焦,如图1所示自动对焦的算法流程图,具体实施例如下:
1)将显微镜自动对焦的图像信息映射到人工鱼群算法中,定义人工鱼群规模x={x1,x2,...,xi,...xn},其中,x对应整幅图像,xi(i=1,…,n)为欲求寻优个体的变量,对应于人工鱼的位置。初始化工鱼群算法参数:人工鱼群规模x,每条人工鱼xi的初始位置;人工鱼视野范围visual;人工鱼可移动步长step;拥挤度因子δ;人工鱼搜索的最大尝试次数try_number;当前迭代次数k;最大迭代次数kmax。
2)计算每条人工鱼的食物浓度并初始化公告板:将个体鱼群的图像转换为二值图像,根据二值图像计算人工鱼的对焦评价函数的值y=f(x),即目前人工鱼的食物浓度(或称适应度值)。在算法中设立公告板,存储最优解状态。初始化公告板是指,将上述所得的所有人工鱼比较得最优值,并赋予公告板。(对焦评价函数用于是对图像清晰度进行评价的函数,对焦位置越好,图像边缘信息越丰富,高频分量越多,则对应的函数值大)
3)引入动态权衡因子策略:对视野visual和步长step根据迭代次数实时调整,提高算法的前期搜索能力和后期收敛能力,调整如公式(1)和(2)所示:
step=step-step×α;(1)
visual=visual-visual×α;(2)
其中,α为动态权衡因子,
4)对每条人工鱼通过觅食、聚群、追尾和随机行为更新自己的位置,所有人工鱼都更新后,则生成新鱼群,完成一次迭代,选出更新后鱼群的最优解个体,与公告板进行比较,若优于公告板则取代公告板原状态。此时,公告板获得目前能搜索到全局适应度函数最大值。
觅食行为:设xi为人工鱼个体当前状态,对应的对焦函数值为yi;在其视野范围内随机选择一种状态xj,其对应的对焦函数值为yj,
xj=xi+visual*rand()
如果yj>yi,则按照该方向作如下运动:
否则重新选择随机状态xj,继续判断适应度优劣,若反复几次,尝试次数超出最大尝试次数try_number,则执行随机行为。
聚群行为:设xi为人工鱼个体当前状态,xc为当前邻域的同伴中心位置,nf为同伴数(dij<visual,dij=||xi-xj||,人工鱼xi和xj之间的距离),n为人工鱼总数。如果对应对焦函数值yc>yi,且
追尾行为:设xi为人工鱼个体当前状态,xj为当前领域内(dij<visual)所有人工鱼中对焦函数值最大的个体状态,xj对应的对焦评价函数值为yj。如果yj>yi,且
随机行为:在视野中随机选择一个状态,然后向这个状态移动。
其中
5)二次初始化参数:每次迭代结束后,根据公告板中的当前最优解的位置,重置初始人工鱼群算法的最佳参数(人工鱼群规模x;和对应的每条人工鱼xi的位置;最大迭代次数kmax)避开局部最优值,这在相对较小的区域中提供了更准确的最佳参数。
6)检查终止条件:如迭代次数k≥kmax,则算法迭代结束,输出公告板中的最优解(xbest,ybest),按照得到的最佳对焦位置选取窗口,完成自动对焦中窗口选择部分,若不满足终止条件,则将k+1赋值给k,并返回执行步骤3)。