【光电智造】机器视觉常用的三种目标识别方法解析

今日光电 2024-11-17 18:03

 今日光电 

     有人说,20世纪是电的世纪,21世纪是光的世纪;知光解电,再小的个体都可以被赋能。追光逐电,光赢未来...欢迎来到今日光电!




----追光逐电 光赢未来----

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


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








      视觉常用的目标识别方法有三种: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算法会直接在网络中提取特征来预测物体分类和位置。

      两阶算法中区域提取算法核心是卷积神经网络CNN,先利用CNN骨干提取特征,然后找出候选区域,最后滑动窗口确定目标类别与位置

      R-CNN首先通过SS算法提取2k个左右的感兴趣区域,再对感兴趣区域进行特征提取。存在缺陷:感兴趣区域彼此之间权值无法共享,存在重复计算,中间数据需单独保存占用资源,对输入图片强制缩放影响检测准确度。

      
      SPP-NET在最后一个卷积层和第一个全连接层之间做些处理,保证输入全连接层的尺寸一致即可解决输入图像尺寸受限的问题。SPP-NET候选区域包含整张图像,只需通过一次卷积网络即可得到整张图像和所有候选区域的特征。

     FastR-CNN借鉴SPP-NET的特征金字塔,提出ROIPooling把各种尺寸的候选区域特征图映射成统一尺度的特征向量,首先,将不同大小的候选区域都切分成M×N块,再对每块都进行maxpooling得到1个值。这样,所有候选区域特征图就都统一成M×N维的特征向量了。但是,利用SS算法产生候选框对时间消耗非常大。

      FasterR-CNN是先用CNN骨干网提取图像特征,由RPN网络和后续的检测器共享,特征图进入RPN网络后,对每个特征点预设9个不同尺度和形状的锚盒,计算锚盒和真实目标框的交并比和偏移量,判断该位置是否存在目标,将预定义的锚盒分为前景或背景,再根据偏差损失训练RPN网络,进行位置回归,修正ROI的位置,最后将修正的ROI传入后续网络。但是,在检测过程中,RPN网络需要对目标进行一次回归筛选以区分前景和背景目标,后续检测网络对RPN输出的ROI再一次进行细分类和位置回归,两次计算导致模型参数量大。

      MaskR-CNN在FasterR-CNN中加了并行的mask分支,对每个ROI生成一个像素级别的二进制掩码。在FasterR-CNN中,采用ROIPooling产生统一尺度的特征图,这样再映射回原图时就会产生错位,使像素之间不能精准对齐。这对目标检测产生的影响相对较小,但对于像素级的分割任务,误差就不容忽视了。MaskR-CNN中用双线性插值解决像素点不能精准对齐的问题。但是,由于继承两阶段算法,实时性仍不理想。

      一阶算法在整个卷积网络中进行特征提取、目标分类和位置回归,通过一次反向计算得到目标位置和类别,在识别精度稍弱于两阶段目标检测算法的前提下,速度有了极大的提升

   YOLOv1把输入图像统一缩放到448×448×3,再划分为7×7个网格,每格负责预测两个边界框bbox的位置和置信度。这两个b-box对应同一个类别,一个预测大目标,一个预测小目标。bbox的位置不需要初始化,而是由YOLO模型在权重初始化后计算出来的,模型在训练时随着网络权重的更新,调整b-box的预测位置。但是,该算法对小目标检测不佳,每个网格只能预测一个类别。

     YOLOv2把原始图像划分为13×13个网格,通过聚类分析,确定每个网格设置5个锚盒,每个锚盒预测1个类别,通过预测锚盒和网格之间的偏移量进行目标位置回归。

      SSD保留了网格划分方法,但从基础网络的不同卷积层提取特征。随着卷积层数的递增,锚盒尺寸设置由小到大,以此提升SSD对多尺度目标的检测精度。

      YOLOv3通过聚类分析,每个网格预设3个锚盒,只用darknet前52层,并大量使用残差层。使用降采样降低池化对梯度下降的负面效果。YOLOv3通过上采样提取深层特征,使其与将要融合的浅层特征维度相同,但通道数不同,在通道维度上进行拼接实现特征融合,融合了13×13×255、26×26×255和52×52×255共3个尺度的特征图,对应的检测头也都采用全卷积结构。

      YOLOv4在原有YOLO目标检测架构的基础上,采用了近些年CNN领域中最优秀的优化策略,从数据处理、主干网络、网络训练、激活函数、损失函数等各个方面都进行了不同程度的优化。时至今日,已经有很多精度比较高的目标检测算法提出,包括最近视觉领域的transformer研究也一直在提高目标检测算法的精度。


     总结来看,表示的选择会对机器学习算法的性能产生巨大的影响,监督学习训练的前馈网络可视为表示学习的一种形式。依此来看传统的算法如Blob分析和模板匹配都是手工设计其特征表示,而神经网络则是通过算法自动学习目标的合适特征表示,相比手工特征设计来说其更高效快捷,也无需太多的专业的特征设计知识,因此其能够识别不同场景中形状、大小、纹理等不一的目标,随着数据集的增大,检测的精度也会进一步提高


         综上,基于深度学习算法的优势,其在我司智慧物流领域也得到了较深的应用,例如视觉单件分离设备的包裹分割定位3D视觉无序抓取工作栈的包裹轮廓识别属性识别3D视觉拆码垛工作栈的包裹识别引导等。对此,我司算法专家李博也表示:“AI的发展未来会在深度学习的基础上大放光彩,它将赋予机器多元感知、自主学习、自主分析、精准执行的能力”。


