本发明涉及三维图像分割和彩色计算全息显示领域,尤其涉及点云分割处理以及计算全息加速方面。
背景技术:
1、显著性检测是计算机视觉领域的重要分支之一,其本质上是一种语义分割任务,该任务的目的在于从输入的图片中提取出具备语义信息特征的区域,并将该区域从图片中分离出来,用于其他用途。显著性物体检测对于未来人工智能理解视觉语义信息,并在此之上提高人机交互质量,优化服务具有极为重要的意义。
2、深度图片,是在二维图片的基础上,利用深度相机获取的二维图片的相应深度信息。深度图片可以结合对应的二维图片,借助三维信息载体如点云等工具表现出来,使之相对于二维平面图片具备更多的特征信息。
3、而三维显著性物体检测,就是基于三维信息的一种语义分割任务。本发明中采用点云作为信息载体。然而,基于点云的显著性物体检测技术面临着信息量过大导致的算法时空复杂度过高的问题。
技术实现思路
1、针对上述缺陷,本发明提供了一种三维显著性物体检测方法,降低了点云处理时时空复杂度过大的问题。
2、本发明的技术方案如下:
3、一种三维显著性物体检测方法,应用于电子设备,包括如下步骤:
4、s1、通过深度相机采集深度图片和对应彩色图片,结合彩色图片和深度图片生成点云;
5、s2、将彩色图片输入到yolov5图像分割算法中获得二维图像分割结果;
6、s3、将二维图像分割结果作为掩膜映射到点云中,降低点云的信息量;
7、s4、去除筛选出来的点云的噪声信息,获得三维点云分割结果;
8、s5、基于点云分割结果进行点云稀疏化,利用泰勒-瑞利-索末菲衍射点云网格算法基于稀疏化点云生成全息图片。
9、作为优选,通过深度相机采集深度图片和对应彩色图片,具体方法为,通过下载matlab中的图像采集工具包,利用图像采集工具包中的函数进行三维图像采集。
10、作为优选,将彩色图片输入到yolov5图像分割算法中获得二维图像分割结果,将分割结果作为二值图像掩膜返回。
11、作为优选,在将图像的输出转换为二值图像掩膜返回时,其二值图像返回为原彩色图像的水平镜像图像,在后续点云映射操作中提前将其做水平镜像操作翻转回来,具体的,基于flipdim函数进行水平镜像翻转,其传递参数如下:第一个参数传递待翻转图像即传入二值图像掩膜;第二个参数传递待翻转图像的翻转维度。
12、作为优选,在matlab编程中调用python的yolov5图像分割算法包,获得图像分割的结果。
13、作为优选,将二维图像分割结果作为掩膜映射到点云中,降低点云的信息量。
14、作为优选,掩膜映射到点云的方法具体为:将得到的二值图像掩膜转换为double类型掩膜img,构造nan类型同等大小掩膜mask,将所有img中不为0的点的位置索引映射到mask中,并设置为1;在降低点云信息量的方法具体为:将先前生成的点云与yolov5映射的点云进行点乘,将点乘得到的结果利用删除无效点方法删除nan值的点,同时结合点云降采样方法,进一步在保留主要点云信息的前提下,降低点云的信息量。
15、作为优选,去除筛选出来的点云的噪声信息,具体为:以点云之间的距离为依据,对点云进行聚类,同时设置最小簇点数,基于聚类结果去除噪声。
16、作为优选,点云去噪方法具体为:通过调用pcsegdist方法,实现点云聚类,其传递参数如下:第一个参数传递待聚类点云;第二个参数传递点云分类最小距离;第三和第四个参数传递为聚类簇点数的数量范围,n个点以上则分类为一簇,否则分类为噪声。
17、作为优选,所述泰勒-瑞利-索末菲衍射点云网格算法为:基于初始点云图,利用瑞利-索末菲衍射传递函数计算点云的每个点的衍射情况,对径向值进行泰勒展开,然后利用fft快速傅里叶变换函数,将矩阵转换到频率域中进行计算,获得全息重建图片的频率域结果,调用ifft傅里叶反变换函数将该结果重新转换到空间域中。
18、作为优选,步骤s5中将点云网格化后得到同全息图分辨率相匹配的稀疏点云,根据瑞利-索末菲衍射公式,对稀疏点云的每个点的衍射情况进行计算,调用matlab中的fft快速傅里叶变换函数,对每个2d多深度网格执行fft以计算衍射并生成的全息图,将矩阵转换到频率域中进行计算,通过菲涅尔衍射公式计算每个采样点处光场的复值;基于fft的卷积中对径向值r进行泰勒展开,得到复光场的一组离散样本值,而振幅和相位都在每个样本点,获得全息重建图片的频率域结果;调用ifft傅里叶逆变换函数将该结果重新转换到空间域中,最后得到稀疏点云全息重建后的图像。
19、作为优选,步骤s5具体为:
20、步骤s51,二维平面为r⊥=(x,y),当传播距离为z时,根据公式初始场变为新场,u(r⊥,z)是新场,u(r⊥,0)是初始场,h(r⊥,z)是距离z的传递函数;时域中的卷积相当于频域中的乘法:其中是傅里叶正/逆变换,z0表示对象在z轴上的初始位置;
21、步骤s52,根据采样关系获得采样频率fx和fy,然后对2d深度网格计算衍射生成全息图um,表示为:u(x,y)是时域中的目标场;
22、步骤s53,根据几何关系,时域中的径向值r满足下式:
23、其中fx和fy是频域中的频率,λ是波长,pph是像素间距;
24、根据瑞利-索末菲衍射公式,传递函数h(r⊥,z):
25、其中径向值r=|r|,向量r=(x,y,z),k是波向量;
26、将傅里叶变换应用于传递函数h,以获得其频域中的角谱h,如下式所示:h=exp(jk1d1)exp(-jπλd1r),其中k1是红色波的波矢量,λ是红色波波长,d1如以下方程所示:其中d是生成全息图的距离,sam_int是采样间隔,cut是分段点云网格;
27、步骤s54,频域中的r如下式所示:
28、其中|ρ⊥|2=(fx2+fy2),根据泰勒展开式展开r,
29、r展开如下:
30、步骤s55,将全息图和传递函数的频域结果相乘再进行傅里叶逆变换,得到时域结果:
31、其中hdepthgridn表示通道x中深度网格的全息图,um(fx,fy)是通道的光场信息,h是角光谱;
32、最后通过叠加获得全息图hol:
33、hol=hdepthgrid1+hdepthgrid2+......+hdepthgridn。
34、本发明的有益效果是:
35、(1)本发明基于点云作为信息载体,通过显著性物体检测方法解决时空复杂度过高的问题,除去冗余信息,提高全息图质量;
36、(2)通过泰勒-瑞利-索末菲衍射点云网格化算法加快全息图的生成,有效地提高计算速度。
1.一种基于显著性物体检测方法的彩色三维全息显示方法,其特征在于,应用于电子设备,包括如下步骤:
2.根据权利要求1所述的方法,其特征在于,步骤s1中生成点云的方法具体为:基于深度相机获取深度图片和彩色图片,调用matlab中的图像采集工具包中函数pcfromkinect生成点云,实现三维图像采集。
3.根据权利要求1所述的方法,其特征在于,在将图像的输出转换为二值图像掩膜返回时,其二值图像返回为原彩色图像的水平镜像图像,在后续点云映射操作中提前将其做水平镜像操作翻转回来,具体的,基于flipdim函数进行水平镜像翻转,其传递参数如下:第一个参数传递待翻转图像即传入二值图像掩膜;第二个参数传递待翻转图像的翻转维度。
4.根据权利要求1所述的方法,其特征在于,步骤s3中掩膜映射到点云的方法具体为:将得到的二值图像掩膜转换为double类型掩膜img,构造nan类型同等大小掩膜mask,将所有img中不为0的点的位置索引映射到mask中,并设置为1。
5.根据权利要求1所述的方法,其特征在于,步骤s3中降低点云信息量的方法具体为:将先前生成的点云与yolov5映射的点云进行点乘,将点乘得到的结果利用删除无效点方法删除nan值的点,同时结合点云降采样方法,进一步在保留主要点云信息的前提下,降低点云的信息量。
6.根据权利要求1所述的方法,其特征在于,步骤s4中去除筛选出来的点云的噪声信息具体为:以点云之间的距离为依据,对点云进行聚类,同时设置最小簇点数,以点与点之间的距离作为标准,将点云聚类成不同的簇,并将小于最小簇点数的簇,以去除冗余的边缘信息去除。
7.根据权利要求6所述的方法,其特征在于,步骤s4中点云去噪方法具体为:通过调用pcsegdist方法,其传递参数如下:第一个参数传递待聚类点云;第二个参数传递点云分类最小距离;第三和第四个参数传递为聚类簇点数的数量范围,n个点以上则分类为一簇,否则分类为噪声。
8.根据权利要求1所述的方法,其特征在于,步骤s5中点云稀疏化方法具体为:将新的点云ptcloudseg中的位置信息和颜色信息集中到新的容器obj中,随后通过matlab内置的unique函数,将ptcloudseg中的xoy平面位置信息重复的点记为一个,以此来完成点云ptcloudseg的稀疏化。
9.根据权利要求1至8任意一项所述的方法,其特征在于,步骤s5中将点云网格化后得到同全息图分辨率相匹配的稀疏点云,根据瑞利-索末菲衍射公式,对稀疏点云的每个点的衍射情况进行计算,调用matlab中的fft快速傅里叶变换函数,对每个2d多深度网格执行fft以计算衍射并生成的全息图,将矩阵转换到频率域中进行计算,通过菲涅尔衍射公式计算每个采样点处光场的复值;基于fft的卷积中对径向值r进行泰勒展开,得到复光场的一组离散样本值,而振幅和相位都在每个样本点,获得全息重建图片的频率域结果;调用ifft傅里叶逆变换函数将该结果重新转换到空间域中,最后得到稀疏点云全息重建后的图像。
10.根据权利要求9所述的方法,其特征在于,步骤s5具体为: