从YOLO例程看AI推理实现

2026 年 02 月 04 日

最近看了 YOLO 的两个例程。

这里整理一下我看懂了什么。

AI 应用类型与实现

AI 应用分类非常细,要根据具体的应用类型,去分析其分类,然后找实现方式。

举个例子来说,车牌识别,车牌检测,分类属于:计算机视觉 - 目标检测 - 小目标检测。

要实现车牌识别,要按顺序做以下几步:

  1. 目标检测,从图片当中找到车牌部分的边界,可以用 YOLO/RetinaNet/FAster R-CNN 等。
  2. 图像校正/透视变换,将检测到的车牌区域裁剪出来,做旋转/透视变换,使之成为规则矩形。
  3. OCR 字符识别,可以用传统 Tesseract 方式,或 CRNN/SVTR 等深度学习模型。
  4. (可选)后处理,分析结果是否合法,或分析连续视频帧的结果是否稳定。

上面只包含推理,没包含训练。如果要训练,就得找对应数据集,比如 CCPD,然后训练得到权重集。

很明显,每一个具体的 AI 应用,背后必然有一系列算法实现,只能是具体问题具体分析。

深度学习相关

用深度学习方式做 AI 应用,需要了解训练和推理。

训练

简单说,训练引擎 + 数据集 = 权重集(.pt/.pth/.ckpt/.onnx 等)。

有几个值得注意的点。

  1. 训练引擎和推理引擎可能不一样,比如,pytorch/tensorflow 既能训练也能推理,但 onnx runtime 就只能推理无法训练。
  2. 数据集通常需要编程才能使用,除非是提供了封装好的接口。
  3. onnx 是通用的权重集格式,支持互转,适用范围很广。所以用训练引擎训练完成后通常可以导出为 onnx 格式。

推理

简单说,推理引擎 + 权重集 + 用户输入 = 推理输出。

同样有几个注意的点:

  1. 权重集和用户输入有相关性,用户输入必须转换为权重集所需要的格式。
  2. 推理输出通常不能直接使用,需要转化。比如 YOLO 做目标检测得到的矩阵框可能就需要坐标转换。

推理 AI 部署模式

以我现在的认知,谈训练为时尚早。前面两个例程都只是推理,相对简单。两个例程分别使用 YOLOv5 和 YOLOv8,都是用 COCO 数据集 训练得到的权重集,能识别 80 种目标。两个例程的权重集都是 onnx 格式,前者是在 rockchip 芯片上使用 rknn 进行推理;后者是通过 ort 运行 onnkruntime 进行推理。但推理流程基本是一致的,如下:

  1. 初始化引擎。
  2. 将图片按照模型能接受的格式,转换成输入参数。
  3. 运行模型,得到输出。
  4. 过滤并整理输出,得到目标矩形框的数组,和对应的物体类型等相关信息。
  5. 将目标矩形框画到原始画面上,输出图片。

onnx runtime 可以用多种开发语言调用,可以在多种架构运行,甚至可能支持边缘设备的 NPU 硬件加速。一次编写,到处运行。所以我认为它是个不错的选择。

AI 应用功能分类框架

最后,列一下我查到的 AI 应用分类框架,作为索引方便后续实现具体目标时查询:

  1. 计算机视觉 (Computer Vision)

1.1 图像分类 (Image Classification)

  • 手写数字识别(MNIST)
  • 动物/物体识别(ImageNet)
  • 卫星图像分类
  • 病理图像分类

1.2 目标检测 (Object Detection)

  • 通用目标检测(COCO)
  • 小目标检测
    • 车牌检测
    • 人脸关键点检测
  • 行人检测
  • 车辆检测
  • 安全监控异常行为检测

1.3 语义分割 / 实例分割 (Segmentation)

  • 道路分割(自动驾驶)
  • 医学图像分割(肿瘤、器官)
  • 人物抠图
  • 实例分割(COCO实例分割)

1.4 人脸分析 (Face Analysis)

  • 人脸检测
  • 人脸识别
  • 表情识别
  • 年龄/性别预测

1.5 OCR (Optical Character Recognition)

  • 文本检测(图片中文字位置)
  • 文本识别(文字内容提取)
  • 票据识别
  • 车牌识别
  • 手写体识别

1.6 视频分析 (Video Understanding)

  • 行为识别(动作检测)
  • 视频摘要 / 场景切割
  • 异常事件检测
  • 视频目标跟踪

1.7 生成式视觉 (Generative Vision)

  • 图像生成(Stable Diffusion, DALL·E)
  • 图像修复 / 超分辨率
  • 风格迁移
  • 人脸换脸 / 头像生成
  1. 自然语言处理 (NLP)

2.1 文本分类 (Text Classification)

  • 情感分析
  • 新闻分类
  • 垃圾邮件识别
  • 话题分类

2.2 文本生成 (Text Generation)

  • 对话系统 / 聊天机器人(ChatGPT)
  • 自动写作 / 内容生成
  • 代码生成(Codex、CodeLLM)
  • 文学创作生成

2.3 文本理解 (Text Understanding)

  • 问答系统 (QA)
  • 信息抽取 / 实体识别
  • 文本摘要
  • 文本相似度计算

2.4 机器翻译 (Machine Translation)

  • 中英文互译
  • 多语言翻译
  • 专业领域翻译(医学、法律)

2.5 语音文本交互 (Speech + NLP)

  • 语音识别 → 文本
  • 语音助手(Siri、小度)
  • 语音指令控制
  1. 语音与音频 (Speech / Audio)

3.1 语音识别 (ASR)

  • 连续语音识别
  • 关键词检测 / 命令识别
  • 电话语音转写

3.2 语音合成 (TTS)

  • 语音朗读 / 助手语音
  • 情绪语音生成
  • 多语种语音合成

3.3 声纹 / 音频分析

  • 说话人识别
  • 环境声音识别
  • 音乐风格分类
  • 音频生成 / 音乐生成
  1. 推荐系统与预测 (Recommender / Prediction)
  • 个性化推荐(视频、商品)
  • 用户行为预测
  • 销售预测 / 库存预测
  • 金融风险预测
  1. 强化学习与决策 (RL & Planning)
  • 游戏 AI(围棋、DOTA)
  • 自动驾驶策略优化
  • 机器人控制 / 动作规划
  • 物流路径优化
  1. 多模态 / 跨模态应用 (Multi-modal AI)
  • 文本 + 图像生成(图文生成)
  • 视频 + 文本理解(视频问答)
  • 音频 + 文本生成(TTS + 字幕生成)
  • 跨模态检索(文本搜索图片/视频)
Top