基于图像识别的智能检测方法、系统及产品检测系统与流程

文档序号:28076639发布日期:2021-12-18 00:56阅读:249来源:国知局
基于图像识别的智能检测方法、系统及产品检测系统与流程

1.本发明属于图像检测技术领域,具体涉及一种基于图像识别的智能检测方法、系统及产品检测系统。


背景技术:

2.现有的检测系统,利用图像处理技术,将产品上的缺陷如划伤、凹坑、黑点等缺陷检测出来。检测系统包括服务器、客户端、图像采集模块、图像识别模块、缺陷分类模块、数据存储模块,将实时采集的图像进行处理分析,然后进行缺陷分类存储数据,最后显示到客户端上面供人员查看。当有缺陷产生时,会有声光报警及打标系统提示现场的工作人员。
3.由于传统检测系统不能根据当前正在检测的产品自动加载对应的检测算法,所以需要人工去判别正在检测的产品类型,并且在检测软件上选择对应的检测算法,但由于现场操作人员忘记选择或产品判别错误,导致产品不能匹配最合适的检测算法,产生大量的误报,不能满足客户的检测需求。传统检测算法不具备机器学习功能,无法将未识别的产品添加到匹配库里面。
4.传统检测系统需要人为去判别当前所检测的产品类型,然后在检测软件上选择对应的检测算法,整个过程需要人工去操作干预,并不能实现全自动化检测。
5.自动识别产品类型需要人工切换,且相对于客户是定制化的需求,客户每次改变产品时均需要选择不同的检测模板,对客户而言增加了操作时间,降低了生产效率,对软件开发而言,面对不同的客户不同的产品时,都需要开发不同的检测算法,增添了很多无用工作
6.因此,基于上述技术问题需要设计一种新的基于图像识别的智能检测方法、系统及产品检测系统。


技术实现要素:

