1.一种基于粒子群优化算法的文字形状逼近方法,其特征在于,具体按照以下步骤实施:步骤1、在官方场景文字数据集中任意下载或拍摄一张自然场景文字图像Img,图像的宽为W,高为H;
步骤2、将场景文字图像Img输入至文本检测网络模型ModelEAST,得到和场景文字图像Img大小相同的文本置信度图MW×H和检测的文本框集合R'={r′t|t∈[1,T]},其中r′t是场景文字图像Img中检测的第t个文本框,T是文本框总个数,文本框r′t中心点不变,向外进行a倍大小的尺度扩展得到扩展文本框rt,扩展文本框集合为R={rt|t∈[1,T]};对文本置信度图MW×H进行阈值分割,得到由黑白像素组成的场景文字图像Img对应的文字二值图BW×H;
步骤3、把场景文字图像Img作为输入,调用开源的求取最大稳定极值区域的Opencv库s函数mser.detectRegions(),计算得到最大稳定极值区域集合,即连通成分集合C={cj|j=1,2,…J},cj表示第j个连通成分,J表示连通成分总个数;
步骤4、定义粒子群;所述定义粒子群具体过程为:粒子群变量定义为XS,XS={X1,...,Xi,...,XI},粒子的总个数为I,Xi表示粒子群XS中的第i个粒子,在原有粒子特性的描述上增加等距信息,故Xi由N维速度矢量Xi·v、N维位置矢量Xi·p和N维等距值矢量Xi·d表示,即Xi={Xi·v,Xi·p,Xi·d},定义粒子Xi的个体历史最优变量为Pbesti;
步骤5、定义场景文字图像Img中逼近的文字多边形集合变量PS,定义扩展文本框个数计数器变量为t,PS初始化为空,即PS=NULL,t初始化为1,即t=1;
步骤6、统计扩展文本框rt中的包含的连通成分集合,即字符候选集,记为表示rt中包含的第m个连通成分;M表示rt中包含的
连通成分总个数;
步骤7、把Ct的所有 的中心点坐标作为输入,送入开源的求拟合曲线的numpy库函数polyfit(),生成拟合的一条字符中心线Lt;
步骤8、在拟合的字符中心线Lt上均匀采样N个点 以采样点 为中心,以长度r1为半径构建粒子第n维位置的变化范围 以一维变量d1和d2分别为上下限构建粒子第n维等距值的变化范围[d1,d2];
步骤9、对粒子群初始化;
步骤10、执行提出的粒子群文字形状逼近算法,输出最优粒子对应的逼近文字形状的多边形 把 加入文字多边形集合变量PS中;具体如下:步骤10.1、输入初始化后的粒子群XS;
步骤10.2、定义粒子群优化过程中的迭代绝对误差变量为Δε,Δε初始化为最大值kEmax;定义迭代次数计数器变量为k,定义粒子群的历史最优变量为Gbest,k初始化为1;
步骤10.3、粒子个数计数器变量为i初始化为1;
步骤10.4、把粒子Xi中所有位置点 的坐标作为输入,送入开源的求取拟合曲线的numpy库函数polyfit(),拟合生成一条文本的近似中心线LS;
步骤10.5、根据粒子Xi的第n维的位置信息 和等距值 按照公式(1)和(2)分别计算粒子Xi第n维位置点 处法线Ln方向上的上下两个等距点 和其中,θn是文本的近似中心线LS上 点处的切线Lq与水平正半轴之间的夹角,即θn=arctan(kn);kn是文本的近似中心线LS上 点处的切线Lq的斜率,kn由开源的计算导数的numpy库函数polyval()计算得到;
步骤10.6、把Xi的上等距点 和下等距点 按顺时针顺序相连组成逼近文字的多边形Si,即
步骤10.7、将文字二值图BW×H、扩展文字框rt、扩展文字框rt中包含的字符候选集Ct、粒子Xi对应的多边形Si作为输入,送入到适应度函数f(MW×H,rt,Ct,Si),计算得到粒子Xi对应的适应度值步骤10.8、如果迭代次数k=1,初始化粒子Xi的个体历史最优Pbesti,Pbesti=Xi,初始化粒子个体最优位置Pbesti对应的适应度值 初始化粒子群的历史最优k k
位置Gbest,Gbest为 对应的最优个体粒子,其中max()是开源的numpy中求最大值的库函数;如果迭代次数k>1,判断当前粒子的适应度值 是否大于粒子个体最优位置对应的适应度值 即是否满足 如果满足,则更新粒子个体历史最优位置Pbesti为Pbesti=Xi,更新粒子个体历史最优Pbesti对应的适应度值为如果不满足,执行步骤10.9;
步骤10.9、如果i≥I,进入步骤10.10;否则,i累加1,即i=i+1,返回步骤10.4;
k
步骤10.10、更新粒子群的历史全局最优粒子Gbest ,采用开源的求最大值的numpy库函k数ma x ( ) ,求 取粒子 群历史 全 局最优粒 子G bes t 对 应的适 应度 值k用 对应的粒子更新Gbest ;更新迭代绝对误差
Δε,
步骤10.11、定义粒子个数计数器变量为i,即i=1;
步骤1 0 .1 2、更新 粒子X i的速 度 位置 和等距 值其中c1,c2代表加速度系数,μ1,μ2是服从
[0,1]上均匀分布的随机数;Δδ是一个高斯白噪声;
步骤10.13、如果i≥I,进入步骤10.14;否则,i累加1,即i=i+1,返回步骤10.12;
步骤10.14、如果迭代次数k≥K或者迭代绝对误差Δε≤εmin,停止迭代,迭代结束时得k k到粒子群中的历史全局最优粒子Gbest ,把Gbest对应的多边形 追加进PS中;否则,k累加1,即k=k+1,返回步骤10.3;
步骤11、如果t≥T,执行步骤12;否则,t累加1,即t=t+1;返回步骤6;
步骤12、在场景文字图像Img上显示PS中的各个文字多边形。
2.根据权利要求1所述的一种基于粒子群优化算法的文字形状逼近方法,其特征在于,步骤1所述数据集为官方场景文字数据集ICDAR2015、ICDAR2017‑MLT、CTW1500、TOTAL‑TEXT和MSRA‑TD500中的任意一个。
3.根据权利要求1所述的一种基于粒子群优化算法的文字形状逼近方法,其特征在于,所述步骤2中对文本置信度图MW×H进行阈值分割具体过程为:对文本置信度图MW×H={mw×h|w∈[1,W],h∈[1,H]}进行阈值分割,设置分割阈值变量为Thr,任取MW×H中一个元素mw×h,如果元素mw×h大于等于阈值Thr,即mw×h≥Thr,则bw×h为白像素,取值为1,即bw×h=1;否则,bw×h为黑像素,取值为0,即bw×h=0,得到由黑白像素组成的场景文字图像Img对应的文字二值图BW×H,BW×H={bw×h|w∈[1,W],h∈[1,H]}。
4.根据权利要求1所述的一种基于粒子群优化算法的文字形状逼近方法,其特征在于,所述步骤9中,粒子群XS的初始化具体步骤如下:步骤9.1、定义粒子个数计数器变量为i,定义第i个粒子的维度计数器变量为n,i初始化为1,即i=1;
步骤9.2、n初始化为1,即n=1;
步骤9.3、采用开源的随机采样的numpy库函数random.uniform()在粒子第n维位置的变化范围 中随机采样一个点 把 的点坐标赋给第i个粒子的第n维位置变量即 在粒子第n维等距值的变化范围[d1,d2]中随机采样一个等距值 把 赋给第i个粒子的距离变量 即 第i个粒子的第n维速度变量 初始化为零矢量,即
步骤9.4、如果n≥N,进入步骤9.5;否则,n累加1,即n=n+1,返回步骤9.3;
步骤9.5、如果i≥I,结束粒子群初始化,输出初始化后的粒子群XS;否则,i累加1,即i=i+1,返回步骤9.2。
5.根据权利要求1所述的一种基于粒子群优化算法的文字形状逼近方法,其特征在于,步骤10.7中所述计算得到粒子Xi对应的适应度值 具体过程为:调用开源的Opencv中统计非零像素个数的库函数countNonZero(),统计文字二值图BW×H中多边形Si对应区域里的白像素个数,记为 统计BW×H中扩展文字框rt区域里的白像素个数,记为调用开源的Opencv中计算区域面积的库函数contourArea(),计算扩展文字框rt的面积,记为 计算多边形Si的面积,记为计算扩展文字框rt区域里的文字聚合度 计算多边形Si区域里的文字聚合度
统计多边形Si中包含的字符框个数
计算粒子Xi的适应度值