人工智能主要包括自然语言处理、计算机视觉和传统机器学习(非多层神经网络)三个领域。基于自然语言处理技术又衍生出AI逻辑推理和AI智能体技术。以下为计算机视觉技术主要解决的问题和方案。
一、低级视觉任务
低级视觉任务(Low-Level Vision)旨在处理图像的底层特征,注重像素级操作:
- 图像去噪:消除传感器噪声(如高斯噪声)。
- 超分辨率重建:从低分辨率图像恢复高清细节(如老照片修复)。
- 图像增强:调整亮度/对比度(如医疗X光片增强)。
- 色彩校正:白平衡调整、风格迁移(如滤镜效果)。
例如传统滤波是数字图像处理中用于增强或提取特定信息的经典方法。
二、中级视觉任务
中级视觉任务(Mid-Level Vision)旨在提取结构化信息,建立像素与物体间的关联:
- 边缘检测:识别物体轮廓(如Canny算子)。
- 特征提取:SIFT、ORB等传统特征点,或CNN深层特征。
- 光流估计:分析视频中像素的运动(如自动驾驶预测行人轨迹)。
- 立体视觉:通过多视图计算深度(如双目摄像头测距)。
应用场景:SLAM(同步定位与建图)、3D重建。
三、高级视觉任务
高级视觉任务(High-Level Vision)旨在理解视觉的语义内容,接近人类认知水平:
1、图像分类与目标检测
图像分类和目标检测是计算机视觉中的两个基础任务,它们的核心区别体现在任务目标、输出形式和应用场景上。
- 图像分类(Image Classification):识别物体类别(ResNet区分猫狗)。
- 目标检测(Object Detection):定位+分类(YOLO检测行人、车辆)。
任务 | 图像分类 | 目标检测 |
---|---|---|
核心目标 | 判断整张图像的类别(是什么) | 定位图像中所有目标的位置并分类(在哪里+是什么) |
输出要求 | 只需给出类别标签(如“狗”) | 需输出每个目标的边界框(Bounding Box)+类别标签 |
示例:
- 分类:输入一张图,输出“猫”。
- 检测:输入一张图,输出“猫:[100,120,200,250]”和“狗:[300,80,450,200]”。
图像分类和目标检测在技术实现方面的区别:
方法 | 图像分类 | 目标检测 |
---|---|---|
经典模型 | LeNet、AlexNet、ResNet | R-CNN系列、YOLO、SSD、RetinaNet |
网络结构 | 全连接层+Softmax输出类别概率 | 卷积网络+回归头(预测框坐标)+分类头 |
训练数据 | 只需图像和类别标签 | 需标注每个目标的边界框和类别 |
两者区别总结:
- 图像分类是目标检测的子任务:目标检测需先定位再图像分类,但图像分类无法反向推导目标的位置。
- 计算成本:检测模型通常更耗资源(需实时检测时常用YOLO等轻量化模型)。
- 进阶方向:目标检测可扩展为实例分割(精确到像素级轮廓)、姿态估计等任务。
浏览图像分类案例:图像分类问题 – 甲壳虫AI(竞赛)案例精选
浏览目标检测案例:目标检测问题 – 甲壳虫AI(竞赛)案例精选
2、语义分割和实例分割
语义分割和实例分割是计算机视觉中两种重要的像素级分割任务,它们的核心区别在于对“对象”的区分粒度和任务目标。
- 语义分割(Semantic Segmentation):像素级分类(Mask R-CNN分割肿瘤区域)。
- 实例分割(Instance Segmentation):区分同类物体的不同实例(如区分羊群中的每只羊)。
定义与输出对比:
特性 | 语义分割 | 实例分割 |
---|---|---|
核心目标 | 为每个像素分配类别标签(是什么) | 区分同类物体的不同个体(是什么+是谁) |
输出形式 | 单通道掩码(相同类别像素值一致) | 多通道掩码或带ID的掩码(每个实例唯一标识) |
是否区分个体 | 否(同类物体合并) | 是(同类物体分开标记) |
示例:
输入图像:一张有3只猫和1只狗的图片。
- 语义分割输出:所有猫像素标为“猫”(同一颜色),狗像素标为“狗”。
- 实例分割输出:每只猫单独标记(如猫1、猫2、猫3不同颜色),狗单独标记。
技术实现差异:
方法 | 语义分割 | 实例分割 |
---|---|---|
经典模型 | FCN、U-Net、DeepLab | Mask R-CNN、YOLACT、SOLO |
关键操作 | 全卷积网络(端到端像素分类) | 先检测实例(边界框),再分割掩码 |
训练数据 | 需像素级类别标签 | 需实例级标签(掩码+ID) |
架构区别:
- 语义分割:直接通过编码器-解码器结构输出类别概率图。
- 实例分割:通常两阶段(如Mask R-CNN):
- 目标检测:生成候选框(RoI)。
- 掩码预测:对每个RoI预测精细掩码。
浏览语义和实例分割案例:语义和实例分割问题 – 甲壳虫AI(竞赛)案例精选
3、场景理解
- 场景理解:判断图像整体语义(如“厨房”或“办公室”)。
- 图像描述生成:用文字描述图像内容(如“一只棕色的狗在草地上奔跑”)。
4、OCR等特殊任务
- 人脸识别:身份验证(如Face ID)。
- OCR(光学字符识别):从图像提取文字(如扫描文档转电子版)。
- 关键点定位(Keypoint Localization):面部关键点检测(如眼睛、鼻子、嘴巴等位置的定位)、识别人体关节位置。
浏览光学字符识别案例:光学字符识别问题 – 甲壳虫AI(竞赛)案例精选
浏览关键点定位案例:关键点检测问题 – 甲壳虫AI(竞赛)案例精选
四、视频分析任务
处理时序信息与动态场景。具备强时序性特征,需连续帧分析动作轨迹。
- 视频目标跟踪:跨帧追踪特定物体(如体育赛事中的运动员)。
- 行为识别:分析视频中的动作序列,例如监控中的异常行为检测、如摔倒检测。
- 视频摘要:提取关键帧或生成缩略内容。
浏览视频分析案例:视频分析问题 – 甲壳虫AI(竞赛)案例精选
五、生成与合成任务
从语义信息生成视觉内容:
- 图像生成:GAN生成虚拟人脸(StyleGAN)、扩散模型(Stable Diffusion)。
- 图像修复:填充缺失区域(如老照片破损修复)。
- 风格迁移:将艺术风格应用于照片(如将照片转为梵高画风)。
六、跨模态任务
结合视觉与其他模态数据:
- 视觉问答(VQA):回答关于图像的提问(如“图中有什么颜色的汽车?”)。
- 图文匹配:关联图像与文本描述(如搜索引擎以图搜文)。
- 多模态生成:根据文本生成图像(DALL·E)、视频(Sora)。
计算机视觉的边界正不断扩展,从传统图像处理到AIGC、元宇宙构建,成为AI落地的核心驱动力之一。