CN110276804A - 数据处理方法及装置 - Google Patents

数据处理方法及装置 Download PDF

Info

Publication number
CN110276804A
CN110276804A CN201910582544.6A CN201910582544A CN110276804A CN 110276804 A CN110276804 A CN 110276804A CN 201910582544 A CN201910582544 A CN 201910582544A CN 110276804 A CN110276804 A CN 110276804A
Authority
CN
China
Prior art keywords
marked
convex closure
dimensional convex
data
rendering
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.)
Granted
Application number
CN201910582544.6A
Other languages
English (en)
Other versions
CN110276804B (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.)
Shenzhen Sensetime Technology Co Ltd
Original Assignee
Shenzhen Sensetime Technology 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 Shenzhen Sensetime Technology Co Ltd filed Critical Shenzhen Sensetime Technology Co Ltd
Priority to CN201910582544.6A priority Critical patent/CN110276804B/zh
Publication of CN110276804A publication Critical patent/CN110276804A/zh
Application granted granted Critical
Publication of CN110276804B publication Critical patent/CN110276804B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0014Image feed-back for automatic industrial control, e.g. robot with camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/506Illumination models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Robotics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请公开了一种数据处理方法及装置。该方法包括:获得堆叠状态下的至少两个待标注物体;对所述至少两个待标注物体进行第一渲染处理,得到训练数据,以及对所述至少两个待标注物体进行第二渲染处理,得到监督数据;根据所述训练数据和所述监督数据,得到用于训练神经网络的数据集。还公开了数据处理装置。

Description

