CN113223091B - 三维目标检测方法、抓取方法、装置及电子设备 - Google Patents

三维目标检测方法、抓取方法、装置及电子设备 Download PDF

Info

Publication number
CN113223091B
CN113223091B CN202110473106.3A CN202110473106A CN113223091B CN 113223091 B CN113223091 B CN 113223091B CN 202110473106 A CN202110473106 A CN 202110473106A CN 113223091 B CN113223091 B CN 113223091B
Authority
CN
China
Prior art keywords
point cloud
camera
world
coordinate system
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.)
Active
Application number
CN202110473106.3A
Other languages
English (en)
Other versions
CN113223091A (zh
Inventor
刘亦芃
杜国光
赵开勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cloudminds Shanghai Robotics Co Ltd
Original Assignee
Cloudminds Shanghai Robotics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Cloudminds Shanghai Robotics Co Ltd filed Critical Cloudminds Shanghai Robotics Co Ltd
Priority to CN202110473106.3A priority Critical patent/CN113223091B/zh
Publication of CN113223091A publication Critical patent/CN113223091A/zh
Priority to PCT/CN2021/143443 priority patent/WO2022227678A1/zh
Application granted granted Critical
Publication of CN113223091B publication Critical patent/CN113223091B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • G06T7/85Stereo camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range 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)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

本发明实施例涉及计算机视觉技术领域,公开了一种三维目标检测方法、抓取方法、装置及电子设备。该方法包括:获取包含目标识别物的深度图像;根据所述深度图像以及相机内参生成对应于所述深度图像的相机点云,所述相机点云为相机坐标系下的点云;将所述相机点云转换为世界点云,所述世界点云为世界坐标系下的点云;根据预设的目标识别模型对所述世界点云进行目标检测,以生成世界坐标系下所述目标识别物的包围盒;根据所述世界坐标系下所述目标识别物的包围盒生成相机坐标系下所述目标识别物的包围盒。通过上述方式,本发明实施例提高了对三维目标的检测质量。

Description

