一种视觉传感方法及视觉传感器与流程

文档序号:12367090阅读:581来源:国知局
一种视觉传感方法及视觉传感器与流程

本申请涉及传感技术领域,特别涉及一种视觉传感方法及视觉传感器。



背景技术:

传感技术能够通过各类传感器,获取各种物理量、化学量或生物量的信息。获取到这些信息后,可以通过后期的信息处理技术,从这些信息中提取所需的特征,并基于这些提取的特征进行辨识、比较、分类以及判断等一系列操作。传感技术的发展推动了工业界自动化程度的提高。

在各种各样的传感技术中,视觉传感技术由于其适用性广、技术原理成熟等优点正逐步被应用至工业界的产品辨识过程中。在工业界的产品流水线上,往往需要辨识到达指定位置上的产品是否为生产所需的产品。如果是生产所需的产品,则可以进行后续的加工流程;如果不是生产所需的产品,则需要继续等待后续产品的到来。

目前常用的视觉传感器可以分为两种:一种是光电传感器,一种是经典视觉传感器。图1为现有技术中光电传感器的工作原理示意图。如图1所示,所述光电传感器由激光器、光纤、光检测器以及信号处理单元组成。激光器可以自行发射光纤,在待检测产品上形成反射光,并对该反射光进行后续的信号处理,从而可以判定待检测产品是否已经到达指定位置。然而这种传感器在检测产品时,一旦产品有少量倾斜,则会造成反射光功率的大幅度降低,从而导致感应出错,使用起来及其不便。

现有技术中的经典视觉传感器可以预先通过信号采集,得到触发信号。在得到触发信号后通过镜头对待检测产品进行拍摄,然后可以对拍摄后的图像进行运算,从而判定到检测的产品是否为所需的产品。然而这种传感器设计的复杂度相当高,并且需要经过专业的培训才能正常使用,同样在使用时会带来许多不便。

应该注意,上面对技术背景的介绍只是为了方便对本申请的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本申请的背景技术部分进行了阐述而认为上述技术方案为本领域技术人员所公知。



技术实现要素:

本申请实施例的目的在于提供一种视觉传感方法及视觉传感器,以方便地对待检测产品进行检测。

本申请实施例提供的一种视觉传感方法及视觉传感器是这样实现的:

一种视觉传感方法,所述方法包括:

按照预设周期采集待检测产品的图像;

将所述待检测产品的图像与预存的标准图像进行对比,得到所述待检测产品的图像与所述标准图像的相似度;

当所述相似度达到预设第一阈值时,输出感应信号。

优选地,所述将所述待检测产品的图像与预存的标准图像进行对比,得到所述待检测产品的图像与所述标准图像的相似度具体包括:

将所述待检测产品图像的分辨率设置为与所述标准图像的分辨率相同的分辨率;

提取设置分辨率后的待检测产品图像的第一像素值向量;

将所述第一像素值向量与所述标准图像的第二像素值向量进行对比,得到第一像素值向量与第二像素值向量的相似度。

优选地,所述提取设置分辨率后的待检测产品图像的第一像素值向量具体包括:

提取设置分辨率后的待检测产品图像中的每个像素的RGB值;

将提取的RGB值按照预设顺序排序,构成所述设置分辨率后的待检测产品图像的第一像素值向量。

优选地,所述提取设置分辨率后的待检测产品图像的第一像素值向量具体包括:

提取设置分辨率后的待检测产品图像中的每个像素的灰度值;

将提取的灰度值按照预设顺序排序,构成所述设置分辨率后的待检测产品图像的第一像素值向量。

优选地,所述将所述第一像素值向量与所述标准图像的第二像素值向量进行对比,得到第一像素值向量与第二像素值向量的相似度具体包括:

逐个对比所述第一像素值向量与第二像素值向量中对应位置处的像素值,当两个像素值的差异不高于预设阈值时,判定两个像素值相同;

记录第一像素值向量与第二像素值向量中像素值相同的个数;

计算所述像素值相同的个数占所有像素值个数的比重值。

优选地,在所述按照预设周期采集待检测产品的图像之前,所述方法还包括:

调整视觉传感器中小型相机的拍摄亮度。

一种视觉传感器,包括小型相机,信号处理单元以及信号输出单元,其特征在于,所述小型相机用来按照预设周期采集待检测产品的图像;

所述信号处理单元用来将所述待检测产品的图像与预存的标准图像进行对比,得到所述待检测产品的图像与所述标准图像的相似度;

所述信号输出单元用来当所述相似度达到预设第一阈值时,输出感应信号。

优选地,所述信号处理单元具体包括:

分辨率设置模块,用来将所述待检测产品图像的分辨率设置为与所述标准图像的分辨率相同的分辨率;

