CN110992356B - 目标对象检测方法、装置和计算机设备 - Google Patents
目标对象检测方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN110992356B CN110992356B CN201911301772.8A CN201911301772A CN110992356B CN 110992356 B CN110992356 B CN 110992356B CN 201911301772 A CN201911301772 A CN 201911301772A CN 110992356 B CN110992356 B CN 110992356B
- Authority
- CN
- China
- Prior art keywords
- plane
- rectangle
- fitting
- target object
- voxel
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 57
- 238000000034 method Methods 0.000 claims abstract description 28
- 239000011159 matrix material Substances 0.000 claims description 38
- 239000013598 vector Substances 0.000 claims description 23
- 238000012937 correction Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 9
- 238000003708 edge detection Methods 0.000 claims description 9
- 230000011218 segmentation Effects 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 7
- 230000009466 transformation Effects 0.000 claims description 7
- 239000003292 glue Substances 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000036544 posture Effects 0.000 description 3
- 125000000205 L-threonino group Chemical group [H]OC(=O)[C@@]([H])(N([H])[*])[C@](C([H])([H])[H])([H])O[H] 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 239000010410 layer Substances 0.000 description 2
- 239000002344 surface layer Substances 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 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/0002—Inspection of images, e.g. flaw detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
-
- 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/13—Edge detection
-
- 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/181—Segmentation; Edge detection involving edge growing; involving edge linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/66—Analysis of geometric attributes of image moments or centre of gravity
-
- 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/10028—Range image; Depth image; 3D point clouds
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Geometry (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本申请涉及一种目标对象检测方法、装置和计算机设备,所述方法包括:对箱状目标对象俯视角度下的表层三维点云进行平面拟合,得到拟合平面;将所述三维点云中的各点投影到对应的拟合平面中;在所述拟合平面中进行矩形检测,得到第一矩形;所述第一矩形,由所述三维点云所投影至的点确定;获取所述目标对象俯视角度下的二维图像;根据二维图像中所述目标对象的轮廓,校正拟合平面中的所述第一矩形;根据校正后得到的第二矩形,确定所述目标对象在三维空间中的位置。该方法提高了对目标对象定位的精度。
Description
技术领域
本发明涉及机器视觉领域,尤其涉及一种目标对象检测方法、装置和计算机设备。
背景技术
码垛和拆垛是物流运输过程中常见的操作过程,传统方法中,一般是通过机器视觉方法对三维点云进行简单处理来实现目标的识别和定位,进而使经过校准后的机械臂按照固定的路径和动作进行抓取。然而,在来料复杂的情况下,传统方法无法实现较精确的定位,定位精度不够高。
发明内容
基于此,有必要针对传统方法对目标的定位精度不够高的问题,提供一种目标对象检测方法、装置、计算机设备和存储介质。
一种目标对象检测方法,所述方法包括:
对箱状目标对象俯视角度下的表层三维点云进行平面拟合,得到拟合平面;
将所述表层三维点云中的各点投影到对应的拟合平面中;
在所述拟合平面中进行矩形检测,得到第一矩形;
获取所述目标对象俯视角度下的二维图像;
根据二维图像中所述目标对象的轮廓,校正拟合平面中的所述第一矩形;
根据校正后得到的第二矩形,确定所述目标对象在三维空间中的位置。
在其中一个实施例中,所述对箱状目标对象俯视角度下的表层三维点云进行平面拟合,得到拟合平面,包括:
对所述表层三维点云进行体素分割;
将位于每个所述体素中的三维点云拟合至同一平面,得到体素平面;将满足预设接近条件的所述体素平面合并为同一拟合平面。
在其中一个实施例中,所述将满足预设接近条件的所述体素平面合并为同一拟合平面包括:
从各体素平面中,选取种子平面,并获取所述种子平面的法向量;
从除所述种子平面之外的体素平面中,选取与所述种子平面的法向量夹角小于或等于预设角度阈值、且与所述种子平面的距离小于或等于预设距离阈值的体素平面;
将所述种子平面和选取的体素平面合并为同一拟合平面。
在其中一个实施例中,所述在所述拟合平面中进行矩形检测,得到第一矩形包括:
将所述拟合平面中投影至的各点所形成的区域进行高亮处理;
对高亮后的区域进行边缘检测,得到边缘点集;
根据所述边缘点集,生成封闭的多边形轮廓;
从所述多边形轮廓中检测矩形,得到第一矩形。
在其中一个实施例中,所述根据二维图像中所述目标对象的轮廓,校正拟合平面中的所述第一矩形包括:
将所述第一矩形投影至所述二维图像中,得到第三矩形;
从所述二维图像中,确定距所述第三矩形的各边的距离满足预设距离阈值的图像边缘点集;
将所述图像边缘点集,投影至所述第一矩形所位于的拟合平面,并根据图像边缘点集的投影结果,校正所述第一矩形。
在其中一个实施例中,所述将所述第一矩形投影至所述二维图像中,得到第三矩形包括:
获取所述相机的内参矩阵和外参矩阵;所述外参矩阵,用于描述世界坐标到相机坐标的映射变换关系;
获取所述第一矩形中各点的世界坐标;
根据所述内参矩阵和外参矩阵,将各所述世界坐标转换为图像坐标;
根据转换后的图像坐标,确定所述第一矩形在所述二维图像中投影的第三矩形。
在其中一个实施例中,所述目标对象为多个;所述根据校正后得到的第二矩形,确定所述目标对象在三维空间中的位置包括:
确定各所述拟合平面中单位面积的点云数、以及所有所述拟合平面中单位面积的点云平均数;
确定各所述点云数与所述点云平均数之间的差值;
当所述差值小于或等于预设差值阈值时,判定同一所述拟合平面中包括粘连的至少两个第二矩形;
对所述粘连的至少两个第二矩形进行拆分,并根据拆分后的第二矩形,确定相应目标对象在三维空间中的位置。
在其中一个实施例中,所述对所述粘连的至少两个第二矩形进行拆分包括:
确定所述拟合平面中各相邻点之间的第一方向距离和第二方向距离;
确定所述拟合平面中的所述第一方向距离的第一平均值和所述第二方向距离的第二平均值;
将所述拟合平面中的所述第一方向距离大于或等于所述第一平均值的点,加入第一点集,以及将所述拟合平面中的所述第二方向距离大于或等于所述第二平均值的点,加入第二点集;
分别将所述第一点集和第二点集中的各点按照相应边进行分组;
对同组中的点进行拟合生成矩形的边缘,得到拆分后的第二矩形。
一种目标对象检测装置,包括:
平面拟合模块,用于对箱状目标对象俯视角度下的表层三维点云进行平面拟合,得到拟合平面;
矩形检测模块,用于将所述表层三维点云中的各点投影到对应的拟合平面中;在所述拟合平面中进行矩形检测,得到第一矩形;
矩形校正模块,用于获取所述目标对象的二维图像;根据二维图像中所述目标对象的轮廓,校正拟合平面中的所述第一矩形;
位置姿态获取模块,用于根据校正后得到的第二矩形,确定所述目标对象在三维空间中的位置。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行本申请各实施例所述的目标对象检测方法中的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行本申请各实施例所述的目标对象检测方法中的步骤。
上述目标对象检测方法、装置、计算机设备和存储介质,对目标对象俯视角度下的表层三维点云进行平面拟合,并将表层三维点云中的各点投影到对应的拟合平面中,以在各拟合平面中进行矩形检测,得到第一矩形。根据二维图像中目标对象的轮廓,校正拟合平面中的第一矩形,以实现对矩形的微调校正。即,通过二维图像对三维点云投影的矩形进行校正,进而,根据校正后得到的第二矩形,能够更加准确地确定目标对象在三维空间中的位置,从而能够提高对目标对象定位的精度。
附图说明
图1为一个实施例中目标对象检测方法的应用环境图;
图2为一个实施例中目标对象检测方法的流程示意图;
图3为一个实施例中进行平面拟合的流程示意图;
图4为一个实施例中对表层三维点云进行体素分割的示意图;
图5为一个实施例中拟合体素平面的示意图;
图6为一个实施例中合并体素平面的示意图;
图7为一个实施例中矩形检测的流程示意图;
图8为一个实施例中三维点云投影的图像示意图;
图9为一个实施例中高亮处理后的图像示意图;
图10为一个实施例中进行高亮处理的示意图;
图11为一个实施例中边缘检测示意图;
图12为一个实施例中生成封闭的多边形轮廓点集的示意图;
图13A为一个实施例中生成光滑的多边形轮廓的示意图;
图13B为一个实施例中生成光滑的多边形轮廓的图像示意图;
图14为一个实施例中检测矩形的图像的示意图;
图15为一个实施例中矩形校正的流程示意图;
图16为一个实施例中矩形投影图像的示意图;
图17为一个实施例中将图像边缘点集投影的原理示意图;
图18为一个实施例中校正矩形的图像示意图;
图19为一个实施例中目标对象检测装置的结构框图;
图20为一个实施例中计算机设备的框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中目标对象检测方法的应用环境图。参照图1,该目标对象检测方法的应用环境包括第一相机101、第二相机102、计算机设备103、机械臂104和目标对象105。其中,第一相机101和第二相机102置于目标对象上方,用于获取目标对象俯视角度下的表层三维点云和二维图像,并将获取的数据传输到计算机设备103。计算机设备103用于控制第一相机101和第二相机102,并通过对从第一相机101和第二相机102获取的目标对象俯视角度下的表层三维点云和二维图像进行处理,得到目标对象在三维空间中的位置,并控制机械臂104抓取目标对象105。机械臂104用于抓取目标对象105。第一相机101和第二相机102可以是工业相机。计算机设备103可以是终端或服务器。机械臂104可以是用于抓取物体的机械臂。目标对象105可以是一个或多个规则排布或无序排布的箱状物体。
如图2所示,在一个实施例中,提供了一种目标对象检测方法,本实施例以该方法应用于上述图1中的计算机设备103来举例说明,计算机设备103可运行应用程序,通过该应用程序实施目标对象检测方法。该方法具体包括如下步骤:
S202,对箱状目标对象俯视角度下的表层三维点云进行平面拟合,得到拟合平面。
具体地,箱状目标对象是需要进行检测的目标对象。在一个实施例中,箱状目标对象可以是一个或多个规则排布或无序排布的箱状物体。
三维点云是目标对象在三维空间中的点的集合。俯视角度下的表层三维点云是相机俯视拍摄目标对象的情况下所采集到的目标对象最上层的三维点云,也就是目标对象顶面的三维点云。在一个实施例中,俯视角度下的表层三维点云可以通过双目定位方法来获取。
平面拟合是将目标对象俯视角度下的表层三维点云拟合成平面。拟合平面是对目标对象俯视角度下的表层三维点云进行平面拟合得到的平面。在一个实施例中,目标对象为一个箱状物体,得到的拟合平面只有一个。在另一个实施例中,目标对象为多个箱状物体,得到的拟合平面可以为一个或多个。
S204,将表层三维点云中的各点投影到对应的拟合平面中。
具体地,各点对应的拟合平面是该点进行平面拟合所得到的平面。将三维点云中的各点投影到对应的拟合平面中,是指将三维点云中的各点分别投影到各自点进行平面拟合所得到的平面上。
在一个实施例中,可以采用如下方法来实现这一步骤:
设空间中的点A的空间坐标为A(x,y,z),该点对应的拟合平面的方程为Ax+By+Cz+D=0,A,B,C为常数。该点在该拟合平面上的投影点为P(xp,yp,zp),根据向量与该拟合平面的法向量/>平行,则有:
可以求得:
可以理解,可以设β=A2+B2+C2,那么,
则得到了将三维点云中的各点投影到对应的拟合平面中的投影点的空间坐标P(xp,yp,zp)。
S206,在拟合平面中进行矩形检测,得到第一矩形。
可以理解,第一矩形,由三维点云所投影至的点确定。
具体地,矩形检测是根据平面中的点来检测矩形的位置。在拟合平面中进行矩形检测是根据各拟合平面中的三维点云的投影点进行矩形检测,确定矩形的空间位置。
S208,获取目标对象俯视角度下的二维图像。
具体地,获取目标对象俯视角度下的二维图像是在俯视角度下对目标对象进行拍摄得到二维图像。在一个实施例中,可以用工业相机来获取目标对象俯视角度下的二维图像。
S210,根据二维图像中目标对象的轮廓,校正拟合平面中的第一矩形。
具体地,二维图像中目标对象的轮廓是目标对象在二维图像中的边缘轮廓。校正拟合平面中的第一矩形是对第一矩形各条边的位置进行调整。根据二维图像中目标对象的轮廓,校正拟合平面中的第一矩形,是根据二维图像中目标对象的边缘轮廓,来对拟合平面中的第一矩形的各条边的位置进行调整。在一个实施例中,可以根据三维点云和二维图像中的点之间的转换关系,来进行第一矩形的校正。
S212,根据校正后得到的第二矩形,确定目标对象在三维空间中的位置。
校正后得到的第二矩形,是根据二维图像中目标对象的轮廓,校正拟合平面中的第一矩形后得到的矩形。目标对象在三维空间中的位置是目标对象的顶面矩形在三维空间中坐标。根据校正后得到的第二矩形,确定目标对象在三维空间中的位置,是根据第二矩形在三维空间中的位置,来确定目标对象的顶面矩形在三维空间中坐标。
本实施例中,对目标对象俯视角度下的表层三维点云进行平面拟合,并将三维点云中的各点投影到对应的拟合平面中,以在各拟合平面中进行矩形检测,得到第一矩形。根据二维图像中目标对象的轮廓,校正拟合平面中的第一矩形,以实现对矩形的微调校正。根据校正后得到的第二矩形,能够更加准确地确定目标对象在三维空间中的位置,从而能够提高对目标对象定位的精度,识别精度小于0.1毫米。而且,能够快速地定位识别目标对象,识别时间小于3秒。
如图3所示,在一个实施例中,对箱状目标对象俯视角度下的表层三维点云进行平面拟合,得到拟合平面的步骤,包括:
S302,对表层三维点云进行体素分割。
具体地,体素是体积元素。体素分割是将三维物体分割成体积相等的多个体积元素。对表层三维点云进行体素分割是将表层三维点云的空间分割成体积相等的多个体积元素。参见图4,是对表层三维点云进行体素分割的示意图,图中,三维点云的空间被分割成了体积相等的四个体素。
在一个实施例中,可以设定精度e,将三维点云的空间按照精度e分割为大小相等的体素,每个体素的体积为V=L×e,其中,V为体素分割后得到的每个体素的体积,L为三维点云的空间的体积,e为预设的精度,0<e<1。
S304,将位于每个体素中的三维点云拟合至同一平面,得到体素平面。
具体地,位于每个体素中的三维点云是每个体素空间中的所有三维点云。将位于每个体素中的三维点云拟合至同一平面是将每个体素中的所有三维点云拟合成一个平面,得到体素平面。每个体素对应一个体素平面。参见图5,是将位于每个体素中的三维点云拟合至同一平面,得到体素平面的示意图,图中的三维点云为一个体素中的点云,这些三维点云全部拟合到了同一平面中。
在一个实施例中,当体素中三维点云的数量小于3时,则可以视为这些体素为无效体素,则可以不将该体素中的三维点云拟合成平面。
在另一个实施例中,当体素中三维点云的数量大于或等于3时,则将该体素中的三维点云拟合至同一平面。
在一个实施例中,可以采用主成分分析(PCA,principal components analysis)将三维点云降维成二维平面,即,将位于每个体素中的三维点云拟合至同一平面,得到体素平面。设一个体素的目标体素平面在空间坐标系下的方程为:Ax+By+Cz+D=0,其中,A,B,C为常数,该体素内的任意一个点的空间坐标为(xi,yi,zi),则该体素内的点的协方差矩阵为:
其中,cov(X,X)为x的方差。n为体素中的点云数量。同理可得cov(Y,Y)和cov(Z,Z)的表达式。
同理可得cov(X,Z)等协方差矩阵内的各项。
对上述该体素内的点的协方差矩阵进行特征值分解,得到特征值:v1,v2,v3,以及各个特征值对应的特征向量:u1,u2,u3。将其中最小的特征值vmin所对应的特征向量umin(a0,a1,a2)作为目标体素平面的法向量,a0,a1,a2分别对应目标体素平面的方程中的A,B,C,即,A=a0,B=a1,C=a2。将A,B,C代入目标体素平面的方程Ax+By+Cz+D=0中,可确定D,即得到了该体素中的三维点云拟合出的平面的方程。
S306,将满足预设接近条件的体素平面合并为同一拟合平面。
具体地,满足预设接近条件的体素平面是满足预设条件的、能够进行合并的平面。将满足预设接近条件的体素平面合并为同一拟合平面是将满足预设接近条件的几个体素平面合并为一个平面,作为拟合平面。参见图6,是将满足预设接近条件的体素平面合并为同一拟合平面的示意图。图中左边的两个体素平面满足预设接近条件,可以合并为同一拟合平面,而最右边的体素平面与其他平面之间不满足预设接近条件,则不进行合并。
本实施例中,对箱状目标对象俯视角度下的表层三维点云进行了平面拟合,得到了拟合平面,从而将不同位置、不同姿态的箱状物体拟合到不同的拟合平面中,有利于后续进一步检测,从而能够提高对目标对象定位的精度。
在一个实施例中,将满足预设接近条件的体素平面合并为同一拟合平面的步骤,具体包括如下步骤:从各体素平面中,选取种子平面,并获取种子平面的法向量;从除种子平面之外的体素平面中,选取与种子平面的法向量夹角小于或等于预设角度阈值、且与种子平面的距离小于或等于预设距离阈值的体素平面;将种子平面和选取的体素平面合并为同一拟合平面。
具体地,从各体素平面中,选取种子平面,是从所有的体素平面中选择一个平面,作为种子平面。与种子平面的法向量夹角小于或等于预设角度阈值、且与种子平面的距离小于或等于预设距离阈值,即为预设接近条件,将满足这个预设接近条件的体素平面与种子平面合并为一个平面,得到拟合平面。
在一个实施例中,目标对象为一个箱状物体,只需按照上述步骤进行合并。
在另一个实施例中,当目标对象为多个箱状物体时,进行上述步骤后,从剩余的未合并的体素平面中,迭代地选取种子平面,并返回获取种子平面的法向量的步骤以继续执行,直至所有体素平面都进行过合并,得到多个拟合平面。
可以理解,与种子平面的法向量夹角小于或等于预设角度阈值,说明方向基本上与种子平面相同,所以,可以将与种子平面的法向量夹角小于或等于预设角度阈值、且中心点到种子平面的距离小于阈值的平面合并为同一个平面。假设,有27个体素平面,选取一个体素平面作为种子平面v1,该种子平面的法向量为搜索其余26个体素平面,将与种子平面v1的法向量/>夹角小于或等于预设角度阈值、且中心点到种子平面v1的距离小于阈值的x1个体素平面加入集合p1,将p1中的体素平面合并为平面S1。在其余的体素平面中选取一个体素平面作为种子平面v2,该种子平面的法向量为/>在除p1和v2以外的(26-x1-1)个平面中搜索与种子平面v2的法向量/>夹角小于或等于预设角度阈值、且中心点到种子平面v2的距离小于阈值的x2个体素平面加入集合p2,将p2中的体素平面合并为平面S2。直到将所有体素平面都加入集合pi,得到i个拟合平面Si。
在一个实施例中,可以将满足预设接近条件的体素平面中的点加入到同一集合中,然后将集合中的所有点拟合到同一平面中,实现平面合并,得到拟合平面。
本实施例中,将满足预设接近条件的体素平面合并成了同一拟合平面,避免了运算中的误差,从而能够提高对目标对象定位的精度。
如图7所示,在一个实施例中,在拟合平面中进行矩形检测,得到第一矩形的步骤,包括:
S702,将拟合平面中投影至的各点所形成的区域进行高亮处理。
具体地,拟合平面中投影至的各点是三维点云中的各点投影到对应的拟合平面中,在该拟合平面中的点。各点所形成的区域是各点在平面中占据的区域。高亮处理是将平面中灰度值为0的像素转为灰度值为255。将拟合平面中投影至的各点所形成的区域进行高亮处理,是将拟合平面中投影至的各点所形成的区域中的灰度值为0的像素转为灰度值为255。参见图8,是将三维点云中的各点投影到对应的拟合平面中之后得到的拟合平面的图像。参见图9,是将图8中的各点所形成的区域进行高亮处理后得到的拟合平面的图像。
在一个实施例中,可以定义一个预设大小B(比如,3×3)的内核,用该内核遍历拟合平面内的像素,并获取该像素的灰度值。若当前内核扫描到的像素的灰度值为0,且在该像素周围B(比如,3×3)范围内有灰度值为255的像素,则把该像素的灰度值转为255。参见图10,是用内核遍历的方法进行高亮处理的示意图。采用图10左边3×3的内核对图10中间的图像进行高亮处理,图10是当内核扫描到图像左上角时的情况,此时内核覆盖的区域内存在灰度值为0的像素,且此区域内存在灰度值为255的像素,则将此区域内灰度值为0的像素转为灰度值为255,转换灰度值后的图像如图10右边的图像所示。
S704,对高亮后的区域进行边缘检测,得到边缘点集。
具体地,对高亮后的区域进行边缘检测是检测高亮区域的边缘。边缘点集是组成高亮区域的边缘的点集。如图11所示,是对图9进行边缘检测得到的图像。
在一个实施例中,可以采用先膨胀再与原始平面相减的方法,进行边缘检测。将拟合平面中灰度值为255的像素p(x,y)朝x轴和y轴方向膨胀,得到膨胀后的点pd(x+x',y+y'),其中,x’和y’分别为p(x,y)朝x轴和y轴方向膨胀的程度。设拟合平面中原始的点集为m1,膨胀后拟合平面中的点集为m2,则边缘点集mp等于膨胀后的点集减去原始点集:mp=m2-m1。
S706,根据边缘点集,生成封闭的多边形轮廓。
具体地,根据边缘点集,生成封闭的多边形轮廓,是将边缘点集拟合成封闭的多边形轮廓。
在一个实施例中,可以根据边缘点集生成多边形轮廓点集。以一个边缘点为起点,在该边缘点相邻的像素中搜索未被访问过的边缘点,例如,设以一个边缘点p0(x0,y0)为起点,则该边缘点相邻的像素如下:
即,在像素p1,0,p2,0,p3,0,p4,0,p5,0,p6,0,p7,0和p8,0中搜索边缘点,这是第一层搜索。再以搜索到的边缘点为起点,在该边缘点相邻的像素中搜索未被访问过的边缘点。重复以上步骤。若在一定范围内搜索不到其他边缘点则返回上一层搜索,对其他分支的边缘点进行搜索,直到所有像素都被搜索过一次。若起点与其相邻边缘点的距离大于预设阈值,则将这两点之间连线上的像素填充为边缘点,使填充后边缘点之间的距离都小于预设阈值,得到多边形轮廓点集。如图12所示,是根据图11中的边缘点集生成封闭的多边形轮廓点集的图像。
在一个实施例中,可以采用道格拉斯-普克抽稀算法算法(Douglas-Peukcer算法),根据多边形轮廓点集生成光滑的多边形轮廓。如图13A所示,选取一个多边形轮廓点集中距离最长的两点p1和p2,连接成直线p1p2。在该多边形轮廓点集中找到与直线p1p2距离最远的点p3,分别连接直线p1p3和直线p2p3。在点p1和点p3之间找到与直线p1p3距离最远的点p4,分别连接直线p1p4和p3p4,重复以上步骤,直到在两个轮廓点之间的轮廓点与这两点连线的最远距离小于预设阈值,则将这两点之间的连线作为轮廓。如图13B所示,是根据图12中的多边形轮廓点集生成光滑的多边形轮廓的图像。
S708,从多边形轮廓中检测矩形,得到第一矩形。
具体地,从多边形轮廓中检测矩形,是根据多边形轮廓识别出矩形,并将矩形的四条边拟合出来。如图14所示,是从图13B的多边形轮廓中检测矩形的图像。
在一个实施例中,可以搜索直线,然后判断相邻直线的夹角是否为90度,从而识别矩形。设直线方程为y=ax+b,其中,a为斜率,b为直线与y轴的截距。设一条直线上的两点为p1(x1,y1)和p2(x2,y2),则这条直线的斜率为设另一条直线的斜率为a2,若a1=a2,则这两条直线相互平行,若a1*a2=-1,则两直线相互垂直。搜索斜率近似相等的两条直线,即找到近似平行的两条直线,将这两条直线拟合为斜率相等,即完全平行。得到与这两条直线垂直的直线的斜率,用这个斜率拟合与这两条直线垂直的一对平行线,使目标矩形的两对平行线完全垂直,这样就拟合出了矩形的四条边,得到了第一矩形。
本实施例中,在拟合平面中进行矩形检测,检测到第一矩形,为后续对目标对象进一步精确定位做铺垫,从而能够提高对目标对象定位的精度。
如图15所示,在一个实施例中,根据二维图像中目标对象的轮廓,校正拟合平面中的第一矩形的步骤,包括:
S1502,将第一矩形投影至二维图像中,得到第三矩形。
具体地,将第一矩形投影至二维图像中,是根据三维空间与二维图像的坐标对应关系,将第一矩形在三维空间中的点对应到二维图像中,确定第一矩形在三维空间中的点对应到二维图像中的坐标。第三矩形是由第一矩形的所有点对应到二维图像中的所有点组成的。如图16所示,是将第一矩形投影至二维图像中得到第三矩形的图像,其中矩形1602即为第三矩形。
在一个实施例中,可以根据相机的内参矩阵和外参矩阵,将第一矩形投影至二维图像中。
S1504,从二维图像中,确定距第三矩形的各边的距离满足预设距离阈值的图像边缘点集。
具体地,图像边缘点集,是二维图像中的目标对象边缘点的集合。距第三矩形的各边的距离满足预设距离阈值,是指在第三矩形的各边周围范围内。从二维图像中,确定距第三矩形的各边的距离满足预设距离阈值的图像边缘点集,是从二维图像中的目标对象边缘点集中搜索出第三矩形的各边周围范围内的点集。
S1506,将图像边缘点集,投影至第一矩形所位于的拟合平面,并根据图像边缘点集的投影结果,校正第一矩形。
具体地,图像边缘点集是步骤1504中得到的图像边缘点集。第一矩形所位于的拟合平面,是步骤1504中用来确定满足预设距离阈值的图像边缘点集的第三矩形所对应的三维空间中的第一矩形所位于的拟合平面。图像边缘点集的投影结果,是将图像边缘点集投影至第一矩形所位于的拟合平面的投影结果。根据图像边缘点集的投影结果,校正第一矩形,是根据图像边缘点集投影到对应的拟合平面中的点集,来调整第一矩形的四条边在拟合平面中的位置。
在一个实施例中,将图像边缘点集,投影至第一矩形所位于的拟合平面的步骤,可以设二维图像中的点的坐标为x(u,v,z),且为已知。投影到空间中的拟合平面的方程为:AX+BY+CZ+D=0,且为已知。投影到空间中的点坐标为:P(X,Y,Z),为待求量。则:
X=β*u
Y=β*v
Z=β*z
其中,
二维图像中的点x(u,v,z)到拟合平面AX+BY+CZ+D=0的距离为:
参见图17,可知z=f,则:
即可求得X,Y,Z,即为图像边缘点集投影至第一矩形所位于的拟合平面中的坐标。
在一个实施例中,根据图像边缘点集的投影结果,校正第一矩形的步骤,可以根据投影到拟合平面中的点到拟合平面中的第一矩形的距离,来对第一矩形的四条边的位置进行调整。参见图18,是根据图像边缘点集的投影结果,校正第一矩形的图像,其中,直线1802为校正前的第一矩形的边,直线1804为校正后的第一矩形的边,点1806为投影到拟合平面中的点。设投影到拟合平面上的一个点的坐标为Pi(X,Y,Z)。设点Pi(X,Y,Z)到拟合平面上的第一矩形中距离最近的一条边的距离为di,根据点在矩形的边的哪一侧来确定di的正负。设预设阈值为thres。针对第一矩形中的每条边,分别将满足di<thres的对应的点加入一个集合中,设该集合中一共有n个点,并计算该集合中的所有点到该边的距离平均值dave,设dave在空间坐标系下在x轴、y轴、z轴的投影分别为dave-x,dave-y,dave-z,则将该第一矩形的该边进行在该拟合平面内进行平移,平移后该边上的点的空间坐标为:Pd(X+dave-x,Y+dave-y,Z+dave-z)。
本实施例中,根据二维图像中目标对象的轮廓,校正拟合平面中的第一矩形,从而能够提高对目标对象定位的精度。
在一个实施例中,将第一矩形投影至二维图像中,得到第三矩形的步骤,具体包括如下步骤:获取相机的内参矩阵和外参矩阵;外参矩阵,用于描述世界坐标到相机坐标的映射变换关系;获取第一矩形中各点的世界坐标;根据内参矩阵和外参矩阵,将各世界坐标转换为图像坐标;根据转换后的图像坐标,确定第一矩形在二维图像中投影的第三矩形。
具体地,相机的内参矩阵是用于描述相机坐标和图像坐标之间的映射变换关系的矩阵,表示为:
其中,fx和fy为横纵缩放因子,cx和cy为图像中心点的坐标,dx和dy为单个感光单元芯片长度。
相机的外参矩阵是用于描述世界坐标和相机坐标之间的映射变换关系的矩阵,由旋转矩阵和平移向量组成,表示为:
相机的内参矩阵和外参矩阵可以事先通过相机标定的方法来获取。
世界坐标是空间坐标。第一矩形中各点的世界坐标,是第一矩形中各点的空间坐标。
根据内参矩阵和外参矩阵,将各世界坐标转换为图像坐标,是根据如下转换关系将各世界坐标转换为图像坐标:
其中,(u,v)为图像坐标,(X,Y,Z)为世界坐标,z为深度值,z可以由开放式图形库返回。
根据转换后的图像坐标,确定第一矩形在二维图像中投影的第三矩形,是根据第一矩形的每个点转换后的图像坐标来确定第三矩形中的每个点的图像坐标,从而确定第三矩形。
本实施例中,将第一矩形投影至二维图像中得到第三矩形,为后续根据二维图像来对三维空间中的矩形进行校正做铺垫,从而能够提高对目标对象定位的精度。
在一个实施例中,目标对象为多个,根据校正后得到的第二矩形,确定目标对象在三维空间中的位置的步骤,具体包括如下步骤:确定各拟合平面中单位面积的点云数、以及所有拟合平面中单位面积的点云平均数;确定各点云数与点云平均数之间的差值;当差值小于或等于预设差值阈值时,判定同一拟合平面中包括粘连的至少两个第二矩形;对粘连的至少两个第二矩形进行拆分,并根据拆分后的第二矩形,确定相应目标对象在三维空间中的位置。
具体地,各拟合平面中单位面积的点云数,是各拟合平面中单位面积所含有的进行平面拟合时投影过来的点云数。所有拟合平面中单位面积的点云平均数,是所有拟合平面中单位面积的点云数的平均值,即所有拟合平面中单位面积所含有的进行平面拟合时投影过来的点云数的平均值。确定各点云数与点云平均数之间的差值,当差值小于或等于预设差值阈值时,是指满足如下判别式:
(Ni-Nave)≤-th
其中,Ni为各拟合平面中单位面积的点云数,Nave为所有拟合平面中单位面积的点云平均数,th为预设的阈值,th为大于0的数。
同一拟合平面中包括粘连的至少两个第二矩形,是同一拟合平面中包括至少两个第二矩形,且这些第二矩形彼此之间相互连接。当差值小于或等于预设差值阈值时,判定同一拟合平面中包括粘连的至少两个第二矩形,是当满足上述判别式时,就判定同一拟合平面中包括粘连的至少两个第二矩形。
在一个实施例中,例如,预设阈值th=5,则-th=-5,若点云平均数Nave=20,而当前拟合平面单位面积的点云数Ni=10,则Ni-Nave=-10<-5,满足上述判别式,所以判定当前拟合平面中包括粘连的至少两个第二矩形。
对粘连的至少两个第二矩形进行拆分,是将这些粘连的矩形拆分开,分成不同的矩形。根据拆分后的第二矩形,确定相应目标对象在三维空间中的位置,是根据拆分后的第二矩形,分别确定拆分后各个矩形在空间坐标系下的位置和姿态。
在一个实施例中,可以以每个拟合平面的中心为原点分别建立以空间坐标系为基准的坐标系,其中,x轴为y轴为/>z轴为/>则该拟合平面的旋转矩阵为:
即为该拟合平面的姿态。拟合平面坐标系的原点到空间坐标系的原点的距离,即为该拟合平面的位置。
本实施例中,判定同一拟合平面中是否包括粘连的至少两个第二矩形,并对粘连的矩形进行拆分,从而能够提高目标对象的定位精度。
需要说明的是,本申请不同实施例的公式中所存在的命名相同的参数,并不用于指代同一参数,而仅对其所在的实施例的公式进行示意说明。
在一个实施例中,对粘连的至少两个第二矩形进行拆分的步骤,具体包括如下步骤:确定拟合平面中各相邻点之间的第一方向距离和第二方向距离;确定拟合平面中的第一方向距离的第一平均值和第二方向距离的第二平均值;将拟合平面中的第一方向距离大于或等于第一平均值的点,加入第一点集,以及将拟合平面中的第二方向距离大于或等于第二平均值的点,加入第二点集;分别将第一点集和第二点集中的各点按照相应边进行分组;对同组中的点进行拟合生成矩形的边缘,得到拆分后的第二矩形。
具体地,第一方向和第二方向分别是与第二矩形的两组对边平行的方向,且第一方向和第二方向这两个方向相互垂直。
第一方向距离和第二方向距离,分别是第一方向上两点间的距离和第二方向上两点间的距离。确定拟合平面中各相邻点之间的第一方向距离和第二方向距离,是分别确定拟合平面中第一方向上的相邻点之间的距离和第二方向上的相邻点之间的距离。
第一平均值是所有第一方向距离的平均值,第二平均值是所有第二方向距离的平均值。确定拟合平面中的第一方向距离的第一平均值和第二方向距离的第二平均值,是确定拟合平面中所有第一方向距离的平均值和所有第二方向距离的平均值。
将拟合平面中的第一方向距离大于或等于第一平均值的点,加入第一点集,以及将拟合平面中的第二方向距离大于或等于第二平均值的点,加入第二点集,是将拟合平面中第一方向和第二方向上距离大于或等于距离平均值的相邻点分别加入该方向对应的点集。
分别将第一点集和第二点集中的各点按照相应边进行分组,是将第一点集和第二点集中的各点按照组成同一条第二矩形的边的点分到一组的规则进行分组。对同组中的点进行拟合生成矩形的边缘,得到拆分后的第二矩形,是将第一点集和第二点集中的点按照相应边的分组情况分别进行拟合,得到拆分后的矩形的边缘。
本实施例中,对粘连的至少两个第二矩形进行拆分,从而能够提高目标对象的定位精度。
如图19所示,在一个实施例中,提供了一种目标对象检测装置1900,包括平面拟合模块1910、矩形检测模块1920、矩形校正模块1930和位置姿态获取模块1940。其中,
平面拟合模块1910,用于对箱状目标对象俯视角度下的表层三维点云进行平面拟合,得到拟合平面。
矩形检测模块1920,用于将表层三维点云中的各点投影到对应的拟合平面中;在拟合平面中进行矩形检测,得到第一矩形。
矩形校正模块1930,用于获取目标对象的二维图像;根据二维图像中目标对象的轮廓,校正拟合平面中的第一矩形。
位置姿态获取模块1940,用于根据校正后得到的第二矩形,确定目标对象在三维空间中的位置。
本实施例中,对目标对象俯视角度下的表层三维点云进行平面拟合,并将三维点云中的各点投影到对应的拟合平面中,以在各拟合平面中进行矩形检测,得到第一矩形。根据二维图像中目标对象的轮廓,校正拟合平面中的第一矩形,以实现对矩形的微调校正。根据校正后得到的第二矩形,能够更加准确地确定目标对象在三维空间中的位置,从而能够提高对目标对象定位的精度。
在一个实施例中,平面拟合模块1910还用于对表层三维点云进行体素分割;将位于每个体素中的三维点云拟合至同一平面,得到体素平面;将满足预设接近条件的体素平面合并为同一拟合平面。
本实施例中,对箱状目标对象俯视角度下的表层三维点云进行了平面拟合,得到了拟合平面,从而将不同位置、不同姿态的箱状物体拟合到不同的拟合平面中,有利于后续进一步检测,从而能够提高对目标对象定位的精度。
在一个实施例中,平面拟合模块1910还用于从各体素平面中,选取种子平面,并获取种子平面的法向量;从除种子平面之外的体素平面中,选取与种子平面的法向量夹角小于或等于预设角度阈值、且与种子平面的距离小于或等于预设距离阈值的体素平面;将种子平面和选取的体素平面合并为同一拟合平面。
本实施例中,将满足预设接近条件的体素平面合并成了同一拟合平面,避免了运算中的误差,从而能够提高对目标对象定位的精度。
在一个实施例中,矩形检测模块1920还用于将拟合平面中投影至的各点所形成的区域进行高亮处理;对高亮后的区域进行边缘检测,得到边缘点集;根据边缘点集,生成封闭的多边形轮廓;从多边形轮廓中检测矩形,得到第一矩形。
本实施例中,在拟合平面中进行矩形检测,检测到第一矩形,为后续对目标对象进一步精确定位做铺垫,从而能够提高对目标对象定位的精度。
在一个实施例中,矩形校正模块1930还用于将第一矩形投影至二维图像中,得到第三矩形;从二维图像中,确定距第三矩形的各边的距离满足预设距离阈值的图像边缘点集;将图像边缘点集,投影至第一矩形所位于的拟合平面,并根据图像边缘点集的投影结果,校正第一矩形。
本实施例中,根据二维图像中目标对象的轮廓,校正拟合平面中的第一矩形,从而能够提高对目标对象定位的精度。
在一个实施例中,矩形校正模块1930还用于获取相机的内参矩阵和外参矩阵;外参矩阵,用于描述世界坐标到相机坐标的映射变换关系;获取第一矩形中各点的世界坐标;根据内参矩阵和外参矩阵,将各世界坐标转换为图像坐标;根据转换后的图像坐标,确定第一矩形在二维图像中投影的第三矩形。
本实施例中,将第一矩形投影至二维图像中得到第三矩形,为后续根据二维图像来对三维空间中的矩形进行校正做铺垫,从而能够提高对目标对象定位的精度。
在一个实施例中,位置姿态获取模块1940还用于确定各拟合平面中单位面积的点云数、以及所有拟合平面中单位面积的点云平均数;确定各点云数与点云平均数之间的差值;当差值小于或等于预设差值阈值时,判定同一拟合平面中包括粘连的至少两个第二矩形;对粘连的至少两个第二矩形进行拆分,并根据拆分后的第二矩形,确定相应目标对象在三维空间中的位置。
本实施例中,判定同一拟合平面中是否包括粘连的至少两个第二矩形,并对粘连的矩形进行拆分,从而能够提高目标对象的定位精度。
在一个实施例中,位置姿态获取模块1940还用于确定拟合平面中各相邻点之间的第一方向距离和第二方向距离;确定拟合平面中的第一方向距离的第一平均值和第二方向距离的第二平均值;将拟合平面中的第一方向距离大于或等于第一平均值的点,加入第一点集,以及将拟合平面中的第二方向距离大于或等于第二平均值的点,加入第二点集;分别将第一点集和第二点集中的各点按照相应边进行分组;对同组中的点进行拟合生成矩形的边缘,得到拆分后的第二矩形。
本实施例中,对粘连的至少两个第二矩形进行拆分,从而能够提高目标对象的定位精度。
关于目标对象检测装置的具体限定可以参见上文中对于目标对象检测方法的限定,在此不再赘述。上述目标对象检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图20为一个实施例中计算机设备的框图。参照图20,该计算机设备可以为终端或服务器。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质可存储操作系统和计算机程序。该计算机程序被执行时,可使得处理器执行一种目标对象检测方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该内存储器中可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行一种目标对象检测方法。计算机设备的网络接口用于进行网络通信。
本领域技术人员可以理解,图20中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述目标对象检测方法的步骤。此处目标对象检测方法的步骤可以是上述各个实施例的目标对象检测方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述目标对象检测方法的步骤。此处目标对象检测方法的步骤可以是上述各个实施例中目标对象检测方法中的步骤。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (12)
1.一种目标对象检测方法,其特征在于,所述方法包括:
对箱状目标对象俯视角度下的表层三维点云进行平面拟合,得到拟合平面;
将所述表层三维点云中的各点投影到对应的拟合平面中;
在所述拟合平面中进行矩形检测,得到第一矩形;
获取所述目标对象俯视角度下的二维图像;
获取相机的内参矩阵和外参矩阵;所述外参矩阵,用于描述世界坐标到相机坐标的映射变换关系;
获取所述第一矩形中各点的世界坐标;
根据所述内参矩阵和外参矩阵,将各所述世界坐标转换为图像坐标;
根据转换后的图像坐标,确定所述第一矩形在所述二维图像中投影的第三矩形;
从所述二维图像中,确定距所述第三矩形的各边的距离满足预设距离阈值的图像边缘点集;
将所述图像边缘点集,投影至所述第一矩形所位于的拟合平面,并根据图像边缘点集的投影结果,校正所述第一矩形;
确定各所述拟合平面中单位面积的点云数、以及所有所述拟合平面中单位面积的点云平均数;
确定各所述点云数与所述点云平均数之间的差值;
当所述差值小于或等于预设差值阈值时,判定同一所述拟合平面中包括粘连的至少两个第二矩形;
对所述粘连的至少两个第二矩形进行拆分,并根据拆分后的第二矩形,确定相应目标对象在三维空间中的位置。
2.根据权利要求1所述的方法,其特征在于,所述对箱状目标对象俯视角度下的表层三维点云进行平面拟合,得到拟合平面,包括:
对所述表层三维点云进行体素分割;
将位于每个所述体素中的三维点云拟合至同一平面,得到体素平面;
将满足预设接近条件的所述体素平面合并为同一拟合平面。
3.根据权利要求2所述的方法,其特征在于,所述将满足预设接近条件的所述体素平面合并为同一拟合平面包括:
从各体素平面中,选取种子平面,并获取所述种子平面的法向量;
从除所述种子平面之外的体素平面中,选取与所述种子平面的法向量夹角小于或等于预设角度阈值、且与所述种子平面的距离小于或等于预设距离阈值的体素平面;
将所述种子平面和选取的体素平面合并为同一拟合平面。
4.根据权利要求1所述的方法,其特征在于,所述在所述拟合平面中进行矩形检测,得到第一矩形包括:
将所述拟合平面中投影至的各点所形成的区域进行高亮处理;
对高亮后的区域进行边缘检测,得到边缘点集;
根据所述边缘点集,生成封闭的多边形轮廓;
从所述多边形轮廓中检测矩形,得到第一矩形。
5.根据权利要求1所述的方法,其特征在于,所述对所述粘连的至少两个第二矩形进行拆分包括:
确定所述拟合平面中各相邻点之间的第一方向距离和第二方向距离;
确定所述拟合平面中的所述第一方向距离的第一平均值和所述第二方向距离的第二平均值;
将所述拟合平面中的所述第一方向距离大于或等于所述第一平均值的点,加入第一点集,以及将所述拟合平面中的所述第二方向距离大于或等于所述第二平均值的点,加入第二点集;
分别将所述第一点集和第二点集中的各点按照相应边进行分组;
对同组中的点进行拟合生成矩形的边缘,得到拆分后的第二矩形。
6.一种目标对象检测装置,其特征在于,包括:
平面拟合模块,用于对箱状目标对象俯视角度下的表层三维点云进行平面拟合,得到拟合平面;
矩形检测模块,用于将所述表层三维点云中的各点投影到对应的拟合平面中;在所述拟合平面中进行矩形检测,得到第一矩形;
矩形校正模块,用于获取所述目标对象俯视角度下的二维图像;获取相机的内参矩阵和外参矩阵;所述外参矩阵,用于描述世界坐标到相机坐标的映射变换关系;获取所述第一矩形中各点的世界坐标;根据所述内参矩阵和外参矩阵,将各所述世界坐标转换为图像坐标;根据转换后的图像坐标,确定所述第一矩形在所述二维图像中投影的第三矩形;从所述二维图像中,确定距所述第三矩形的各边的距离满足预设距离阈值的图像边缘点集;将所述图像边缘点集,投影至所述第一矩形所位于的拟合平面,并根据图像边缘点集的投影结果,校正所述第一矩形;
位置姿态获取模块,用于确定各所述拟合平面中单位面积的点云数、以及所有所述拟合平面中单位面积的点云平均数;确定各所述点云数与所述点云平均数之间的差值;当所述差值小于或等于预设差值阈值时,判定同一所述拟合平面中包括粘连的至少两个第二矩形;对所述粘连的至少两个第二矩形进行拆分,并根据拆分后的第二矩形,确定相应目标对象在三维空间中的位置。
7.根据权利要求6所述的装置,其特征在于,所述平面拟合模块还用于对所述表层三维点云进行体素分割;将位于每个所述体素中的三维点云拟合至同一平面,得到体素平面;将满足预设接近条件的所述体素平面合并为同一拟合平面。
8.根据权利要求7所述的装置,其特征在于,所述平面拟合模块还用于从各体素平面中,选取种子平面,并获取所述种子平面的法向量;从除所述种子平面之外的体素平面中,选取与所述种子平面的法向量夹角小于或等于预设角度阈值、且与所述种子平面的距离小于或等于预设距离阈值的体素平面;将所述种子平面和选取的体素平面合并为同一拟合平面。
9.根据权利要求6所述的装置,其特征在于,所述矩形检测模块还用于将所述拟合平面中投影至的各点所形成的区域进行高亮处理;对高亮后的区域进行边缘检测,得到边缘点集;根据所述边缘点集,生成封闭的多边形轮廓;从所述多边形轮廓中检测矩形,得到第一矩形。
10.根据权利要求6所述的装置,其特征在于,所述位置姿态获取模块还用于确定所述拟合平面中各相邻点之间的第一方向距离和第二方向距离;确定所述拟合平面中的所述第一方向距离的第一平均值和所述第二方向距离的第二平均值;将所述拟合平面中的所述第一方向距离大于或等于所述第一平均值的点,加入第一点集,以及将所述拟合平面中的所述第二方向距离大于或等于所述第二平均值的点,加入第二点集;分别将所述第一点集和第二点集中的各点按照相应边进行分组;对同组中的点进行拟合生成矩形的边缘,得到拆分后的第二矩形。
11.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1至5中任一项所述方法的步骤。
12.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,使得处理器执行权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911301772.8A CN110992356B (zh) | 2019-12-17 | 2019-12-17 | 目标对象检测方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911301772.8A CN110992356B (zh) | 2019-12-17 | 2019-12-17 | 目标对象检测方法、装置和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110992356A CN110992356A (zh) | 2020-04-10 |
CN110992356B true CN110992356B (zh) | 2024-03-08 |
Family
ID=70094623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911301772.8A Active CN110992356B (zh) | 2019-12-17 | 2019-12-17 | 目标对象检测方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110992356B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111627072B (zh) * | 2020-04-30 | 2023-10-24 | 贝壳技术有限公司 | 一种对多传感器进行标定的方法、装置和存储介质 |
US11675333B2 (en) * | 2020-06-26 | 2023-06-13 | Autodesk, Inc. | Generative design shape optimization with singularities and disconnection prevention for computer aided design and manufacturing |
CN112053397A (zh) * | 2020-07-14 | 2020-12-08 | 北京迈格威科技有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN111862217B (zh) * | 2020-07-29 | 2023-05-26 | 上海高仙自动化科技发展有限公司 | 计算机设备定位方法、装置、计算机设备和存储介质 |
CN112001963A (zh) * | 2020-07-31 | 2020-11-27 | 浙江大华技术股份有限公司 | 消防通道的排查的方法、系统和计算机设备 |
CN112102342B (zh) * | 2020-09-01 | 2023-12-01 | 腾讯科技(深圳)有限公司 | 平面轮廓识别方法、装置、计算机设备和存储介质 |
CN112085801B (zh) * | 2020-09-08 | 2024-03-19 | 清华大学苏州汽车研究院(吴江) | 基于神经网络的三维点云和二维图像融合的校准方法 |
CN111924460B (zh) * | 2020-09-21 | 2021-02-19 | 佛山隆深机器人有限公司 | 一种码垛控制方法及系统 |
CN112710313A (zh) * | 2020-12-31 | 2021-04-27 | 广州极飞科技股份有限公司 | 覆盖路径生成方法、装置、电子设备和存储介质 |
CN112836628B (zh) * | 2021-02-01 | 2022-12-27 | 意诺科技有限公司 | 粘连活动点处理方法和装置 |
CN112861228B (zh) * | 2021-02-18 | 2024-02-13 | 深圳辰视智能科技有限公司 | 一种大型钢铁结构定位方法及系统 |
CN112818992B (zh) * | 2021-02-26 | 2024-02-09 | 梅卡曼德(北京)机器人科技有限公司 | 一种堆垛箱体的识别方法 |
CN113093129B (zh) * | 2021-04-14 | 2022-10-25 | 森思泰克河北科技有限公司 | 车载雷达的自动标定方法、装置及终端设备 |
CN113160259B (zh) * | 2021-04-30 | 2024-01-30 | 重庆紫光华山智安科技有限公司 | 边缘检测方法、装置、计算机设备及存储介质 |
CN113487672B (zh) * | 2021-06-17 | 2024-02-20 | 北京控制工程研究所 | 一种复杂场景下行为关联的对象特征提取方法 |
CN113420735B (zh) * | 2021-08-23 | 2021-12-21 | 深圳市信润富联数字科技有限公司 | 一种轮廓提取方法、装置、设备及存储介质 |
CN115423835B (zh) * | 2022-11-02 | 2023-03-24 | 中汽创智科技有限公司 | 杆状物点云数据处理方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109035330A (zh) * | 2018-08-17 | 2018-12-18 | 深圳蓝胖子机器人有限公司 | 箱体拟合方法、设备和计算机可读存储介质 |
CN109903327A (zh) * | 2019-03-04 | 2019-06-18 | 西安电子科技大学 | 一种稀疏点云的目标物尺寸测量方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2532948B (en) * | 2014-12-02 | 2021-04-14 | Vivo Mobile Communication Co Ltd | Object Recognition in a 3D scene |
-
2019
- 2019-12-17 CN CN201911301772.8A patent/CN110992356B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109035330A (zh) * | 2018-08-17 | 2018-12-18 | 深圳蓝胖子机器人有限公司 | 箱体拟合方法、设备和计算机可读存储介质 |
CN109903327A (zh) * | 2019-03-04 | 2019-06-18 | 西安电子科技大学 | 一种稀疏点云的目标物尺寸测量方法 |
Non-Patent Citations (2)
Title |
---|
吴军 ; 王玲容 ; 黄明益 ; 彭智勇 ; .多几何约束下的鱼眼相机单像高精度标定.光学学报.2018,(11),全文. * |
闫小盼 ; 敖磊 ; 杨新 ; .基于TOF相机的非合作矩形目标三维位姿测量方法.计算机应用研究.2017,(09),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN110992356A (zh) | 2020-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110992356B (zh) | 目标对象检测方法、装置和计算机设备 | |
CN104040590B (zh) | 用于估计物体的姿态的方法 | |
US9044858B2 (en) | Target object gripping apparatus, method for controlling the same and storage medium | |
CN104778688B (zh) | 点云数据的配准方法及装置 | |
CN108381549B (zh) | 一种双目视觉引导机器人快速抓取方法、装置及存储介质 | |
CN112541097A (zh) | 用于对象标识的方法和计算系统 | |
WO2021052283A1 (zh) | 处理三维点云数据的方法和计算设备 | |
US11881000B2 (en) | System and method for simultaneous consideration of edges and normals in image features by a vision system | |
US20070127816A1 (en) | Computer-vision system for classification and spatial localization of bounded 3d-objects | |
CN110807350A (zh) | 用于面向扫描匹配的视觉slam的系统和方法 | |
KR20160003776A (ko) | 자세 추정 방법 및 로봇 | |
US11403764B2 (en) | Method and computing system for processing candidate edges | |
US9317771B2 (en) | Device and method to detect an object and controlling a device to pick up the detected object | |
JP2011133273A (ja) | 推定装置及びその制御方法、プログラム | |
CN112106111A (zh) | 一种标定方法、设备、可移动平台及存储介质 | |
WO2012146253A1 (en) | Pose estimation and classification of objects from 3d point clouds | |
JP6172432B2 (ja) | 被写体識別装置、被写体識別方法および被写体識別プログラム | |
US10810761B2 (en) | Position and orientation estimation apparatus, position and orientation estimation method, and program | |
WO2022133770A1 (zh) | 点云法向量的生成方法、装置、计算机设备和存储介质 | |
WO2015065520A1 (en) | Image processor comprising gesture recognition system with computationally-efficient static hand pose recognition | |
JPH07103715A (ja) | 視覚に基く三次元位置および姿勢の認識方法ならびに視覚に基く三次元位置および姿勢の認識装置 | |
JP7298687B2 (ja) | 物体認識装置及び物体認識方法 | |
CN112734783A (zh) | 用于处理候选边缘的方法和计算系统 | |
JP2014106856A (ja) | 画像認識方法および画像認識装置 | |
CN114972495A (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 |