基于二值深度差进行物体检测的方法和装置转让专利

申请号 : CN201110126220.5

文献号 : CN102194128B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 于仕琪

申请人 : 深圳大学

摘要 :

本发明揭示了基于二值深度差进行物体检测的方法,包括:获取所采集深度图像的深度差对应的二值深度差特征;将所述二值深度差特征输入预设的分类模型,以得出所述深度图像是否包含物体。本发明还提出了对应的装置。本发明提出的一种基于二值深度差进行物体检测的方法和装置,在深度图像(三维数据)上进行物体检测,基于深度图像的像素的二值深度差特征建立分类模型,由于深度图像的像素值只与距离有关,与物体表面的亮度和颜色无关,因此本发明可以去除光照变化和复杂背景的干扰,使物体检测准确率高,误检测率低。

权利要求 :

1.一种基于二值深度差进行物体检测的方法,其特征在于,包括:获取所采集深度图像的深度差对应的二值深度差特征;

将所述二值深度差特征输入预设的分类模型,以得出所述深度图像是否包含物体;

所述获取所采集深度图像的深度差对应的二值深度差特征包括:根据下列程式计算深度图像中各像素的二值深度差:

所述BDx(x,y)为(x,y)位置的X方向二值深度差,BDy(x,y)为(x,y)位置的Y方向二值深度差,所述Gx(x,y)为(x,y)位置的X方向深度差,Gy(x,y)为(x,y)位置的Y方向深度差,所述M为一自然数;

统计所有像素的二值深度差,形成二值深度差特征。

2.如权利要求1所述的基于二值深度差进行物体检测的方法,其特征在于,所述Gx(x,y)和Gy(x,y)通过下列公式获得:Gx(x,y)=D(x+1,y)-D(x-1,y),Gy(x,y)=D(x,y+1)-D(x,y-1),其中D(x+1,y)为(x+1,y)位置的深度值,D(x-1,y)为(x-1,y)位置的深度值,D(x,y+1)为D(x,y+1)位置的深度值,D(x,y-1)为(x,y-1)位置的深度值。

3.如权利要求1所述的基于二值深度差进行物体检测的方法,其特征在于,所述二值深度差特征通过二值深度差统计直方图表示。

4.如权利要求1至3中任一项所述的基于二值深度差进行物体检测的方法,其特征在于,在执行所述获取所采集的深度图像的二值深度差特征之前,还包括:根据包括物体图像的深度图像,建立所述分类模型。

5.一种基于二值深度差进行物体检测的装置,其特征在于,包括:获取模块,用于获取所采集深度图像的深度差对应的二值深度差特征;输入模块,用于将所述二值深度差特征输入预设的分类模型,以得出所述深度图像是否包含物体;

所述获取模块包括:

计算单元,用于根据下列程式计算深度图像中各像素的二值深度差:所述BDx(x,y)为(x,y)位置的X方向二值深度差,BDy(x,y)为(x,y)位置的Y方向二值深度差,所述Gx(x,y)为(x,y)位置的X方向深度差,Gy(x,y)为(x,y)位置的Y方向深度差,D(x,y)为(x,y)位置的深度值,所述M为一自然数;

统计单元,用于统计所有像素的二值深度差,形成二值深度差特征。

6.如权利要求5所述的基于二值深度差进行物体检测的装置,其特征在于,所述计算单元通过下列公式获得Gx(x,y)和Gy(x,y):Gx(x,y)=D(x+1,y)-D(x-1,y),Gy(x,y)=D(x,y+1)-D(x,y-1),其中D(x+1,y)为(x+1,y)位置的深度值,D(x-1,y)为(x-1,y)位置的深度值,D(x,y+1)为D(x,y+1)位置的深度值,D(x,y-1)为(x,y-1)位置的深度值。

7.如权利要求6所述的基于二值深度差进行物体检测的装置,其特征在于,所述统计单元通过二值深度差统计直方图表示二值深度差特征。

8.如权利要求5至7中任一项所述的基于二值深度差进行物体检测的装置,其特征在于,还包括:建模模块,用于根据包括物体图像的深度图像,建立所述分类模型。

说明书 :

基于二值深度差进行物体检测的方法和装置

