CN105096300B - 对象检测方法和设备 - Google Patents
对象检测方法和设备 Download PDFInfo
- Publication number
- CN105096300B CN105096300B CN201410193236.1A CN201410193236A CN105096300B CN 105096300 B CN105096300 B CN 105096300B CN 201410193236 A CN201410193236 A CN 201410193236A CN 105096300 B CN105096300 B CN 105096300B
- Authority
- CN
- China
- Prior art keywords
- layer
- target object
- foreground pixel
- target
- candidate target
- 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.)
- Expired - Fee Related
Links
Landscapes
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
提供了一种目标对象检测方法和设备。所述目标对象检测方法包括:确定至少一个立体相机捕获的深度图像中的前景像素在现实世界中的对应前景像素点;基于所述前景像素点的密度,在竖直方向上对由所述前景像素点形成的点云进行分层;响应于分层后的层数多于一层,对于除了最低层之外的各层,从最高层开始顺序地对于每一层进行以下检测处理:对该层及该层以上的各层中的前景像素点进行聚类以获得各个候选对象的局部;对于聚类得到的每一个候选对象的局部向下进行区域生长;基于预先设定的目标对象模型确定每一个区域生长得到的候选对象是否为目标对象。根据本发明实施例的对象检测技术即使在发生对象遮挡的情况下,也能实现较高的检测精度。
Description
技术领域
本发明总体涉及图像处理,具体涉及目标对象的检测方法和设备。
背景技术
对象检测技术是视频监控、机器人导航、智能驾驶辅助系统以及互联网搜索等应用所需的关键技术。目前,对象检测的精度仍难以满足真实应用的需要。
例如,在稠密对象的环境下,对象检测的精度往往较低。稠密是一个相对主观的词汇,稠密对象的环境是指在检测范围内存在大量的检测对象,并且由于对象数量众多通常伴随有对象遮挡。由于存在对象遮挡,因此在稠密对象的环境中难以对相机捕获的图像进行对象分割,从而导致对象检测精度较低。
另一方面,众所周知,对于进行拍摄的相机而言,误差是一个固有的问题。基本上,随着相机与被拍摄对象之间的距离的增大,通过该相机获得的信息的误差越大。采用多个相机进行拍摄并对于从多个相机获取的信息进行融合是解决误差问题并提高对象的检测精度的一种方式。按照融合对象层次的不同,融合大致可以分为三类:原始数据集的融合、特征集的融合、以及结果集的融合。原始数据集的融合由于网络传输数据量大和处理的数据量大,因此无法在实际场景中进行实时应用。对于结果集的融合,由于各结果集已经丢失了许多原始的信息和特征,因此结果集本身的置信度不确定,从而可能导致融合的结果的错误率高。另外,无论采用上述三类融合中的哪一种,都仍然存在在稠密对象的环境下对象检测的精度较低的问题。
发明内容
根据本发明的一个实施例,提供了一种对象检测方法,包括:确定至少一个立体相机捕获的深度图像中的前景像素在现实世界中的对应前景像素点;基于所述前景像素点的密度,在竖直方向上对由所述前景像素点形成的点云进行分层;响应于分层后的层数多于一层,对于除了最低层之外的各层,从最高层开始顺序地对于每一层进行以下检测处理:对该层及该层以上的各层中的前景像素点进行聚类以获得各个候选对象的局部;对于聚类得到的每一个候选对象的局部向下进行区域生长;基于预先设定的目标对象模型确定每一个区域生长得到的候选对象是否为目标对象。
根据本发明的另一实施例,提供了一种目标对象检测设备,包括:确定单元,配置为确定至少一个立体相机捕获的深度图像中的前景像素在现实世界中的对应前景像素点;划分单元,配置为基于所述前景像素点的密度,在竖直方向上对由所述前景像素点形成的点云进行分层;检测单元,包括聚类单元、区域生长单元和验证单元,配置为在划分单元所分的层数多于一层的情况下,对于除了最低层之外的各层,从最高层开始顺序地对于每一层进行以下处理:聚类单元对该层及该层以上的各层中的前景像素点进行聚类以获得各个候选对象的局部;区域生长单元对于聚类得到的每一个候选对象的局部向下进行区域生长;验证单元基于预先设定的目标对象模型确定每一个区域生长得到的候选对象是否为目标对象。
根据本发明实施例的目标对象检测技术即使在发生对象遮挡的情况下,也能实现较高的检测精度。
附图说明
图1示出了根据本发明第一实施例的目标对象检测方法的流程图。
图2例示了将前景像素投影至现实的三维世界中得到的对应的前景像素点的示意图。
图3示出了对于从最高层至最低层的上一层中的每一层进行的对象检测处理的流程图。
图3示出了根据本发明第一实施例的利用视差图的对象跟踪方法的流程图。
图4例示了对于最高层中的前景像素点进行聚类得到的候选对象的局部的示意图。
图5示出了示例性的目标对象模型的示意图。
图6例示了对于3D现实世界中的前景像素点执行根据本发明实施例的上述目标对象检测处理的示例情形。
图7示出了根据本发明第二实施例的目标对象检测方法的流程图。
图8例示了将由多个立体相机捕获的前景像素投影至现实的三维世界中得到的对应的前景像素点的示意图。
图9(a)-9(c)示出了表征相机与特定距离相关联的定位误差的高斯分布的示意图。
图10示出了根据本发明实施例的目标对象检测设备的功能配置框图。
图11示出了根据本发明实施例的目标对象检测系统的总体硬件框图。
具体实施方式
为了使本领域技术人员更好地理解本发明,下面结合附图和具体实施方式对本发明作进一步详细说明。
首先对本发明的基本思想进行简要的介绍。如前所述,稠密对象的环境是指在检测范围内存在大量待检测的目标对象、并且由于对象数量众多通常伴随有对象遮挡的情形。为了便于理解,可以认为目标对象是人,并设想例如超市、银行、医院中拥挤的人群的场景。由于拥挤的人群中的各个人相互遮挡,因此基于相机捕获的图像通过例如聚类等方式分割各个人是很困难的。然而,在例如超市、银行、医院等场所中,相机(摄像机)通常安装在高处,因此虽然各个人体互相遮挡,但是高处(例如,人的头部)的遮挡是较小的。在本发明中,基于高处的遮挡小这一物理特性,利用人体在高处的部位(例如,人的头部)来分割各个人,从而能够获得较为准确的分割,进而改善了对象的检测精度。
<第一实施例>
图1示出了根据本发明第一实施例的目标对象检测方法的流程图。
如图1所示,在步骤S101,确定单个立体相机捕获的深度图像中的前景像素在现实世界中的对应前景像素点。
待检测的对象位于深度图像的前景中,因此在该步骤中,从立体相机捕获的深度图像中分割出前景像素,随后通过例如坐标转换确定所述前景像素在现实的三维世界中的对应前景像素点。
可以采用本领域中任何公知的技术从深度图像中分割出前景像素。例如,可以基于深度图进行背景建模,然后根据建立的背景模型,通过差值运算得到前景像素。所述前景像素可以通过例如Foreground_Pixel (u, v, depth)来表示,其中u, v是前景像素在深度图像中的位置,depth是前景像素的深度值。
通过坐标转换确定前景像素投影在现实的三维世界中的对应前景像素点是本领域中的公知技术,为了避免不必要地混淆本发明的发明内容,此处省略对该转换过程的详细描述。图2例示了通过坐标转换将前景像素投影至现实的三维世界中得到的对应的前景像素点的示意图。前景像素在三维世界中的对应前景像素点可以通过Foreground_Point(x, y, z)来表示,其中x,y,z是该前景像素点在三维世界坐标系中的坐标值。
在步骤S102,基于所述前景像素点的密度,在竖直方向上对由所述前景像素点形成的点云进行分层。
如前所述,在本发明中,基于高处的遮挡小这一物理特性,利用对象在高处的部位来分割各个对象,从而能够获得较为准确的分割。为了获得对象在高处的部位,可以在竖直方向上对由前景像素点形成的点云进行分层。
例如,以待检测的目标对象是成年人为例。通常情况下,成年人的高度在150cm到200cm之间。因此,可以将由前景像素点形成的点云分为以下几层:180cm以上为第一层,从160cm到 180 cm为第二层;从140cm到160cm为第三层,140cm以下为第四层。当然,这一分层方法仅仅是一种示例,其他分层方案也是可行的。例如可以将175cm以上划分为第一层,将从160cm到 175 cm划分为第二层,将从145cm到165cm划分为第三层,将145cm以下作为第四层。而且,每一层的高度可以是相同的,也可以是不同的。另外,所分的层数并非是固定的,而是可以根据前景像素点的密度来确定要分的层数。作为一种极端情况,如果前景像素点的密度很小,即待检测对象数量少,也可以将由前景像素点形成的点云仅分为一层。总之,可以根据待检测对象的具体情况来对前景像素点形成的点云进行分层。
在步骤S103,响应于分层后的层数多于一层,对于除了最低层之外的各层,从最高层开始顺序地对于每一层进行对象检测。
为了便于说明,将最高层称为第1层,假设最低层为第N层,则在该步骤S103中,响应于分层后的层数N大于1,从第1层开始,顺序地对于第1层到第N-1层中的每一层进行对象检测。
图3示出了对于从第1层到第N-1层中的每一层进行的对象检测处理的流程图。也就是说,在步骤S103中,将从第1层开始,顺序地对于第1层到第N-1层中的每一层进行如图3所示的对象检测处理。下面,将对图3中所示的对象检测处理进行详细的说明。
如图3所示,在步骤S1031,对预定层及该层以上的各层中的前景像素点进行聚类以获得各个候选对象的局部。
所述预定层为按照顺序从要进行对象检测处理的各层中选择的层。如上所述,首先将对于第1层(即最高层)进行该步骤。由于第1层没有在其之上的层,因此在该步骤中仅对于第1层中的前景像素点进行聚类。
可以采用诸如K-MEANS算法、CLARANS算法、BIRCH算法、CURE算法等本领域中各种公知的聚类算法对所述前景像素点进行聚类。在本实施例中,作为示例,采用K-MEANS算法。
K-MEANS算法的核心思想如公式(1)所示:
其中,k是聚类的个数,Cj表示聚类j,j=1,2,3…k,是聚类j的中心。并且在本实施例中,采用Foreground_Point(x,y,z)作为加权特征。由于K-MEANS算法是本领域中公知的聚类算法,此处省略对其详细描述。
图4例示了对于第1层中的前景像素点进行聚类得到的候选对象的局部的示意图。如图4中所例示的,要检测的目标对象是人,并且对于第1层中的前景像素点进行聚类得到了两个候选对象的局部(头肩部分)。
在步骤S1032,对于聚类得到的每一个候选对象的局部向下进行区域生长。
区域生长是指将成组的像素或区域发展成更大区域的过程。其基本思想是从区域内的种子点的集合开始,将周围邻域中与各个种子点有相似的强度、灰度级或纹理颜色等属性的像素合并到此区域,然后将新的像素作为种子点继续进行上述过程,直至再没有相似的像素可以被合并进来。在本实施例中,可以利用前景像素点的深度信息的差异作为区域生长的相似度计算的基础。区域生长是本领域中的公知技术,这里不对其进行详细的描述。
由于在步骤S1031中聚类得到的是候选对象位于高处的局部(例如人的头肩部分),因此在该步骤S1032中将对该局部向下进行区域生长,以得到相对完整的候选对象。
可选的,为了提高目标对象的检测效率,在该步骤中可以应用目标对象模型作为约束条件向下方进行区域生长。目标对象模型是根据目标对象的外形预先设定的,例如,其可以是目标对象的外接3D模型。图5示出了示例性的目标对象模型的示意图。如图5所示,目标对象是人,目标对象模型是人的外接立方体。
应用目标对象模型作为约束条件向下方进行区域生长与常规的区域生长大致相同,只是对于区域生长的空间进行了约束。具体的,在应用目标对象模型作为约束条件向下方进行区域生长时可以将目标对象模型与聚类得到的候选对象的局部套叠,并且在进行套叠时使目标对象模型的顶部与候选对象的局部的顶部对齐。以目标对象是人为例,在进行该套叠时,将人的外接立方体与聚类得到的人的头肩部分套叠,并且使外接立方体的上表面与人的头顶对齐。通过该套叠处理,限定了区域生长的空间,即在对聚类得到的候选对象的局部进行区域生长时,需在该候选对象的局部下方、目标对象模型覆盖的空间内选择区域生长的种子点,并在该空间内进行区域生长。
可选的,为了提高目标对象的检测效率,如果区域生长过程中生长出的区域的面积太小,例如小于一个默认的面积阈值,则可以认为对应的区域生长失败,即未能生长得到候选对象。该面积阈值可以根据目标对象来设定,例如如果目标对象是人,则面积阈值可以是20个前景像素点。
回到图3,在步骤S1033,基于预先设定的目标对象模型确定每一个区域生长得到的候选对象是否为目标对象。
在图4所例示的步骤S1301的聚类结果中,假设聚类得到的两个候选对象的局部均是目标对象(人)的局部(头肩部分),并且随后通过步骤S1032中的处理从该候选对象的局部区域生长得到了完整的目标对象(人)。事实上,能够理解,通过步骤S1031聚类得到的候选对象的局部可能并不是目标对象的局部,而可能是前景中的其他对象的局部或噪声,从而随后通过步骤S1032中的区域生长处理得到的候选对象也并非是目标对象。因此,在该步骤S1033中,将检测每一个区域生长得到的候选对象是否为目标对象。
在该步骤中,可以通过计算目标对象模型与区域生长得到的候选对象之间的相似度来确定该区域生长得到的候选对象是否为目标对象。所述相似度可以采用本领域中任何公知的技术来计算。以下将对本实施例采用的示例性计算方式进行说明。
为了便于说明,用Object(Δx,Δy,Δz)来表示目标对象模型,其中Δx,Δy,Δz分别是该模型的长,高和宽,用Grown_R(Δx,Δy,Δz)来表示区域生长得到的候选对象,其中Δx,Δy,Δz分别是该候选对象的外接立方体的长,高和宽。由此,对于区域生长得到的每一个候选对象Grown_R(Δx,Δy,Δz),可以通过例如计算欧氏距离来计算其与目标对象模型Object(Δx,Δy,Δz)之间的第一相似度。如果所述第一相似度大于第一相似度阈值,则确定该区域生长得到的候选对象是目标对象。第一相似度阈值可以根据对象的种类、对象的遮挡程度、具体的检测场景等来适当地设定。
上述目标对象模型是完整的目标对象模型(例如图5所示的整个人的模型),其对于区域生长得到的候选对象是完整对象的情形,能够获得较好的检测结果。然而,其对于由于对象遮挡等原因而导致区域生长得到的候选对象是不完整对象的情形不太适用。具体来说,一些对象在通过立体相机捕获的深度图中可能是不完整的,例如只有对象的上半部分,其下半部分被其他对象遮挡住了。对于这样的对象,由于缺少其下半部分的图像信息,因此区域生长之后得到的是不完整对象,即只有对象的上半部分。这样的不完整对象与完整的目标对象模型的相似度往往是较低的,从而用完整的目标对象模型无法检测出该不完整对象,造成了漏检。
针对这一情况,可选的,对于与目标对象模型Object(Δx,Δy,Δz)之间的第一相似度不大于第一相似度阈值的候选对象Grown_R(Δx,Δy,Δz),计算该候选对象与预先设定的上半部目标对象模型up_part_Object(Δx,Δy,Δz)之间的第二相似度,如果所述第二相似度大于第二相似度阈值并且该区域生长得到的候选对象的高度大于该上半部目标对象模型的高度,则确定该区域生长得到的候选对象是目标对象。
具体的,上半部目标对象模型up_part_Object(Δx,Δy,Δz)是目标对象模型Object(Δx,Δy,Δz)的一部分。例如,对于目标对象是人的情形,该上半部目标对象模型up_part_Object(Δx,Δy,Δz)可以是头肩模型。由于区域生长得到的各个不完整候选对象的不完整程度不同,即高度不同,因此各个不完整对象与上半部目标对象模型在高度上的差异不能准确代表相似度的大小。所以,在计算候选对象Grown_R(Δx,Δy,Δz)与上半部目标对象模型up_part_Object(Δx,Δy,Δz)之间的相似度时,仅计算两者在x和z方向的相似度。如果该x和z方向的相似度大于第二相似度阈值,并且候选对象的高度大于上半部目标对象模型的高度(即候选对象在高度方向上能包含上半部目标对象模型),则确定该区域生长得到的候选对象是目标对象。第二相似度阈值可以根据对象的种类、对象的遮挡程度、具体的检测场景等来适当地设定。
通过如上所述利用上半部目标对象模型,可以检测出不完整候选对象。但是,利用该上半部目标对象模型可能会产生误检。具体的,除了对象遮挡之外,噪声、区域生长错误等其他因素也可能导致区域生长得到的候选对象是不完整的。而上述利用上半部目标对象模型进行检测的方式可能将这样的候选对象也错误地检测为目标对象。因此,可选的,在如上所述确定不完整候选对象与上半部目标对象模型在x和z方向的相似度大于第二相似度阈值,并且不完整候选对象的高度大于上半部目标对象模型的高度时,并不直接认定该候选对象是目标对象,而是进一步判断是否存在与该候选对象的距离小于预定的距离阈值的其他候选对象从而遮挡了所述候选对象。如果确定存在所述其他候选对象,则确定所述不完整对象是目标对象。所述预定的距离阈值可以根据目标对象来适当地设定。例如,如果目标对象是人,则距离阈值可以是例如人体的最大宽度的倍数。
另一方面,可选的,如果确定某一区域生长得到的候选对象是目标对象,则可以根据需要输出该候选对象及其位置,作为检测结果。
至此,对于点云中的最高层进行了如图3所示的目标对象检测处理,随后处理返回到步骤S1031,并对紧邻在最高层之下的次高层(即第2层)进行上述步骤S1031到步骤S1034的处理。可选的,在返回步骤S1031之前,可以从点云中删除与在对最高层进行目标对象检测处理的过程中被确定为目标对象的候选对象对应的前景像素点,以有利于对后续各层的目标对象检测处理。
对次高层(第2层)进行的目标对象检测处理与对最高层(第1层)进行的上述目标对象检测处理相同,此处不再对其进行重复描述。类似的,顺序对于后续的各层均相同地执行如图3中所示的步骤S1031到步骤S1034的处理,直至对第N-1层执行了该处理为止。
图6例示了对于3D现实世界中的前景像素点执行根据本发明实施例的上述目标对象检测处理的示例情形。
如图6所示,假设待检测目标对象是人,3D现实世界中存在两个待检测的目标对象601,602,点云被划分为3层。首先对最高层中的点云进行聚类,得到如603所示的候选对象的局部(601的头肩部);通过对603进行区域生长,得到如604所示的候选对象;通过预先设定的目标对象模型,确定该候选对象604是目标对象。随后,从原始点云中删除与候选对象604对应的前景点像素,此时点云中剩下与目标对象602对应的目标像素。随后,对次高层的点云进行聚类,得到如605所示的候选对象的局部(602的头肩部);通过对605进行区域生长,得到如606所示的候选对象;通过预先设定的目标对象模型,确定该候选对象606是目标对象。至此,完成了对目标对象的检测。
回到图1,步骤S103是分层后的层数多于一层的情形下进行的处理。对于分层后的层数为一层(相当于未分层)的情形,可以采用本领域中任何公知的技术来进行目标对象的检测,其并非是本发明关心的。例如,对于分层后的层数为一层的情形下,一种可能的目标对象的检测方法是对该层中的前景像素点进行聚类以获得深度图像中的各个候选对象,并基于目标对象的模型确定所述候选对象是否为目标对象。
以上详细描述了根据本发明第一实施例的目标对象检测方法。在该实施例中,基于高处的遮挡小这一物理特性,利用对象在高处的遮挡小的部位来聚类分割各个对象,从而能够获得较为准确的分割,进而改善了稠密对象环境下的对象检测精度。
<第二实施例>
如前所述,根据本发明第一实施例的目标对象检测方法改善了稠密对象环境下的对象检测精度。然而,在根据第一实施例的目标对象检测方法中是利用单个立体相机来进行检测,单个立体相机的检测的视角有限,并且由于相机的固有误差,检测范围和检测精度也受限。因此在本实施例中,使用多个立体相机来进行目标对象检测,以增大检测的覆盖区域,并进一步提高稠密对象环境下的检测精度。
使用多个立体相机进行目标对象检测的关键之一是多个立体相机的检测结果的融合。考虑到原始数据集的融合和结果集的融合的固有缺陷,在本实施例中,采用特征集上的融合。由于前景信息是可以从深度图像直接提取出来的原始信息,并且数据量小,因此在网络传输消耗和信息损失之间取得了较好的平衡。所以,在本实施例中,将前景信息作为融合特征。另外,在本实施例中,在对多个立体相机获取的前景信息进行融合时,不对前景信息进行特殊的处理,而是直接接受各个相机获取的前景信息。
根据本实施例的目标对象检测方法与第一实施例中描述的目标对象检测方法基本相同。在下文中,将省略对相同内容的描述,而仅对与第一实施例不同的地方进行详细描述。
图7示出了根据本发明第二实施例的目标对象检测方法的流程图。下面将结合图7对该方法进行描述。
如图7所示,在步骤S701,确定多个立体相机捕获的深度图像中的前景像素在现实世界中的对应前景像素点。
该步骤S701与图1中的步骤S101基本相同,其区别仅在于从多个立体相机捕获的深度图像中分割出的前景像素通过例如Foreground_Pixel(Cam_No,u, v, depth)来表示,其中Cam_No 表示立体相机的编号,例如001,002, 003等,u, v是前景像素在深度图像中的位置,depth是前景像素的深度值。另外,通过坐标转换将前景像素投影至现实的三维世界中得到的对应的前景像素点通过Foreground_Point (Cam_No, x, y, z, σ)来表示,其中Cam_No表示立体相机的编号, x, y, z是前景像素点在三维世界坐标系中的坐标值, σ是该前景像素点的深度值的测量误差。
如前所述,一般的应用情况下,随着测量距离的增大,相机的测量误差增加。而相机的测量误差可以通过实验、误差估计等各种已知的方法来计算。在本实施例中,作为示例,采用实验的方法来获取双目采集设备的误差,公式(2)和公式(3)用于获取统计意义上的均值和误差。
μ表示对象距离立体相机的测量距离的平均值,σ表示对象在该平均距离上的测量误差。公式(3)给出了实验时对象的平均距离,公式(4)给出了测量误差。其中, n表示对象包含的像素的个数,Xi是第i个像素距离立体相机的距离,是Xi的样本均值,也是μ的数学期望。该方法在本申请人的申请号为CN201210152941.8的发明专利申请中有详细的介绍。这里通过引用将此专利文献并入本文。
图8例示了通过坐标转换将由多个立体相机捕获的前景像素投影至现实的三维世界中得到的对应的前景像素点的示意图。如图8所示,部分前景像素点来源于立体相机cam1,部分前景像素点来源于立体相机cam2。
另外,可选的,在根据本实施例的目标对象检测方法中,在确定了多个立体相机捕获的深度图像中的前景像素在现实世界中的对应前景像素点后,对于每一个所述前景像素点,可以基于其与对应的立体相机之间的距离,确定该前景像素点的置信度。
总体来说,随着测量距离的增大,相机的测量误差增加,测量信息的置信度降低。也就是说,前景像素点与对应的立体相机之间的距离越大,该前景像素点的置信度越小。
具体的,可以采用各种适当的方式来确定前景像素点的具体置信度值。例如,由于随着测量距离的增大,相机的测量误差增加,因此可以将前景像素点的深度值的测量误差σ的倒数1/σ作为该前景像素点的置信度。
或者,可选的,可以将立体相机与特定距离相关联的定位误差的高斯分布的峰值作为置信度值。
图9(a)示出了表征相机与特定距离相关联的定位误差的高斯分布的示意图。图9(b)和图9(c)表明不同距离的定位误差的高斯分布有不同的峰值。图9(b)表示一种小误差的情景,其中高斯分布的误差值小,高斯分布的峰值大致为0.8,则对应的置信度值为0.8。图9(c)表示一种大误差的情景,其中高斯分布的误差值大,高斯分布的峰值大致为0.2,则对应的置信度值为0.2。
在步骤S702,基于所述前景像素点的密度,在竖直方向上对由所述前景像素点形成的点云进行分层。步骤S702的处理与图1中的步骤S102相同,此处不再重复描述。
在步骤S703,响应于分层后的层数多于一层,对于除了最低层之外的各层,从最高层开始顺序地对于每一层进行对象检测。
与上文中对图1的步骤S103的描述相同,此处,将最高层称为第1层,假设最低层为第N层,并且在该步骤S703中,响应于分层后的层数N大于1,将从第1层开始,顺序地对于第1层到第N-1层中的每一层进行如图3所示的对象检测处理。
步骤S703中的具体操作与图1中的步骤S103相同,此处不再重复描述。
值得一提的是,当在该步骤S703中对于第1层到第N-1层中的任一层进行图3中的步骤S1031的操作、即对该层及该层以上的各层中的前景像素点进行聚类以获得各个候选对象的局部时,可以采用与上文中作为示例而描述的K-MEANS算法不同的聚类算法。
例如,可选的,可以采用加权K-MEANS聚类、拉普拉斯加权聚类、基于域的加权聚类等加权聚类算法。在本实施例中,作为示例,采用加权K-MEANS聚类算法。
加权K-MEANS聚类算法的核心思想与如公式(1)所示的K-MEANS算法的核心思想相同。当点xi有权重wi时,聚类中心的计算公式如公式(4)所示,聚类中心cj就是聚类的重心。
在本实施例中,可选的,可以采用上文中提到的前景像素点的深度值的测量误差σ的倒数1/σ作为点的权重。由于加权K-MEANS聚类算法是本领域中公知的聚类算法,此处省略对其详细描述。
以上描述了根据本发明第二实施例的目标对象检测方法,其中主要描述了该第二实施例与第一实施例的不同之处。在该实施例中,采用多个立体相机来检测目标对象,从而增大了检测的覆盖区域,减小了相机的固有误差的不利影响,提高了检测精度。另一方面,在该实施例中,同样利用对象在高处的遮挡小的部位来聚类分割各个对象,从而能够获得较为准确的分割,进而改善了稠密对象环境下的对象检测精度。
<变型>
在以上的两个实施例中,均只基于立体相机捕获的深度图像来检测目标对象。可选的,所述立体相机可以同时捕获彩色图像和深度图像,并且在随后的目标对象检测中利用从彩色图像获得RGB信息,以获得更好的目标对象检测结果。
例如,由于同时还捕获了彩色信息,前景像素可以通过例如Foreground_Pixel(R,G,B,u,v,depth)和Foreground_Pixel(Cam_No,R,G,B,u,v,depth)来表示,前景像素在三维真实世界中的对应的前景像素点可以通过Foreground_Point(R,G,B,x,y,z)和Foreground_Point(Cam_No,R,G,B,x,y,z,σ)来表示。进而,在步骤S1032中进行区域生长时,可以应用彩色信息,根据例如灰度级之间的相似性和/或纹理颜色之间的相似性等进行生长。
另外,尽管在上文中以目标检测对象是人为例进行了说明,但根据本发明上述实施例的目标对象检测技术也可应用于其他目标对象,例如道路上的车辆等。
另外,尽管如上文中提到的,根据本发明上述实施例的目标对象检测技术可以提高稠密对象的环境下的目标对象检测精度,但该目标对象检测技术也可以应用于非稠密对象的环境相的目标对象检测。
<目标对象检测设备的总体配置>
图10示出了根据本发明实施例的目标对象检测设备1000的功能配置框图。
如图10所示,目标对象检测设备1000包括:确定单元1010,配置为确定至少一个立体相机捕获的深度图像中的前景像素在现实世界中的对应前景像素点;划分单元1020,配置为基于所述前景像素点的密度,在竖直方向上对由所述前景像素点形成的点云进行分层;检测单元1030,包括聚类单元1031、区域生长单元1032和验证单元1033,配置为在划分单元1020所分的层数多于一层的情况下,对于除了最低层之外的各层,从最高层开始顺序地对于每一层进行以下处理:聚类单元1031对该层及该层以上的各层中的前景像素点进行聚类以获得各个候选对象的局部;区域生长单元1032对于聚类得到的每一个候选对象的局部向下进行区域生长;验证单元1033基于预先设定的目标对象模型确定每一个区域生长得到的候选对象是否为目标对象。
上述确定单元1010、划分单元1020、检测单元1030、聚类单元1031、区域生长单元1032和验证单元1033的具体功能和操作可以参考上述对图1到图9的相关描述,此处不再重复描述。
可选的,目标对象检测设备1000还可以包括置信度确定单元1040,配置为在捕获深度图像的立体相机为多个的情况下,对于每一个所述前景像素点,基于其与对应的立体相机之间的距离,确定该前景像素点的置信度。在该情况下,可选的,聚类单元1031可以基于所述置信度,对某一层及该层以上的各层中的各个前景像素点进行加权聚类以获得各个候选对象的局部。置信度确定单元1040的具体功能和操作可以参考上述对图7的相关描述,此处不再重复描述。
<系统硬件配置>
图11示出了根据本发明实施例的目标对象检测系统1100的总体硬件框图。如图11所示,目标对象检测系统1100可以包括:输入设备1110,用于从外部输入有关图像或信息,例如根据立体相机拍摄的深度图像和彩色图像,该输入设备例如可以是键盘、鼠标、摄像机等等;处理设备1120,用于实施上述的按照本发明实施例的目标对象检测方法,或者实施为上述的目标对象检测设备,该处理设备例如可以是计算机的中央处理器或其它的具有处理能力的芯片等等;输出设备1130,用于向外部输出实施上述目标对象检测过程所得到的结果,例如检测到的目标对象、该对象的位置等,该输出设备例如可以是显示器、打印机等等;以及存储设备1140,用于以易失或非易失的方式存储上述对象跟踪过程所涉及的数据,例如深度图中的前景像素的位置坐标、前景像素点在3D真实世界中的位置坐标、点云划分的层数、正在进行目标对象检测处理的层的编号、目标对象模型、各个预定阈值等等,该存储设备例如可以是随机存取存储器(RAM)、只读存储器(ROM)、硬盘、或半导体存储器等等的各种易失或非易失性存储器。
以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是,对本领域的普通技术人员而言,能够理解本发明的方法和装置的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们的基本编程技能就能实现的。
因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。
还需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种目标对象检测方法,包括:
确定至少一个立体相机捕获的深度图像中的前景像素在现实世界中的对应前景像素点;
基于所述前景像素点的密度,在竖直方向上对由所述前景像素点形成的点云进行分层;
响应于分层后的层数多于一层,对于除了最低层之外的各层,从最高层开始顺序地对于每一层进行以下检测处理:
对该层及该层以上的各层中的前景像素点进行聚类以获得各个候选对象的局部;
对于聚类得到的每一个候选对象的局部向下进行区域生长;
基于预先设定的目标对象模型确定每一个区域生长得到的候选对象是否为目标对象。
2.如权利要求1所述的目标对象检测方法,其中对于除了最低层之外的各层,从最高层开始顺序地对于每一层进行的所述检测处理还包括:从所述点云中删除与被确定为目标对象的候选对象对应的前景像素点。
3.如权利要求1或2所述的目标对象检测方法,还包括步骤:
响应于分层后的层数为一层,对该层中的前景像素点进行聚类以获得所述深度图像中的各个候选对象,并基于所述目标对象的模型确定所述候选对象是否为目标对象。
4.如权利要求1或2所述的目标对象检测方法,其中对于聚类得到的每一个候选对象的局部向下进行区域生长进一步包括:
将所述目标对象模型与该候选对象的局部套叠,其中在进行套叠时使该目标对象模型的顶部与该候选对象的局部的顶部对齐;
在该候选对象的局部下方、所述目标对象模型覆盖的空间内选择区域生长的种子点;以及
在该候选对象的局部下方、所述目标对象模型覆盖的空间内进行区域生长。
5.如权利要求1或2所述的目标对象检测方法,其中基于预先设定的目标对象模型确定区域生长得到的每一个候选对象是否为目标对象包括:
对于区域生长得到的每一个候选对象,计算其与所述目标对象模型之间的第一相似度,如果所述第一相似度大于第一相似度阈值,则确定该区域生长得到的候选对象是目标对象。
6.如权利要求5所述的目标对象检测方法,其中基于预先设定的目标对象模型确定区域生长得到的每一个候选对象是否为目标对象进一步包括:
如果所述第一相似度不大于第一相似度阈值,则计算该区域生长得到的候选对象与预先设定的上半部目标对象模型之间的第二相似度,
如果所述第二相似度大于第二相似度阈值并且该区域生长得到的候选对象的高度大于该上半部目标对象模型的高度,则确定该区域生长得到的候选对象是目标对象。
7.如权利要求1或2所述的目标对象检测方法,其中在捕获深度图像的立体相机为多个的情况下,该目标对象检测方法还包括:对于每一个所述前景像素点,基于其与对应的立体相机之间的距离,确定该前景像素点的置信度。
8.如权利要求7所述的目标对象检测方法,其中所述对该层及该层以上的各层中的前景像素点进行聚类以获得各个候选对象的局部包括:基于所述置信度,对该层及该层以上的各层中的各个像素点进行加权聚类。
9.一种目标对象检测设备,包括:
确定单元,配置为确定至少一个立体相机捕获的深度图像中的前景像素在现实世界中的对应前景像素点;
划分单元,配置为基于所述前景像素点的密度,在竖直方向上对由所述前景像素点形成的点云进行分层;
检测单元,包括聚类单元、区域生长单元和验证单元,配置为在划分单元所分的层数多于一层的情况下,对于除了最低层之外的各层,从最高层开始顺序地对于每一层进行以下处理:
聚类单元对该层及该层以上的各层中的前景像素点进行聚类以获得各个候选对象的局部;
区域生长单元对于聚类得到的每一个候选对象的局部向下进行区域生长;
验证单元基于预先设定的目标对象模型确定每一个区域生长得到的候选对象是否为目标对象。
10.如权利要求9所述的目标对象检测设备,还包括:
置信度确定单元,配置为在捕获深度图像的立体相机为多个的情况下,对于每一个所述前景像素点,基于其与对应的立体相机之间的距离,确定该前景像素点的置信度,并且
其中所述聚类单元基于所述置信度,对所述该层及该层以上的各层中的各个前景像素点进行加权聚类以获得各个候选对象的局部。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410193236.1A CN105096300B (zh) | 2014-05-08 | 2014-05-08 | 对象检测方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410193236.1A CN105096300B (zh) | 2014-05-08 | 2014-05-08 | 对象检测方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105096300A CN105096300A (zh) | 2015-11-25 |
CN105096300B true CN105096300B (zh) | 2018-06-12 |
Family
ID=54576645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410193236.1A Expired - Fee Related CN105096300B (zh) | 2014-05-08 | 2014-05-08 | 对象检测方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105096300B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106887006B (zh) * | 2015-12-15 | 2020-06-30 | 株式会社理光 | 堆叠物体的识别方法、设备和机器分拣系统 |
US10262222B2 (en) * | 2016-04-13 | 2019-04-16 | Sick Inc. | Method and system for measuring dimensions of a target object |
JP6907061B2 (ja) * | 2017-07-21 | 2021-07-21 | 株式会社タダノ | 測定対象物の上面推定方法、ガイド情報表示装置およびクレーン |
CN107358945A (zh) * | 2017-07-26 | 2017-11-17 | 谢兵 | 一种基于机器学习的多人对话音频识别方法及系统 |
CN109191512B (zh) | 2018-07-27 | 2020-10-30 | 深圳市商汤科技有限公司 | 双目图像的深度估计方法及装置、设备、程序及介质 |
US10510155B1 (en) | 2019-06-11 | 2019-12-17 | Mujin, Inc. | Method and processing system for updating a first image generated by a first camera based on a second image generated by a second camera |
CN111144213B (zh) * | 2019-11-26 | 2023-08-18 | 北京华捷艾米科技有限公司 | 一种对象检测方法和相关设备 |
CN111754515B (zh) * | 2019-12-17 | 2024-03-01 | 北京京东乾石科技有限公司 | 堆叠物品的顺序抓取方法和装置 |
CN113496160B (zh) * | 2020-03-20 | 2023-07-11 | 百度在线网络技术(北京)有限公司 | 三维物体检测方法、装置、电子设备和存储介质 |
CN112802106B (zh) * | 2021-02-05 | 2024-06-18 | 梅卡曼德(北京)机器人科技有限公司 | 对象抓取方法及装置 |
CN112802093B (zh) * | 2021-02-05 | 2023-09-12 | 梅卡曼德(北京)机器人科技有限公司 | 对象抓取方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101877128A (zh) * | 2009-12-23 | 2010-11-03 | 中国科学院自动化研究所 | 一种三维场景中不同物体的分割方法 |
CN102496183A (zh) * | 2011-11-03 | 2012-06-13 | 北京航空航天大学 | 基于互联网照片集的多视角立体重构方法 |
CN103065354A (zh) * | 2012-12-24 | 2013-04-24 | 中国科学院深圳先进技术研究院 | 点云优化方法及其装置 |
CN103258345A (zh) * | 2013-04-18 | 2013-08-21 | 中国林业科学研究院资源信息研究所 | 一种基于地面激光雷达三维扫描的树木枝干参数提取方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102009006416B3 (de) * | 2009-01-28 | 2010-08-26 | Siemens Aktiengesellschaft | Verfahren und Verzweigungs-Ermittlungseinrichtung zur Ermittlung einer Verzweigungsstelle sowie einer Mittellinie innerhalb eines Hohlorgans nebst zugehörigem Computerprogramm |
-
2014
- 2014-05-08 CN CN201410193236.1A patent/CN105096300B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101877128A (zh) * | 2009-12-23 | 2010-11-03 | 中国科学院自动化研究所 | 一种三维场景中不同物体的分割方法 |
CN102496183A (zh) * | 2011-11-03 | 2012-06-13 | 北京航空航天大学 | 基于互联网照片集的多视角立体重构方法 |
CN103065354A (zh) * | 2012-12-24 | 2013-04-24 | 中国科学院深圳先进技术研究院 | 点云优化方法及其装置 |
CN103258345A (zh) * | 2013-04-18 | 2013-08-21 | 中国林业科学研究院资源信息研究所 | 一种基于地面激光雷达三维扫描的树木枝干参数提取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105096300A (zh) | 2015-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105096300B (zh) | 对象检测方法和设备 | |
Gilani et al. | Learning from millions of 3D scans for large-scale 3D face recognition | |
CN109325437B (zh) | 图像处理方法、装置和系统 | |
Zhu et al. | A three-pathway psychobiological framework of salient object detection using stereoscopic technology | |
CN104156937B (zh) | 阴影检测方法和装置 | |
CN109978918A (zh) | 一种轨迹追踪方法、装置和存储介质 | |
CN109697434A (zh) | 一种行为识别方法、装置和存储介质 | |
CN109948497A (zh) | 一种物体检测方法、装置及电子设备 | |
CN108090960A (zh) | 一种基于几何约束的目标重建方法 | |
CN109508671A (zh) | 一种基于弱监督学习的视频异常事件检测系统及其方法 | |
CN108154104A (zh) | 一种基于深度图像超像素联合特征的人体姿态估计方法 | |
CN109063549A (zh) | 基于深度神经网络的高分辨率航拍视频运动目标检测方法 | |
CN107944459A (zh) | 一种rgb‑d物体识别方法 | |
CN101655913A (zh) | 分形维数的计算机生成图像被动检测方法 | |
Ye et al. | Temporal order-preserving dynamic quantization for human action recognition from multimodal sensor streams | |
KR20130083997A (ko) | 신체 자세군 생성 장치 및 방법 | |
US20200057778A1 (en) | Depth image pose search with a bootstrapped-created database | |
CN110070106A (zh) | 烟雾检测方法、装置及电子设备 | |
CN116883588A (zh) | 一种大场景下的三维点云快速稠密重建方法及系统 | |
Jahangiri et al. | Information pursuit: A Bayesian framework for sequential scene parsing | |
CN115965749B (zh) | 一种基于雷视融合的三维重建设备 | |
CN104680118B (zh) | 一种人脸属性检测模型生成方法及系统 | |
CN117437382A (zh) | 一种数据中心部件的更新方法及系统 | |
CN105700402B (zh) | 基于人员检测的嵌入式控制系统、设备和方法 | |
Liu et al. | Deep learning of directional truncated signed distance function for robust 3D object recognition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180612 |