专利名称:基于图形处理器的多工位机器视觉成像检测方法及系统的制作方法
技术领域:
本发明主要涉及到自动化生产线上产品机器视觉质量检测控制技术领域,特指一种应用于高速自动化生产线上多工位机器视觉质量检测的高速实时图像处理方法及检测系统。
背景技术:
目前,在高速自动化生产线上,通常要对某一种产品进行多工位质量检测。多个工位质量检测可以对更多的参数进行检测,如液体产品质量检测中在不同工位对不同类型异物进行检测、液体液位检测、外观质量检测等;同时,多工位检测可以提高质量检测的准确率,如在多个工位对检测对象多次检测可提高不合格产品检测的准确率。在高速自动化生产线机器视觉质量检测设备中,经常采用的体系结构是由一台工业计算机对一个工位的图像输入信号进行处理,工业计算机根据处理结果控制剔出机构对合格产品和不合格产品进行分离。采用这种体系结构是由于在高速自动化生产线产品质量检测过程中,成像设备产生大量图像信息,单台工业计算机无法满足多工位图像输入I/O带宽、实时图像计算的需求。在多工位机器视觉检测设备中,通常在每一工位放置一台工业计算机对该工位输入的图像进行采集和处理。当前所采用的体系结构造成了多工位质量检测系统的几个难题1、造成了机器视觉设备复杂化、大型化。多个工位需要多台计算机,增加了机器视觉检测设备体积以及成本;2、造成了多个工位检测难以同步。由于各个计算机独立工作,检测系统需要对多个检测过程同步,由于单台计算机检测时间难以控制,当前体系结构增加了各工位实时同步的难度,难以实现对同一产品多个工位的稳定、可靠检测;3、难以实现整机协调控制。检测结果是对各个工位检测结果的综合,当前采用的系统结构增加了各个工位检测计算机的通信成本,增加了整机的协调控制的难度。由于上述问题,当前高速自动化生产线机器视觉检测设备大多局限于单个工位的检测;多工位检测系统及其复杂,并且稳定性差;多工位机器视觉质量检测系统依旧是当前机器视觉检测设备一个悬而未决的技术难题。
发明内容
本发明要解决的技术问题就在于针对现有技术存在的技术问题,本发明提供一种结构简单紧凑、成本低廉、集成度高、稳定性和可靠性好、通用性好的基于图形处理器的多工位机器视觉成像检测方法及系统。为解决上述技术问题,本发明采用以下技术方案一种基于图形处理器的多工位机器视觉成像检测方法,其特征在于在每一个检测工位设置一个成像设备,通过工业计算机控制一个以上的图像I/O接口将每个图像I/O 接口所连接的成像设备所获取的图像传输到工业计算机内存中;所述工业计算机将上述图像传输到GPU计算模块中,由GPU计算模块对各个检测工位获取的图像进行实时处理,并将计算结果传输到工业计算机中。作为本发明的进一步改进所述GPU计算模块将每一个检测工位的检测算法转化为一系列相连的计算方法, 上一计算方法的输出作为下一计算方法的输入;在每一个计算方法中,采用运算核心处理图像的一个图像块,各图像块的处理以线程阵列的形式在GPU计算模块内并行运行。所述GPU计算模块按照顺序对各个检测工位的图像进行质量检测,在每一时刻只对一个检测过程的一个计算方法进行执行,各个检测工位的检测结果传输到工业计算机内存中,工业计算机通过逻辑计算给出质量判断结果。所述GPU计算模块对图像进行处理时采用不规则区域检测方法、或规则区域检测方法、或帧间检测方法、或上述三种方法中任意两种或三种的组合。所述不规则区域检测方法中,首先对获取的图像进行并行预处理,即采用GPU计算模块对图像的多个图像块同时进行预处理,然后通过定位和分割方法确定检测区域,得出检测区域信息;针对获取的不规则检测区域,首先进行规则化,即根据区域信息对原图像进行插值,保证并行图像块计算及在后续处理过程中结果的正确性;对规则化后的图像进行分块,对每一个图像块采用区域检测方法进行处理;根据处理结果和区域信息对检测区域的处理结果进行统计,作为检测结果输出。所述规则区域检测方法中,首先同样采用并行预处理方法对获取的图像进行预处理,然后对事先确定的检测区域进行标定以及分块;对分块后的检测区域采用区域检测方法进行处理;对处理结果进行区域特征提取,并作为检测结果输出。所述帧间检测方法中,对计算采用的多幅图像首先采用并行预处理方法进行预处理,然后对多幅图像进行间隔插值并且分块,采用相同的分块方法对多幅图像进行分块;对分块后的图像进行并行帧间计算;对处理后的结果进行后处理;最后对后处理后的结果进行特征计算,计算结果作为检测结果输出。本发明进一步提供一种基于图形处理器的多工位机器视觉成像检测系统,其特征在于包括工业计算机、一个以上的GPU计算模块、一个以上的图像I/O接口、一个以上的成像系统、多工位位置检测装置、整机时序控制器、剔出控制器以及剔出装置,所述GPU计算模块和一个以上的图像I/O接口安装在工业计算机中,每个成像系统分别对应一个检测工位并通过图像I/O接口与工业计算机相连,所述工业计算机通过剔出控制器与剔出装置相连,所述工业计算机将各个成像系统采集到的图像传输到GPU计算模块中,由GPU计算模块对各个检测工位获取的图像进行实时处理,并将计算结果传输到工业计算机中,所述工业计算机根据计算结果输出控制信号至剔出控制器。与现有技术相比,本发明的优点在于1、本发明体积小、集成度高、成本低;多个工位检测只需要一台工业计算机与若干个GPU计算模块,降低了成本;2、本发明可提高检测精度,可以通过使用更复杂的检测算法来提高检测系统的精度;3、本发明稳定性好、可靠性高、减少了对于各个工位同步和通信的要求,降低了系统复杂性,提高了系统稳定性和可靠性;
4、本发明扩展性好,增加检测工位只需根据GPU的计算能力及IO带宽需求增加 GPU计算模块及图像输入I/O模块;5、本发明易于实现网络化、智能化、自主化;每一个工控机对应一个完整的检测系统,可以自主工作,并可以与其他设备形成测控网络,实现高度自动化生产;6、本发明通用性好,其提出的实时图像处理方法可广泛应用于其他领域,如视觉传感器网络监控、智能交通等。
图1是本发明检测方法的流程示意图;图2是本发明检测系统的框架原理示意图;图3是本发明中采用GPU的实时图像处理方法运算模型原理示意图;图4是本发明中采用GPU的实时图像处理方法执行过程示意图;图5是本发明中GPU多工位图像处理方法原理示意图;图6是本发明中采用GPU的不规则区域机器视觉产品质量检测方法的原理示意图;图7是本发明中采用运算核心的并行图像处理方法的原理示意图;图8是本发明中不规则区域规则化、分块及并行检测方法的原理示意图;图9是本发明中采用GPU的规则区域机器视觉产品质量检测方法的原理示意图;图10是本发明中规则区域分块及并行处理方法的原理示意图;图11是本发明中采用GPU的机器视觉序列图像检测方法的原理示意图;图12是本发明中多幅图像插值、分块及并行帧间运算方法的原理示意图;图13是本发明检测系统在具体实施例中的结构原理示意图;图14是本发明中多工位实时机器视觉检质量检测系统实物示意图;图15是本发明进行多工位安瓿注射针剂溶液机器视觉质量检测系统的框架示意图;图16是本发明进行多工位安瓿注射针剂溶液机器视觉质量检测方法的原理示意图。图例说明11、PCI-EX插槽;601、检测对象;602、产品输入传送带;603、进瓶装置;604、液位检测工位;605、外观检测工位;606、黑色异物检测工位;607、白色异物检测工位;608、出瓶装置;609、检测转盘;610、剔出装置;611、合格产品;612、不合格产品;613、合格品传送带; 614、不合格品传送带;615、液位检测工位位置检测装置;616、外观检测工位位置检测装置;617、黑色异物检测工位位置检测装置;618、白色异物检测工位位置检测装置;619、剔出工位位置检测装置。
具体实施例方式以下将结合说明书附图和具体实施例对本发明做进一步详细说明。图形处理器(Graphic Processing toit),简称GPU,是一种针对图形图像进行大规模并行处理的处理器,通常作为通用处理器的从属设备,对图形、图像进行实时处理和显
6示。在GPU中,存在多个多核处理器,在每一个多核处理器中又包含多个处理单元,每个处理单元可以同时运行多个线程,这种大规模并行结构非常适合实时图像处理,并且具有数百吉字节每秒的通信带宽、数千亿次的计算能力。本发明在传统机器视觉检测设备的基础上增加若干个GPU模块,利用GPU的大规模图形图像处理能力对高速自动化生产线上多工位机器视觉质量检测设备获取的多工位图像进行并行处理,同时针对机器视觉质量检测设备中最常用的单帧检测方法包括不规则区域检测和规则区域检测方法以及多帧检测方法的计算过程进行并行化,以满足系统实时性需求,解决当前多工位机器视觉质量检测系统存在的多个难题。如图1所示,为本发明检测方法的流程示意图。在检测过程中,分别在多个检测工位对检测对象成像,获取的图像由图像I/O接口读入到工业计算机内存中,工业计算机再将内存中的图像传输到GPU中,整个图像处理过程全部在GPU中执行。各个工位检测算法根据GPU的计算模型并行化,并且在GPU中顺序执行,即上一个工位检测过程结束后进行下一工位的检测过程。对某一检测对象的质量检测结果根据各工位对该检测对象检测结果及检测标准进行产品质量判断,给出该检测对象的质量判断结果。本发明对机器视觉检测算法中最常用的不规则区域(检测区域不规则图形)检测方法、规则区域(检测区域规则图形)检测方法及帧间检测方法(采用多帧图像进行质量检测)采用GPU进行并行化。在不规则区域检测方法中,首先对获取的图像进行并行预处理,即采用GPU对图像的多个图像块同时进行预处理,如中值滤波等以提高图像信噪比;然后通过定位和分割方法确定检测区域,得出检测区域信息。针对获取的不规则检测区域,首先进行规则化,即根据区域信息对原图像进行插值,保证并行图像块计算及在后续处理过程中结果的正确性;对规则化后的图像进行分块,对每一个图像块采用区域检测方法进行处理;根据处理结果和区域信息对检测区域的处理结果进行统计,作为检测结果输出。在规则区域检测方法中,首先同样采用并行预处理方法对获取的图像进行预处理;然后对事先确定的检测区域进行标定以及分块;对分块后的检测区域采用区域检测方法进行处理,如灰度统计方法等;对处理结果进行区域特征提取,如对求取的统计信息求取极值点位置,并作为检测结果输出。在帧间检测方法中,对计算采用的多幅图像首先采用并行预处理方法进行预处理;然后对多幅图像进行间隔插值并且分块,采用相同的分块方法对多幅图像进行分块;对分块后的图像进行并行帧间计算,如帧间差分、能量累积等方法;对处理后的结果进行后处理,如阈值计算等,最后对后处理后的结果进行特征计算,如灰度叠加等方法,计算结果作为检测结果输出。某一工位的检测算法根据实际需要可以是上述三种方法中的一种,也可以是对上述三种方法的组合,如在一个复杂的工位检测过程中可能同时用到三种方法。如图2所示,为本发明检测系统的框架结构示意图。该检测系统包括多个成像设备、多个图像I/O接口、工业计算机和GPU计算模块。多个成像设备在图像I/O接口的控制下在多个工位对观测对象进行成像,图像I/O接口控制成像设备的成像时刻、曝光时间、焦距等。成像设备可采用多种类型相机,在本实施例中采用工业CCD相机。根据不同成像设备对通信系统的要求,图像I/O接口采用多种通信方式,包括千兆网、专用图像采集总线等。 工业计算机控制图像I/O接口设备将成像设备获取的图像传输到工业计算机内存中,然后传输到GPU的全局存储器中。在实时图像处理过程中,全局存储器中的图像分割成多个图像块传输到各个处理单元的局部存储器,处理单元对局部存储器中的图像块进行计算,计算结果存储到全局存储器中。经过多个步骤的图像处理过程,得到多个工位的质量检测结果,质量检测结果由GPU传输到工业计算机中。如图3、图4和图5所示,为本发明中采用的GPU并行图像处理运算模型。在GPU运算模型中,如图3所示,整个图像处理过程根据图像处理步骤由相连的图像处理方法构成, 每一个计算方法对应一个图像处理步骤,如预处理、区域定位、区域分割、区域检测、后处理等过程,上一个图像处理方法的结果作为下一计算过程的输入。如图4所示,在每一个计算方法的执行过程中,输入图像被分为多个大小相同的模块,散布到GPU的各个处理单元中进行处理,每一个处理单元运行相同的运算核心,保证在同一个计算方法中,所有处理单元所需时间计算相同。每一个计算方法的计算结果存储在全局内存中,形成完整的二维图像。 在进行下一个计算方法前,插入线程同步,保证上一计算过程在下一计算过程开始前结束, 最后一个计算方法的结果即为检测结果。在多工位程序执行过程中,为了减少冲突、提高程序执行效率,在同一时刻只对一个工位获取的图像进行处理,即所有处理单元在同一时刻执行同一个计算方法,如图5所示,在时刻T,GPU的所有硬件资源都用来对A工位检测过程中的计算方法M进行执行,执行过程表现为多个线程在多个多核处理器中并行运行。每一个工位的检测过程由一系列相连的计算方法构成,每一个计算过程开始时从工业计算机中加载该工位获取的图像;同一检测过程的多个检测方法顺序在在GPU中顺序执行,其对应的运算核心顺序加载到GPU的多核处理器中执行;最后一个计算方法的计算结果作为检测结果由GPU传输到工业计算机中。如图6、图7和图8所示,为本发明采用GPU的不规则区域机器视觉产品质量检测方法。它由并行图像预处理、并行检测区域定位与分割、不规则区域规整化及分块、并行区域检测和区域检测结果统计构成,在检测方法的每一个步骤中,都采用GPU对其进行并行化。对于容易实现并行化的计算过程,如图像预处理、区域定位与分割等过程、区域检测结果统计等过程都可以通过运算核心的并行处理方法并行化。对于难以实现并行化的计算过程,即不规则区域检测,首先通过不规则区域规则化过程将不规则检测区域规则化,然后采用运算核心的并行处理方法实现并行处理。采用运算核心的并行图像处理方法实现过程中,首先设计与处理方法对应的运算核心,然后采用GPU的多个处理核心对图像分割成的多个图像块采用相同的运算核心同时处理。本实施例中,选择Telsa C1060作为GPU计算单元,可以满足10个以下检测工位实时质量检测的需求。其具体实现过程如下1)图像分块将原图像分割为多个图像块,图像块的大小根据图像处理方法和GPU的参数进行确定。如在图7中,对图像进行3X3滤波,可将图像分为4X4的图像块,在计算过程中, GPU对多个4X4图像块同时进行处理,如线程thread(0,0)对图像块(N+l,M+1) (N+4, M+4)进行处理,线程thread(0,1)对图像块(N+5,M+5) (N+8,M+8)进行处理,同时由于采用3 X 3模板,传出到GPU共享存储器中的图像块为6 X 6,即线程1对应的图像块为(N, M) (N+5,M+5)。2)图像处理运算核心设计根据所采用的算法设计运算核心,运算核心的设计根据所采用的图像处理方法对一个图像块中的像素进行某种操作。运算核心在计算过程中表现为线程(thread),线程的集合构成块(block),块中的每一个线程都有自己的线程标号threadid,每一个块也有自己的块标号blockid,对于二维图像来说,其线程标号、块标号都是二维的,具有χ和y两个分量。在计算内核中,GPU通过线程标号threadid、块标号blockid来对像素进行访问。以检测均勻区域异物检测所采用的动态阈值方法来对本发明的采用运算核的并行图像处理方法进行说明。动态阈值方法计算过程如下①对区域进行二项式滤波;②对原图像和滤波平滑后的图像进行相减;③若像素差值大于阈值,则认为存在杂质;针对这个计算过程,采用GPU的并行处理方法如下 5X5 二项式滤波器,其内核为
权利要求
1.一种基于图形处理器的多工位机器视觉成像检测方法,其特征在于在每一个检测工位设置一个成像设备,通过工业计算机控制一个以上的图像I/O接口将每个图像I/O接口所连接的成像设备获取的图像传输到工业计算机内存中;所述工业计算机将上述图像传输到GPU计算模块中,由GPU计算模块对各个检测工位获取的图像进行实时处理,并将计算结果传输到工业计算机中。
2.根据权利要求1所述的基于图形处理器的多工位机器视觉成像检测方法,其特征在于所述GPU计算模块将每一个检测工位的检测算法转化为一系列相连的计算方法,上一计算方法的输出作为下一计算方法的输入;在每一个计算方法中,采用运算核心处理图像的一个图像块,各图像块的处理以线程阵列的形式在GPU计算模块内并行运行。
3.根据权利要求2所述的基于图形处理器的多工位机器视觉成像检测方法,其特征在于所述GPU计算模块按照顺序对各个检测工位的图像进行质量检测,在每一时刻只对一个检测过程的一个计算方法进行执行,各个检测工位的检测结果传输到工业计算机内存中,工业计算机通过逻辑计算给出质量判断结果。
4.根据权利要求1或2或3所述的基于图形处理器的多工位机器视觉成像检测方法, 其特征在于所述GPU计算模块对图像进行处理时采用不规则区域检测方法、或规则区域检测方法、或帧间检测方法、或上述三种方法中任意两种或三种的组合。
5.根据权利要求4所述的基于图形处理器的多工位机器视觉成像检测方法,其特征在于所述不规则区域检测方法中,首先对获取的图像进行并行预处理,即采用GPU计算模块对图像的多个图像块同时进行预处理,然后通过定位和分割方法确定检测区域,得出检测区域信息;针对获取的不规则检测区域,首先进行规则化,即根据区域信息对原图像进行插值,保证并行图像块计算及在后续处理过程中结果的正确性;对规则化后的图像进行分块, 对每一个图像块采用区域检测方法进行处理;根据处理结果和区域信息对检测区域的处理结果进行统计,作为检测结果输出。
6.根据权利要求4所述的基于图形处理器的多工位机器视觉成像检测方法,其特征在于所述规则区域检测方法中,首先同样采用并行预处理方法对获取的图像进行预处理,然后对事先确定的检测区域进行标定以及分块;对分块后的检测区域采用区域检测方法进行处理;对处理结果进行区域特征提取,并作为检测结果输出。
7.根据权利要求4所述的基于图形处理器的多工位机器视觉成像检测方法,其特征在于所述帧间检测方法中,对计算采用的多幅图像首先采用并行预处理方法进行预处理,然后对多幅图像进行间隔插值并且分块,对分块后的图像进行并行帧间计算;对并行帧间运算后的结果进行后处理;最后对后处理后的结果进行特征计算,计算结果作为检测结果输出。
8.一种基于图形处理器的多工位机器视觉成像检测系统,其特征在于包括工业计算机、一个以上的GPU计算模块、一个以上的图像I/O接口、一个以上的成像系统、多工位位置检测装置、整机时序控制器、剔出控制器以及剔出装置,所述GPU计算模块和一个以上的图像I/O接口安装在工业计算机中,每个成像系统分别对应一个检测工位并通过图像I/O接口与工业计算机相连,所述工业计算机通过剔出控制器与剔出装置相连,所述工业计算机将各个成像系统采集到的图像传输到GPU计算模块中,由GPU计算模块对各个检测工位获取的图像进行实时处理,并将计算结果传输到工业计算机中,所述工业计算机根据计算结果输出控制信号至剔出控制器。
全文摘要
一种基于图形处理器的多工位机器视觉成像检测方法及系统,该方法为在每一个检测工位设置一个成像设备,通过工业计算机控制一个以上的图像I/O接口将每个图像I/O接口所连接的成像设备获取的图像传输到工业计算机内存中;所述工业计算机将上述图像传输到GPU计算模块中,由GPU计算模块对各个检测工位获取的图像进行实时处理,并将计算结果传输到工业计算机中。该系统包括工业计算机、一个以上的GPU计算模块、一个以上的图像I/O接口、一个以上的成像系统、多工位位置检测装置、整机时序控制器、剔出控制器以及剔出装置。本发明具有结构简单紧凑、成本低廉、集成度高、稳定性和可靠性好、通用性好等优点。
文档编号G01F23/22GK102169093SQ20101059480
公开日2011年8月31日 申请日期2010年12月20日 优先权日2010年12月20日
发明者吴成中, 周博文, 周叶博, 张辉, 杨双, 熊路, 王耀南, 葛继, 陈铁健 申请人:湖南大学