摘要:本文为《HCIP-AI EI Developer 认证通关指南》系列的第二篇。计算机视觉(CV)是 HCIP 考试中权重最高的模块(约 30%)。本文将跳过基础的 CNN 原理,深度拆解考试必考的 Faster R-CNN、YOLO 系列 以及 FCN/U-Net 图像分割 算法,并重点解析在华为 MindSpore 框架下如何进行数据增强与模型定义。

0. 考点地图:CV 模块考什么?

在 HCIP-AI (H13-331) 考试中,CV 部分不再考“什么是卷积”,而是考“怎么用好卷积”。

核心领域

必考知识点

难度系数

图像分类

ResNet 残差结构、Inception 模块、迁移学习策略

⭐⭐

目标检测

Two-stage (Faster R-CNN) vs One-stage (YOLO/SSD) 的原理对比、RPN 网络、IoU 计算

⭐⭐⭐⭐⭐ (重灾区)

图像分割

FCN 全卷积网络、语义分割 vs 实例分割

⭐⭐⭐

MindSpore CV

mindspore.dataset 数据增强、c_transforms vs py_transforms

⭐⭐⭐⭐

1. 图像分类进阶:ResNet 与 迁移学习

1.1 ResNet:解决“退化问题”

  • 核心痛点:网络越深,梯度消失越严重,训练误差反而上升(Degradation)。

  • 解决方案:引入 Shortcut Connection (捷径连接),学习残差 $F(x) = H(x) - x$。

  • 考试直觉

    • 题目问“ResNet 通过什么结构使得训练 1000 层网络成为可能?”,选 Identity Mapping (恒等映射)Shortcut

    • 对比 VGG 和 ResNet,ResNet 参数更少,效果更好。

1.2 迁移学习 (Transfer Learning)

HCIP 必考场景题:“数据量少,但需要高精度,怎么办?”

  • Fine-tuning (微调):冻结 Backbone (如 ResNet50) 的前几层权重,只训练全连接层 (FC Layer)。

  • MindSpore 实现逻辑

    1. 加载预训练 CKPT 文件:load_checkpoint

    2. 替换最后一层分类器:修改 num_classes

    3. 设置优化器只更新特定层参数。

2. 目标检测:CV 的“皇冠上的明珠”

这是考试最难的部分,必须彻底搞懂 Two-stageOne-stage 的区别。

2.1 Two-stage:Faster R-CNN (以准取胜)

  • 流程

    1. RPN (Region Proposal Network):先生成一堆可能包含物体的候选框 (Proposals)。这是 Faster R-CNN 的灵魂。

    2. ROI Pooling:把不同大小的候选框映射成固定大小的特征图。

    3. Classification & Regression:最后再分类和微调坐标。

  • 考点

    • 为什么 Faster R-CNN 比 R-CNN 快?因为 RPN 网络和主干网络共享卷积特征

    • Anchor Box (锚框):RPN 在每个像素点生成 9 个不同比例的锚框。

2.2 One-stage:YOLO / SSD (以快取胜)

  • 流程:没有 RPN,直接回归。把图片切成 $S \times S$ 的网格,每个网格负责预测中心点落在该格子的物体。

  • 考点

    • YOLO v3:引入了多尺度预测(FPN 思想),解决了小物体检测难的问题。

    • SSD:利用不同层的 Feature Map 进行检测,底层检测小物体,高层检测大物体。

2.3 必背公式:IoU 与 mAP

  • IoU (交并比):预测框与真实框的重叠程度。$IoU = \frac{Area(Intersection)}{Area(Union)}$。

  • NMS (非极大值抑制):用于去除重复的检测框。逻辑是:保留得分最高的框,删掉所有与它 IoU 大于阈值的框。

3. 图像分割:像素级的理解

3.1 语义分割 vs 实例分割

  • 语义分割 (Semantic):把“人”标成红色,“车”标成蓝色。不区分是张三还是李四。

  • 实例分割 (Instance):区分张三(红色)、李四(绿色),即使他们都是“人”。

3.2 FCN (全卷积网络)

  • 核心变革:把 CNN 最后的全连接层换成了卷积层

  • 上采样 (Upsampling):使用 转置卷积 (Transposed Convolution) 或 双线性插值,把缩小的特征图还原回原图大小。

  • 跳跃连接 (Skip Connection):融合浅层(细节)和深层(语义)特征,优化边缘分割效果。

4. MindSpore 实战:数据处理流水线

华为考试非常看重 MindSpore 的 API 使用,特别是数据增强部分。

4.1 数据加载与增强

MindSpore 提供了两套增强算子,考试常考它们的区别:

  • c_transforms:基于 C++ 实现(OpenCV),性能高,推荐使用

    • mindspore.dataset.vision.c_transforms

  • py_transforms:基于 Python 实现(PIL),灵活性高,但慢。

代码考点示例

import mindspore.dataset as ds
import mindspore.dataset.vision.c_transforms as C

# 定义数据增强流水线
trans = [
    C.Resize((224, 224)),
    C.RandomHorizontalFlip(prob=0.5), # 随机翻转
    C.Normalize(mean=[0.485, ...], std=[0.229, ...]), # 归一化
    C.HWC2CHW() # 必考!将 (H, W, C) 转为 (C, H, W) 以符合 NCHW 格式
]

# 映射到数据集
dataset = dataset.map(operations=trans, input_columns="image")

5. 本章高频真题演练 (CV 篇)

Q1 (单选):在 Faster R-CNN 网络中,RPN (Region Proposal Network) 的主要作用是什么? A. 对图像进行分类 B. 生成候选区域 (Region Proposals) C. 计算 IoU D. 进行图像分割

答案:B。解析:RPN 的使命就是代替传统的 Selective Search,快速生成候选框。

Q2 (多选):以下关于 YOLO 和 Faster R-CNN 的对比,描述正确的有哪些? A. YOLO 是 One-stage 算法,检测速度通常比 Faster R-CNN 快 B. Faster R-CNN 在小物体检测精度上通常优于 YOLO v1/v2 C. YOLO 需要 RPN 网络生成候选框 D. 它们都使用卷积神经网络提取特征

答案:ABD。解析:C 是错的,YOLO 的核心特征就是没有 RPN,直接回归。

Q3 (判断):在使用 MindSpore 进行图像训练时,输入数据的格式通常要求是 HWC (Height, Width, Channel)。

答案:错误。解析:深度学习框架(包括 MindSpore 和 PyTorch)通常默认使用 NCHW (Batch, Channel, Height, Width) 格式。所以数据预处理最后一步通常是 HWC2CHW

6. 下篇预告

攻克了 CV 这座大山,下一篇我们将进入 AI 的另一大支柱——NLP。

下一篇:《HCIP-AI 进阶之路(三):NLP 与 语音处理深度解析》 我们将拆解 RNN 的梯度消失问题、LSTM 的门控机制,以及 Transformer/BERT 是如何改变 NLP 格局的。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