像素值向量提取模块,用来提取设置分辨率后的待检测产品图像的第一像素值向量;

相似度获取模块,用来将所述第一像素值向量与所述标准图像的第二像素值向量进行对比,得到第一像素值向量与第二像素值向量的相似度。

优选地,所述像素值向量提取模块具体包括:

RGB值提取模块,用来提取设置分辨率后的待检测产品图像中的每个像素的RGB值;

像素值向量第一构成模块,用来将提取的RGB值按照预设顺序排序,构成所述设置分辨率后的待检测产品图像的第一像素值向量。

优选地,所述像素值向量提取模块具体包括:

灰度值提取模块,用来提取设置分辨率后的待检测产品图像中的每个像素的灰度值;

像素值向量第二构成模块,用来将提取的灰度值按照预设顺序排序,构成所述设置分辨率后的待检测产品图像的第一像素值向量。

本申请实施例提供的一种视觉传感方法及视觉传感器,通过小型相机定期采集待检测产品的图像,并将该采集的图像与存储于其中的标准图像进行对比,从而判定待检测产品是否为所需的产品。本申请实施例提供的一种视觉传感方法及视觉传感器在实际应用中,无需生成触发信号,并且设计也比较简便,方便普通的技术员工使用。

附图说明

图1为现有技术中光电传感器的工作原理示意图;

图2为本申请实施例提供的一种视觉传感方法的流程图;

图3为本申请实施例提供的一种视觉传感器的功能模块图。

具体实施方式

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都应当属于本申请保护的范围。

图2为本申请实施例提供的一种视觉传感方法的流程图。虽然下文描述流程包括以特定顺序出现的多个操作,但是应该清楚了解,这些过程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行(例如使用并行处理器或多线程环境)。如图2所示,所述方法可以 包括:

S1:按照预设周期采集待检测产品的图像。

在使用本申请提供的视觉传感器时,首先可以将该视觉传感器固定好,方向对准待检测产品。然后可以预先设置一采集周期,并按照预设的周期采集待检测产品的图像。具体地,本申请实施例中可以5秒/次的周期,利用本申请视觉传感器上的小型相机拍摄待检测产品的图像。拍摄后的图像可以被存储于视觉传感器的内存中。在本申请一优选实施例中,在拍摄待检测产品的图像之前,还可以调整所述小型相机的拍摄亮度,从而可以采集质量更好的待检测产品的图像。

S2:将所述待检测产品的图像与预存的标准图像进行对比,得到所述待检测产品的图像与所述标准图像的相似度。

在本申请实施例中,可以在所述视觉传感器中存储待检测产品的标准图像。该标准图像可以BMP的格式存储于所述视觉传感器的内部存储器中。当所述视觉传感器采集到待检测产品的图像后,可以将该图像与所述标准图像进行对比。在本申请一实施例中,可以通过下述三个步骤实现所述待检测产品的图像与预存的标准图像的对比:

S201:将所述待检测产品图像的分辨率设置为与所述标准图像的分辨率相同的分辨率。

为了便于后续的对比处理,本申请实施例可以首先将所述待检测产品图像的分辨率设置为与所述标准图像的分辨率相同的分辨率。具体地,所述标准图像的分辨率可以是人为预先设定的,也可以是视觉传感器读取所述标准图像后获得的,本申请对此并不做限定。视觉传感器采集到所述待检测产品的图像后,可以根据所述标准图像的分辨率对所述待检测产品图像的分辨率重新设定。具体地可以通过视觉传感器内部集成的图像处理软件或者与视觉传感器相连通的PC机内的图形处理软件重新设定所述待检测产品图像的分辨率,以保证所述待检测产品图像与所述标准图像具有相同的分辨率。

S202:提取设置分辨率后的待检测产品图像的第一像素值向量。

一幅彩色图片一般由多个像素组成后体现。例如,显示器上显示的图片,是通过显示器屏幕上每个能够显示不同色彩的发光元件通电后的显示功能,最终使得屏幕上众多这样的发光元件组合起来还原显示出图片。当显示器屏幕显示的图片是原始分辨率时,显示器屏幕上用于显示的图片的每一元件对应图片上的每一像素。