来源:赛那德科技


申明:感谢原创作者的辛勤付出。本号转载的文章均会在文中注明,若遇到版权问题请联系我们处理。


 

----与智者为伍 为创新赋能----


【说明】欢迎企业和个人洽谈合作,投稿发文。欢迎联系我们
诚招运营合伙人 ,对新媒体感兴趣,对光电产业和行业感兴趣。非常有意者通过以下方式联我们!条件待遇面谈
投稿丨合作丨咨询

联系邮箱:uestcwxd@126.com

QQ:493826566




评论
  • 遇到部分串口工具不支持1500000波特率,这时候就需要进行修改,本文以触觉智能RK3562开发板修改系统波特率为115200为例,介绍瑞芯微方案主板Linux修改系统串口波特率教程。温馨提示:瑞芯微方案主板/开发板串口波特率只支持115200或1500000。修改Loader打印波特率查看对应芯片的MINIALL.ini确定要修改的bin文件#查看对应芯片的MINIALL.ini cat rkbin/RKBOOT/RK3562MINIALL.ini修改uart baudrate参数修改以下目
    Industio_触觉智能 2024-12-03 11:28 41浏览
  • 戴上XR眼镜去“追龙”是种什么体验?2024年11月30日,由上海自然博物馆(上海科技馆分馆)与三湘印象联合出品、三湘印象旗下观印象艺术发展有限公司(下简称“观印象”)承制的《又见恐龙》XR嘉年华在上海自然博物馆重磅开幕。该体验项目将于12月1日正式对公众开放,持续至2025年3月30日。双向奔赴,恐龙IP撞上元宇宙不久前,上海市经济和信息化委员会等部门联合印发了《上海市超高清视听产业发展行动方案》,特别提到“支持博物馆、主题乐园等场所推动超高清视听技术应用,丰富线下文旅消费体验”。作为上海自然
    电子与消费 2024-11-30 22:03 86浏览
  • 当前,智能汽车产业迎来重大变局,随着人工智能、5G、大数据等新一代信息技术的迅猛发展,智能网联汽车正呈现强劲发展势头。11月26日,在2024紫光展锐全球合作伙伴大会汽车电子生态论坛上,紫光展锐与上汽海外出行联合发布搭载紫光展锐A7870的上汽海外MG量产车型,并发布A7710系列UWB数字钥匙解决方案平台,可应用于数字钥匙、活体检测、脚踢雷达、自动泊车等多种智能汽车场景。 联合发布量产车型,推动汽车智能化出海紫光展锐与上汽海外出行达成战略合作,联合发布搭载紫光展锐A7870的量产车型
    紫光展锐 2024-12-03 11:38 65浏览
  • 概述 说明(三)探讨的是比较器一般带有滞回(Hysteresis)功能,为了解决输入信号转换速率不够的问题。前文还提到,即便使能滞回(Hysteresis)功能,还是无法解决SiPM读出测试系统需要解决的问题。本文在说明(三)的基础上,继续探讨为SiPM读出测试系统寻求合适的模拟脉冲检出方案。前四代SiPM使用的高速比较器指标缺陷 由于前端模拟信号属于典型的指数脉冲,所以下降沿转换速率(Slew Rate)过慢,导致比较器检出出现不必要的问题。尽管比较器可以使能滞回(Hysteresis)模块功
    coyoo 2024-12-03 12:20 70浏览
  • RDDI-DAP错误通常与调试接口相关,特别是在使用CMSIS-DAP协议进行嵌入式系统开发时。以下是一些可能的原因和解决方法: 1. 硬件连接问题:     检查调试器(如ST-Link)与目标板之间的连接是否牢固。     确保所有必要的引脚都已正确连接,没有松动或短路。 2. 电源问题:     确保目标板和调试器都有足够的电源供应。     检查电源电压是否符合目标板的规格要求。 3. 固件问题: &n
    丙丁先生 2024-12-01 17:37 83浏览
  • 最近几年,新能源汽车愈发受到消费者的青睐,其销量也是一路走高。据中汽协公布的数据显示,2024年10月,新能源汽车产销分别完成146.3万辆和143万辆,同比分别增长48%和49.6%。而结合各家新能源车企所公布的销量数据来看,比亚迪再度夺得了销冠宝座,其10月新能源汽车销量达到了502657辆,同比增长66.53%。众所周知,比亚迪是新能源汽车领域的重要参与者,其一举一动向来为外界所关注。日前,比亚迪汽车旗下品牌方程豹汽车推出了新车方程豹豹8,该款车型一上市就迅速吸引了消费者的目光,成为SUV
    刘旷 2024-12-02 09:32 98浏览
  • 作为优秀工程师的你,已身经百战、阅板无数!请先醒醒,新的项目来了,这是一个既要、又要、还要的产品需求,ARM核心板中一个处理器怎么能实现这么丰富的外围接口?踌躇之际,你偶阅此文。于是,“潘多拉”的魔盒打开了!没错,USB资源就是你打开新世界得钥匙,它能做哪些扩展呢?1.1  USB扩网口通用ARM处理器大多带两路网口,如果项目中有多路网路接口的需求,一般会选择在主板外部加交换机/路由器。当然,出于成本考虑,也可以将Switch芯片集成到ARM核心板或底板上,如KSZ9897、
    万象奥科 2024-12-03 10:24 37浏览
  • 光伏逆变器是一种高效的能量转换设备,它能够将光伏太阳能板(PV)产生的不稳定的直流电压转换成与市电频率同步的交流电。这种转换后的电能不仅可以回馈至商用输电网络,还能供独立电网系统使用。光伏逆变器在商业光伏储能电站和家庭独立储能系统等应用领域中得到了广泛的应用。光耦合器,以其高速信号传输、出色的共模抑制比以及单向信号传输和光电隔离的特性,在光伏逆变器中扮演着至关重要的角色。它确保了系统的安全隔离、干扰的有效隔离以及通信信号的精准传输。光耦合器的使用不仅提高了系统的稳定性和安全性,而且由于其低功耗的
    晶台光耦 2024-12-02 10:40 102浏览
  •         温度传感器的精度受哪些因素影响,要先看所用的温度传感器输出哪种信号,不同信号输出的温度传感器影响精度的因素也不同。        现在常用的温度传感器输出信号有以下几种:电阻信号、电流信号、电压信号、数字信号等。以输出电阻信号的温度传感器为例,还细分为正温度系数温度传感器和负温度系数温度传感器,常用的铂电阻PT100/1000温度传感器就是正温度系数,就是说随着温度的升高,输出的电阻值会增大。对于输出
    锦正茂科技 2024-12-03 11:50 66浏览
  • 11-29学习笔记11-29学习笔记习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-02 23:58 51浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