技术领域

[0001] 本发明涉及到图像处理领域,特别涉及到一种基于二值深度差进行物体检测的方法和装置。

背景技术

[0002] 目前对图像进行物体检测的算法都是在普通图像(二维数据)上进行,图像中的每个像素点的值表示的是物体的亮度,如白色衣服的亮度比黄色皮肤的亮度要高。因此普通图像的像素值只与物体表面颜色、反射的光线强度或发射的光线强度有关,与物体到相机的距离无直接关系,因此而造成的缺陷是难以克服光照变化和复杂背景干扰,普通图像中因光照引起的人的阴影、图像背景上的复杂纹理(如墙上画的物体形状),都会对物体检测造成干扰,将一些非物体区域误识别为物体,误检测率高。

发明内容

[0003] 本发明的主要目的是提出一种基于二值深度差进行物体检测的方法和装置,利用深度图像的像素提取二值深度差特征,以实现物体检测,降低了误检测率。
[0004] 本发明提出一种基于二值深度差进行物体检测的方法,包括:
[0005] 获取所采集深度图像的深度差对应的二值深度差特征;
[0006] 将所述二值深度差特征输入预设的分类模型,以得出所述深度图像是否包含物体。
[0007] 优选地,所述获取所采集深度图像的深度差对应的二值深度差特征包括:
[0008] 根据下列程式计算深度图像中各像素的二值深度差:
[0009]
[0010] 所述BDx(x,y)为(x,y)位置的X方向二值深度差,BDy(x,y)为(x,y)位置的Y方向二值深度差,所述Gx(x,y)为(x,y)位置的X方向深度差,Gy(x,y)为(x,y)位置的Y方向深度差,D(x,y)为(x,y)位置的深度值,所述M为一自然数;
[0011] 统计所有像素的二值深度差,形成二值深度差特征。
[0012] 优选地,所述Gx(x,y)和Gy(x,y)通过下列公式获得:
[0013] Gx(x,y)=D(x+1,y)-D(x-1,y),Gy(x,y)=D(x,y+1)-D(x,y-1),其中D(x+1,y)为(x+1,y)位置的深度值。
[0014] 优选地,所述二值深度差特征通过二值深度差统计直方图表示。
[0015] 优选地,在执行所述获取所采集的深度图像的二值深度差特征之前,还包括:
[0016] 根据包括物体图像的深度图像,建立所述分类模型。
[0017] 本发明还提出一种基于二值深度差进行物体检测的装置,包括:
[0018] 获取模块,用于获取所采集深度图像的深度差对应的二值深度差特征;输入模块,用于将所述二值深度差特征输入预设的分类模型,以得出所述深度图像是否包含物体。
[0019] 优选地,所述获取模块包括:
[0020] 计算单元,用于根据下列程式计算深度图像中各像素的二值深度差:
[0021]
[0022] 所述BDx(x,y)为(x,y)位置的X方向二值深度差,BDy(x,y)为(x,y)位置的Y方向二值深度差,所述Gx(x,y)为(x,y)位置的X方向深度差,Gy(x,y)为(x,y)位置的Y方向深度差,D(x,y)为(x,y)位置的深度值,所述M为一自然数;
[0023] 统计单元,用于统计所有像素的二值深度差,形成二值深度差特征。
[0024] 优选地,所述计算单元通过下列公式获得Gx(x,y)和Gy(x,y):
[0025] Gx(x,y)=D(x+1,y)-D(x-1,y),Gy(x,y)=D(x,y+1)-D(x,y-1),其中D(x+1,y)为(x+1,y)位置的深度值。
[0026] 优选地,所述统计单元通过二值深度差统计直方图表示二值深度差特征。
[0027] 优选地,所述基于二值深度差进行物体检测的装置还包括:
[0028] 建模模块,用于根据包括物体图像的深度图像,建立所述分类模型。
[0029] 本发明提出的一种基于二值深度差进行物体检测的方法和装置,在深度图像(三维数据)上进行物体检测,基于深度图像的像素的二值深度差特征建立分类模型,由于深度图像的像素值只与距离有关,与物体表面的亮度和颜色无关,因此本发明可以去除光照变化和复杂背景的干扰,使物体检测准确率高,误检测率低。