上面提到的每个发光元件通电后显示的色彩,取决于图片中对应像素的RGB值。RGB色彩模式是工业界的一种颜色标准,是通过对红(Red,R)、绿(Green,G)、蓝(Blue,B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,也成为三原色。这个色彩模式几乎包括了人类视力所能感知的所有颜色, 是目前运用最广的颜色系统之一。常用的一种RGB标准中,R、G、B每个颜色的量用0-255之间的1个十进制数表示(对应二进制数00000000~11111111)。另外一种网页中常用的RGB标准中,将一个像素的RGB值用一个6位的十六进制数标识,如#000000的形式。本领域技术人员容易知道,一个像素的RGB色彩每个颜色的量用0-255之间的1个十进制数标识,可以转换为用一个6位的十六进制数表示,即存在不同表示方式中存在一一对应关系。总体来说,这些标准中的对应份数的红色(R)、绿色(G)和蓝色(B)混合后得到该像素的最终显示颜色。

进而,提取所述图片中每个像素的RGB值,并将提取的RGB值按照一定顺序排序,例如按照像素编号排序,从而可以构成该图片的像素值向量。

例如,某幅彩色图片具有200*120(也称为分辨率)的像素。每个像素的RGB如下标识:

RGB(m,n)=Ra,Gb,Bc

其中,m、n分别表示图片中某一像素所处的行和列;m的取值范围为1至200,n的取值范围为1至120。Ra,Gb,Bc为0-255中的任一整数。

或者,RGB(m,n)=#OPQRST

其中,m的取值范围为1至200,n的取值范围为1至120,O、P、Q、R、S、T为0-F的任一16进制取值。

提取每个像素的特征值,即将每个像素的上述RGB值提取出来。例如,对于该图片中第(m,n)个像素,提取其RGB值,即上述的(Ra,Gb,Bc)或#OPQRST。

将该图片中每个像素点提取出的特征值按照顺序排列可以构成像素值向量。例如,排列后构成的像素值向量如下面形式的一系列排列的数值:

(RGB(1,1),RGB(1,2),…,RGB(1,120),RGB(2,1),RGB(2,2),…,RGB(2,120),…,RGB(200,1),RGB(200,2),…RGB(200,120)) 式1

上述式1即为该图片的像素值向量。

本申请实施例可以通过上述方法提取设置分辨率后的待检测产品图像的第一像素值向量。

另外,对于黑白图片而言,一幅灰度显示的图片也可以由多个像素组成后体现。这样,显示器上每个发光元件通电后显示的灰度色彩,取决于图片中对应像素的RGB值。这时,这类灰度像素的RGB值具有一定规律。常用的一种标准中,灰度值的R、G、B取值相等。这样,利用这个标准,通常可以将灰度分为256级,表示黑白图像中点的颜色深度。也可以用其它方式来表示灰度值,例如通过1byte的数据来表示。这时,这个1byte的数据每一位上的取值与RGB值具有一定的对应关系。这样,提取所述图片中每个像素的灰度值,并将 提取的灰度值按照像素编号顺序排序,也可以得到形如式1的特征值向量。

灰度值与彩色RGB具有一定的对应关系。利用这种对应关系,可以将彩色RGB转换为对应的灰度值。下面列举几种由RGB三原色值转换得到对应灰度值的方法:

(1)浮点算法:Gray=R*0.3+G*0.59+B*0.11

(2)整数方法:Gray=(R*30+G*59+B*11)/100

(3)移位方法:Gray=(R*77+G*151+B*28)>>8;

(4)平均值法:Gray=(R+G+B)/3;

(5)仅取绿色:Gray=G;

由于灰度值的取值范围明显小于RGB的取值范围,而采用灰度值替代RGB可以降低后续的计算复杂度,并能保证达到基本相同的识别效果。这样,在本申请一优选实施例中,可以用像素的灰度值替代彩色RGB值,同样能够形成设置分辨率后的待检测产品图像的第一像素值向量。

S203:将所述第一像素值向量与所述标准图像的第二像素值向量进行对比,得到第一像素值向量与第二像素值向量的相似度。

本申请实施例中的所述标准图像的第二像素值向量同样可以为根据步骤S202中的方法进行提取,并且提取后的第二像素值向量可以保存在视觉传感器的内部存储器中,并与所述标准图像形成一一对应的关系。这里需要说明的是,所述第二像素值向量中的像素值可以存在以RGB值形成以及以灰度值形成两种形式,并根据所述第一像素值向量中像素值的形式进行相应地调用。即如果第一像素值向量中的像素值是以RGB值形成的,那么在进行对比时,可以相应调用以RGB值形成的第二像素值向量;如果第一像素值向量中的像素值是以灰度值形成的,那么在进行对比时,可以相应调用以灰度值形成的第二像素值向量。

具体地,本申请实施例在进行对比时,可以逐个对比第一像素值向量与第二像素值向量中对应位置处的像素值。例如,待检测的图像与标准图像的分辨率均为200*120,并且均为彩色图片,第一像素值向量可以表示为:

(RGB(1,1),RGB(1,2),…,RGB(1,120),RGB(2,1),RGB(2,2),…,RGB(2,120),…,RGB(200,1),RGB(200,2),…RGB(200,120)),

第二像素值向量可以表示为:

(rgb(1,1),rgb(1,2),…,rgb(1,120),rgb(2,1),rgb(2,2),…,rgb(2,120),…,rgb(200,1),rgb(200,2),…rgb(200,120))。

那么在进行对比时,可以将RGB(1,1)与rgb(1,1)进行对比,将RGB(1,2)与rgb(1,2)进行对比,…,将RGB(200,120)与rgb(200,120)进行对比。当对应位置处的两个像素值的差异不高于预设的阈值 时,则认为两个像素值相同。最终可以记录第一像素值向量与第二像素值向量中像素值相同的个数,并计算像素值相同的个数占所有像素值个数的比重值。该比重值即可代表所述的第一像素值向量与第二像素值向量的相似度。

S3:当所述相似度达到预设第一阈值时,输出感应信号。

在本申请实施例中,可以预先设置第一阈值,并通过该第一阈值判定所述待检测的产品是否为所需的产品。具体地,本申请实施例可以将所述第一阈值设置为60%,当所述相似度达到60%时,便可以由视觉传感器中的信号输出单元输出感应信号,所述感应信号可以为GPIO信号。当视觉传感器输出感应信号时,该感应信号可以导通发光二极管,使得发光二极管发光,代表待检测的产品即为所需的产品。当所述相似度没有达到预设第一阈值时,视觉传感器便不输出感应信号,所述发光二极管便不会发光,代表待检测的产品不是所需的产品或者所需的产品还未到达指定位置处。

本申请实施例还提供一种视觉传感器。图3为本申请实施例提供的一种视觉传感器的功能模块图。如图3所示,所述视觉传感器包括小型相机100,信号处理单元200以及信号输出单元300,其中:

所述小型相机100用来按照预设周期采集待检测产品的图像;

所述信号处理单元200用来将所述待检测产品的图像与预存的标准图像进行对比,得到所述待检测产品的图像与所述标准图像的相似度;

所述信号输出单元300用来当所述相似度达到预设第一阈值时,输出感应信号。

具体地,所述小型相机100可以设置在所述视觉传感器的前端,所述信号处理单元200可以作为一个功能模块集成于所述视觉传感器中或者作为一个应用程序设置于与所述小型相机100相连的PC机中,本申请对此并不做限定。所述信号输出单元300可以与发光二极管电路相连,当信号输出单元300输出感应信号时,所述发光二极管便发光,代表待检测的产品即为所需的产品。当所述信号输出单元300不输出感应信号时,所述发光二极管便不会发光,代表待检测的产品不是所需的产品或者所需的产品还未到达指定位置处。

在本申请一优选实施例中,所述信号处理单元200具体可以包括:

分辨率设置模块201,用来将所述待检测产品图像的分辨率设置为与所述标准图像的分辨率相同的分辨率;

像素值向量提取模块202,用来提取设置分辨率后的待检测产品图像的第一像素值向量;

相似度获取模块203,用来将所述第一像素值向量与所述标准图像的第二像素值向量进行对比,得到第一像素值向量与第二像素值向量的相似度。

在本申请另一优选实施例中,所述像素值向量提取模块202具体包括:

RGB值提取模块2021,用来提取设置分辨率后的待检测产品图像中的每个像素的RGB值;

像素值向量第一构成模块2022,用来将提取的RGB值按照预设顺序排序,构成所述设置分辨率后的待检测产品图像的第一像素值向量。

在本申请另一优选实施例中,可以通过预设的规则将RGB值转化为灰度值,从而减少后续的对比复杂程度。具体地,在本申请另一优选实施例中,所述像素值向量提取模块202具体包括:

灰度值提取模块2023,用来提取设置分辨率后的待检测产品图像中的每个像素的灰度值;

像素值向量第二构成模块2024,用来将提取的灰度值按照预设顺序排序,构成所述设置分辨率后的待检测产品图像的第一像素值向量。

在本申请另一实施例中,所述相似度获取模块203具体可以包括:

像素值判定模块2031,用来逐个对比所述第一像素值向量与第二像素值向量中对应位置处的像素值,当两个像素值的差异不高于预设阈值时,判定两个像素值相同;

像素值记录模块2032,用来记录第一像素值向量与第二像素值向量中像素值相同的个数;

比重值计算模块2033,用来计算所述像素值相同的个数占所有像素值个数的比重值。

其中,所述比重值即可以代表第一像素值向量与第二像素值向量的相似度。

本申请实施例提供的一种视觉传感方法及视觉传感器,通过小型相机定期采集待检测产品的图像,并将该采集的图像与存储于其中的标准图像进行对比,从而判定待检测产品是否为所需的产品。本申请实施例提供的一种视觉传感方法及视觉传感器在实际应用中,无需生成触发信号,并且设计也比较简便,方便普通的技术员工使用。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改 用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。

本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所 述的方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1