机器视觉相关
新闻详情

机器视觉常用的三种目标识别方法

发布时间:2022-12-21 17:19:05 最后更新:2023-02-08 15:31:27 浏览次数:919

       随着机器视觉技术的快速发展,传统很多需要人工来手动操作的工作,渐渐地被机器所替代。传统方法做目标识别大多都是靠人工实现,从形状、颜色、长度、宽度、长宽比来确定被识别的目标是否符合标准,最终定义出一系列的规则来进行目标识别。这样的方法当然在一些简单的案例中已经应用的很好,唯一的缺点是随着被识别物体的变动,所有的规则和算法都要重新设计和开发,即使是同样的产品,不同批次的变化都会造成不能重用的现实。

       而随着机器学习,深度学习的发展,很多肉眼很难去直接量化的特征,深度学习可以自动学习这些特征,这就是深度学习带给我们的优点和前所未有的吸引力。很多特征我们通过传统算法无法量化,或者说很难去做到的,深度学习可以。特别是在图像分类目标识别这些问题上有显著的提升。

       视觉常用的目标识别方法有三种:Blob分析法(BlobAnalysis)、模板匹配法深度学习法。下面就三种常用的目标识别方法进行对比。

Blob分析法(BlobAnalysis)

        在计算机视觉中的Blob是指图像中的具有相似颜色、纹理等特征所组成的一块连通区域。Blob分析(BlobAnalysis)是对图像中相同像素的连通域进行分析(该连通域称为Blob)。其过程就是将图像进行二值化,分割得到前景和背景,然后进行连通区域检测,从而得到Blob块的过程。简单来说,blob分析就是在一块“光滑”区域内,将出现“灰度突变”的小区域寻找出来。

       举例来说,假如现在有一块刚生产出来的玻璃,表面非常光滑,平整。如果这块玻璃上面没有瑕疵,那么,我们是检测不到“灰度突变”的;相反,如果在玻璃生产线上,由于种种原因,造成了玻璃上面有一个凸起的小泡、有一块黑斑、有一点裂缝,那么,我们就能在这块玻璃上面检测到纹理,经二值化(BinaryThresholding)处理后的图像中色斑可认为是blob。而这些部分,就是生产过程中造成的瑕疵,这个过程,就是Blob分析。
        Blob分析工具可以从背景中分离出目标,并可以计算出目标的数量、位置、形状、方向和大小,还可以提供相关斑点间的拓扑结构。在处理过程中不是对单个像素逐一分析,而是对图像的行进行操作。图像的每一行都用游程长度编码(RLE)来表示相邻的目标范围。这种算法与基于像素的算法相比,大大提高了处理的速度。


       针对二维目标图像和高对比度图像,适用于有无检测和缺陷检测这类目标识别应用。常用于二维目标图像、高对比度图像、存在/缺席检测、数值范围和旋转不变性需求。显然,纺织品的瑕疵检测,玻璃的瑕疵检测,机械零件表面缺陷检测,可乐瓶缺陷检测,药品胶囊缺陷检测等很多场合都会用到blob分析。
但另一方面,Blob分析并不适用于以下图像:1.低对比度图像;2.必要的图像特征不能用2个灰度级描述;3.按照模版检测(图形检测需求)。
       总的来说,Blob分析就是检测图像的斑点,适用于背景单一,前景缺陷不区分类别,识别精度要求不高的场景。

模板匹配法

       模板匹配是一种最原始、最基本的模式识别方法,研究某一特定对象物的图案位于图像的什么地方,进而识别对象物,这就是一个匹配问题。它是图像处理中最基本、最常用的匹配方法。换句话说就是一副已知的需要匹配的小图像,在一副大图像中搜寻目标,已知该图中有要找的目标,且该目标同模板有相同的尺寸、方向和图像元素,通过统计计算图像的均值、梯度、距离、方差等特征可以在图中找到目标,确定其坐标位置。
       这就说明,我们要找的模板是图像里标标准准存在的,这里说的标标准准,就是说,一旦图像或者模板发生变化,比如旋转,修改某几个像素,图像翻转等操作之后,我们就无法进行匹配了,这也是这个算法的弊端。
       所以这种匹配算法,就是在待检测图像上,从左到右,从上向下对模板图像与小东西的图像进行比对。


       在opencv中有cv2.matchTemplate(src,templ,result,match_method)方法可以调用,src是待检测图像,templ是模板库,match_method是匹配的方法。          这种方法相比Blob分析有较好的检测精度,同时也能区分不同的缺陷类别,这相当于是一种搜索算法,在待检测图像上根据不同roi用指定的匹配方法与模板库中的所有图像进行搜索匹配,要求缺陷的形状、大小、方法都有较高的一致性,因此想要获得可用的检测精度需要构建较完善的模板库。

深度学习法

        2014年R-CNN的提出,使得基于CNN的目标检测算法逐渐成为主流。深度学习的应用,使检测精度和检测速度都获得了改善。
        自从AlexNet在比赛中使用卷积神经网络进而大幅度提高了图像分类的准确率,便有学者尝试将深度学习应用到目标类别检测中。卷积神经网络不仅能够提取更高层、表达能力更好的特征,还能在同一个模型中完成对于特征的提取、选择和分类。

       在这方面,主要有两类主流的算法:
       一类是结合RPN网络的,基于分类的R-CNN系列两阶目标检测算法(twostage);
       另一类则是将目标检测转换为回归问题的一阶目标检测算法(singlestage)。
       物体检测的任务是找出图像或视频中的感兴趣物体,同时检测出它们的位置和大小,是机器视觉领域的核心问题之一。

  

        物体检测过程中有很多不确定因素,如图像中物体数量不确定,物体有不同的外观、形状、姿态,加之物体成像时会有光照、遮挡等因素的干扰,导致检测算法有一定的难度。进入深度学习时代以来,物体检测发展主要集中在两个方向:twostage算法如R-CNN系列和onestage算法如YOLO、SSD等。两者的主要区别在于twostage算法需要先生成proposal(一个有可能包含待检物体的预选框),然后进行细粒度的物体检测。而onestage算法会直接在网络中提取特征来预测物体分类和位置。

        深圳市双翌光电科技有限公司是一家以机器视觉为技术核心,自主技术研究与应用拓展为导向的高科技企业。公司自成立以来不断创新,在智能自动化领域研发出视觉对位系统、机械手视觉定位视觉检测、图像处理库等为核心的20多款自主知识产权产品。涉及自动贴合机、丝印机、曝光机、叠片机、贴片机、智能检测、智能镭射等众多行业领域。双翌视觉系统最高生产精度可达um级别,图像处理精准、速度快,将智能自动化制造行业的生产水平提升到一个更高的层次,改进了以往落后的生产流程,得到广大用户的认可与肯定。随着智能自动化生产的普及与发展,双翌将为广大生产行业带来更全面、更精细、更智能化的技术及服务。

在线客服 双翌客服
客服电话
  • 0755-23712116
  • 13822267203