一种基于3D点云的瓶装物体文字检测方法技术

技术编号:30822444 阅读:10 留言:0更新日期:2021-11-18 12:08
本发明专利技术公开了一种基于3D点云的瓶装物体文字检测方法。对采集的瓶装产品图像序列进行三维重建生成曲面瓶装产品的3D点云数据;为了提高文字特征的表述能力,在3D点云空间坐标特征的基础上,融合了瓶装产品上用于区分显著性的RGB颜色特征和SWT笔画宽度特征;为了把已有的图像分割技术应用于3D点云中,采用图绘制技术把3D点云数据映射到伪图像上,然后对伪图像进行基于U

【技术实现步骤摘要】
一种基于3D点云的瓶装物体文字检测方法


[0001]本专利技术属于图像处理
,涉及一种基于3D点云的瓶装物体文字检测方法。

技术介绍

[0002]随着深度学习理论和计算机视觉技术的发展,自然场景中的文字检测技术在自动导航、产品识别、语言翻译等方面得到了广泛应用。现有的场景文本检测方法可以在一定程度上准确地检测自然场景中出现的任意方向、任意大小和任意形状的文字,但对药店、超市和化妆品店等普遍存在的瓶装产品上的文字检测效果不佳。针对现有的场景文字检测方法利用图像的2D信息无法准确检测曲面文字的问题,需要提出一种基于3D点云的瓶装物体文字检测方法,从而能够有效的检测出瓶装物体上的曲面文字。

技术实现思路

[0003]本专利技术的目的是提供一种基于3D点云的瓶装物体文字检测方法,解决了现有的场景文本检测方法利用图像的2D信息无法准确检测曲面瓶装物品上的文字的问题,提高了曲面瓶装物品上的文本检测算法的性能。
[0004]本专利技术所采用的技术方案是,一种基于3D点云的瓶装物体文字检测方法,具体包括如下步骤:
[0005]步骤1,定义瓶装物品总个数变量N
obj
,定义伪图像集变量Pimg,定义瓶装物品个数变量n
obj
,Pimg初始化为空集,Pimg=NULL,n
obj
设置为1,即n
obj
=1;
[0006]步骤2,对第n
obj
个瓶装物体进行多视点图像采集,得到曲面场景图像序列Img={I1,

,I
k
,

,I
K
},其中K代表采集的多视点图像数量;
[0007]步骤3,对曲面场景图像序列Img采用3D点云生成方法(OpenMVG+PMVS),生成3D点云数据其中N1代表PS1中3D点的数量,同时得到PS1到Img中的图像I
k
之间对应的投影关系矩阵H
k
,PS1到Img中的各图像的投影关系矩阵构成投影关系矩阵集合HS,其中HS={H1,

,H
k
,

,H
K
};
[0008]步骤4,对点云数据PS1进行下采样处理,得到采样后的点云数据并对点云数据PS2进行样本标注,其中N2代表PS2中3D点的数量,其中点对应的空间位置特征为其中分别表示3D点的x坐标值、y坐标值和z坐标值;
[0009]步骤5,在Img中随机抽取一幅图像I
k
,按照投影关系矩阵H
k
求点云数据PS2在2D图像I
k
中对应的2D点集
[0010]步骤6,求图像I
k
中的2D点集PI
k
中的点的RGB颜色特征和笔画宽
度特征其中和分别表示点的R通道值、G通道值和B通道值;
[0011]步骤7,对3D点的空间位置特征以及2D点的RGB颜色特征和笔画宽度特征进行特征融合,生成点的融合特征
[0012]步骤8,调用Python编程语言中Networkx包里的库函数spring_layout()对点云数据PS2进行图绘制,即把PS2中的点映射到2D网格伪图像中,其中像素点的特征为对应3D点的融合特征把追加进伪图像集Pimg中,即
[0013]步骤9,判断n
obj
是否大于等于N
obj
,若n
obj
≥N
obj
,进入步骤10;否则n
obj
=n
obj
+1,返回步骤2;
[0014]步骤10,将伪图像集Pimg作为输入,采用多尺度U

Net网络进行训练,得到MSUnet网络模型M
MSUnet

[0015]步骤11,输入瓶装物品obj

,执行步骤2,对obj

采集K

个多视点图像,得到曲面场景图像序列Img

={I
′1,

,I

k

,

,I

K

},执行步骤3,对Img

使用OpenMVG+PMVS方法,生成obj

的3D点云数据PS
′1,PS
′1和Img

投影关系矩阵集合HS

,HS