附图说明

[0030] 图1为本发明基于二值深度差进行物体检测的方法一实施例的流程示意图;
[0031] 图2为本发明基于二值深度差进行物体检测的方法一实施例中获取步骤的流程示意图;
[0032] 图3为本发明基于二值深度差进行物体检测的方法一实施例中二值深度差的示意图;
[0033] 图4为本发明基于二值深度差进行物体检测的方法一实施例中深度图像示例;
[0034] 图5为本发明基于二值深度差进行物体检测的方法又一实施例的流程示意图;
[0035] 图6为本发明基于二值深度差进行物体检测的装置一实施例的结构示意图;
[0036] 图7为本发明基于二值深度差进行物体检测的装置一实施例中获取模块的结构示意图;
[0037] 图8为本发明基于二值深度差进行物体检测的装置又一实施例的结构示意图。
[0038] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

[0039] 应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0040] 参照图1,提出本发明一种基于二值深度差进行物体检测的方法一实施例,包括:
[0041] 步骤S10、获取所采集深度图像的深度差对应的二值深度差特征;
[0042] 利用深度相机或激光测距扫描仪等设备采集深度图像,可记录下环境的三维数据,也即深度信息,深度信息以深度图像(三维数据)的方式存储。深度图像中每个像素点的值表示物体到相机的距离,像素值越大,表示物体离相机越远,深度图像的像素值只与物体到相机的距离有关,与物体表面的亮度和颜色无关。根据采集到的深度图像的像素获取该深度图像的深度差,进而得到二值深度差特征。由于在物体离背景远近不同的情况下,物体的形状都相同,但是计算出的深度差却不同。为了使得无论物体离背景远近,都有相同的深度差,本实施例引入二值深度差,即统计物体离背景远近不同时的深度差,将所得深度差归纳为二到三个值,称为二值深度差。
[0043] 步骤S11、将所述二值深度差特征输入预设的分类模型,以得出所述深度图像是否包含物体。
[0044] 将提取的二值深度差输入预设的分类模型,分类模型可以是支持向量机模型,也可以是AdaBoost模型等,以判断深度图像中是否包括物体,以人体为例,可以是整体或局部如头、肩、人体上半身等。分类模型为预先设置,通常是预设采集一个同时包含物体和环境的深度图像,对该深度图像提取图像特征进行训练并建模获得。
[0045] 本发明提出的一种基于二值深度差进行物体检测的方法,在深度图像(三维数据)上进行物体检测,基于深度图像的像素的二值深度差建立模型,由于深度图像的像素值只与距离有关,与物体表面的亮度和颜色无关,因此本发明可以去除光照变化和复杂背景的干扰,使物体检测准确率高,误检测率低。本发明能够自动判断周围环境中是否有物体存在,具有更高的智能性,可以应用于汽车、机器人或监控系统等多个领域,提高系统的智能性。
[0046] 参照图2、在一实施例中,步骤S10可包括:
[0047] 步骤S101、根据下列程式计算深度图像中各像素的二值深度差:
[0048]
[0049] 所述BDx(x,y)为(x,y)位置的X方向二值深度差,BDy(x,y)为(x,y)位置的Y方向二值深度差,所述Gx(x,y)为(x,y)位置的X方向深度差,Gy(x,y)为(x,y)位置的Y方向深度差,D(x,y)为(x,y)位置的深度值,所述M为一自然数,比如M可以取15厘米。将二值深度差表示为(BDx,BDy),可以获得如图3所示9种不同的二值深度差模式:(0,0),(1,0),(1,2),(0,1),(-1,1),(-1,0),(-1,-1),(0,-1)和(1,-1)。上述公式可以存在其它变形,如:
[0050]
[0051] 也可以是:
[0052]
[0053] 步骤S102、统计所有像素的二值深度差,形成二值深度差特征。
[0054] 如图4所示之深度图像,假定选定区域是64x128像素大小,将选定区域划分成4x8个16x16像素的的小方格。对小方格内的所有像素的二值深度差进行统计,可以获得一个直方图,直方图可表示为一个9维的向量。将一个区域中的所有方格(例如32个小方格)的向量连起来,可形成一个长的(9x32=288维)特征向量。这个向量就是整个区域的特征向量。
[0055] 本实施例使得无论物体离背景远近,都有相同的二值深度差,降低了误检率。
[0056] 在上述实施例中,所述Gx(x,y)和Gy(x,y)通过下列公式获得:
[0057] Gx(x,y)=D(x+1,y)-D(x-1,y),Gy(x,y)=D(x,y+1)-D(x,y-1),其中D(x+1,y)为(x+1,y)位置的深度值。
[0058] 可将深度图像分割成M*N个区域;M和N为大于或等于1的自然数。对每一区域里的所有像素进行深度差计算。深度差有两个方向,X方向(横向)和Y方向(纵向)的深度差,分别为:
[0059] Gx(x,y)=D(x+1,y)-D(x-1,y)
[0060] Gy(x,y)=D(x,y+1)-D(x,y-1)
[0061] 其中,Gx(x,y)为(x,y)位置的X方向深度差,Gy(x,y)为(x,y)位置的Y方向深度差,D(x,y)为(x,y)位置的深度值,计算得出的深度差可以用带有方向和大小的向量表示,也可用深度差直方图直观表示。统计每一区域所有像素的深度差,再将M*N个区域的深度差直方图连成一个大的向量(数组),形成深度图像的深度差。
[0062] 在上述实施例中,所述二值深度差特征通过二值深度差统计直方图表示。
[0063] 参照图5,提出本发明一种基于二值深度差进行物体检测的方法又一实施例,在步骤S10之前,还包括:
[0064] 步骤S12、根据包括物体图像的深度图像,建立所述分类模型。
[0065] 采集作为训练用的深度图像,该深度图像包括物体图像。从深度图像中标注出物体区域,将物体区域裁剪出,裁剪出的物体区域的深度图像,可裁剪成大量物体区域深度图像,作为训练的正样本。再从深度图像中标注出非物体区域即环境区域,将非物体区域裁剪出,可裁剪出大量非物体区域,作为训练的负样本。将所有的正样本和负样本归一化到相同的宽度和高度。对所有正负样本进行二值深度差运算,每个样本得到到一个二值深度差统计直方图。将所有样本的二值深度差统计直方图输入机器学习分类模型中(比如支持向量机模型),进行模型训练,最后得到一个分类模型,为物体检测作准备。
[0066] 本实施例中,对三维物体的表面建立分类模型为物体检测作准备,当物体进入拍摄场景中时,可自动将物体从环境中分离出来。
[0067] 参照图6,提出本发明基于二值深度差进行物体检测的装置一实施例,包括:
[0068] 获取模块10,用于获取所采集深度图像的深度差对应的二值深度差特征;输入模块20,用于将所述二值深度差特征输入预设的分类模型,以得出所述深度图像是否包含物体。
[0069] 利用深度相机或激光测距扫描仪等设备采集深度图像,可记录下环境的三维数据,也即深度信息,深度信息以深度图像(三维数据)的方式存储。深度图像中每个像素点的值表示物体到相机的距离,像素值越大,表示物体离相机越远,深度图像的像素值只与物体到相机的距离有关,与物体表面的亮度和颜色无关。获取模块10根据采集到的深度图像的像素获取该深度图像的深度差,进而得到二值深度差特征。由于在物体离背景远近不同的情况下,物体的形状都相同,但是计算出的深度差却不同。为了使得无论物体离背景远近,都有相同的深度差,本实施例引入二值深度差,即统计物体离背景远近不同时的深度差,将所得深度差归纳为二到三个值,称为二值深度差。
[0070] 输入模块20将提取的二值深度差输入预设的分类模型,分类模型可以是支持向量机模型,也可以是AdaBoost模型等,以判断深度图像中是否包括物体,以人体为例,可以是整体或局部如头、肩、人体上半身等。分类模型为预先设置,通常是预设采集一个同时包含物体和环境的深度图像,对该深度图像提取图像特征进行训练并建模获得。
[0071] 本实施例中,在深度图像(三维数据)上进行物体检测,基于深度图像的像素的二值深度差建立模型,由于深度图像的像素值只与距离有关,与物体表面的亮度和颜色无关,因此本发明可以去除光照变化和复杂背景的干扰,使物体检测准确率高,误检测率低。本发明能够自动判断周围环境中是否有物体存在,具有更高的智能性,可以应用于汽车、机器人或监控系统等多个领域,提高系统的智能性。
[0072] 参照图7,在一实施例中,获取模块10包括:
[0073] 计算单元11,用于根据下列程式计算深度图像中各像素的二值深度差:
[0074]
[0075] 所述BDx(x,y)为(x,y)位置的X方向二值深度差,BDy(x,y)为(x,y)位置的Y方向二值深度差,所述Gx(x,y)为(x,y)位置的X方向深度差,Gy(x,y)为(x,y)位置的Y方向深度差,D(x,y)为(x,y)位置的深度值,所述M为一自然数。将二值深度差表示为(BDx,BDy),可以获得如图3所示9种不同的二值深度差模式:(0,0),(1,0),(1,2),(0,1),(-1,1),(-1,0),(-1,-1),(0,-1)和(1,-1)。上述公式可以存在其它变形,如:
[0076]
[0077] 也可以是:
[0078]
[0079] 统计单元12,用于统计所有像素的二值深度差,形成二值深度差特征。
[0080] 如图4所示之深度图像,假定选定区域是64x128像素大小,将选定区域划分成4x8个16x16像素的的小方格。对小方格内的所有像素的二值深度差进行统计,可以获得一个直方图,直方图可表示为一个9维的向量。将一个区域中的所有方格(例如32个小方格)的向量连起来,可形成一个长的(9x32=288维)特征向量。这个向量就是整个区域的特征向量。
[0081] 本实施例使得无论物体离背景远近,都有相同的二值深度差,降低了误检率。
[0082] 在上述实施例中,计算单元11通过下列公式获得Gx(x,y)和Gy(x,y):
[0083] Gx(x,y)=D(x+1,y)-D(x-1,y),Gy(x,y)=D(x,y+1)-D(x,y-1),其中D(x+1,y)为(x+1,y)位置的深度值。
[0084] 可将深度图像分割成M*N个区域;M和N为大于或等于1的自然数。对每一区域里的所有像素进行深度差计算。深度差有两个方向,X方向(横向)和Y方向(纵向)的深度差,分别为:
[0085] Gx(x,y)=D(x+1,y)-D(x-1,y)
[0086] Gy(x,y)=D(x,y+1)-D(x,y-1)
[0087] 其中,Gx(x,y)为(x,y)位置的X方向深度差,Gy(x,y)为(x,y)位置的Y方向深度差,D(x,y)为(x,y)位置的深度值,计算单元11计算得出的深度差可以用带有方向和大小的向量表示,也可用深度差直方图直观表示。计算单元11统计每一区域所有像素的深度差,再将M*N个区域的深度差直方图连成一个大的向量(数组),形成深度图像的深度差。
[0088] 在上述实施例中,统计单元12通过二值深度差统计直方图表示二值深度差特征。
[0089] 参照图8,提出本发明基于二值深度差进行物体检测的装置又一实施例,在上述实施例中,还包括:
[0090] 建模模块30,用于根据包括物体图像的深度图像,建立所述分类模型。
[0091] 建模模块30采集作为训练用的深度图像,该深度图像包括物体图像。从深度图像中标注出物体区域,将物体区域裁剪出,裁剪出的物体区域的深度图像,可裁剪成大量物体区域深度图像,作为训练的正样本。再从深度图像中标注出非物体区域即环境区域,将非物体区域裁剪出,可裁剪出大量非物体区域,作为训练的负样本。将所有的正样本和负样本归一化到相同的宽度和高度。对所有正负样本进行二值深度差运算,每个样本得到到一个二值深度差统计直方图。将所有样本的二值深度差统计直方图输入机器学习分类模型中(比如支持向量机模型),进行模型训练,最后得到一个分类模型,为物体检测作准备。
[0092] 本实施例中,对三维物体的表面建立分类模型为物体检测作准备,当物体进入拍摄场景中时,可自动将物体从环境中分离出来。
[0093] 以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。