一种视觉图像中的多类型屏幕定位方法
未命名
09-17
阅读:132
评论:0

1.本技术涉及计算机软件技术领域,特别是涉及一种视觉图像中的多类型屏幕定位方法。
背景技术:
2.随着电子制造业迅速发展,具有电子显示屏的设备已经成为各行各业的趋势。在一些领域中,从图像或者视频中识别并提取设备屏幕的精准区域已经成为了实现相关技术所需的不可或缺的一环。如屏幕内容提取,人们需要在图像中精准找到屏幕所在区域,去掉除屏幕外的其他背景才能进行下一步内容提取;又或者是在基于机器人的视觉化测试中,测试机器人需要找到测试设备的精准屏幕区域,进一步对设备中的应用程序的用户图形界面进行测试。屏幕区域定位的精准度直接影响着后续工作的准确度。
3.在图像中精准地找到屏幕区域存在许多挑战,随着科技的发展,屏幕的类型多种多样,有直角屏幕、圆角屏幕、刘海屏幕等等,进一步加大了这项工作的难度。当前已经存在一些定位屏幕区域的思路。一、基于图像色彩信息的定位方法:将输入图像进行颜色空间转换,找到满足目标颜色特征的区域后再进行识别等操作。这种定位方法仅仅考虑了较少的颜色信息,当屏幕和屏幕外的其他环境背景具有类似的颜色时,往往不能有效地找到屏幕区域。二、基于边缘的定位方法。根据目标区域与其他区域间灰度或结构等信息的差异特性,通过边缘来进行屏幕的定位。该方法往往不能找到属于屏幕区域的真正边缘,并且当部分屏幕边缘信息缺失时,利用边缘就很难有效地找到屏幕区域。三、基本的目标检测算法以及实例分割算法,如yolo和mask r-cnn等。这些算法只能识别到图像中设备屏幕的大致位置,通过算法得到的图像有很大可能还会包含屏幕外的其他环境物体,对屏幕内容提取、视觉化测试等领域的后续工作有着很大的干扰。综合来看,以上三种方法无法处理一些特殊情况,如部分屏幕边缘信息缺失、屏幕中正在显示的矩形图像与屏幕边缘贴合等情况,因此,目前在图像中识别屏幕所在区域的精准度较低。
技术实现要素:
4.基于此,有必要针对上述技术问题,提供一种能够提高在图像中识别屏幕所在区域的精准度的视觉图像中的多类型屏幕定位方法。
5.一种视觉图像中的多类型屏幕定位方法,用于在图像中识别设备屏幕并定位其所在区域,所述方法包括:
6.步骤s1:利用mask r-cnn的实例分割算法识别图像s
input
中的设备,确定所述设备所在的区域m;
7.步骤s2:对所述区域m进行处理,使所述区域m的图像包含完整设备屏幕,裁剪出包含完整设备屏幕的图像s
rough
;
8.步骤s3:对所述图像s
rough
通过边缘检测识别出多个屏幕候选轮廓,根据屏幕形状特征,运用启发式方法为所有候选轮廓拟合多边形,根据候选轮廓与其拟合的多边形的贴
合度,从大到小的顺序对候选轮廓进行排序;
9.步骤s4:根据排序后的候选轮廓,判断设备屏幕的形状类别,分别采用不同的定位算法对屏幕区域进行定位,获取屏幕四个顶点坐标,以四个顶点构成的四边形区域作为最终识别和定位的设备屏幕区域。
10.上述视觉图像中的多类型屏幕定位方法,通过利用mask r-cnn的实例分割算法识别图像s
input
中的设备,确定所述设备所在的区域m,对所述区域m进行处理,使所述区域m的图像包含完整设备屏幕,裁剪出包含完整设备屏幕的图像s
rough
,对所述图像s
rough
通过边缘检测识别出多个屏幕候选轮廓,根据屏幕形状特征,运用启发式方法为所有候选轮廓拟合多边形,根据候选轮廓与其拟合的多边形的贴合度,从大到小的顺序对候选轮廓进行排序,根据排序后的候选轮廓,判断设备屏幕的形状类别,分别采用不同的定位算法对屏幕区域进行定位,获取屏幕四个顶点坐标,以四个顶点构成的四边形区域作为最终识别和定位的设备屏幕区域。由此,实现从图像中精准定位到设备屏幕区域,提高了图像中识别屏幕所在区域的精准度。
附图说明
11.图1为一个实施例中视觉图像中的多类型屏幕定位方法的流程示意图;
12.图2是实施例中mask r-cnn算法获取屏幕区域的示意图;
13.图3是实施例中m为空时获取被测屏幕的区域示意图;
14.图4是实施例中图像预处理并获取候选轮廓示意图;
15.图5是实施例中两个轮廓及拟合多边形对比示意图;
16.图6是实施例中刘海屏幕定位的示意图;
17.图7是实施例中直角屏幕定位的特殊案例示意图;
18.图8是实施例中直角屏幕精准定位结果示意图;
19.图9是实施例中部分屏幕边缘信息缺失的屏幕定位示意图;
20.图10是实施例中非直角屏幕定位过程示意图;
21.图11是实施例中贴合度最高的四边形框b
1st
候选框示意图;
22.图12是实施例中非直角屏幕定位的结果示意图。
具体实施方式
23.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
24.在一个实施例中,如图1所示,提供了一种视觉图像中的多类型屏幕定位方法,以该方法应用于终端为例进行说明,包括以下步骤:
25.步骤s1:利用mask r-cnn的实例分割算法识别图像s
input
中的设备,确定所述设备所在的区域m。
26.其中,先构建训练数据集,数据集中每个样本是关于手机、平板电脑、笔记本电脑、台式机显示器和车载显示屏的图像,图像中包含单一设备处于开机状态的屏幕,标签是每张图像中设备类型和设备所在区域的掩膜(mask);再训练利用mask r-cnn的实例分割算法
构建的实例分割模型;然后,给定一张包含完整设备及其屏幕的图像s
input
,利用所训练的实例分割模型识别出图像s
input
中的设备,并找出该设备在图像s
input
中所处于的区域m。
27.步骤s2:对所述区域m进行处理,使所述区域m的图像包含完整设备屏幕,裁剪出包含完整设备屏幕的图像s
rough
。
28.应理解,对区域m进行处理,使其图像尽可能包含完整设备屏幕。
29.步骤s3:对所述图像s
rough
通过边缘检测识别出多个屏幕候选轮廓,根据屏幕形状特征,运用启发式方法为所有候选轮廓拟合多边形,根据候选轮廓与其拟合的多边形的贴合度,从大到小的顺序对候选轮廓进行排序。
30.步骤s4:根据排序后的候选轮廓,判断设备屏幕的形状类别,分别采用不同的定位算法对屏幕区域进行定位,获取屏幕四个顶点坐标,以四个顶点构成的四边形区域作为最终识别和定位的设备屏幕区域。
31.其中,首先判断设备屏幕的形状类别,包括直角屏幕,或圆角屏幕、刘海屏幕、拍摄时反光导致部分边缘信息缺失的屏幕等非直角屏幕,据此分别采用不同的算法对屏幕区域进行定位,获取屏幕四个顶点坐标,四个顶点构成的四边形区域即最终识别和定位的设备屏幕区域。
32.上述视觉图像中的多类型屏幕定位方法,通过利用mask r-cnn的实例分割算法识别图像s
input
中的设备,确定所述设备所在的区域m,对所述区域m进行处理,使所述区域m的图像包含完整设备屏幕,裁剪出包含完整设备屏幕的图像s
rough
,对所述图像s
rough
通过边缘检测识别出多个屏幕候选轮廓,根据屏幕形状特征,运用启发式方法为所有候选轮廓拟合多边形,根据候选轮廓与其拟合的多边形的贴合度,从大到小的顺序对候选轮廓进行排序,根据排序后的候选轮廓,判断设备屏幕的形状类别,分别采用不同的定位算法对屏幕区域进行定位,获取屏幕四个顶点坐标,以四个顶点构成的四边形区域作为最终识别和定位的设备屏幕区域。由此,实现从图像中精准定位到设备屏幕区域,提高了图像中识别屏幕所在区域的精准度。
33.在一个实施例中,所述步骤s2,包括:
34.若步骤s1中确定的所述设备所在的区域m非空,确定出所述区域m的最小外接矩形rm;
35.将所述区域m的最小外接矩形rm向外扩大n1倍,得到从图像s
input
裁剪掉设备屏幕外圈的环境干扰,得到包含完整设备屏幕的图像s
rough
;
36.若步骤s1中确定的所述设备所在的区域m为空,根据设备屏幕位于所拍摄图像居中位置的特征,按照预设的宽τ
×
w、高的τ
×
h的图像s
input
中心区域,裁剪掉所述图像s
input
中设备屏幕外圈的环境干扰,得到包含完整设备屏幕的图像s
rough
,其中,w、h分别为图像s
input
的宽度和高度,τ为裁剪比例参数,τ=0.15。
37.应理解,若步骤s1中找出的区域m非空,则找出该区域的最小外接矩形rm,为防rm未完整覆盖设备屏幕,将rm向外扩大n1倍(n1=0.15),得到从原始的图像s
input
裁剪掉设备屏幕外圈的环境干扰、尽可能包含完整设备屏幕的图像s
rough
;若步骤s1中找出的区域m为空,根据设备屏幕一般位于所拍摄图像居中位置的特征,按照预设的宽τ
×
w、高的τ
×
h的s
input
中心区域(w、h分别为图像s
input
的宽度和高度,τ=0.15),裁剪掉图像s
input
中设备屏幕外圈的环境干扰,得到尽可能包含完整设备屏幕的图像s
rough
。
38.在一个实施例中,所述步骤s3,包括:
39.分析所述图像s
rough
的分辨率是否大于1920
×
1080,若分辨率大于1920
×
1080,将所述图像s
rough
压缩到所述图像s
rough
的n2倍,获得压缩后图像,若未大于1920
×
1080,则无需压缩,再对压缩后图像或所述图像s
rough
进行二值化、高斯滤波以及开闭运算处理,得到预处理后的图像s
preprocess
,其中,n2=0.25;
40.对预处理后的图像s
preprocess
使用canny边缘检测算法检测出图像中所有边缘,通过闭运算将边缘连通,得到图像s
canny
;
41.使用轮廓提取算法提取出图像s
canny
中所有轮廓的集合c={c1,...,cn},其中,c1为第1个轮廓,cn为第n个轮廓,n为轮廓的总数;
42.统计每个轮廓ci中包含的像素点个数来计算轮廓ci的面积,从集合c中提取出一个面积最大的轮廓作为第一个屏幕候选轮廓ca,加入到候选轮廓集c
candidate
中,其中,i=1、...、n;
43.在候选轮廓ca的子轮廓中依次递进选取三个候选轮廓,其中,选取方法为在候选轮廓ca的子轮廓中选取一个面积最大的候选轮廓cb,在候选轮廓cb的子轮廓中选取一个面积最大的候选轮廓cc,在候选轮廓cc的子轮廓中选取一个面积最大的候选轮廓cd,将cb、cc、cd加入到候选轮廓集c
candidate
中,最终获得所述图像s
rough
的候选轮廓集c
candidate
={ca,cb,cc,cd};
44.利用拟合多边形算法对屏幕区域的候选轮廓集c
candidate
中的每个轮廓进行处理,拟合出轮廓对应的多边形,得到拟合多边形集合p={pa,pb,pc,pd},其中,pa为候选轮廓ca对应的多边形,pb为候选轮廓cb对应的多边形,pc为候选轮廓cc对应的多边形,pd为候选轮廓cd对应的多边形;
45.运用启发式评分函数计算候选轮廓集c
candidate
中的每个候选轮廓与对应的多边形的贴合度,并按照贴合度的大小进行排序。
46.应理解,对图像s
rough
进行预处理,可以减少图像噪音,增强设备屏幕边缘特征。
47.其中,先将过大分辨率的图像(即分辨率大于1920
×
1080的图像)进行压缩,压缩到原图的n2倍(n2=0.25);然后对压缩后图像进行二值化、高斯滤波以及开闭运算处理,得到预处理后的图像s
preprocess
。
48.应理解,图像s
rough
的分辨率没有大于1920
×
1080,则无需压缩,直接进行二值化、高斯滤波以及开闭运算处理,得到预处理后的图像s
preprocess
。
49.应理解,运用启发式评分函数对候选轮廓集c
candidate
中的每个屏幕区域候选轮廓进行评分。评分过程计算拟合出来的多边形与相应轮廓的贴合度,贴合度越高说明轮廓约接近四边形(矩形的屏幕在图像中经透视变换一般呈现为四边形),为屏幕真实轮廓的可能性越大。
50.在一个实施例中,所述第一启发式评分函数为:
[0051][0052]
α+β+γ=1,α=0.6,β=0.3,γ=0.1
[0053]
其中,为第j个拟合多边形和第j个候选轮廓的贴合度,为第j个候选轮廓和第j个多边形的面积重合比,为第j个候选轮廓和第j个多边形的周长比,为第
j个候选轮廓和第j个多边形的偏出距离比,α为面积重合比权重,β为周长比权重,γ为偏出距离比权重。
[0054]
在一个实施例中,所述第j个候选轮廓和第j个多边形的面积重合比的分析公式为:
[0055][0056]
其中,s
pj∩c
表示第j个多边形pj和对应的第j个候选轮廓cj相交区域的面积,s
pj∪c
表示第j个多边形pj和对应的第j个候选轮廓cj合并区域的面积。
[0057]
其中,面积重合比越大,两者重合的面积越大,贴合度越高;反之,两者重合的面积越小,贴合度越低。
[0058]
所述第j个候选轮廓和第j个多边形的周长比的分析公式为:
[0059][0060]
其中,l
pj
表示第j个多边形pj的周长,l
cj
表示第j个候选轮廓cj的周长。
[0061]
其中,在l
cj
》l
pj
的情况下,l
cj
作为分母,周长比越大,两者的周长差异越小,贴合度越高;反之,两者周长差异越大,贴合度越低。
[0062]
所述第j个候选轮廓和第j个多边形的偏出距离比的分析公式为:
[0063][0064]
其中,dj为拟合多边形pj的各个像素点(xv,yv)和距离候选轮廓cj轮廓线上最近点(x
near
,y
near
)的偏出距离,g为拟合多边形pj的像素点个数,λ为偏出距离权重,μ为最小偏出距离,dk为拟合多边形pk的各个像素点(xj,yj)和距离候选轮廓ck轮廓线上最近点(x
near
,y
near
)的偏出距离,k=a、b、c、d。
[0065]
其中,dj越小,越大,说明其偏出距离越小,贴合度越高。
[0066]
在一个实施例中,所述步骤s4,包括:
[0067]
步骤41,根据排序后的候选轮廓,将最大的贴合度f
1st
与设定贴合度第一阈值ta进行比较,若f
1st
≥ta,则判断设备屏幕的形状类别为直角屏幕,若f
1st
《ta,则判断设备屏幕的形状类别为非直角屏幕。
[0068]
其中,第一阈值可以根据实际情况设定,如:ta=0.95。
[0069]
应理解,若f
1st
≥ta,说明拟合多边形和候选轮廓贴合度较高,符合直角屏幕形状特征,则判断屏幕类型为直角屏幕;若f
1st
《ta,即使是最大的贴合度也偏低,说明拟合的多边形难以高度贴合候选轮廓,判断屏幕类型有比较高的可能性为圆角屏幕、刘海屏幕、拍摄时反光导致部分边缘信息缺失的屏幕等非直角屏幕。
[0070]
步骤42,按照贴合度的大小从高到低的顺序依次进行贴合度的比较,计算排名第一的贴合度f
1st
和排名第二的贴合度f
2nd
的贴合度差值f
diff
,f
diff
=f
1st-f
2nd
,并将贴合度差值f
diff
与设定贴合度第二阈值tb作比较;若f
diff
》tb,不再进行比较;若f
diff
≤tb,比较两者对应候选轮廓的面积,将面积大的候选轮廓更新为f
1st
;然后将更新后的第一名f
1st
和第三名f
3rd
、第四名f
4th
继续贴合度差值比较,直至f
diff
》tb或完成与第四名f
4th
的贴合度差值比较;
将贴合度f
1st
对应的候选轮廓作为真实设备轮廓c
true
。
[0071]
其中,第二阈值tb可以根据实际情况设定,如:tb=0.02。
[0072]
应理解,最高贴合度的候选轮廓很有可能就是真实屏幕轮廓。但考虑到屏幕中正在显示的矩形图像的轮廓有可能被视为候选轮廓,并且得到高贴合度而排在真实屏幕轮廓之前,通过步骤42可以排除掉屏幕中正在显示的矩形图像的轮廓。
[0073]
步骤43,在设备屏幕的形状类别为直角屏幕的情况下,将真实设备轮廓c
true
等比例还原1/n2倍,使其还原至所述图像s
rough
的大小,找出真实设备轮廓c
true
上距离其最小外接矩形四个顶点距离最近的四个点作为屏幕区域的四个顶点{p
tl
,p
bl
,p
br
,p
tr
},即定位出屏幕在图像中的区域位置。
[0074]
步骤44,在设备屏幕的形状类别为非直角屏幕的情况下,通过直线检测对真实设备轮廓c
true
的最小外接矩形区域进行处理,得到包含屏幕边界线的直线集合l={l1,...,lu},并将直线集合l中的线段组成m个四边形框集合b={b1,...,bm},计算每个四边形框与真实设备轮廓c
true
的贴合度,评分最高的四边形框b
1st
的四个顶点作为屏幕区域的四个顶点{p
tl
,p
bl
,p
br
,p
tr
},即定位出屏幕在图像中的区域位置,其中,u为直线集合中直线的总数。
[0075]
应理解,若设备屏幕类型为圆角屏幕、刘海屏幕、拍摄时反光导致部分边缘信息缺失的非直角屏幕等,一方面轮廓上的坏点可能会影响真正顶点的判断(如:屏幕边缘信息缺失导致屏幕轮廓畸形,畸形部分的点可能被选为顶点),会直接影响屏幕区域的精准定位;另一方面,对于圆角屏幕采用(402)方法,在最终定位屏幕四个顶点时会定位到圆角屏幕的拐角处,获取到的屏幕区域会小于真实屏幕区域。通过步骤44可以精准的定位出非直角屏幕在图像中的区域位置。
[0076]
在一个实施例中,所述步骤44,包括:
[0077]
将真实设备轮廓c
true
的最小外接矩形区域向外扩展n3倍,得到包含完整设备屏幕的图像s
l
,利用lsd直线检测算法,检测图像s
l
中的直线段,过滤掉长度小于预设长度的线段,得到包含屏幕边界线的线段集合l;
[0078]
使用基于角度差值和端点距离的直线合并算法将线段集合l中处于一条直线上的线段合并,得到合并后的线段集合l
merge
;
[0079]
利用线段集合l
merge
中的线段组成角结构,将满足预设条件的角结构加入角结构集合q
orner
={q1,...,qq}中,其中,q为角结构集合中角结构的个数,预设条件为两条线段的延长线相交后形成的夹角在60-120
°
之间,且相交的交点到两条线段的最小距离小于第三阈值tc的角结构,其中,的角结构,其中,e∈1、2、
…
、q,η为距离权重,l
min
为构成角结构qe的两条线段中最短线段的长度,为角结构qe的其中一条线段,为角结构qe的另一条线段;
[0080]
将角结构集合c
orner
中的角结构组合成m个四边形框,得到四边形框集合b={b1,...,bm},对四边形框集合b中的每两个四边形框计算重叠度iou,w≠h,w、h∈1、2、
…
、m,s
bw∩bh
表示四边形框bw和四边形框bh相交区域的面积,s
bw∪bh
表示四边形框bw和四边形框bh合并区域的面积,若iou≥td,将面积小的框从b中删除,td为第四阈值;
[0081]
将对筛选后的四边形框集合b,计算四边形框集合b中每个四边形框bw与真实设备
轮廓c
true
的面积重合比和周长重合比利用第二启发式评分函数对四边形框与真实设备轮廓c
true
的贴合度进行排序,贴合度最高的四边形框b
1st
为屏幕精准区域,将四边形框b
1st
中四个顶点作为屏幕区域的四个顶点{p
tl
,p
bl
,p
br
,p
tr
},即定位出屏幕在图像中的区域位置。
[0082]
其中,n3=0.05。
[0083]
其中,将角结构集合c
orner
中的角结构组合成m个四边形框的组合方式为:
[0084]
(1)初始化四边形框集合b={};
[0085]
(2)遍历角结构集合c
orner
,并初始化集合bw={},line={};将当前qe中的加入line中
[0086]
(3)找出与line有一条相同线段的角结构将新线段加入line中,将相同线段从line中删除并加入bw中
[0087]
(4)重复(3)得到找出与line同时有两条相同线段的角结构将线段加入bw中,得到(l
aw
≠l
bw
≠l
cw
≠l
dw
),将bw加入b中;
[0088]
重复(2)到(4)步骤,直到遍历结束,得到b={b1...bm}。
[0089]
应理解,对于因屏幕边界信息缺失、刘海屏幕等情况,会将屏幕边界分成至少2个线段,使用直线检测算法时,会将该边界检测为处于同一条直线上的多条线段,没有完整的屏幕边框线段。为解决此问题,使用基于角度差值和端点距离的直线合并算法将处于一条直线上的线段合并,得到合并后的线段集合l
merge
。
[0090]
应理解,若iou≥td,将面积小的框从b中删除,可删掉重复的四边形框,减少后续处理的计算量。
[0091]
在一个实施例中,所述第二启发式评分函数为:
[0092][0093]
α+β=1,α=0.7,β=0.3
[0094]
其中,为四边形框bw与真实设备轮廓c
true
的贴合度。
[0095]
其中,所述第w个四边形框bw和真实设备轮廓c
true
的面积重合比的分析公式为:
[0096][0097]
其中,表示第w个四边形框bw和真实设备轮廓c
true
相交区域的面积,表示真实设备轮廓c
true
和真实设备轮廓c
true
合并区域的面积。
[0098]
其中,面积重合比越大,两者重合的面积越大,贴合度越高;反之,两者重合的面积越小,贴合度越低。
[0099]
所述第w个四边形框bw和真实设备轮廓c
true
的周长比的分析公式为:
[0100][0101]
其中,l
bw
表示第w个四边形框bw的周长,l
ctrue
表示真实设备轮廓c
true
的周长。
[0102]
其中,在l
bw
》l
ctrue
的情况下,l
bw
作为分母,周长比越大,两者的周长差异越小,
贴合度越高;反之,两者周长差异越大,贴合度越低。
[0103]
上述视觉图像中的多类型屏幕定位方法,可实现从图像中对屏幕区域的精准定位,准确度高,鲁棒性强,克服了基于颜色、边缘信息的传统定位方法以及基本的目标检测算法无法高准确度地定位多种类型设备的屏幕的问题。进一步的根据屏幕特征来采用启发式方法和直线检测技术,可实现对直角屏幕、圆角屏幕、刘海屏幕以及缺失部分屏幕边框信息的屏幕等其他类型屏幕的精准定位,适用范围广,不仅可用于手机、平板电脑,也可用于笔记本、台式机显示器,还能用于车载显示屏、atm机、飞行仪表等设备。
[0104]
在一个实施例中,提供了一种视觉图像中的多类型屏幕定位方法,以该方法应用于终端为例进行说明,包括以下步骤:
[0105]
步骤1:构建训练数据集,共1500张。数据集中每个样本是一个关于手机、平板电脑、笔记本电脑、台式机显示器、车载显示屏的图像,图像中包含单一设备处于开机状态的屏幕,标签是每张图像中设备类型和设备所在区域的掩膜(mask);接下来,训练利用mask r-cnn的实例分割算法构建的实例分割模型;然后,给定一张包含完整设备及其屏幕的图像s
input
,利用所训练的实例分割模型识别出图像s
input
中的设备,并找出该设备在s
input
中所处于的区域m。
[0106]
步骤2:若步骤1中找出的区域m非空,则找出该区域的最小外接矩形rm,为防rm未完整覆盖设备屏幕,将rm向外扩大n1倍(n1=0.15),得到从原始的图像s
input
裁剪掉设备屏幕外圈的环境干扰、尽可能包含完整设备屏幕的图像s
rough
,如图2所示;若步骤1中找出的区域m为空,根据设备屏幕一般位于所拍摄图像居中位置的特征,按照预设的宽τ
×
w、高的τ
×
h的s
input
中心区域(w、h分别为图像s
input
的宽度和高度,τ=0.15),裁剪掉图像s
input
中设备屏幕外圈的环境干扰,得到尽可能包含完整设备屏幕的图像s
rough
,如图3所示。
[0107]
步骤3:对截取出的图像s
rough
通过边缘检测识别出多个屏幕候选轮廓,根据屏幕形状特征,运用启发式方法为所有候选轮廓拟合多边形,根据候选轮廓与其拟合的多边形的贴合度对候选轮廓评分并排序;
[0108]
在本实施例中,如图4所示,可采用如下优选方案实现上述步骤3获取候选轮廓:
[0109]
(301)对步骤2得到设备屏幕的区域m,因过大分辨率的图像会有很多噪音,故先将过大分辨率(原图分辨率为4624
×
3472)的图像进行压缩,压缩至其1/4倍;对图像s
rough
进行预处理,进一步减少图像噪音,增强设备屏幕边缘特征。然后对压缩后图像进行二值化、高斯滤波以及开闭运算处理,得到预处理后的图像s
preprocess
。
[0110]
(302)获取对应设备屏幕区域的候选轮廓集c
candidate
。首先,对预处理后的图像s
preprocess
使用canny边缘检测算法检测出图像中所有边缘,通过闭运算将边缘连通,得到图像s
canny
;然后,使用轮廓提取算法提取出图像s
canny
中所有轮廓的集合c={c1,...,cn};接下来,统计每个轮廓ci中包含的像素点个数来计算其面积,提取出一个面积最大的轮廓作为第一个屏幕候选轮廓ca,加入到候选轮廓集c
candidate
中,其中,i=1、...、n。
[0111]
(303)ca可能是屏幕真实轮廓,也可能是包含整个设备区域的设备边框轮廓。下一步,在ca的子轮廓中依次递进选取三个候选轮廓(r,g,b三种不同颜色的轮廓),选取方法是每次在当前轮廓的子轮廓中选取一个面积最大的轮廓作为下一个候选轮廓。具体做法为,在候选轮廓ca的子轮廓中选取一个面积最大的候选轮廓cb;在候选轮廓cb的子轮廓中选取一个面积最大的候选轮廓cc;在候选轮廓cc的子轮廓中选取一个面积最大的候选轮廓cd,将
cb、cc、cd加入到候选轮廓集c
candidate
中,最终c
candidate
={ca,cb,cc,cd}。
[0112]
在本实施例中,可采用如下优选方案实现上述步骤3对候选轮廓评分并排序:
[0113]
(304)利用拟合多边形算法对屏幕区域的候选轮廓集c
candidate
中的每个轮廓进行处理,拟合出其对应的多边形,得到拟合多边形集合p={pa,pb,pc,pd}。拟合多边形算法:每次选取轮廓中某两个点a、b连成一条直线ab,作为轮廓中某段曲线的弦;得到这段曲线上离该直线段距离最大的点c,计算它和ab之间的距离d;比较该距离d与预先设定好的阈值threshold的大小,若d大于阈值threshold,则用点c将曲线分成两段ac和bc,并分别对两段进行上述处理;若距离d小于阈值threshold,则该直线段ab作为该段曲线的近似,轮廓上的该段曲线处理完毕。
[0114]
(305)运用启发式评分函数对候选轮廓c
candidate
中的每个屏幕区域的候选轮廓进行评分。评分过程计算拟合出来的多边形与相应候选轮廓的贴合度,贴合度越高说明候选轮廓约接近四边形(矩形的屏幕在图像中经透视变换一般呈现为四边形),为屏幕真实候选轮廓的可能性越大。
[0115]
令候选轮廓为cj(cj∈c
candidate
)拟合的多边形为pj(pj∈p),贴合度从三个角度计算:
[0116]
(a)第j个候选轮廓和第j个多边形的面积重合比s
pj∩c
表示第j个多边形pj和对应的第j个候选轮廓cj相交区域的面积,s
pj∪c
表示第j个多边形pj和对应的第j个候选轮廓cj合并区域的面积,越大,说明两者重合的面积越大,贴合度越高,如图5(b)所示,候选轮廓cd和拟合多边形pd的面积重合比反之,两者重合的面积越小,贴合度越低,如图5(a)所示,候选轮廓ca和拟合多边形pa的面积重合比=0.9325。
[0117]
(b)候选轮廓和拟合多边形的周长比l
pj
表示第j个多边形pj的周长,l
cj
表示第j个候选轮廓cj的周长,越大,说明两者的周长差异越小,贴合度越高,如图5(b)所示,候选轮廓cd和拟合多边形pd的周长比反之,两者周长差异越大,贴合度越低,如图5(a)所示,候选轮廓ca和拟合多边形pa的周长比
[0118]
(c)偏出距离比其中为拟合多边形pj的各个像素点(xv,yv)和距离候选轮廓cj轮廓线上最近点(x
near
,y
near
)的偏出距离,dj越小,越大,说明其偏出距离越小,贴合度越高,如图5(b)所示,候选轮廓cd和拟合多边形pd的偏出距离比反之,其偏出距离越大,贴合度越低,如图5(a)所示,候选轮廓ca和拟合多边形pa的偏出距离比
[0119]
通过第一启发式评分函数得到一个综合分值来表示拟合多边形和屏幕候选轮廓的贴合度。如图5所示,图5(a)中候选轮廓ca和拟合多边形pa的贴合度为f
4th
=
0.8643,图5图(b)中候选轮廓cd和拟合多边形pd的贴合度为f
1st
=0.9876,明显看出图5图(b)中的轮廓和其拟合四边形更加贴合,为屏幕真实轮廓的可能性更大。第一启发式评分函数公式为:
[0120][0121]
α+β+γ=1,α=0.6,β=0.3,γ=0.1
[0122]
步骤4:根据步骤3所得到的排序后候选轮廓,首先判断设备屏幕的形状类别,包括直角屏幕,或圆角屏幕、刘海屏幕、拍摄时反光导致部分边缘信息缺失的屏幕等其他形状屏幕,据此分别采用不同的算法对屏幕区域进行定位,获取屏幕四个顶点坐标,四个顶点构成的四边形区域即最终识别和定位的设备屏幕区域。
[0123]
在本实施例中,可采用如下优选方案实现上述步骤4判断屏幕类型并定位:
[0124]
(401)判断设备屏幕形状类型。将步骤(304)得到的贴合度按照从大到小的顺序排序,通比较最大贴合度f
1st
与设定阈值ta(ta=0.95)来判断屏幕类型。若f
1st
≥ta,说明拟合多边形和候选轮廓贴合度较高,符合直角屏幕形状特征(如图5中的(b)所示,候选轮廓cd和拟合多边形pd的贴合度f
1st
=0.9876),则判断屏幕类型为直角屏幕;若f
1st
《ta,即使是最大的贴合度也偏低,说明拟合的多边形难以高度贴合屏幕轮廓(如图6所示,候选轮廓cc和拟合多边形pc的贴合度f
1st
=0.9167),判断屏幕类型有比较高的可能性为圆角屏幕、刘海屏幕、拍摄时反光导致部分边缘信息缺失的屏幕等其它屏幕;
[0125]
(402)定位直角屏幕的所在区域。对直角屏幕,最高贴合度的轮廓很有可能就是真实屏幕轮廓。但考虑到屏幕中正在显示的矩形图像的轮廓有可能被视为候选轮廓,并且得到高贴合度而排在真实屏幕轮廓之前,进一步的处理如下:按照贴合度分值从高到低的顺序依次进行贴合度的比较,计算排名第一的贴合度f
1st
和排名第二的贴合度f
2nd
之差f
diff
=f
1st-f
2nd
,并与设定阈值tb(tb=0.02)作比较;若f
diff
≤tb,说明两个贴合度差异可忽略,此时比较两者对应候选轮廓的面积,将面积大的候选轮廓更新为f
1st
(该情况如图7所示,图7(a)为屏幕精准位置,候选轮廓cb和拟合多边形pb的贴合度f
2nd
=0.9950,图7(b)是屏幕内部矩形图案,候选轮廓cc和拟合多边形pc的贴合度f
1st
=0.9978);然后将更新后的第一名f
1st
和第三名f
3rd
、第四名f
4th
按照以上步骤进行比较;若f
diff
》tb,不再进行比较;最终,将贴合度f
1st
对应的轮廓作为真实设备轮廓c
true
,并将c
true
等比例还原1/n2倍,使其还原至原图大小。
[0126]
将从屏幕轮廓定位屏幕区域。由轮廓提取算法得到的屏幕边缘轮廓相比较于拟合出的多边形会更加贴合屏幕真实边界,因此将在屏幕轮廓上标识屏幕的四个顶点。找出屏幕真实轮廓c
true
上距离其最小外接矩形四个顶点距离最近的四个点作为屏幕区域的四个顶点{p
tl
,p
bl
,p
br
,p
tr
},即定位出屏幕在图像中的区域位置,如图8所示。
[0127]
(403)定位非直角屏幕的所在区域。若设备屏幕类型为圆角屏幕、刘海屏幕、拍摄时反光导致部分边缘信息缺失的屏幕等,一方面轮廓上的坏点可能会影响真正顶点的判断(如:屏幕边缘信息缺失导致屏幕轮廓畸形,畸形部分的点可能被选为顶点,如图9所示),会直接影响屏幕区域的精准定位;另一方面,对于圆角屏幕采用(402)方法,在最终定位屏幕四个顶点时会定位到圆角屏幕的拐角处,获取到的屏幕区域会小于真实屏幕区域,如图6所示。因此,对于非直角屏幕,本技术不从屏幕轮廓上选取屏幕区域的顶点,而是通过直线检测对(402)得到的c
true
最小外接矩形区域进行处理,得到包含屏幕边界线的直线集合l={l1,...,lu},并将线段集合l中的线段组成m个四边形框b={b1,...,bm},
为在构成bw的四条线段延长线上的交点,根据(304)计算每个四边形框与c
true
的贴合度,评分最高的四边形框b
1st
为屏幕精准区域。
[0128]
如图10所示,具体步骤如下:
[0129]
(a)按步骤(402)得到真实设备轮廓c
true
,将c
true
的最小外接矩形区域向外扩展n3(n3=0.05)倍,得到尽可能包含完整设备屏幕的图像s
l
;利用lsd直线检测算法,检测图像s
l
中的直线段,过滤掉长度过短的线段,得到包含屏幕边界线的线段集合l。对于因屏幕边界信息缺失、刘海屏幕等情况,会将屏幕边界分成多条线段,使用直线检测算法时,会将该边界检测为处于同一条直线上的多条线段,没有完整的屏幕边框线段。为解决此问题,使用基于角度差值和端点距离的直线合并算法将处于一条直线上的线段合并,得到合并后的线段集合l
merge
;
[0130]
(b)进一步将线段集合l
merge
中的线段组成满足以下预设条件的角结构集合q
orner
={q1,...,q q
},e∈1、2、
…
、q是两条线段延长线相交后形成的夹角在60-120
°
之间,且相交的交点到两条线段的最小距离小于第三阈值的角结构。接下来将角结构集合c
orner
中的角结构组合成m个四边形框,得到四边形框集合b={b1,...,bm},其中,是四边形框的四个顶点。下一步对四边形框集合b中的每两个四边形框w≠h,w、h∈1、2、
…
、m,s
bw∩bh
表示四边形框bw和四边形框bh相交区域的面积,s
bw∪bh
表示四边形框bw和四边形框bh合并区域的面积,若iou≥td(td=0.98),将面积小的框从b中删除(面积大的更有可能包含屏幕区域),经此处理可删掉重复的框,减少后续处理的计算量;
[0131]
(c)接下来将对筛选过后的四边形框集合b,计算b中每个四边形框bj与c
true
的面积重合比周长重合比(为防止在屏幕轮廓畸形情况下导致偏出距离和d过大而影响贴合度的准确性,此处不使用偏出距离比),利用第二启发式评分函数α+β=1,α=0.7,β=0.3对四边形框与轮廓c
true
的贴合度进行评分排序,分数最高的四边形框b
1st
为屏幕精准区域,如图11所示(图11(a)中b
1st
对应的候选框b1与轮廓c
true
的贴合度f
1st
=0.9435。图11(b)中b
1st
对应的候选框b3与轮廓c
true
的贴合度f
1st
=0.9869)。将b
1st
中四个交点作为屏幕区域的四个顶点{p
tl
,p
bl
,p
br
,p
tr
},即定位出屏幕在图像中的区域位置,如图12所示。
[0132]
本技术中所涉及到的设备不仅可用于手机、平板电脑,也可用于笔记本、台式机显示器,还能用于车载显示屏、atm机、飞行仪表等设备。
[0133]
在使用上述视觉图像中的多类型屏幕定位方法进行的实验中,共对tiida车载显示屏、ipad2019、mediapadm5、samsung note4、mechrevo、thinkvision显示器等12个设备拍摄了1000张图片进行测试。经过实际检验,90%的测试过程都精准的找到被测设备的屏幕,表明上述视觉图像中的多类型屏幕定位方法可精准找到多类型设备的屏幕区域,具有良好的使用效果。
[0134]
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的
执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0135]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0136]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
技术特征:
1.一种视觉图像中的多类型屏幕定位方法,用于在图像中识别设备屏幕并定位其所在区域,其特征在于,所述方法包括:步骤s1:利用mask r-cnn的实例分割算法识别图像s
input
中的设备,确定所述设备所在的区域m;步骤s2:对所述区域m进行处理,使所述区域m的图像包含完整设备屏幕,裁剪出包含完整设备屏幕的图像s
rough
;步骤s3:对所述图像s
rough
通过边缘检测识别出多个屏幕候选轮廓,根据屏幕形状特征,运用启发式方法为所有候选轮廓拟合多边形,根据候选轮廓与其拟合的多边形的贴合度,从大到小的顺序对候选轮廓进行排序;步骤s4:根据排序后的候选轮廓,判断设备屏幕的形状类别,分别采用不同的定位算法对屏幕区域进行定位,获取屏幕四个顶点坐标,以四个顶点构成的四边形区域作为最终识别和定位的设备屏幕区域。2.根据权利要求1所述的方法,其特征在于,所述步骤s2,包括:若步骤s1中确定的所述设备所在的区域m非空,确定出所述区域m的最小外接矩形r
m
;将所述区域m的最小外接矩形r
m
向外扩大n1倍,得到从图像s
input
裁剪掉设备屏幕外圈的环境干扰,得到包含完整设备屏幕的图像s
rough
;若步骤s1中确定的所述设备所在的区域m为空,根据设备屏幕位于所拍摄图像居中位置的特征,按照预设的宽τ
×
w、高的τ
×
h的图像s
input
中心区域,裁剪掉所述图像s
input
中设备屏幕外圈的环境干扰,得到包含完整设备屏幕的图像s
rough
,其中,w、h分别为图像s
input
的宽度和高度,τ为裁剪比例参数,τ=0.15。3.根据权利要求2所述的方法,其特征在于,所述步骤s3,包括:分析所述图像s
rough
的分辨率是否大于1920
×
1080,若分辨率大于1920
×
1080,将所述图像s
rough
压缩到所述图像s
rough
的n2倍,获得压缩后图像,若未大于1920
×
1080,则无需压缩,再对压缩后图像或所述图像s
rough
进行二值化、高斯滤波以及开闭运算处理,得到预处理后的图像s
preprocess
,其中,n2=0.25;对预处理后的图像s
preprocess
使用canny边缘检测算法检测出图像中所有边缘,通过闭运算将边缘连通,得到图像s
canny
;使用轮廓提取算法提取出图像s
canny
中所有轮廓的集合c={c1,...,c
n
},其中,c1为第1个轮廓,c
n
为第n个轮廓,n为轮廓的总数;统计每个轮廓c
i
中包含的像素点个数来计算轮廓c
i
的面积,从集合c中提取出一个面积最大的轮廓作为第一个屏幕候选轮廓c
a
,加入到候选轮廓集c
candidate
中,其中,i=1、...、n;在候选轮廓c
a
的子轮廓中依次递进选取三个候选轮廓,其中,选取方法为在候选轮廓c
a
的子轮廓中选取一个面积最大的候选轮廓c
b
,在候选轮廓c
b
的子轮廓中选取一个面积最大的候选轮廓c
c
,在候选轮廓c
c
的子轮廓中选取一个面积最大的候选轮廓c
d
,将c
b
、c
c
、c
d
加入到候选轮廓集c
candidate
中,最终获得所述图像s
rough
的候选轮廓集c
candidate
={c
a
,c
b
,c
c
,c
d
};利用拟合多边形算法对屏幕区域的候选轮廓集c
candidate
中的每个轮廓进行处理,拟合出轮廓对应的多边形,得到拟合多边形集合p={p
a
,p
b
,p
c
,p
d
},其中,p
a
为候选轮廓c
a
对应的多边形,p
b
为候选轮廓c
b
对应的多边形,p
c
为候选轮廓c
c
对应的多边形,p
d
为候选轮廓c
d
对应的多边形;
运用启发式评分函数计算候选轮廓集c
candidate
中的每个候选轮廓与对应的多边形的贴合度,并按照贴合度的大小进行排序。4.根据权利要求3所述的方法,其特征在于,所述第一启发式评分函数为:α+β+γ=1,α=0.6,β=0.3,γ=0.1其中,为第j个拟合多边形和第j个候选轮廓的贴合度,为第j个候选轮廓和第j个多边形的面积重合比,为第j个候选轮廓和第j个多边形的周长比,为第j个候选轮廓和第j个多边形的偏出距离比,α为面积重合比权重,β为周长比权重,γ为偏出距离比权重。5.根据权利要求4所述的方法,其特征在于,所述第j个候选轮廓和第j个多边形的面积重合比的分析公式为:其中,s
pj∩c
表示第j个多边形p
j
和对应的第j个候选轮廓c
j
相交区域的面积,s
pj∪c
表示第j个多边形p
j
和对应的第j个候选轮廓c
j
合并区域的面积;所述第j个候选轮廓和第j个多边形的周长比的分析公式为:其中,l
pj
表示第j个多边形p
j
的周长,l
cj
表示第j个候选轮廓c
j
的周长;所述第j个候选轮廓和第j个多边形的偏出距离比的分析公式为:其中,d
j
为拟合多边形p
j
的各个像素点(x
v
,y
v
)和距离候选轮廓c
j
轮廓线上最近点(x
near
,y
near
)的偏出距离,g为拟合多边形p
j
的像素点个数,λ为偏出距离权重,μ为最小偏出距离,d
k
为拟合多边形p
k
的各个像素点(x
j
,y
j
)和距离候选轮廓c
k
轮廓线上最近点(x
near
,y
near
)的偏出距离,k=a、b、c、d。6.根据权利要求5所述的方法,其特征在于,所述步骤s4,包括:步骤41,根据排序后的候选轮廓,将最大的贴合度f
1st
与设定贴合度第一阈值t
a
进行比较,若f
1st
≥t
a
,则判断设备屏幕的形状类别为直角屏幕,若f
1st
<t
a
,则判断设备屏幕的形状类别为非直角屏幕;步骤42,按照贴合度的大小从高到低的顺序依次进行贴合度的比较,计算排名第一的贴合度f
1st
和排名第二的贴合度f
2nd
的贴合度差值f
diff
,f
diff
=f
1st-f
2nd
,并将贴合度差值f
diff
与设定贴合度第二阈值t
b
作比较;若f
diff
>t
b
,不再进行比较;若f
diff
≤t
b
,比较两者对应候选轮廓的面积,将面积大的候选轮廓更新为f
1st
;然后将更新后的第一名f
1st
和第三名f
3rd
、第四名f
4th
继续贴合度差值比较,直至f
diff
>t
b
或完成与第四名f
4th
的贴合度差值比较;将贴合度f
1st
对应的候选轮廓作为真实设备轮廓c
true
;步骤43,在设备屏幕的形状类别为直角屏幕的情况下,将真实设备轮廓c
true
等比例还原1/n2倍,使其还原至所述图像s
rough
的大小,找出真实设备轮廓c
true
上距离其最小外接矩形
四个顶点距离最近的四个点作为屏幕区域的四个顶点{ptl,p
bl
,p
br
,p
tr
},即定位出屏幕在图像中的区域位置;步骤44,在设备屏幕的形状类别为非直角屏幕的情况下,通过直线检测对真实设备轮廓c
true
的最小外接矩形区域进行处理,得到包含屏幕边界线的直线集合l={l1,...,l
u
},并将直线集合l中的线段组成m个四边形框集合b={b1,...,b
m
},计算每个四边形框与真实设备轮廓c
true
的贴合度,评分最高的四边形框b
1st
的四个顶点作为屏幕区域的四个顶点{p
tl
,p
bl
,p
br
,p
tr
},即定位出屏幕在图像中的区域位置,其中,u为直线集合中直线的总数。7.根据权利要求6所述的方法,其特征在于,所述步骤44,包括:将真实设备轮廓c
true
的最小外接矩形区域向外扩展n3倍,得到包含完整设备屏幕的图像s
l
,利用lsd直线检测算法,检测图像s
l
中的直线段,过滤掉长度小于预设长度的线段,得到包含屏幕边界线的线段集合l;使用基于角度差值和端点距离的直线合并算法将线段集合l中处于一条直线上的线段合并,得到合并后的线段集合l
merge
;利用线段集合l
merge
中的线段组成角结构,将满足预设条件的角结构加入角结构集合q
orner
={q1,...,q
q
}中,其中,q为角结构集合中角结构的个数,预设条件为两条线段的延长线相交后形成的夹角在60-120
°
之间,且相交的交点到两条线段的最小距离小于第三阈值t
c
的角结构,其中,e∈1、2、
…
、q,η为距离权重,l
min
为构成角结构q
e
的两条线段中最短线段的长度,为角结构q
e
的其中一条线段,为角结构q
e
的另一条线段;将角结构集合c
orner
中的角结构组合成m个四边形框,得到四边形框集合b={b1,...,b
m
},对四边形框集合b中的每两个四边形框计算重叠度iou,w≠h,w、h∈1、2、
…
、m,s
bw∩bh
表示四边形框b
w
和四边形框b
h
相交区域的面积,s
bw∪bh
表示四边形框b
w
和四边形框b
h
合并区域的面积,若iou≥t
d
,将面积小的框从b中删除,t
d
为第四阈值;将对筛选后的四边形框集合b,计算四边形框集合b中每个四边形框b
w
与真实设备轮廓c
true
的面积重合比和周长重合比利用第二启发式评分函数对四边形框与真实设备轮廓c
true
的贴合度进行排序,贴合度最高的四边形框b
1st
为屏幕精准区域,将四边形框b
1st
中四个顶点作为屏幕区域的四个顶点{p
tl
,p
bl
,p
br
,p
tr
},即定位出屏幕在图像中的区域位置。8.根据权利要求7所述的方法,其特征在于,所述第二启发式评分函数为:α+β=1,α=0.7,β=0.3其中,为四边形框b
w
与真实设备轮廓c
true
的贴合度。
技术总结
本申请涉及一种视觉图像中的多类型屏幕定位方法。该方法包括:利用Mask R-CNN的实例分割算法识别图像S
技术研发人员:钱巨 王鹏宇
受保护的技术使用者:南京航空航天大学
技术研发日:2023.05.26
技术公布日:2023/9/14
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/