={H
′1,

,H

k

,

,H

K

};
[0016]步骤12,把PS
′1、Img

和HS

作为输入,执行步骤4~8,得到伪图像
[0017]步骤13,将伪图像送入MSUnet网络模型M
MSUnet
中,输出所有文本实例分类结果CL={cl1,

,cl
c
,

,cl
C
},以及文本实例分类分数Score={sc1,

,sc
c
,

,sc
C
},其中C表示文本实例总个数,Nc表示CL中第c类中3D点个数,表示cl
c
中第nc个3D点,表示Score中第nc个3D点的分类分数;
[0018]步骤14,按照细化调整机制对CL进行细化调整,得到调整后的点云分类结果CL

={cl
′1,

,cl

c
,

,cl

C
},其中Nc

表示CL

中第c类中3D点个数;
[0019]步骤15,定义图像个数计数器k

,初始化k

=1;
[0020]步骤16,按照投影关系矩阵集合HS

中的H

k

,计算CL

在图像I

k

中对应的2D分类点集CP={cp1,

,cp
c
,

,cp
C
},其中2D点cp
c
的计算公式为cp
c
=H

k

×
cl

c

[0021]步骤17,执行文本填充算法,对图像I

k

中的2D分类点集CP进行文字填充,得到图本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于3D点云的瓶装物体文字检测方法,其特征在于:具体包括如下步骤:步骤1,定义瓶装物品总个数变量N
obj
,定义伪图像集变量Pimg,定义瓶装物品个数变量n
obj
,Pimg初始化为空集,Pimg=NULL,n
obj
设置为1,即n
obj
=1;步骤2,对第n
obj
个瓶装物体进行多视点图像采集,得到曲面场景图像序列Img={I1,

,I
k
,

,I
K
},其中K代表采集的多视点图像数量;步骤3,对曲面场景图像序列Img采用3D点云生成方法(OpenMVG+PMVS),生成3D点云数据其中N1代表PS1中3D点的数量,同时得到PS1到Img中的图像I
k
之间对应的投影关系矩阵H
k
,PS1到Img中的各图像的投影关系矩阵构成投影关系矩阵集合HS,其中HS={H1,

,H
k
,

,H
K
};步骤4,对点云数据PS1进行下采样处理,得到采样后的点云数据并对点云数据PS2进行样本标注,其中N2代表PS2中3D点的数量,其中点对应的空间位置特征为其中分别表示3D点的x坐标值、y坐标值和z坐标值;步骤5,在Img中随机抽取一幅图像I
k
,按照投影关系矩阵H
k
求点云数据PS2在2D图像I
k
中对应的2D点集步骤6,求图像I
k
中的2D点集PI
k
中的点的RGB颜色特征和笔画宽度特征其中和分别表示点的R通道值、G通道值和B通道值;步骤7,对3D点的空间位置特征以及2D点的RGB颜色特征和笔画宽度特征进行特征融合,生成点的融合特征步骤8,调用Python编程语言中Networkx包里的库函数spring_layout()对点云数据PS2进行图绘制,即把PS2中的点映射到2D网格伪图像中,其中像素点的特征为对应3D点的融合特征把追加进伪图像集Pimg中,即步骤9,判断n
obj
是否大于等于N
obj
,若n
obj
≥N
obj
,进入步骤10;否则n
obj
=n
obj
+1,返回步骤2;步骤10,将伪图像集Pimg作为输入,采用多尺度U

Net网络进行训练,得到MSUnet网络模型M
MSUnet
;步骤11,输入瓶装物品obj

,执行步骤2,对obj

采集K

个多视点图像,得到曲面场景图像序列Img

={I
′1,

,I

k

,

,I

K

},执行步骤3,对Img

使用OpenMVG+PMVS方法,生成obj

的3D点云数据PS
′1,PS
′1和Img

投影关系矩阵集合HS

,HS

={H
′1,

,H

k

,

,H

K

};步骤12,把PS
′1、Img

和HS

作为输入,执行步骤4~8,得到伪图像
步骤13,将伪图像送入MSUnet网络模型M
MSUnet
中,输出所有文本实例分类结果CL={cl1,

,cl
c
,

,cl
C
},以及文本实例分类分数Score={sc1,

,sc
c
,

,sc
C
},其中C表示文本实例总个数,Nc表示CL中第c类中3D点个数,表示cl
c
中第nc个3D点,表示Score中第nc个3D点的分类分数;步骤14,按照细化调整机制对CL进行细化调整,得到调整后的点云分类结果CL

={cl
′1,

,cl

c
,

,cl

C
},其中Nc

表示CL