三维目标检测方法、抓取方法、装置及电子设备
技术领域
本发明实施例涉及计算机视觉技术领域,具体涉及一种三维目标检测方法、抓取方法、装置及电子设备。
背景技术
三维目标检测是指对物体的三维空间坐标进行检测的技术。在自动驾驶领域,通过三维目标检测以对车辆进行控制可以避免车辆发生碰撞;在服务型机器人领域,通过三维目标检测可以对物体进行准确抓取。
三维目标检测一般根据输入的点云数据,输出目标识别物的包围盒、类别以及对应的置信度。然而,相关技术中进行三维目标检测时,一般需要获取相机外参,根据相机外参将相机坐标系下的点云数据转换为世界坐标系下的点云数据。当无法获取相机外参时,相关技术对三维目标进行检测的准确度较低。
发明内容
鉴于上述问题,本发明实施例提供了一种三维目标检测方法、抓取方法、装置及电子设备,用于解决现有技术中存在的三维目标检测准确度较低的问题。
根据本发明实施例的一个方面,提供了一种三维目标检测方法,所述方法包括:
获取包含目标识别物的深度图像;
根据所述深度图像以及相机内参生成对应于所述深度图像的相机点云,所述相机点云为相机坐标系下的点云;
将所述相机点云转换为世界点云,所述世界点云为世界坐标系下的点云;
根据预设的目标识别模型对所述世界点云进行目标检测,以生成世界坐标系下所述目标识别物的包围盒;
根据所述世界坐标系下所述目标识别物的包围盒生成相机坐标系下所述目标识别物的包围盒。
在一种可选的方式中,所述将所述相机点云转换为世界点云包括:
将所述相机点云与预设的平面点云进行配准,以生成相机坐标系到世界坐标系的变换矩阵;
根据所述变换矩阵将所述相机点云转换为世界点云。
在一种可选的方式中,所述将所述相机点云与预设的平面点云进行配准,以生成相机坐标系到世界坐标系的变换矩阵包括:
分别计算所述相机点云在三个维度上的均值;
根据所述均值构造齐次变换矩阵,将所述齐次变换矩阵设置为迭代最近点算法的初值;
根据所述迭代最近点算法以及垂直于重力轴的平面点云生成相机坐标系到世界坐标系的变换矩阵。
在一种可选的方式中,所述根据所述变换矩阵将所述相机点云转换为世界点云包括:
确定所述变换矩阵对应的旋转矩阵;
若所述旋转矩阵所对应的旋转角大于90度,则根据所述旋转矩阵与所述相机点云生成世界点云;
若所述旋转矩阵所对应的旋转角不大于90度,则根据所述旋转矩阵对应的余角旋转量与所述相机点云生成世界点云。
在一种可选的方式中,所述方法还包括:
构建点云数据训练集,所述点云数据训练集包括多组世界点云数据以及每一组世界点云数据对应的标签信息;
利用所述点云数据训练集训练预设的目标识别算法,以生成所述目标识别模型。
在一种可选的方式中,所述构建点云数据训练集包括:
构建三维模型库,所述三维模型库包括多个识别物的三维模型;
将每一个识别物摆正至世界坐标系之后,计算每一个识别物的包围盒初始值;
将每一个识别物进行仿真摆放,并计算每一个识别物在仿真位置的包围盒仿真值;
随机生成相机视角,并基于所述相机视角进行渲染,以生成每一个识别物的相机点云数据;
将所述每一个识别物的相机点云数据转换为对应的世界点云数据;
对所述对应的世界点云数据添加标签信息。
根据本发明实施例的另一方面,提供了一种三维目标抓取方法,包括上述的三维目标检测方法,所述三维目标抓取方法还包括:
根据所述相机坐标系下所述目标识别物的包围盒确定所述目标识别物的空间位置;
根据所述空间位置生成抓取指令,以使得抓取器根据所述抓取指令对所述目标识别物进行抓取。
根据本发明实施例的另一方面,提供了一种三维目标检测装置,所述装置包括:
获取模块,用于获取包含目标识别物的深度图像;
第一生成模块,用于根据所述深度图像以及相机内参生成对应于所述深度图像的相机点云,所述相机点云为相机坐标系下的点云;
转换模块,用于将所述相机点云转换为世界点云,所述世界点云为世界坐标系下的点云;
第二生成模块,用于根据预设的目标识别模型对所述世界点云进行目标检测,以生成世界坐标系下所述目标识别物的包围盒;
第三生成模块,用于根据所述世界坐标系下所述目标识别物的包围盒生成相机坐标系下所述目标识别物的包围盒。
根据本发明实施例的另一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述的三维目标检测方法或上述的三维目标抓取方法的操作。
根据本发明实施例的又一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令在电子设备上运行时,使得电子设备执行上述的三维目标检测方法或上述的三维目标抓取方法的操作。
本发明实施例通过深度图像以及相机内参,可以生成对应于深度图像的相机点云;将相机点云转换为世界点云之后,可以根据预设的目标识别模型对世界点云进行目标检测,以生成世界坐标系下目标识别物的包围盒;进一步的,可以根据世界坐标系下目标识别物的包围盒生成相机坐标系下目标识别物的包围盒,以完成对目标识别物的检测。可以看出,本发明实施例在不获取相机外参的情况下,仍然可以基于相机点云生成相机坐标系下目标识别物的包围盒,能够提高目标识别物的检测准确度。
上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
附图仅用于示出实施方式,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的三维目标检测方法的流程示意图;
图2(a)示出了本发明实施例提供的识别物摆放场景及对应相机模拟位置示意图;
图2(b)示出了图2(a)中相机的渲染效果示意图;
图3(a)示出了本发明实施例提供的另一识别物摆放场景及对应相机模拟位置示意图;
图3(b)示出了图3(a)中相机的渲染效果示意图;
图4示出了本发明实施例提供的三维目标抓取方法的流程示意图;
图5示出了本发明实施例提供的三维目标检测装置的结构示意图;
图6示出了本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。
图1示出了本发明实施例三维目标检测方法的流程图,该方法由电子设备执行。电子设备的存储器用于存放至少一可执行指令,该可执行指令使电子设备的处理器执行上述的三维目标检测方法的操作。该电子设备可以是机器人、汽车、计算机或其他终端设备。如图1所示,该方法包括以下步骤:
步骤110:获取包含目标识别物的深度图像。
其中,深度图像可以为RGBD图像,即RGB色彩模式的深度图像。深度图像中的目标识别物为需要进行目标检测的识别物。目标识别物例如可以为水杯、饮料瓶、水果等。一般来说,通过深度相机对包含目标识别物的场景进行拍摄可以获取到包含目标识别物的深度图像。
步骤120:根据所述深度图像以及相机内参生成对应于所述深度图像的相机点云,所述相机点云为相机坐标系下的点云。
其中,根据深度图像以及相机内参可以生成对应于深度图像的相机点云,相机点云为相机坐标系下的点云。相机内参为与拍摄深度图像的相机的自身特性相关的参数,一般包括相机的焦距、像素大小等。
步骤130:将所述相机点云转换为世界点云,所述世界点云为世界坐标系下的点云。
在一种可选的方式中,可以将相机点云与预设的平面点云进行配准,以生成相机坐标系到世界坐标系的变换矩阵,根据变换矩阵将相机点云转换为世界点云。为了获取变换矩阵,可以分别计算相机点云在三个维度上的均值,根据均值构造齐次变换矩阵,将齐次变换矩阵设置为迭代最近点算法的初值,根据迭代最近点算法以及垂直于重力轴的平面点云生成相机坐标系到世界坐标系的变换矩阵。
例如,首先计算相机点云在三维空间中每一维的均值
Figure BDA0003046127500000061
Figure BDA0003046127500000062
然后构造齐次变换矩阵
Figure BDA0003046127500000063
作为迭代最近点算法的初值;生成垂直于世界坐标系重力轴(z轴)的平面点云,以求出相机点云到该平面点云的变换矩阵,通过该变换矩阵即可将相机点云转换为世界点云。
在一种可选的方式中,在根据变换矩阵将相机点云转换为世界点云时,首先,确定变换矩阵对应的旋转矩阵,若旋转矩阵所对应的旋转角大于90度,则根据旋转矩阵与相机点云生成世界点云,若旋转矩阵所对应的旋转角不大于90度,则根据旋转矩阵对应的余角旋转量与相机点云生成世界点云。例如,若旋转角未超过90度,则将180度与旋转角之间的差值作为旋转矩阵的旋转角。
步骤140:根据预设的目标识别模型对所述世界点云进行目标检测,以生成世界坐标系下所述目标识别物的包围盒。
其中,可以根据预设的目标识别模型对世界点云进行目标检测,以生成世界坐标系下目标识别物的包围盒。包围盒,即外接最小矩形,是用于求解离散点集最优包围空间的算法,基本思想是用体积稍大且特性简单的几何体(包围盒)来近似地代替复杂的几何对象。目标识别物的包围盒例如可以为AABB包围盒、包围球、方向包围盒OBB以及固定方向凸包FDH。在根据预设的目标识别模型对世界点云进行目标检测之前,可以基于深度学习对目标识别算法进行训练,以生成目标识别模型。下面对目标识别算法的训练过程进行详细说明。
在对目标识别算法进行训练之前,需要构建点云数据训练集,该点云数据训练集包括多组世界点云数据以及每一组世界点云数据对应的标签信息。利用点云数据训练集训练预设的目标识别算法,以生成目标识别模型。本发明的一个实施例中,目标识别模型例如可以是Vote Net网络(三维目标检测网络)。Vote Net网络是一种基于deep point set网络和霍夫投票协同作用的端到端3D物体检测网络。
在一种可选的方式中,可以通过如下方式构建点云数据训练集:
构建三维模型库,该三维模型库包括多个识别物的三维模型,将每一个识别物摆正至世界坐标系(x轴向右,y轴向前,z轴向上),使得物体竖直放置时的长轴对应y轴,宽对应x轴,高对应z轴。然后,可以利用主成分分析法计算每一个识别物的包围盒。进一步的,构建用于仿真的识别物摆放场景,将每一个识别物在摆放场景下摆放在仿真位置,并计算每一个识别物在仿真位置的包围盒。若摆放位置包括多个识别物,还可以进行碰撞检测,以确保识别物之间不发生碰撞。摆放位置为每一个识别物在世界坐标系下预设空间范围内的空间位置,在将识别物摆正至世界坐标系之后,确定识别物的初始位置,通过平移矩阵和旋转矩阵确定识别物的摆放位置,其中,旋转矩阵为绕z轴的旋转矩阵。进一步的,可以随机生成多个相机视角,并基于每个相机视角对世界点云数据进行渲染,以生成每一个识别物的对应相机视角的相机点云数据,并保存相机点云数据对应的识别物类别、对应包围盒的质心、长度、宽度、高度以及绕z轴的旋转角。
图2(a)示出了本发明实施例提供的物体摆放场景及对应相机模拟位置示意图,图2(b)示出了图2(a)中相机的渲染效果示意图;在图2(a)的物体摆放场景下,随机生成相机视角,并且基于相机视角对世界坐标系下的物体点云数据进行渲染,即可得到图2(b)中的渲染效果。同样的,图3(a)示出了本发明实施例提供的另一物体摆放场景及对应相机模拟位置示意图,图3(b)示出了图3(a)中相机的渲染效果示意图;在图3(a)的物体摆放场景下,随机生成相机视角,并且基于相机视角对世界坐标系下的物体点云数据进行渲染,即可得到图3(b)中的渲染效果。需要说明的是,对于任一物体摆放场景,可以随机生成多个相机视角,分别基于每一个相机视角对识别物的世界点云进行渲染,以得到对应相机视角下的相机点云。
下面通过公式对利用主成分分析法计算识别物的包围盒的过程进行说明。
假设M是一个3×n的矩阵,用来表示三维空间中的点云坐标,n为点云的数量。假设mean(M)表示M在三个维度上的均值所构成的矩阵,即mean(M)矩阵也是一个3×n的矩阵,每一行的元素均相等,且每一行的元素均等于矩阵M在对应维度上的均值。定义
Figure BDA0003046127500000081
计算
Figure BDA0003046127500000082
的协方差矩阵Corr,
Figure BDA0003046127500000083
并求出Corr的特征值A和特征向量V,使得CorrV=AV。进一步的,将特征向量V的列向量重新排列,得到识别物的6种不同摆放方式所对应的特征向量V’。
进一步的,通过计算M’=V’M,即可分别得到识别物6种不同摆放状态下的校正点云M’。将M’平移至原点,即使得M’=M’-mean(M’),之后即可计算出校正点云M’的包围盒B。其中,xmin、ymin和zmin为校正点云M’分别在x轴方向、y轴方向和z轴方向的最小值,xmax、ymax和zmax为校正点云M’分别在x轴方向、y轴方向和z轴方向的最大值。
Figure BDA0003046127500000084
通过旋转矩阵
Figure BDA0003046127500000085
以及平移矩阵t=[tx,ty,tz]T,可以对校正点云M’进行随机摆放,然后更新校正点云M’=RM’+t。其中,θ为校正点云M’绕z轴的旋转角,tx、ty和tz分别为校正点云M’在x轴、y轴和z轴的平移量。
下面通过公式对随机生成相机视角,并基于相机视角对世界坐标系下的点云进行渲染的过程进行说明。
其中,可以设置虚拟相机的位置矩阵CP=[xp,yp,zp]T、前方朝向矩阵Cf=[xf,yf,zf]T和上方朝向矩阵Ct=[xt,yt,zt]T,则可以得出相机的左方朝向矩阵为Cl=[ytzf-ztyf,ztxf-xtzf,xtyf-ytxf]T。通过前方朝向矩阵、上方朝向矩阵和左方朝向矩阵即可确定虚拟相机在对应位置的相机视角。假设TC为相机坐标系相对于世界坐标系的齐次变换矩阵,则可以得到
Figure BDA0003046127500000086
其中,
Figure BDA0003046127500000087
为相机的外参矩阵,
Figure BDA0003046127500000091
为相机坐标系相对于世界坐标系的方向变换矩阵。
通过求解上述的线性方程可以得到
Figure BDA0003046127500000092
进一步的,通过对TC求逆,可以得到世界坐标系相对于相机坐标系的齐次变换矩阵为
Figure BDA0003046127500000093
进而,识别物的相机点云坐标MC
Figure BDA0003046127500000094
由于本发明实施例选择对Vote Net网络进行训练,以得目标识别模型。Vote Net只能比较好地预测绕单轴的旋转,所以在基于深度学习对Vote Net网络进行训练之前,需要将识别物的相机点云变换至世界点云,即使重力方向与-z轴对齐。进一步的,可以基于迭代最近点算法将识别物的相机点云转换为识别物世界点云。下面对将识别物的相机点云变换至世界点云的过程进行说明。
在一种可选的方式中,首先计算识别物的相机点云在三维空间中每一维的均值
Figure BDA0003046127500000095
Figure BDA0003046127500000096
然后,基于每一维的均值
Figure BDA0003046127500000097
Figure BDA0003046127500000098
构造齐次变换矩阵
Figure BDA0003046127500000099
作为迭代最近点算法的初值。由于识别物摆放场景中背景桌面占比较大,背景桌面对应的点云比例较大,所以生成一个垂直于z轴的平面点云,可以利用迭代最近点算法进行平面的配准,计算出识别物的相机点云到平面点云的变换矩阵,变换矩阵包括平移矩阵和旋转矩阵,进一步可以确定旋转矩阵所对应的旋转角。
需要说明的是,由于机器人抓取时默认为俯视观察,所以(0,0,1)T向量的旋转角应该超过90度;若(0,0,1)T向量的旋转角未超过90度,则将180度与(0,0,1)T向量的旋转角之间的差值作为旋转矩阵的旋转角。最后通过旋转矩阵将相机点云转换为世界点云,即使得-z轴与重力方向一致。
将每一个摆放位置对应相机视角的相机点云数据转换为世界点云数据,并且为世界点云数据添加标签信息,即可构建点云数据训练集。标签信息例如可以包括对应识别物的类别,以及对应仿真位置的包围盒的质心、长度、宽度、高度以及绕z轴的旋转角。
Vote Net网络以世界点云为输入,输出实际摆放场景中目标识别物的3D包围盒、置信度以及类别。通过Vote Net网络对三维目标进行检测,只需要世界点云的坐标信息,对世界点云的疏密性没有太大依赖,泛化性能很好。尽管Vote Net已经在室内场景的3D目标检测任务中取得了很好的成果,但处理的都是室内大物体的真实数据。在本说明书中,将Vote Net用于处理仿真数据,利用仿真数据进行训练,并且对根据真实拍摄数据获取的世界点云进行检测。由于仿真数据与实拍数据的几何特征差异不大,这使得本发明实施例的可行性较好。
下面对基于点云数据训练集对Vote Net网络的训练进行说明。
在对Vote Net网络进行训练时,首先按照相似的密度,构造仿真场景下的2.5D点云,然后通过虚拟相机进行拍摄,并根据拍摄获取的相机点云数据生成世界点云数据,并自动获取每一个世界点云数据的标签信息,这样可以提高目标识别模型的训练速度。将含有标签信息的世界点云数据输入Vote Net网络进行训练,根据点云量确定总的训练轮数。Vote Net网络训练结束后,对经过迭代最近点算法处理的世界点云进行三维目标检测,可得到对应于相机点云数据的目标识别物的3D包围盒、置信度以及识别物类别。
步骤150:根据所述世界坐标系下所述目标识别物的包围盒生成相机坐标系下所述目标识别物的包围盒。
其中,可以根据上述的旋转矩阵将世界坐标系下目标识别物的包围盒转换为相机坐标系下目标识别物的包围盒。进一步的,可以利用旋转矩阵右乘世界坐标系下目标识别物的包围盒矩阵以得到相机坐标系下目标识别物的包围盒矩阵。
本发明实施例通过深度图像以及相机内参,可以生成对应于深度图像的相机点云;将相机点云转换为世界点云之后,可以根据预设的目标识别模型对世界点云进行目标检测,以生成世界坐标系下目标识别物的包围盒;进一步的,可以根据世界坐标系下目标识别物的包围盒生成相机坐标系下目标识别物的包围盒,以完成对目标识别物的检测。可以看出,本发明实施例在不获取相机外参的情况下,仍然可以基于相机点云生成相机坐标系下目标识别物的包围盒,能够提高目标识别物的检测准确度。
图4示出了本发明另一个实施例的三维目标抓取方法流程图,该方法由电子设备执行。电子设备的存储器用于存放至少一可执行指令,该可执行指令使电子设备的处理器执行上述的三维目标抓取方法的操作。如图4所示,该方法包括以下步骤:
步骤210:根据所述相机坐标系下所述目标识别物的包围盒确定所述目标识别物的空间位置。
其中,根据相机坐标系下目标识别物的包围盒可以确定目标识别物的空间位置。目标识别物的空间位置包括目标识别物的空间坐标以及目标识别物在三维空间的旋转角。
步骤220:根据所述空间位置生成抓取指令,以使得抓取器根据所述抓取指令对所述目标识别物进行抓取。
其中,可以根据目标识别物的空间位置生成抓取指令,将抓取指令发送给用于抓取目标识别物的抓取器。抓取器可以根据抓起指令确定目标识别物的抓取路径,根据抓取路径对目标识别物进行抓取。
本发明实施例基于相机点云生成相机坐标系下目标识别物的包围盒,根据相机坐标系下目标识别物的包围盒确定目标识别物的空间位置,根据空间位置生成抓取指令,可以使得抓取器根据抓取指令对目标识别物进行准确抓取。
图5示出了本发明实施例三维目标检测装置的结构示意图。如图5所示,该装置300包括:获取模块310、第一生成模块320、转换模块330、第二生成模块340和第三生成模块350。
其中,获取模块310,用于获取包含目标识别物的深度图像;
第一生成模块320,用于根据所述深度图像以及相机内参生成对应于所述深度图像的相机点云,所述相机点云为相机坐标系下的点云;
转换模块330,用于将所述相机点云转换为世界点云,所述世界点云为世界坐标系下的点云;
第二生成模块340,用于根据预设的目标识别模型对所述世界点云进行目标检测,以生成世界坐标系下所述目标识别物的包围盒;
第三生成模块350,用于根据所述世界坐标系下所述目标识别物的包围盒生成相机坐标系下所述目标识别物的包围盒。
在一种可选的方式中,转换模块330用于:
将所述相机点云与预设的平面点云进行配准,以生成相机坐标系到世界坐标系的变换矩阵;
根据所述变换矩阵将所述相机点云转换为世界点云。
在一种可选的方式中,转换模块330用于:
分别计算所述相机点云在三个维度上的均值;
根据所述均值构造齐次变换矩阵,将所述齐次变换矩阵设置为迭代最近点算法的初值;
根据所述迭代最近点算法以及垂直于重力轴的平面点云生成相机坐标系到世界坐标系的变换矩阵。
在一种可选的方式中,转换模块330用于:
确定所述变换矩阵对应的旋转矩阵;
若所述旋转矩阵所对应的旋转角大于90度,则根据所述旋转矩阵与所述相机点云生成世界点云;
若所述旋转矩阵所对应的旋转角不大于90度,则根据所述旋转矩阵对应的余角旋转量与所述相机点云生成世界点云。
在一种可选的方式中,装置300还包括训练模块,用于:
构建点云数据训练集,所述点云数据训练集包括多组世界点云数据以及每一组世界点云数据对应的标签信息;
利用所述点云数据训练集训练预设的目标识别算法,以生成所述目标识别模型。
在一种可选的方式中,所述训练模块用于:
构建三维模型库,所述三维模型库包括多个识别物的三维模型;
将每一个识别物摆正至世界坐标系之后,计算每一个识别物的包围盒初始值;
将每一个识别物进行仿真摆放,并计算每一个识别物在仿真位置的包围盒仿真值;
随机生成相机视角,并基于所述相机视角进行渲染,以生成每一个识别物的相机点云数据;
将所述每一个识别物的相机点云数据转换为对应的世界点云数据;
对所述对应的世界点云数据添加标签信息。
本发明实施例通过深度图像以及相机内参,可以生成对应于深度图像的相机点云;将相机点云转换为世界点云之后,可以根据预设的目标识别模型对世界点云进行目标检测,以生成世界坐标系下目标识别物的包围盒;进一步的,可以根据世界坐标系下目标识别物的包围盒生成相机坐标系下目标识别物的包围盒,以完成对目标识别物的检测。可以看出,本发明实施例在不获取相机外参的情况下,仍然可以基于相机点云生成相机坐标系下目标识别物的包围盒,能够提高目标识别物的检测准确度。
图6示出了本发明实施例电子设备结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图6所示,该电子设备可以包括:处理器(processor)402、通信接口(Communications Interface)404、存储器(memory)406、以及通信总线408。
其中:处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。处理器402,用于执行程序410,具体可以执行上述用于三维目标检测方法实施例中的相关步骤。
具体地,程序410可以包括程序代码,该程序代码包括计算机可执行指令。
处理器402可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序410具体可以被处理器402调用使电子设备执行以下操作:
获取包含目标识别物的深度图像;
根据所述深度图像以及相机内参生成对应于所述深度图像的相机点云,所述相机点云为相机坐标系下的点云;
将所述相机点云转换为世界点云,所述世界点云为世界坐标系下的点云;
根据预设的目标识别模型对所述世界点云进行目标检测,以生成世界坐标系下所述目标识别物的包围盒;
根据所述世界坐标系下所述目标识别物的包围盒生成相机坐标系下所述目标识别物的包围盒。
在一种可选的方式中,所述程序410被处理器402调用使电子设备执行以下操作:
将所述相机点云与预设的平面点云进行配准,以生成相机坐标系到世界坐标系的变换矩阵;
根据所述变换矩阵将所述相机点云转换为世界点云。
在一种可选的方式中,所述程序410被处理器402调用使电子设备执行以下操作:
分别计算所述相机点云在三个维度上的均值;
根据所述均值构造齐次变换矩阵,将所述齐次变换矩阵设置为迭代最近点算法的初值;
根据所述迭代最近点算法以及垂直于重力轴的平面点云生成相机坐标系到世界坐标系的变换矩阵。
在一种可选的方式中,所述程序410被处理器402调用使电子设备执行以下操作:
确定所述变换矩阵对应的旋转矩阵;
若所述旋转矩阵所对应的旋转角大于90度,则根据所述旋转矩阵与所述相机点云生成世界点云;
若所述旋转矩阵所对应的旋转角不大于90度,则根据所述旋转矩阵对应的余角旋转量与所述相机点云生成世界点云。
在一种可选的方式中,所述程序410被处理器402调用使电子设备执行以下操作:
构建点云数据训练集,所述点云数据训练集包括多组世界点云数据以及每一组世界点云数据对应的标签信息;
利用所述点云数据训练集训练预设的目标识别算法,以生成所述目标识别模型。
在一种可选的方式中,所述程序410被处理器402调用使电子设备执行以下操作:
构建三维模型库,所述三维模型库包括多个识别物的三维模型;
将每一个识别物摆正至世界坐标系之后,计算每一个识别物的包围盒初始值;
将每一个识别物进行仿真摆放,并计算每一个识别物在仿真位置的包围盒仿真值;
随机生成相机视角,并基于所述相机视角进行渲染,以生成每一个识别物的相机点云数据;
将所述每一个识别物的相机点云数据转换为对应的世界点云数据;
对所述对应的世界点云数据添加标签信息。
在一种可选的方式中,所述程序410被处理器402调用使电子设备执行以下操作:
根据所述相机坐标系下所述目标识别物的包围盒确定所述目标识别物的空间位置;
根据所述空间位置生成抓取指令,以使得抓取器根据所述抓取指令对所述目标识别物进行抓取。
本发明实施例通过深度图像以及相机内参,可以生成对应于深度图像的相机点云;将相机点云转换为世界点云之后,可以根据预设的目标识别模型对世界点云进行目标检测,以生成世界坐标系下目标识别物的包围盒;进一步的,可以根据世界坐标系下目标识别物的包围盒生成相机坐标系下目标识别物的包围盒,以完成对目标识别物的检测。可以看出,本发明实施例在不获取相机外参的情况下,仍然可以基于相机点云生成相机坐标系下目标识别物的包围盒,能够提高目标识别物的检测准确度。
本发明实施例提供了一种计算机可读存储介质,所述存储介质存储有至少一可执行指令,该可执行指令在电子设备上运行时,使得所述电子设备执行上述任意方法实施例中的三维目标检测方法。
本发明实施例提供一种三维目标检测装置,用于执行上述三维目标检测方法。
本发明实施例提供了一种计算机程序,所述计算机程序可被处理器调用使电子设备执行上述任意方法实施例中的三维目标检测方法。
本发明实施例提供了一种计算机程序产品,计算机程序产品包括存储在计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令在计算机上运行时,使得所述计算机执行上述任意方法实施例中的三维目标检测方法。
在此提供的算法或显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。
本领域技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。

