CN111798518A - 机械臂姿态检测方法、装置和设备及计算机存储介质 - Google Patents
机械臂姿态检测方法、装置和设备及计算机存储介质 Download PDFInfo
- Publication number
- CN111798518A CN111798518A CN202010691783.8A CN202010691783A CN111798518A CN 111798518 A CN111798518 A CN 111798518A CN 202010691783 A CN202010691783 A CN 202010691783A CN 111798518 A CN111798518 A CN 111798518A
- Authority
- CN
- China
- Prior art keywords
- joint
- arm
- mechanical arm
- picture
- posture
- 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
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
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
- G06T7/001—Industrial image inspection using an image reference approach
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Manipulator (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种机械臂姿态检测方法、装置和设备及计算机存储介质,涉及计算机技术领域,在该方法中,通过获取包含至少一个机械臂的待检测图片,并获取所述待检测图片中所述至少一个机械臂包括的各关节的关节特征数据和各连接臂的连接臂特征数据;根据各关节的关节特征数据与各连接臂的连接臂特征数据进行姿态组合,以确定所述至少一个机械臂的姿态;分别根据所述至少一个机械臂中各机械臂的姿态对各机械臂进行姿态异常检测,得到各机械臂的姿态检测结果,所述姿态检测结果指示机械臂的姿态是否异常,从而实现机械臂的姿态状况的监控,从而在出现异常时能够及时发现,进而提升机械臂工作的安全有效性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及监控技术领域,提供一种机械臂姿态检测方法、装置和设备及计算机存储介质。
背景技术
随着工业自动化的发展,工厂自动化成为了主流。机械臂是一个高精度、强耦合的复杂系统,因其独特的操作灵活性,在工业装配领域得到广泛应用,在生产线上承担了高度精细的工作,成为了自动化工厂的关键设备。简单的机械臂按固定轨迹移动,工作于较为稳定的工况,复杂的机械臂则运行于不稳定的非结构化环境中,实时演算移动轨迹。机械臂工作出现异常,不仅耽误生产线进度,还可能引发安全事故,尤其对于复杂的机械臂来说,由于环境因素的不稳定,同时还有突发干预、累计错误的影响,更容易出现异常。
因此,为了保证安全有效的实现生产工作,需要对机械臂的工作情况进行监测,进而在出现异常时及时修复异常。
发明内容
本申请实施例提供一种机械臂姿态检测方法、装置和设备及计算机存储介质,用于实现机械臂的姿态状况的监控,进而提升机械臂工作的安全有效性。
一方面,提供一种机械臂姿态检测方法,包括:
获取包含至少一个机械臂的待检测图片;
获取所述待检测图片中所述至少一个机械臂包括的各关节的关节特征数据和各连接臂的连接臂特征数据;
根据各关节的关节特征数据与各连接臂的连接臂特征数据进行姿态组合,以确定所述至少一个机械臂的姿态;
分别根据所述至少一个机械臂中各机械臂的姿态对各机械臂进行姿态异常检测,得到各机械臂的姿态检测结果,所述姿态检测结果指示机械臂的姿态是否异常。
一方面,提供一种机械臂姿态检测装置,包括:
图片获取单元,用于获取包含至少一个机械臂的待检测图片;
识别单元,用于获取所述待检测图片中所述至少一个机械臂包括的各关节的关节特征数据和各连接臂的连接臂特征数据;
姿态组合单元,用于根据各关节的关节特征数据与各连接臂的连接臂特征数据进行姿态组合,以确定所述至少一个机械臂的姿态;
姿态异常检测单元,用于分别根据所述至少一个机械臂中各机械臂的姿态对各机械臂进行姿态异常检测,得到各机械臂的姿态检测结果,所述姿态检测结果指示机械臂的姿态是否异常。
可选的,所述识别单元,具体用于:
对所述待检测图片进行关节识别,得到所述关节特征数据;所述关节特征数据包括对应于J个部位的关节的J个关节特征图,每一关节特征图用于表征所述待检测图片中各像素点为关节像素点的概率;
对所述待检测图片进行连接臂识别,得到所述连接臂特征数据,所述连接臂特征数据包括对应于C个部位的连接臂的C个连接臂特征图,每一个连接臂特征图由所述待检测图片中各像素点的向量构成,每一向量场中非零向量表征所述非零向量对应像素点为连接臂像素点。
可选的,所述识别单元,具体用于:
利用已训练的关节识别模型,对所述待检测图片进行关节识别,得到所述关节特征数据;
其中,所述关节识别模型是利用多个图片训练样本进行训练得到的,每一图片训练样本标注了所述图片训练样本中各关节所在区域。
可选的,所述识别单元,具体用于:
对所述待检测图片进行特征提取,得到所述待检测图片的初始关节特征;
根据所述初始关节特征,分别确定所述待检测图片上每一像素点为各部位的关节的关节像素点的概率,以得到所述关节特征数据。
可选的,所述识别单元,具体用于:
利用已训练的连接臂识别模型,对所述待检测图片进行连接臂识别,得到所述连接臂特征数据;
其中,所述连接臂识别模型是利用多个图片训练样本进行训练得到的,每一图片训练样本标注了所述图片训练样本中各连接臂的向量。
可选的,所述识别单元,具体用于:
对所述待检测图片进行特征提取,得到所述待检测图片的初始连接臂特征;
根据所述初始连接臂特征,分别确定所述待检测图片上每一像素点的向量,以得到所述关节特征数据。
可选的,所述姿态组合单元,具体用于:
根据所述J个关节特征图和所述C个连接臂特征图进行姿态组合,以得到所述至少一个机械臂的姿态。
可选的,所述姿态组合单元,具体用于:
根据所述J个关节特征图,构建J个关节集合,每一个关节集合由所述至少一个机械臂的同一部位的关节组成;
基于所述J个关节集合构建多个姿态集合,每一姿态集合包括由所述J个关节集合的J个关节构成的多个姿态,所述J个关节中任意两个关节所属关节集合不同;
从所述多个姿态集合中确定出为各所述机械臂的姿态的目标姿态集合。
可选的,所述姿态组合单元,具体用于:
根据所述C个连接臂特征图,确定构成每一姿态的J个关节中任意两个关节之间的关联度,所述关联度用于表征两个关节属于同一机械臂的概率;
基于所述关联度,从所述多个姿态集合中确定出满足预设条件的所述目标姿态集合,其中,所述预设条件为姿态集合中任意两个姿态未包括相同的关节,且姿态集合的关联度之和为所述多个姿态集合中的最大值。
可选的,所述姿态组合单元,具体用于:
根据位于所述任意两个关节之间的各像素的向量,以及所述任意两个关节构成的向量,确定所述任意两个关节之间的关联度。
可选的,所述姿态异常检测单元,具体用于:
根据构成所述每一机械臂的姿态的关节点的坐标,以及训练得到的姿态分布函数,确定所述每一机械臂的姿态为正常姿态的概率值;所述姿态分布函数是利用多个姿态训练样本通过机器学习得到的,每一姿态样本进行了表征姿态正常或者异常的标注;
在确定所述概率值小于预设概率阈值时,确定所述每一机械臂的姿态异常。
一方面,提供一种机械臂姿态监测系统,包括:
至少一个图像采集装置,每一图像采集装置用于采集包含至少一个机械臂的图像或者视频流;
机械臂姿态检测装置,用于采用上述任一种方法的步骤,获取所述图像或者所述视频流的视频帧中各机械臂的姿态检测结果,且当存在姿态检测结果指示机械臂姿态异常时,触发告警。
一方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一种方法的步骤。
一方面,提供一种计算机存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述任一种方法的步骤。
一方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一种方法的步骤。
本申请实施例中,通过对包含至少一个机械臂的图片进行关节和连接臂的识别,并根据关节特征数据与连接臂特征数据进行姿态组合,来确定图片中各机械臂的姿态,进而确定各机械臂的姿态是否异常。这样,本申请实施例可以根据机械臂的图片实现多个机械臂姿态的确定,机械臂的姿态确定效率更高,且通过识别的机械臂姿态进一步确定机械臂是否异常,从而在出现异常时能够及时对异常进行维护,进而提升械臂工作的安全有效性,有效的保障机械臂安全有效的实现生产工作。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种机械臂的示例图;
图2为本申请实施例提供的另一种机械臂的示例图;
图3为本申请实施例提供的又一种机械臂的示例图;
图4为本申请实施例提供的机械臂姿态监测系统的示意图;
图5为本申请实施例提供的关节识别模型的训练流程示意图;
图6为本申请实施例提供的图片训练样本的一种标注示意图;
图7为本申请实施例提供的图片训练样本的另一种标注示意图;
图8为本申请实施例提供的标注图转化得到的关节特征图的示意图;
图9为本申请实施例提供的关节识别模型的一种结构示意图;
图10为本申请实施例提供的连接臂识别模型的训练流程示意图;
图11为本申请实施例提供的图片训练样本的标注示意图;
图12为本申请实施例提供的连接臂识别模型的一种结构示意图;
图13为本申请实施例提供的机械臂姿态检测方法的流程示意图;
图14为本申请实施例提供的关节集合的示意图;
图15为本申请实施例提供的基于关节集合的二分图示意图;
图16为本申请实施例提供的组合出的机械臂的姿态的示意图;
图17为本申请实施例提供的机械臂姿态检测装置的一种结构示意图;
图18为本申请实施例提供的计算机设备的一种结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
为便于理解本申请实施例提供的技术方案,这里先对本申请实施例使用的一些关键名词进行解释:
机械臂:由多个关节和连接臂构成的机械设备,如图1、图2和图3所示,为几种机械臂的示例图,其中,白色虚线框位置表示机械臂的关节所在位置,白色虚线表示机械臂的连接臂走向,如图1~图3中所示,通过关节与连接臂的组合即可以得到一个机械臂的姿态。
卷积神经网络(Convolutional Neural Networks,CNN):用于机器学习领域,是一类包含卷积计算且具有深度结构的前馈神经网络(Feed forward Neural Networks),卷积神经网络能够以较小的计算量对格点化(grid-like topology)特征,例如像素进行学习,效果稳定且对数据没有额外的特征工程(feature engineering)要求。CNN最为主要的既是卷积层,对于设备而言,图像实质上是由像素矩阵的形式进行存储的,因此对图像进行的处理实质上也是基于该像素矩阵进行的,在卷积层中是将像素矩阵按照预设步长以及预设大小的卷积核进行卷积运算的。
特征图(feature map):是通过上述卷积神经网络的卷积层提取的,其实质上也是像素矩阵,像素矩阵中每一个元素可认为是特征图上的一个像素点,该像素点所在位置的值即为该原始图像中一个区域或者一个像素点的特征值。
部位亲和度向量(Part Affinity Field,PAF):在基于PAF的姿态检测算法中,PAF是一个或者多个二维(2D)向量集合,每一个2D向量集合都会编码一个连接臂的位置和方向,能够用于衡量两个关节之间的亲和度,PAF的作用体现在姿态组合阶段。
向量场:本申请实施例中,向量场是由连接臂所在的各像素点位置的向量组成的,每个像素点位置的向量为所在连接臂的单位向量。
为了保证安全有效的实现生产工作,需要对机械臂的工作情况进行监测,例如检测机械臂的姿态,进而在出现异常时及时修复异常。在现有技术中,对于机械臂的姿态检测一般是依赖于3D摄像头拍摄的3D视频图像进行姿态估计,但是这种依赖3D摄像头的方案,同时仅能监控一个机械臂的姿态,在自动化工厂中,往往存在由多个机械臂组成的生产线,基于该方案需要大量的3D摄像头,硬件成本高,且大量视频图像需要姿态估计,需要占用大量计算资源。因此,目前急需一种成本低效率高的机械臂姿态检测方案。
鉴于此,本申请实施例提供一种机械臂姿态检测方法,在该方法中,通过对包含至少一个机械臂的图片进行关节和连接臂的识别,并根据关节特征数据与连接臂特征数据进行姿态组合,来确定图片中各机械臂的姿态,进而确定各机械臂的姿态是否异常。可见,本申请实施例的技术方案可以根据机械臂的图片同时实现多个机械臂姿态的确定,这样,监控机械臂所需的摄像头等图像采集设备则可以更少,降低硬件成本,此外,确定同样数量的机械臂姿态时所需的计算资源相应更少,处理效率更高,更加节约计算资源。并且,通过识别的机械臂姿态进一步确定机械臂是否异常,从而在出现异常时能够及时对异常进行维护,进而提升械臂工作的安全有效性,有效的保障机械臂安全有效的实现生产工作。
本申请实施例中,采用大量经人工标注的训练样本采用机器学习的方式训练模型,以通过训练完成的模型来对图片进行关节识别和连接臂识别,提高对于机械臂关节和连接臂的识别率,为姿态识别提供特征数据基础。
在介绍完本申请实施例的设计思想之后,下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施过程中,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
本申请实施例提供的方案可以适用于大多数需要进行机械臂姿态监测的场景中,特别适合由多个机械臂组成的自动化生产线的监控,如图4所示,为本申请实施例提供的一种机械臂姿态监测系统的示意图,该系统包括图像采集装置40和机械臂姿态检测装置41。
图像采集装置40用于采集包括机械臂的图像或者视频流,例如可以为摄像头。机械臂例如可以是流水线上工作的机械臂,也可以是移动设备包括的机械臂,例如移动机器人等包括的机械臂。
机械臂姿态检测装置41是具有一定处理能力的计算机设备,例如可以为个人计算机(personal computer,PC)、笔记本电脑或者服务器等。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器,但并不局限于此。
机械臂姿态检测装置41包括一个或多个处理器411、存储器412以及与其他设备交互的I/O接口413等。此外,机械臂姿态检测装置41还可以配置数据库414,数据库414可以用于存储本申请实施例提供的方案中涉及到的模型数据、接收到的视频流等数据。其中,机械臂姿态检测装置41的存储器412中可以存储本申请实施例提供的机械臂姿态检测方法的程序指令,这些程序指令被处理器411执行时能够用以实现本申请实施例提供的机械臂姿态检测方法的步骤,以确定图片中各机械臂的姿态是否异常。
在具体实施过程中,图像采集装置40可以设置于能够拍摄到机械臂的位置,并采集机械臂的图像或者视频流,采集的图像或者视频流可以存储于服务器中,机械臂姿态检测装置41从服务器中获取图像或者视频流,当然,也可以直接发送给机械臂姿态检测装置41进行姿态检测。在采集图像时,图像采集装置40可以定时进行采集,或根据实际情况检测到机械臂存在进行采集。
对于图像采集装置40采集的视频流,机械臂姿态检测装置41可以从中截取视频帧,作为待检测图片,并对待检测图片中的机械臂进行姿态识别和姿态异常检测,从而确定机械臂的姿态是否异常。当确定机械臂的姿态出现异常,则会触发告警,例如向相关人员的设备发送警告信息,或者向与机械臂相关的报警设备发送指令,控制报警设备进行报警,以便相关人员及时知道机械臂出现故障,及时进行修复,或者向机械臂的管理设备发送警告,管理设备可以根据机械臂的运行日志确定机械臂的故障类型,若是能够通过软件进行修复的故障,则可以向机械臂发送修复程序,使得机械臂进行修复。
在实际应用中,为了提升姿态确定的准确性,针对相同的机械臂,可以分别设置多个图像采集装置拍摄这些机械臂的图像,然后分别从这些图像中识别各机械臂的姿态,进而综合多个姿态识别结果确定各姿态结果是否准确。此外,还可以通过机械臂上设置的传感器来估计姿态,传感器例如可以为陀螺仪、距离传感器等,进而通过图像识别的方式结合传感器识别的方式综合确定各机械臂的姿态,进一步提升姿态识别的准确性。
图像采集装置40和机械臂姿态检测装置41之间可以通过一个或者多个网络42进行直接或间接的通信连接。该网络42可以是有线网络,也可以是无线网络,例如无线网络可以是移动蜂窝网络,或者可以是无线保真(Wireless-Fidelity,WIFI)网络,当然还可以是其他可能的网络,本发明实施例对此不做限制。
当然,本申请实施例提供的方法并不限用于图4所示的应用场景中,还可以用于其他可能的应用场景,本申请实施例并不进行限制。对于图4所示的应用场景的各个设备所能实现的功能将在后续的方法实施例中一并进行描述,在此先不过多赘述。下面,将先对本申请实施例涉及的技术进行简单介绍。
在一种可选的实施方式中,本申请实施例可以采用实体设备结合人工智能(Artificial Intellegence,AI)技术来实现机械臂姿态检测过程,在另一种可选的实施方式中,还可以通过云技术(Cloud technology)结合AI技术来实现机械臂姿态检测过程。
云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。具体而言,本申请实施例除了可以通过实体计算资源执行程序流程,以及实体存储资源来实现数据存储之外,也可以通过云端提供的计算资源来进行机械臂姿态检测,并且姿态检测过程中所涉及到的数据均可通过云端提供的存储资源来进行存储。
AI是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理(NatureLanguage processing,NLP)技术以及机器学习/深度学习等几大方向。本申请实施例提供的技术方案主要涉及人工智能的机器学习/深度学习等技术。
机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。具体而言,本申请实施例中对于机械臂姿态检测可以通过机器学习得到的模型来进行。
本申请实施例中,姿态识别过程中的关节识别和连接臂识别均可以通过预先训练的模型来实现,因此在介绍本申请实施例的机械臂姿态检测方法之前,先对模型训练的过程进行介绍。
如图5所示,为关节识别模型的训练流程示意图。
步骤501:获取图片训练样本。
在关节识别模型具体投入使用之前,需要对关节识别模型进行前置训练,来得到成熟的关节识别模型。其中,可以通过多个图片训练样本进行训练得到关节识别模型,每一个图片训练样本标注了图片训练样本中各关节所在区域。如图6和图7所示,为图片训练样本的标注示意图,由于每一机械臂可以包括多个关节,可以在一张图上标注出所有关节,但不同关节采用不同的标注当然,为对关节进行分类,即不同部位的关节属于一类,可以针对每一关节分别进行标注,在一张图上标注一种类型的关节,如图6所示,标注了夹头部位的关节1所在区域,以及图7所示,标注了上关节部位的关节2所在区域。一个图片训练样本可以包括多个标注图,对于一个图片训练样本而言,其中的机械臂包括多少个关节,则该图片训练样本可以包括相应数量的标注图,例如,当机械臂包括3个关节,那么标注图的数量也可以为3个。
在各图片训练样本标注完成之后,投入训练之前,还可以对各图片训练样本进行样本的预处理。具体的,预处理可以将各图片训练样本的标注图转化为关节特征图。如图8所示,为标注图转化得到的关节特征图的示意图,其中,每一个小方块可以表示一个像素点,小方框中的值表示该位置的像素点为关节像素点的概率,其中,标注区域所对应的小方块的概率值则为1,而除标注区域之外的其余区域的概率则为0。当然,也可以采用梯度下降的方法,即随着与标注区域中心位置的距离的增大,概率值逐渐减小。
步骤502:通过关节识别模型获取各图片训练样本的关节特征图。
各图片训练样本进行样本的预处理后,则可以用于关节识别模型的训练。如图9所示,本申请实施例提供的关节识别模型的一种结构示意图,该关节识别模型可以是基于CNN网络的模型,包括多个卷积层、输出层和损失层。当然,该结构示意图仅为一种可能的结构,并不是唯一的结构,在可能的情况下,还可以采用其他可能的结构,本申请实施例对此不做限制。
其中,将图片训练样本输入到关节识别模型之前,还可以对各图片训练样本进行图像预处理,图像预处理可以是利用CNN网络对图片训练样本进行一定的特征提取,来得到图片训练样本的一个或者多个特征图,然后将特征图输入至关节识别模型。当然,图像预处理的步骤在实际应用时可以进行选择是否需要实施。
在第一次训练时,关节识别模型为初始模型,通过该关节识别模型的卷积层逐层对输入的图片训练样本进行特征提取,得到图片训练样本的初始特征。具体而言,上一各的卷积层得到的特征可以作为下一个卷积层的输入,从而逐层得到图片训练样本的特征。最后一个卷积层输出的初始特征输入至输出层中,输出层用于基于初始特征确定图片训练样本上每一个像素点为关节像素点的概率,并输出关节特征图。与标注图相对应的,关节特征图的数量也可以是跟关节类型相同的,即当图片训练样本中包括J个部位的关节时,则得到的关节特征图的数量也为J个,每一个关节特征图表示各像素点属于该种类型的关节的关节像素点的概率。
步骤503:确定损失值是否小于预设损失值。
在训练过程中,可以利用损失(loss)层计算关节识别模型输出的关节特征图与标注图对应的关节特征图之间的损失值,从而确定损失值是否小于预设损失值,当确定损失值小于预设损失值时,则模型训练结束,而若是确定损失值不小于预设损失值,则需要继续对模型进行训练。损失层可以利用损失函数(Loss Function)来计算损失值,例如损失函数可以为绝对值损失函数平方损失函数(squared loss)、对数损失函数(logarithmic loss)或者交叉熵损失函数(Cross Entropy Error Function)等,当然,也可以为其他可能的损失函数,本申请实施例对此不做限制。
其中,除了利用损失值衡量模型是否需要继续进行训练之外,还可以统计当前模型的准确率,根据准确率来判断模型是否需要继续进行训练。
步骤504:若步骤503的确定结果为否,则根据损失值对模型参数进行调整。
具体的,可以根据损失值确定对模型参数的调整值,基于调整值对模型参数进行调整之后,则可以利用调整后的模型继续进行获取各图片训练样本的关节特征图,即进入新一轮的步骤502~步骤504的循环,直至确定损失值小于预设损失值为止,结束流程。
下面,对连接臂识别模型的训练流程进行介绍。如图10所示,为连接臂识别模型的训练流程示意图。
步骤1001:获取图片训练样本。
在连接臂识别模型具体投入使用之前,需要对连接臂识别模型进行前置训练,来得到成熟的连接臂识别模型。其中,可以通过多个图片训练样本进行训练得到连接臂识别模型,每一个图片训练样本标注了图片训练样本中各连接臂所在区域。由于每一机械臂可以包括多个连接臂,可以在一张图上标注出所有连接臂,但不同连接臂采用不同的标注,当然,为对连接臂进行分类,即不同部位的连接臂属于一类,可以针对每一连接臂分别进行标注,在一张图上标注一种类型的连接臂,如图11所示,为图片训练样本的标注示意图,标注了其中一个部位的连接臂的向量,该向量实质上为该连接臂连接的一个关节到另一个关节的向量,这种向量可被称为部位亲和度向量PAF,它保存了连接臂的支持区域中的位置和方向信息,部位亲和度向量是每一个连接臂的二维向量域,它可以这么来定义:对于属于连接臂的区域中的每个像素,二维向量编码了从连接臂连接的一个关节指向另一个关节的方向,每一种连接臂都有对应的向量域来联系起它们对应的关节。
一个图片训练样本可以包括多个标注图,对于一个图片训练样本而言,其中的机械臂包括多少个连接臂,则该图片训练样本可以包括相应数量的标注图,例如,当机械臂包括2个连接臂,那么标注图的数量也可以为2个。
在各图片训练样本标注完成之后,投入训练之前,还可以对各图片训练样本进行样本的预处理。具体的,预处理可以将各图片训练样本的标注图转化为连接臂特征图。对于一个图片训练样本而言,其具有C个机械臂,则可以得到C个连接臂特征图,每一个连接臂特征图可以是一个w*h*2的矩阵,w为图片训练样本的宽度,h为图片训练样本的高度,2是指通道数量,在连接臂特征图中,每一像素点上的值表示该像素点的向量,且每一向量场中非零向量表征非零向量对应像素点为连接臂像素点。
具体的,每一个连接臂特征图可以用Li表示,i的取值为1~C,对于每一个Li,为图片上每一个像素点生成了一个2维向量,向量的计算方法为,如果像素点p位于第k个机械臂的第c类连接臂上,则Lc,k(p)为该连接臂的单位向量,否则为0。由于可能存在机械臂重叠的情况,因此,当像素点p位于连接臂重叠区域时,则Lc(p)为重叠部分连接臂单位向量的均值,那么存在如下关系:
步骤1002:通过连接臂识别模型获取各图片训练样本的连接臂特征图。
各图片训练样本进行样本的预处理后,则可以用于连接臂识别模型的训练。如图12所示,本申请实施例提供的连接臂识别模型的一种结构示意图,该连接臂识别模型可以是基于CNN网络的模型,包括多个卷积层、输出层和损失层。当然,该结构示意图仅为一种可能的结构,并不是唯一的结构,在可能的情况下,还可以采用其他可能的结构,本申请实施例对此不做限制。
其中,将图片训练样本输入到连接臂识别模型之前,还可以对各图片训练样本进行图像预处理,图像预处理可以是利用CNN网络对图片训练样本进行一定的特征提取,来得到图片训练样本的一个或者多个特征图,然后将特征图输入至连接臂识别模型。当然,图像预处理的步骤在实际应用时可以进行选择是否需要实施。
在第一次训练时,连接臂识别模型为初始模型,通过该连接臂识别模型的卷积层逐层对输入的图片训练样本进行特征提取,得到图片训练样本的初始特征。具体而言,上一各的卷积层得到的特征可以作为下一个卷积层的输入,从而逐层得到图片训练样本的特征。最后一个卷积层输出的初始特征输入至输出层中,输出层用于基于初始特征确定图片训练样本上每一个像素点为连接臂像素点的概率,并输出连接臂特征图。与标注图相对应的,连接臂特征图的数量也可以是跟连接臂类型相同的,即当图片训练样本中包括C个部位的连接臂时,则得到的连接臂特征图的数量也为C个,每一个连接臂特征图上每一像素点的值表示该像素点的向量。
步骤1003:确定损失值是否小于预设损失值。
在训练过程中,可以利用损失层计算连接臂识别模型输出的连接臂特征图与标注图对应的连接臂特征图之间的损失值,从而确定损失值是否小于预设损失值,当确定损失值小于预设损失值时,则模型训练结束,而若是确定损失值不小于预设损失值,则需要继续对模型进行训练。
其中,除了利用损失值衡量模型是否需要继续进行训练之外,还可以统计当前模型的准确率,根据准确率来判断模型是否需要继续进行训练。
步骤1004:若步骤1003的确定结果为否,则根据损失值对模型参数进行调整。
具体的,可以根据损失值确定对模型参数的调整值,基于调整值对模型参数进行调整之后,则可以利用调整后的模型继续进行获取各图片训练样本的连接臂特征图,即进入新一轮的步骤1002~步骤1004的循环,直至确定损失值小于预设损失值为止,结束流程。
在具体应用过程中,由于关节和连接臂之间是存在一定联系的,因此关节识别模型和连接臂识别模型可以是同时关联进行训练的,例如在通过关节识别模型和连接臂识别模型分别获得关节特征图和连接臂特征图之后,可以利用损失层计算关节识别模型和连接臂识别模型的损失值之和,进而根据损失值之和来判断是否结束训练。
本申请实施例中,在模型训练完成之后,则可以将模型应用于实际的姿态检测过程中,请参见图13,为本申请实施例提供的机械臂姿态检测方法的流程示意图,该方法可以通过图4中的机械臂姿态检测装置41来执行,该方法的流程介绍如下。
步骤1301:获取包含至少一个机械臂的待检测图片。
本申请实施例中,待检测图片可以是图像采集装置直接采集的图片,也可以是从图像采集装置采集的视频流中截取的视频帧。其中,若是从视频流中截取视频帧,可以是定时截取的,定时的时长可以根据实际情况进行设置,此外,还可以随机进行截取。考虑到在对移动机器人等可移动的设备进行监控时,可能存在为包括机械臂的画面,因此对于截取到的视频帧,还可以进一步确认视频帧中是否存在机械臂,若不存在,则舍弃该视频帧,若存在,才对该视频帧进行后续的流程。
在实际应用中,对于每一个待检测图片的机械臂姿态检测过程均是相同的,因此下面以一个待检测图片为例,对机械臂姿态检测过程进行介绍。
步骤1302:获取待检测图片中至少一个机械臂包括的各关节的关节特征数据和各连接臂的连接臂特征数据。
本申请实施例中,在获取待检测图片之后,可以预先对待检测图片进行图像预处理,图像预处理可以是利用CNN网络对待检测图片进行一定的特征提取,来得到待检测图片的一个或者多个特征图,进而后续的处理可以依据这一个或者多个特征图来进行。当然,图像预处理的步骤在实际应用时可以进行选择是否需要实施。
考虑到机械臂的姿态主要是由机械臂包括的各个关节和各个连接臂来构成的,因此,为了获取其中各机械臂的姿态,可以获取待检测图片中各关节的关节特征数据和各连接臂的连接臂特征数据,从而姿态组合得到各机械臂的姿态。
具体的,关节特征数据或者连接臂特征数据可以是表征各关节或者各连接臂在待检测图片中位置的数据,例如通过边框检测算法,可以在待检测图片中标识出各关节和各连接臂所在区域的边框,然后根据各边框的位置将相邻的关节和连接臂组合起来,从而得到各机械臂的姿态。
具体的,获取待检测图片中至少一个机械臂包括的各关节的关节特征数据,还可以是对待检测图片进行关节识别,得到关节特征数据,其中,对待检测图片进行关节识别可以是利用已训练的关节识别模型,即通过图5所示的流程训练得到的关节识别模型,来对待检测图片进行关节识别,得到关节特征数据。
其中,关节特征数据可以包括对应于J个部位的关节的J个关节特征图(S1,S2,…,SJ),每一个关节特征图Sj为w*h的矩阵,大小与待检测图片相同,每一关节特征图Sj用于表征待检测图片中各像素点为关节像素点的概率,j的取值为1~J,J为正整数。
在利用关节识别模型,对待检测图片进行关节识别时,如图9所示的关节识别模型的结构所示,可以利用关节识别模型包括的卷积层逐层对待检测图片进行特征提取,得到待检测图片的初始关节特征,再根据初始关节特征,分别确定待检测图片上每一像素点为各部位的关节的关节像素点的概率,以得到关节特征数据。对于每一像素点的概率确定,可以是利用分类算法进行分类,来确定各像素点属于各类型关节的概率。
具体的,获取待检测图片中至少一个机械臂包括的各连接臂的连接臂特征数据,还可以是对待检测图片进行连接臂识别,得到连接臂特征数据,其中,对待检测图片进行连接臂识别可以是利用已训练的连接臂识别模型,即通过图10所示的流程训练得到的连接臂识别模型,来对待检测图片进行连接臂识别,得到连接臂特征数据。
其中,连接臂特征数据可以包括对应于C个部位的连接臂的C个连接臂特征图(L1,L2,…,Lc),每一个连接臂特征图Li为w*h*2的矩阵,每一个连接臂特征图由待检测图片中各像素点的向量构成,每一连接臂特征图Li中非零向量表征非零向量对应像素点为连接臂像素点,i的取值为1~C,C为正整数。
在利用连接臂识别模型,对待检测图片进行连接臂识别时,如图12所示的连接臂识别模型的结构所示,可以利用连接臂识别模型包括的卷积层逐层对待检测图片进行特征提取,得到待检测图片的初始连接臂特征,再根据初始连接臂特征,分别确定待检测图片上每一像素点的向量,以得到连接臂特征数据。
步骤1303:根据各关节的关节特征数据与各连接臂的连接臂特征数据进行姿态组合,以确定至少一个机械臂的姿态。
本申请实施例中,通过步骤1302的过程,所得到的关节特征数据可以为J个关节特征图(S1,S2,…,SJ),所得到的连接臂特征数据可以为C个连接臂特征图,(L1,L2,…,Lc),那么可以根据J个关节特征图和C个连接臂特征图进行姿态组合,以得到待检测图片中各机械臂的姿态。
姿态组合的过程实质上是将J个关节特征图和C个连接臂特征图作为依据,找到同属于同一机械臂的关节的过程,一旦找到各机械臂的各部位的关节,那么根据各关节进行组合,或者根据各关节和连接臂进行组合,即可以得到各机械臂的姿态。
根据J个关节特征图,可以构建J个关节集合,每一个关节集合由至少一个机械臂的同一部位的关节组成,基于J个关节集合可以构建多个姿态集合,每一姿态集合包括由J个关节集合的J个关节构成的多个姿态,J个关节中任意两个关节所属关节集合不同,如图14所示,当待检测图片中存在2个机械臂,即机械臂1和机械臂2,每个机械臂包括3个关节,即关节A、关节B和关节C,那么可以构建3个关节集合SA=(A1,A2)、SB=(B1,B2)和SC=(C1,C2),这3个关节集合可以构建多个姿态集合,例如(A1-B1-C1,A2-B2-C2)、(A1-B2-C1,A2-B1-C2)以及(A1-B1-C1,A2-B1-C2)等,那么确定姿态的过程则是要从多个姿态集合中确定出真实为各机械臂的姿态的目标姿态集合。
显然,对照真实情况而言,不可能存在两个机械臂共用一个关节,因此构成任意两个姿态的所有关节均不相同是确定目标姿态集合的约束条件。此外,真实为机械臂姿态的两个相邻关节之间是存在连接臂的,表现在图像上则是相邻两个关节之间的像素点为连接臂像素点,因此在确定目标姿态集合,还可以根据连接臂特征图来确定构成每一姿态的J个关节中任意两个关节之间的关联度,关联度能够表征两个关节属于同一机械臂的概率,然后可以基于关联度,从多个姿态集合中确定出满足预设条件的目标姿态集合,其中,预设条件为姿态集合中任意两个姿态未包括相同的关节,且姿态集合的关联度之和为多个姿态集合中的最大值。其中,任意两个关节之间的关联度可以根据位于任意两个关节之间的各像素的向量,以及任意两个关节构成的向量来确定。
具体的,定义了一个关节特征图是同一部位的关节的特征图,在该特征图中,包括多个机械臂的同一关节的特征,表示第j个关节的第k个预测位置,一个预测位置理想情况下是可以表示一个关节,当然,在实际预测时,模型预测结果中可能出现干扰,即将非关节像素点识别为了关节像素点。同时定义用于表征两个关节是否属于同一机械臂,例如为0时表示不属于同一机械臂,例如为1时表示属于同一机械臂,其中,j1和j2表示两种不同部位的关节,k1和k2表示关节特征图中不同的关节预测点,可以理解为不同机械臂的关节。
p(u)=(1-u)dj1+udj2
其中,E是指Lc沿着预测点dj1和dj2两点线段进行线性积分计算出来的两点之间的关联度,表示两个像素点dj1和dj2属于同一个机械臂的期望值,p(u)表示个像素点dj1和dj2之间的像素点。
对于J个关节特征图构建的J个关节集合,即Dj1,Dj2,……等J个关节集合,找出属于同一机械臂的相连关节的问题可以转化成为一个二分图问题,二分图中的每个点为关节集中的关节,每条边的权重为上述公式计算得到的E,二分图问题的目标就是找出二分图的一个边集,没有2条边共用一个点,且权重和最大,如图15所示,存在关节集合1~关节集合3,不同灰度的圆点表示不同关节集合中的关节,各圆点之间的连边表示两个关节之间的关系,连边权重则为上述公式计算得到的E,因此目标在于找到一个连边集合,该连边集合中没有2条边共用一个圆点,且该连边集合中连边权重之和在所有连边集合中最大,所得到的连边集合即为目标姿态集合。该问题可以采用最大匹配求解算法来进行求解,例如可以采用匈牙利算法(The Hungarian algorithm),当然,还可以采用其他可能的最大匹配求解算法来实现,本申请实施例对此不做限制。
在具体实施时,对于J个关节特征图构建的J个关节集合,即……等J个关节集合,还可以分别确定两个相邻关节集合中属于同一机械臂的关节,再进行数据整合,确定属于同一机械臂的所有关节。例如对于图14而言,可以分别找到关节A和关节B中属于同一机械臂的关节,关节B和关节C中属于同一机械臂的关节。
如图16所示,为组合出的机械臂的姿态的示意图。其中,通过各关节和连接臂的组合,则可以获取各机械臂的姿态。
步骤1304:分别根据至少一个机械臂中各机械臂的姿态对各机械臂进行姿态异常检测,得到各机械臂的姿态检测结果。
本申请实施例中,获取各机械臂的姿态之后,则可以根据至少一个机械臂中各机械臂的姿态对各机械臂进行姿态异常检测,得到各机械臂的姿态检测结果。其中,姿态检测结果指示机械臂的姿态是否异常。当姿态检测结果指示姿态异常时,则可以进行告警,以便及时修复异常。
具体的,可以利用已训练的异常检测模型对各机械臂进行姿态异常检测。其中,利用多个姿态训练样本通过机器学习的方法可以学习得到姿态分布函数,每一姿态样本进行了表征姿态正常或者异常的标注,根据构成机械臂的姿态的关节点的坐标,以及上述姿态分布函数,可以确定每一机械臂的姿态为正常姿态的概率值,进而将概率值与预设概率阈值进行比较,来确定机械臂的姿态是否异常,当确定概率值小于预设概率阈值时,则可以确定每一机械臂的姿态异常,否则,当概率值大于或者等于预设概率阈值时,则可以确定每一机械臂的姿态正常。
其中,异常检测模型例如可以为高斯分布异常检测(Guassian distributionanomaly detection)模型,以高斯分布异常检测模型为例,该模型是通过大量姿态训练样本通过机器学习得到的,每一姿态样本可以是姿态为正常的样本,通过模型训练,可以得到正常姿态的高斯分布函数。
其中,正常姿态样本集合表示如下:
P={p1,p2,...pn}
p1=(x11,y11),…(x1j,y1j)
…
pn=(xn1,yn1),…(xnj,ynj)
其中,P为正常姿态样本的集合,p1,p2,...pn表示各个正常姿态样本,其中j是关节的类型数量,(xni,yni)表示第n个姿态样本中的机械臂包括的第i种关节的坐标,i的取值为1~J。
通过上述的姿态样本集合,可以计算出它的高斯分布函数:
μ为高斯分布函数的均值参数,∑为高斯分布函数的方差参数。
在获取高斯分布函数之后,则可以用于预测当前机械臂的姿态是否异常。具体的,可以通过如下公式获取机械臂的各个关节的坐标处于正常姿势的概率:
其中,P(p)表示机械臂的姿态为正常的概率值,进而可以确定概率值是否小于预设概率阈值,例如可以设置为90%或者80%,当计算得到的概率值小于90%或者80%时,则可以确定机械臂的姿态异常。当然,阈值的设置可以根据实际需求进行设置,或者根据经验进行设置。
当然,姿态训练样本还可以加入异常姿态样本进行训练,其中,正常姿态样本和异常姿态样本可以按照预设的比例采集,例如正常姿态样本数量大于106个,异常姿态样本数量大于103个,当然,数量可以根据实际需求进行调整。
具体的,可以根据各机械臂的姿态与预设的姿态数据库中的预设姿态进行匹配,来分别确定各机械臂的姿态是否异常。针对于一个机械臂而言,若该机械臂能匹配到与其字条接近的预设姿态时,则确定该机械臂姿态正常,否则确定该机械臂姿态异常。
综上所述,本申请实施例提供的机械臂姿态检测方法,通过一种自下而上的算法,先提取关节和连接臂,再估计姿势,能够同时对同一采集画面中的多个机械臂进行姿态估计,效率提升巨大,且模型训练时采用大量机械臂图片样本进行训练,模型对于各种机械臂皆可识别,具备较强的通用性。相应的,在配置图像采集设备时,则可以配置数量较少的设备,满足机械臂工作情况监测的同时,更加节省硬件资源,节约成本。
请参见图17,基于同一发明构思,本申请实施例还提供了一种机械臂姿态检测装置170,包括:
图片获取单元1701,用于获取包含至少一个机械臂的待检测图片;
识别单元1702,用于获取待检测图片中至少一个机械臂包括的各关节的关节特征数据和各连接臂的连接臂特征数据;
姿态组合单元1703,用于根据各关节的关节特征数据与各连接臂的连接臂特征数据进行姿态组合,以确定至少一个机械臂的姿态;
姿态异常检测单元1704,用于分别根据至少一个机械臂中各机械臂的姿态对各机械臂进行姿态异常检测,得到各机械臂的姿态检测结果,姿态检测结果指示机械臂的姿态是否异常。
可选的,识别单元1702,具体用于:
对待检测图片进行关节识别,得到关节特征数据;关节特征数据包括对应于J个部位的关节的J个关节特征图,每一关节特征图用于表征待检测图片中各像素点为关节像素点的概率;
对待检测图片进行连接臂识别,得到连接臂特征数据,连接臂特征数据包括对应于C个部位的连接臂的C个连接臂特征图,每一个连接臂特征图由待检测图片中各像素点的向量构成,每一向量场中非零向量表征非零向量对应像素点为连接臂像素点。
可选的,识别单元1702,具体用于:
利用已训练的关节识别模型,对待检测图片进行关节识别,得到关节特征数据;
其中,关节识别模型是利用多个图片训练样本进行训练得到的,每一图片训练样本标注了图片训练样本中各关节所在区域。
可选的,识别单元1702,具体用于:
对待检测图片进行特征提取,得到待检测图片的初始关节特征;
根据初始关节特征,分别确定待检测图片上每一像素点为各部位的关节的关节像素点的概率,以得到关节特征数据。
可选的,识别单元1702,具体用于:
利用已训练的连接臂识别模型,对待检测图片进行连接臂识别,得到连接臂特征数据;
其中,连接臂识别模型是利用多个图片训练样本进行训练得到的,每一图片训练样本标注了图片训练样本中各连接臂的向量。
可选的,识别单元1702,具体用于:
对待检测图片进行特征提取,得到待检测图片的初始连接臂特征;
根据初始连接臂特征,分别确定待检测图片上每一像素点的向量,以得到关节特征数据。
可选的,姿态组合单元1703,具体用于:
根据J个关节特征图和C个连接臂特征图进行姿态组合,以得到至少一个机械臂的姿态。
可选的,姿态组合单元1703,具体用于:
根据J个关节特征图,构建J个关节集合,每一个关节集合由至少一个机械臂的同一部位的关节组成;
基于J个关节集合构建多个姿态集合,每一姿态集合包括由J个关节集合的J个关节构成的多个姿态,J个关节中任意两个关节所属关节集合不同;
从多个姿态集合中确定出为各机械臂的姿态的目标姿态集合。
可选的,姿态组合单元1703,具体用于:
根据C个连接臂特征图,确定构成每一姿态的J个关节中任意两个关节之间的关联度,关联度用于表征两个关节属于同一机械臂的概率;
基于关联度,从多个姿态集合中确定出满足预设条件的目标姿态集合,其中,预设条件为姿态集合中任意两个姿态未包括相同的关节,且姿态集合的关联度之和为多个姿态集合中的最大值。
可选的,姿态组合单元1703,具体用于:
根据位于任意两个关节之间的各像素的向量,以及任意两个关节构成的向量,确定任意两个关节之间的关联度。
可选的,姿态异常检测单元1704,具体用于:
根据构成每一机械臂的姿态的关节点的坐标,以及训练得到的姿态分布函数,确定每一机械臂的姿态为正常姿态的概率值;姿态分布函数是利用多个姿态训练样本通过机器学习得到的,每一姿态样本进行了表征姿态正常或者异常的标注;
在确定概率值小于预设概率阈值时,确定每一机械臂的姿态异常。
该装置可以用于执行图5~图16所示的实施例中所示的方法,因此,对于该装置的各功能模块所能够实现的功能等可参考图5~图16所示的实施例的描述,不多赘述。
请参见图18,基于同一技术构思,本申请实施例还提供了一种计算机设备180,可以包括存储器1801和处理器1802。
所述存储器1801,用于存储处理器1802执行的计算机程序。存储器1801可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据计算机设备的使用所创建的数据等。处理器1802,可以是一个中央处理单元(central processing unit,CPU),或者为数字处理单元等等。本申请实施例中不限定上述存储器1801和处理器1802之间的具体连接介质。本申请实施例在图18中以存储器1801和处理器1802之间通过总线1803连接,总线1803在图18中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线1803可以分为地址总线、数据总线、控制总线等。为便于表示,图18中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1801可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器1801也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器1801是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1801可以是上述存储器的组合。
处理器1802,用于调用所述存储器1801中存储的计算机程序时执行如图5~图16所示的实施例中设备所执行的方法。
在一些可能的实施方式中,本申请提供的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的方法中的步骤,例如,所述计算机设备可以执行如图5~图16所示的实施例中设备所执行的方法。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (15)
1.一种机械臂姿态检测方法,其特征在于,所述方法包括:
获取包含至少一个机械臂的待检测图片;
获取所述待检测图片中所述至少一个机械臂包括的各关节的关节特征数据和各连接臂的连接臂特征数据;
根据各关节的关节特征数据与各连接臂的连接臂特征数据进行姿态组合,以确定所述至少一个机械臂的姿态;
分别根据所述至少一个机械臂中各机械臂的姿态对各机械臂进行姿态异常检测,得到各机械臂的姿态检测结果,所述姿态检测结果指示机械臂的姿态是否异常。
2.如权利要求1所述的方法,其特征在于,获取所述待检测图片中所述至少一个机械臂包括的各关节的关节特征数据和各连接臂的连接臂特征数据,包括:
对所述待检测图片进行关节识别,得到所述关节特征数据;所述关节特征数据包括对应于J个部位的关节的J个关节特征图,每一关节特征图用于表征所述待检测图片中各像素点为关节像素点的概率;
对所述待检测图片进行连接臂识别,得到所述连接臂特征数据,所述连接臂特征数据包括对应于C个部位的连接臂的C个连接臂特征图,每一个连接臂特征图由所述待检测图片中各像素点的向量构成,每一向量场中非零向量表征所述非零向量对应像素点为连接臂像素点。
3.如权利要求2所述的方法,其特征在于,对所述待检测图片进行关节识别,得到所述关节特征数据,包括:
利用已训练的关节识别模型,对所述待检测图片进行关节识别,得到所述关节特征数据;
其中,所述关节识别模型是利用多个图片训练样本进行训练得到的,每一图片训练样本标注了所述图片训练样本中各关节所在区域。
4.如权利要求3所述的方法,其特征在于,所述利用已训练的关节识别模型,对所述待检测图片进行关节识别,得到所述关节特征数据,包括:
对所述待检测图片进行特征提取,得到所述待检测图片的初始关节特征;
根据所述初始关节特征,分别确定所述待检测图片上每一像素点为各部位的关节的关节像素点的概率,以得到所述关节特征数据。
5.如权利要求2所述的方法,其特征在于,对所述待检测图片进行连接臂识别,得到所述连接臂特征数据,包括:
利用已训练的连接臂识别模型,对所述待检测图片进行连接臂识别,得到所述连接臂特征数据;
其中,所述连接臂识别模型是利用多个图片训练样本进行训练得到的,每一图片训练样本标注了所述图片训练样本中各连接臂的向量。
6.如权利要求5所述的方法,其特征在于,所述利用已训练的连接臂识别模型,对所述待检测图片进行连接臂识别,得到所述连接臂特征数据,包括:
对所述待检测图片进行特征提取,得到所述待检测图片的初始连接臂特征;
根据所述初始连接臂特征,分别确定所述待检测图片上每一像素点的向量,以得到所述关节特征数据。
7.如权利要求2~6任一所述的方法,其特征在于,所述根据各关节的关节特征数据与各连接臂的连接臂特征数据进行姿态组合,以确定所述至少一个机械臂的姿态,包括:
根据所述J个关节特征图和所述C个连接臂特征图进行姿态组合,以得到所述至少一个机械臂的姿态。
8.如权利要求7所述的方法,其特征在于,根据所述J个关节特征图和所述C个连接臂特征图进行姿态组合,以得到所述至少一个机械臂的姿态,包括:
根据所述J个关节特征图,构建J个关节集合,每一个关节集合由所述至少一个机械臂的同一部位的关节组成;
基于所述J个关节集合构建多个姿态集合,每一姿态集合包括由所述J个关节集合的J个关节构成的多个姿态,所述J个关节中任意两个关节所属关节集合不同;
从所述多个姿态集合中确定出为各所述机械臂的姿态的目标姿态集合。
9.如权利要求8所述的方法,其特征在于,从所述多个姿态集合中确定出为各所述机械臂的姿态的目标姿态集合,包括:
根据所述C个连接臂特征图,确定构成每一姿态的J个关节中任意两个关节之间的关联度,所述关联度用于表征两个关节属于同一机械臂的概率;
基于所述关联度,从所述多个姿态集合中确定出满足预设条件的所述目标姿态集合,其中,所述预设条件为姿态集合中任意两个姿态未包括相同的关节,且姿态集合的关联度之和为所述多个姿态集合中的最大值。
10.如权利要求9所述的方法,其特征在于,根据所述C个连接臂特征图,确定构成每一姿态的J个关节中任意两个关节之间的关联度,包括:
根据位于所述任意两个关节之间的各像素的向量,以及所述任意两个关节构成的向量,确定所述任意两个关节之间的关联度。
11.如权利要求1所述的方法,其特征在于,针对每一机械臂,根据所述每一机械臂的姿态进行姿态异常检测,得到所述每一机械臂的姿态检测结果,包括:
根据构成所述每一机械臂的姿态的关节点的坐标,以及训练得到的姿态分布函数,确定所述每一机械臂的姿态为正常姿态的概率值;所述姿态分布函数是利用多个姿态训练样本通过机器学习得到的,每一姿态样本进行了表征姿态正常或者异常的标注;
在确定所述概率值小于预设概率阈值时,确定所述每一机械臂的姿态异常。
12.一种机械臂姿态检测装置,其特征在于,包括:
图片获取单元,用于获取包含至少一个机械臂的待检测图片;
识别单元,用于获取所述待检测图片中所述至少一个机械臂包括的各关节的关节特征数据和各连接臂的连接臂特征数据;
姿态组合单元,用于根据各关节的关节特征数据与各连接臂的连接臂特征数据进行姿态组合,以确定所述至少一个机械臂的姿态;
姿态异常检测单元,用于分别根据所述至少一个机械臂中各机械臂的姿态对各机械臂进行姿态异常检测,得到各机械臂的姿态检测结果,所述姿态检测结果指示机械臂的姿态是否异常。
13.一种机械臂姿态监测系统,其特征在于,包括:
至少一个图像采集装置,每一图像采集装置用于采集包含至少一个机械臂的图像或者视频流;
机械臂姿态检测装置,用于采用如权利要求1~11任一项所述的方法,获取所述图像或者所述视频流的视频帧中各机械臂的姿态检测结果,且当存在姿态检测结果指示机械臂姿态异常时,触发告警。
14.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,
所述处理器执行所述计算机程序时实现权利要求1至11任一项所述方法的步骤。
15.一种计算机存储介质,其上存储有计算机程序指令,其特征在于,
该计算机程序指令被处理器执行时实现权利要求1至11任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010691783.8A CN111798518A (zh) | 2020-07-17 | 2020-07-17 | 机械臂姿态检测方法、装置和设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010691783.8A CN111798518A (zh) | 2020-07-17 | 2020-07-17 | 机械臂姿态检测方法、装置和设备及计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111798518A true CN111798518A (zh) | 2020-10-20 |
Family
ID=72807627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010691783.8A Pending CN111798518A (zh) | 2020-07-17 | 2020-07-17 | 机械臂姿态检测方法、装置和设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111798518A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113988202A (zh) * | 2021-11-04 | 2022-01-28 | 季华实验室 | 一种基于深度学习的机械臂异常振动检测方法 |
LU102784B1 (en) * | 2021-04-14 | 2022-10-14 | Dillygence Sas | Monitoring process of a manufacturing system |
-
2020
- 2020-07-17 CN CN202010691783.8A patent/CN111798518A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
LU102784B1 (en) * | 2021-04-14 | 2022-10-14 | Dillygence Sas | Monitoring process of a manufacturing system |
EP4075330A1 (en) | 2021-04-14 | 2022-10-19 | Dillygence SAS | Monitoring process of a manufacturing system |
CN113988202A (zh) * | 2021-11-04 | 2022-01-28 | 季华实验室 | 一种基于深度学习的机械臂异常振动检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108022235B (zh) | 高压输电铁塔关键部件缺陷识别方法 | |
US10726335B2 (en) | Generating compressed representation neural networks having high degree of accuracy | |
US11468680B2 (en) | Shuffle, attend, and adapt: video domain adaptation by clip order prediction and clip attention alignment | |
JP6598746B2 (ja) | 他の物体の画像領域も考慮して物体を追跡する装置、プログラム及び方法 | |
CN110874550A (zh) | 数据处理方法、装置、设备和系统 | |
KR20180004898A (ko) | 딥러닝 기반의 이미지 처리 기술 및 그 방법 | |
CN110852222A (zh) | 一种基于目标检测的校园走廊场景智能监控方法 | |
WO2022160591A1 (zh) | 人群行为检测方法及装置、电子设备、存储介质及计算机程序产品 | |
CN113869449A (zh) | 一种模型训练、图像处理方法、装置、设备及存储介质 | |
KR20180123810A (ko) | X-Ray 의료 영상 판독을 위한 데이터 심화학습 처리 기술 및 그 방법 | |
CN112070071B (zh) | 视频中的对象标注方法、装置、计算机设备及存储介质 | |
CN113807399A (zh) | 一种神经网络训练方法、检测方法以及装置 | |
US20220327676A1 (en) | Method and system for detecting change to structure by using drone | |
CN111798518A (zh) | 机械臂姿态检测方法、装置和设备及计算机存储介质 | |
CN111738074B (zh) | 基于弱监督学习的行人属性识别方法、系统及装置 | |
CN114140831B (zh) | 人体姿态估计方法、装置、电子设备及存储介质 | |
Hanni et al. | Deep learning framework for scene based indoor location recognition | |
CN112580616A (zh) | 人群数量确定方法、装置、设备及存储介质 | |
JPWO2011162309A1 (ja) | 物体領域抽出装置、方法、及び、プログラム | |
CN114372999A (zh) | 一种对象检测方法、装置、电子设备和存储介质 | |
CN114972871A (zh) | 基于图像配准的少样本图像异常检测方法及系统 | |
WO2022220692A1 (en) | Bird detection and species determination | |
CN109670470B (zh) | 行人关系识别方法、装置、系统及电子设备 | |
KR20220170122A (ko) | 구조물 건전성 모니터링 시스템 및 이를 이용한 모니터링 방법 | |
CN116630367B (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 |