Helmsman:端侧(SOC)AI 人像抠图 — 从模型到部署的全栈工程
Project Introduction
My Role
Tech Stack
Project Overview
Key Results
Project List
Chapter 1: 黄金参考系统 — 在 x86 上搭建像素级对齐的 C++ 推理管线
- 核心问题: “如何确保 C++ 推理管线与 Python 参考实现 100% 像素级对齐?”
- 概要: 在 x86 PC 上搭建 ONNX Runtime 推理管线,通过 md5 逐字节对比验证 Python↔C++ 完全一致,建立后续所有板端测试的 baseline。
- 查看详情 »
Chapter 2: 网络手术 — IBNorm→BatchNorm 与 ONNX 导出
- 核心问题: “为什么 InstanceNorm 导致 NPU 量化崩溃?如何在不重训整个模型的情况下替换它?”
- 概要: 发现 InstanceNorm 的动态统计量与 INT8 量化根本矛盾,通过逐层 BN 手术 + 微调解决,附 ONNX 导出踩坑记录。
- 查看详情 »
Chapter 3: RKNN 移植与 ONNX Graph Surgery
- 核心问题: “如何把 ONNX 模型转换为 RKNN 并在 NPU 上跑通?遇到不兼容的算子怎么办?”
- 概要: 用 ArcFoundry 框架做 YAML 驱动的 RKNN 转换,通过 Graph Surgery 移除 58 个节点解决 DeepGuidedFilterRefiner 兼容性问题,附 RVM Round 2 可行性评估。
- 查看详情 »
Chapter 4: C++ 推理流水线工程
- 核心问题: “如何设计一个可换引擎、可换预处理策略的端到端推理框架?”
- 概要: 用 NVI 模式设计三层解耦架构(Frontend → Engine → Backend),支持 MODNet 和 RVM 双模型,实现双 buffer 流水线并行。
- 查看详情 »
Chapter 5: 打破速度极限 — DMA Zero-Copy、MPP 硬解与 NEON SIMD
- 核心问题: “从 6.9 FPS 到 20.91 FPS,瓶颈在哪里?每次优化的收益是多少?”
- 概要: 通过精确 profiling 定位瓶颈,依次实现 RGA 硬件 resize、DMA zero-copy 输出、MPP 硬件解码、NEON SIMD 加速,FPS 提升 203%。
- 查看详情 »
Chapter 6: INT8 量化探索 — 发现 ConvGRU 的架构性死局
- 核心问题: “INT8 量化为什么对 RNN 模型是死路?这个发现的价值是什么?”
- 概要: 通过实验证明 ConvGRU 的 r-state 逐帧累积量化误差导致精度崩溃,发现 RNN FPS 天花板 16.7,最终决定回到纯 CNN 路线。
- 查看详情 »
Chapter 7: 复盘与反思
- 核心问题: “从这个项目中学到了什么?如果重新来过会怎么走?”
- 概要: 关键决策回顾、成功与弯路分析、可复用资产清单、技能成长总结。
- 查看详情 »
Chapter 8: Jetson部署