计算机视觉基础知识

  • 人们接受的信息大部分来自于视觉,为使机器像人一样拥有“视觉”,机器则需要看懂图像。

1. 计算机视觉定义

  • 人类视觉系统包含眼球(接收光信号)、视网膜(光信号转换为电信号,传输到大脑)和大脑皮层(从电信号中提取有效特征,引导人做出反应)。为了让机器模拟人类视觉系统,故用摄像头模拟眼球得到图像信息;用数字图像处理模拟“视网膜”将模拟图像转换为数字图像,让计算机能够识别。用计算机视觉模拟“大脑皮层”,设计算法提取图像特征,做识别检测任务。而机器模拟人类视觉系统即机器视觉(计算机视觉,Computer Vision, 简称CV),解决机器“看”的问题。

2. 计算机视觉主要任务

  • 计算机视觉应用非常广泛,有图像分类(Image Classification)、目标检测(Object Detection)、图像分割(Image
    Segmentation)、人脸检测与识别(Face Detection and Recognition)、光学字符识别(Optical Character Recognition)等等。

2.1 图像分类

2.1.1 图像分类概述

2.1.2 定义

  • 图像分类用来解决“是什么”的问题,比如给定一张图片,用标签描述图片的主要内容。车牌号码识别、交通灯识别、图像识别等都是典型应用。
  • 从计算机的视角来看,一张图片是一个值从0到255的矩阵,计算机对矩阵进行分析,得到类别结果,即计算机视觉的图像分类

2.1.3 图像的分类粒度

2.1.4 图像分类的主要流程

  • 在使用计算机完成图像分类,大致可分为数据集采集、图片预处理、特征提取、分类器训练、模型评估

  • 图片预处理的目的是为消除图片中无用的信息,恢复有用的信息,更利于后续的特征提取的环节。简单的图像特征提取是提取物体的颜色、物体的轮廓等。分类器训练是将图像的特征与标签进行匹配。当分类器训练好之后,新的图片输入到分类器,查看分类的效果,便是模型评估。

2.1.5 图像分类算法流程

2.2 目标检测

2.2.1 定义

  • 目标检测用来解决“在哪里”的问题,如输入一张图片,输出待检测目标的类别和所在位置的坐标(矩形框的坐标值表示)。目标检测应用在姿态估计、车辆检测、人脸检测、口罩佩戴检查等。

2.2.2 目标检测的主要流程

  • 机器是没有位置的感觉,而是通过矩形窗口在图片上滑动,获得物体的初始位置,再分析该窗口内的特征,是不是此物体。

  • 早期,目标检测算法还没有使用深度学习,一般分为三个阶段:区域选取、特征提取、特征分类。区域选取这一步是为了对物体进行定位,采用了滑动窗口的策略,物体在图像中的位置和大小是变化的,因而需要不同的矩形窗口的比例,再通过矩形窗口在图像中从左到右、从上到下的滑动,可以获得图像上任意位置不同大小的物体。特征提取和特征分类的阶段是找到物体的类别,跟图像分类一致。

2.2.3 目标检测的发展

2.2.4 两类目标检测

2.2.4.1 Two stage目标检测

  • two stage工作就是将detection任务拆成先定位、后识别的任务。先定位主要就是为了将有用的前景信息尽可能多地保留下来,滤除掉对后续任务无用的背景信息,随后再去识别前景信息

2.2.4.2 One stage目标检测

  • 最早的one-stage工作可以追溯到YOLOv1(2016)
  • YoloV1最大的亮点就是它只需要一个单一的网络就能够同时完成定位和分类两件事。因此,这样的网络训练起来必然能够真正地端到端、推理的时候速度也必然会更快。
  • 出发点:其实就是对two stage中的RPN的合理扩展。
    --RPN其实它同时完成了定位和分类两件事,定位就是输出RoI的边界框坐标,
  • YOLO这是将Faster R-CNN的两部分的任务都捏合进了RPN一个网络里,仅靠一个网络输出同时包含了坐标和类别置信度的tensor。
  • one stage检测器大大简化了two stage的框架,将定位和分
    类全部交给RPN独自完成,后续的RoI pooling等统统拿掉,提
    升了推理速度、简化了训练步骤

2.2.5 Faster R-CNN

2.3 图像分割

  • 图像分割是机器视觉任务的一个重要基础任务,在图像分析、自动驾驶、视频监控等方面都有很重要的作用。图像分割可以被看成一个分类任务,需要给每个像素进行分类,所以就比图像分类任务更加复杂
  • 参考文献:
  1. Image segmentation using deep learning: A Survey
    https://arxiv.org/pdf/2001.05566.pdf
  2. A survey of loss functions for semantic segmentation
    https://arxiv.org/pdf/2006.14822.pdf

2.3.1 定义

  • 图像分割是计算机视觉领域的重要研究方向之一,它根据图片的灰度、颜色、结构和纹理等特征将图像分成若干具有相似性质的区域。与目标检测相比较,图像分割更适用于精细的图像识别任务,更加精确的目标定位、以及图像的语义理解任务。图像分割的典型应用是卫星图像分析、自动驾驶,医学图像诊断等。
  • 语义分割semantic segmentation、实例分割instance segmentation、全景分割panotic segmentation