7.本发明的目的是提供一种基于图像识别的智能检测方法、系统及产品检测系统。
8.为了解决上述技术问题,本发明提供了一种基于图像识别的智能检测方法,包括:
9.采集产品的图像;
10.根据产品的图像识别产品,并进行产品录入;
11.以及根据产品选择检测算法对产品进行检测。
12.进一步,所述采集产品的图像的方法包括:
13.通过图像采集模块采集产品的图像。
14.进一步,所述根据产品的图像识别产品,并进行产品录入的方法包括:
15.根据产品的图像识别产品;
16.根据图像识别图像中产品的特征;
17.将图像中产品的特征与存储的各类别产品分类文件中的特征进行比较,当相似程度大于预设百分比时,则识别产品类型,否则对产品类型进行分类,即
18.创建分类器,添加特征向量,创建一个神经网络;
19.神经网络包括:第一层为输入变量的输入层,第二层为隐藏层,第三层为输出变量的输出层;
20.设置特征向量的个数、隐藏层数、输出变量数量、用于转换特征向量的预处理类型对分类器进行训练;
21.通过训练好的分类器根据图像中产品的特征识别图像中产品的种类,若未能识别产品则将未能识别的产品加入分类库中。
22.进一步,所述根据产品的图像识别产品,并进行产品录入的方法还包括:
23.进行产品录入;
24.当相似程度小于等于预设百分比时,判断图像中的产品种类未存储;
25.对图像中的产品类别进行识别,对图像进行预处理,从预处理后的图像中提取产品特征的特征向量,根据产品的特征向量生成相似图像,对相似图像进行训练,生成该产品的分类文件并存储。
26.进一步,所述产品的特征包括:产品的花纹特征、灰度、宽度、表面缺陷特征、纹理、圆度、矩形度、欧拉数和凸性。
27.进一步,所述根据产品选择检测算法对产品进行检测的方法包括:
28.根据产品的种类,选择该种类产品对应的检测算法,通过选择的检测算法对产品的图像进行检测,以检测产品的缺陷。
29.第二方面,本发明还提供一种基于图像识别的智能检测系统,包括:
30.图像采集模块,采集产品的图像,图像采集模块兼容了市面上大部分相机的函数接口,可以进行连续采集以及单帧采集等,同时可以通过串口的方式进行曝光增益的设置;
31.产品识别模块,根据产品的图像识别产品,并进行产品录入;
32.以及检测模块,根据产品选择检测算法对产品进行检测。
33.第三方面,本发明还提供一种产品检测系统,包括:
34.采集端,所述采集端适于采集产品的图像;
35.服务器,所述服务器适于根据图像判断产品的种类,并选择对应的检测算法对产品进行检测;
36.客户端,所述客户端适于显示产品的检测结果。
37.本发明的有益效果是,本发明通过采集产品的图像;根据产品的图像识别产品,并进行产品录入;以及根据产品选择检测算法对产品进行检测,实现了采用图像识别技术,智能识别产品类型,然后从算法库里调用不同的检测算法即可,对于客户使用而言,更加方便智能,对于开发者而言只需要添加新产品的算法到算法库里即可。
38.本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书以及附图中所特别指出的结构来实现和获得。
39.为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
40.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
41.图1是本发明所涉及的基于图像识别的智能检测方法的流程图;
42.图2是本发明所涉及的基于图像识别的智能检测系统的原理框图;
43.图3是本发明所涉及的产品检测系统的原理框图;
44.图4是本发明所涉及的产品检测系统的具体原理框图。
具体实施方式
45.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
46.实施例1
47.图1是本发明所涉及的基于图像识别的智能检测方法的流程图。
48.如图1所示,本实施例1提供了一种基于图像识别的智能检测方法,包括:采集产品的图像;根据产品的图像识别产品,并进行产品录入;以及根据产品选择检测算法对产品进行检测,实现了采用图像识别技术,智能识别产品类型,然后从算法库里调用不同的检测算法即可,对于客户使用而言,更加方便智能,对于开发者而言只需要添加新产品的算法到算法库里即可。
49.在本实施例中,所述采集产品的图像的方法包括:通过图像采集模块采集产品的图像;例如通过高清摄像机拍摄产品的高清图像,通过高清图像可以更加精确的获取产品的特征,便于后续对产品的精确识别和检测。
50.在本实施例中,所述根据产品的图像识别产品,并进行产品录入的方法包括:根据产品的图像识别产品;根据图像识别图像中产品的特征;将图像中产品的特征与存储(例如存储在数据库中)的各类别(类型)产品分类文件中的特征进行比较,当相似程度大于预设百分比时(例如大于90%),则正确识别产品类型,若未能识别该产品,则人为干预将其分类,分类的过程可以是:创建分类器,添加特征向量,创建一个神经网络;神经网络包括:第一层为输入变量的输入层,第二层为隐藏层,第三层为输出变量的输出层;设置特征向量的个数、隐藏层数、输出变量数量、用于转换特征向量的预处理类型等参数对分类器进行训练;通过训练好的分类器根据图像中产品的特征识别图像中产品的种类;读取训练文件,对图像进行测试:加载一张图像,用训练好的分类器进行识别,训练器通过提取特征向量,然后返回置信度最高的种类,以及置信度数;通过判断最优解的置信度数,来评估是否分类准确。所用的提取产品特征后训练识别的方法是neural_nets(神经网络)等;通过训练后的分类器根据图像进行产品的识别,可以快速准确的识别图像中的产品,便于选取该产品对应的检测算法对产品进行检测。
51.在本实施例中,所用到的主要函数如下:1.创建一个mlp神经网络;
52.void createclassmlp(const htuple&numinput,const htuple&numhidden,const htuple&numoutput,const htuple&outputfunction,const htuple&preprocessing,consthtuple&numcomponents,consthtuple&randseed,htuple*mlphandle);即创建一个mlp的神经网络,其主要作用是用于训练产品种类。其主要参数如下:1).输入特征数numinput:决定分类器中特征向量的个数,一般选用产品辨识度比较大的特征作为输入的特征向量如:花纹、颜色、纹理等;2).隐藏层numhidden:输入参数定义多层神经元的隐藏层的单元数,隐藏层影响分类的结果,因此需要非常仔细地调整,较小的值导致不太复杂的分离超平面,但在许多情况下可能导致效果很好。如果numhidden具有非常大的值,则存在过度拟合的风险。分类器使用噪声这样的不重要的细节来构建类边界,训练数据非常有效,但对于未知特征向量测试失败;3).输出的类别numoutput:每次增加一种产品,则需要重新创建一个mlp分类器,相应的输出类别也需要相应的增加;
53.2.获取特征向量的自定义函数:
54.void genfeatures(htuple path,htuple&features,htuple imgwidth,htuple imgheight);即将产品的特征提取出来,存放至一个矩阵里,该矩阵的大小和创建mlp是输入的特征数有关。其中主要参数如下:1).图片的路径path:用于读取本地图像加载到内存中供特征提取及分类训练使用;2).输出的特征features:其中主要包括产品的花纹特征、灰度、宽度、表面缺陷特征、纹理、圆度、矩形度、欧拉数和凸性等;3).图像的宽高imgwidth、imgheight,图像的宽高决定了在分类器训练时,图像是被拉伸还是压缩,设置合理的宽高有助于图像特征的提取;
55.3.训练神经网络:
56.void trainclassmlp(const htuple&mlphandle,const htuple&maxiterations,const htuple&weighttolerance,const htuple&errortolerance,htuple*error,htuple*errorlog);即该函数为训练分类模型,根据提取的特征向量以及以及对应名称进行训练,在实际应用过程中会开启训练线程,然后训练成功后替换掉原来的mlp训练文件。其主要参数如下:1).模型的句柄mlp;主要用来操作模型,用来分类识别。2).最大迭代次数maxiterations,迭代次数越小,训练耗时越少,相应准确性会有所降低,迭代次数越大,准确性会有所提高,但比较耗时,且可能出现局部最优解情况。所以设置合适的迭代次数尤为重要;
57.4.写入mlp训练文件到硬盘:
58.void writeclassmlp(const htuple&mlphandle,const htuple&filename);即将训练好的分类文件,存放至硬盘的指定位置。其主要参数如下:1).mlp句柄:用于操作分类文件2).文件名称filename;分类文件名称,将训练好的分类文件写入到硬盘。
59.5.读取mlp分类器文件;
60.void readclassmlp(const htuple&filename,htuple*mlphandle);即将mlp训练文件加载到内存中,并输出其句柄。其主要参数如下:1).文件名称filename:分类训练文件名2).mlp句柄。
61.6.添加一个样本,用于强化训练该种类的函数:
62.voidaddsampleclassmlp(consthtuple&mlphandle,consthtuple&features,const htuple&target);即给分类库中添加一个训练样本,需要输入特征向量以及目标样
本。主要参数如下:1).mlp的句柄;2).待存储的训练样本的特征向量features;3).要存储的训练样本的类或目标向量target。
63.在本实施例中,所述根据产品的图像识别产品,并进行产品录入的方法还包括:进行产品录入;当相似程度小于等于预设百分比时,判断图像中的产品种类未存储(未录入);对图像中的产品类别进行识别(可以通过人工的方式直接对图像中产品的类别进行识别),对图像进行预处理(可以取出图像中的干扰和杂质等,便于更加精确的训练记录),从预处理后的图像中提取产品特征的特征向量,根据产品的特征向量生成相似图像,对相似图像进行训练(可以通过存储有分类训练算法的分类训练模块进行训练),生成该产品的分类文件并存储(生成该类型产品对应的分类文件);采用机器学习技术,将未能成功识别的产品类型,加入到产品库,进行训练,之后再遇到类似或相同类型的产品便可成功识别。
64.在本实施例中,所述产品的特征包括:产品的花纹特征、灰度、宽度、表面缺陷特征、纹理、圆度、矩形度、欧拉数和凸性,这些特征在函数genfeatrues中获取,获取的方式主要通过图像预处理函数获得其主要特征,若该产品的某项特征为空,则其对应的特征向量置为0。
65.在本实施例中,所述根据产品选择检测算法对产品进行检测的方法包括:根据产品的种类,选择该种类产品对应的检测算法,通过选择的检测算法对产品的图像进行检测,以检测产品的缺陷;可以智能的匹配对应的检测算法,以最快最优的进行检测。
66.当产品类型切换时,首先判别当前的产品类型,当识别到当前所检测的产品类型后,再根据产品选择合适的检测算法,整个识别选择过程为全自动的,当误识别产品类型时,可以人工干预,可以自动将该产品图像特征存入数据库进行学习优化,待下次再生产该类型的产品时,即可自动选择对应的检测算法。
67.实施例2
68.图2是本发明所涉及的基于图像识别的智能检测系统的原理框图。
69.如图2所示,在实施例1的基础上,本实施例2还提供一种基于图像识别的智能检测系统,包括:图像采集模块,采集产品的图像;产品识别模块,根据产品的图像识别产品,并进行产品录入;以及检测模块(图像处理模块),根据产品选择检测算法对产品进行检测。
70.在本实施例中,各模块的具体功能在实施例1中已经详细描述,在本实施例中不再赘述。
71.实施例3
72.图3是本发明所涉及的产品检测系统的原理框图;
73.图4是本发明所涉及的产品检测系统的具体原理框图。
74.如图3和图4所示,在实施例1和实施例2的基础上,本实施例3还提供一种产品检测系统,包括:采集端(可以集成图像采集模块),所述采集端适于采集产品的图像;服务器,所述服务器适于根据图像判断产品的种类,并选择对应的检测算法对产品进行检测;客户端,所述客户端适于显示产品的检测结果。
75.在本实施例中,所述产品检测系统还可以包括:处理端(可以集成图像处理模块);所述处理端可以接收服务器发送的图像,并根据图像判断产品的种类,选择对应的检测算法对产品进行检测,将检测的结果反应在图像上(例如在图像上全出不合格的位置地方等),再将图像发送至服务器,由服务器转发至客户端显示,便于客户得知产品的检测结果。
76.在本实施例中,服务器和/或处理端可以采用实施例1中的基于图像识别的智能检测方法对产品进行识别和检测。
77.综上所述,本发明通过采集产品的图像;根据产品的图像识别产品,并进行产品录入;以及根据产品选择检测算法对产品进行检测,实现了采用图像识别技术,智能识别产品类型,然后从算法库里调用不同的检测算法即可,对于客户使用而言,更加方便智能,对于开发者而言只需要添加新产品的算法到算法库里即可。
78.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
79.另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
80.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
81.以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1