中第c类中3D点个数;步骤15,定义图像个数计数器k

,初始化k

=1;步骤16,按照投影关系矩阵集合HS

中的H

k

,计算CL

在图像I

k

中对应的2D分类点集CP={cp1,

,cp
c
,

,cp
C
},其中2D点cp
c
的计算公式为cp
c
=H

k

×
cl

c
;步骤17,执行文本填充算法,对图像I

k

中的2D分类点集CP进行文字填充,得到图像I

k

的文本实例分类结果,同时输出所有文本实例外接多边形框集合步骤18,判断k

是否小于等于K

,若k

≤K

,k

=k

+1,返回步骤16,否则,程序结束。2.根据权利要求1所述的一种基于3D点云的瓶装物体文字检测方法,其特征在于:所述步骤4的具体过程为:步骤4中的下采样处理的具体过程为:打开点云处理软件CloudCompare V2.6.3,点击工具栏上的按钮Open file,加载3D点云数据PS1;点击工具栏上的按钮Delete,手动去除3D点云数据PS1中非瓶装物品上的无关背景点,得到感兴趣的点云数据其中N
′1表示PS

中的3D点个数;点击工具栏上的按钮Clean,在其下拉菜单中,设置滤波参数mean distance和nSigma,进行SOR滤波操作;再点击工具栏上的按钮Subsample,在按钮Subsample的下拉菜单中,设置空间采样距离参数space和采样点数N2,进行点云下采样操作,得到下采样之后的点云数据其中点表示第n2个采样点,1≤n2≤N2,的空间位置特征为步骤4中对3D点云数据PS2进行样本标注的具体过程为:点击点云处理软件CloudCompare V2.6.3工具栏上的按钮Segment,在点云数据PS2中按从上到下从左到右的顺序用鼠标依次手动框选各文本实例的点云,再点击工具栏上的按钮Add Constant SF,为框选的文本实例点云数据添加标签值label,框选点云数据PS2中所有的文本实例并添加标签值后,再点击工具栏上的按钮Merge multiple clouds,把PS2中框选出的所有文本实例点云数据和瓶装物品上非文本实例点云数据合并成标记的点云数据PS
LA
={PS0,PS1,

,PS
l
,

,PS
L
},其中PS0为瓶装物品上非文本实例点云数据,PS
l
表示第l个文本实例点云数据,L为3D点云数据PS2中总的文本实例个数,PS
l
的标签值label=l。3.根据权利要求2所述的一种基于3D点云的瓶装物体文字检测方法,其特征在于:所述步骤5的具体过程为:在图像序列Img中随机抽取一幅图像I
k
,按照图像I
k
对应的投影关系矩
阵集合HS中的H
k
,计算点云数据PS2在图像I
k
中对应的2D点集具体的计算公式为:其中:d表示3D点到摄像机的距离。4.根据权利要求3所述的一种基于3D点云的瓶装物体文字检测方法,其特征在于:所述步骤6的具体步骤如下:步骤6.1,对图像I
k
中的2D点调用Python编程语言中PIL包里的图像库函数提取点的R、G、B通道值作为该点的RGB颜色特征其中和分别表示2D点的横坐标和纵坐标;步骤6.2,对图像I
k
调用Python编程语言中SWTloc包里的笔画宽度变换库函数swttransform(),得到图像I
k
中所有像素点的笔画宽度值,2D点的笔画宽度值即为2D点的SWT笔画宽度特征5.根据权利要求4所述的一种基于3D点云的瓶装物体文字检测方法,其特征在于:所述步骤7的具体过程为:对3D点云数据PS2中的任意点的坐标特征RGB颜色特征以及SWT笔画宽度特征按列进行串联融合,得到点融合后的特征6.根据权利要求5所述的一种基于3D点云的瓶装物体文字检测方法,其特征在于:所述步骤8的具体步骤如下:步骤8.1,将3D点云数据PS2作为输入,设置聚类个数NL、聚类迭代次数IT,调用Python编程语言中Scikit

learn包里的聚类库函数KMeans(),对点云数据PS2进行初始聚类,得到NL个初始聚类中心Cen

={ce
′1,

,ce

nl
,

,ce

NL
},各点到聚类中心点的距离矩阵步骤8.2,将PS2、Dist、N2和NL作为输入,采用graph_cut算法对初始聚类结果进行细化分割,得到分割后的聚类中心点坐标集Cen={ce1,

,ce
nl
,

,ce
...

【专利技术属性】
技术研发人员:赵凡李海宁闻治泉景翠宁
申请(专利权)人:西安理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1