一种基于3d点云的实时压缩与远程监控方法及系统
技术领域
1.本发明属于3d点云视频获取、点云压缩编码、远程安全监控、机器人视觉技术领域,尤其涉及一种基于3d点云的实时压缩与远程监控方法及系统。
背景技术:2.传统的视频监控仅提供二维视频的捕获、存储和回放等简单的功能,用来记录发生的事情。近年来,随着计算机视觉技术的发展,以目标跟踪、行人检测、行为分析等功能为代表的新一代监控方式正在日益更新和推广应用中。为了更好地获取监控场景的全方位信息,提高监控目标的可视化效果,视频媒体格式也由二维逐步趋向三维,特别是,以3d点云视频为代表的三维媒体格式在三维视频监控、面部识别、三维场景捕获等方面的应用越来越受到人们的关注。然而,三维空间对象的表示往往需要数十万甚至更多的点,与传统的2d图像相比,3d点云在比特消耗上增加了一个维度,尤其在3d点云视频上的比特消耗增加尤为显著,这直接导致3d点云视频的应用受到限制,例如本发明中的实时性要求较高的3d监控领域。
3.当前,基于点云的3d视频监控通常采用双目相机进行三维场景的采集,通过八叉树进行压缩编码,而后在解码端重构以实现完整的采集压缩与传输过程。基于八叉树的传统方法受限于编码复杂度与网络带宽,在高分辨率下无法实现实时性且压缩性能有限;近年来,动态图像专家组(movingpicture experts group,mpeg)提出的基于视频的点云压缩(video-based point cloud compression,v-pcc)算法进一步提高了动态点云的压缩性能,但其实时性依旧有待提高,因此基于v-pcc的三维智能监控应用场景受到限制。
4.本发明针对这一问题设计了一种适用于3d视频监控场景的三维点云数据获取、编码传输及解码复现框架。首先,将采集设备捕获的3d点云序列分割为静止的背景与运动区域。对于帧间变化较少的背景部分点云,以一定的时间间隔或根据帧间变化程度进行有取舍的采集,而后通过实时性较差但压缩性能较高的v-pcc进行压缩以减少非必要的编码点云点数;对于帧间变化较大的运动区域点云,则依据采集设备的采集帧率,分割独立点云块后采用实时性较强的八叉树方式进行压缩编码。之后将压缩的时域信息、分割块位置信息、编码后点云序列通过用户数据报协议(user datagram protocol,udp)协议传输到远程端,进而实现实时的解码重构。该方法充分利用了监控场景的特点,保证监控质量基本不变的前提下大大提高了实时性。
技术实现要素:5.本发明的目的在于提供一种基于3d点云的实时压缩与远程监控方法及系统,以弥补3d点云远程监控中,采集传输实时性较差的缺点。
6.为实现上述目的,本发明采用如下技术方案:一种基于3d点云的实时压缩与远程监控系统,包含编码过程和解码过程;
7.所述编码过程包括以下步骤:
8.步骤c1、采集监控场景的3d点云序列并记录各帧时序信息;
9.步骤c2、根据3d点云帧间几何误差进行动静分割;
10.c21、计算相邻帧各对应点间误差,依据相邻帧点间误差,将点云序列各帧分割为静止背景与运动区域两类点云;
11.c22、获取c21分割得到的静止背景点云后,同前一帧背景点云进行几何与属性的联合误差计算;
12.c23、将运动区域点云进一步划分,得到独立的运动子块点云并记录块位置与块编号信息;
13.步骤c3、依据3d点云运动性质进行分类压缩;
14.c31、将步骤c23中的运动子块点云通过八叉树进行压缩编码;
15.c32、通过设定的背景压缩时间间隔参数与背景误差阈值参数,对步骤c22中的静止背景点云进行取舍判断;
16.c33、将步骤c32中满足采集条件的静止背景点云通过v-pcc(video-based point cloud compression)进行压缩编码;
17.步骤c4、点云帧编码码流的封装与传输;
18.c41、依据是否包含静止背景信息,对编码帧码流分为使用包含静止背景的封装帧与仅有运动区域封装帧两种不同的封装方式,分别进行编码帧的封装;
19.c42、将封装的编码帧使用用户数据报协议(user datagram protocol,udp)进行远程传输;
20.所述解码过程包括以下步骤:
21.步骤d1、编码帧码流的接收和解封装;
22.d11、使用用户数据报协议(udp)接收远程传输的编码帧;
23.d12、对编码帧进行本地保存和解封装;
24.d13、对接收的编码帧类型进行判定,确定是否包含静止背景编码比特流;
25.步骤d2、对解封装的3d点云进行解码与融合;
26.d21、若包含静止背景的编码比特流,则通过v-pcc解码器进行静止背景的解码,否则跳转至步骤d22;
27.d22、通过八叉树解码对运动区域点云子块进行解压缩;
28.d23、获取各运动区域点云子块的块位置、块编号以及采集帧时序信息;
29.d24、对运动区域点云子块依据位置与序号信息重新融合为运动区域点云;
30.d25、将v-pcc解码得到的背景点云与运动区域点云,重新融合为一帧完整的点云,并与时序信息一同传输至3d监控视频展示模块;
31.步骤d3、3d监控视频展示。
32.进一步的,步骤c1的采集监控场景的3d点云序列并记录各帧时序中,使用双目相机进行监控场景的3d点云序列采集。
33.进一步的,步骤c21,计算相邻帧各对应点间误差,通过当前3d点云帧f与前帧点云f-1通过公式(1)进行两帧帧间各个对应点的几何误差e(i)的计算。
[0034][0035]
其中i为当前帧f的第i个点,j为前帧点云f-1帧中对应于i的最近点,e为误差向量
函数;
[0036]
之后,依据邻帧点间误差,将3d点云序列各帧分割为静止背景与运动区域两类点云中,通过设定阈值mse,遍历每个点间误差e(i)与阈值的大小关系,根据公式(2)将当前帧f分割为静止背景与运动区域:
[0037][0038]
进一步的,步骤c22,获取c21分割得到的静止背景点云后,同前一帧背景点云进行几何与属性的联合误差计算中,背景帧间误差计算采用联合几何与属性两类误差进行综合分析,以确保识别几何变化的同时能准确识别背景属性变化,其中,静止背景帧间误差计算如公式(3)所示。
[0039][0040]
其中,mse
background
为静止背景帧间几何与属性联合误差值,与分别表示几何与属性误差。
[0041]
进一步的,步骤c23,将运动区域点云进一步划分,得到独立的运动子块点云并记录块位置与块编号信息中,运动部分点云的进一步划分使用基于kd树(k-d tree)的欧式聚类方法,并依据聚类顺序对子块进行编号;块位置信息通过各块距离原运动区域点云的原点位置坐标(0,0,0)的最近点位置坐标(x
min
,y
min
,z
min
)进行表示,用于解码端结合块序号快速重构出运动区域点云。
[0042]
进一步的,步骤c31,将步骤c23中的运动子块点云通过八叉树进行压缩编码中,通过pcl(point cloud library)库分析点云数据,而后采用基于pcl点云库的八叉树编码方式压缩每一个运动子块,八叉树编码通过将无序的3d点云体素化,而后对占用节点进行逐级深入的八叉树分解,进而实现对运动子块的编码。
[0043]
进一步的,在步骤c32,通过设定的背景压缩时间间隔参数与背景误差阈值参数,对步骤c22中的静止背景点云进行取舍判断中,存在两种需要进行背景采集的情况,第一种情形是在当前采集帧时序减去上次背景时序大于等于背景采集时间间隔时,则认为需要进行背景采集;第二种情形是由公式3计算得到的联合属性误差大于设定的误差阈值,则被认为需要进行背景采集;如果两种情形均不满足,则丢弃该背景帧。
[0044]
进一步的,步骤c33,将步骤c32中满足采集条件的静止背景点云通过v-pcc进行压缩编码中,v-pcc编码器将3d点云投影为2d图像,再利用视频编码器压缩图像序列。
[0045]
进一步的,步骤c41,依据是否包含静止背景信息,将编码帧码流分为使用包含静止背景的封装帧与仅有运动区域封装帧两种不同的封装方式,分别进行编码帧的封装中,需对步骤c1得到的采集帧时序信息、步骤c23得到的运动子块位置与编号信息、步骤c31得到的八叉树编码比特流以及步骤c33得到的需要更新的静止背景的v-pcc编码信息进行编码码流的整体性封装。
[0046]
进一步的,步骤d21,通过v-pcc解码器进行背景解码中,v-pcc解码器将编解封装得到的背景部分压缩比特流进行解码,并将解码得到的背景点云常驻内存中,等待与运动区域点云的融合。
[0047]
进一步的,步骤d22,通过八叉树解码器对运动子块点云进行解码时,待解码数据
来自解封装后的运动区域点云子块的编码信息,解码算法使用点云库(pcl)中提供的八叉树解码模块。
[0048]
进一步的,步骤d24,运动区域点云融合中,使用编码帧中的运动子块位置信息确定每一个子块在原始点云帧中的对应位置,进而合并该帧的所有运动子块点云以实现解码点云帧中运动区域的融合。
[0049]
进一步的,步骤d25,背景点云的融合中,通过将步骤d24获取的融合后运动区域点云与步骤d21中经v-pcc解码得到的静止背景点云进行融合,以重构出完整的一帧点云。
[0050]
至此,本发明所述的一种基于3d点云的实时压缩与远程监控方法流程完全结束。
[0051]
本发明还提供了一种基于3d点云的实时压缩与远程监控系统,包括存储器、处理器以及存储于存储器上并能够被处理器运行的计算机程序指令,当处理器运行该计算机程序指令时,能够实现如上述所述的方法步骤。
[0052]
相较于现有技术,本发明具有以下有益效果:本发明在采集端即对采集设备获取的3d点云序列依据其运动主体和静止背景进行了分割,并在接收端展示3d监控视频,能在确保主体监控信息不丢失的前提下极大减少需要编码和传输的点云数量,从而改善三维监控的实时性和可视效果。
附图说明
[0053]
图1是本发明的总体编码流程图。
[0054]
图2是本发明的总体解码流程图。
[0055]
图3是基于kd树的欧式聚类流程图
[0056]
图4是3d点云八叉树分解示意图
[0057]
图5是v-pcc编码流程示意图
[0058]
图6编码点云帧比特流封装的示意图
[0059]
图7是v-pcc解码流程示意图
具体实施方式
[0060]
下为让本专利的特征和优点能更明显易懂,下文特举实施例,作详细说明如下:
[0061]
应该指出,以下详细说明都是示例性的,旨在对本技术提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本技术所属技术领域的普通技术人员通常理解的相同含义。需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本技术的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
[0062]
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0063]
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数
形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0064]
应当理解,尽管在本公开可能采用术语第一、第二、第三来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
[0065]
下面结合附图及实施例对本发明做进一步说明。
[0066]
如图1、2所示,是本发明提供的一种基于3d点云的实时压缩与远程监控方法总体流程图,分为编码过程和解码过程两部分。包括如下步骤:
[0067]
所述编码过程包括以下步骤:
[0068]
步骤c1、采集监控场景的3d点云序列并记录各帧时序信息;
[0069]
步骤c2、根据3d点云帧间几何误差进行动静分割;
[0070]
c21、计算相邻帧各对应点间误差,依据相邻帧点间误差,将点云序列各帧分割为静止背景与运动区域两类点云;
[0071]
c22、获取c21分割得到的静止背景点云后,同前一帧背景点云进行几何与属性的联合误差计算;
[0072]
c23、将运动区域点云进一步划分,得到独立的运动子块点云并记录块位置与块编号信息;
[0073]
步骤c3、依据3d点云运动性质进行分类压缩;
[0074]
c31、将步骤c23中的运动子块点云通过八叉树进行压缩编码;
[0075]
c32、通过设定的背景压缩时间间隔参数与背景误差阈值参数,对静止背景点云进行取舍判断;
[0076]
c33、将步骤c32中满足采集条件的静止背景点云通过v-pcc进行压缩编码;
[0077]
步骤c4、点云编码帧码流的封装与传输;
[0078]
c41、依据是否包含静止背景信息,对帧编码码流分为使用包含静止背景的封装帧与仅有运动区域封装帧两种不同的封装方式,分别进行编码帧的封装;
[0079]
c42、将封装的编码帧使用用户数据报协议(udp)进行远程传输;
[0080]
所述解码过程包括以下步骤:
[0081]
步骤d1、编码帧码流的接收和解封装;
[0082]
d11、使用用户数据报协议(udp)接收远程传输的编码帧;
[0083]
d12、对编码帧进行本地保存和解封装;
[0084]
d13、对接收的编码帧类型进行判定,确定是否包含静止背景编码比特流;
[0085]
步骤d2、对解封装的3d点云进行解码与融合;
[0086]
d21、若包含静止背景的编码比特流,则通过v-pcc解码器进行静止背景的解码,否则跳转至步骤d22;
[0087]
d22、通过八叉树解码对运动区域点云子块进行解压缩;
[0088]
d23、获取各运动区域点云子块的块位置、块编号以及采集帧时序信息;
[0089]
d24、对运动区域点云子块依据位置信息重新融合为运动区域点云;
[0090]
d25、将v-pcc解码得到的背景点云与运动区域点云,重新融合为一帧完整的点云,并与时序信息一同传输至3d监控视频展示模块;
[0091]
步骤d3、3d监控视频展示。
[0092]
进一步的,步骤c1,采集监控场景的3d点云序列并记录各帧时序。本实施例中,所使用的3d动态点云序列实时采集设备为zed 2i型双目相机,采集率设置为每秒30帧。
[0093]
进一步的,步骤c21,计算相邻帧各对应点间误差,具体的,误差通过当前3d点云帧f与前帧点云f-1由下式(1)进行两帧帧间各个对应点的几何误差e(i)的计算。
[0094][0095]
其中i为当前帧f的第i个点,j为前帧点云f-1帧中对应于i的最近点,e为误差向量函数;
[0096]
之后,依据邻帧点间误差,将点云序列各帧分割为静止背景与运动区域两类点云中,通过设定阈值mse,遍历每个点间误差e(i)与阈值的大小关系,根据公式(2)将当前帧f分割为静止背景与运动区域。本实施实例中,通过对邻帧点间误差与误差阈值之间的大小关系,判断该点属于静止背景还是运动区域点云,若误差大于阈值mse则为运动点,反之则为静止的背景点。
[0097]
此外,若当前帧f为采集序列的第一帧,则跳过此步骤,直接将完整点云帧定义为运动区域。
[0098][0099]
进一步的,步骤c22,获取c21分割得到的静止背景点云后,同前一帧背景点云进行几何与属性的联合误差计算中,背景帧间误差计算采用联合几何与属性两类误差进行综合分析,以确保识别几何变化的同时能准确识别背景属性变化,其中,静止背景帧间误差计算如公式(3)所示。
[0100][0101]
其中,mse
background
为静止背景帧间几何与属性联合误差值,与分别表示几何与属性误差。
[0102]
进一步的,步骤c23,将运动区域点云进一步划分,得到独立的运动子块点云并记录块位置信息与当前采集帧的时序中,运动部分点云的进一步划分使用基于kd树(k-d tree)的欧式聚类方法,并依据聚类顺序对子块进行编号;块位置信息通过各块距离原运动区域点云的原点位置坐标(0,0,0)的最近点位置坐标(x
min
,y
min
,z
min
)进行表示,用于解码端结合块序号快速重构出运动区域点云。在本实施实例中,基于kd树的欧式聚类方法的具体流程参见图3所示。首先,对于输入的运动部分点云,随机选取空间某个点p,而后搜索该点k个最近点,之后对k临近点与p点的距离进行判断,如果小于设定阈值,则归为子运动块点集q,大于阈值则舍弃。而后,在点集q中选取p以外点,进行下一次搜索,直到q中元素不再增加时,表明该q点集即为经过聚类得到的独立的运动子块。其次,针对运动区域点云经过欧式聚类得到n个子点云块,依据聚类顺序对子块赋予0至n-1的块编号,位置信息通过记录各块距离原点(0,0,0)最近的点的位置(x
min
,y
min
,z
min
)坐标,表示该块在原始点云中的位置,用于解码端快速定位出原始运动点云。第0至第n-1个子点云块距离原点最近坐标为(x0,y0,
z0),(x1,y1,z1),...,(x
n-1
,y
n-1
,z
n-1
),表明解码重构时,需要对该块位置坐标以(x
n-1
,y
n-1
,z
n-1
)为基准进行重构。
[0103]
进一步的,步骤c31,将步骤c23中的运动子块点云通过八叉树进行压缩编码中,通过pcl(point cloud library)库分析点云数据,而后采用pcl点云库的八叉树编码方式压缩每一个运动子块。八叉树编码通过将无序的3d点云体素化,而后对占用节点进行逐级深入的八叉树分解,进而实现对运动子块的编码。在本实施实例中,八叉树分解示意如图4所示。图4中1、2、7点所在区域为点云中的像素,八叉树编码首先对点云数据进行体素化,而后通过不断深入迭代进行三维空间的八等分,用1表示该区域存在像素,0则表示不存在,最终遍历每个节点或在用户设定的分割深度下截止。其中,第一层遍历结果为
‘
00010000’,表明八叉树第四个区域,即图中编号3所在区域包含三维点云像素信息;同理的,继续深入遍历,得到
‘
01100001’,此时已经到达叶子节点末端,完成全部遍历,根据遍历结果
‘
0001000001100001’即可确定三个点空间位置的信息;进而,上述二进制数码通过区间编码获得编码比特流。
[0104]
进一步的,在步骤c32,通过设定的背景压缩时间间隔参数与背景误差阈值参数,对步骤c22中的静止背景点云进行取舍判断,存在两种需要进行背景采集的情况,第一种情形是在当前采集帧时序减去上次背景时序大于等于背景采集时间间隔时,则认为需要进行背景采集;第二种情形是由公式3计算得到的联合属性误差大于设定的误差阈值,则被认为需要进行背景采集;如果两种情形均不满足,否则丢弃该背景帧。
[0105]
进一步的,步骤c33,将满足c32中满足采集条件的静止背景点云通过v-pcc进行压缩编码中,v-pcc编码器将3d点云投影为2d图像,再利用视频编码器压缩图像序列。在本实施实例中,v-pcc编码的具体流程见图5所示,v-pcc编码器接收背景部分点云,而后依据各点拟合的平面进行块分割得到多个patch,然后将分割得到的patch在二维上投影后得到二维图像,之后再由二维视频编码器进行视频压缩,最后与压缩的辅助信息一起进行多路复用,从而生成编码码流。其中,为了完整的保留三维上的信息,二维图像共分为三种类型,分别为记录几何信息的几何图,记录属性信息的属性图以及记录投影后二维图像占用与否的占用图;为了减少投影中空像素区域可能导致的高频分量,通过几何与属性的平滑实现对空像素区域的填充;此外,为了填补分割patch导致的空隙,还需在编码端重构以进行三维上的平滑滤波;
[0106]
进一步的,步骤c41,依据是否包含静止背景信息,将编码帧码流分为使用包含静止背景的封装帧与仅有运动区域封装帧两种不同的封装方式,分别进行编码帧的封装中,需对步骤c1得到的采集帧时序信息、步骤c23得到的运动子块位置与编号信息、步骤c31得到的八叉树编码比特流以及步骤c33得到的需要更新的静止背景的v-pcc编码信息进行编码码流的整体性封装。如图6所示,本实施例中,其封装分为两种情形,鉴于该发明中背景部分无需每帧进行压缩传输编码,故而封装的第一种情形为仅包含运动区域点云的八叉树编码信息、块位置以及时序信息,在封装首比特中的帧类型标识符设为1。第二种情形则包含了一帧完整的3d点云的所有编码信息,将封装首比特中的帧类型标识符设为0。
[0107]
进一步的,在步骤d13,是否包含静止背景点云的判断中所使用的判定依据即为解封装得到的帧类型标识符。
[0108]
进一步的,步骤d21,通过v-pcc解码器进行静止背景解码中,v-pcc解码器将解封
装得到的背景部分压缩比特流进行解码,并将解码得到的背景点云常驻内存中,等待与运动区域点云的融合。v-pcc解码框架如图7所示,在本实施例中,通过二维视频解码器对属性图,几何图与占用图进行解码得到二维图像,对辅助信息进行解码得到patch信息;依据占用图确定占用像素位置,依据用patch位置和几何图确定三维几何位置以实现三维上的几何重构;通过属性图确定3d点云的属性信息以得到包含几何与属性信息的重构点云,最后进行平滑滤波后输出重构点云。
[0109]
进一步地,步骤d22,通过八叉树压缩解码器对运动部分点云块进行解码中,八叉树解码数据来自对传输得到的编码帧解封装后的运动部分编码信息,解码算法使用点云库(pcl)中提供的八叉树解码模块。步骤d24,运动区域点云融合中,对于步骤d23解码得到的运动块,结合步骤d12中解封装得到的运动子块位置信息确定每一个子块在原始点云中的对应位置,实现原始点云中运动部分的融合。
[0110]
进一步的,步骤d26,背景点云的融合中,将步骤d24得到的运动区域点云与步骤d21得到的静止背景点云进行融合,以获的完整的点云帧。
[0111]
本发明还提供了一种基于3d点云的实时压缩与远程监控系统,包括存储器、处理器以及存储于存储器上并能够被处理器运行的计算机程序指令,当处理器运行该计算机程序指令时,能够实现如上述所述的方法步骤。
[0112]
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
[0113]
本实施例提供的以上方法可以代码化的形式存储在计算机可读取存储介质中,并以计算机程序的方式进行实现,并通过计算机硬件输入计算所需的基本参数信息,并输出计算结果。
[0114]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0115]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0116]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0117]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计
算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0118]
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。本专利不局限于上述最佳实施方式,任何人在本专利的启示下都可以得出其它各种形式,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本专利的涵盖范围。
[0119]
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。
技术特征:1.一种基于3d点云的实时压缩与远程监控方法,其特征在于,包括如下步骤:编码过程:步骤c1、采集监控场景的3d点云序列并记录各帧时序信息;步骤c2、根据3d点云帧间误差进行动静分割;步骤c3、依据3d点云运动性质进行分类压缩;步骤c4、3d点云编码帧码流的封装与传输;解码过程:步骤d1、对编码帧码流的接收和解封装;步骤d2、对解封装的3d点云进行解码与融合。2.根据权利要求1所述的一种基于3d点云的实时压缩与远程监控方法,其特征在于,所述步骤c2具体包括循环执行的以下步骤:c21、计算相邻帧各对应点间误差,依据相邻帧点间误差,将点云序列各帧分割为静止背景与运动区域两类点云;c22、获取c21分割得到的静止背景点云后,同前一帧背景点云进行几何与属性的联合误差计算;c23、将运动区域点云进一步划分,得到独立的运动子块点云并记录块位置与块编号信息;所述步骤c3具体包括循环执行的以下步骤:c32、通过设定的背景压缩时间间隔参数与背景误差阈值参数,对静止背景点云进行取舍判断;所述步骤c4具体包括循环执行的以下步骤:c41、依据是否包含静止背景信息,对编码帧码流分为使用包含静止背景的封装帧与仅有运动区域封装帧两种不同的封装方式,分别进行编码帧的封装。3.根据权利要求1所述的一种基于3d点云的实时压缩与远程监控方法,其特征在于,所述步骤d1具体包括循环执行的以下步骤:d12、对编码帧码流进行本地保存和解封装;d13、对接收的编码帧码流类型进行判定,确定是否包含静止背景编码比特流;所述步骤d2具体包括循环执行的以下步骤:d23、获取各运动区域点云子块的位置、块编号以及采集帧时序信息;d24、对运动区域点云子块依据位置与序号信息重新融合为运动区域点云。4.根据权利要求2所述的一种基于3d点云的实时压缩与远程监控方法,其特征在于,在步骤c21,计算相邻帧各对应点间误差,通过当前3d点云帧f与前帧点云f-1通过公式(1)进行两帧帧间各个对应点的几何误差e(i)的计算;其中i为当前帧f的第i个点,j为前帧点云f-1帧中对应于i的最近点,e为误差向量函数;之后,依据邻帧点间误差,将3d点云序列各帧分割为静止背景与运动区域两类点云中,通过设定阈值mse,遍历每个点间误差e(i)与阈值的大小关系,根据公式(2)将当前帧f分割
为静止背景与运动区域:5.根据权利要求2所述的一种基于3d点云的实时压缩与远程监控方法,其特征在于,步骤c22,获取c21分割得到的静止背景点云后,同前一帧背景点云进行几何与属性的联合误差计算中,背景帧间误差计算采用联合几何与属性两类误差进行综合分析,以确保识别几何变化的同时能准确识别背景属性变化,其中,静止背景帧间误差计算如公式(3)所示:其中,mse
background
为静止背景帧间几何与属性联合误差值,与分别表示几何与属性误差。6.根据权利要求2所述的一种基于3d点云的实时压缩与远程监控方法,其特征在于,在步骤c23中,将运动区域点云进一步划分,得到独立的运动子块点云并记录块位置与块编号信息中,运动部分点云的进一步划分使用基于kd树的欧式聚类方法,并依据聚类顺序对子块进行编号;块位置信息通过各块距离原运动区域点云的原点位置坐标(0,0,0)的最近点位置坐标(x
min
,y
min
,z
min
)进行表示,用于解码端结合块序号快速重构出运动区域点云。7.根据权利要求6所述的一种基于3d点云的实时压缩与远程监控方法,其特征在于,在步骤c32中,通过设定的背景压缩时间间隔参数与背景误差阈值参数,对静止背景点云进行取舍判断中,存在两种需要进行背景采集的情况,第一种情形是在当前采集帧时序减去上次背景时序大于等于背景采集时间间隔时,则认为需要进行背景采集;第二种情形是由公式(3)计算得到的联合属性误差大于设定的误差阈值,则被认为需要进行背景采集;如果两种情形均不满足,否则丢弃该背景帧。8.根据权利要求2所述的一种基于3d点云的实时压缩与远程监控方法,其特征在于,在步骤c41中,依据是否包含静止背景信息,将编码帧码流分为使用包含静止背景的封装帧与仅有运动区域封装帧两种不同的封装方式,分别进行编码帧的封装中,步骤c23得到的运动子块位置与编号信息、步骤c31得到的八叉树编码比特流以及步骤c33得到的需要更新的静止背景的v-pcc编码信息进行编码码流的整体性封装;其封装分为两种情形,封装的第一种情形为仅包含运动区域点云的八叉树编码信息、块位置与编号信息以及采集帧时序信息;第二种情形则包含一帧完整3d点云的所有编码信息。9.根据权利要求3所述的一种基于3d点云的实时压缩与远程监控方法,其特征在于,在步骤d24中,运动区域点云融合中,通过使用编码帧中的运动子块位置信息确定每一个子块在原始点云帧中的对应位置,进而合并该帧的所有运动子块点云以实现解码点云帧中运动区域的融合。10.一种基于3d点云的实时压缩与远程监控系统,其特征在于,包括存储器、处理器以及存储于存储器上并能够被处理器运行的计算机程序指令,当处理器运行该计算机程序指令时,能够实现如权利要求1-9任一所述的方法步骤。
技术总结本发明涉及一种基于3D点云的实时压缩与远程监控方法及系统。该方法:在采集端,对3D动态点云帧依据运动特性分割为静止背景与运动区域两种3D动态点云序列;对静止背景设定采集条件,通过几何与属性联合误差与时间间隔确定背景更换与否,并使用V-PCC进行压缩;对于已分割的运动区域3D点云块,通过八叉树压缩;将压缩后的背景信息和运动区域封装,并进行网络传输;在接收端,分别对解封装后的背景点云序列与运动区域点云序列进行V-PCC与八叉树解码;重新融合为包含运动与背景完整信息的一帧点云,并进行实时3D视频展示;而后存储备份。本发明能在确保主体监控信息不丢失的前提下极大减少需要编码和传输的点云数量,从而改善三维监控的实时性。监控的实时性。监控的实时性。
技术研发人员:陈建 廖燕俊 郑明魁 林育芳 黄炜
受保护的技术使用者:福州大学
技术研发日:2022.07.18
技术公布日:2022/11/1