CN115147488A - 一种基于密集预测的工件位姿估计方法与抓取*** - Google Patents
一种基于密集预测的工件位姿估计方法与抓取*** Download PDFInfo
- Publication number
- CN115147488A CN115147488A CN202210789995.9A CN202210789995A CN115147488A CN 115147488 A CN115147488 A CN 115147488A CN 202210789995 A CN202210789995 A CN 202210789995A CN 115147488 A CN115147488 A CN 115147488A
- Authority
- CN
- China
- Prior art keywords
- pixel
- workpiece
- prediction
- network
- information
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 230000011218 segmentation Effects 0.000 claims abstract description 13
- 238000012549 training Methods 0.000 claims abstract description 10
- 230000006870 function Effects 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000009826 distribution Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 5
- 238000012216 screening Methods 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 3
- 230000001902 propagating effect Effects 0.000 claims description 3
- 239000010410 layer Substances 0.000 claims 2
- 239000002356 single layer Substances 0.000 claims 1
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 4
- 239000012636 effector Substances 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000004438 eyesight Effects 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000016776 visual perception Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0014—Image feed-back for automatic industrial control, e.g. robot with camera
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/766—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using regression, e.g. by projecting features on hyperplanes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/817—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level by voting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/70—Labelling scene content, e.g. deriving syntactic or semantic representations
-
- 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/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- 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/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30164—Workpiece; Machine component
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/06—Recognition of objects for industrial automation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Robotics (AREA)
- Biodiversity & Conservation Biology (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于密集预测的工件位姿估计方法与抓取***,搭建密集逐像素预测网络并训练,获取包含工件的场景RGB图像输入该预测网络,利用网络中的特征金字塔网络提取图像的逐像素卷积特征,采用三个回归分支网络从逐像素卷积特征中分别预测逐像素的语义信息、中心点信息和关键点信息,利用前述信息进行多工件实例分割,得到每个工件实例的密集关键点预测,采用投票策略确定各工件关键点2D位置,通过工件关键点2D位置以及对应工件模型上的3D位置建立2D‑3D对应关系,采用UD‑PnP算法计算工件的6D位姿。该方法网络结构简单、鲁棒性强、执行速度快,适合复杂工业场景下弱纹理、多工件任意位姿工件的抓取任务。
Description
技术领域
本发明涉及机器人视觉感知及工件抓取应用领域,具体涉及一种基于密集预测的工件位姿估计方法与抓取***。
背景技术
机器人抓取是工业自动化生产中最基本的任务,其目的在于代替人工完成工业零件的上料、装配、分拣等繁琐任务。在典型工件抓取任务中,机器人需要在包含多个工件物体的杂乱场景中识别出指定工件,并抓取其放置在指定位置。一般而言,工业零件表面纹理较弱,并且随机地以任意姿态放置或堆叠场景中,给工件位姿估计任务带来巨大的挑战。
传统目标位姿估计通常采用模板匹配方法,将场景下目标图像与数据库进行匹配找到最佳视图,或者通过特征点匹配建立目标图像2D关键点与物体3D模型的对应关系,然后采用PnP(Perspective-n-Point)方法计算出目标位姿。由于这些方法依赖人工图像特征计算,位姿求解精度易受图像噪声、杂乱场景和光照变化影响。
随着深度学***台,算法开发难度大。
因此,如何解决工业场景下弱纹理、多工件实例的位姿估计,提高精度以满足机器人抓取需求成为本领域技术人员亟需解决的问题。
发明内容
本发明的目的是提供一种基于密集预测的工件位姿估计方法及机器人抓取***,其能够利用有限的计算资源解决工业场景下弱纹理、多实例工件的位姿估计。
针对以上技术问题,本发明提供一种基于密集预测的工件位姿估计方法及机器人抓取***。
本发明解决其技术问题采用的技术方案是:
一种基于密集预测的工件位姿估计方法,包括如下几个步骤:
步骤S1:搭建密集逐像素预测网络,网络包括特征金字塔网络和三个回归分支网络,特征金字塔网络用于对输入的RGB图像进行特征提取,以获得图像的逐像素卷积特征,三个回归分支网络分别对输入的逐像素卷积特征进行密集逐像素信息预测;
步骤S2:将预设的训练集输入至搭建好的密集逐像素预测网络进行训练,得到训练后的网络,根据预设的损失函数计算网络的损失值,并反向传播更新网络的网络参数,得到更新后的密集逐像素预测网络;
步骤S3:获取包含多个工件场景下的RGB图像,将其输入至更新后的密集逐像素预测网络中,得到每个像素所属工件实例的语义信息、中心点信息和关键点信息;
步骤S4:根据所述每个像素所属工件实例的语义信息和中心点信息进行多工件实例分割,从逐像素关键点信息预测中得到每个工件实例的密集关键点预测,采用投票策略确定各工件关键点2D位置;
步骤S5:通过工件关键点2D位置以及对应工件模型上的3D位置建立2D-3D对应关系,采用UD-PnP算法计算工件的6D位姿并发送到机器人抓取***中,实现工业场景下任意位姿工件的抓取任务。
优选地,步骤S1中的特征金字塔网络以ResNet-18网络为主干网络,舍弃其“layer3”及后续卷积层,通过3次2倍上采样操作,将卷积特征图尺寸恢复至输入图像大小,并且利用跨连接操作将相同尺寸的下采样特征和上采样特征进行融合。
优选地,三个回归分支网络分别为逐像素语义预测网络、逐像素中心点预测网络和逐像素关键点预测网络,步骤S1中的三个回归分支网络分别对输入的逐像素卷积特征进行密集逐像素信息预测,包括:
逐像素语义预测网络对输入的逐像素卷积特征进行密集逐像素语义信息预测,得到预测逐像素语义信息;
逐像素中心点预测网络对输入的逐像素卷积特征进行密集逐像素中心点信息预测,得到预测逐像素中心点位置信息;
逐像素关键点预测网络对输入的逐像素卷积特征进行密集逐像素关键点信息预测,得到预测逐像素关键点位置信息和置信度信息。
优选地,步骤S1中三个回归分支网络分别由单层卷积层构成。
优选地,步骤S3中获取包含多个工件场景下的RGB图像,将其输入至更新后的密集逐像素预测网络中得到中心点位置信息,具体为:
其中,vc(p)为预测的像素p的中心点位置,c|p,x为像素p所属工件中心点图像x坐标,p|x为像素p的x值,c|p,y为像素p所属工件中心点图像y坐标,p|y为像素p的y值,W和H为输入图像宽、高尺寸;
所述步骤S3中获取包含多个工件场景下的RGB图像,将其输入至更新后的密集逐像素预测网络中得到关键点位置信息和置信度信息,具体为:
其中,vk(p)为预测的像素p的关键点位置,x为像素p所属工件的关键点图像坐标,下标k区别不同关键点,p为像素p的坐标;
其中,sk(p)为每个关键点预测的置信度,x为像素p所属工件的关键点图像坐标。
优选地,步骤S2中预设的损失函数具体为:
其中,为网络的总损失,α、β、γ分别为语义分支、中心点分支和关键点分支权重因子,为语义分支网络损失函数,采用交叉熵损失,为中心点分支网络损失函数,采用L2损失,为关键点分支网络损失,采用smooth L1损失,由位置损失和置信度损失构成,为网络预测的像素p中心点位置,为其对应真值,为网络预测的像素p关键点位置,为其对应真值,为网络预测的像素p关键点位置置信度值,为其对应真值。
优选地,步骤S4根据每个像素所属工件实例的语义信息和中心点信息进行多工件实例分割,具体为:
步骤S41:对每个像素所属工件实例的语义信息进行softmax()处理,得到每个像素所属工件类别,并利用其从预测的逐像素中心点位置信息中分离出不同类别工件的逐像素中心点位置预测信息;
步骤S42:对每类工件的逐像素中心点位置预测信息进行聚类以得到同类工件不同实例的中心点分布区域;
步骤S43:根据逐像素预测的中心点所属区域对每个像素分配不同实例标签,得到不同工件的实例掩码。
优选地,步骤S42包括:
S421:通过逐像素预测的中心点位置vc(p)计算工件预测的中心点位置c(p),具体公式如下:
c(p)=(W·vc(p)|x+p|x,H·vc(p)|y+p|y)
S422:通过DBSCAN算法对每类工件预测的中心点位置进行聚类,得到同类工件不同实例的中心点分布区域。
优选地,步骤S4中根据密集关键点位置预测采用投票策略算出各工件关键点2D位置,包括:
步骤S44:根据每个关键点预测的置信度sk(p),将置信度sk(p)从大到小排列筛选出前m个关键点预测;
步骤S45:从中随机选择两个像素p1,p2以及其关键点预测vk(p1),vk(p2),将其2D平面交点hk,1作为一个假定关键点,重复若干次以得到若干个假定关键点;
步骤S46:计算每一个假定关键点的投票质量wk,i:
其中,Ins为工件实例标签,I为指示函数,θ为阈值;
步骤S47:从所有假定关键点中计算出工件各关键点位置的均值和协方差,作为关键点的2D位置,其中均值μk和协方差Σk的计算公式如下:
基于密集预测的工件位姿估计方法的机器人抓取***,包括机器人位姿计算模块、通信模块、抓取模块和图像采集模块,
图像采集模块用于实时采集多工件场景下的RGB图像并发送至位姿计算模块;
位姿计算模块采用基于密集预测的工件位姿估计方法计算工件的6D位姿并通过通信模块发送至抓取模块;
抓取模块接收工件的6D位姿信息并抓取目标工件。
上述基于密集预测的工件位姿估计方法和机器人抓取***,首先通过搭建密集逐像素预测网络并对其进行训练和更新,输入机器人相机上获取的包含工件的场景RGB图像,然后利用密集逐像素预测网络中的特征金字塔网络(Feature Pyramid Networks,FPN)提取图像的逐像素卷积特征,采用三个回归分支网络从图像的逐像素卷积特征中分别预测每个像素的语义信息、所属实例中心点信息和关键点信息,然后根据每个像素所属工件实例的语义信息和中心点信息进行多工件实例分割,从逐像素关键点信息预测中得到每个工件实例的密集关键点预测,采用投票策略确定各工件关键点2D位置,然后通过工件关键点2D位置以及对应工件模型上的3D位置建立2D-3D对应关系,最后采用UD-PnP(Uncertainty-driven PnP,不确定性驱动的PnP)算法计算工件的6D位姿并发送到机器人抓取***中,实现工业场景下任意位姿工件的抓取任务。
该方法通过逐像素密集目标中心点预测方式实现多实例分割任务,算法网络结构更精简、执行效率高,同时引入预测不确定性概念,通过投票评估可以提高位姿预测的可靠性,保证算法精度。可以有效克服目标物体局部纹理特征不明显、缺失或者干扰所引起的回归不确定问题,有利于复杂工业场景下弱纹理、多实例、遮挡堆叠工件的高精度位姿估计需求。
附图说明
图1为本发明一实施例中基于密集预测的工件位姿估计方法流程图;
图2为本发明一实施例中多工件实例分割流程图;
图3为本发明一实施例中投票策略的投票过程流程图;
图4为本发明一实施例中基于密集预测的工件位姿估计方法网络结构示意图;
图5为本发明一实施例中多工件实例分割过程示意图;
图6为本发明一实施例中涉及的机器人抓取***结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明的技术方案,下面结合附图对本发明作进一步的详细说明。
参见图1和图4,图1为一种实施方式提供的基于密集预测的工件位姿估计方法的流程图,图4为一种实施方式提供的基于密集预测的工件位姿估计方法网络结构示意图。
一种基于密集预测的工件位姿估计方法,包括以下步骤:
步骤S1:搭建密集逐像素预测网络,网络包括特征金字塔网络和三个回归分支网络,特征金字塔网络用于对输入的RGB图像进行特征提取,以获得图像的逐像素卷积特征,三个回归分支网络分别对输入的逐像素卷积特征进行密集逐像素信息预测;
步骤S2:将预设的训练集输入至搭建好的密集逐像素预测网络进行训练,得到训练后的网络,根据预设的损失函数计算网络的损失值,并反向传播更新网络的网络参数,得到更新后的密集逐像素预测网络;
步骤S3:获取包含多个工件场景下的RGB图像,将其输入至更新后的密集逐像素预测网络中,得到每个像素所属工件实例的语义信息、中心点信息和关键点信息;
步骤S4:根据每个像素所属工件实例的语义信息和中心点信息进行多工件实例分割,从逐像素关键点信息预测中得到每个工件实例的密集关键点预测,采用投票策略确定各工件关键点2D位置;
步骤S5:通过工件关键点2D位置以及对应工件模型上的3D位置建立2D-3D对应关系,采用UD-PnP(Uncertainty-driven PnP,不确定性驱动的PnP)算法计算工件的6D位姿并发送到机器人抓取***中,实现工业场景下任意位姿工件的抓取任务。
上述基于密集预测的工件位姿估计方法和机器人抓取***,首先通过搭建密集逐像素预测网络并对其进行训练和更新,输入机器人相机上获取的包含工件的场景RGB图像,然后利用密集逐像素预测网络中的特征金字塔网络(Feature Pyramid Networks,FPN)提取图像的逐像素卷积特征,采用三个回归分支网络从图像的逐像素卷积特征中分别预测每个像素的语义信息、所属实例中心点和关键点信息,然后根据每个像素所属工件实例的语义信息和中心点信息进行多工件实例分割,从逐像素关键点信息预测中得到每个工件实例的密集关键点预测,采用投票策略确定各工件关键点2D位置,然后通过工件关键点2D位置以及对应工件模型上的3D位置建立2D-3D对应关系,最后采用UD-PnP算法计算工件的6D位姿并发送到机器人抓取***中,实现工业场景下任意位姿工件的抓取任务。该方法通过逐像素密集目标中心点预测方式实现多实例分割任务,算法网络结构更精简、执行效率高,同时引入预测不确定性概念,通过投票评估可以提高位姿预测的可靠性,保证算法精度。可以有效克服目标物体局部纹理特征不明显、缺失或者干扰所引起的回归不确定问题,有利于复杂工业场景下弱纹理、多实例、遮挡堆叠工件的高精度位姿估计需求。
在一个实施例中,步骤S1中的特征金字塔网络FPN以ResNet-18网络为主干网络,舍弃其“layer3”及后续卷积层,通过3次2倍上采样操作,将卷积特征图尺寸恢复至输入图像大小,并且利用跨连接操作将相同尺寸的下采样特征和上采样特征进行融合。
在一个实施例中,三个回归分支网络分别为逐像素语义预测网络、逐像素中心点预测网络和逐像素关键点预测网络,分别对输入的逐像素卷积特征进行密集逐像素信息预测,包括:
逐像素语义预测网络对输入的逐像素卷积特征进行密集逐像素语义信息预测,得到预测逐像素语义信息;
逐像素中心点预测网络对输入的逐像素卷积特征进行密集逐像素中心点信息预测,得到预测逐像素中心点位置信息;
逐像素关键点预测网络对输入的逐像素卷积特征进行密集逐像素关键点信息预测,得到预测逐像素关键点位置信息和置信度信息。
具体地,三个回归分支网络以FPN网络输出的逐像素图像卷积特征为输入,分别获得每个像素所属工件实例的语义信息、中心点信息和关键点信息,并相应输出逐像素语义信息、中心点位置信息、关键点位置信息和关键点置信度信息。
在一个实施例中,三个回归分支网络分别由单层卷积层构成。
采用上述密集逐像素预测网络,可使各预测信息尺寸与输入卷积特征大小一致,其中张量数据形式分别为[h,w,c+1],[h,w,c*2],[h,w,c*k*3],其中[h,w]为图像尺寸,c为工件类别,k为关键点数量(k>4)。语义信息使用自然数表示,不同的数表示不同类别,0表示背景。
在一个实施例中,步骤S3中获取包含多个工件场景下的RGB图像,将其输入至更新后的密集逐像素预测网络中得到中心点位置信息、关键点位置信息和置信度信息,具体公式如下:
其中,vc(p)为预测的像素p的中心点位置,c|p,x为像素p所属工件中心点图像x坐标,p|x为像素p的x值,c|p,y为像素p所属工件中心点图像y坐标,p|y为像素p的y值,W和H为输入图像宽、高尺寸;
其中,vk(p)为预测的像素p的关键点位置,x为像素p所属工件的关键点图像坐标,下标k区别不同关键点,p为像素p的坐标;
其中,sk(p)为每个关键点预测的置信度,x为像素p所属工件的关键点图像坐标。
具体地,将预测的中心点位置vc(p)和关键点位置vk(p)通过上述方式处理,可将密集逐像素预测网络的回归值范围约束在[-1,1]内,以提高网络的训练速度和泛化性能。
进一步地,搭建好的密集逐像素预测网络在使用前利用预设的训练集(RGB图像、工件类别、实例掩码和关键点2D图像位置)进行训练,得到训练后的网络,根据预设的损失函数计算网络的损失值,在一个实施例中,步骤S2中预设的损失函数具体为:
其中,为网络的总损失,α、β、γ分别为语义分支、中心点分支和关键点分支权重因子,为语义分支网络损失函数,采用交叉熵损失,为中心点分支网络损失函数,为关键点分支网络损失函数,由位置损失和置信度损失构成,为网络预测的像素p中心点位置,为其对应真值,为网络预测的像素p关键点位置,为其对应真值,为网络预测的像素p关键点位置置信度值,为其对应真值。
具体地,密集逐像素预测网络的总损失通过三个分支网络损失加权求和计算,其中语义分支网络采用交叉熵损失,中心点分支网络采用L2损失,关键点分支网络采用smooth L1损失。
在一个实施例中,步骤S4根据每个像素所属工件实例的语义信息和中心点信息进行多工件实例分割,具体为:
步骤S41:对所述每个像素所属工件实例的语义信息进行softmax()处理,得到每个像素所属工件类别,并利用其从预测的逐像素中心点位置信息中分离出不同类别工件的逐像素中心点位置预测信息;
步骤S42:对每类工件的逐像素中心点位置预测信息进行聚类以得到同类工件不同实例的中心点分布区域;
步骤S43:根据逐像素预测的中心点所属区域对每个像素分配不同实例标签,得到不同工件的实例掩码。
在一个实施例中,步骤S42包括:
S421:通过逐像素预测的中心点位置vc(p)计算工件预测的中心点位置c(p),具体公式如下:
c(p)=(W·vc(p)|x+p|x,H·vc(p)|y+p|y);
S422:通过DBSCAN算法对每类工件预测的中心点位置进行聚类,得到同类工件不同实例的中心点分布区域。
具体地,参见图2和图5,图2为多工件实例分割流程图,图5为多工件实例分割过程示意图。
首先对每个像素所属工件实例的语义信息进行softmax()处理,得到每个像素所属工件类别,然后利用该类别信息从预测的逐像素中心点位置信息中分离出不同类别工件的逐像素中心点位置预测vc(p),通过公式计算得到工件预测的中心点位置c(p),并通过DBSCAN算法对每类工件预测的中心点位置c(p)进行聚类,得到同类工件的不同实例的中心点分布区域,最后根据每个像素预测中心点所属区域为其分配不同实例标签,得到不同工件的实例掩码,以此完成多类别多工件实例分割任务。
在一个实施例中,步骤S4中根据密集关键点位置预测采用投票策略算出各工件关键点2D位置,具体过程如下:
步骤S44:根据每个关键点预测的置信度sk(p),将置信度sk(p)从大到小排列筛选出前m个关键点预测;
步骤S45:从中随机选择两个像素p1,p2以及其关键点预测vk(p1),vk(p2),将其2D平面交点hk,1作为一个假定关键点,重复若干次以得到若干个假定关键点;
步骤S46:计算每一个假定关键点的投票质量wk,i:
其中,Ins为工件实例标签,I为指示函数,θ为阈值;
步骤S47:从所有假定关键点中计算出工件各关键点位置的均值和协方差,作为关键点的2D位置,其中均值μk和协方差Σk的计算公式如下:
具体地,参见图3,图3为一种实施方式提供的投票策略的投票过程流程图。
采用投票策略的投票过程为:首先依据置信度sk(p)从大到小排列筛选出前m个关键点预测;然后从中随机选择两个像素p1,p2以及其关键点预测vk(p1),vk(p2),将其2D平面交点hk,1作为一个假定关键点,重复若干次以得到若干个假定关键点;然后计算每一个假定关键点的投票质量wk,i,最后从所有假定关键点中计算出工件各关键点位置的均值和协方差作为关键点的2D位置。在计算关键点2D位置的过程中,引入预测不确定性概念,通过投票评估可以提高位姿预测的可靠性,保证算法精度。
在一个实施例中,步骤S5中采用UD-PnP(Uncertainty-drivenPnP,不确定性驱动的PnP)算法计算工件的6D位姿,该算法采用迭代优化方式最小化Mahalanobis距离(马氏距离),即:
在一个实施例中,基于密集预测的工件位姿估计方法的机器人抓取***,包括机器人位姿计算模块、通信模块、抓取模块和图像采集模块,图像采集模块用于实时采集多工件场景下的RGB图像并发送至位姿计算模块;位姿计算模块采用基于密集预测的工件位姿估计方法计算工件的6D位姿并通过通信模块发送至抓取模块,抓取模块接收工件的6D位姿信息并抓取目标工件。
具体地,参考图6,图6为机器人抓取***结构示意图。
机器人抓取***包括机器人、末端执行器和工业相机,采用“眼在手外”视觉模型,通过机器人视觉标定得到相机坐标系到机器人末端执行器坐标系转换矩阵,并且针对每个类别工件定义其在工件坐标系下的抓取姿态。获取场景下的工件6D位姿后,将工件抓取姿态从工件坐标系经工件6D位姿、机器人手眼转换矩阵转换成机器人末端执行器抓取姿态,然后发送给机器人控制***执行。
关于基于密集预测的工件位姿估计方法的机器人抓取***的具体限定可以参见上文中对于基于密集预测的工件位姿估计方法的限定,在此不再赘述。
以上对本发明所提供的一种基于密集预测的工件位姿估计方法和机器人抓取***进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种基于密集预测的工件位姿估计方法,其特征在于,所述方法包括以下步骤:
步骤S1:搭建密集逐像素预测网络,所述网络包括特征金字塔网络和三个回归分支网络,所述特征金字塔网络用于对输入的RGB图像进行特征提取,以获得图像的逐像素卷积特征,所述三个回归分支网络分别对输入的逐像素卷积特征进行密集逐像素信息预测;
步骤S2:将预设的训练集输入至搭建好的密集逐像素预测网络进行训练,得到训练后的网络,根据预设的损失函数计算所述网络的损失值,并反向传播更新所述网络的网络参数,得到更新后的密集逐像素预测网络;
步骤S3:获取包含多个工件场景下的RGB图像,将其输入至所述更新后的密集逐像素预测网络中,得到每个像素所属工件实例的语义信息、中心点信息以及关键点信息;
步骤S4:根据所述每个像素所属工件实例的语义信息和中心点信息进行多工件实例分割,从逐像素关键点信息预测中得到每个工件实例的密集关键点预测,采用投票策略确定各工件关键点2D位置;
步骤S5:通过工件关键点2D位置以及对应工件模型上的3D位置建立2D-3D对应关系,采用UD-PnP算法计算工件的6D位姿并发送到机器人抓取***中,实现工业场景下任意位姿工件的抓取任务。
2.根据权利要求1所述的基于密集预测的工件位姿估计方法,其特征在于,所述步骤S1中的特征金字塔网络以ResNet-18网络为主干网络,舍弃其“layer3”及后续卷积层,通过3次2倍上采样操作,将卷积特征图尺寸恢复至输入图像大小,并且利用跨连接操作将相同尺寸的下采样特征和上采样特征进行融合。
3.根据权利要求1所述的基于密集预测的工件位姿估计方法,其特征在于,所述三个回归分支网络分别为逐像素语义预测网络、逐像素中心点预测网络和逐像素关键点预测网络,所述步骤S1中的所述三个回归分支网络分别对输入的逐像素卷积特征进行密集逐像素信息预测,包括:
所述逐像素语义预测网络对输入的逐像素卷积特征进行密集逐像素语义信息预测,得到预测逐像素语义信息;
所述逐像素中心点预测网络对输入的逐像素卷积特征进行密集逐像素中心点信息预测,得到预测逐像素中心点位置信息;
所述逐像素关键点预测网络对输入的逐像素卷积特征进行密集逐像素关键点信息预测,得到预测逐像素关键点位置信息和置信度信息。
4.根据权利要求3所述的基于密集预测的工件位姿估计方法,其特征在于,所述步骤S1中三个回归分支网络分别由单层卷积层构成。
5.根据权利要求3所述的基于密集预测的工件位姿估计方法,其特征在于,所述步骤S3中获取包含多个工件场景下的RGB图像,将其输入至更新后的密集逐像素预测网络中得到中心点位置信息,具体为:
其中,vc(p)为预测的像素p的中心点位置,c|p,x为像素p所属工件中心点图像x坐标,p|x为像素p的x值,c|p,y为像素p所属工件中心点图像y坐标,p|y为像素p的y值,W和H为输入图像宽、高尺寸;
所述步骤S3中获取包含多个工件场景下的RGB图像,将其输入至更新后的密集逐像素预测网络中得到关键点位置信息和置信度信息,具体为:
其中,vk(p)为预测的像素p的关键点位置,x为像素p所属工件的关键点图像坐标,下标k区别不同关键点,p为像素p的坐标;
其中,sk(p)为每个关键点预测的置信度,x为像素p所属工件的关键点图像坐标。
7.根据权利要求5所述的基于密集预测的工件位姿估计方法,其特征在于,所述步骤S4根据所述每个像素所属工件实例的语义信息和中心点信息进行多工件实例分割,具体为:
步骤S41:对所述每个像素所属工件实例的语义信息进行softmax()处理,得到每个像素所属工件类别,并利用其从预测的逐像素中心点位置信息中分离出不同类别工件的逐像素中心点位置预测信息;
步骤S42:对每类工件的逐像素中心点位置预测信息进行聚类以得到同类工件不同实例的中心点分布区域;
步骤S43:根据逐像素预测的中心点所属区域对每个像素分配不同实例标签,得到不同工件的实例掩码。
8.根据权利要求7所述的基于密集预测的工件位姿估计方法,其特征在于,所述步骤S42包括:
S421:通过逐像素预测的中心点位置vc(p)计算工件预测的中心点位置c(p),具体公式如下:
c(p)=(W·vc(p)|x+p|x,H·vc(p)|y+p|y);
S422:通过DBSCAN算法对每类工件预测的中心点位置进行聚类,得到同类工件不同实例的中心点分布区域。
9.根据权利要求1所述的基于密集预测的工件位姿估计方法,其特征在于,所述步骤S4中根据所述密集关键点位置预测采用投票策略算出各工件关键点2D位置,包括:
步骤S44:根据每个关键点预测的置信度sk(p),将置信度sk(p)从大到小排列筛选出前m个关键点预测;
步骤S45:从中随机选择两个像素p1,p2以及其关键点预测vk(p1),vk(p2),将其2D平面交点hk,1作为一个假定关键点,重复若干次以得到若干个假定关键点;
步骤S46:计算每一个假定关键点的投票质量wk,i:
其中,Ins为工件实例标签,I为指示函数,θ为阈值;
步骤S47:从所有假定关键点中计算出工件各关键点位置的均值和协方差,作为关键点的2D位置,其中均值μk和协方差Σk的计算公式如下:
10.一种机器人抓取***,采用如权利要求1-9任一项所述的工件位姿计算方法计算工件位姿,其特征在于,该***包括由机器人位姿计算模块、通信模块、抓取模块和图像采集模块,
所述图像采集模块用于实时采集多工件场景下的RGB图像并发送至所述位姿计算模块;
所述位姿计算模块采用如权利要求1至9任一项所述的方法计算工件的6D位姿并通过所述通信模块发送至所述抓取模块;
所述抓取模块接收所述工件的6D位姿信息并抓取目标工件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210789995.9A CN115147488B (zh) | 2022-07-06 | 2022-07-06 | 一种基于密集预测的工件位姿估计方法与抓取*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210789995.9A CN115147488B (zh) | 2022-07-06 | 2022-07-06 | 一种基于密集预测的工件位姿估计方法与抓取*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115147488A true CN115147488A (zh) | 2022-10-04 |
CN115147488B CN115147488B (zh) | 2024-06-18 |
Family
ID=83412405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210789995.9A Active CN115147488B (zh) | 2022-07-06 | 2022-07-06 | 一种基于密集预测的工件位姿估计方法与抓取*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115147488B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115578460A (zh) * | 2022-11-10 | 2023-01-06 | 湖南大学 | 基于多模态特征提取与稠密预测的机器人抓取方法与*** |
CN117455983A (zh) * | 2023-12-26 | 2024-01-26 | 深圳市亿境虚拟现实技术有限公司 | Vr手柄空间定位方法、装置、电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109658413A (zh) * | 2018-12-12 | 2019-04-19 | 深圳前海达闼云端智能科技有限公司 | 一种机器人目标物体抓取位置检测的方法 |
CN110738673A (zh) * | 2019-10-21 | 2020-01-31 | 哈尔滨理工大学 | 基于实例分割的视觉slam方法 |
CN111344118A (zh) * | 2017-11-17 | 2020-06-26 | 奥卡多创新有限公司 | 用于定位物品和为每个物品计算适当抓取点的机器人***的控制设备和方法 |
CN112270249A (zh) * | 2020-10-26 | 2021-01-26 | 湖南大学 | 一种融合rgb-d视觉特征的目标位姿估计方法 |
US11074711B1 (en) * | 2018-06-15 | 2021-07-27 | Bertec Corporation | System for estimating a pose of one or more persons in a scene |
WO2021164887A1 (en) * | 2020-02-21 | 2021-08-26 | Toyota Motor Europe | 6d pose and shape estimation method |
CN114140418A (zh) * | 2021-11-26 | 2022-03-04 | 上海交通大学宁波人工智能研究院 | 一种基于rgb图像和深度图像的七自由度抓取姿势检测方法 |
WO2022116423A1 (zh) * | 2020-12-01 | 2022-06-09 | 平安科技(深圳)有限公司 | 物***姿估计方法、装置、电子设备及计算机存储介质 |
-
2022
- 2022-07-06 CN CN202210789995.9A patent/CN115147488B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111344118A (zh) * | 2017-11-17 | 2020-06-26 | 奥卡多创新有限公司 | 用于定位物品和为每个物品计算适当抓取点的机器人***的控制设备和方法 |
US11074711B1 (en) * | 2018-06-15 | 2021-07-27 | Bertec Corporation | System for estimating a pose of one or more persons in a scene |
CN109658413A (zh) * | 2018-12-12 | 2019-04-19 | 深圳前海达闼云端智能科技有限公司 | 一种机器人目标物体抓取位置检测的方法 |
CN110738673A (zh) * | 2019-10-21 | 2020-01-31 | 哈尔滨理工大学 | 基于实例分割的视觉slam方法 |
WO2021164887A1 (en) * | 2020-02-21 | 2021-08-26 | Toyota Motor Europe | 6d pose and shape estimation method |
CN112270249A (zh) * | 2020-10-26 | 2021-01-26 | 湖南大学 | 一种融合rgb-d视觉特征的目标位姿估计方法 |
WO2022116423A1 (zh) * | 2020-12-01 | 2022-06-09 | 平安科技(深圳)有限公司 | 物***姿估计方法、装置、电子设备及计算机存储介质 |
CN114140418A (zh) * | 2021-11-26 | 2022-03-04 | 上海交通大学宁波人工智能研究院 | 一种基于rgb图像和深度图像的七自由度抓取姿势检测方法 |
Non-Patent Citations (4)
Title |
---|
伍锡如;黄榆媛;王耀南: "改进ORB特征的机器人RGB-D SLAM算法", 《计算机工程与应用》, 24 February 2020 (2020-02-24) * |
尹卫民: "基于深度学习的机器人抓取***的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》, 15 January 2022 (2022-01-15), pages 140 - 348 * |
汪霖;曹建福;: "机器人三维视觉技术及其在智能制造中的应用", 自动化博览, no. 02, 15 February 2020 (2020-02-15) * |
王耀南等: "a Practical Robotic Grasping Method by Using 6-D Pose Estimation With Protective Correction", 《IEEE TRANSCATIONS ON INDUSTRIAL ELECTRONICS》, 3 March 2021 (2021-03-03) * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115578460A (zh) * | 2022-11-10 | 2023-01-06 | 湖南大学 | 基于多模态特征提取与稠密预测的机器人抓取方法与*** |
CN117455983A (zh) * | 2023-12-26 | 2024-01-26 | 深圳市亿境虚拟现实技术有限公司 | Vr手柄空间定位方法、装置、电子设备及存储介质 |
CN117455983B (zh) * | 2023-12-26 | 2024-04-12 | 深圳市亿境虚拟现实技术有限公司 | Vr手柄空间定位方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115147488B (zh) | 2024-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108280856B (zh) | 基于混合信息输入网络模型的未知物体抓取位姿估计方法 | |
CN108491880B (zh) | 基于神经网络的物体分类和位姿估计方法 | |
CN107038448B (zh) | 目标检测模型构建方法 | |
CN111695562B (zh) | 一种基于卷积神经网络的机器人自主抓取方法 | |
JP7048225B2 (ja) | 建物領域抽出用の学習済みモデル | |
CN111553949B (zh) | 基于单帧rgb-d图像深度学习对不规则工件的定位抓取方法 | |
CN108734194B (zh) | 一种面向虚拟现实的基于单深度图的人体关节点识别方法 | |
CN115147488B (zh) | 一种基于密集预测的工件位姿估计方法与抓取*** | |
CN110298886B (zh) | 一种基于四级卷积神经网络的灵巧手抓取规划方法 | |
CN105772407A (zh) | 一种基于图像识别技术的垃圾分类机器人 | |
CN109902631B (zh) | 一种基于图像金字塔的快速人脸检测方法 | |
CN111368637B (zh) | 一种基于多掩模卷积神经网络的搬运机器人识别目标方法 | |
CN115578460B (zh) | 基于多模态特征提取与稠密预测的机器人抓取方法与*** | |
CN110135277B (zh) | 一种基于卷积神经网络的人体行为识别方法 | |
CN110969660A (zh) | 一种基于三维立体视觉和点云深度学习的机器人上料*** | |
CN113220114B (zh) | 一种融合人脸识别的可嵌入非接触式电梯按键交互方法 | |
CN112767478B (zh) | 一种基于表观指导的六自由度位姿估计方法 | |
CN111428815A (zh) | 一种基于Anchor angle机制的机械臂抓取检测方法 | |
CN113160278A (zh) | 一种场景流估计、场景流估计模型的训练方法和装置 | |
CN111626241A (zh) | 一种人脸检测方法及装置 | |
CN111914639A (zh) | 轻量级卷积时空简单循环单元模型的驾驶动作识别方法 | |
CN114029941B (zh) | 一种机器人抓取方法、装置、电子设备及计算机介质 | |
CN113762159B (zh) | 一种基于有向箭头模型的目标抓取检测方法及*** | |
CN113681552B (zh) | 一种基于级联神经网络的机器人混杂物体五维抓取方法 | |
CN111222514A (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 |