发明内容
本发明的目的在于克服现有技术中的缺点,提供一种基于视觉的多工业机器人故障检测方法及系统,具有采用非接触式的方式发现工业机器人本体突发故障,避免在人机协作时发生机器人伤人的安全事故、检测过程简单准确的优点。
本发明的目的是通过以下技术方案来实现的:一种基于视觉的多工业机器人故障检测方法,包括以下步骤,
S1:采集多工业机器人标准作业视频,建立多个单工业机器人标准作业模式视频帧序列A13,<I11,I12,…I1m>,执行S2;
S2:实时采集多工业机器人作业视频,建立多个单工业机器人实时作业视频帧序列A22,<I21,I22,…I2n>,所述单工业机器人实时作业视频帧序列A22包含多帧单工业机器人实时动作图像,执行S3;
S3:将单工业机器人实时动作图像与对应的单工业机器人标准作业模式视频帧序列A13中的图像进行匹配,采用两阶段法检测单工业机器人是否动作异常,若是,执行S4,若否,执行S2;
S4:控制该工业机器人急停。
本发明的有益效果是,本方法具有采用非接触式的方式实时采集工业机器人作业图像,将单工业机器人实时动作图像和与其对应的单工业机器人标准作业模式视频帧序列A13,<I11,I12,…I1m>进行匹配,采用两阶段法检测单工业机器人是否动作异常,若判断机器人动作异常则控制工业机器人急停,本方法无需数据采集装置采集工业机器人各轴及末端的实时状态信息或工业机器人的运行状态数据,检测过程简单准确且成本较低,而且可以同时检测多个工业机器人的工作状态。
进一步,所述S1具体包括以下步骤,
S11:采集多工业机器人标准作业视频,执行S12;
S12:对多工业机器人标准作业视频进行T视频帧提取,形成视频帧序列A11,执行S13;
S13:对视频帧序列A11中的图像进行图像分割,分离单工业机器人图像,获取多个单工业机器人作业视频帧序列A12;
S14:对所述单工业机器人作业视频帧序列A12进行提取,获得一个工作周期的单工业机器人标准作业模式视频帧序列A13,<I11,I12,…I1m>。
采用上述进一步方案的有益效果是,采集多工业机器人标准作业视频,对多工业机器人标准作业视频进行T视频帧提取,形成视频帧序列A11。多工业机器人标准作业视频中的图像包含了多个单工业机器人的动作图像,因此需要对多工业机器人标准作业视频中的图像进行分割,分离单工业机器人图像,获取多个单工业机器人作业视频帧序列A12。在实际生产中,多个单工业机器人并不完全同步工作,为了减少拍摄次数,方便同时建立多个单工业机器人实时作业视频帧序列A22,<I21,I22,…I2n>,该多工业机器人标准作业视频包括多个单工业机器人至少一个工作周期的图像,因此需要对视频帧序列进行提取,对多个单工业机器人作业视频帧序列A12分别进行提取,获得多个单工业机器人标准作业模式视频帧序列A13,<I11,I12,…I1m>,单工业机器人标准作业模式视频帧序列A13包含单工业机器人一个周期的动作图像的帧,单工业机器人标准作业模式视频帧序列A13中每一帧包含工业机器人的一个作业动作。
进一步,所述S13具体包括以下步骤,
S131:建立并训练Mask R-CNN深度神经网络,执行S132;
S132:使用Mask R-CNN深度神经网络对视频帧序列A11中的图像进行图像分割,分离单工业机器人图像,获取多个单工业机器人作业视频帧序列A12。
进一步,所述S132中单工业机器人图像为二值化图像,所述单工业机器人图像包含一个工业机器人的工作图像,且该工业机器人在单工业机器人图像中的位置与该工业机器人在视频帧序列A11的图像中的位置一致。
进一步,所述S2具体包括以下步骤,
S21:实时采集多工业机器人作业视频,执行S22;
S22:对多工业机器人作业视频进行T视频帧提取,形成实时作业视频帧序列A21,执行S23;
S23:对实时作业视频帧序列A21中的图像进行图像分割,分离单工业机器人图像,获取多个单工业机器人实时作业视频帧序列A22,<I21,I22,…I2n>,执行S3。
进一步,所述S23中使用Mask R-CNN深度神经网络对实时作业视频帧序列A21中的图像进行图像分割。
采用上述进一步方案的有益效果是,多工业机器人作业视频包含了多个单工业机器人的动作图像,因此需要使用训练好的Mask R-CNN深度神经网络对多工业机器人作业视频中的图像进行分割。
进一步,所述S3具体包括以下步骤,
S31:初始化待匹配单工业机器人图像的序号I2b,b∈(1,2,……,n),令b=1,执行S32;
S32:判断单工业机器人标准作业模式视频帧序列A13,<I11,I12,…I1m>中是否存在与该待匹配单工业机器人图像近似匹配的图像,若是,执行S33,若否,执行S4;
S33:记录单工业机器人标准作业模式视频帧序列A13,<I11,I12,…I1m>中与该待匹配单工业机器人图像近似匹配的图像的序列号I1a,更新该待匹配单工业机器人图像的序号,令I2b=I1a,执行S34;
S34:判断b是否大于2,若是,执行S35,若否,执行S36;
S35:判断单工业机器人实时作业视频帧序列A22中的单工业机器人图像I2b对应单工业机器人标准作业模式视频帧序列A13中的序列号是否与单工业机器人实时作业视频帧序列A22中的单工业机器人图像I2(b-1)的对应单工业机器人标准作业模式视频帧序列A13中的序列号连续,若是,执行S36,若否,执行S4;
S36:令b=b+1,对单工业机器人实时作业视频帧序列A22的下一帧单工业机器人图像进行匹配,执行S32。
采用上述进一步方案的有益效果是,本方法中,第一阶段对实时作业视频帧序列A21中的图像按照序列号依次进行单次匹配,判断单工业机器人标准作业模式视频帧序列A13,<I11,I12,…I1m>中是否存在与单张的实时作业视频帧序列A21中的图像匹配的图像,若是,进行第二阶段检测,若否,判断单工业机器人动作异常。第二阶段检测中,判断相邻两帧实时作业视频帧序列A21中的图像对应单工业机器人标准作业模式视频帧序列A13中的序列号是否连续,若是,判断单工业机器人工作正常,进行下一帧的图像匹配。若否,判断单工业机器人动作异常。
一种基于视觉的多工业机器人故障检测系统,包括,
图像采集装置,用于采集多工业机器人标准作业视频,还用于实时采集多工业机器人实时动作视频;
故障检测装置,用于接收图像采集装置采集的多工业机器人标准作业视频建立多个单工业机器人标准作业模式视频帧序列A13,<I11,I12,…I1m>,还用于接收图像采集装置实时采集的多工业机器人实时动作视频,建立多个单工业机器人实时作业视频帧序列A22,<I21,I22,…I2n>,所述故障检测装置还用于将多个单工业机器人实时动作图像分别与对应的单工业机器人标准作业模式视频帧序列中的图像进行匹配,采用两阶段法检测单工业机器人是否动作异常,并在检测单工业机器人动作异常时发送急停控制信号;
控制器,用于接收故障检测装置发送的急停控制信号并控制工业机器人停止工作。
本发明的有益效果是,本系统具有采用非接触式的方式实时采集工业机器人作业图像,将单工业机器人实时动作图像和与其对应的单工业机器人标准作业模式视频帧序列A13,<I11,I12,…I1m>进行匹配,采用两阶段法检测单工业机器人是否动作异常,若判断机器人动作异常则控制工业机器人急停,本方法无需数据采集装置采集工业机器人各轴及末端的实时状态信息或工业机器人的运行状态数据,检测过程简单准确且成本较低,而且可以同时检测多个工业机器人的工作状态。
进一步,所述故障检测装置包括标准作业建立单元、图像分割单元、实时动作图像建立单元及异常动作检测单元,
所述标准作业建立单元用于对多工业机器人标准作业视频进行T视频帧提取,形成视频帧序列A11;
所述图像分割单元包括Mask R-CNN深度神经网络,Mask R-CNN深度神经网络用于对视频帧序列A11的图像进行图像分割,分离单工业机器人图像,建立多个单工业机器人作业视频帧序列A12,并将多个单工业机器人作业视频帧序列A12发送至所述标准作业建立单元;
所述标准作业建立单元用于接收多个单工业机器人作业视频帧序列A12并分别提取多个单工业机器人作业视频帧序列A12中包含单工业机器人一个周期的动作图像的帧,分别建立多个单工业机器人标准作业模式视频帧序列A13,<I11,I12,…I1m>,所述单工业机器人标准作业模式视频帧序列A13中每一帧包含工业机器人的一个作业动作;
所述实时动作图像建立单元用于对实时采集多工业机器人实时动作视频进行T视频帧提取,形成实时作业视频帧序列A21;
所述图像分割单元中的Mask R-CNN深度神经网络还用于对实时作业视频帧序列A21中的图像进行分割并将分割后的图像发送至实时动作图像建立单元;
所述实时动作图像建立单元还用于接收图像分割单元分割后的图像建立多个单工业机器人实时作业视频帧序列A22,<I21,I22,…I2n>;
所述异常动作检测单元用于将多个单工业机器人实时动作图像分别与对应的单工业机器人标准作业模式视频帧序列中的图像进行匹配,采用两阶段法检测单工业机器人是否动作异常,并在检测单工业机器人动作异常时发送急停控制信号。
采用上述进一步方案的有益效果是,标准作业建立单元对多工业机器人标准作业视频进行T视频帧提取,形成视频帧序列A11。多工业机器人标准作业视频中的图像包含了多个单工业机器人的动作图像,因此需要使用图像分割单元中的Mask R-CNN深度神经网络对多工业机器人标准作业视频中的图像进行分割,分离单工业机器人图像,获取多个单工业机器人作业视频帧序列A12。在实际生产中,多个单工业机器人并不完全同步工作,为了减少拍摄次数,方便同时建立多个单工业机器人实时作业视频帧序列A22,<I21,I22,…I2n>,该多工业机器人标准作业视频包括多个单工业机器人至少一个工作周期的图像,因此实时动作图像建立单元需要对视频帧序列进行提取,对多个单工业机器人作业视频帧序列A12分别进行提取,获得多个单工业机器人标准作业模式视频帧序列A13,<I11,I12,…I1m>,单工业机器人标准作业模式视频帧序列A13包含单工业机器人一个周期的动作图像的帧,单工业机器人标准作业模式视频帧序列A13中每一帧包含工业机器人的一个作业动作。多工业机器人作业视频包含了多个单工业机器人的动作图像,因此需要使用训练好的Mask R-CNN深度神经网络对多工业机器人作业视频中的图像进行分割。实时动作图像建立单元接收图像分割单元分割后的图像建立多个单工业机器人实时作业视频帧序列A22,<I21,I22,…I2n>。异常动作检测单元用于将多个单工业机器人实时动作图像分别与对应的单工业机器人标准作业模式视频帧序列中的图像进行匹配,采用两阶段法检测单工业机器人是否动作异常,并在检测单工业机器人动作异常时发送急停控制信号。
进一步,所述异故障检测装置检测单工业机器人是否动作异常包括以下步骤,
S31:初始化待匹配单工业机器人图像的序号I2b,b∈(1,2,……,n),令b=1,执行S32;
S32:判断单工业机器人标准作业模式视频帧序列A13,<I11,I12,…I1m>中是否存在与该待匹配单工业机器人图像近似匹配的图像,若是,执行S33,若否,执行S37;
S33:记录单工业机器人标准作业模式视频帧序列A13,<I11,I12,…I1m>中与该待匹配单工业机器人图像近似匹配的图像的序列号I1a,更新该待匹配单工业机器人图像的序号,令I2b=I1a,执行S34;
S34:判断b是否大于2,若是,执行S35,若否,执行S36;
S35:判断单工业机器人实时作业视频帧序列A22中的单工业机器人图像I2b对应单工业机器人标准作业模式视频帧序列A13中的序列号是否与单工业机器人实时作业视频帧序列A22中的单工业机器人图像I2(b-1)的对应单工业机器人标准作业模式视频帧序列A13中的序列号连续,若是,执行S36,若否,执行S37;
S36:令b=b+1,对单工业机器人实时作业视频帧序列A22的下一帧单工业机器人图像进行匹配,执行S32;
S37:发送急停控制信号。
采用上述进一步方案的有益效果是,异故障检测装置检测单工业机器人是否动作异常分为两个阶段,第一阶段对实时作业视频帧序列A21中的图像按照序列号依次进行单次匹配,判断单工业机器人标准作业模式视频帧序列A13,<I11,I12,…I1m>中是否存在与单张的实时作业视频帧序列A21中的图像匹配的图像,若是,进行第二阶段检测,若否,判断单工业机器人动作异常。第二阶段检测中,判断相邻两帧实时作业视频帧序列A21中的图像对应单工业机器人标准作业模式视频帧序列A13中的序列号是否连续,若是,判断单工业机器人工作正常,进行下一帧的图像匹配。若否,判断单工业机器人动作异常。
具体实施方式
下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下。
实施例1
参照图1,一种基于视觉的多工业机器人故障检测系统,包括图像采集装置、故障检测装置及控制器。
下面依次对各个部分进行详细说明。
图像采集装置,用于采集多工业机器人标准作业视频,还用于实时采集多工业机器人实时动作视频。值得说明的是,本实施例中,图像采集装置为高清摄像机。
故障检测装置,用于接收图像采集装置采集的多工业机器人标准作业视频建立多个单工业机器人标准作业模式视频帧序列A13,<I11,I12,…I1m>,还用于接收图像采集装置实时采集的多工业机器人实时动作视频,建立多个单工业机器人实时作业视频帧序列A22,<I21,I22,…I2n>,故障检测装置还用于将多个单工业机器人实时动作图像分别与对应的单工业机器人标准作业模式视频帧序列中的图像进行匹配,采用两阶段法检测单工业机器人是否动作异常,并在检测单工业机器人动作异常时发送急停控制信号。
值得说明的是,本实施例中,故障检测装置的硬件装置可包括中央处理单元(Central Processing Unit,CPU),还可包括其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
故障检测装置的硬件装置还包括存储器。存储器可以是处理器的内部存储单元,例如处理器的硬盘或内存。存储器也可以是处理器的外部存储设备,例如处理器上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。存储器还可以既包括处理器的内部存储单元也包括外部存储设备。存储器用于存储计算机程序以及处理器所需的其他程序和数据。存储器还可以用于暂时地存储已经输出或者将要输出的数据。
控制器,用于接收故障检测装置发送的急停控制信号并控制工业机器人停止工作。
值得说明的是,本实施例中,控制器通过与工业机器人控制柜通信,控制器工业机器人急停;在另一个实施例中,控制器可直接与工业机器人的通电线路中的电控开关连接,通过控制电控开关的开关状态,控制工业机器人急停。
还值得说明的是,本实施例中,控制器的硬件装置可包括中央处理单元(CentralProcessing Unit,CPU),还可包括其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
控制器的硬件装置还包括存储器。存储器可以是处理器的内部存储单元,例如处理器的硬盘或内存。存储器也可以是处理器的外部存储设备,例如处理器上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。存储器还可以既包括处理器的内部存储单元也包括外部存储设备。存储器用于存储计算机程序以及处理器所需的其他程序和数据。存储器还可以用于暂时地存储已经输出或者将要输出的数据。
参照图1,故障检测装置包括标准作业建立单元、图像分割单元、实时动作图像建立单元及异常动作检测单元。
标准作业建立单元用于对多工业机器人标准作业视频进行T视频帧提取,形成视频帧序列A11,值得说明的是,T视频帧提取是指,视频帧序列中相邻两个帧之间的相隔时间为T。
参照图3,图像分割单元包括Mask R-CNN深度神经网络,Mask R-CNN深度神经网络用于对视频帧序列A11的图像进行图像分割,分离单工业机器人图像,建立多个单工业机器人作业视频帧序列A12,并将多个单工业机器人作业视频帧序列A12发送至标准作业建立单元。
参照图5,标准作业建立单元用于接收多个单工业机器人作业视频帧序列A12并分别提取多个单工业机器人作业视频帧序列A12中包含单工业机器人一个周期的动作图像的帧,分别建立多个单工业机器人标准作业模式视频帧序列A13,<I11,I12,…I1m>,单工业机器人标准作业模式视频帧序列A13中每一帧包含工业机器人的一个作业动作。
值得说明的是,本实施例中,采用人工标注的方式,确定工作机器人一个工作周期的起始帧I11和结束帧I1m。在另一个实施中,可以采取另外的方式确定工作机器人一个工作周期的起始帧I11和结束帧I1m,例如,先确定工作机器人一个工作周期的起始图像为起始帧I11,确定与该起始帧I11相隔一个周期N时间的图像为结束帧I1m。在另一个实施例中,还可以采取另外的方式确定工作机器人一个工作周期的起始帧I11和结束帧I1m,例如,先确定工作机器人一个工作周期的起始图像为起始帧I11,寻找与该起始帧I11相隔时间大于时间阈值且与该起始帧I11的图像相似度大于相似阈值的图像为结束帧I1m。
实时动作图像建立单元用于对实时采集多工业机器人实时动作视频进行T视频帧提取,形成实时作业视频帧序列A21,值得说明的是,T视频帧提取是指,视频帧序列中相邻两个帧之间的相隔时间为T。
图像分割单元中的Mask R-CNN深度神经网络还用于对实时作业视频帧序列A21中的图像进行分割并将分割后的图像发送至实时动作图像建立单元。
值得说明的是,图像分割单元对图像进行分割具体包括以下步骤,
S131:建立并训练Mask R-CNN深度神经网络,执行S132;
S132:使用Mask R-CNN深度神经网络对图像进行图像分割,分离单工业机器人图像,获取多个单工业机器人作业图像,执行S1331;
参照图4,S1331:获取Mask R-CNN深度神经网络输出的目标实例包围框和目标实例掩码矩阵,其中,目标实例包围框包含机器人实例的包围矩形框坐标点集合,目标实例掩码矩阵为一个0-1矩阵,目标实例掩码矩阵的维数与目标实例包围框中包含的坐标点(像素)数相同,执行S1332;
S1332:创建背景图像1,背景图像1的颜色为全白色,背景图像1的大小与目标实例分割前的图像相同,执行S1333;
S1333:判断Mask R-CNN输出的目标实例包围框是否已经全部处理,若是,执行S1339,若否,执行S1334;
S1334:顺序获取一个未处理的实例包围框1,执行S1335;
S1335:判断实例包围框1中的坐标点是否已全部处理完,若是,执行S1332,若否,执行S1336;
S1336:从Mask R-CNN输出的掩码矩阵中找到与包围框1对应的掩码矩阵1。从掩码矩阵1中获取坐标点1处的掩码1,执行S1337;
S1337:判断坐标点1处的掩码1的值是否等于1,若是,执行S1338,若否,执行S1335;
S1338:将上述背景图像1中坐标点1处的颜色设置为黑色,执行S1335;
S1339:结束处理。
实时动作图像建立单元还用于接收图像分割单元分割后的图像,提取包含单工业机器人一个周期的动作图像的帧,建立多个单工业机器人实时作业视频帧序列A22,<I21,I22,…,I2n>。
值得说明的是,本实施例中,采用人工标注的方式,确定工作机器人一个工作周期的起始帧I21和结束帧I2n。在另一个实施中,可以采取另外的方式确定工作机器人一个工作周期的起始帧I21和结束帧I2n,例如,先确定工作机器人一个工作周期的起始图像为起始帧I21,确定与该起始帧I211相隔一个周期N时间的图像为结束帧I2n。在另一个实施例中,还可以采取另外的方式确定工作机器人一个工作周期的起始帧I21和结束帧I2n,例如,先确定工作机器人一个工作周期的起始图像为起始帧I21,寻找与该起始帧I21相隔时间大于时间阈值且与该起始帧I21的图像相似度大于相似阈值的图像为结束帧I2n。
具体的,通过上述处理,使得图像分割单元输出的单工业机器人图像为二值化图像,单工业机器人图像包含一个工业机器人的工作图像,且该工业机器人在单工业机器人图像中的位置与该工业机器人在视频帧序列A11的图像中的位置一致,用于提高匹配的准确性。
异常动作检测单元用于将多个单工业机器人实时动作图像分别与对应的单工业机器人标准作业模式视频帧序列中的图像进行匹配,采用两阶段法检测单工业机器人是否动作异常,并在检测单工业机器人动作异常时发送急停控制信号。
值得说明的是,异常动作检测单元检测单工业机器人是否动作异常包括以下步骤,
S31:初始化待匹配单工业机器人图像的序号I2b,b∈(1,2,......,n),令b=1,执行S32;
S32:判断单工业机器人标准作业模式视频帧序列A13,<I11,I12,…I1m>中是否存在与该待匹配单工业机器人图像近似匹配的图像,若是,执行S33,若否,执行S37;
S33:记录单工业机器人标准作业模式视频帧序列A13,<I11,I12,…I1m>中与该待匹配单工业机器人图像近似匹配的图像的序列号I1a,更新该待匹配单工业机器人图像的序号,令I2b=I1a,执行S34;
S34:判断b是否大于2,若是,执行S35,若否,执行S36;
S35:判断单工业机器人实时作业视频帧序列A22中的单工业机器人图像I2b对应单工业机器人标准作业模式视频帧序列A13中的序列号是否与单工业机器人实时作业视频帧序列A22中的单工业机器人图像I2(b-1)的对应单工业机器人标准作业模式视频帧序列A13中的序列号连续,若是,执行S36,若否,执行S37;
S36:令b=b+1,对单工业机器人实时作业视频帧序列A22的下一帧单工业机器人图像进行匹配,执行S32;
S37:发送急停控制信号。
实施例2
参照图2、6,一种基于视觉的多工业机器人故障检测方法,包括以下步骤,
S1:采集多工业机器人标准作业视频,建立多个单工业机器人标准作业模式视频帧序列A13,<I11,I12,…I1m>,执行S2;
S2:实时采集多工业机器人作业视频,建立多个单工业机器人实时作业视频帧序列A22,<I21,I22,…I2n>,所述单工业机器人实时作业视频帧序列A22包含多帧单工业机器人实时动作图像,执行S3;
S3:将单工业机器人实时动作图像与对应的单工业机器人标准作业模式视频帧序列A13中的图像进行匹配,采用两阶段法检测单工业机器人是否动作异常,若是,执行S4,若否,执行S2;
S4:控制该工业机器人急停。
下面依次对各个步骤进行详细说明。
S1具体包括以下步骤,
S11:采集多工业机器人标准作业视频,执行S12;
S12:对多工业机器人标准作业视频进行T视频帧提取,形成视频帧序列A11,执行S13;
S13:对视频帧序列A11中的图像进行图像分割,分离单工业机器人图像,获取多个单工业机器人作业视频帧序列A12;
参照图5,S14:对所述单工业机器人作业视频帧序列A12进行提取,获得一个工作周期的单工业机器人标准作业模式视频帧序列A13,<I11,I12,…I1m>。
值得说明的是,对于S14中获取一个周期的单工业机器人标准作业模式视频帧序列A13,本实施例中,采用人工标注的方式,确定工作机器人一个工作周期的起始帧I11和结束帧I1m。在另一个实施中,可以采取另外的方式确定工作机器人一个工作周期的起始帧I11和结束帧I1m,例如,先确定工作机器人一个工作周期的起始图像为起始帧I11,确定与该起始帧I11相隔一个周期N时间的图像为结束帧I1m。在另一个实施例中,还可以采取另外的方式确定工作机器人一个工作周期的起始帧I11和结束帧I1m,例如,先确定工作机器人一个工作周期的起始图像为起始帧I11,寻找与该起始帧I11相隔时间大于时间阈值且与该起始帧I11的图像相似度大于相似阈值的图像为结束帧I1m。
具体的,采集多工业机器人标准作业视频,对多工业机器人标准作业视频进行T视频帧提取,形成视频帧序列A11。多工业机器人标准作业视频中的图像包含了多个单工业机器人的动作图像,因此需要对多工业机器人标准作业视频中的图像进行分割,分离单工业机器人图像,获取多个单工业机器人作业视频帧序列A12。在实际生产中,多个单工业机器人并不完全同步工作,为了减少拍摄次数,方便同时建立多个单工业机器人实时作业视频帧序列A22,<I21,I22,…I2n>,该多工业机器人标准作业视频包括多个单工业机器人至少一个工作周期的图像,因此需要对视频帧序列进行提取,对多个单工业机器人作业视频帧序列A12分别进行提取,获得多个单工业机器人标准作业模式视频帧序列A13,<I11,I12,…I1m>,单工业机器人标准作业模式视频帧序列A13包含单工业机器人一个周期的动作图像的帧,单工业机器人标准作业模式视频帧序列A13中每一帧包含工业机器人的一个作业动作。
参照图3,S13具体包括以下步骤,
S131:建立并训练Mask R-CNN深度神经网络,执行S132;
S132:使用Mask R-CNN深度神经网络对视频帧序列A11中的图像进行图像分割,分离单工业机器人图像,获取多个单工业机器人作业视频帧序列A12,执行S1331;
参照图4,S1331:获取Mask R-CNN深度神经网络输出的目标实例包围框和目标实例掩码矩阵,其中,目标实例包围框包含机器人实例的包围矩形框坐标点集合,目标实例掩码矩阵为一个0-1矩阵,目标实例掩码矩阵的维数与目标实例包围框中包含的坐标点(像素)数相同,执行S1332;
S1332:创建背景图像1,背景图像1的颜色为全白色,背景图像1的大小与目标实例分割前的图像相同,执行S1333;
S1333:判断Mask R-CNN输出的目标实例包围框是否已经全部处理,若是,执行S1339,若否,执行S1334;
S1334:顺序获取一个未处理的实例包围框1,执行S1335;
S1335:判断实例包围框1中的坐标点是否已全部处理完,若是,执行S1332,若否,执行S1336;
S1336:从Mask R-CNN输出的掩码矩阵中找到与包围框1对应的掩码矩阵1。从掩码矩阵1中获取坐标点1处的掩码1,执行S1337;
S1337:判断坐标点1处的掩码1的值是否等于1,若是,执行S1338,若否,执行S1335;
S1338:将上述背景图像1中坐标点1处的颜色设置为黑色,执行S1335;
S1339:结束处理。
经过上述处理,使得单工业机器人图像为二值化图像,单工业机器人图像包含一个工业机器人的工作图像,且该工业机器人在单工业机器人图像中的位置与该工业机器人在视频帧序列A11的图像中的位置一致。
S2具体包括以下步骤,
S21:实时采集多工业机器人作业视频,执行S22;
S22:对多工业机器人作业视频进行T视频帧提取,形成实时作业视频帧序列A21,执行S23;
参照图5,S23:对实时作业视频帧序列A21中的图像进行图像分割,分离单工业机器人图像,获得多个一个工作周期的单工业机器人实时作业视频帧序列A22,<I21,I22,…I2n>,执行S3。
值得说明的是,本实施例中,采用人工标注的方式,确定工作机器人一个工作周期的起始帧I21和结束帧I2n。在另一个实施中,可以采取另外的方式确定工作机器人一个工作周期的起始帧I21和结束帧I2n,例如,先确定工作机器人一个工作周期的起始图像为起始帧I21,确定与该起始帧I211相隔一个周期N时间的图像为结束帧I2n。在另一个实施例中,还可以采取另外的方式确定工作机器人一个工作周期的起始帧I21和结束帧I2n,例如,先确定工作机器人一个工作周期的起始图像为起始帧I21,寻找与该起始帧I21相隔时间大于时间阈值且与该起始帧I21的图像相似度大于相似阈值的图像为结束帧I2n。
还值得说明的是,S23中使用Mask R-CNN深度神经网络对实时作业视频帧序列A21中的图像进行图像分割,对实时作业视频帧序列A21中的图像进行图像分割的流程与对对视频帧序列A11中的图像进行图像分割的流程一致。
S3具体包括以下步骤,
S31:初始化待匹配单工业机器人图像的序号I2b,b∈(1,2,……,n),令b=1,执行S32;
S32:判断单工业机器人标准作业模式视频帧序列A13,<I11,I12,…I1m>中是否存在与该待匹配单工业机器人图像近似匹配的图像,若是,执行S33,若否,执行S4;
S33:记录单工业机器人标准作业模式视频帧序列A13,<I11,I12,…I1m>中与该待匹配单工业机器人图像近似匹配的图像的序列号I1a,更新该待匹配单工业机器人图像的序号,令I2b=I1a,执行S34;
S34:判断b是否大于2,若是,执行S35,若否,执行S36;
S35:判断单工业机器人实时作业视频帧序列A22中的单工业机器人图像I2b对应单工业机器人标准作业模式视频帧序列A13中的序列号是否与单工业机器人实时作业视频帧序列A22中的单工业机器人图像I2(b-1)的对应单工业机器人标准作业模式视频帧序列A13中的序列号连续,若是,执行S36,若否,执行S4;
S36:令b=b+1,对单工业机器人实时作业视频帧序列A22的下一帧单工业机器人图像进行匹配,执行S32。
具体的,本方法中,第一阶段对实时作业视频帧序列A21中的图像按照序列号依次进行单次匹配,判断单工业机器人标准作业模式视频帧序列A13,<I11,I12,…I1m>中是否存在与单张的实时作业视频帧序列A21中的图像匹配的图像,若是,进行第二阶段检测,若否,判断单工业机器人动作异常。第二阶段检测中,判断相邻两帧实时作业视频帧序列A21中的图像对应单工业机器人标准作业模式视频帧序列A13中的序列号是否连续,若是,判断单工业机器人工作正常,进行下一帧的图像匹配。若否,判断单工业机器人动作异常。
以上仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护。