• 图像识别算法汇总



    如今,人工智能和计算机视觉在我们身边无处不在:要求Siri安排下一次财务会议,使用面部识别解锁手机等。人工智能与计算机视觉是科技行业的突出话题。人工智能依赖于许多不同的工具和技术来模仿人类智能,并通过在不同设备上应用的各种算法来重建它。计算机视觉是一个关注机器分析和理解图像和视频的能力的IT领域,它在机器学习中完成图像识别的任务。

    什么是图像识别?

    图像识别是一种机制,用于识别图像中的对象,并根据人类识别不同图像集中对象的方式将其分类为特定类别。

    图像识别如何为人类工作?

    当我们看到一个物体或图像时,作为人类,我们能够立即准确地知道它是什么。人们根据我们在一组物体上识别的属性,将他们所看到的一切分类为不同类别。这样,即使我们不知道物体是什么,我们通常也能够将其与我们过去见过的不同类别的物体进行比较,并根据其属性对其进行分类。让我们以一种我们不认识的动物为例。即使我们不能清楚地识别它是什么动物,我们仍然能够识别它是一种动物。

    人们很少思考他们观察事情是什么,以及如何识别物体,这完全是在潜意识中发生的。人们并不总是关注周围的一切。根据我们以前的经验,也就是说,我们的大脑经过训练,能够很容易地识别物体,也就是我们过去已经遇到过的物体。我们确实有一种非凡的推理能力:当我们看到类似于我们以前见过的物体的东西时,我们能够推断出它属于某一类物品。我们不一定需要查看图像的每个部分来识别其中的对象。一旦你看到你认出的物品的一部分,你就知道它是什么。我们通常使用颜色和对比度来识别物品。
    对于人类来说,大多数图像识别都是在潜意识中工作的。但是,当涉及到机器的图像识别时,它要复杂得多。

    图像识别如何与机器一起工作?

    机器只识别我们编程的对象类别。他们天生无法知道和识别他们所看到的一切。如果机器被编程为识别一类图像,它将无法识别程序之外的任何其他图像。机器只能指定一组图像中存在的对象是否对应于该类别。机器是否会尝试将对象放入类别中,还是会完全忽略它。
    对于机器,图像仅由数据、像素值数组组成。每个像素包含有关红色、绿色和蓝色颜色值的信息(每个像素从0到255)。对于黑白图像,像素将具有关于暗度和白度值的信息(对于这两个值,从0到255)。
    机器不看整个图像;他们只对像素值和这些值中的模式感兴趣。他们只需获取一个项目的像素模式,并将其与其他模式进行比较。如果两个模式足够接近,机器会将它们关联起来,并将第二个模式识别为过去已经遇到过的模式。从这个意义上讲,正在发生的事情是,机器将在图像中寻找相似像素值的组,并将尝试将它们放在特定的图像类别中。
    程序100%识别图像是非常罕见的。像素图案在比较时很少100%相同。解决这些问题并找到改进是IT研究人员的工作,其目标是向用户提出可能的最佳体验。

    通过机器学习练习图像识别

    图像识别的目标是识别、标记和分类检测到的不同类别的对象。物体或图像识别是一个涉及各种传统计算机视觉任务的完整过程:

    • 图像分类:标记图像并创建类别。
    • 目标定位:通过用边界框包围对象来识别图像中对象的位置。
    • 目标检测:在边界框的帮助下确定对象的存在,并在其所属的类中对其进行分类。
    • 目标分割:区分各种元素。识别并定位图片中的每一项。分割不使用边界框,而是突出显示图像中对象的轮廓。

    在过去几年中,这项计算机视觉任务取得了巨大的成功,主要得益于机器学习应用。

    流程和模型

    为了完成这4项任务,机器学习和图像识别系统确实需要完成几个重要步骤。

    设置、训练和测试

    首先,机器必须确切地知道它要寻找什么。因此,有必要为其提供您决定要处理的参数。定义边界框的尺寸和其中的元素至关重要。为此,机器必须提供一些参考资料,可以是图片、视频或照片等。这些元素将使其在分析未来数据时更有效。这将创建一种数据库,然后由神经网络用于区分各种对象。神经网络由多个人工神经元组成。这些神经元旨在模仿人脑。它与一组不同的算法一起工作,也受到大脑功能的启发。如果我们想让图像识别模型分析和分类不同种族的狗,那么模型需要有一个不同种族的数据库来识别它们。

    第二,模型需要进入训练阶段。数据集需要在程序中输入才能正常运行。这一阶段只是为了训练卷积神经网络(CNN)来识别特定的对象,并将它们准确地组织在对应的类中。

    在使用人工智能模型之前,需要对其进行彻底测试。要做到这一点,有必要提出不属于培训阶段的图像。根据项目是否能够识别所有项目以及分类的准确性,模型将被批准或不被批准。

    以下是一些最流行的机器学习模型图像识别及其工作原理。

    机器学习图像识别

    支持矢量机(SVM)

    SVM模型使用一组技术来创建一种算法,该算法将确定图像是否对应于目标对象。根据设置的数据集,SVM模型被训练为将超计划分成几个类别。在此过程中,根据像素值,对象被放置在超计划中,它们的位置基于从训练阶段学习到的类别分离来预测类别。

    图像检索模型

    模型考虑了要分析的图像和参考样本照片。然后,模型中的算法尝试将样本照片中的像素模式与目标图片的某些部分进行匹配,以进行分析

    Viola-Jones算法

    这是用于面部识别的最著名的工具之一。甚至在使用CNNs之前就已经使用了它。它扫描人脸,从人脸中提取一些特征,并对其进行分类。它还使用了一种增强算法,旨在帮助进行更准确的分类。

    卷积神经网络

    我们在本文早些时候已经讨论过CNN。但有必要对这一概念再深入一点。
    机器学习依赖于人脑给予它的东西。它主要由人监督,首先是在传送一组参考图像时,训练机器识别物体并测试方法。CNN是深度学习技术的一种特定模型架构。CNN算法允许机器以令人印象深刻的精度检测和分类图片中观察到的所有对象。
    这种算法适用于不同层次的感知。通常很难解释最终预测中特定层的作用,但研究已经取得了进展。例如,我们可以解释一个层分析颜色、另一个形状、对象的下一个纹理等。在过程结束时,所有层的叠加使预测成为可能。

    目标检测算法主要分为两类:

    • Two-stage方法:如R-CNN系列算法,主要思路就是通过Selective Search或者CNN网络产生一系列的稀疏矩阵的候选区域,然后对这些候选区域进行分类和回归,two-stage的方法优势在于准确率度高;
    • One-stage方法:如YOLO系列方法,主要思路就是均匀地在图片上不同位置进行密集采样,采样时使用不同尺度和长宽比box,然后利用CNN提取特征后直接进行分类和回归,整个过程只需要一步,所以优势在于速度快。我们接下来介绍的SSD方法也是单阶段的算法。

    深度学习已证明在检测对象和对其进行分类方面非常有效。有不同的方法,每个方法都有自己的特点。以下是其中三个程序

    基于区域FasterRCNN

    更快的RCNN是一种基于区域分析的卷积神经网络算法。当分析新图像时,在使用参考集进行训练后,Faster RCNN将在图片中提出可能发现对象的一些区域。当算法检测到感兴趣的区域时,这些区域随后被边界框包围并裁剪,然后被分析以分类在适当的类别内。为什么它被称为更快的RCNN?因为通过提出可能放置对象的区域,它允许算法进行得更快,因为程序不必在整个图像中导航来分析每个像素模式。

    SSD

    使用单发探测器算法与RCNN直接相关。在识别和绘制边界框时,大多数情况下,它们彼此重叠。这是使用SSD的主要原因。为了防止这些框重叠,SSD使用具有不同比率的网格来划分图像。然后,如果我们观察到一个盒子放在另一个盒子的上面,例如,因为系统检测到一个女孩在汽车前面,算法建议创建两个不同的锚框,以便将这两个物品分开。这样,图片被划分为不同的特征平面,并被单独处理,机器能够处理更多对象的分析。这项技术显示非常成功、准确,并且可以快速执行。

    YOLO

    正如算法的名称所暗示的,由于网格大小固定,该技术只能一次性处理整个图片。它在网格的每个部分中查找元素,并确定是否有任何项目。如果是这样,它将被识别为丰富的盒子,然后将其分类。只查看一次网格会使过程变得非常快速,但存在方法不深入细节的风险。结果不如SSD方法准确。

    机器学习图像识别的不同应用领域

    如今,计算机视觉和识别一直在我们身边。从早上用脸打开手机,到走进商场购物。许多不同的行业已决定在其流程中实施人工智能。

    面部识别

    人脸分析是一种主要的识别应用。许多公司都使用它来同时检测不同的人脸,例如,为了知道图像中有多少人。警方和安全部队可以使用人脸识别来识别罪犯或受害者。人脸分析涉及性别检测、情绪估计、年龄估计等。

    企业识别这些特征的需要很容易理解。它使他们能够准确地分析他们的客户是谁。这样,一家时装店就可以意识到,它的顾客由80%的女性组成,平均年龄在30到45岁之间,顾客似乎不喜欢店里的一篇文章。当他们看到这条绿色裙子时,他们的面部表情往往会感到失望。了解所有这些细节对于他们了解目标并在未来调整沟通至关重要。

    面部分析也非常用于识别。苹果最近开发了一种用脸解锁手机的方法。他们甚至开发了一种不摘下外科口罩的方法。

    健康与医学

    治疗患者可能具有挑战性,有时检查过程中可能会漏掉一个微小的因素,导致医护人员提供错误的治疗。为了防止这种情况发生,医疗保健系统开始分析治疗期间获取的图像。X射线照片、收音机、扫描,所有这些图像材料都可以使用图像识别来检测从一个点到另一个点的单个变化。检测肿瘤、病毒的进展、静脉或动脉异常的出现等。

    智慧农业

    农民的日常生活远非易事。为了继续照顾好他们的动物和种植园,他们需要监控它们。

    对农民来说,监测牲畜已经成为一种舒适的养牛方式。通过配备运动传感器和图像检测程序的摄像机,他们能够确保所有动物的健康。他们还可以监测动物的出生情况。农民可以很容易地发现母牛是否在生小牛时遇到困难。他们可以迅速干预,帮助动物分娩,从而防止两只动物的潜在死亡。

    农民也种植自己的植物,主要是为了喂牛。为了查看田地是否健康,可以对图像识别进行编程,以检测植物上是否存在疾病。农民可以迅速处理种植园,并能够和平收获。

    安保和安全

    安全和保障是当今社会的两大关注点。由于图像识别和检测,识别罪犯或受害者甚至武器变得更加容易。例如,在安全至关重要的机场。整天,安全人员都在仔细检查屏幕。在人工智能的帮助下,他们能够非常迅速地发现危险。当一件行李无人看管时,监视人员可以立即与现场官员取得联系,以便尽快控制局势并保护群众。当出示护照时,会对个人的指纹和面部进行分析,以确保其与原始文件相符。

    保险公司也在使用识别技术。当有人投诉抢劫案并要求保险公司赔偿时。后者定期要求受害者提供视频片段或监控图像,以证明重罪确实发生。很多时候,小偷会被摄像头拍到,并被识别出来。有时,有罪的个人会被起诉,并可能因面部识别而面临指控。

    电子商务

    自新冠肺炎疫情爆发以来,网上商店正经历一场繁荣。由于各种因素,他们设法以指数方式发展自己的活动。

    他们最近取得的进步之一是图像识别,以更好地为客户服务。许多平台现在能够根据他们之前观看的内容,识别他们网购者最喜欢的产品,并向他们推荐新的购买商品。

    另一方面,一些新的应用程序建议用户只需拍摄他们在街上遇到的人身上发现的物品的照片,就可以找到一家有类似或相同物品可供购买的商店。然后,该算法能够给出一个你可以购买你朋友今天穿的鞋子的地方列表。

    过去几十年来,人工智能和图像识别领域取得了巨大的进步。毫无疑问,研究人员已经在寻找基于这些特殊技术提供的所有可能性的新技术。

  • 相关阅读:
    LeetCode题目笔记——面试题 01.08. 零矩阵
    三次握手与四次挥的问题,怎么回答?
    深入理解ThreadLocal
    信息学奥赛一本通 1617:转圈游戏 | 1875:【13NOIP提高组】转圈游戏 | 洛谷 P1965 [NOIP2013 提高组] 转圈游戏
    rauth,一个强大的Python库!
    VUE 文件导出下载
    【面试题】集合并发问题
    【C++】内存管理
    多服务器云探针源码(服务器云监控)/多服务器多节点_云监控程序python源码
    Css 设置从上到下的渐变色: 0到70%为yellow,然后线性地变成透明。
  • 原文地址:https://blog.csdn.net/weixin_42010722/article/details/128149907