2.3.2 图像分割的主要流程

  • 当我们人类在看图像的时候,往往对图像中感兴趣的区域关注大,这个区域通常称为感兴趣区域或是前景,如上图中的人像分割将图片中的前景与其背景分开。算法根据前景和背景的颜色、纹理的不同来分割图像,首先通过分析找到前景和背景的颜色阈值;其次将图像中的每个像素值与阈值比较,分为两类;最后与原图映射获得前景。

  • 常规的图像分割算法有基于阈值的分割、基于边缘检测的分割、区域生长算法、GrabCut 和分水岭算法等。在深度学习中,图像分割是一种端到端的像素级分类任务,就是给定一张图片,对图片上的每一个像素分类,可以按照分类模型的思路来做,不同的是,分割模型的输出是一张分割图。

2.3.3 U-Net模型

  • 论文地址:U-Net: Convolutional Networks for Biomedical Image Segmentation 2015 MICCAI
  • U-Net因其结构简单、易于训练和有效性而受到青睐,同时也为图像分割任务提供了一个强大的基准模型。
  • Unet++(2018)
    Unet++继承了Unet的结构,同时又借鉴了DenseNet的稠密连接方式。

2.3.4 U2Net

2.3.5 SegNeXt模型

https://blog.csdn.net/Jason_android98/article/details/126970145
https://zhuanlan.zhihu.com/p/566511170

2.4 人类识别

2.4.1 定义

  • 从广义上来说,人脸识别包含构建人脸识别系统中所用到的一系列相关技术,包括人脸图像采集、图像处理、人脸定位、身份确认、身份查询等;而狭义的人脸识别则特指通过人脸图像进行身份确认的技术或系统。人脸识别通常也叫人像识别、面部识别等。
    Alt text

2.4.2 人脸识别的主要流程

  1. 第一步就是人脸图像采集,也就是 “睁开眼,扭过头”。人脸识别系统将通过各种各样的摄像头采集可见光图像、热成像图像、近红外图像等多种图像,并且还可以有静态、动态等不同情况作为区分。

  2. 第二步就是人脸检测,也就是“看到他的脸”。这里可以使用各种人脸检测模型对画面中的人脸进行检测,生成对应的人脸框,之后就可以将人脸框以外的图像排除,专注于对人脸框内图像的探索。

  3. 第三步就是数据处理。摄像头所拍摄的人脸可能有多种角度、表情、亮度等,需要通过例如光线补偿、灰度变换、直方图均衡化、归一化、几何校正、滤波以及锐化等方式对人脸图像进行处理,使其更能表现出系统所要的人脸特征。

  4. 第四步就是对人脸图片进行特征提取和分类,例如使用深度神经网络挖掘图片的深层特征,并在特定维度上对深层特征进行分类,即可判断这个人是谁。

2.5 目标跟踪

2.5.1 定义

  • 目标跟踪是利用图像序列的上下文信息,对目标的外观和运动信息进行建模,从而对目标运动状态进行预测并标定目标位置。目标跟踪是计算机视觉中一个课题,具有重要的理论研究意义和应用价值,在智能视频监控系统、智能人机交互、智能交通和视觉导航系统等方面具有广泛应用。

2.5.2 目标跟踪的主要流程

  • 通过摄像头捕获图像序列,然后输入计算机计算出目标的位置,再根据目标相关的特征,将每一帧中的同一个目标关联起来从而得到目标运动的完整轨迹。

  • 同一个目标关联起来的常用方法是将目标跟踪问题看作一个二分类问题,把图像分为前景图像(正样本)和背景图像(负样本),利用最适合实际场景的图像特征和最佳的分类方法,将目标从背景区域中区分出来,期间不断地在线更新分类器来估计目标的位置。

2.6 生成对抗网络

2.6.1 定义

生成对抗网络(Generative Adversarial Network, GAN)是由Ian Goodefellow等人提出的无监督学习方法,能够建模高维复杂的数据分布,巧妙地利用“对抗”的思想学习生成式模型。GAN 的很多衍生模型已经在一定程度上解决了特定场景中的图像生成问题。此外,诸如文本到图像的生成、图像到图像的生成等应用研究。

2.6.2 主要思想

  • GAN 由两部分构成,一个是生成模型 G(Generator),主要作用是生成假的样本,另一部分为判别模型 D(Discriminator),主要作用是判断是否为可接受的生成数据。

  • 在训练过程中,生成模型 G 的目标是尽量生成接近真实的样本去欺骗判别模型 D,而判别模型 D 的目标则是尽量把 G 的生成样本和真实样本区分开来,这样 G 和 D 构成一个动态的“博弈”。GAN 评估所生成样本的质量,最开始生成的样本非常容易分辨,后来生成器渐渐的能够生成更为逼真的样本,则需要重新训练判别器,因此称为对抗。最后博弈的结果是,G 生成的样本难以被 D 区分出来是生成的还是真实的,此时得到的生成模型,可以用来生成样本数据。


3. 主讲算法

3.1 DenseNet

**Densely Connected Convolutional Networks **

3.2 MobileNet/ V2

3.3 ShuffleNet/V2

3.4 SENet/CBAM

3.5 SKNet

3.6 ResNeXt

友情链接:

计算机视觉概述

posted @ 2024-10-07 12:52  awei040519  阅读(455)  评论(0)    收藏  举报