• 你了解计算机视觉目标分类、识别、检测、分割任务吗,一文读懂这些CV问题


    你了解计算机视觉目标分类、识别、检测、分割任务吗,一文读懂这些CV问题

    提示:据说这是科大讯飞的算法面试题
    计算机视觉(Computer Vision)是研究如何使机器“看”的科学。

    在CV领域,主要的任务分别为图像分类/定位、目标检测、目标跟踪、语义分割以及实例分割。

    此外还有很多其他更加具体的任务。本文将针对这些主要任务的概念做介绍。

    基础知识:
    【1】深度学习面试题——深度学习的技术发展史


    图像分类

    图像分类是计算机视觉中重要的基础问题,是物体检测、图像分割、物体跟踪、行为分析、人脸识别等其他高层视觉任务的基础。

    是根据图像的语义信息对不同类别图像进行区分
    即给定一张图片或一段视频判断里面包含什么类别的目标

    对于一幅图像来说,分类就是聚类,即分割;
    对于一组图像样本来说,分类是检测出样本中有相同目标的图像

    比如在学习分类中数据集有人(person)、羊(sheep)、狗(dog)和猫(cat)四种,图像分类要求给定一个图片输出图片里含有哪些分类,比如下图的例子是含有person、sheep和dog三种。

    在这里插入图片描述


    目标检测

    目标检测任务是给定一张图像或是一个视频帧,让计算机定位出这个目标的的位置并且知道目标物是什么,即输出目标的Bounding Box(边框)以及分类标签

    如下图,人脸检测(人脸为目标、背景为非目标)、汽车检测(汽车为目标、背景为非目标)。
    在这里插入图片描述


    目标分割

    目标分割是检测到图像中的所有目标,分为语义分割(Semantic-level)和实例分割(Instance-level)

    解决“每一个像素属于哪个目标物或场景”的问题,属于像素级的,需要给出属于每一类的所有像素点,而不是矩形框

    在这里插入图片描述

    语义分割

    图像语义是指对图像内容的理解,例如,能够描绘出什么物体在哪里做了什么事情等,分割是指对图片中的每个像素点进行标注,标注属于哪一类别

    通常意义上的目标分割指的就是语义分割。

    语义分割 就是需要区分到图中每一个像素点,
    但是同一物体的不同实例不需要单独分割出来。

    对下图标注为人,羊,狗,草地。

    而不需要羊1,羊2,羊3,羊4,羊5等。
    在这里插入图片描述

    实例分割

    实例分割 其实就是目标检测和语义分割的结合。

    相对目标检测的边界框,实例分割可精确到物体的边缘

    相对语义分割,实例分割需要标注出图上同一物体的不同个体(羊1,羊2,羊3…)。

    在这里插入图片描述

    目标跟踪

    目标跟踪是指在给定场景中跟踪感兴趣的具体对象或多个对象的过程。

    简单来说,给出目标在跟踪视频第一帧中的初始状态(如位置、尺寸),自动估计目标物体在后续帧中的状态。

    这是单目标跟踪
    还有多目标跟踪

    在这里插入图片描述

    总之:
    计算机视觉典型的技术路线是:目标分割 ——>目标检测 ——>目标识别 ——>目标跟踪

    如:需要对视频中的小明进行跟踪,处理过程将经历如下过程:

    (1)首先,采集第一帧视频图像,因为人脸部的肤色偏黄,因此可以通过颜色特征将人脸与背景分割出来(目标分割);

    (2)分割出来后的图像有可能不仅仅包含人脸,可能还有部分环境中颜色也偏黄的物体,此时可以通过一定的形状特征将图像中所有的人脸准确找出来,确定其位 置及范围(目标检测);

    (3)接下来需将图像中的所有人脸与小明的人脸特征进行对比,找到匹配度最好的,从而确定哪个是小明(目标识别);

    (4)之后的每一帧就不需要像第一帧那样在全图中对小明进行检测,而是可以根据小明的运动轨迹建立运动模型,通过模型对下一帧小明的位置进行预测,从而提升跟踪的效率(目标跟踪)

    关于以上几个概念,有关的核心技术发展和历程,请看这个文章,我已经总结得非常非常详细了:
    【1】深度学习面试题——深度学习的技术发展史


    总结

    提示:重要经验:

    1)通用的计算机视觉CV研究问题:目标分类,目标识别,目标检测,目标分割,目标跟踪
    2)具体核心的发展历程在这个文章里讲透彻:深度学习面试题——深度学习的技术发展史
    3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。

  • 相关阅读:
    Redis系列:使用Redis实现分布式锁及相关问题
    达梦数据库系列—15. 表的备份和还原
    【Spring AOP】统一处理过程 代码实现
    mask: rle, polygon
    Flutter(十) 音频+视频播放
    Django ORM:最全面的数据库处理指南
    什么是capturing lambda
    Qt基于Qml超链接使用
    简便实用:在 ASP.NET Core 中实现 PDF 的加载与显示
    深度解读AIGC存储解决方案
  • 原文地址:https://blog.csdn.net/weixin_46838716/article/details/125492201