CN117021099A - 一种面向任意物体基于深度学习和图像处理的人机交互方法 - Google Patents
一种面向任意物体基于深度学习和图像处理的人机交互方法 Download PDFInfo
- Publication number
- CN117021099A CN117021099A CN202311059633.5A CN202311059633A CN117021099A CN 117021099 A CN117021099 A CN 117021099A CN 202311059633 A CN202311059633 A CN 202311059633A CN 117021099 A CN117021099 A CN 117021099A
- Authority
- CN
- China
- Prior art keywords
- area
- camera
- image
- human
- coordinates
- 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.)
- Pending
Links
- 230000003993 interaction Effects 0.000 title claims abstract description 68
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000012545 processing Methods 0.000 title claims abstract description 41
- 238000013135 deep learning Methods 0.000 title claims abstract description 18
- 238000006243 chemical reaction Methods 0.000 claims abstract description 22
- 238000003672 processing method Methods 0.000 claims abstract description 4
- 238000001514 detection method Methods 0.000 claims description 42
- 230000002452 interceptive effect Effects 0.000 claims description 42
- 210000000707 wrist Anatomy 0.000 claims description 27
- 238000001914 filtration Methods 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 21
- 210000004247 hand Anatomy 0.000 claims description 20
- 238000013528 artificial neural network Methods 0.000 claims description 11
- 239000011159 matrix material Substances 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 8
- 238000012216 screening Methods 0.000 claims description 8
- 230000002146 bilateral effect Effects 0.000 claims description 7
- 230000036544 posture Effects 0.000 claims description 7
- 230000000694 effects Effects 0.000 claims description 5
- 230000001133 acceleration Effects 0.000 claims description 4
- 238000009499 grossing Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 3
- 230000008439 repair process Effects 0.000 claims description 3
- 238000013519 translation Methods 0.000 claims description 3
- 210000000078 claw Anatomy 0.000 claims description 2
- 238000003708 edge detection Methods 0.000 abstract description 2
- 238000012549 training Methods 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 210000000245 forearm Anatomy 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 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/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
- G06T7/85—Stereo camera calibration
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- 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
-
- 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
-
- 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/20—Image preprocessing
- G06V10/28—Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
-
- 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/20024—Filtering details
- G06T2207/20032—Median filtering
-
- 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/30204—Marker
- G06T2207/30208—Marker matrix
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Geometry (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Image Analysis (AREA)
Abstract
本发明公开一种面向任意物体基于深度学习和图像处理的人机交互方法,首先利用MediaPipe模型检测交互者的身体节点坐标和坐标关系判断交互者状态;之后按交互者的不同状态,采取显著性与边缘检测算法或区域生长算法确定潜在任务目标区域;然后通过OpenCV图像处理方法及深度图像信息,求得目标区域的大小,通过像素——世界坐标系转换求得物体姿态;接着通过目标区域的尺寸及填充度判断交互者是否持物,通过交互者手的位置及物体尺寸、机械臂手爪尺寸信息判断是否能进行交互;最后机器人根据获得的物***置、姿态,完成未知物体人机交互任务。本方法实现了场景中未知物体坐标和姿态的获取,使机器人能够面对任何物体,无需训练可安全、稳定和准确的人机交互操作。
Description
技术领域
本发明公开了一种面向任意物体基于深度学习和图像处理的人机交互方法,属于人机交互的技术领域。
背景技术
随着智能机器人技术的不断发展,人机交互在未来科技领域中有着举足轻重的作用。机器人与协作者的良好互动,能够有效提高生产效率,提升产品质量。目标检测是计算机视觉最基本的问题,存在于我们生活中的方方面面,比如人脸识别,智慧交通以及工业检测,为我们的生活生产提供了极大的便利与高效的技术支持。虽然目前目标检测技术已经得到广泛应用,且效果也十分不错,但它还有许多挑战值得我们去研究。目前常用的目标检测技术,例如YOLO系列网络、SSD、Faster RCNN等等,可以相对精确的确定物体的位置和种类。但是,这些网络能够识别的物体种类有限,并且针对同一个物体,旋转一定角度后就难以识别,且当物体种类特征(如颜色纹理等等)相近时,容易出现错误识别的情况。在这种情况下,研究人员将显著性目标检测技术应用于人机交互中,能够较好地解决上述问题,满足人机交互中任意未知物体在空间中位置的确定及位姿的测量。
随着人工智能技术的不断发展,使用目标检测网络进行人机交互被应用在更多场景中,比如学校的智能食堂和门禁***,比如垃圾检测分类等等。机器人在面对这些场景时,应当具有一定的灵活性,有时需要对任意不限姿势的物体,在人机都交互中得到识别并进行交互。现有的网络检测技术在识别某个种类时,需要海量的数据,并且要求达到95%以上的识别正确率。另外,在现有模型中增添新种类时,需要在原有网络基础上进行修改,所需时间长且较为繁琐。因此,发明一种所需资源较少,识别区域、识别物体不受限制的检测网络来进行进行人机交互,实现对现有物体识别技术的功能扩展是十分有意义的。
发明内容
本发明的目的在于提供一种面向任意物体基于深度学习和图像处理的人机交互方法,使机器人能够面对任何物体未经训练都可进行安全、稳定和准确的交互操作。本发明通过利用MediaPipe模型检测交互者的身体节点坐标并根据坐标判断交互者状态。利用交互者的不同状态信息采取显著性检测、边缘检测筛选算法或者改进的区域生长算法对获得潜在任务目标区域。然后通过OpenCV图像处理求得目标区域图像的像素尺寸及旋转角度。接着通过目标区域的面积以及填充度判断交互者是否持物。之后利用人手位置信息与目标区域信息,确定可交互性及理想交互位置,同时利用深度图像求得目标物体区域旋转角度。最后机器人根据获得的物***置、位姿,不限种类完成完成未知物体交互任务。
本发明所要解决的问题是由以下技术方案实现的:
一种面向任意物体基于深度学习和图像处理的人机交互方法,所述交互方法具体步骤如下:
步骤S10,根据彩色、深度相机与世界坐标的转换关系,得到与深度图像匹配的彩色图像,将匹配关系存储以加速转换速度;
步骤S20,对深度图像进行滤波修复;
步骤S30,利用MediaPipe人体骨骼关节点识别模型获得交互者的人体骨骼关节点像素坐标,根据检测所得节点之间的坐标、距离信息判断人体相对相机的不同姿态:侧向、正对;
步骤S40,检测结果为侧对相机时,利用显著性检测神经网络实时检测人机交互场景,获得人机交互实时显著性区域,对网络输出结果滤波以优化结果;
步骤S50,检测结果为侧对相机时,根据MediaPipe模型检测结果对显著性检测网络输出结果进行轮廓的筛选、特定外轮廓中点的筛选以获取物体区域外轮廓,判断交互意图并在对潜在物体及人手区域进行收集;
步骤S60,检测结果为正对相机时,对深度图像使用带引导的区域生长算法进行物体区域收集;
步骤S70,根据人手与物体区域,利用OpenCV图像处理方法求得区域最小外接矩形,获得物体区域、得到图像转动角度以及像素宽度和高度;
步骤S80,根据人手信息确定面积阈值、填充度阈值,计算相应数据以对交互者手中是否持物进行判断;
步骤S90,判断交互者持物时,利用交互手位置判断手掌区域范围,判断是否可以完成人机交互,确定可以交互时的机械手理想夹持位置,并利用确定好的关键点转换到世界坐标系下,求得物体绕世界坐标系X、Y轴的转动角度;
步骤S100,将物体的位姿信息、机械爪抓持位置由视觉处理端传输给机器人控制端,指导机器人完成未知物体交互任务。
优选的是,所述步骤S10的具体过程如下:
步骤S101,将Kinect v2相机安装在工作平台的一侧,观察所成图像选取合适摆放位置,保证相机可以拍摄到人体;
步骤S102,利用张正友标定法对Kinect v2相机进行标定,获得相机内外参矩阵Kc、
步骤S103,调用官方Kinect库函数得到深度相机内参Kd,根据深度相机和彩色相机的硬件位置关系由彩色相机的外参得到深度相机的外参
步骤S104,通过彩色相机内外参得到彩色相机与三维世界坐标系下的转换关系,通过深度相机获得深度相机与三维世界坐标系下的转换关系,以三维世界坐标系为常量进行转换,得到深度相机与彩色相机的坐标系转换矩阵;
步骤S105,记录下像素坐标与转换矩阵相乘结果进行存储,根据实际匹配效果进行自适应平移以修复误差,使用Numba库jit功能进行匹配加速,循环得到与深度图像匹配的彩色图像。
优选的是,所述步骤S20的具体过程如下:
步骤S201,把深度图像无效深度点滤除,再进行联合双边滤波;
步骤S202,对联合双边滤波结果进行中值滤波;
步骤S203,对中值滤波结果进行图像开运算。
优选的是,所述步骤S30的具体过程如下:
步骤S301,将映射得到的彩色图像输入MediaPipe模型进行姿态检测,得到双手手腕、双肩等坐标;
步骤S302,利用求得的关节点像素坐标,求得两肩之间的距离,判断人体姿态相对相机的朝向:侧向、正对相机;
步骤S303,侧对相机时,后续应用显著性区域提取及图像处理算法;正对对相机时,后续应用改进的区域生长算法。
优选的是,所述步骤S40的具体过程如下:
步骤S401,将转换得到的的小型彩色图像与修复处理后的深度图像输入显著性检测神经网络,得到神经网络输出;
步骤S402,舍弃输出结果中置信度较低的区域,选取合适阈值对网络输出结果进行二值化处理;
步骤S403,将二值处理后得到的图像进行开运算,图像平滑、去噪,得到较可靠的显著性结果。
优选的是,所述步骤S50的具体过程如下:
步骤S501,对处理后的显著性二值图进行轮廓检测,获得所有轮廓及各轮廓的轮廓点;
步骤S502,根据双手手腕坐标判断潜在交互手,再根据潜在交互手与胸口的距离判断交互意图是否存在;
步骤S503,以交互手的手腕位置坐标为基点,根据交互者身体与交互者手臂的位置关系判断方向,将各个轮廓中在基点异侧的轮廓节点筛除;
步骤S504,求剩余各个轮廓的中点的像素坐标,比较各个中点到交互手手腕的距离,确定物体所在区域。
优选的是,所述步骤S60的具体过程如下:
步骤S601,检测结果为正对相机时,对比双手手腕与机械臂的远近选定潜在的交互手;
步骤S602,比较交互手与胸口处的距离,分析交互者是否有交互意图;
步骤S603,针对有交互意图的手,根据交互手的像素坐标选定基点,对深度图像由基点开始使用带引导的区域生长算法进行生长,收集目标物体区域。
优选的是,所述步骤S70的具体过程如下:
步骤S701,利用之前获得的物体轮廓或物体区域,使用OpenCV图像处理算法求取区域最小外界矩形作为物体的Anchorbox,同时获得矩形的宽、高、旋转角度、中心坐标;
步骤S702,根据外接矩形尺寸信息及矩形图像旋转角度,求得矩形较长的一边与垂直方向的夹角;
步骤S703,截取矩形区域进行存储,并把该物体区域内像素点三通道的像素值均置为0。
优选的是,所述步骤S80的具体过程如下:
步骤S801,根据人体比例,计算交互者手掌像素面积以制定面积阈值;
步骤S802,计算多次交互者手掌正对相机、最大程度伸展时的像素个数与面积之比,取平均值作为填充度阈值并记录;
步骤S803,计算交互时的外接矩形像素面积以及填充度。根据外接矩形的宽、高,计算矩形像素面积;
步骤S804,将真实面积与填充度与相应阈值比较,判断交互者持物可能性。
优选的是,所述步骤S90的具体过程如下:
步骤S901,利用手腕位置以及手掌大小,判断手掌区域范围;
步骤S902,根据手掌中心位置与矩形中心的位置关系,判断交互手抓持物体的上下位置;
步骤S903,根据手掌掌心的坐标和物体区域中心的坐标,确定手掌区域与可交互区域相邻的边界上的中点;
步骤S904,根据夹角与手抓持物体的位置,确定适合机械爪抓取的区域的边界中点坐标;
步骤S905,根据矩形区域与深度图像信息,求得靠近相应边界且在物体内的一点;
步骤S906,将两点转换到三维世界坐标系下,计算两点之间的距离,与机械臂手爪尺寸进行比较,判断是否可以进行交互任务;
步骤S907,将转换到世界坐标系下的两点分别对YOZ、XOZ方向进行投影,计算求得物体绕X、Y方向的转动角度。
优选的是,所述步骤S100的具体过程如下:
步骤S1001,通过TCP/IP通讯的方式,将视觉处理端获取的物***姿和夹持位置传输给机器人控制端
步骤S1002,机器人控制端接收信息后,机器人以指定姿态运动到指定位置,根据可交互性信息完成抓取或跟随运动任务。
本发明相对于现有而言具有的有益效果:
1.目前大多数机器人人机交互***仅能够对有限类目标物体完成分拣任务,且识别效果一定程度受到物体受到手掌遮挡、角度转动的影响,添加可识别的新种类较繁琐。而本发明的方法使机器人能够完成对任意未识别物体的识别定位、交互操作。
2.本发明提出的人机交互方法不仅能够对场景中物体的定位,还能够低成本、较可靠地分析出物体绕X、Y轴的转动角度。
附图说明
图1是本发明的机器人未知物体交互方法的总体框架图。
图2是本发明的坐标系示意图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明第一实施例在现有技术的基础上提供了一种面向任意物体基于深度学习和图像处理的人机交互方法,包括以下步骤:
S10根据彩色、深度相机与世界坐标的转换关系,得到与深度图像匹配的彩色图像,将匹配关系存储以加速匹配速度。具体步骤如下:
步骤S101,将Kinect v2相机安装在工作平台的一侧,观察所成图像选取合适摆放位置,保证相机可以拍摄到人体。
步骤S102,利用张正友标定法对Kinect v2相机进行标定,获得相机内外参矩阵Kc、
步骤S103,调用官方Kinect库函数得到深度相机内参Kd,根据深度相机和彩色相机的硬件位置关系由彩色相机的外参得到深度相机的外参转换公式为:
步骤S104,通过彩色相机内外参得到彩色相机与三维世界坐标系下的转换关系,通过深度相机获得深度相机与三维世界坐标系下的转换关系,以三维世界坐标系为常量进行转换,得到深度相机与彩色相机的坐标系转换矩阵。设像素坐标系下点坐标Pp=(u,v,1)T,世界坐标系下点为P=(X,Y,Z,1)T,可得转换关系:
由于深度相机与彩色相机在同一平面上,可以认为dc=dd。
由式(1)及式(2)可得同一世界坐标系下点由深度图像到彩色图像的转换矩阵:
深度图像上的一点到彩色图像中的转换公式为:
Pp_c=Tdc*Pp_d (4)
步骤S105,记录下像素坐标与转换矩阵相乘结果进行存储,根据实际匹配效果进行自适应平移以修复误差,使用Numba库jit功能进行匹配加速,循环得到与深度图像匹配的彩色图像。通过加速功能,可以获得更高的帧率,实现更好的实时性。
步骤S20,对深度图像进行滤波修复,具体步骤如下:
步骤S201,对深度图像无效深度点进行滤除,然后进行联合双边滤波。可根据实际应用情况选取可靠的深度范围,把该范围之外的深度图像像素点置零,再进行联合双边滤波。
步骤S202,对联合双边滤波结果进行中值滤波。
步骤S203,对中值滤波结果进行图像开运算。平滑边界,完成对深度图像的修复。
步骤S30,利用MediaPipe人体骨骼关节点识别模型获得交互者的人体骨骼关节点像素坐标,根据检测所得节点之间的坐标、距离信息判断人体相对相机的不同姿态:侧向、正对。
具体步骤如下:
步骤S301,将映射得到的彩色图像输入MediaPipe模型进行姿态检测,得到双手手腕、双肩等坐标。
步骤S302,利用求得的关节点像素坐标,求得两肩之间的距离,判断人体姿态相对相机的朝向:侧向、正对相机。由两肩像素点坐标以及深度值,求得图像中交互者的肩宽,根据公式(5)得到肩膀到地面的高度,由公式(6)计算出交互者的身高。由理论肩宽与实际计算所得肩宽,判断交互者肩膀转动角度,进而判断交互者相对相机的姿态。
H=Z/0.818 (6)
步骤S303,侧对相机时,后续应用显著性区域提取及图像处理算法;正对对相机时,后续应用改进的区域生长算法。
步骤S40,检测结果为侧对相机时,利用显著性检测神经网络实时检测人机交互场景,获得人机交互实时显著性区域,对网络输出结果滤波以优化结果。具体步骤如下:
步骤S401,将转换得到的的小型彩色图像与修复处理后的深度图像输入显著性检测神经网络,得到神经网络输出。使用显著性检测神经网络检测人机交互场景,得到的网络输出结果包含人体、物体区域以及其它干扰区域。
步骤S402,舍弃输出结果中置信度较低的区域,选取合适阈值对网络输出结果进行二值化处理。显著性检测神经网络输出与输入大小相同的灰度图,每个像素的灰度值即是网络对该像素是否属于显著性区域的判断,因此选定合适阈值,舍弃置信度较低的区域,不认为这些区域属于显著区域。
步骤S403,将二值处理后得到的图像进行开运算,图像平滑、去噪,得到较可靠的显著性结果。公式如下:
步骤S50,检测结果为侧对相机时,根据MediaPipe模型检测结果对显著性检测网络输出结果进行轮廓的筛选、特定外轮廓中点的筛选以获取物体区域外轮廓,判断交互意图并在对潜在物体及人手区域进行收集。具体步骤如下:
步骤S501,对处理后的显著性二值图进行轮廓检测,获得所有轮廓及各轮廓的轮廓点。
步骤S502,根据双手手腕坐标判断潜在交互手,再根据潜在交互手与胸口的距离判断交互意图是否存在。利用双手像素坐标及对应深度值将双手坐标转换到世界坐标系下,选取空间中离机械臂更近的手作为潜在交互手。选取两肩中点近似作为胸部位置,计算交互手到胸口的距离。根据计算所得交互者的身高,选取阈值以判断手腕与胸部的距离是否大于阈值,大于阈值则认为交互者存在交互意图。
步骤S503,以交互手的手腕位置坐标为基点,根据交互者身体与交互者手臂的位置关系判断方向,将各个轮廓中在基点异侧的轮廓节点筛除。根据交互者身体与交互者手臂的位置关系判断交互者目标交互方向,将交互手到交互者身体方向及之后方向上的所有轮廓节点筛出,从而剔除交互者身体区域以及部分环境区域。
步骤S504,求剩余各个轮廓的中点的像素坐标,比较各个中点到交互手手腕的距离,确定物体所在区域。距离最小的中点所属轮廓即为物体区域轮廓,因此需计算每一个闭合轮廓的中点的像素坐标,最近轮廓的距离为Dc=min(D1,D2,......,Dn)。
设手腕基点坐标为(uh,vh),像素距离计算公式如下:
步骤S60,检测结果为正对相机时,对深度图像使用带引导的区域生长算法进行物体区域收集。具体步骤如下:
步骤S601,检测结果为正对相机时,对比双手手腕与机械臂的远近选定潜在的交互手。根据双手像素坐标以及对应深度值求得双手世界坐标系下位置,选取离机械臂近的手作为潜在交互手。
步骤S602,比较交互手与胸口处的距离,分析交互者是否有交互意图。根据人的身高选取合适的阈值进行比较以判定是否存在交互意图。
步骤S603,针对有交互意图的手,根据交互手的像素坐标选定基点,对深度图像由基点开始使用带引导的区域生长算法进行生长,收集目标物体区域。
普通的区域生长算法对像素点周围邻接八个点中满足约束条件的点进行扩张,并不断重复该过程。普通生长方式对深度图像中满足深度差的像素点的自由扩张会导致生长得到的最终目标物体区域包含交互者躯干部分,造成区域误判、尺寸误差大、旋转角度计算失真、定位不精确等问题。因此根据人与人交互时,手腕到物体的方向与手腕到掌心的方向近似相同的特点,利用MediaPipe模型检测所得手腕、掌心的坐标,判断交互手掌心、手腕所成像素角度,进而判断交互手的朝向以确定物体相对于手腕的方向。利用交互者的手朝向对深度图像像素点生长方式做出引导,使像素仅向该方向以及相邻方向生长,避免将躯体部分纳入物体区域范围,获得较精确的物体区域。
步骤S70,根据人手与物体区域,利用OpenCV图像处理方法求得区域最小外接矩形,获得物体区域、得到图像转动角度以及像素宽度和高度。具体步骤如下:
步骤S701,利用之前获得的物体轮廓或物体区域,使用OpenCV图像处理算法求取区域最小外界矩形作为物体的Anchorbox,同时获得矩形的宽、高、旋转角度、中心坐标。
步骤S702,根据外接矩形尺寸信息及矩形图像旋转角度,求得矩形较长的一边与垂直方向的夹角。根据外接矩形宽(w)、高(h)信息,判断物体倾斜方向,把朝左倾斜时的角度与90度相减,所得角度即为物体与图像垂直方向的夹角。公式如下:
步骤S703,截取矩形区域进行存储,并把该物体区域内像素点三通道的像素值均置为0。
步骤S80,根据人手信息确定面积阈值、填充度阈值,计算相应数据以对交互者手中是否持物进行判断。具体步骤如下:
步骤S801,根据人体比例,计算交互者手掌像素面积以制定面积阈值。人体手掌最大程度伸展时宽度约等于手掌长度,而手掌的长度约为小臂长度的60%-80%,同时手掌的长度约为手掌宽度的两倍。因此可以计算两个面积阈值,设交互者对应交互手的手腕、手肘像素坐标为(xw,yw),(xe,ye),小臂像素长度为Larm,则面积阈值计算公式为:
步骤S802,计算多次交互者手掌正对相机、最大程度伸展时的像素个数与面积之比,取平均值作为填充度阈值并记录。参照之前步骤,在人体正对相机手尽量伸展且无遮挡时,利用带引导的区域生长算法,测量多次人体手掌最大程度伸展时的有效面积与外接矩形面积之比,取其均值作为填充度阈值并记录。
步骤S803,计算交互时的外接矩形像素面积以及填充度。根据外接矩形的宽、高,计算矩形像素面积。根据已存储的物体区域,利用OpenCV图像处理算法,求得之前存储的矩形区域中,三通道像素点均为0的像素的个数作为物体区域的有效面积,计算该值与矩形面积的比值作为真实填充度。
步骤S804,将真实面积与填充度与相应阈值比较,判断交互者持物可能性。在外接矩形面积大于阈值一时认为交互者必然持物,小于阈值二时认为交互者持物可能性较低。当外接矩形面积小于阈值一、大于阈值二时,根据填充度阈值进行辅助判断。若真实填充度大于填充度阈值,则也认为交互者持物,避免交互小件物品时的疏漏、误判情况。
步骤S90,判断交互者持物时,利用交互手位置判断手掌区域范围,判断是否可以完成人机交互,确定可以交互时的机械手理想夹持位置,并利用确定好的关键点转换到世界坐标系下,求得物体绕世界坐标系X、Y轴的转动角度。具体步骤如下:
步骤S901,利用手腕位置以及手掌大小,判断手掌区域范围。认为交互手与所持物体倾斜角度近似相同,因此可由图像中的外接矩形与垂直方向的夹角确定手掌区域。以手腕到手心的像素长度的两倍近似作为手掌的像素宽度,在矩形区域中,起点为掌心、上下长度为该值的二分之一的区域为手掌区域。
步骤S902,根据手掌中心位置与矩形中心的位置关系,判断交互手抓持物体的上下位置。通过抓持上下位置关系可以判断更适合机械爪抓持的可交互区域,手掌区域与可交互区域在异侧。
步骤S903,根据手掌掌心的坐标和物体区域中心的坐标,确定手掌区域与可交互区域相邻的边界上的中点。设外接矩形的中心坐标为(xbox_c,ybox_c)、手掌中心坐标为(xh,yh)、相邻边界上的中点坐标为(xarea_c,yarea_c)、外接矩形与竖直方向夹角为θ、手掌像素宽度为wh、矩形中心到手掌区域的长度为h、可交互区域长度为h+Hbox/2。以手抓持物体下部、图像中物体朝右倾斜为例,矩形中心到手掌区域的长度h的计算公式为:
h=(yh-ybox_c)/cos(θ)-wh/2 (11)
由此可计算相邻边界上的中点坐标:
步骤S904,根据夹角与手抓持物体的位置,确定适合机械爪抓取的区域的边界中点坐标。如果手抓持的是物体上部,则取矩形下边界中点,反之则取矩形上边界中点。
步骤S905,根据矩形区域与深度图像信息,求得靠近相应边界且在物体内的一点。边框上的像素点在物体区域外,其世界坐标与物体的世界坐标相差较大,因此需要在图像中根据矩形区域夹角进行迭代,直到该点的深度值与物体平均深度值差距较小,便可判定找到的像素点在物体区域内。
步骤S906,将两点转换到三维世界坐标系下,计算两点之间的距离,与机械臂手爪尺寸进行比较,判断是否可以进行交互任务。测量机器人交互手爪的尺寸,再留存一定的缓冲距离。如果可交互区域长度大于该尺寸,则说明可以正常交互,否则将产生干涉现象。
步骤S907,将转换到世界坐标系下的两点分别对YOZ、XOZ方向进行投影,计算求得物体绕X、Y方向的转动角度。把确定的两点由像素坐标转换到世界坐标系下,设两点中Z坐标相对小的点为(X1,Y1,Z1),Z坐标相对小的点为(X2,Y2,Z2),由公式(13)计算出向YOZ、XOZ平面投影后的向量长度,再根据公式(14)求出物体绕X、Y方向的转动角度。公式如下:
步骤S100,将物体的位姿信息、机械爪抓持位置由视觉处理端传输给机器人控制端,指导机器人完成未知物体交互任务。具体步骤如下:
步骤S1001,通过TCP/IP通讯的方式,将视觉处理端获取的物***姿和夹持位置传输给机器人控制端。
步骤S1002,机器人控制端接收信息后,机器人以指定姿态运动到指定位置,根据可交互性信息完成抓取或跟随运动任务。
尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用。它完全可以被适用于各种适合本发明的领域。对于熟悉本领域的人员而言,可容易地实现另外的修改。因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。
Claims (11)
1.一种面向任意物体基于深度学习和图像处理的人机交互方法,其特征在于,所述交互方法具体步骤如下:
步骤S10,根据彩色、深度相机与世界坐标的转换关系,得到与深度图像匹配的彩色图像,将匹配关系存储以加速转换速度;
步骤S20,对深度图像进行滤波修复;
步骤S30,利用MediaPipe人体骨骼关节点识别模型获得交互者的人体骨骼关节点像素坐标,根据检测所得节点之间的坐标、距离信息判断人体相对相机的不同姿态:侧向、正对;
步骤S40,检测结果为侧对相机时,利用显著性检测神经网络实时检测人机交互场景,获得人机交互实时显著性区域,对网络输出结果滤波以优化结果;
步骤S50,检测结果为侧对相机时,根据MediaPipe模型检测结果对显著性检测网络输出结果进行轮廓的筛选、特定外轮廓中点的筛选以获取物体区域外轮廓,判断交互意图并在对潜在物体及人手区域进行收集;
步骤S60,检测结果为正对相机时,对深度图像使用带引导的区域生长算法进行物体区域收集;
步骤S70,根据人手与物体区域,利用OpenCV图像处理方法求得区域最小外接矩形,获得物体区域、得到图像转动角度以及像素宽度和高度;
步骤S80,根据人手信息确定面积阈值、填充度阈值,计算相应数据以对交互者手中是否持物进行判断;
步骤S90,判断交互者持物时,利用交互手位置判断手掌区域范围,判断是否可以完成人机交互,确定可以交互时的机械手理想夹持位置,并利用确定好的关键点转换到世界坐标系下,求得物体绕世界坐标系X、Y轴的转动角度;
步骤S100,将物体的位姿信息、机械爪抓持位置由视觉处理端传输给机器人控制端,指导机器人完成未知物体交互任务。
2.根据权利要求1所述的一种面向任意物体基于深度学习和图像处理的人机交互方法,其特征在于,所述步骤S10的具体过程如下:
步骤S101,将Kinect v2相机安装在工作平台的一侧,观察所成图像选取合适摆放位置,保证相机可以拍摄到人体;
步骤S102,利用张正友标定法对Kinect v2相机进行标定,获得相机内外参矩阵Kc、
步骤S103,调用官方Kinect库函数得到深度相机内参Kd,根据深度相机和彩色相机的硬件位置关系由彩色相机的外参得到深度相机的外参
步骤S104,通过彩色相机内外参得到彩色相机与三维世界坐标系下的转换关系,通过深度相机获得深度相机与三维世界坐标系下的转换关系,以三维世界坐标系为常量进行转换,得到深度相机与彩色相机的坐标系转换矩阵;
步骤S105,记录下像素坐标与转换矩阵相乘结果进行存储,根据实际匹配效果进行自适应平移以修复误差,使用Numba库jit功能进行匹配加速,循环得到与深度图像匹配的彩色图像。
3.根据权利要求1所述的一种面向任意物体基于深度学习和图像处理的人机交互方法,其特征在于,所述步骤S20的具体过程如下:
步骤S201,把深度图像无效深度点滤除,再进行联合双边滤波;
步骤S202,对联合双边滤波结果进行中值滤波;
步骤S203,对中值滤波结果进行图像开运算。
4.根据权利要求1所述的一种面向任意物体基于深度学习和图像处理的人机交互方法,其特征在于,所述步骤S30的具体过程如下:
步骤S301,将映射得到的彩色图像输入MediaPipe模型进行姿态检测,得到双手手腕、双肩等坐标;
步骤S302,利用求得的关节点像素坐标,求得两肩之间的距离,判断人体姿态相对相机的朝向:侧向、正对相机;
步骤S303,侧对相机时,后续应用显著性区域提取及图像处理算法;正对对相机时,后续应用改进的区域生长算法。
5.根据权利要求1所述的一种面向任意物体基于深度学习和图像处理的人机交互方法,其特征在于,所述步骤S40的具体过程如下:
步骤S401,将转换得到的的小型彩色图像与修复处理后的深度图像输入显著性检测神经网络,得到神经网络输出;
步骤S402,舍弃输出结果中置信度较低的区域,选取合适阈值对网络输出结果进行二值化处理;
步骤S403,将二值处理后得到的图像进行开运算,图像平滑、去噪,得到较可靠的显著性结果。
6.根据权利要求1所述的一种面向任意物体基于深度学习和图像处理的人机交互方法,其特征在于,所述步骤S50的具体过程如下:
步骤S501,对处理后的显著性二值图进行轮廓检测,获得所有轮廓及各轮廓的轮廓点;
步骤S502,根据双手手腕坐标判断潜在交互手,再根据潜在交互手与胸口的距离判断交互意图是否存在;
步骤S503,以交互手的手腕位置坐标为基点,根据交互者身体与交互者手臂的位置关系判断方向,将各个轮廓中在基点异侧的轮廓节点筛除;
步骤S504,求剩余各个轮廓的中点的像素坐标,比较各个中点到交互手手腕的距离,确定物体所在区域。
7.根据权利要求1所述的一种面向任意物体基于深度学习和图像处理的人机交互方法,其特征在于,所述步骤S60的具体过程如下:
步骤S601,检测结果为正对相机时,对比双手手腕与机械臂的远近选定潜在的交互手;
步骤S602,比较交互手与胸口处的距离,分析交互者是否有交互意图;
步骤S603,针对有交互意图的手,根据交互手的像素坐标选定基点,对深度图像由基点开始使用带引导的区域生长算法进行生长,收集目标物体区域。
8.根据权利要求1所述的一种面向任意物体基于深度学习和图像处理的人机交互方法,其特征在于,所述步骤S70的具体过程如下:
步骤S701,利用之前获得的物体轮廓或物体区域,使用OpenCV图像处理算法求取区域最小外界矩形作为物体的Anchorbox,同时获得矩形的宽、高、旋转角度、中心坐标;
步骤S702,根据外接矩形尺寸信息及矩形图像旋转角度,求得矩形较长的一边与垂直方向的夹角;
步骤S703,截取矩形区域进行存储,并把该物体区域内像素点三通道的像素值均置为0。
9.根据权利要求1所述的一种面向任意物体基于深度学习和图像处理的人机交互方法,其特征在于,所述步骤S80的具体过程如下:
步骤S801,根据人体比例,计算交互者手掌像素面积以制定面积阈值;
步骤S802,计算多次交互者手掌正对相机、最大程度伸展时的像素个数与面积之比,取平均值作为填充度阈值并记录;
步骤S803,计算交互时的外接矩形像素面积以及填充度,根据外接矩形的宽、高,计算矩形像素面积;
步骤S804,将真实面积与填充度与相应阈值比较,判断交互者持物可能性。
10.根据权利要求1所述的一种面向任意物体基于深度学习和图像处理的人机交互方法,其特征在于,所述步骤S90的具体过程如下:
步骤S901,利用手腕位置以及手掌大小,判断手掌区域范围;
步骤S902,根据手掌中心位置与矩形中心的位置关系,判断交互手抓持物体的上下位置;
步骤S903,根据手掌掌心的坐标和物体区域中心的坐标,确定手掌区域与可交互区域相邻的边界上的中点;
步骤S904,根据夹角与手抓持物体的位置,确定适合机械爪抓取的区域的边界中点坐标;
步骤S905,根据矩形区域与深度图像信息,求得靠近相应边界且在物体内的一点;
步骤S906,将两点转换到三维世界坐标系下,计算两点之间的距离,与机械臂手爪尺寸进行比较,判断是否可以进行交互任务;
步骤S907,将转换到世界坐标系下的两点分别对YOZ、XOZ方向进行投影,计算求得物体绕X、Y方向的转动角度。
11.根据权利要求1所述的一种面向任意物体基于深度学习和图像处理的人机交互方法,其特征在于,所述步骤S100的具体过程如下:
步骤S1001,通过TCP/IP通讯的方式,将视觉处理端获取的物***姿和夹持位置传输给机器人控制端;
步骤S1002,机器人控制端接收信息后,机器人以指定姿态运动到指定位置,根据可交互性信息完成抓取或跟随运动任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311059633.5A CN117021099A (zh) | 2023-08-22 | 2023-08-22 | 一种面向任意物体基于深度学习和图像处理的人机交互方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311059633.5A CN117021099A (zh) | 2023-08-22 | 2023-08-22 | 一种面向任意物体基于深度学习和图像处理的人机交互方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117021099A true CN117021099A (zh) | 2023-11-10 |
Family
ID=88626251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311059633.5A Pending CN117021099A (zh) | 2023-08-22 | 2023-08-22 | 一种面向任意物体基于深度学习和图像处理的人机交互方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117021099A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117576787A (zh) * | 2024-01-16 | 2024-02-20 | 北京大学深圳研究生院 | 基于主动跟踪和自适应手势识别的交接方法、装置及设备 |
-
2023
- 2023-08-22 CN CN202311059633.5A patent/CN117021099A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117576787A (zh) * | 2024-01-16 | 2024-02-20 | 北京大学深圳研究生院 | 基于主动跟踪和自适应手势识别的交接方法、装置及设备 |
CN117576787B (zh) * | 2024-01-16 | 2024-04-16 | 北京大学深圳研究生院 | 基于主动跟踪和自适应手势识别的交接方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109255813B (zh) | 一种面向人机协作的手持物***姿实时检测方法 | |
CN109934864B (zh) | 面向机械臂抓取位姿估计的残差网络深度学习方法 | |
CN105729468B (zh) | 一种基于多深度摄像机增强的机器人工作台 | |
CN112297013B (zh) | 一种基于数字孪生和深度神经网络的机器人智能抓取方法 | |
CN110298886B (zh) | 一种基于四级卷积神经网络的灵巧手抓取规划方法 | |
CN110480637B (zh) | 一种基于Kinect传感器的机械臂零件图像识别抓取方法 | |
CN110509273B (zh) | 基于视觉深度学习特征的机器人机械手检测及抓取方法 | |
CN110355754A (zh) | 机器人手眼***、控制方法、设备及存储介质 | |
CN110211180A (zh) | 一种基于深度学习的机械臂自主抓取方法 | |
CN113284179B (zh) | 一种基于深度学习的机器人多物体分拣方法 | |
CN110378325B (zh) | 一种机器人抓取过程中的目标位姿识别方法 | |
CN112894815B (zh) | 视觉伺服机械臂物品抓取最佳位姿检测方法 | |
CN111462154A (zh) | 基于深度视觉传感器的目标定位方法、装置及自动抓取机器人 | |
CN110796700B (zh) | 基于卷积神经网络的多物体抓取区域定位方法 | |
Ni et al. | A new approach based on two-stream cnns for novel objects grasping in clutter | |
CN117021099A (zh) | 一种面向任意物体基于深度学习和图像处理的人机交互方法 | |
CN116249607A (zh) | 用于机器人抓取三维物体的方法和装置 | |
CN115213896A (zh) | 基于机械臂的物体抓取方法、***、设备及存储介质 | |
JP2018126862A (ja) | 干渉判定装置、干渉判定方法、コンピュータプログラム | |
CN115578460A (zh) | 基于多模态特征提取与稠密预测的机器人抓取方法与*** | |
JP7171294B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
KR20230061612A (ko) | 머신 러닝을 이용한 물체의 피킹 자동화 시스템 및 그 제어 방법 | |
CN113034526B (zh) | 一种抓取方法、抓取装置及机器人 | |
CN115861780B (zh) | 一种基于yolo-ggcnn的机械臂检测抓取方法 | |
Gao et al. | An automatic assembling system for sealing rings based on machine vision |
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 |