CN111383231B - 一种基于3d图像的图像分割方法、装置及系统 - Google Patents
一种基于3d图像的图像分割方法、装置及系统 Download PDFInfo
- Publication number
- CN111383231B CN111383231B CN201811623891.0A CN201811623891A CN111383231B CN 111383231 B CN111383231 B CN 111383231B CN 201811623891 A CN201811623891 A CN 201811623891A CN 111383231 B CN111383231 B CN 111383231B
- Authority
- CN
- China
- Prior art keywords
- points
- image
- point
- data
- connected region
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003709 image segmentation Methods 0.000 title claims abstract description 76
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000012545 processing Methods 0.000 claims abstract description 58
- 238000001914 filtration Methods 0.000 claims abstract description 26
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012946 outsourcing Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 abstract description 16
- 238000010586 diagram Methods 0.000 description 24
- 230000008569 process Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000013178 mathematical model Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241001270131 Agaricus moelleri Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/187—Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明提供了一种基于3D图像的图像分割方法、装置、系统及计算机存储介质。所述图像分割方法包括:基于背景过滤后的3D图像数据,将同类点聚类形成连通区域;去除连通区域内孤立区域和/或去除内部点数少的连通区域,形成所述3D图像的对象。根据本发明的方法、装置、系统及计算机存储介质,可以提高图像分割的计算效率以及图像分割的精度,为后续的图像处理提供精确的数据基础。
Description
技术领域
本发明涉及图像处理技术领域,更具体地涉及一种3D图像的图像分割。
背景技术
图像处理中根据图像数据形成对象是场景理解、目标跟踪识别的等应用或任务处理的基础,其结果有利于对象识别与分类。形成对象,又称图像分割,是通过一定的方式,将图像数据中的像素点分割成若干个的子集,每个子集中的数据具有基本相同的属性特征或一定的语义信息,在像目标跟踪识别等应用场景中能将这些子集视为一个独立物体的数据,便于确定其形状、大小等属性特征。
目前,图像分割在用于传统的2D图像处理上有一定的应用限制。2D图像每个像素点存储的彩色的RGB值,对2D图像的分割便是基于RGB值或图像灰度化后的灰度值进行的。传统的2D图像分割方法包括:1.阈值分割,是最常用的并行区域技术,可以同时对每个像素处理,像素灰度值或其函数值在一定阈值范围内的像素点被划为同一类,包括全局阈值、自适应阈值、最佳阈值处理等等,但在复杂场景在对于阈值的选取仍是很困难的,需要进行一定的计算,需要一些经验值,同时受不同的光照影响,对于不规则的三维物体表面点云数据的分割,不太适用;2.区域分割,包括区域生长和区域分裂合并,区域生长的基本思想是将具有相似性质的像素集合起来构成区域,区域生长是从某个或者某些像素点出发,最后得到整个区域,进而实现目标提取,这两种方法使用典型的串行区域技术,其分割过程后续步骤的处理要根据前面步骤的结果进行判断而确定,计算时间长;3.边缘分割,图像分割的一种重要途径是通过边缘检测,即检测灰度级或者结构具有突变的地方,表明一个区域的终结,也是另一个区域开始的地方。这种不连续性称为边缘。不同的图像灰度不同,边界处一般有明显的边缘,利用此特征可以分割图像,此方法也需要大量的串行处理,计算时间长;4.直方图法,直方图是从图像中的像素的计算,并在直方图的波峰和波谷是用于定位图像中的簇,这种方法适合处理2D图像像素值,但不适合处理3D的点云数据。
此外,由于图像采集设备的技术局限,获取的2D图像数据的采样密度是不均匀的,并且通常无序稀疏,造成图像分割或形成对象掺杂大量的噪音和异常点,无法为后续应用提供良好的数据基础。
因此,现有技术中存在缺少基于3D图像的形成对象方法以及现有的基于2D图像的形成对象掺杂大量的噪音和异常点,准确度不高的问题。
发明内容
考虑到上述问题而提出了本发明。
根据本发明一方面,提供了一种基于3D图像的图像分割方法,所述图像分割方法包括:
基于背景过滤后的3D图像数据,将同类点聚类形成连通区域;
去除连通区域内孤立区域和/或去除内部点数少的连通区域,形成所述3D图像的对象。
示例性地,所述3D图像数据包括深度图像或3D点云图像。
示例性地,所述将同类点聚类形成连通区域包括:
基于所述背景过滤后的3D图像数据,对所述3D图像数据中的每一行的同类点进行合并;
对所述3D图像数据中的每一列的同类点进行合并。
示例性地,所述同类点包括距离相近的点。
示例性地,所述距离相近的点包括:两点之间的距离小于或等于距离阈值。
示例性地,对所述3D图像数据中的每一行的同类点进行合并包括:同时或几近同时的对所有行的数据进行并行处理,行内数据进行串行处理;对所述深度图像中的每一列进行同类点合并包括:同时或几近同时的对所有列的数据进行并行处理,列内数据进行串行处理。
示例性地,所述将距离相近的点聚类形成连通区域还包括:对于所述3D图像数据中没有合并的点进行并行的同类合并。
示例性地,形成所述连通区域还包括:形成每个所述连通区域的最小一维下标值,其中,同一所述连通区域内的点具有相同的一维下标值。
示例性地,在去除连通区域内孤立区域和/或去除内部点数少的连通区域之前,还包括:将所述连通区域的一维下标值用从1开始的连续自然数进行最小化。
示例性地,去除连通区域内孤立区域包括:对所述3D数据图像中的无深度值的点分别统计所述每个无深度值的点的8个方向中的至少一个的相邻区域的一维下标值,将出现次数最多的一维下标值作为所述无深度值的点的一维下标值,其中,所述8个方向包括上、下、左、右、左上、左下、右上、右下。
示例性地,去除内部点数少的连通区域包括:并行统计同一连通区域内部点的个数,与点数阈值进行比较,当所述个数小于点数阈值时,去除所述内部点数少的连通区域。
示例性地,所述图像分割方法还包括:
计算所述对象的高度、投影到地面的中心点、表面积或外包中的至少一个信息。
根据本发明另一方面,提供了一种基于3D图像的图像分割装置,所述图像分割装置包括:
初步图像分割模块,用于基于背景过滤后的3D图像数据,将同类点聚类形成连通区域;
3D图像分割模块,用于去除连通区域内孤立区域和/或去除内部点数少的连通区域,形成所述3D图像的对象。
示例性地,所述初步图像分割模块包括:
行合并模块,用于基于所述背景过滤后的3D图像数据,对所述3D图像数据中的每一行的同类点进行合并;
列合并模块,用于对所述3D图像数据中的每一列的同类点进行合并。
示例性地,对所述3D图像数据中的每一行的同类点进行合并包括:同时或几近同时的对所有行的数据进行并行处理,行内数据进行串行处理;对所述深度图像中的每一列进行同类点合并包括:同时或几近同时的对所有列的数据进行并行处理,列内数据进行串行处理。
示例性地,所述初步图像分割模块还包括:点合并模块,用于对于所述3D图像数据中没有合并的点进行并行的同类合并。
示例性地,所述初步图像分割模块还包括:一维下标模块,用于形成每个所述连通区域的最小一维下标值,其中,同一所述连通区域内的点具有相同的一维下标值。
示例性地,图像分割装置还包括:下标最小化模块,用于在去除连通区域内孤立区域和/或去除内部点数少的连通区域之前,将所述连通区域的一维下标值用从1开始的连续自然数进行最小化。
示例性地,3D图像分割模块包括:膨胀模块,用于对所述3D数据图像中的无深度值的点分别统计所述每个无深度值的点的8个方向中的至少一个的相邻区域的一维下标值,将出现次数最多的一维下标值作为所述无深度值的点的一维下标值,其中,所述8个方向包括上、下、左、右、左上、左下、右上、右下。
示例性地,3D图像分割模块还包括:稀疏区域去除模块,用于并行统计同一连通区域内部点的个数,与点数阈值进行比较,当所述个数小于点数阈值时,去除所述内部点数少的连通区域。
示例性地,图像分割装置还包括:信息计算模块,用于计算所述对象的高度、投影到地面的中心点、表面积或外包中的至少一个信息。
根据本发明另一方面,提供了一种基于3D图像的图像分割系统,包括存储器、处理器及存储在所述存储器上且在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述基于3D图像的图像分割方法的步骤。
根据本发明另一方面,提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被计算机执行时实现上述基于3D图像的图像分割方法的步骤。
根据本发明实施例的基于3D图像的图像分割方法、装置、系统和计算机存储介质,通过行操作、列操作和点操作将图像数据中相关点赋予最小值,提高了图像分割的计算效率;而且通过去除无效点和噪声点,进一步提高了图像分割的精度,为后续的图像处理提供精确的数据基础。
附图说明
通过结合附图对本发明实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是根据本发明实施例的基于3D图像的图像分割方法的示意性流程图;
图2是根据本发明实施例的3D图像数据的示意性原理图;
图3是根据本发明实施例的3D图像数据中的每一行的同类点进行合并的示意图;
图4是根据本发明实施例的3D图像数据中的每一列的同类点进行合并的示意图;
图5是根据本发明实施例的3D图像数据中的每个点并行处理的示意图;
图6是根据本发明实施例的3D图像的图像分割方法的示例的示意流程图;
图7是根据本发明实施例的背景过滤后的深度图像示例的示意图;
图8是根据本发明实施例的深度图像中每一行的同类点进行合并示例的示意图;
图9是根据本发明实施例的深度图像中每一列的同类点进行合并的示例的示意图;
图10是根据本发明实施例的深度图像对每行每列进行同类点合并后的示例的示意图;
图11是根据本发明实施例的深度图像中去除内部点数少的连通区域的示例的示意图;
图12是根据本发明实施例的深度图像的以为一维下标值进一步最小化的示例的示意图;
图13是根据本发明实施例的深度图像的图像分割结果的示例的示意图;
图14是根据本发明实施例的基于3D图像的图像分割装置的示意性框图。
具体实施方式
为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。
首先,参照图1,图1示出了根据本发明实施例的基于3D图像的图像分割方法100,包括:
基于背景过滤后的3D图像数据,将同类点合并形成连通区域;
去除连通区域内孤立区域和/或去除内部点数少的连通区域,形成所述3D图像数据的对象。
其中,所述3D图像数据包括深度图像或3D点云图像或类3D图像。深度图像也叫距离影像,是指将从图像采集器到场景中各点的距离(深度)值作为像素值的图像。获取方法包括:激光雷达深度成像法、计算机立体视觉成像、坐标测量机法、莫尔条纹法、结构光法。而3D点云图像是当一束激光照射到物体表面时,所反射的激光会携带方位、距离等信息。若将激光束按照某种轨迹进行扫描,便会边扫描边记录到反射的激光点信息,由于扫描极为精细,则能够得到大量的激光点,因而就可形成激光点云。深度图像经过坐标转换可以计算为3D点云图像;有规则及必要信息的3D点云图像可以反算为深度图像。参见图2,图2是根据本发明实施例的3D图像数据的示意性原理图。如图2所示,图像采集装置所在的坐标系包括XYZ坐标系,图像采集装置获取目标点P的2D图像,其中,目标点P在2D图像中显示为像素点p,那么像素点p在2D图像中的坐标为(x,y);如果该2D图像为彩色图像,则像素点p的内容为RGB颜色值,而深度图像中,像素点p的内容为深度值Z;对于3D点云图像,则目标点P在3D点云图像中对应的点云坐标为(X,Y,Z)。
继续参见图2,在一个实施例中,图像采集装置为3D摄像头,假设3D摄像头采集的深度图像的分辨率是DX*DY,即深度图像宽是DX个像素点,高是DY个像素点,深度图像上每个像素点的值为3D摄像头所在坐标系下,目标点到此坐标系XY平面的距离(即目标点到该坐标系XY平面的投影距离),也就是深度值Z,相当于3D点云坐标(X,Y,Z)中的Z值。
继续参见图2,在另一实施例中,图像采集装置为3D摄像头,假设3D摄像头采集的3D点云图像的大小是DX*DY,那么所述3D点云图像中每个点的值为3D摄像头所在坐标系下,目标物体所对应的空间点云在此坐标系下的坐标值(X,Y,Z)。
其中,对于被过滤了的3D数据图像上的背景点,此背景点的Z值为0。
因为深度图像与3D点云图像之间可以互相转换,在图像分割的过程中对深度图像与3D点云图像中的像素点做相同的处理并不会对相互之间的变换关系造成影响,所以在图像分割的过程中可以同等对待。因此,本发明实施例中的3D图像数据可以是深度图像,也可以是3D点云图像,在此不做限制。
示例性地,所述3D图像数据的背景过滤包括:
基于所述3D图像数据和预定的背景过滤策略得到过滤背景后的3D图像数据;
其中,所述预定的背景过滤策略包括:1)基于所述3D场景的背景记录建立的背景区域进行背景过滤、2)基于所述3D场景中物体的几何特征建立的背景区域进行背景过滤、3)基于所述3D场景的在一定区域内变化的物体建立的背景区域进行背景过滤、4)基于对所述3D场景的深度学习建立的背景区域进行背景过滤中的至少一个。
示例性地,所述进行背景过滤包括:
计算所述3D图像数据中的像素点与所述背景区域中的背景点的距离,并与背景阈值比较;
如果所述距离小于或等于所述背景阈值则确定所述像素点属于背景点,消除所述属于像素点的图像点。
示例性地,基于所述3D场景的背景记录建立的背景区域包括:
获取所述3D场景的3D背景图像数据;
根据所述3D背景图像数据中的多帧图像进行叠加得到基于所述3D场景的背景记录建立的背景模型。
示例性地,基于所述3D场景中物体的几何特征建立的背景区域包括:根据空间几何形状的数学模型和通过人工标定或自动选取的所述物体表面的关键点,拟合得到所述物体的空间几何模型。
示例性地,基于所述3D场景的在一定区域内变化的物体建立的背景区域包括:
基于所述区域几何形状的数学模型和通过人工标定的所述区域的关键点,拟合得到所述区域的空间区域模型。
示例性地,基于对所述3D场景的深度学习建立的背景区域包括:
基于深度学习自动识别3D场景中的物体;
根据预定的场景要求自动确定背景物体,并利用空间位置关系对背景物体进行3D点云填充,得到背景点云模型。
需要说明的是,本发明的图像分割方法可以适用于采用上述背景过滤的方法处理后的3D图像数据,也适用于其它背景过滤方法处理后的3D数据图像,在此不做限制。
示例性地,所述将同类点合并形成连通区域包括:
基于所述背景过滤后的3D图像数据,对所述3D图像数据中的每一行的同类点进行合并;
对所述3D图像数据中的每一列的同类点进行合并。
其中,经过背景过滤后的3D图像数据记为3D前景图像数据,3D前景图像数据中同类点是指距离相隔很近的相邻点。
在一个实施例中,所述同类点包括:距离小于或等于距离阈值的相邻点。其中,距离阈值是预定的一个阈值,作为判断是否为同类点的标准,如果两个相邻点之间的距离在不超过预定的距离阈值则说明这两个相邻点属于同类点,可以将二者合并;如果两个相邻点之间的距离超过预定的距离阈值则说明这两个相邻点不属于同类点,不进行合并。
需要说明的是,所述距离阈值可以是一个预定的固定值,也可以是一个预定的变化值,如所述距离阈值可以是与3D图像数据中点的深度值Z成一定比例的值,可以是同类点之间的距离阈值相同,不是同类点之间的距离阈值不同,在此不做限定。
为了更好的表示合并后的3D图像数据中的哪些点属于同一类点,哪些点不属于同一类点,可以对3D图像数据中的每一个点设置一个一维下标值,合并后的同一类点(即连通区域)具有相同的一维下标值,用于唯一标识此连通区域,并区别于其他非同一类点。
示例性地,形成所述连通区域还包括:形成每个所述连通区域的一维下标值,其中,同一所述连通区域内的点具有相同的一维下标值。
对于3D图像数据上的每一个点都存在一个宽度方向上(从左到右)的索引dx,存在一个高度方向上(从上到下)的索引dy(或称此点在dy行dx列上)。同时设行和列的索引是从0开的的,那么3D图像数据包括0-(DX-1)列,0-(DY-1)行。对于DX*DY的3D图像数据中的每个点,按从左往右,从上到下的顺序计数,那么,在所述3D图像数据中,对于二维下标(dx,dy)处的点其一维下标为:idx=dy*DX+dx,即位于3D图像数据第dy行第dx列的点的一维下标值idx为dy*DX+dx。而且由此可知,左边的点的一维下标值小于右边的点的一维下标值,上方点的一维下标值小于下方的点的一维下标值,而为了减少同类点合并后的计算量,对于同一连通区域的点均选取最左边和最上边的点的以为下标值作为该连通区域的标识。
示例性地,对所述3D图像数据中的每一行的同类点进行合并包括:同时对所有行的数据进行并行处理,行内数据进行串行处理;对所述3D图像数据中的每一列进行同类点合并包括:同时或几近同时对所有列的数据进行并行处理,列内数据进行串行处理。
基于所有行和所有列的同类点合并,可以保证3D图像数据中所有相邻点之间都进行是否为同类的点计算及合并,不会出现遗漏情况,保证了数据处理的准确性。
在一个实施例中,以3D图像数据为DX*DY大小的深度图像为例进一步说明所述将同类点合并形成连通区域的过程如下:
设IDImage为DX*DY大小的变量,深度图像上的点若为同类点则其IDImage值相同,IDImage值为-1表示为背景点不参与分割;设ZImage为深度图像分配的变量,存储DX*DY大小的Z值;设ParamDetZScale为比例参数,用于确定不同距离(Z值)下,不同类点的距离阈值;其中,第dy行第dx列的点的一维下标值idx为dy*DX+dx。
首先,参见图3,图3示出了根据本发明实施例的3D图像数据中的每一行的同类点进行合并的示意图。对DX*DY的深度图像中的每一行数据进行并行处理,行内的数据进行串行处理。例如,对DY行的数据同时进行并行处理,那么GPU内有DY个线程在同时进行以下步骤(设线程内处理的是第dy行):
对二维下标(dy,0)的点,其一维下标值idx=dy*DX;如果其不为背景点,则IDImage[idx]=idx,如果其为背景点,则DImage[idx]=-1;
设dx为同一行上的不同列数,对dx为1到DX-1进行循环,循环体内进行如下操作:1)idx=dy*DX+dx;初始化IDImage[idx]=-1,即默认为背景点;2)如果此点不为背景点,其左边(dx-1,dy)点也不为背景点,那么计算这个(dx,dy)点的Z值和其左边(dx-1,dy)点Z值的差值,即detZ=abs(ZImage[idx]-ZImage[idx-1]),如果detZ<=ZImage[idx]*ParamDetZScale,那么认为(dx,dy)点和(dx-1,dy)点为同类点,令IDImage[idx]=IDImage[idx-1],如果detZ>ZImage[idx]*ParamDetZScale,那么认为(dx,dy)点和(dx-1,dy)点不为同类点,令IDImage[idx]=idx;3)如果(dx,dy)点不为背景点,其左边(dx-1,dy)点为背景点,那么同一令IDImage[idx]=idx;
此时,每一行的背景点的IDImage为-1,同类点的IDImage值相同且为此类最左边点的一维下标值,根据前述内容可知,左边点的一维下标值小于右边点的一维下标值,也就是说,经过上述循环过程,在此实施例当中,每一行合并的同类点均采用最小的最左边点的一维下标值。
其次,参见图4,图4示出了根据本发明实施例的3D图像数据中的每一列的同类点进行合并的示意图。对DX*DY的深度图像中的每一列数据进行并行处理,列内数据进行串行处理。例如,对DX列数据同时进行并行处理,那么GPU内有DX个线程在同时进行DX列的并行处理,设线程内对第dx列进行处理,dy为同一列上的不同行,那么列内对dy为1到DY-1进行循环,循环体内进行如下步骤:
计算点(dx,dy)的一维下标idx=dy*DX+dx(这里是点在存储空间的一维位置),令idxRoot=IDImage[idx],如果idxRoot不为-1,那么求IDImage[idx]和IDImage[idxRoot]之间的最小值,由于多个列线程可能同时操作IDImage内的值,所以使求最小值的原子操作InterlockedMin(IDImage[idx],IDImage[idxRoot]),即只有一个线程可以同时操作IDImage[idx],IDImage[idxRoot],将这个最小值赋值给IDImage[idx],IDImage[idx]=InterlockedMin(IDImage[idx],IDImage[idxRoot]),这样可以使IDImage[idx]获得其同一类点中更小的下标值,以实现同一类点存储的IDImage相同且最小,从而加速同一类点的合并;
比较(dx,dy)点和其上方(dx,dy-1)点是否为同一类点,具体步骤为:令idx0=(dy-1)*DX+dx,如果IDImage[idx0]为-1结束此步骤;否则计算这两个点Z值的差异,即detZ=abs(ZImage[idx]-ZImage[idx0]),如果detZ>ZImage[idx]*ParamDetZScale,这两个点不为同一类点,结束此步骤;如果detZ<=ZImage[idx]*ParamDetZScale,那么这两个点为同一类点,同样为加速同一类点的合并,令idxRoot0=IDImage[idx0],在多线程并行的情况下进行以下三个操作:IDImage[idx]=InterlockedMin(IDImage[idx],IDImage[idxRoot0]),IDImage[idx]=InterlockedMin(IDImage[idxRoot],IDImage[idxRoot0]),IDImage[idx]=InterlockedMin(IDImage[idxRoot0],IDImage[idxRoot])。
此时,经过以上操作,列方向上的同一类点完成合并,同时通过多线程的操作加速了同一类点合并的速度。
经过上述先对行上的数据同时进行并行处理将行上距离相近的点聚类形成连通区域,然后对列上的数据进行并行处理将距离相近的点聚类形成连通区域后,还有3D图像数据还可能会存在没有合并的点,对于这部分没有合并的点可以同时进行并行处理。
示例性地,所述将距离相近的点聚类形成连通区域还包括:对于所述3D图像数据中没有合并的点进行并行的同类点合并。
在一个实施例中,参见图5,图5示出了根据本发明实施例的3D图像数据中的没有合并的点进行并行的同类点合并的示意图。经过行和列的同类点合并后仍存在没有合并的点,将这些没有合并的点进行合并,包括如下处理:
设GPU内分配的最大线程数为MAXTHREADNUM,那么GPU的每次调度可以同时运行MAXTHREADNUM个线程,为DX*DY大小的3D图像数据的每一个点都分配一个线程,如果DX*DY>MAXTHREADNUM,那么GPU要进行(DX*DY+MAXTHREADNUM-1)/MAXTHREADNUM次的调度,其中调度次数为整数。而每一个线程处理一个点的数据,对(dx,dy)点的线程处理包括(不依照任何顺序):
令idx=dy*DX+dx,如果IDImage[idx]==-1,结束这个线程的操作,否则进行下面的步骤;
令idxRoot=IDImage[idx],进行下面的循环,循环结束的条件是idxRoot==IDImage[idxRoot],即(dx,dy)点已经找到其同一类点中一维下标最小的点(同一类点的最上最左的点),设nCount为循环执行的次数,数组rootNode用于存储每次循环找到到的较小一维下标,循环体内进行以下操作:rootNode[nCount]=idxRoot,idxRoot=IDImage[idxRoot],nCount++,同样为加速同一类点的合并速度,当nCount>1时,在nCount++之前执行InterlockedMin(IDImage[rootNode[nCount–1]],indexRoot)操作;此时,(dx,dy)点就找到了同一类点中最小的一维下标点,令IDImage[idx]=indexRoot;
为加速同一类点的合并速度,多线程之间同时进行下面操作,根据上一步求得其循环的次数nCount,那么这里进行nCount次循环,将每次循环找到的一维下标较小值交换成最小值,即InterlockedExchange(IDImage[rootNode[i]],indexRoot,old),(i为循环的次数,old为交换前的值);此时,通过以上步骤,使每个点被赋值上了同类点的最小一维下标,同时加速了合并的运算。
示例性地,在去除连通区域内孤立区域和/或去除内部点数少的连通区域之前,还包括:将所述连通区域用从1开始的连续自然数进一步的一维下标值最小化。
一个连通区域的最小一维下标值为其左上角点的一维下标值,如此点为图像上(px,py)位置的点,那么一维下标为:py*DX+px,这样所有连通区域的标识是较大数值的数且不连续,不方便后续存储和后续计算;因此为了方便后续计算和存储,可以将该标识连续化,数值从1开始。
在一个实施例中,对连通区域内部点存储的一维下标值用从1开始的连续自然数进一步最小化包括:
将连通区域用按顺序的自然数进行赋值替换,如有3个连通区域,那么这个3个连通区域内部点存储的值便是1,2,3,非连通区域的点赋值为0。
进行DX*DY规模的并行运算即进行DX*DY个线程的计算,其中单个线程的运算包括:
令idx=dy*DX+dx,idxRoot=IDImage[idx],如果idxRoot==IDImage[idxRoot]进行以下操作,InterlockedAdd(global,1,old),即对全局变量global进行原子加一操作,返回其原始值old,此时的idxRoot所在区域内的点就用old+1的值进行赋值;这样连通区域内部点的一维下标就最小化了,将这个内部点的一维下标值记为连通区域的ID;其中,对区域内的点进行赋值也使用DX*DY规模进行并行计算即进行DX*DY个线程的赋值。
示例性地,去除连通区域内孤立区域包括:对所述3D数据图像中的无深度值的点,分别统计所述每个无深度值的点的8个方向中的至少一个的相邻区域的一维下标值,将出现次数最多的一维下标值作为所述无深度值的点的一维下标值,其中,所述8个方向包括上、下、左、右、左上、左下、右上、右下。
可以理解的是,统计每个无深度值的点8个方向上的相邻区域的一维下标值,可以保证更有效和全面的去除连通区域内孤立区域;为了便于计算,也可以统计每个无深度值的点4个方向上相邻区域的一维下标值,其中,4个方向包括上、下、左、右。
其中,所述孤立区域包括至少一个无深度值的点的无效点;例如,眼睛所在部位的部分点无深度值。
在一个实施例中,所述无深度值的点采用邻近点的深度值进行插值,可以为提取连通区域轮廓等算法提供方便。
在一个实施例中,对DX*DY的3D图像数据中每个点进行并行处理,idx=dy*DX+dx,如果此点为连通区域的无效点,那么寻找其8个相邻区域(即图像上点的左,右,上,下,左上,右下,右上,左下)是否有效,选择8个相邻区域中连通区域ID出现最多次数(次数大于0)的ID为这个无效点的ID。根据实际情况和需要,可以多次对连通区域进行膨胀,即多次进行去除连通区域内孤立区域处理。
示例性地,去除内部点数少的连通区域包括:并行统计同一连通区域内部点的个数,与点数阈值进行比较,当所述个数小于点数阈值时,去除所述内部点数少的连通区域。
其中,内部点数是指连通区域的内部所包含的点的数量,内部点数少的连通区域包括噪音区域;去除所述内部点数少的连通区域包括将该连通区域中的点设置为背景点,即将点的连通区域的ID设置为0。
在一个实施例中,对DX*DY的3D图像数据中的每个点进行并行操作,idx=dy*DX+dx,取出每个点的连通区域ID,id=IDImage[idx],进行原子加法操作InterlockedAdd(ConnectedRegionSize[id],1);
同上进行并行运算,idx=dy*DX+dx,id=IDImage[idx],如果ConnectedRegionSize[id]小于预设值,令IDImage[idx]=0。
示例性地,所述图像分割方法还包括:
计算所述对象的高度、投影到地面的中心点、表面积或外包中的至少一个信息。
其中,计算所述对象的信息为后续的数据处理(如对象跟踪)提供数据基础。
示例性地,计算所述对象的高度包括:计算对象离地面的最低高度和最高高度。在一个实施例中,包括:对DX*DY的3D图像数据中的每个点进行并行操作,idx=dy*DX+dx,取出每个点的连通区域ID,id=IDImage[idx],同时计算(dx,dy)到平面的距离dis,其中平面方程可以根据标定及拟合获得;再进行原子的最小值,最大值求解操作InterlockedMin(Obj[id].minH,dis),nterlockedMax(Obj[id].maxH,dis),并行运算结束后便得到对象离地面的最小和最高高度。
示例性地,计算所述对象的中心点包括:计算对象的3D中心点及投影到地面的2D中心点。在一个实施例中,包括:对DX*DY的3D图像数据中的每个点进行并行操作,idx=dy*DX+dx,取出每个点的连通区域ID,id=IDImage[idx],对(dx,dy)点的点云值(x,y,z)进行累加操作:InterlockedAdd(Obj[id].x,x),InterlockedAdd(Obj[id].y,y),InterlockedAdd(Obj[id].z,z);对并行运算得到的对象点云累加值,除以对象的点的个数得到对象的3D中心点,将3D的中心点投影到地面得到平面上的对象2D中心点。
在一个实施例中,计算所述对象的表面积包括:对DX*DY的3D图像数据中的每个点进行并行操作,idx=dy*DX+dx,取出每个点的连通区域ID,id=IDImage[idx],对(dx,dy)点判断其与(dx,dy+1),(dx+1,dy+1)所形成的三角形是否为同一对象,如果是同一对象计算这个3个点够成的三角形的面积area;同理对(dx,dy),(dx+1,dy),(dx+1,dy+1)所构成的三角形;然后对每部分的面积继续并行累加InterlockedAdd(Obj[id].area,area),得到所述对象的表面积。
在一个实施例中,计算所述对象的3D外包包括:对DX*DY的3D图像数据中的每个点进行并行操作,idx=dy*DX+dx,取出每个点的连通区域ID,id=IDImage[idx],对(dx,dy)点的点云值(x,y,z),求取同一对象的最左值,最右值,最上值,最下值,最前值,最后值,即InterlockedMin(Obj[id].LeftX,x),InterlockedMax(Obj[id].RightX,x),InterlockedMin(Obj[id].TopY,y),InterlockedMax(Obj[id].BottomY,y),InterlockedMin(Obj[id].NearZ,z),InterlockedMax(Obj[id].FarZ,z),得到所述对象的3D外包。
在一个实施例中,参见图6,图6示出了根据本发明实施例的3D图像的图像分割方法的示例的示意流程图。所述方法600包括:
首先,获取过滤背景后的前景3D数据;可以理解,前景3D数据可以是经过任意背景过滤方法处理后的3D数据图像;
然后,对所述前景3D数据中的所有行进行并行的连通区域合并;具体包括:预先对前景3D数据中的每个点设置一个不同的下标,并对前景3D数据中的所有行数据进行并行处理,每一行内的数据进行串行处理,每一行从第一个点同时开始计算左右相邻点之间的距离,如果小于或等于预定的距离阈值则说明这两个相邻点属于同类点,需要进行合并,并用合并后的区域中用最左边的点的下标值作为该区域的标识,以此类推,每一行的同类点合并后,同一个连通区域的点即具有相同的下标;
接着,对上述行合并后的所述前景3D数据中的所有列进行并行的连通区域合并;具体包括:对所有列数据进行并行处理,每一列内的数据进行串行处理,每一列从第一个点同时开始计算上下相邻点之间的距离,如果小于或等于预定的距离阈值则说明这两个相邻点属于同类点,需要进行合并,并利用多线程之间的最小值的原子操作加速同一类点的合并;
接着,由于在经过上述行和列的连通区域合并之后可能仍然存在没有进行合并的点,继续将这些点与已经形成的连通区域进行连通区域合并;具体包括对每个点进行并行处理寻找其最小的一维下标,使每个点找到同类点中最小的一维下标点,多线程之间同时进行循环,每次循环找到的一维下标较小值交换成最小值,最后使每个点被赋值上了同类点的最小一维下标;
接着,从1开始对连通区域的下表中连续化和最小化;为了减少计算量,将上述连通区域的标识用从1开始的连续自然数进一步的一维下标值最小化,非连通区域的点赋值为0;
接着,统计连通区域点的个数,并去除区域较小的(噪音)区域;统计同一连通区域内部点的个数,与点数阈值进行比较,当所述个数小于点数阈值时,去除所述内部点数少的连通区域;
接着,膨胀连通区域的孤立点;统计所述每个无深度值的点的8个方向(如上、下、左、右、左上、左下、右上、右下)中的相邻区域的一维下标值,将出现次数最多的一维下标值作为所述无深度值的点的一维下标值,将孤立点融合至其他连通区域;需要说明的是,去除内部点数少的连通区域以及膨胀连通区域的孤立点之间没有顺序限制;
最后,形成对象计算3D对象的特征,包括计算所述对象的高度、投影到地面的中心点、表面积或外包中的至少一个信息,为后续的数据处理过程提供数据基础。
下面参见图7-图13,以具体示例对本发明实施例的3D图像分割方法进行进一步说明。
首先,图像采集装置获取目标物体的基于背景过滤后的深度图像,如图7所示,图7是根据本发明实施例的背景过滤后的深度图像示例的示意图。其中,所述深度图像中的每个像素点(每格代表一个像素点)内存储的是所述目标物体到所述图像采集装置的深度值Z,背景点被过滤之后背景点的Z为0,即如果每个像素点内存储的是0则该点为背景点;而所述深度图像大小为8*8,包括第0-7行数据,第0-7列数据,即每行和/或每列均包括8个像素点。例如,所述8*8深度图像中,位于第0行第0列的点P00二维坐标是(0,0),点P00内存储的深度值为0,说明第1行第1列是背景点;位于第2行第3列的点P23二维坐标是(3,2),点P23内存储的深度值为3.195。
接着,对所述深度图像中的每一行的同类点进行合并,如图8所示,图8示出了根据本发明实施例的深度图像中每一行的同类点进行合并示例的示意图,具体包括:对第0-7行的每1行数据同时进行并行处理,那么GPU内有8个线程在同时进行;每个线程进行每一行内的串行处理,以第1行为例,其行内串行处理的过程包括(设IDImage为DX*DY大小的变量):
对于第1行第0列的点,其二维坐标为(0,1),根据该点储存的深度值可知,其为背景点,则该点的一维下标值idx=-1;
对于第1行第1列的点,其二维坐标为(1,1),其一维下标为idx=1*8+1=9;根据该点储存的深度值3.17可知,其不为背景点;其左边的点(0,1)为背景点,则该第1行第1列的点IDImage[idx]=9;
对于第1行第2列的点,其二维坐标为(2,1),其一维下标为idx=1*8+2=10;根据该点储存的深度值3.18可知,其不为背景点;其左边的点(1,1)也不为背景点,则计算点(2,1)与点(1,1)中所存储的深度值的差值的绝对值3.18-3.17=0.01;如果所述差值的绝对0.01大于预定的距离阈值则判断点(2,1)与点(1,1)不是同一类点,则第1行第2列的点IDImage[idx]=10,如果所述差值0.01小于或等于预定的距离阈值则判断点(2,1)与点(1,1)是同一类点,则第1行第2列的点IDImage[idx]=IDImage[idx-1]=9;
类似地,按照上述方法可以对于第1行剩下的点进行同类点合并,如图4所示,第1行中第0列和第7列的点为背景点,剩下的点均为同类点,且用最左边的点(即第1行第1列的点)的最小的一维下标9表示;同理,可以得到其它行的同类点合并结果。
然后,对DX*DY的深度图像中的每一列数据进行同类点合并,如图9所示,图9示出了根据本发明实施例的深度图像中每一列的同类点进行合并的示例的示意图,具体包括:对第0-7列的每1行数据同时进行并行处理,那么GPU内有8个线程在同时进行;每个线程进行每一列内的串行处理,以第5列为例,其列内串行处理的过程包括(设IDImage为DX*DY大小的变量):
对于第5列第0行的点,其二维坐标为(5,0),一维下标idx=5,令idxRoot=IDImage[idx]=5,根据该点储存的深度值5.128可知,其不为背景点,那么求多线程之间的IDImage[idx]和IDImage[idxRoot]的最小值,而IDImage[idx]=5和IDImage[idxRoot]=IDImage[5]=5之间的最小值为5,则第5列第0行的点IDImage[idx]=5;
对于第5列第1行的点,其二维坐标为(5,1),一维下标idx=9,令idxRoot=IDImage[idx]=9,根据该点储存的深度值3.195可知,其不为背景点;此时,第1-4列的第2行数据分别与第1-4列的第一行数据在各自的列线程中判断为同类点,并进行合并,所述1-4列的第2行数据的点的存储空间的一维下标变为2;那么求多线程之间的IDImage[idx]和IDImage[idxRoot]的最小值,IDImage[idx]=9和IDImage[idxRoot]=IDImage[9]=2之间的最小值为2,则第5列第1行的点IDImage[idx]=2即为根据idxRoot方式找到的最小一维下标,有利于加速同类点的合并。
判断第5列第1行的点与上方的第5列第0行的点是否为同一类点,具体包括:计算第5列第0行的点的深度值5.128与第5列第1行的点的深度值3.195之差的绝对值为5.128-3.195=1.933;如果大于预定的距离阈值则说明二者不是同类点则结束,如果小于或等于预定的距离阈值则说明二者是同类点,则令idx0=(dy-1)*DX+dx,以及idxRoot0=IDImage[idx0],在多线程并行的情况下进行以下三个操作:IDImage[idx]=InterlockedMin(IDImage[idx],IDImage[idxRoot0]),IDImage[idx]=InterlockedMin(IDImage[idxRoot],IDImage[idxRoot0]),IDImage[idx]=InterlockedMin(IDImage[idxRoot0],IDImage[idxRoot]),以使IDImage[idx]获得其同一类点中更小的下标值。如图9所示,第5列第1行的点与上方的第5列第0行的点不为同一类点,则第5列第1行的点IDImage[idx]=2。这样可以使IDImage[idx]获得其同一类点中更小的下标值,以实现同一类点存储的IDImage相同且最小,从而加速同一类点的合并。
类似的,可以对第5列的其他行进行处理;同理,可以得到与第5列并行的其它列的同类点合并结果,如图10所示,图10示出了根据本发明实施例的深度图像对每行每列进行同类点合并后的示例的示意图。
接着,去除内部点数少的连通区域,如图10-图11所示,图10中包括若干个内部点数少的连通区域,图11示出了根据本发明实施例的深度图像中去除内部点数少的连通区域的示例的示意图;具体包括:并行统计同一连通区域内部点的个数,当所述个数小于3个(预定的点数阈值)时,去除所述内部点数少的连通区域,将其作为背景点。
接着,对连通区域内部点存储的一维下标值用从1开始的连续自然数进一步最小化,如图12所示,图12示出了根据本发明实施例的深度图像的以为一维下标值进一步最小化的示例的示意图。
接着,去除连通区域中的孤立点,图8的连通区域中包括2个孤立点,分别统计这两个孤立点的8个方向的相邻区域的一维下标值,将出现次数最多的一维下标值作为所述无深度值的点的一维下标值,其中,8个方向包括上、下、左、右、左上、左下、右上、右下;经过统计得到这两个孤立点周围出现最多的一维下标值为1,即将1赋予这两个孤立点,将其作为连通区域的一部分。
最后,如图13所示,图13示出了根据本发明实施例的深度图像的图像分割结果的示例的示意图。
图14示出了根据本发明实施例的基于3D图像的图像分割装置1400的示意性框图。如图14所示,根据本发明实施例的基于3D图像的图像分割装置1400包括:
初步图像分割模块1410,用于基于背景过滤后的3D图像数据,将同类点聚类形成连通区域;
3D图像分割模块1420,用于去除连通区域内孤立区域和/或去除内部点数少的连通区域,形成所述3D图像的对象。
其中,所述3D图像数据包括深度图像或3D点云图像。
示例性地,所述初步图像分割模块1410包括:
行合并模块1411,用于基于所述背景过滤后的3D图像数据,对所述3D图像数据中的每一行的同类点进行合并;
列合并模块1412,用于对所述3D图像数据中的每一列的同类点进行合并。
在一个实施例中,所述同类点包括距离相近的点。进一步地,所述距离相近的点包括:两点之间的距离小于或等于距离阈值。
示例性地,对所述3D图像数据中的每一行的同类点进行合并包括:对每一行数据进行并行处理,行内数据进行串行处理;对所述深度图像中的每一列进行同类点合并包括:对每一列数据进行并行处理,列内数据进行串行处理。
示例性地,所述初步图像分割模块1410还包括:点合并模块1413,用于对于所述3D图像数据中没有合并的点进行同类点合并。
示例性地,所述初步图像分割模块1410还包括:
一维下标模块1414,用于形成每个所述连通区域的一维下标值,其中,同一所述连通区域内的点具有相同的一维下标值。
示例性地,图像分割装置1400还包括:
下标最小化模块1430,用于在去除连通区域内孤立区域和/或去除内部点数少的连通区域之前,将所述连通区域的一维下标值最小化。
示例性地,3D图像分割模块1420包括:
膨胀模块1421,用于对所述3D数据图像中的无深度值的点分别统计所述每个无深度值的点的8个方向中的至少一个方向的相邻区域的一维下标值,将出现次数最多的一维下标值作为所述无深度值的点的一维下标值,其中,所述8个方向包括上、下、左、右、左上、左下、右上、右下。
其中,所述孤立区域包括至少一个无深度值的点的无效点;例如,眼睛所在部位的部分点无深度值。
在一个实施例中,所述无深度值的点采用邻近点的深度值进行插值,可以为提取连通区域轮廓等算法提供方便。
示例性地,3D图像分割模块1420还包括:
稀疏区域去除模块1422,用于统计同一连通区域内部点的个数,与点数阈值进行比较,当所述个数小于点数阈值时,去除所述内部点数少的连通区域。
其中,内部点数少的连通区域包括噪音区域;去除所述内部点数少的连通区域包括将该连通区域中的点设置为背景点,即将点的连通区域的ID设置为0。
示例性地,图像分割装置1400还包括:
信息计算模块1440,用于计算所述对象的高度、投影到地面的中心点、表面积或外包中的至少一个信息。
其中,计算所述对象的信息为后续的对象跟踪提供数据基础。
示例性地,计算所述对象的高度包括:计算对象离地面的最低高度和最高高度。
示例性地,计算所述对象的中心点包括:计算对象的3D中心点及投影到地面的2D中心点。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
根据本发明实施例,还提供了一种基于3D图像的图像分割系统,包括存储器、处理器及存储在所述存储器上且在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于3D图像的图像分割方法的步骤。
此外,根据本发明实施例,还提供了一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本发明实施例的基于3D图像的图像分割方法的相应步骤,并且用于实现根据本发明实施例的基于3D图像的图像分割装置中的相应模块。所述存储介质可以是一个或多个计算机可读存储介质的任意组合,例如一个计算机可读存储介质包含用于随机地生成动作指令序列的计算机可读的程序代码,另一个计算机可读存储介质包含用于进行基于3D图像的图像分割的计算机可读的程序代码。
在一个实施例中,所述计算机程序指令在被计算机运行时可以实现根据本发明实施例的基于3D图像的图像分割装置的各个功能模块,并且/或者可以执行根据本发明实施例的基于3D图像的图像分割方法。
根据本发明实施例的基于3D图像的图像分割方法及装置、系统以及存储介质,通过行操作、列操作和点操作将图像数据中相关点赋予最小值,提高了图像分割的计算效率;而且通过去除无效点和噪声点,进一步提高了图像分割的精度,为后续的图像处理提供精确的数据基础。
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。单词第一、第二、以及第三等的使用不表示任何顺序。
以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种基于3D图像的图像分割方法,其特征在于,所述图像分割方法包括:
基于背景过滤后的3D图像数据,将同类点聚类形成连通区域:基于所述背景过滤后的3D图像数据,对所述3D图像数据中的每一行的同类点进行合并:同时对所有行的数据进行并行处理,行内数据进行串行处理;对所述3D图像数据中的每一列的同类点进行合并:同时对所有列的数据进行并行处理,列内数据进行串行处理;对于所述3D图像数据中没有合并的点进行并行的同类合并;
去除连通区域内孤立区域和/或去除内部点数少的连通区域,形成所述3D图像的对象。
2.如权利要求1所述的图像分割方法,其特征在于,形成所述连通区域还包括:形成每个所述连通区域的最小一维下标值,其中,同一所述连通区域内的点具有相同的一维下标值。
3.如权利要求1所述的图像分割方法,其特征在于,在去除连通区域内孤立区域和/或去除内部点数少的连通区域之前,还包括:将所述连通区域的一维下标值用从1开始的连续自然数最小化。
4.如权利要求1所述的图像分割方法,其特征在于,去除连通区域内孤立区域包括:对3D图像数据中的无深度值的点分别统计所述每个无深度值的点的8个方向中的至少一个方向的相邻区域的一维下标值,将出现次数最多的一维下标值作为所述无深度值的点的一维下标值,其中,所述8个方向包括上、下、左、右、左上、左下、右上、右下。
5.如权利要求1所述的图像分割方法,其特征在于,去除内部点数少的连通区域包括:统计同一连通区域内部点的个数,与点数阈值进行比较,当所述个数小于点数阈值时,去除所述内部点数少的连通区域。
6.如权利要求1所述的图像分割方法,其特征在于,所述图像分割方法还包括:计算所述对象的高度、投影到地面的中心点、表面积或外包中的至少一个信息。
7.一种基于3D图像的图像分割装置,其特征在于,所述图像分割装置包括:
初步图像分割模块,用于基于背景过滤后的3D图像数据,将同类点聚类形成连通区域;其中,所述将同类点聚类形成连通区域包括:基于所述背景过滤后的3D图像数据,对所述3D图像数据中的每一行的同类点进行合并:同时对所有行的数据进行并行处理,行内数据进行串行处理;对所述3D图像数据中的每一列的同类点进行合并:同时对所有列的数据进行并行处理,列内数据进行串行处理;对于所述3D图像数据中没有合并的点进行并行的同类合并;
3D图像分割模块,用于去除连通区域内孤立区域和/或去除内部点数少的连通区域,形成所述3D图像的对象。
8.一种基于3D图像的图像分割系统,包括存储器、处理器及存储在所述存储器上且在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
9.一种计算机存储介质,其上存储有计算机程序,所述计算机程序被计算机执行时实现权利要求1至6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811623891.0A CN111383231B (zh) | 2018-12-28 | 2018-12-28 | 一种基于3d图像的图像分割方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811623891.0A CN111383231B (zh) | 2018-12-28 | 2018-12-28 | 一种基于3d图像的图像分割方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111383231A CN111383231A (zh) | 2020-07-07 |
CN111383231B true CN111383231B (zh) | 2023-10-27 |
Family
ID=71222252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811623891.0A Active CN111383231B (zh) | 2018-12-28 | 2018-12-28 | 一种基于3d图像的图像分割方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111383231B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339615A (zh) * | 2008-08-11 | 2009-01-07 | 北京交通大学 | 一种基于相似矩阵逼近的图像分割方法 |
CN101681525A (zh) * | 2007-06-08 | 2010-03-24 | 电子地图有限公司 | 产生多视点全景图的方法及设备 |
CN102099829A (zh) * | 2008-05-23 | 2011-06-15 | 微软公司 | 测地图像和视频处理 |
CN102867311A (zh) * | 2011-07-07 | 2013-01-09 | 株式会社理光 | 目标跟踪方法和目标跟踪设备 |
CN103426169A (zh) * | 2013-07-26 | 2013-12-04 | 西安华海盈泰医疗信息技术有限公司 | 一种医学图像的分割算法 |
CN104050673A (zh) * | 2014-06-27 | 2014-09-17 | 合肥工业大学 | 一种基于K-means图像分割的深度图提取方法 |
CN105844622A (zh) * | 2016-03-16 | 2016-08-10 | 南京工业大学 | 一种基于激光视觉的v型坡口焊缝检测方法 |
CN106447645A (zh) * | 2016-04-05 | 2017-02-22 | 天津大学 | 增强ct图像中冠脉钙化检测及量化装置和方法 |
CN106548520A (zh) * | 2016-11-16 | 2017-03-29 | 湖南拓视觉信息技术有限公司 | 一种点云数据去噪的方法和系统 |
CN106558053A (zh) * | 2015-09-25 | 2017-04-05 | 株式会社理光 | 对象分割方法和对象分割装置 |
WO2017197988A1 (zh) * | 2016-05-16 | 2017-11-23 | 杭州海康机器人技术有限公司 | 一种确定物体体积的方法及装置 |
CN108154523A (zh) * | 2017-12-25 | 2018-06-12 | 北京航空航天大学 | 一种机载光电平台中的实时目标跟踪系统及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102009022834A1 (de) * | 2009-05-27 | 2010-12-09 | Siemens Aktiengesellschaft | Verfahren zur automatischen Analyse von Bilddaten einer Struktur |
US8824733B2 (en) * | 2012-03-26 | 2014-09-02 | Tk Holdings Inc. | Range-cued object segmentation system and method |
-
2018
- 2018-12-28 CN CN201811623891.0A patent/CN111383231B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101681525A (zh) * | 2007-06-08 | 2010-03-24 | 电子地图有限公司 | 产生多视点全景图的方法及设备 |
CN102099829A (zh) * | 2008-05-23 | 2011-06-15 | 微软公司 | 测地图像和视频处理 |
CN101339615A (zh) * | 2008-08-11 | 2009-01-07 | 北京交通大学 | 一种基于相似矩阵逼近的图像分割方法 |
CN102867311A (zh) * | 2011-07-07 | 2013-01-09 | 株式会社理光 | 目标跟踪方法和目标跟踪设备 |
CN103426169A (zh) * | 2013-07-26 | 2013-12-04 | 西安华海盈泰医疗信息技术有限公司 | 一种医学图像的分割算法 |
CN104050673A (zh) * | 2014-06-27 | 2014-09-17 | 合肥工业大学 | 一种基于K-means图像分割的深度图提取方法 |
CN106558053A (zh) * | 2015-09-25 | 2017-04-05 | 株式会社理光 | 对象分割方法和对象分割装置 |
CN105844622A (zh) * | 2016-03-16 | 2016-08-10 | 南京工业大学 | 一种基于激光视觉的v型坡口焊缝检测方法 |
CN106447645A (zh) * | 2016-04-05 | 2017-02-22 | 天津大学 | 增强ct图像中冠脉钙化检测及量化装置和方法 |
WO2017197988A1 (zh) * | 2016-05-16 | 2017-11-23 | 杭州海康机器人技术有限公司 | 一种确定物体体积的方法及装置 |
CN106548520A (zh) * | 2016-11-16 | 2017-03-29 | 湖南拓视觉信息技术有限公司 | 一种点云数据去噪的方法和系统 |
CN108154523A (zh) * | 2017-12-25 | 2018-06-12 | 北京航空航天大学 | 一种机载光电平台中的实时目标跟踪系统及方法 |
Non-Patent Citations (5)
Title |
---|
CNKI高级检索: (分割 and 3D)/主题 and (聚类 and 连通)/摘要 and (背景 and 深度 and 行 and 列 and 孤立)/全文;唐志健;《中国优秀硕士学位论文全文数据库 信息科技辑》(第8期);第I138-560页 * |
Image Segmentation Based on Watershed and Edge Detection Techniques;Nassir Salman;《The International Arab Journal of Information Technology》;第3卷(第2期);第104-110页 * |
Serial and parallel approaches for image segmentation by numerical minimization of a second-order functional;R. Zanella等;《Applied Mathematics and Computation》;第318卷;第153-175页 * |
基于3D区域增长法和改进的凸包算法相结合的全肺分割方法;代双凤等;《电子与信息学报》;第38卷(第9期);第2358-2364页 * |
基于超体素区域增长的点云分割算法研究;姜媛媛;《中国优秀硕士学位论文全文数据库 信息科技辑》(第4期);第I138-2375页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111383231A (zh) | 2020-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10510148B2 (en) | Systems and methods for block based edgel detection with false edge elimination | |
US9754160B2 (en) | Method and device for detecting gathering of objects based on stereo vision as well as non-transitory computer-readable medium | |
CN111723721A (zh) | 基于rgb-d的三维目标检测方法、系统及装置 | |
CA3066502A1 (en) | Determining positions and orientations of objects | |
CN108960011B (zh) | 部分遮挡的柑橘果实图像识别方法 | |
CN110580481B (zh) | 一种基于epi的光场图像关键位置检测方法 | |
CN111553946B (zh) | 用于去除地面点云的方法及装置、障碍物检测方法及装置 | |
KR102073468B1 (ko) | 비전 시스템에서 컬러 이미지에 대해 컬러 후보 포즈들의 점수화를 위한 시스템 및 방법 | |
CN110889828A (zh) | 预定场景中的栈板识别方法、终端设备、计算机存储介质 | |
Cheng et al. | Building boundary extraction from high resolution imagery and lidar data | |
CN109948393A (zh) | 一种一维条码的定位方法及装置 | |
CN104408772A (zh) | 一种基于网格投影的自由曲面三维重建方法 | |
CN113112490B (zh) | 一种三维医学影像标记点提取方法及系统 | |
CN113362385A (zh) | 一种基于深度图像的货物体积测量方法及设备 | |
CN114998328A (zh) | 一种基于机器视觉的工件喷涂缺陷检测方法、系统及可读存储介质 | |
CN107220647A (zh) | 一种叶片交叉条件下作物中心点定位方法及系统 | |
CN112154479A (zh) | 提取特征点的方法、可移动平台及存储介质 | |
CN111783722B (zh) | 一种激光点云的车道线提取方法和电子设备 | |
CN116523898A (zh) | 一种基于三维点云的烟草表型性状提取方法 | |
CN108256385A (zh) | 基于视觉的前方车辆检测方法 | |
CN108647579B (zh) | 一种障碍物检测方法、装置及终端 | |
CN103714528B (zh) | 物体分割装置和方法 | |
CN111383231B (zh) | 一种基于3d图像的图像分割方法、装置及系统 | |
US10223803B2 (en) | Method for characterising a scene by computing 3D orientation | |
CN104239874B (zh) | 一种器官血管识别方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |