三、计算机视觉_02计算机视觉领域的四大基本任务
0、前言
计算机视觉(缩写为CV的Computer Vision)作为人工智能的重要组成部分之一,在多个交叉学科领域中发挥着关键作用。作为一个涉及多个交叉学科领域的研究方向,在计算机科学、人工智能、机器学习、图像处理以及神经科学等多个领域都具有广泛的应用前景和深入的研究价值。
通过模拟人类视觉系统的功能特性来运用计算技术;使计算机能够从图像或多维数据中获取信息、判断或识别对象、场景或活动;其目标是使计算机能够像人类一样感知并解析视觉世界;其应用非常广泛包括但不限于多个领域。
- 自动驾驶系统:利用感知装置识别路标、行人的视觉信息以及周围车辆的状态。
- 影像诊断辅助技术:为医疗判断提供支持功能,在癌症早期筛查中发挥关键作用。
 - 面部特征识别系统:通过分析面部数据实现精准的人脸匹配。
 - 工业生产方面:
- 质量控制:采用先进的参数检验方法确保产品质量符合标准。
 - 智能机器人路径规划:通过算法优化机器人的操作效率。
 
 - 增强现实与虚拟现实技术:
- 提供身临其境的感觉体验。
 - 利用视觉反馈提升AR的真实感和沉浸感。
 
 - 智能手机功能:
- 面部特征匹配解锁流程。
 - 图像数据库检索功能用于快速定位所需内容。
 
 
 
计算机视觉主要涉及图像识别、目标识别与定位、边界检测以及区域划分 这四个核心模块;这些模块是构成复杂视觉系统的基石;许多关键功能则是在这四个基础模块的基础上进一步拓展而成。

1、图像分类(Image Classification)
1.1 概念
分类任务旨在回答"什么?"这一问题。具体来说,在给定一张图片或一段视频后, 通过分析其内容来确定其中所包含的目标类别.这通常涉及提取图像的特征信息并进行分析以确定其内容.然后将这些对象归类到预定义的目标类别中(例如, 在一张图片中识别出的对象是猫还是狗)
输入: 一张图片 输出: 各类别对应的概率值 策略决定采用贪心解码方法
1.2 操作过程
Step1:数据预处理 :包括图像的缩放、归一化等
步骤二:特征提取
第3步:构建分类模型,在基于提取的特征基础上进行模型训练过程。例如支持向量机(SVM)、随机森林等算法或深度神经网络均可用于实现这一目标,并结合全连接层与交叉熵作为优化指标。
Step4:分类预测 :将训练好的模型应用于新图像,进行类别预测
1.3 应用场景
包括但不限于以下场景:
- 图像标注和检索
 - 内容过滤和版权保护
 - 农业中的作物病害识别
 
1.4 算法模型
- 经典的特征提取技术包括小幅度不变量特征描述子(SIFT)、 Histogram of Oriented Gradients (HOG)以及视觉词袋模型(Bag of Visual Words)等。
 - 基于卷积神经网络的方法包括 AlexNet 、 VGGNet 和 ResNet 等。
 
【备注】
本质上是一个样本级分类,任务比较粗糙,难度较低
2、目标定位(Object Localization)
2.1 概念
该定位任务基于目标的边界框进行识别以确定对象的位置;举个例子来说,在一张图片里,该定位任务能够识别出人类、动物和其他物体,并明确指出它们在图像中的具体位置
2.2 操作过程
Step1:图像预处理 :与图像分类类似
Step2:特征提取 :提取有助于定位对象的特征
Step3:边界框预测 :使用分类器和回归器预测对象的类别和位置
Step4:后处理 :如非极大值抑制(NMS)来去除重叠的边界框
2.3 应用场景
包括但不限于以下场景:
- 图像编辑和增强
 - 安全监控和交通管理
 
2.4 算法模型
- 传统算法:Adaptive Boosting算法及其相关的级联分类系统等
- 深度学习方法:The following algorithms include:
- 基于区域的卷积神经网络系列(如A Region-based Convolutional Neural Network, Fast Region-based Convolutional Neural Network, Faster Region-based Convolutional Neural Network)
 - The Single Shot MultiBox Detector (SSD)
 - The You Only Look Once detector (YOLO)
 
 
 - 深度学习方法:The following algorithms include:
 
3、目标检测(Object Detection)
3.1 概念
检测任务集成了分类与定位两大功能,在实际操作中不仅能够识别图像中的物体(或目标),还能够精确定位这些物体的位置。该任务的输出结果涉及多个目标对象。
- 是什么?(类别概率 Probability)
 - 在哪里?(边界框 Bounding Box)
 