数据处理方法及装置
技术领域
本申请涉及智能机器人技术领域,尤其涉及一种数据处理方法及装置。
背景技术
随着机器人研究的深入和各方面需求的巨大增长,机器人的应用领域在不断扩大,如:通过机器人抓取物料框中堆叠的物体。通过机器人抓取堆叠的物体首先需要识别待抓取物体在空间中的位姿,再根据识别到的位姿对待抓取物体进行抓取。通过神经网络可对堆叠场景下的物体进行实例分割,并估计得到堆叠物体的位姿,然而训练神经网络需要大量的数据。
通过人工标注的方法,可获得用于训练神经网络的训练数据和监督数据,但该种方法对于不同场景下的堆叠物体,获得训练数据和监督数据的效率及精确率较低。
发明内容
本申请提供了一种数据处理方法及装置,以获取训练数据和监督数据。
第一方面,提供了一种数据处理方法,所述方法包括:获得堆叠状态下的至少两个待标注物体;对所述至少两个待标注物体进行第一渲染处理,得到训练数据,以及对所述至少两个待标注物体进行第二渲染处理,得到监督数据;根据所述训练数据和所述监督数据,得到用于训练神经网络的数据集。
在该方面中,通过对堆叠状态下的待标注物体进行渲染处理,可得到训练数据和监督数据,该训练数据和监督数据训练用于训练神经网络,得到训练后的神经网络。基于训练后的神经网络可获得输入的图像中每个像素点所属物体的编号、每个像素点所属物体的质心的三维坐标、每个像素点所属物体的位姿。
在一种可能实现的方式中,所述对所述至少两个待标注物体进行第一渲染处理,得到训练数据,包括:对所述至少两个待标注物体进行渲染处理,得到深度图;获取用于进行所述渲染处理的采集设备在世界坐标系下的坐标;根据所述深度图中的深度数据以及所述采集设备在世界坐标系下的坐标,得到所述训练数据。
在该种可能实现的方式中,通过对待标注物体进行渲染处理可得到深度图,再基于深度图可得到的点云数据。将点云数据作为训练数据,可使后续基于点云数据训练得到神经网络能通过对点云数据进行处理得到深度图中每个像素点所属物体的编号、每个像素点所属物体的质心的三维坐标、每个像素点所属物体的姿态。
在另一种可能实现的方式中,所述对所述至少两个待标注物体进行渲染处理,得到深度图,包括:确定每个所述待标注物体中的像素点到相机平面的距离,其中所述相机平面为过所述相机的光心且与所述相机的光轴垂直的平面;将所述距离作为所述待标注物体的像素点的深度数据,得到所述深度图。
在该种可能实现的方式中,根据待标注物体中的像素点到相机平面的距离对所有待标注物体进行渲染处理,可得到待标注物体中的像素点的深度数据,进而得到深度图。
在又一种可能实现的方式中,所述对所述至少两个待标注物体进行第一渲染处理,得到训练数据,还包括:对每个所述待标注物体进行反光渲染处理,得到所述训练数据。
在该种可能实现的方式中,通过对待标注物体进行反光渲染处理可得到训练数据,可使后续基于真实图像(即使用真实相机拍摄得到的图像)训练得到神经网络能通过对真实图像进行处理得到真实图像中每个像素点所属物体的编号、每个像素点所属物体的质心的三维坐标、每个像素点所属物体的姿态。
在又一种可能实现的方式中,所述对所述至少两个待标注物体进行反光渲染处理,得到所述训练数据,包括:调整用于所述反光渲染处理的光源的光照和/或调整用于所述反光渲染处理的相机的位置和/或调整每个所述待标注物体的表面纹理,得到反光渲染处理条件;基于所述反光渲染处理条件对每个所述待标注物体进行反光渲染处理,得到所述训练数据。
在该种可能实现的方式中,通过在反光渲染处理的过程中,调整光源的光照和/或相机的位置和/或待标注物体的表面纹理,可使反光渲染处理得到的训练数据更接近真实相机拍摄得到的图像,有利于提供使用训练数据进行训练的效果。
在又一种可能实现的方式中,所述对所述至少两个待标注物体进行第二渲染处理,得到监督数据,包括:对每个所述待标注物体进行自发光渲染处理,得到包含标签数据的第一渲染图;将所述第一渲染图的标签数据作为所述监督数据。
在该种可能实现的方式中,通过对待标注物体进行自发光渲染处理可得第一渲染图,并可将第一渲染图中每个像素点所属物体的编号、每个像素点所属物体的质心的三维坐标、每个像素点所属物体的姿态作为标签数据,并将所有像素点的标签数据作为监督数据,以获得与训练数据对应的监督数据,以便后续基于训练数据和监督数据训练神经网络。
在又一种可能实现的方式中,所述获得堆叠状态下的至少两个待标注物体,包括:对所述至少两个待标注物体进行碰撞模拟处理;在所述至少两个待标注物体静止的情况下,获得所述堆叠状态下的至少两个待标注物体。
在该种可能实现的方式中,通过对待标注物体进行碰撞模拟处理,以模拟人或机器人分拣物体的过程,这样获得的待标注物体的堆叠状态可更接近于真实物体的堆叠状态,有利于提高获得的训练数据和监督数据的精度。
在又一种可能实现的方式中,所述对所述至少两个待标注物体进行碰撞模拟处理,包括:获取所述至少两个待标注物体的三维凸包;对所述至少两个待标注物体的三维凸包进行碰撞模拟处理。
在该种可能实现的方式中,通过对每个待标注物体的三维凸包进行碰撞模拟可获得待标注物体的堆叠状态,以达到模拟人或机器人向物料框或物料盘内分拣物体的效果。
在又一种可能实现的方式中,所述对所述至少两个待标注物体的三维凸包进行碰撞模拟处理,包括:基于所述至少两个待标注物体的三维凸包进行碰撞模拟处理,以使每个所述待标注物体从第一预设区域移动至第二预设区域,其中所述第一预设区域的水平投影区域与第二预设区域的水平投影区域相同。
在该种可能实现的方式中,通过对所有待标注物体的三维凸包进行碰撞模拟使待标注物体从第一预设区域移动至第二预设区域,以模拟人或机器从往物料框或物料盘内扔物体的情形,使本方案的仿真效果更逼真,进而提高获得的训练数据和监督数据的可靠度。
在又一种可能实现的方式中,所述三维凸包包括第一三维凸包和第二三维凸包,所述基于所述至少两个待标注物体的三维凸包进行碰撞模拟处理,以使每个所述待标注物体从第一预设区域移动至第二预设区域,包括:将所述第一三维凸包以及所述第二三维凸包置于第一预设区域内,以使所述第一三维凸包与所述第二三维凸包相互接触且产生弹性形变;根据所述弹性形变,得到弹力;获取所述第一三维凸包的重力以及所述第二三维凸包的重力;根据所述弹力、所述第一三维凸包的重力以及所述第二三维凸包的重力,得到所述第一三维凸包的第一运动轨迹和所述第二三维凸包的第二运动轨迹,以使所述第一三维凸包沿所述第一运动轨迹移动、以使所述第二三维凸包沿所述第二运动轨迹移动,直到所述第一三维凸包和所述第二三维凸包静止于所述第二预设区域内。
在该种可能实现的方式中,在所有待标注物体的三维凸包之间的弹力的作用下,使所有待标注物体的三维凸包在第一预设区域弹开,并在弹力和重力的作用下,分别沿第一运动轨迹和第二运动轨迹移动,直到所有待标注物体的三维凸包静止于第二预设区域,可更加真实的模拟人或机器从往物料框或物料盘内扔物体的情形,获得更接近于现实情形的堆叠状态下的物体。
在又一种可能实现的方式中,所述第二预设区域为三维区域;所述以使所述第一三维凸包沿所述第一运动轨迹移动、以使所述第二三维凸包沿所述第二运动轨迹移动,直到所述第一三维凸包和所述第二三维凸包静止于所述第二预设区域内,包括:所述第一三维凸包沿所述第一运动轨迹移动、所述第二三维凸包沿所述第二运动轨迹移动,直到所述第一三维凸包以及所述第二三维凸包与目标底面碰撞,得到第一碰撞力;和/或所述第一三维凸包沿所述第一运动轨迹移动、所述第二三维凸包沿所述第二运动轨迹移动,直到所述第一三维凸包以及所述第二三维凸包与目标侧面碰撞,得到第二碰撞力,其中,所述目标底面为目标三维模型的底面,所述目标侧面为目标三维模型的侧面,所述目标三维模型包含的三维空间为所述第二预设区域;根据所述第一碰撞力和/或所述第二碰撞力、所述第一三维凸包的重力以及所述第二三维凸包的重力,得到所述第一三维凸包的第三运动轨迹和所述第二三维凸包的第四运动轨迹,以使所述第一三维凸包沿所述第三运动轨迹移动、以使所述第二三维凸包沿所述第四运动轨迹移动,直到所述第一三维凸包以及所述第二三维凸包静止于所述第二预设区域内。
在该种可能实现的方式中,在待标注物体的三维凸包移动至第二预设区域内后,在待标注物体的三维凸包分别与目标三维模型的底面和目标三维模型的侧面的碰撞力下,使待标注物体的三维凸包在第二预设区域内移动,直至静止于第二预设区域内,以模拟物体与物料框或物料盘发生碰撞后的运动,进一步提高训练数据和监督数据的可靠度。
在又一种可能实现的方式中,所述至少两个待标注物体包括第一待标注物体和第二待标注物体,所述第一待标注物体的三维凸包包括所述第一三维凸包,所述第二待标注物体的三维凸包包括所述第二三维凸包,所述方法还包括:获取所述第一待标注物体的第三三维凸包以及所述第二待标注物体的第四三维凸包,其中,所述第一三维凸包的体积大于所述第三三维凸包的体积,所述第二三维凸包的体积大于所述第四三维凸包的体积;用所述第三三维凸包替换所述第一三维凸包,用所述第四三维凸包替换所述第二三维凸包;对所述第三三维凸包以及所述第四三维凸包进行碰撞模拟处理。
在该种可能实现的方式中,用精细的三维凸包(第三三维凸包和第四三维凸包)替换粗略的三维凸包(第一三维凸包和第二三维凸包),可进一步提升模拟的效果,进而提高训练数据和监督数据的可靠度。
在又一种可能实现的方式中,所述用所述第三三维凸包替换所述第一三维凸包,用所述第四三维凸包替换所述第二三维凸包,包括:在所述第一三维凸包以及所述第二三维凸包静止的情况下,获取所述第一三维凸包的位姿以及所述第二三维凸包的位姿;用所述第三三维凸包替换所述第一三维凸包,使得所述第三三维凸包的初始位姿与所述第一三维凸包的位姿相同;用所述第四三维凸包替换所述第二三维凸包,使得所述第四三维凸包的初始位姿与所述第二三维凸包的位姿相同。
在该种可能实现的方式中,在用精细的三维凸包替换粗略的三维凸包时,保证精细三维凸包的初始位姿和粗略三维凸包的位姿相同,可提高模拟过程中数据(位姿数据)的准确度。
在又一种可能实现的方式中,所述对所述至少两个待标注物体进行第一渲染处理,得到训练数据,以及对所述至少两个待标注物体进行第二渲染处理,得到监督数据,包括:获取所述第一待标注物体的第一三维模型以及第二待标注物体的第二三维模型;在所述第三三维凸包以及所述第四三维凸包静止的情况下,用所述第一三维模型替换所述第三三维凸包,用所述第二三维模型替换所述第四三维凸包;对每个所述待标注物体进行所述第一渲染处理,得到所述训练数据,以及对所述第一三维模型以及所述第二三维模型进行所述第二渲染处理,得到所述监督数据。
在该种可能实现的方式中,用待标注物体的三维模型替换精细的三维凸包,可进一步提升模拟的效果,进而提高训练数据和监督数据的可靠度。
在又一种可能实现的方式中,所述在所述第三三维凸包以及所述第四三维凸包静止的情况下,用所述第一三维模型替换所述第三三维凸包,用所述第二三维模型替换所述第四三维凸包,包括:在所述第三三维凸包以及所述第四三维凸包静止的情况下,获取所述第三三维凸包的最终位姿以及所述第四三维凸包的最终位姿;用所述第一三维模型替换所述第三三维凸包,使得所述第一三维模型的位姿与所述第三三维凸包的最终位姿相同;用所述第二三维模型替换所述第四三维凸包,使得所述第二三维模型的位姿与所述第四三维凸包的最终位姿相同。
在该种可能实现的方式中,在用三维模型替换精细的三维凸包时,保证三维模型的初始位姿和精细三维凸包的位姿相同,可提高模拟过程中数据(位姿数据)的准确度。
在又一种可能实现的方式中,所述对所述第第一三维模型以及所述第二三维模型进行所述第二渲染处理,得到所述监督数据,包括:将所述第一三维模型以及所述第二三维模型分别用不同的颜色上色,得到上色后的第一三维模型以及上色后的第二三维模型;将所述上色后的第一三维模型以及所述上色后的第二三维模型分别用不同的编号标注;基于所述标注后的第一三维模型以及所述标注后的第二三维模型绘制得到第二渲染图,作为所述监督数据。
在该种可能实现的方式中,通过对三维模型进行上色、添加编号,可区分基于三维模型渲染得到的第二渲染图中每个像素点所属的物体,以及所述物体的编号,以便后续基于第二渲染图中每个像素点的标签得到监督数据。
第二方面,提供了一种数据处理装置,所述装置包括:获取单元,用于获得堆叠状态下的至少两个待标注物体;渲染处理单元,用于对所述至少两个待标注物体进行第一渲染处理,得到训练数据,以及对所述至少两个待标注物体进行第二渲染处理,得到监督数据;处理单元,用于根据所述训练数据和所述监督数据,得到用于训练神经网络的数据集。
在一种可能实现的方式中,所述渲染处理单元用于:对所述至少两个待标注物体进行渲染处理,得到深度图;获取用于进行所述渲染处理的采集设备在世界坐标系下的坐标;根据所述深度图中的深度数据以及所述采集设备在世界坐标系下的坐标,得到所述训练数据。
在另一种可能实现的方式中,所述渲染处理单元用于:确定每个所述待标注物体中的像素点到相机平面的距离,其中所述相机平面为过所述相机的光心且与所述相机的光轴垂直的平面;将所述距离作为所述待标注物体的像素点的深度数据,得到所述深度图。
在又一种可能实现的方式中,所述渲染处理单元还用于:对每个所述待标注物体进行反光渲染处理,得到所述训练数据。
在又一种可能实现的方式中,所述渲染处理单元用于:调整用于所述反光渲染处理的光源的光照和/或调整用于所述反光渲染处理的相机的位置和/或调整每个所述待标注物体的表面纹理,得到反光渲染处理条件;基于所述反光渲染处理条件对每个所述待标注物体进行反光渲染处理,得到所述训练数据。
在又一种可能实现的方式中,所述渲染处理单元用于:对每个所述待标注物体进行自发光渲染处理,得到包含标签数据的第一渲染图;将所述第一渲染图的标签数据作为所述监督数据。
在又一种可能实现的方式中,所述获取单元用于:对所述至少两个待标注物体进行碰撞模拟处理;在所述至少两个待标注物体静止的情况下,获得所述堆叠状态下的至少两个待标注物体。
在又一种可能实现的方式中,所述获取单元用于:获取所述至少两个待标注物体的三维凸包;对所述至少两个待标注物体的三维凸包进行碰撞模拟处理。
在又一种可能实现的方式中,所述获取单元用于:基于所述至少两个待标注物体的三维凸包进行碰撞模拟处理,以使每个所述待标注物体从第一预设区域移动至第二预设区域,其中所述第一预设区域的水平投影区域与第二预设区域的水平投影区域相同。
在又一种可能实现的方式中,所述获取单元用于:将所述第一三维凸包以及所述第二三维凸包置于第一预设区域内,以使所述第一三维凸包与所述第二三维凸包相互接触且产生弹性形变;根据所述弹性形变,得到弹力;获取所述第一三维凸包的重力以及所述第二三维凸包的重力;根据所述弹力、所述第一三维凸包的重力以及所述第二三维凸包的重力,得到所述第一三维凸包的第一运动轨迹和所述第二三维凸包的第二运动轨迹,以使所述第一三维凸包沿所述第一运动轨迹移动、以使所述第二三维凸包沿所述第二运动轨迹移动,直到所述第一三维凸包和所述第二三维凸包静止于所述第二预设区域内。
在又一种可能实现的方式中,所述第二预设区域为三维区域;所述获取单元用于:所述第一三维凸包沿所述第一运动轨迹移动、所述第二三维凸包沿所述第二运动轨迹移动,直到所述第一三维凸包以及所述第二三维凸包与目标底面碰撞,得到第一碰撞力;和/或所述第一三维凸包沿所述第一运动轨迹移动、所述第二三维凸包沿所述第二运动轨迹移动,直到所述第一三维凸包以及所述第二三维凸包与目标侧面碰撞,得到第二碰撞力,其中,所述目标底面为目标三维模型的底面,所述目标侧面为目标三维模型的侧面,所述目标三维模型包含的三维空间为所述第二预设区域;根据所述第一碰撞力和/或所述第二碰撞力、所述第一三维凸包的重力以及所述第二三维凸包的重力,得到所述第一三维凸包的第三运动轨迹和所述第二三维凸包的第四运动轨迹,以使所述第一三维凸包沿所述第三运动轨迹移动、以使所述第二三维凸包沿所述第四运动轨迹移动,直到所述第一三维凸包以及所述第二三维凸包静止于所述第二预设区域内。
在又一种可能实现的方式中,所述至少两个待标注物体包括第一待标注物体和第二待标注物体,所述第一待标注物体的三维凸包包括所述第一三维凸包,所述第二待标注物体的三维凸包包括所述第二三维凸包,所述数据处理装置还包括:所述获取单元,还用于获取所述第一待标注物体的第三三维凸包以及所述第二待标注物体的第四三维凸包,其中,所述第一三维凸包的体积大于所述第三三维凸包的体积,所述第二三维凸包的体积大于所述第四三维凸包的体积;替换单元,用于用所述第三三维凸包替换所述第一三维凸包,用所述第四三维凸包替换所述第二三维凸包;碰撞模拟处理单元,用于对所述第三三维凸包以及所述第四三维凸包进行碰撞模拟处理。
在又一种可能实现的方式中,所述替换单元用于:在所述第一三维凸包以及所述第二三维凸包静止的情况下,获取所述第一三维凸包的位姿以及所述第二三维凸包的位姿;用所述第三三维凸包替换所述第一三维凸包,使得所述第三三维凸包的初始位姿与所述第一三维凸包的位姿相同;用所述第四三维凸包替换所述第二三维凸包,使得所述第四三维凸包的初始位姿与所述第二三维凸包的位姿相同。
在又一种可能实现的方式中,所述渲染处理单元用于:获取所述第一待标注物体的第一三维模型以及第二待标注物体的第二三维模型;在所述第三三维凸包以及所述第四三维凸包静止的情况下,用所述第一三维模型替换所述第三三维凸包,用所述第二三维模型替换所述第四三维凸包;对每个所述待标注物体进行所述第一渲染处理,得到所述训练数据,以及对所述第一三维模型以及所述第二三维模型进行所述第二渲染处理,得到所述监督数据。
在又一种可能实现的方式中,所述渲染处理单元用于:在所述第三三维凸包以及所述第四三维凸包静止的情况下,获取所述第三三维凸包的最终位姿以及所述第四三维凸包的最终位姿;用所述第一三维模型替换所述第三三维凸包,使得所述第一三维模型的位姿与所述第三三维凸包的最终位姿相同;用所述第二三维模型替换所述第四三维凸包,使得所述第二三维模型的位姿与所述第四三维凸包的最终位姿相同。
在又一种可能实现的方式中,所述渲染处理单元用于:将所述第一三维模型以及所述第二三维模型分别用不同的颜色上色,得到上色后的第一三维模型以及上色后的第二三维模型;将所述上色后的第一三维模型以及所述上色后的第二三维模型分别用不同的编号标注;基于所述标注后的第一三维模型以及所述标注后的第二三维模型绘制得到第二渲染图,作为所述监督数据。
第三方面,提供了一种处理器,所述处理器用于执行如上述第一方面及其任意一种可能实现的方式的方法。
第四方面,提供了一种电子设备,包括:处理器、发送装置、输入装置、输出装置和存储器,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述处理器执行所述计算机指令时,所述电子设备执行如上述第一方面及其任意一种可能实现的方式的方法。
第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被电子设备的处理器执行时,使所述处理器执行如上述第一方面及其任意一种可能实现的方式的方法。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1为本申请实施例提供的一种数据处理方法的流程示意图;
图2为本申请实施例提供的另一种数据处理方法的流程示意图;
图3为本申请实施例提供的另一种数据处理方法的流程示意图;
图4为本申请实施例提供的另一种数据处理方法的流程示意图;
图5为本申请实施例提供的另一种数据处理方法的流程示意图;
图6为本申请实施例提供的另一种数据处理方法的流程示意图;
图7为本申请实施例提供的一种数据处理装置的结构示意图;
图8为本申请实施例提供的一种数据处理装置的硬件结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
在实际应用中,机器人需要将待装配的零配件放置与指定的物料框或物料盘中。机器人再通过神经网络估计得到的物料框或物料盘中堆叠零配件的位姿,对待装配的零配件进行抓取并装配。在神经网络对物料框或物料盘中堆叠零配件的位姿进行估计之前,需要对该神经网络进行训练,本申请公开一种获得用于训练神经网络的训练数据和监督数据的方法。此外,本文中提及的“位姿”指位置和姿态,如:第一三维模型的位姿值第一三维模型的质心的三维坐标以及第一三维模型的姿态。
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
下面结合本申请实施例中的附图对本申请实施例进行描述。
请参阅图1,图1是本申请实施例(一)提供的一种数据处理方法的流程示意图。
101、获得堆叠状态下的至少两个待标注物体。
本申请实施例中,堆叠状态下的至少两个待标注物体为仿真环境下的至少两个物体,例如堆叠状态下的至少两个三维模型、堆叠状态下的至少两个三维凸包等等。
至少两个待标注物体可以是至少两个同一类待标注物体,也可以包含不同类的至少两个待标注物体。例如,上述至少两个待标注物体可以是三个螺钉的三维模型,且这三个三维模型对应的螺钉的型号形同。上述至少两个待标注物体可以包括一个螺母的三维模型和两个螺钉的三维模型。
在一种可能实现的方式中,至少两个待标注物体的堆叠状态可以是随机生成的。例如,设备(即本实施例的执行主体)在获取至少两个待标注物体后,可将每个待标注物体随机置于预设区域内,得到堆叠状态下的至少两个待标注物体。
在另一种可能实现的方式中,至少两个待标注物体的堆叠状态可以通过对所有待标注物体进行碰撞模拟处理得到。例如,设备(即本实施例的执行主体)在获取至少两个待标注物体后,在预设区域内对所有待标注物体进行碰撞模拟处理,使每一个待标注物体在碰撞模拟后静止于预设区域内,得到堆叠状态下的至少两个待标注物体。
上述两种可能实现的方式中,预设区域可以是仿真环境下物料框或物料盘所包含的区域,如,仿真环境下物料框的内部三维空间区域。
102、对所述至少两个待标注物体进行第一渲染处理,得到训练数据,以及对所述至少两个待标注物体进行第二渲染处理,得到监督数据。
本申请实施例中,对至少两个待标注物体进行第一渲染处理,得到训练数据,可以是通过深度相机对每个待标注物体进行渲染处理,得到深度图;也可以是通过深度相机对每个待标注物体进行反光渲染处理,并将反光渲染处理得到的渲染图作为训练数据。
在一种可能实现的方式中,在所有待标注物体无序堆叠于物料框或物料盘内时,通过渲染引擎对物料框(或物料盘)以及所有待标注物体进行渲染处理得到一张深度图,深度图中的每个像素都有一个相应的深度数据,表示该像素到深度相机的距离。在获得深度图之后,获取进行上述渲染处理的渲染参数,其中,渲染参数中包含进行上述渲染处理的采集设备如相机在世界坐标系下的坐标以及相机参数。根据渲染参数对深度图进行坐标转换得到点云数据,并将点云数据作为训练数据。
在另一种可能实现的方式中,在所有待标注物体无序堆叠于物料框或物料盘内时,首先调整用于渲染的光源的光照和/或调整用于渲染的相机的位置和/或调整每一个待标注物体的表面纹理,再通过渲染引擎对物料框(或物料盘)以及所有待标注物体进行反光渲染处理得到第一渲染图,并将该第一渲染图作为训练数据。
此外,还可通过渲染引擎对物料框(或物料盘)以及所有待标注物体进行自发光渲染处理,得到第二渲染图,其中,第二渲染图中不同的颜色对应不同类别的待标注物体,每个待标注物体均有一个编号,且每个像素点的位姿信息包含所属待标注物体的质心的三维坐标以及所属待标注物体的姿态。最后将每个像素点所属物体的编号、所属物体的质心的三维坐标以及所属物体的姿态作为监督数据。
上述渲染引擎可以为:Renderman、Maxwell Render、Finalrender、Blender、Unreal等,对此本申请不做具体限定。
需要理解的是,通过渲染引擎渲染得到训练数据和监督数据是相对应的,即在使用该训练数据训练神经网络时,可根据训练效果与监督数据之间的偏差调整神经网络的参数直至收敛。
103、根据所述训练数据和所述监督数据,得到用于训练神经网络的数据集。
本申请实施例中,训练数据中的像素点与监督数据中的像素点一一对应,且监督数据包含标签数据,标签数据包含监督数据中每个像素点所属物体的位姿和每个像素点所属物体的编号。
可将训练数据和监督数据一起作为训练神经网络的数据集,即将训练数据输入待训练神经网络可获得预测结果,通过预测结果与监督数据中的标签数据的差异可调整待训练神经网络的参数,并完成对待训练神经网络的训练,获得可识别待抓取物体位姿的神经网络。
本实施例通过对堆叠状态下的待标注物体进行渲染处理,得到训练数据和监督数据,基于训练数据和监督数据训练得到的神经网络可获得输入的图像中每个像素点所属物体的编号、每个像素点所属物体的质心的三维坐标、每个像素点所属物体的位姿。
请参阅图2,图2为本申请实施例(二)提供的实施例(一)中101的一种可能实现的方式的流程示意图。
201、对所述至少两个待标注物体进行碰撞模拟处理。
本实施例通过对至少两个待标注物体进行碰撞模拟处理,以模拟通过人工将待标注物体放置于物料框或物料盘内的过程,如:人将待标注物体扔往相应的物料框或物料盘,在将所有的待标注物体扔进物料框或物料盘内后,所有的待标注物体在物料框或物料盘内处于任意堆叠状态。
本实施例中,对至少两个待标注物体进行碰撞模拟处理可包括以下步骤:获取至少两个待标注物体的三维凸包;对至少两个待标注物体的三维凸包进行碰撞模拟处理。
在一些可能实现的方式中,通过物理引擎对至少两个待标注物体的三维凸包或三维模型进行碰撞模拟,三维凸包或三维模型在相互作用力以及重力的作用下,从物料框或物料盘的正上方掉落至物料框或物料盘内,且在所有三维凸包或三维模型都静止于物料框或物料盘内时,所有三维凸包或三维模型处于无序堆叠状态。上述物理引擎可以为:Havok、Bullet、PhysX等,对此本申请不做具体限定。
202、在所述至少两个待标注物体静止的情况下,获得所述堆叠状态下的至少两个待标注物体。
通过上述步骤201对待标注物体进行相互碰撞模拟处理后,各个待标注物体静止的情况下时,得到堆叠场景状态下的至少两个待标注物体。
本实施例通过对待标注物体进行碰撞模拟处理,以模拟人或机器人分拣物体的过程,这样获得的待标注物体的堆叠状态可更接近于真实物体的堆叠状态,有利于提高获得的训练数据和监督数据的精度。
请参阅图3,图3为本申请实施例(三)提供的实施例(一)中102的一种可能实现的方式的流程示意图。
301、对所述至少两个待标注物体进行渲染处理,得到深度图。
本实施例中,可通过渲染引擎中的采集设备对至少两个待标注物体进行渲染处理,得到深度图。深度图中包含有每个像素到采集设备的距离信息,即深度图中的每个像素都有相应的深度数据。
在一种可能实现的方式中,采集设备可以是深度相机,首选获取深度相机的参数,其中,深度相机的参数包括:深度相机的拍摄角度,深度相机的拍摄参数(如感光度、光圈、焦距)等。将过深度相机的光心且与该相机的光轴垂直的平面作为深度相机平面,计算每个待标注物体中的每一个点到深度相机平面的距离,最后将该距离作为上述每个待标注物体中的点的深度数据,并根据拍摄参数对至少两个待标注物体进行渲染,得到上述深度图。
302、获取用于进行所述渲染处理的采集设备在世界坐标系下的坐标。
本实施例中,采集设备可以是深度相机。通过获取深度相机在世界坐标系下的坐标,以便后续基于深度图和深度相机在世界坐标系下的坐标得到训练数据。
303、根据所述深度图中的深度数据以及所述采集设备在世界坐标系下的坐标,得到所述训练数据。
本实施例中,训练数据可以是点云数据。在通过301~302的处理得到深度图后,可根据世界坐标系与相机坐标系之间的转换关系以及相机在世界坐标系下的坐标,将深度图转换为点云数据。
304、对每个所述待标注物体进行自发光渲染处理,得到包含标签数据的第一渲染图。
在所有待标注物体都静止的情况下,对不同的待标注物体用不同的颜色上色,并分别给每一个待标注物体一个不同的编号,再对待标注物体以及物料框(或物料盘)进行自发光渲染处理,得到第一渲染图。
在一种可能实现的方式中,将所有的三维模型分别用不同的颜色上色,得到上色后的三维模型,再将上色后的三维模型分别用不同的编号进行标注,得到标注后的三维模型,最后对物料框(或物料盘)以及所有的标注后的三维模型进行自发光渲染处理,绘制得到第一渲染图。
305、将所述第一渲染图的标签数据作为所述监督数据。
将第一渲染图中的每个像素点所属待标注物体的位姿、该像素点所属待标注物体的编号作为该像素点的标签数据,并将第一渲染图中所有像素点的标签数据作为监督数据。
本实施例中,通过对待标注物体进行渲染处理可得到深度图,再基于深度图可得到的点云数据。将点云数据作为训练数据,可使后续基于点云数据训练得到神经网络能通过对点云数据进行处理得到深度图中每个像素点所属物体的编号、每个像素点所属物体的质心的三维坐标、每个像素点所属物体的姿态。此外,通过对待标注物体进行自发光渲染处理可得第一渲染图,并可将第一渲染图的标签数据作为监督数据。
请参阅图4,图4为本申请实施例(四)提供的实施例(一)中102的另一种可能实现的方式的流程示意图。
401、对每个所述待标注物体进行反光渲染处理,得到所述训练数据。
本实施例中,反光渲染处理指通过渲染光源照射在待标注物体的表面中的不同位置形成不同的光照效果以渲染得到逼近真实相机拍摄得到的图像。反光渲染处理得到的图像中包含待标注物体的表面纹理信息,以及待标注物体所处环境的光照信息。
在一种可能实现的方式中,调整用于反光渲染处理的光源的光照和/或调整用于反光渲染处理的相机的位置和/或调整每个待标注物体的表面纹理,得到反光渲染处理条件。基于反光渲染处理条件对每个待标注物体进行反光渲染处理,可得到训练数据。
402、对每个所述待标注物体进行自发光渲染处理,得到包含标签数据的第一渲染图。
请参见304,此处将不再赘述。
403、将所述第一渲染图的标签数据作为所述监督数据。
请参见305,此处将不再赘述。
本实施例中,通过对待标注物体进行反光渲染处理可得到训练数据,可使后续基于真实图像(即使用真实相机拍摄得到的图像)训练得到神经网络能通过对真实图像进行处理得到真实图像中每个像素点所属物体的编号、每个像素点所属物体的质心的三维坐标、每个像素点所属物体的姿态。此外,通过对待标注物体进行自发光渲染处理可得第一渲染图,并可将第一渲染图的标签数据作为监督数据。
请参阅图5,图5为本申请实施例(五)提供的实施例(二)中201的一种可能实现的方式的流程示意图。
501、基于所述至少两个待标注物体的三维凸包进行碰撞模拟处理,以使每个所述待标注物体从第一预设区域移动至第二预设区域,其中所述第一预设区域的水平投影区域与第二预设区域的水平投影区域相同。
本申请实施例中,第一预设区域可以是仿真环境下物料框或物料盘的正上方的三维空间区域。第二预设区域可以是仿真环境下物料框或物料盘所包含的区域,如,仿真环境下物料框的内部三维空间区域。
在人或者机器将待标注物体放置于物料框或物料盘内后,待标注物体会处于无序堆叠状态,对于无序堆叠状态下的物体的位姿的估计要比有序堆叠状态下的物体的位姿的估计复杂。
本申请实施例通过对所有的待标注物体进行碰撞模拟处理,以模拟通过人工将待标注物体放置于物料框或物料盘内的过程,得到无序堆叠状态下的待标注物体。碰撞模拟是基于待标注物体的模型对待标注物体的碰撞进行模拟,达到仿真真是碰撞的效果,因此,在对所有的待标注物体进行碰撞模拟之前,需要获取每个待标注物体的模型,可选地,待标注物体的模型可以为:计算机辅助设计(computer aided design,CAD)三维模型、三维凸包等,对此,本申请不做具体限定。
在一种可能实现的方式中,至少两个待标注物体包括第一待标注物体和第二待标注物体。首先获取第一待标注物体的第一三维凸包以及第二待标注物体的第二三维凸包,将第一三维凸包以及第二三维凸包置于物料框或物料盘(即第二预设区域)的正上方(即第一预设区域)的任意一点,使第一三维凸包与第二三维凸包相互接触且产生弹性形变,根据弹性形变,计算得到第一三维凸包与第二三维凸包之间的弹力,并获取第一三维凸包的重力(即第一待标注物体的重力)以及第二三维凸包的重力(即第二待标注物体的重力)。根据弹力、第一三维凸包的重力以及第二三维凸包的重力,得到第一三维凸包的第一运动轨迹和第二三维凸包的第二运动轨迹。在弹力、第一三维凸包的重力以及第二三维凸包的重力的作用下,第一三维凸包以及第二三维凸包将散开,并使第一三维凸包沿第一运动轨迹移动、使第二三维凸包沿第二运动轨迹移动,直到掉落至第二预设区域内,并静止于第二预设区域内。
举例来说:一个矩形物料盘的底面(ABCD)在仿真坐标系下的四个边界点坐标分别为A(x1,y1,z1)、B(x2,y1,z1)、C(x2,y2,z1)、D(x1,y2,z2),且z2大于z1,则第一预设区域中的任意一点P(x,y,z)满足:将所有待标注物体的三维凸包聚集在P点,使三维凸包间相互接触,且产生弹性形变,根据输入的三维凸包的重力,以及弹性形变产生的弹力,使所有三维凸包从P点开始移动,直到堆叠于第二预设区域(ABCD)内。上述物理引擎可以为:Havok、Bullet、PhysX等,对此本申请不做具体限定。
需要理解的是,上述实现方式中的第一待标注物体以及第二待标注物体并不代表只对两个待标注物体进行碰撞模拟,而是泛指所有待标注物体,也就是说,可以同时对多个待标注物体进行碰撞模拟。
可选的,假定目标三维模型包含的三维空间为第二预设区域,在第一待标注物体和第二待标注物体掉落至第二预设区域内时,第一三维凸包以及第二三维凸包与目标三维模型的底面碰撞,得到第一碰撞力。和/或使第一三维凸包沿第一运动轨迹移动、使第二三维凸包沿第二运动轨迹移动,直到第一三维凸包以及第二三维凸包与目标三维模型的侧面碰撞,得到第二碰撞力。
举例来说,第一待标注物体和第二待标注物体在掉落入物料框后,将与物料框的底面碰撞,并在碰撞产生的碰撞力的作用下继续在物料框内移动,并与物料框的侧面碰撞,直到静止于物料框内。
502、在所述第一三维凸包以及所述第二三维凸包静止的情况下,用所述第一三维模型替换所述第一三维凸包,用所述第二三维模型替换所述第二三维凸包。
本实施例中,第一三维模型和第二三维模型均可是CAD模型。由于三维凸包和待标注物体的实际外形之间存在差距比三维模型与待标注物体的实际外形之间的差距大,因此,用待标注物体的三维模型替换三维凸包,使后续的处理更接近与真实情况,提高获得的训练数据和监督数据的精确度。
在一种可能实现的方式中,首先,获取第一待标注物体的第一三维模型以及第二待标注物体的第二三维模型。在第一三维凸包以及第二三维凸包静止于第二预设区域内的情况下,获取第一三维凸包在堆叠状态下的位姿以及第二三维凸包在堆叠状态下的位姿,用第一三维模型替换第一三维凸包,使得第一三维模型的位姿与第一三维凸包在堆叠状态下的位姿相同,并用第二三维模型替换第二三维凸包,使得第二三维模型的位姿与第二三维凸包在堆叠状态下的位姿相同。
需要理解的是,三维模型的体积小于三维凸包的体积,因此在用三维模型替换三维凸包后,三维模型之间会有间隙,这时所有的三维模型在重力以及与其他三维模型之间的弹力的作用下继续移动,直到所有三维模型都静止。
本申请实施例通过在高空中对三维凸包进行碰撞模拟,得到堆叠状态下的三维凸包,以达到仿真人为放置待标注物体的效果。用三维模型替换精细三维凸包进一步使仿真效果进一步接近真实情况,提高后续得到的训练数据和监督数据的精度。
请参阅图6,图6为本申请实施例(六)提供的实施例(二)中201的另一种可能实现的方式的流程示意图。
601、基于所述至少两个待标注物体的三维凸包进行碰撞模拟处理,以使每个所述待标注物体从第一预设区域移动至第二预设区域,其中所述第一预设区域的水平投影区域与第二预设区域的水平投影区域相同。
请参见501,此处将不再赘述。
602、对第三三维凸包以及第四三维凸包进行碰撞模拟处理。
本实施例中,第一三维凸包的体积大于第三三维凸包的体积,第二三维凸包的体积大于第四三维凸包的体积。即相对于同一个物体来说,第一三维凸包与物体的相似度较第三三维凸包与物体的相似度更低,第二三维凸包与物体的相似度较第四三维凸包与物体的相似度更低。其中,相似度低的三维凸包可称为粗略三维凸包(第一三维凸包和第二三维凸包),相似度高的三维凸包可称为精细三维凸包(第三三维凸包和第四三维凸包)。例如:一把剪刀的粗略三维凸包是长方体,精细三维凸包形状与剪刀的实际形状相同,显然,同一个待标注物体的粗略三维凸包的体积是要大于精细三维凸包的体积的。
如上所述,粗略三维凸包与待标注物体的实际形状之间的差距较大,为保证后续处理的精度,将使用待标注物体的精细三维凸包替换粗略三维凸包。在一种可能实现的方式中,获取第一待标注物体的精细三维凸包(第三三维凸包)以及第二待标注物体的精细三维凸包(第四三维凸包)。在第一三维凸包以及上述第二三维凸包静止于第二预设区域内的情况下,获取第一三维凸包在堆叠状态下的位姿以及第二三维凸包在堆叠状态下的位姿,用第三三维凸包替换第一三维凸包,使得第三三维凸包的初始位姿与第一三维凸包在堆叠状态下的位姿相同,并用第四三维凸包替换第二三维凸包,使得第四三维凸包的初始位姿与第二三维凸包在堆叠状态下的位姿相同。
由于精细三维凸包的体积小于粗略三维凸包的体积,因此,在用精细三维凸包替换粗略三维凸包后,精细三维凸包之间会有间隙,这时所有的精细三维凸包在重力以及与其他三维模型之间的弹力的作用下继续移动,直到所有精细三维凸包都静止。
603、在所述第三三维凸包以及上述第四三维凸包静止的情况下,用第一三维模型替换所述第三三维凸包,用第二三维模型替换所述第四三维凸包。
相较于精细三维凸包,三维模型在轮廓、细节上更接近与实际物体,因此,用待标注物体的三维模型替换精细三维凸包,使后续的处理更接近与真实情况,提高点云数据的精确度。
在一种可能实现的方式中,首先,获取第一待标注物体的第一三维模型以及上述第二待标注物体的第二三维模型。在第三三维凸包以及第四三维凸包静止于第二预设区域内的情况下,获取第三三维凸包的最终位姿以及第四三维凸包的最终位姿,用第一三维模型替换第三三维凸包,使得第一三维模型的位姿与第三三维凸包的最终位姿相同,并用第二三维模型替换第四三维凸包,使得第二三维模型的位姿与第四三维凸包的最终位姿相同。
本申请实施例通过在高空中对粗略三维凸包进行碰撞模拟,得到堆叠状态下的三维凸包,以达到仿真人为放置待标注物体的效果,并提高处理速度;通过用精细三维凸包替换粗略三维凸包,使三维凸包的形状更接近与待标注物体的实际形状,提高后续得到的点云数据的精度;通过两次碰撞模拟在提高精度的前提下,可提升处理速度。用三维模型替换精细三维凸包进一步使仿真效果进一步接近真实情况;通过对三维模型以及三维模型所处的环境(物料框或物料盘)进行渲染处理,可高效得到精确的训练数据和监督数据。
上述详细阐述了本申请实施例的方法,下面提供了本申请实施例的装置。
请参阅图7,图7为本申请实施例提供的一种数据处理装置的结构示意图,该装置1包括:获取单元11、渲染处理单元12、处理单元13、替换单元14以及碰撞模拟处理单元15。其中:
获取单元11,用于获得堆叠状态下的至少两个待标注物体;
渲染处理单元12,用于对所述至少两个待标注物体进行第一渲染处理,得到训练数据,以及对所述至少两个待标注物体进行第二渲染处理,得到监督数据;
处理单元13,用于根据所述训练数据和所述监督数据,得到用于训练神经网络的数据集。
在一种可能实现的方式中,所述渲染处理单元12用于:对所述至少两个待标注物体进行渲染处理,得到深度图;获取用于进行所述渲染处理的采集设备在世界坐标系下的坐标;根据所述深度图中的深度数据以及所述采集设备在世界坐标系下的坐标,得到所述训练数据。
在另一种可能实现的方式中,所述渲染处理单元12用于:确定每个所述待标注物体中的像素点到相机平面的距离,其中所述相机平面为过所述相机的光心且与所述相机的光轴垂直的平面;将所述距离作为所述待标注物体的像素点的深度数据,得到所述深度图。
在又一种可能实现的方式中,所述渲染处理单元12还用于:对每个所述待标注物体进行反光渲染处理,得到所述训练数据。
在又一种可能实现的方式中,所述渲染处理单元12用于:调整用于所述反光渲染处理的光源的光照和/或调整用于所述反光渲染处理的相机的位置和/或调整每个所述待标注物体的表面纹理,得到反光渲染处理条件;基于所述反光渲染处理条件对每个所述待标注物体进行反光渲染处理,得到所述训练数据。
在又一种可能实现的方式中,所述渲染处理单元12用于:对每个所述待标注物体进行自发光渲染处理,得到包含标签数据的第一渲染图;将所述第一渲染图的标签数据作为所述监督数据。
在又一种可能实现的方式中,所述获取单元11用于:对所述至少两个待标注物体进行碰撞模拟处理;在所述至少两个待标注物体静止的情况下,获得所述堆叠状态下的至少两个待标注物体。
在又一种可能实现的方式中,所述获取单元11用于:获取所述至少两个待标注物体的三维凸包;对所述至少两个待标注物体的三维凸包进行碰撞模拟处理。
在又一种可能实现的方式中,所述获取单元11用于:基于所述至少两个待标注物体的三维凸包进行碰撞模拟处理,以使每个所述待标注物体从第一预设区域移动至第二预设区域,其中所述第一预设区域的水平投影区域与第二预设区域的水平投影区域相同。
在又一种可能实现的方式中,所述获取单元11用于:将所述第一三维凸包以及所述第二三维凸包置于第一预设区域内,以使所述第一三维凸包与所述第二三维凸包相互接触且产生弹性形变;根据所述弹性形变,得到弹力;获取所述第一三维凸包的重力以及所述第二三维凸包的重力;根据所述弹力、所述第一三维凸包的重力以及所述第二三维凸包的重力,得到所述第一三维凸包的第一运动轨迹和所述第二三维凸包的第二运动轨迹,以使所述第一三维凸包沿所述第一运动轨迹移动、以使所述第二三维凸包沿所述第二运动轨迹移动,直到所述第一三维凸包和所述第二三维凸包静止于所述第二预设区域内。
在又一种可能实现的方式中,所述第二预设区域为三维区域;所述获取单元11用于:所述第一三维凸包沿所述第一运动轨迹移动、所述第二三维凸包沿所述第二运动轨迹移动,直到所述第一三维凸包以及所述第二三维凸包与目标底面碰撞,得到第一碰撞力;和/或所述第一三维凸包沿所述第一运动轨迹移动、所述第二三维凸包沿所述第二运动轨迹移动,直到所述第一三维凸包以及所述第二三维凸包与目标侧面碰撞,得到第二碰撞力,其中,所述目标底面为目标三维模型的底面,所述目标侧面为目标三维模型的侧面,所述目标三维模型包含的三维空间为所述第二预设区域;根据所述第一碰撞力和/或所述第二碰撞力、所述第一三维凸包的重力以及所述第二三维凸包的重力,得到所述第一三维凸包的第三运动轨迹和所述第二三维凸包的第四运动轨迹,以使所述第一三维凸包沿所述第三运动轨迹移动、以使所述第二三维凸包沿所述第四运动轨迹移动,直到所述第一三维凸包以及所述第二三维凸包静止于所述第二预设区域内。
在又一种可能实现的方式中,所述至少两个待标注物体包括第一待标注物体和第二待标注物体,所述第一待标注物体的三维凸包包括所述第一三维凸包,所述第二待标注物体的三维凸包包括所述第二三维凸包,所述数据处理装置1还包括:所述获取单元11,还用于获取所述第一待标注物体的第三三维凸包以及所述第二待标注物体的第四三维凸包,其中,所述第一三维凸包的体积大于所述第三三维凸包的体积,所述第二三维凸包的体积大于所述第四三维凸包的体积;替换单元14,用于用所述第三三维凸包替换所述第一三维凸包,用所述第四三维凸包替换所述第二三维凸包;碰撞模拟处理单元15,用于对所述第三三维凸包以及所述第四三维凸包进行碰撞模拟处理。
在又一种可能实现的方式中,所述替换单元14用于:在所述第一三维凸包以及所述第二三维凸包静止的情况下,获取所述第一三维凸包的位姿以及所述第二三维凸包的位姿;用所述第三三维凸包替换所述第一三维凸包,使得所述第三三维凸包的初始位姿与所述第一三维凸包的位姿相同;用所述第四三维凸包替换所述第二三维凸包,使得所述第四三维凸包的初始位姿与所述第二三维凸包的位姿相同。
在又一种可能实现的方式中,所述渲染处理单元12用于:获取所述第一待标注物体的第一三维模型以及第二待标注物体的第二三维模型;在所述第三三维凸包以及所述第四三维凸包静止的情况下,用所述第一三维模型替换所述第三三维凸包,用所述第二三维模型替换所述第四三维凸包;对每个所述待标注物体进行所述第一渲染处理,得到所述训练数据,以及对所述第一三维模型以及所述第二三维模型进行所述第二渲染处理,得到所述监督数据。
在又一种可能实现的方式中,所述渲染处理单元12用于:在所述第三三维凸包以及所述第四三维凸包静止的情况下,获取所述第三三维凸包的最终位姿以及所述第四三维凸包的最终位姿;用所述第一三维模型替换所述第三三维凸包,使得所述第一三维模型的位姿与所述第三三维凸包的最终位姿相同;用所述第二三维模型替换所述第四三维凸包,使得所述第二三维模型的位姿与所述第四三维凸包的最终位姿相同。
在又一种可能实现的方式中,所述渲染处理单元12用于:将所述第一三维模型以及所述第二三维模型分别用不同的颜色上色,得到上色后的第一三维模型以及上色后的第二三维模型;将所述上色后的第一三维模型以及所述上色后的第二三维模型分别用不同的编号标注;基于所述标注后的第一三维模型以及所述标注后的第二三维模型绘制得到第二渲染图,作为所述监督数据。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
图8为本申请实施例提供的一种数据处理装置的硬件结构示意图。该处理装置2包括处理器21,还可以包括输入装置22、输出装置23和存储器24。该输入装置22、输出装置23、存储器24和处理器21之间通过总线相互连接。
存储器包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmable readonly memory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM),该存储器用于相关指令及数据。
输入装置用于输入数据和/或信号,以及输出装置用于输出数据和/或信号。输出装置和输入装置可以是独立的器件,也可以是一个整体的器件。
处理器可以包括是一个或多个处理器,例如包括一个或多个中央处理器(centralprocessing unit,CPU),在处理器是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
存储器用于存储网络设备的程序代码和数据。
处理器用于调用该存储器中的程序代码和数据,执行上述方法实施例中的步骤。具体可参见方法实施例中的描述,在此不再赘述。
可以理解的是,图8仅仅示出了一种数据处理装置的简化设计。在实际应用中,数据处理装置还可以分别包含必要的其他元件,包含但不限于任意数量的输入/输出装置、处理器、控制器、存储器等,而所有可以实现本申请实施例的数据处理装置都在本申请的保护范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。所属领域的技术人员还可以清楚地了解到,本申请各个实施例描述各有侧重,为描述的方便和简洁,相同或类似的部分在不同实施例中可能没有赘述,因此,在某一实施例未描述或未详细描述的部分可以参见其他实施例的记载。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriberline,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(digital versatiledisc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:只读存储器(read-only memory,ROM)或随机存储存储器(random access memory,RAM)、磁碟或者光盘等各种可存储程序代码的介质。

Claims (10)

1.一种数据处理方法,其特征在于,所述方法包括:
获得堆叠状态下的至少两个待标注物体;
对所述至少两个待标注物体进行第一渲染处理,得到训练数据,以及对所述至少两个待标注物体进行第二渲染处理,得到监督数据;
根据所述训练数据和所述监督数据,得到用于训练神经网络的数据集。
2.根据权利要求1所述的方法,其特征在于,所述对所述至少两个待标注物体进行第一渲染处理,得到训练数据,包括:
对所述至少两个待标注物体进行渲染处理,得到深度图;
获取用于进行所述渲染处理的采集设备在世界坐标系下的坐标;
根据所述深度图中的深度数据以及所述采集设备在世界坐标系下的坐标,得到所述训练数据。
3.根据权利要求2所述的方法,其特征在于,所述对所述至少两个待标注物体进行渲染处理,得到深度图,包括:
确定每个所述待标注物体中的像素点到相机平面的距离,其中所述相机平面为过所述相机的光心且与所述相机的光轴垂直的平面;
将所述距离作为所述待标注物体的像素点的深度数据,得到所述深度图。
4.根据权利要求1所述的方法,其特征在于,所述对所述至少两个待标注物体进行第一渲染处理,得到训练数据,还包括:
对每个所述待标注物体进行反光渲染处理,得到所述训练数据。
5.根据权利要求4所述的方法,其特征在于,所述对所述至少两个待标注物体进行反光渲染处理,得到所述训练数据,包括:
调整用于所述反光渲染处理的光源的光照和/或调整用于所述反光渲染处理的相机的位置和/或调整每个所述待标注物体的表面纹理,得到反光渲染处理条件;
基于所述反光渲染处理条件对每个所述待标注物体进行反光渲染处理,得到所述训练数据。
6.根据权利要求1所述的方法,其特征在于,所述对所述至少两个待标注物体进行第二渲染处理,得到监督数据,包括:
对每个所述待标注物体进行自发光渲染处理,得到包含标签数据的第一渲染图;
将所述第一渲染图的标签数据作为所述监督数据。
7.一种数据处理装置,其特征在于,所述装置包括:
获取单元,用于获得堆叠状态下的至少两个待标注物体;
渲染处理单元,用于对所述至少两个待标注物体进行第一渲染处理,得到训练数据,以及对所述至少两个待标注物体进行第二渲染处理,得到监督数据;
处理单元,用于根据所述训练数据和所述监督数据,得到用于训练神经网络的数据集。
8.一种处理器,其特征在于,所述处理器用于执行如权利要求1至7任意一项所述的方法。
9.一种电子设备,其特征在于,包括:处理器、输入装置、输出装置和存储器,所述处理器、输入装置、输出装置和存储器相互连接,所述存储器中存储有程序指令;所述程序指令被所述处理器执行时,使所述处理器执行如权利要求1至7任一项权利要求所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被电子设备的处理器执行时,使所述处理器执行权利要求1至7任意一项所述的方法。
CN201910582544.6A 2019-06-29 2019-06-29 数据处理方法及装置 Active CN110276804B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910582544.6A CN110276804B (zh) 2019-06-29 2019-06-29 数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910582544.6A CN110276804B (zh) 2019-06-29 2019-06-29 数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN110276804A true CN110276804A (zh) 2019-09-24
CN110276804B CN110276804B (zh) 2024-01-02

Family

ID=67963762

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910582544.6A Active CN110276804B (zh) 2019-06-29 2019-06-29 数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN110276804B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110782517A (zh) * 2019-10-10 2020-02-11 北京地平线机器人技术研发有限公司 点云标注方法、装置、存储介质及电子设备
CN110796671A (zh) * 2019-10-31 2020-02-14 深圳市商汤科技有限公司 数据处理方法及相关装置
CN113228116A (zh) * 2020-12-28 2021-08-06 商汤国际私人有限公司 图像识别方法和装置、图像生成方法和装置、神经网络的训练方法和装置
WO2022144602A1 (en) * 2020-12-28 2022-07-07 Sensetime International Pte. Ltd. Image identification methods and apparatuses, image generation methods and apparatuses, and neural network training methods and apparatuses
WO2022269322A1 (en) * 2021-06-21 2022-12-29 Sensetime International Pte. Ltd. Image data generation method and apparatus, electronic device, and storage medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140079314A1 (en) * 2012-09-18 2014-03-20 Yury Yakubovich Method and Apparatus for Improved Training of Object Detecting System
CN108229591A (zh) * 2018-03-15 2018-06-29 北京市商汤科技开发有限公司 神经网络自适应训练方法和装置、设备、程序和存储介质
CN108491776A (zh) * 2018-03-12 2018-09-04 青岛理工大学 基于像素分类的装配体零件识别方法、装置及监测系统
CN109448086A (zh) * 2018-09-26 2019-03-08 青岛中科慧畅信息科技有限公司 基于稀疏实采数据的分拣场景平行数据集构建方法
CN109523629A (zh) * 2018-11-27 2019-03-26 上海交通大学 一种基于物理仿真的物体语义和位姿数据集生成方法
US20190122380A1 (en) * 2017-10-24 2019-04-25 Toyota Motor Engineering & Manufacturing North America, Inc. Systems and methods for articulated pose estimation
CN109934847A (zh) * 2019-03-06 2019-06-25 视辰信息科技(上海)有限公司 弱纹理三维物体姿态估计的方法和装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140079314A1 (en) * 2012-09-18 2014-03-20 Yury Yakubovich Method and Apparatus for Improved Training of Object Detecting System
US20190122380A1 (en) * 2017-10-24 2019-04-25 Toyota Motor Engineering & Manufacturing North America, Inc. Systems and methods for articulated pose estimation
CN108491776A (zh) * 2018-03-12 2018-09-04 青岛理工大学 基于像素分类的装配体零件识别方法、装置及监测系统
CN108229591A (zh) * 2018-03-15 2018-06-29 北京市商汤科技开发有限公司 神经网络自适应训练方法和装置、设备、程序和存储介质
CN109448086A (zh) * 2018-09-26 2019-03-08 青岛中科慧畅信息科技有限公司 基于稀疏实采数据的分拣场景平行数据集构建方法
CN109523629A (zh) * 2018-11-27 2019-03-26 上海交通大学 一种基于物理仿真的物体语义和位姿数据集生成方法
CN109934847A (zh) * 2019-03-06 2019-06-25 视辰信息科技(上海)有限公司 弱纹理三维物体姿态估计的方法和装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110782517A (zh) * 2019-10-10 2020-02-11 北京地平线机器人技术研发有限公司 点云标注方法、装置、存储介质及电子设备
CN110796671A (zh) * 2019-10-31 2020-02-14 深圳市商汤科技有限公司 数据处理方法及相关装置
CN113228116A (zh) * 2020-12-28 2021-08-06 商汤国际私人有限公司 图像识别方法和装置、图像生成方法和装置、神经网络的训练方法和装置
WO2022144602A1 (en) * 2020-12-28 2022-07-07 Sensetime International Pte. Ltd. Image identification methods and apparatuses, image generation methods and apparatuses, and neural network training methods and apparatuses
AU2021203867A1 (en) * 2020-12-28 2022-07-14 Sensetime International Pte. Ltd. Image identification methods and apparatuses, image generation methods and apparatuses, and neural network training methods and apparatuses
AU2021203867B2 (en) * 2020-12-28 2023-02-02 Sensetime International Pte. Ltd. Image identification methods and apparatuses, image generation methods and apparatuses, and neural network training methods and apparatuses
WO2022269322A1 (en) * 2021-06-21 2022-12-29 Sensetime International Pte. Ltd. Image data generation method and apparatus, electronic device, and storage medium

Also Published As

Publication number Publication date
CN110276804B (zh) 2024-01-02

Similar Documents

Publication Publication Date Title
CN110276804A (zh) 数据处理方法及装置
Tremblay et al. Deep object pose estimation for semantic robotic grasping of household objects
KR102610030B1 (ko) 큐보이드 검출을 위한 딥 러닝 시스템
Depierre et al. Jacquard: A large scale dataset for robotic grasp detection
EP2391988B1 (en) Visual target tracking
Schulman et al. Tracking deformable objects with point clouds
CN101715581B (zh) 体积识别方法和系统
CN108509848A (zh) 三维物体的实时检测方法及系统
US20140104274A1 (en) Grasping virtual objects in augmented reality
CN109986560A (zh) 一种面向多目标种类的机械臂自适应抓取方法
CN107704799A (zh) 一种人体动作识别方法及设备、计算机可读存储介质
CN112070782A (zh) 识别场景轮廓的方法、装置、计算机可读介质及电子设备
Zeng Learning visual affordances for robotic manipulation
Dyrstad et al. Grasping virtual fish: A step towards robotic deep learning from demonstration in virtual reality
CN105069829B (zh) 一种基于多目视频的人体动画生成方法
CN109318227A (zh) 一种基于人形机器人的掷骰子方法及人形机器人
Bohg et al. Grasping familiar objects using shape context
CN103679271A (zh) 基于Bloch球面坐标及量子计算的碰撞检测方法
CN107789832A (zh) 构成复杂碰撞器的方法、装置、终端设备及存储介质
Fichtl et al. Learning spatial relationships from 3D vision using histograms
Gao et al. Iterative interactive modeling for knotting plastic bags
TWI413018B (zh) 體積識別方法及系統
Foo Design and develop of an automated tennis ball collector and launcher robot for both able-bodied and wheelchair tennis players-ball recognition systems.
Hu et al. A 3D gesture recognition framework based on hierarchical visual attention and perceptual organization models
Ahmad Robotic assembly, using RGBD-based object pose estimation & grasp detection.

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