Claims (10)

1.一种三维目标检测方法,其特征在于,所述方法包括:
获取包含目标识别物的深度图像;
根据所述深度图像以及相机内参生成对应于所述深度图像的相机点云,所述相机点云为相机坐标系下的点云;
将所述相机点云转换为世界点云,所述世界点云为世界坐标系下的点云;
根据预设的目标识别模型对所述世界点云进行目标检测,以生成世界坐标系下所述目标识别物的包围盒;
根据所述世界坐标系下所述目标识别物的包围盒生成相机坐标系下所述目标识别物的包围盒。
2.根据权利要求1所述的方法,其特征在于,所述将所述相机点云转换为世界点云包括:
将所述相机点云与预设的平面点云进行配准,以生成相机坐标系到世界坐标系的变换矩阵;
根据所述变换矩阵将所述相机点云转换为世界点云。
3.根据权利要求2所述的方法,其特征在于,所述将所述相机点云与预设的平面点云进行配准,以生成相机坐标系到世界坐标系的变换矩阵包括:
分别计算所述相机点云在三个维度上的均值;
根据所述均值构造齐次变换矩阵,将所述齐次变换矩阵设置为迭代最近点算法的初值;
根据所述迭代最近点算法以及垂直于重力轴的平面点云生成相机坐标系到世界坐标系的变换矩阵。
4.根据权利要求2或3所述的方法,其特征在于,所述根据所述变换矩阵将所述相机点云转换为世界点云包括:
确定所述变换矩阵对应的旋转矩阵;
若所述旋转矩阵所对应的旋转角大于90度,则根据所述旋转矩阵与所述相机点云生成世界点云;
若所述旋转矩阵所对应的旋转角不大于90度,则根据所述旋转矩阵对应的余角旋转量与所述相机点云生成世界点云。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
构建点云数据训练集,所述点云数据训练集包括多组世界点云数据以及每一组世界点云数据对应的标签信息;
利用所述点云数据训练集训练预设的目标识别算法,以生成所述目标识别模型。
6.根据权利要求5所述的方法,其特征在于,所述构建点云数据训练集包括:
构建三维模型库,所述三维模型库包括多个识别物的三维模型;
将每一个识别物摆正至世界坐标系之后,计算每一个识别物的包围盒初始值;
将每一个识别物进行仿真摆放,并计算每一个识别物在仿真位置的包围盒仿真值;
随机生成相机视角,并基于所述相机视角进行渲染,以生成每一个识别物的相机点云数据;
将所述每一个识别物的相机点云数据转换为对应的世界点云数据;
对所述对应的世界点云数据添加标签信息。
7.一种三维目标抓取方法,其特征在于,包括权利要求1-6任一项所述的三维目标检测方法,所述三维目标抓取方法还包括:
根据所述相机坐标系下所述目标识别物的包围盒确定所述目标识别物的空间位置;
根据所述空间位置生成抓取指令,以使得抓取器根据所述抓取指令对所述目标识别物进行抓取。
8.一种三维目标检测装置,其特征在于,所述装置包括:
获取模块,用于获取包含目标识别物的深度图像;
第一生成模块,用于根据所述深度图像以及相机内参生成对应于所述深度图像的相机点云,所述相机点云为相机坐标系下的点云;
转换模块,用于将所述相机点云转换为世界点云,所述世界点云为世界坐标系下的点云;
第二生成模块,用于根据预设的目标识别模型对所述世界点云进行目标检测,以生成世界坐标系下所述目标识别物的包围盒;
第三生成模块,用于根据所述世界坐标系下所述目标识别物的包围盒生成相机坐标系下所述目标识别物的包围盒。
9.一种电子设备,其特征在于,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-6任意一项所述的三维目标检测方法或如权利要求7所述的三维目标抓取方法的操作。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一可执行指令,所述可执行指令在电子设备上运行时,使得电子设备执行如权利要求1-6任意一项所述的三维目标检测方法或如权利要求7所述的三维目标抓取方法的操作。
CN202110473106.3A 2021-04-29 2021-04-29 三维目标检测方法、抓取方法、装置及电子设备 Active CN113223091B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110473106.3A CN113223091B (zh) 2021-04-29 2021-04-29 三维目标检测方法、抓取方法、装置及电子设备
PCT/CN2021/143443 WO2022227678A1 (zh) 2021-04-29 2021-12-30 三维目标检测方法、抓取方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110473106.3A CN113223091B (zh) 2021-04-29 2021-04-29 三维目标检测方法、抓取方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN113223091A CN113223091A (zh) 2021-08-06
CN113223091B true CN113223091B (zh) 2023-01-24

