本申请涉及通信领域,尤其涉及一种分光器的端口占用信息获取方法、设备和存储介质。
背景技术:
分光器又称obd,是接入ftth方式的一种无源设备,一般是通信行业的运营商在家庭宽带侧需要接入使用。近年随着运营商光纤接入的快速发展,分光器作为光纤网络重要的接入点,分光器的数量增长迅猛。但是由于分光器无法回传状态信息,导致资源准确性差,记录困难,分光器竣工资料与实际现状不符等问题的出现。分光器端口的占用需要人工进行检查,人工检查费时费力,且分光器井喷式的增长,带来的维护问题日趋突出。
为了解决人工检查费时费力的问题,现有通常的做法是根据分级巡检制度,定期巡检,人工记录端口占用情况。这种方式通常需要现场安装人员到场后人工检查,导致被占用纤芯未及时反馈更新,没有进行闭环跟进管理,资源管理系统的纤芯使用情况与实际不一致,在指定接入方案时造成错误参考。
申请内容
本申请提供一种分光器的端口占用信息获取方法,解决人工检查工作量大的问题,实现分光器的端口占用信息的自动识别。
第一方面,本申请提供了一种分光器的端口占用信息获取方法,包括:
获取目标分光器的图像;其中,所述目标分光器包括若干端口;
根据二值图像从所述目标分光器的图像中确定第一图像区域;其中,所述二值图像为根据设定阈值对所述目标分光器的图像进行二值化处理得到,所述目标分光器的图像在第一图像区域以外的图像区域不包括所述端口的图像;
对所述第一图像区域的图像进行矫正;
利用端口图像模板分割矫正后的所述第一图像区域,得到所述若干端口中每个端口的图像;其中,所述端口图像模板与所述第一图像区域相似度大于第一阈值;
提取所述每个端口的图像的纹理特征;
根据所述纹理特征,确定所述目标分光器的端口占用信息。
在另一个可能的实现中,所述根据二值图像确定第一图像区域;其中,所述二值图像为根据设定阈值对所述目标分光器的图像进行二值化处理得到,包括:
根据分光器的端口的bgr特征确定所述设定阈值,根据所述设定阈值对所述目标分光器图像进行二值化处理得到所述二值图像;
对所述二值图像进行形态学膨胀处理得到膨胀处理后的图像;
对所述膨胀处理后的图像进行连通域标记,根据所述连通域标记确定连通域;
根据所述连通域确定所述第一图像区域。
在另一个可能的实现中,所述利用端口图像模板分割矫正后的所述第一图像区域,得到所述若干端口中每个端口的图像,包括:
所述端口图像模板遍历所述第一图像区域的多个子图像;
计算所述端口图像模板与所述多个子图像的相似度,所述相似度大于阈值的子图像确定为目标子图像;
所述端口图像模板分割所述目标子图像,得到所述若干端口中每个端口的图像。
在另一个可能的实现中,所述提取所述每个端口的图像的纹理特征,包括:
提取所述每个端口的图像中每个像素的lbp特征,根据所述lbp特征得到统计直方图,所述统计直方图表征所述纹理特征。
在另一个可能的实现中,所述lbp特征具有旋转不变性。
在另一个可能的实现中,所述根据所述纹理特征,确定所述目标分光器的端口占用信息,包括:
将所述纹理特征输入svm分类器,所述svm分类器输出分类结果,根据所述分类结果得到所述目标分光器的端口占用信息;其中,所述目标分光器的端口占用信息包括端口被占用状态和端口未被占用状态。
在另一个可能的实现中,所述根据二值图像从所述目标分光器的图像中确定第一图像区域;其中,所述二值图像为根据设定阈值对所述目标分光器的图像进行二值化处理得到,所述目标分光器的图像在第一图像区域以外的图像区域不包括所述端口的图像,之前还包括:
对所述目标分光器的图像进行预处理,所述预处理包括,对所述目标分光器的图像进行双线性插值处理以使所述目标分光器的图像的像素值不小于第二阈值。
在另一个可能的实现中,所述对所述第一图像区域的图像进行矫正,包括:
对所述第一图像区域的图像进行旋转投影统计,计算横纵投影的二阶梯度,确定所述二阶梯度最大值对应的旋转投影为目标旋转投影,根据所述目标旋转投影得到倾斜角度;
根据所述倾斜角度进行仿射变换得到矫正后的所述第一图像区域的图像。
第二方面,本申请提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码,执行第一方面的方法。
第三方面,本申请还提供了一种存储介质,包括:可读存储介质和存储在所述可读存储介质中的计算机程序,所述计算机程序用于实现第一方面的方法。
本申请提供的分光器的端口占用信息获取方法,基于图像识别技术实现了分光器的端口占用信息的自动识别,减少了人工检查的工作量。
附图说明
图1为本申请实施例提供的一种分光器的端口占用信息获取方法的流程图;
图2为本申请实施例提供的具有旋转不变性的lbp特征求取过程示意图。
具体实施方式
下面通过附图和实施例,对本申请的技术方案做进一步的详细描述。
本申请公开一种分光器的端口占用信息获取方法,基于图像算法、特征提取lbp算法和机器学习的svm算法自动对分光器图像进行端口占用识别。利用图像算法对分光器图像进行端口定位、旋转矫正、占用和未占用端口的算法特征提取,使用机器学习算法进行分类识别,输出分光器各端口的占用情况。下面具体描述以上构思的实施过程。
图1示出了本申请实施例提供的一种分光器的端口占用信息获取方法的流程图。可以理解,该方法流程可以由任何具有计算、处理能力的装置、设备、平台、设备集群来执行。下面描述其中各个步骤的具体实施方式。
包括以下步骤:
步骤s101、获取目标分光器的图像,其中,所述目标分光器包括若干端口。
可以理解的是,获取的目标分光器的图像为目标分光器分布有若干端口的一侧的图像,获取方式可以是拍摄得到,例如,分光器安装人员现场拍摄目标分光器分布有若干端口的一侧的图像。
步骤s102、根据二值图像从所述目标分光器的图像中确定第一图像区域;其中,所述二值图像为根据设定阈值对所述目标分光器的图像进行二值化处理得到,所述目标分光器的图像在第一图像区域以外的图像区域不包括所述端口的图像。
由于分光器的端口颜色多为较为鲜艳的蓝色或绿色,而非端口区域多为颜色较浅的颜色,例如灰白色,因此可根据分光器的端口颜色与非端口区域的颜色不同确定一个合适的设定阈值对目标分光器的图像进行二值化处理得到二值图像。即像素点的灰度值大于或等于设定阈值的设定为255,小于设定阈值的设定为0,凸显第一图像区域为高亮轮廓,而第一图像区域以外的图像区域的像素点的灰度值为0,第一图像区域以外的图像区域呈黑色背景。
上述二值图像的第一图像区域的轮廓线会因为噪声问题不连续,为了消除噪声得到第一图像区域的连续的轮廓线,对二值图像进行形态学膨胀处理得到膨胀处理后的图像。
可以理解的是,形态学指的是对象的形式和结构,或说是对象中各个部分之间的布局和相互关系,形态学和形状相关,数码形态学指的是一种对数字对象的形状的描述和分析。而膨胀就是求局部最大值的操作,核b与图形卷积,即计算核b覆盖的区域的像素点的最大值,并把这个最大值赋值给参考点指定的像素。计算公式如下:
其中,dst(x,y)为膨胀处理后的图像,element(x′,y′)为结构元素,这里使用矩形结构元素,src(x,y)为原始二值图像。
经过对二值图像进行形态学膨胀处理后我们得到了轮廓线连续的第一图像区域,还需将第一图像区域内进行连通域分析,使第一图像区域内各个连通区域找出并标记以提取第一图像区域。
连通域分析算法有多种方法,常用的两种算法为two-pass法和seed-filling种子填充法。这里以two-pass法为例介绍连通域分析确定第一图像区域。算法流程如下:
(1)第一次扫描:
访问当前像素b(x,y),如果b(x,y)==1;
a、如果b(x,y)的领域中标签都为0,则赋予b(x,y)一个新的label:
label+=1,b(x,y)=label;
b、如果b(x,y)的领域中有像素>1的像素neighbors;
①将neighbors中的最小值赋予给b(x,y),即b(x,y)=min{neighbors};
②记录neighbors中各值(label)之间的相等关系,即这些值(label)同属同一个连通区域。
(2)第二次扫描
访问当前像素b(x,y),如果b(x,y)>1,找到与label=b(x,y)同属相等关系的最小label值,赋予给b(x,y);
完成扫描后,图像中具有相同label值的像素就组成了同一个连通区域。
对标记的矩形区域进行经验合并与过滤,得到第一图像区域。
步骤s103、对第一图像区域的图像进行矫正。
例如:对第一图像区域进行旋转投影统计,计算横纵投影的二阶梯度:
其中,
查找投影的二阶梯度最大值,计算得到倾斜旋转角度θ,对图像进行仿射变换:
其中(x,y)为原始图像像素点坐标,(x′,y′)为旋转后图像的像素点坐标。
步骤s104、利用端口图像模板分割矫正后的所述第一图像区域,得到所述若干端口中每个端口的图像;其中,所述端口图像模板与所述第一图像区域相似度大于第一阈值。
现有的分光器的端口为标准模板制造,例如常见的1分8插片式分光器和1分4插片式分光器,其中,1分8插片式分光器包括1个输入端口和8个输出端口,而1分4插片式分光器包括1个输入端口和4个输出端口。因此可将各种分光器的端口的端口图像作为端口图像模板,第一图像区域与多个端口图像模板进行匹配,根据匹配到的端口图像模板分割第一图像区域,得到每个端口的图像。
在一种示例中,第一图像区域与端口图像模板匹配的方法可以是,分别计算第一图像区域与多个端口图像模板的相似度,相似度大于第一阈值的端口图像模板即为与第一图像区域匹配的端口模板。计算相似度的方法有多种,例如欧几里得距离算法、余弦相似度算法、曼哈顿距离算法等等不作限制。
确定匹配的端口图像模板后,进行遍历模板分割匹配,统计字幕版内二值内容积,确定最佳分割。例如,令端口图像模板t(m,n),在第一图像区域s(w,h)中水平平移搜索,被端口图像模板覆盖的区域为子图像sij,i、j为子图像左下角在第一图像区域s上的坐标,搜索范围是:1≤i≤w,端口个数为p个,可以用如下公式标识端口图像模板t和子图像sij的相似性:
将其归一化,得到端口图像模板匹配的相关系数:
当端口图像模板与子图像越相似,相关系数r(i,j)趋近于1,在第一图像区域s中完成全部搜索后,找出r的最大值rmax(im,jm),其对应的子图simjm即为匹配端口分割。
步骤s105、提取所述每个端口的图像的纹理特征。
具体的,提取每个端口的图像的纹理特征的方法可以是旋转局部二值模式特征计算提取。例如,对每个端口的灰度图像进行旋转局部二值模式特征计算,统计为256维的直方图。
原始的局部二值模式lbp算子定义为3×3的窗口内,以窗口中心像素为阈值,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于等于中心像素值,则该点的位置被标记为1,否则为0。这样3×3领域内的8个点经比较可产生8位二进制编码,即得到该窗口中心像素点的lbp值,并用这个值来反应该区域的纹理信息:
其中,(xc,yc)是中心像素点,ic是灰度值,ip是相邻像素值的灰度值,s是一个符合函数:
这种特征提取方法一定程度上对光照鲁棒,具有灰度不变性,特征维度低,计算速度快,但不是旋转不变的,当图像旋转,就会得到不同lbp值。故对lbp算子进行扩展,提出具有旋转不变性的lbp算子,在不断旋转的圆形领域得到一系列初始定义的lbp值,求取旋转不变的lbp的过程示意图如图2所示,图2中算子下方的数字表示该算子对应的lbp值,图2中所示的8种模式,经过旋转不变的处理,最终得到的具有旋转不变性的lbp值为15。也就是说,图2中的8种模式对应的旋转不变的lbp模式都是00001111。
s106、根据所述纹理特征,确定所述目标分光器的端口占用信息。
目标分光器的端口占用信息包括端口被占用状态和端口未被占用状态两种状态,可以利用机器学习模型对各个端口的纹理特征进行分类识别,端口为识别出占用状态或未被占用状态。
在一个示例中,机器学习模型可以为svm模型,使用机器学习的svm算法训练端口占用的正负样本的模型,将待测端口通过模型进行预测,得到预测结果和置信度;
svm算法的基本思想是求解能够正确划分训练数据集并且集合间距最大的分割超平面,超平面的方程可以写成如下形式:
xtx+b=0
其中,w为权重向量,x为训练样本,b为偏置。
训练svm的过程就是训练各样本点到这个超平面的距离:
其中||w||为超平面的范数。
在超平面确定的情况下,找出所有支持向量,然后计算出间隔margin。每个超平面都对应一个margin,目标就是找出所有margin中最大的那个值对应的超平面,这个优化问题其目标函数就可以写成:
其中y表示数据集的标签,正样本为1,负样本为-1。
那么上述问题就简化为:
s.t.y(wtx+b)-1≥0
这是一个有约束条件的优化问题,用拉格朗日乘子法来求解,并加入松弛变量,允许一些训练数据可以处于分割面错误的一侧,松弛变量ξ也应该尽可能小。
s.t.ξi≥0,yi(wtxi+b)≥1-ξi,i=1,2,…,n
对于非线性的情况,svm可以选择一个核函数k(.,.),通过将数据映射到高维空间来解决在原始空间中线性不可分的问题。
通过训练的svm分类器,可以预测输出分割端口的占用情况,以及识别置信度。
在一个示例中,为了提高图像识别的准确性,步骤s102之前还包括对目标分光器的图像预处理的步骤,具体为:
对目标分光器的图像像素进行自动化调整,按比例双线性插值到12万像素。
双线性插值处理过程如下:
其中,q为原始目标分光器的图像,f(x,y)为插值后的图像。
通过对目标分光器的图像的预处理,不需要人工干预,可以自适应进行图像像素调整。
本申请实施例的一种分光器的端口占用信息获取方法不再依赖传统的人工检查记录分光器端口状态信息,而是利用图像处理的插值、形态学膨胀算法预处理分光器图片,提取端口区域,旋转投影法以及最大二阶导校正端口区域,模式识别中的模板匹配对端口进行分割,选择lbp算法统计编码直方图进行端口特征的提取,最后利用机器学习中的svm分类器的方式来输出分光器端口的占用情况,减少人工检查的工作量,从而达到自动化的分光器端口占用识别。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执轨道,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执轨道的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。