3.2 操作过程
Step1:图像预处理 :与图像分类类似
Step2:特征提取 :提取有助于检测对象的特征
Step3:对象识别 :使用深度学习模型识别对象并预测边界框和类别
Step4:后处理 :使用NMS等技术优化检测结果
3.3 应用场景
包括但不限于以下场景:
- 自动驾驶车辆中的行人和车辆检测
 - 视频监控中的异常行为识别
 
3.4 算法模型
- R-CNN系列(R-CNN、Fast R-CNN、Faster R-CNN)、RetinaNet、SSD、YOLO等
 
【备注】
本质上不仅需要进行分类工作还需要完成定位任务。而且这一任务还具有多重特性即能够同时识别不同类别的样本每个类别内部包含多组实例对每一个实例都需要计算其归属概率并完成定位任务因此这一任务具有较高的精细度同时也面临着较大的挑战性
解决问题的方法:
Step1:把图像切成一个一个的片段
Step2:做图像分类,看每一个小片段是否有相关的目标
Probability:分类概率就是目标的概率
Location:片段的边界框就是定位坐标
图像分类策略在目标检测中的应用涵盖两个核心环节:特征提取过程和分类机制。基于操作流程的不同阶段划分,则可分为基于区域检测的方法以及基于全局特征的学习两种主要方式。
先切原图,再针对每个片段抽特征,做分类:
- MTCNN:正如前面所述,在MTCNN中采用分阶段细化的方法对目标检测结果进行优化。该方法首先生成候选区域(图像切割),然后依次进行特征提取与分类识别。
 
先对原图提特征,然后切特征图,再做分类:
SSD(Single Shot MultiBox Detector):其多尺度特征图上的目标检测能力使得SSD能够有效识别大小不一的目标物体。其工作流程首先是通过卷积神经网络从输入图像中提取出多层特征,并在此基础上生成候选边界框及其对应的类别概率估计。
YOLO算法(全称You Only Look Once):该算法将目标检测任务转化为一个回归问题,并直接在图像上同时预测边界框坐标及其对应的目标类别概率。具体而言,该算法首先通过对图像进行多尺度采样来获取特征图,并通过滑动窗口的方式探测到所有可能的目标区域;接着,在这些预处理后的特征图上执行目标检测
目标检测的方法主要有两种类别:
Anchor Based(基于锚定元素的方法):在该方法中要求预先设定一组包含不同尺寸与比例的锚定点(Anchor/ 锚定),这些锚定点旨在涵盖图像中可能出现的目标大小范围;随后根据这些锚定点进行进一步优化计算(optimization computation),估算并修正各目标边界框之间的偏移量(offset)。这一流程通常涉及优化计算流程(optimization workflow),以实现将这些锚定点最终定位至目标的实际位置(actual position)。
锚点自由的方法:与锚点依赖型的方法不同,在这种锚点自由的方法中,并非基于预先定义好的锚点,在图像的具体位置直接预测目标的目标边界框;其中一种采用锚点自由策略的方法是Corner Proposal Network(CPN),它通过识别目标物体的四个角点来确定边界框的位置和尺寸。
4、图像分割(Image Segmentation)
4.1 概念
细分检测任务进一步细化为分割任务。不仅识别并定位图像中的物体,还需对每个物体执行像素级别的分割。具体可分为两类:语义分割 和 实例分割。
语义分割将每个像素划分为特定类别(例如实现对天空、树木、建筑等不同类别的识别),而实例分割则会对每一个独立的对象进行精确到像素级别的分割(例如在图中能够清晰辨识每一只猫或狗的位置和边缘特征)
4.2 操作过程
Step1:图像预处理 :包括去噪、增强等
Step2:分割网络 :使用深度学习模型对每个像素进行分类
Step3:后处理 :如形态学操作来改善分割结果
4.3 应用场景
包括但不限于以下场景:
- 医学成像中的组织和病变分割
 - 自动驾驶中的路面和障碍物分割
 
4.4 算法模型
- 传统方法:基于阈值的分割技术、基于区域的图像处理方法以及分水岭算法等
- 深度学习方法:FCN模型、UNet架构(全称为U-Net架构)、mask R-CNN模型以及SAM模型等
 
 
5、版本之子——YOLO
YOLO(You Only Look Once)是一种广泛应用于计算机视觉领域的模型。该系统最初被开发用于目标检测任务,并经过多次迭代优化后,不仅限于上述任务。它能够执行包括图像分类、目标定位、目标检测和图像分割在内的多种视觉任务。
目前YOLO凭借其迅速性和高精确度的特点,在计算机视觉领域已经非常流行并且非常强大;YOLO特别适用于需要实时处理的应用场景如视频监控以及自动驾驶等技术
几乎可以这么说:当今世界,计算机视觉≈YOLO