Family

ID=77090035

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110473106.3A Active CN113223091B (zh) 2021-04-29 2021-04-29 三维目标检测方法、抓取方法、装置及电子设备

Country Status (2)

Country Link
CN (1) CN113223091B (zh)
WO (1) WO2022227678A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113223091B (zh) * 2021-04-29 2023-01-24 达闼机器人股份有限公司 三维目标检测方法、抓取方法、装置及电子设备
CN115222799B (zh) * 2021-08-12 2023-04-11 达闼机器人股份有限公司 图像重力方向的获取方法、装置、电子设备及存储介质
CN113689351B (zh) * 2021-08-24 2023-10-10 北京石油化工学院 基于深度相机的危化品仓储监控方法、装置及设备
CN114627239B (zh) * 2022-03-04 2024-04-30 北京百度网讯科技有限公司 包围盒生成方法、装置、设备及存储介质
CN114754779B (zh) * 2022-04-27 2023-02-14 镁佳(北京)科技有限公司 一种定位与建图方法、装置及电子设备
CN114643588B (zh) * 2022-05-19 2022-08-05 睿驰(深圳)智能有限公司 一种自主移动消毒机器人的控制方法、***及介质
CN115272791B (zh) * 2022-07-22 2023-05-26 仲恺农业工程学院 一种基于YoloV5的茶叶用多目标检测定位方法
CN116330306B (zh) * 2023-05-31 2023-08-15 之江实验室 一种物体的抓取方法、装置、存储介质及电子设备
CN117689678B (zh) * 2024-02-04 2024-05-28 法奥意威(苏州)机器人***有限公司 工件焊缝识别方法、装置、设备和存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106707293B (zh) * 2016-12-01 2019-10-29 百度在线网络技术(北京)有限公司 用于车辆的障碍物识别方法和装置
CN108986161B (zh) * 2018-06-19 2020-11-10 亮风台(上海)信息科技有限公司 一种三维空间坐标估计方法、装置、终端和存储介质
CN109614889B (zh) * 2018-11-23 2020-09-18 华为技术有限公司 对象检测方法、相关设备及计算机存储介质
CN109784333B (zh) * 2019-01-22 2021-09-28 中国科学院自动化研究所 基于点云带权通道特征的三维目标检测方法及***
CN110344621B (zh) * 2019-06-13 2020-05-26 武汉大学 一种面向智能车库的车轮点云检测方法
CN112446227A (zh) * 2019-08-12 2021-03-05 阿里巴巴集团控股有限公司 物体检测方法、装置及设备
CN111950426A (zh) * 2020-08-06 2020-11-17 东软睿驰汽车技术(沈阳)有限公司 目标检测方法、装置及运载工具
CN111986232B (zh) * 2020-08-13 2021-09-14 上海高仙自动化科技发展有限公司 目标物体的检测方法、装置、机器人及存储介质
CN112200851B (zh) * 2020-12-09 2021-02-26 北京云测信息技术有限公司 一种基于点云的目标检测方法、装置及其电子设备
CN113223091B (zh) * 2021-04-29 2023-01-24 达闼机器人股份有限公司 三维目标检测方法、抓取方法、装置及电子设备

Also Published As

Publication number Publication date
CN113223091A (zh) 2021-08-06
WO2022227678A1 (zh) 2022-11-03

Similar Documents

Publication Publication Date Title
CN113223091B (zh) 三维目标检测方法、抓取方法、装置及电子设备
CN107063228B (zh) 基于双目视觉的目标姿态解算方法
JP4865557B2 (ja) 有界三次元対象物の分類と空間ローカライゼーションのためのコンピュータ視覚システム
Song et al. CAD-based pose estimation design for random bin picking using a RGB-D camera
CN111443359B (zh) 定位方法、装置及设备
CN111738261A (zh) 基于位姿估计和校正的单图像机器人无序目标抓取方法
CN110378325B (zh) 一种机器人抓取过程中的目标位姿识别方法
CN112070782B (zh) 识别场景轮廓的方法、装置、计算机可读介质及电子设备
CN111079565B (zh) 视图二维姿态模板的构建方法及识别方法、定位抓取***
CN113927597B (zh) 基于深度学习的机器人连接件六自由度位姿估计***
CN112509036B (zh) 位姿估计网络训练及定位方法、装置、设备、存储介质
CN112669385A (zh) 基于三维点云特征的工业机器人工件识别与位姿估计方法
CN111754579A (zh) 多目相机外参确定方法及装置
CN114299150A (zh) 一种深度6d位姿估计网络模型及工件位姿估计方法
CN114092553A (zh) 基于fpfh和icp改进算法的无序抓取姿态估计方法
CN112348890A (zh) 一种空间定位方法、装置及计算机可读存储介质
CN114310892A (zh) 基于点云数据碰撞检测的物体抓取方法、装置和设备
CN113313824A (zh) 一种三维语义地图构建方法
JP2778430B2 (ja) 視覚に基く三次元位置および姿勢の認識方法ならびに視覚に基く三次元位置および姿勢の認識装置
CN116309882A (zh) 一种面向无人叉车应用的托盘检测和定位方法及***
CN114897974B (zh) 一种目标物空间定位方法、***、存储介质及计算机设备
CN115284279A (zh) 一种基于混叠工件的机械臂抓取方法、装置及可读介质
CN113362388A (zh) 一种用于目标定位和姿态估计的深度学习模型
Du et al. Pose Measurement Method of Non-cooperative Targets Based on Semantic Segmentation
CN109903336A (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
CB02 Change of applicant information

Address after: 201111 Building 8, No. 207, Zhongqing Road, Minhang District, Shanghai

Applicant after: Dayu robot Co.,Ltd.

Address before: 200000 second floor, building 2, no.1508, Kunyang Road, Minhang District, Shanghai

Applicant before: Dalu Robot Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant