| name | auto-vision |
| description | 边缘 AI 视觉开发统一框架,覆盖 K230 / MaixCAM-Pro / MaixCAM2 / RK3588 / Jetson Orin Nano Super 五平台。包含模型转换(ONNX→kmodel/cvimodel/axmodel/rknn/engine)、INT8/FP16 量化、SSH/串口/SD 部署、自适应调度、benchmark、OTA、19 个经典 CV 模块(IPM 逆透视/车道线/ArUco/HDR/光流/立体)+ YOLO/BoxMOT/PaddleOCR。触发:K230、CanMV、MaixCAM、RK3588、Jetson、NPU、KPU、TensorRT、RKNN、kmodel、cvimodel、axmodel、nncase、rknn-toolkit2、trtexec、DeepStream、Savant、YOLO、ByteTrack、PaddleOCR、目标检测、跟踪、OCR、IPM 逆透视、车道线、立体视觉、ArUco、HDR、超分、模型转换、量化、部署、采图、benchmark、OTA。 |
auto-vison — 边缘 AI 视觉模块统一开发 skill
目标:降低 4 类 AI 视觉模块的开发门槛 + 提升从训练到上板的迭代效率。
原则:复用 > 改良 > 自研,最大化复用 Ultralytics、官方 model zoo、上游 SDK,自己只写胶水。
1. 何时使用本 skill
触发条件(命中任一即用):
- 用户提到目标硬件:K230、CanMV、MaixCAM、MaixCAM-Pro、MaixCAM2、RK3588(含 RK3576/RK3568)、Jetson Orin Nano Super
- 任务:模型转换(PyTorch/ONNX → 平台格式)、上板部署、摄像头采图/标定、推理性能调优、量化校准、OTA / 远程日志、模型加密
- 报错关键字:
nncase、kmodel、rknn-toolkit2、tpu-mlir、pulsar2、trtexec、cvimodel、axmodel、MaixPy nn.YOLO11、CanMV aicube/aidemo
不用本 skill 的场景:纯 PC 推理(直接 Ultralytics)、单纯模型训练(用原生 PyTorch)、非视觉任务(音频/LLM 单独走 rknn-llm 或 jetson-containers)。
1.1 与其他 skill 的边界(避免冲突)
| 任务边界 | 用本 skill | 用其他 skill |
|---|
| AI 视觉模型转换 / 部署 / 调优 / 摄像头 ISP | ✅ auto-vision | — |
| 通用 MCU 外设驱动(STM32 寄存器、IIC 设备初始化) | — | peripheral-driver / stm32-hal-development |
| 嵌入式 RIPER-5 流程编排(多阶段大任务) | — | embedded-dev |
| 板端 SSH 通信 / 文件传输 | 调用 | ssh-skill |
| K230 串口日志解析 | 调用 | serial-monitor |
| K230 SDK 编译 / Linux 镜像构建 | — | build-cmake / build-makefile |
| 板端 GDB 调试(非 AI 推理崩溃) | — | debug-gdb-openocd / debug-jlink |
| 视觉模型推理崩溃 / 内存溢出诊断 | ✅ auto-vision(recipes/debug_workflow.md) | — |
2. 平台支持矩阵(务必先看)
2.1 硬件 / 工具链矩阵
| 平台 | 上层 API | 转换工具链 | 板端运行时 | 模型格式 | 主力代码语言 |
|---|
| K230 裸 SDK | CanMV-MicroPython / Linux C | nncase ≥ 2.9 + nncase-kpu | KPU runtime | .kmodel | Python (CanMV) / C |
| MaixCAM / MaixCAM-Pro | MaixPy v4 / MaixCDK | tpu-mlir (Docker) | MaixCAM runtime | .cvimodel + .mud | Python |
| MaixCAM2 | MaixPy v4 / MaixCDK | pulsar2 (Docker, AX620E) | MaixCAM2 runtime | .axmodel + .mud | Python |
| RK3588 / RK3576 | rknn-toolkit-lite2 / rknpu2 C | rknn-toolkit2 ≥ 2.3 (x86 Linux) | rknpu2 | .rknn | Python (Lite2) / C++ |
| Jetson Orin Nano Super 8GB | PyTorch + TensorRT / DeepStream | trtexec / ultralytics export | TensorRT 10 (JetPack 6.x) | .engine / .plan | Python (+ CUDA C++) |
2.2 任务 × 平台支持等级
🟢 可跑通(templates 内有完整脚手架,5 分钟跑起)
🟡 半自动(有官方 example 但需要手动调整,详见 platforms/*.md)
🔵 仅指导(仅提供配方与上游链接,需要用户自行实现)
⚫ 不支持(硬件或工具链限制)
| 任务 | K230 | MaixCAM/Pro | MaixCAM2 | RK3588 | Jetson Orin Nano Super |
|---|
| 目标检测 (YOLO11/v8/v5) | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 |
| 图像分类 (MobileNet/ResNet) | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 |
| 语义分割 (YOLO-seg/DeepLab) ★P1 | 🟡 | 🟡 | 🟢 | 🟢 | 🟢 |
| 关键点姿态 (YOLO-pose/HRNet) ★P1 | 🟡 | 🟡 | 🟢 | 🟢 | 🟢 |
| 人脸检测 (RetinaFace/YuNet) | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 |
| 人脸识别 (ArcFace/FaceNet) ★P1 | 🔵 | 🟡 | 🟢 | 🟢 | 🟢 |
| OCR (PP-OCR / CRNN) | 🔵 | 🟡 | 🟡 | 🟢 | 🟢 |
| 多目标跟踪 (ByteTrack/SORT) | ⚫ | 🔵 | 🟡 | 🟡 | 🟢 |
| ReID 行人再识别 | ⚫ | 🔵 | 🔵 | 🟡 | 🟢 |
| 车牌识别 (LPRNet) | 🔵 | 🟡 | 🟡 | 🟢 | 🟢 |
| 多模型 pipeline(detect+track+reid) | ⚫ | 🔵 | 🔵 | 🟡 | 🟢 (DeepStream) |
| Open-Vocab 检测 (NanoOWL/Grounding) | ⚫ | ⚫ | 🔵 | 🔵 | 🟢 |
| VLM 多模态 (Live Llava / VILA) | ⚫ | ⚫ | ⚫ | 🔵 | 🟢 |
说明:
- 🔵→🟡 升级路径:需求高的任务请优先选 RK3588 / Jetson;K230/MaixCAM 适合单模型轻量场景
- 多模型 pipeline 在 Jetson 上用 DeepStream,在 RK3588 上手写 GStreamer pipeline
- VLM / Live Llava 需要 ≥ 8GB 内存,目前只 Jetson Orin Nano Super 满足
MaixCAM 注意:MaixCAM 和 MaixCAM-Pro 用 .cvimodel(tpu-mlir),MaixCAM2 用 .axmodel(pulsar2)。两者不通用,模型转换工具链完全不同。本 skill 把它们合并在 platforms\maixcam.md 内部分章讲解。
Jetson:本 skill 只针对 Orin Nano Super 8GB(67 TOPS, JetPack 6.x, TensorRT 10)。注意 TensorRT 10 的 INT8 在某些算子上有兼容问题,量化默认走 FP16。
MaixCAM 与 K230 关系:MaixCAM-Pro/MaixCAM2 用的就是 K230 芯片,但上层固件是 MaixPy,不能直接用 CanMV/K230 SDK 的 kmodel。
3. PC 侧 vs 板端分工(核心心智模型)
┌─────────────────────────────────────────┐ ┌─────────────────────────────────┐
│ PC 侧(训练 + 转换) │ │ 板端(仅推理) │
│ 通用 Python / GPU │ │ 受限算力 / 专用 NPU │
├─────────────────────────────────────────┤ ├─────────────────────────────────┤
│ • PyTorch / Ultralytics(训练) │ │ • CanMV-MicroPython (K230) │
│ • OpenCV / PIL(数据集预处理) │ │ • MaixPy v4 (MaixCAM/Pro/2) │
│ • onnx / onnxsim(中间格式) │ → │ • rknn-toolkit-lite2 (RK3588) │
│ • nncase / tpu-mlir / pulsar2 / │ │ • TensorRT runtime (Jetson) │
│ rknn-toolkit2 / trtexec(转换器) │ │ • cv2 板端 wheel(可选) │
│ • Docker(隔离工具链版本) │ │ │
│ • 大显存 / 大磁盘 │ │ • RAM 通常 ≤ 8GB │
└─────────────────────────────────────────┘ └─────────────────────────────────┘
↑ ↓
完整 Python 生态 仅平台特定 API
通用算法库随便用 + 量化后的 .kmodel/.rknn/.engine
关键边界:
- ✅ PC 侧:用 Ultralytics / OpenCV / PyTorch / 任何 pip 包,不受任何限制
- ✅ 板端:只用平台官方 SDK(CanMV / MaixPy / rknnlite / TensorRT),通用 Python 库未必有 ARM/RISC-V wheel
- ❌ 不要:试图在板端
pip install ultralytics 跑训练
- ❌ 不要:试图在板端
pip install torch 做完整推理(用量化模型走 NPU 才高效)
- ⚠️ 特例:Jetson Orin Nano Super 可以装 PyTorch(NVIDIA 提供 ARM wheel),但仍推荐用 TRT engine
3.1 "一键转换" vs "二段式转换"(新手最易踩坑)
通用框架自带的模型导出 ≠ 覆盖所有平台。只有 Jetson / RK3588 能 Ultralytics 一键直达,其余 3 个平台必须走 ONNX 中间态:
| 目标平台 | Ultralytics yolo export 一键? | 必走路径 |
|---|
| Jetson (.engine) | ✅ format=engine half=True | 板上一行命令 |
| RK3588 (.rknn) | ✅ format=rknn name=rk3588 int8=True | PC x86 Linux 一行命令 |
| K230 (.kmodel) | ❌ | yolo export onnx → nncase 二段 |
| MaixCAM/Pro (.cvimodel) | ❌ | yolo export onnx → tpu-mlir (Docker) 二段 |
| MaixCAM2 (.axmodel) | ❌ | yolo export onnx → pulsar2 (Docker) 二段 |
本 skill 把"二段式"封装到 scripts\convert.py,你只需:
yolo export model=best.pt format=onnx opset=12 simplify=True imgsz=640 dynamic=False
python scripts\convert.py --target k230 --onnx best.onnx --calib data\calib\ --mode run
python scripts\convert.py --target maixcam --onnx best.onnx --calib data\calib\ --mode run
--mode plan 仅打印命令(默认,安全),--mode run 真跑(拉 Docker / 调 Python API)。
3.2 板端语言:Python 原型,C++ 量产
模型工件与板端推理语言无关——同一个 .rknn / .engine 在 Python 和 C++ 都能加载,不需要重转。
| 平台 | 模型工件 | Python binding | C/C++ binding(量产推荐) |
|---|
| K230 | .kmodel | CanMV nncase_runtime | K230 SDK C API |
| MaixCAM/Pro/MaixCAM2 | .cvimodel/.axmodel | MaixPy maix.nn | MaixCDK(API 与 MaixPy 几乎一致) |
| RK3588 | .rknn | rknn-toolkit-lite2 | rknpu2 C API(延迟更低、易集成) |
| Jetson Orin Nano Super | .engine | tensorrt Python | TensorRT C++ API(量产标配 / DeepStream) |
推荐路径:原型用 Python(本 skill 的 templates 默认 Python)→ 上量产时用 C++ 重写推理 loop(模型工件保持不变)。各平台 C++ 集成示例:
- K230:
github.com/kendryte/k230_sdk 内的 src\big\nncase\...
- MaixCAM: https://github.com/sipeed/MaixCDK
- RK3588:
airockchip/rknn_model_zoo/examples/yolo11/cpp/
- Jetson: DeepStream-Yolo / 自写 TRT C++ inference loop
4. 工作流(5 步标准化)
[1] 平台探测 ──> [2] 环境检查 ──> [3] 模型转换 ──> [4] 部署上板 ──> [5] 板端验证
detect.py env_check.py convert.py deploy.py camera_probe.py
benchmark.py
每一步都对应一个 scripts\*.py,可独立运行也可串联。串联调用例(通过 ssh-skill 别名,免记 IP):
python scripts\detect.py --host 192.168.1.30 --user rock --password rock \
--register-as rk3588-lab
python scripts\env_check.py --target rk3588
python scripts\convert.py --target rk3588 --onnx yolo11n.onnx --calib data\calib\
python scripts\deploy.py --alias rk3588-lab --model yolo11n.rknn --remote /home/rock/
python scripts\camera_probe.py --alias rk3588-lab --target rk3588 --output probe.jpg
python scripts\benchmark.py --alias rk3588-lab --target rk3588 \
--model /home/rock/yolo11n.rknn --imgsz 640 --iters 100
4. 推荐执行路径(按用户意图分流)
4.1 "我要把 YOLO 跑到 X 平台"(最常见)
- 读取
recipes\yolo_workflow.md
- 按
platforms\<target>.md 的转换章节执行
- 用
templates\<target>_yolo\ 脚手架启动板端代码
- 出问题查
knowledge\errors.md
4.2 "模型转换报错了"
grep 报错关键字 → knowledge\errors.md
- 不命中则查
references\op_support.md(算子兼容速查)
- 仍未解决:参考
references\upstream.md 找上游 issue
4.3 "我要自定义训练再上板"
- 训练侧用 Ultralytics 官方流程(
templates\ 内有 train.md 引导)
- 导出 ONNX:
yolo export model=best.pt format=onnx opset=12 simplify=True
- 之后接 4.1 流程
4.4 "我要选型,对比 4 个平台"
- 看
references\version_matrix.md(成本/性能/语言生态)
- 跑
scripts\benchmark.py 在你已有的板子上自测
- 4 个 templates 都用相同 YOLO11n 320×320 测,便于横评
4.5 "我要做非 YOLO 任务"(分类/分割/姿态/人脸)
- 看
recipes\yolo_workflow.md 章末"非 YOLO 任务索引"
- K230/MaixCAM:MaixHub 模型库直接拉
- RK3588:
airockchip\rknn_model_zoo 已覆盖检测/分割/OCR/人脸/车牌
- Jetson:
dusty-nv\jetson-inference Hello AI World
5. 自适应视觉框架(R3 — codex accept)
上面 1-4 节是"YOLO 部署脚手架"层,本节是"成熟视觉框架"层。
三轮擂台辩论记录见 .iter\R1_proposal.md / R2_proposal.md / R3_proposal_final.md。
5.1 三层自适应引擎
[L1 静态] policies/device_profile.yaml → 5 平台硬件画像(出厂常量)
[L2 默认] policies/task_policy.yaml → 3 任务 × 5 平台 → model/imgsz/quant/tracker
[L3 实测] tools/benchmark_tuner.py → 候选剪枝≤6, early-stop → auto_tuned.yaml
↓
[运行时] runtime/scheduler.py → FPS/温度/imgsz/跳帧/ROI 三动作
5.2 R3+R4 模块清单(含经典 CV 子包)
| 路径 | 作用 | 关键 |
|---|
algo/ | 统一插件(对齐 supervision.Detections) | Detector / Tracker(BoxMOT) / OCRPipeline(PaddleOCR) |
algo/cv_classical/ ★ | 经典 CV 算法库(18 模块 60+ 算法) | IPM 逆透视 / 车道线 / Hough / 形态学 / 光流 / 立体 / ArUco / HDR / 全景 / 标定 / 配准 / HOG(详见 algo/cv_classical/README.md) |
adapters/ | 平台 pipeline 翻译器 | k230_canmv / maixcam_maixpy / rk3588_gst / jetson_savant(走 Savant 不重写) |
policies/ | 自适应核心配置 | device_profile + task_policy(schema 校验) |
model_zoo/manifest.yaml | 模型 × 平台 × imgsz × mAP × 延迟矩阵 | |
runtime/scheduler.py | AdaptiveScheduler | FPS EWMA → imgsz/skip/ROI |
tools/ | 离线 tuner | budget_pruner(理论≤18,启发式≤6)+ benchmark_tuner |
image_quality/ | 策略型增强 | isp_autotune(v4l2/nvargus)+ lowlight(gamma+CLAHE,无模型) |
eval/ | 评测 | COCO mAP + MOT(py-motmetrics optional) |
schema/pipeline_config.py | dataclass 校验 | 6 字段,无 DSL |
apps/ | 完整闭环 demo | traffic_count + ocr_meter |
5.3 典型自适应工作流
python schema/pipeline_config.py --validate policies/task_policy.yaml
python tools/budget_pruner.py --profile policies/device_profile.yaml \
--platform rk3588 --task detection
python tools/benchmark_tuner.py --alias rk3588-lab --platform rk3588 \
--task detection --target-fps 30
python apps/traffic_count/main.py --platform rk3588 --source 11 \
--model /home/rock/yolo11s.rknn --show
5.4 codex R3 验收标准(已通过)
"同 task_policy.yaml 在 RK3588/Jetson/Maix 至少两平台生成不同执行路径,benchmark 选出可解释配置"
实际验证:同 detection task 对三平台产物:
- RK3588:
main.py (cv2/GST 三线程) + postprocess.py + labels.txt
- Jetson:
main.py (Ultralytics) + savant.yml (生产 pipeline)
- K230:
main.py (CanMV MicroPython) + model/ + labels.txt
三种完全不同的执行路径,由同一份配置驱动。
6. 目录速查(含 R3 新模块)
auto-vision\
├── SKILL.md ← 你正在看
├── algo\ ★ R3 视觉算法插件(对齐 sv.Detections)
│ ├── base.py AlgoBase / DetectorBase / TrackerBase / OCRBase
│ ├── detection.py YOLO 统一(ultralytics + rknnlite)
│ ├── tracking.py BoxMOT (ByteTrack/BoT-SORT/OC-SORT) + ROI lite fallback
│ ├── ocr.py PP-OCR 两阶段
│ └── cv_classical\ ★ R4 经典 CV 18 模块 60+ 算法(含 IPM 逆透视)
│ ├── _utils.py validate_image / capability_gate / has_cv_feature / make_result
│ ├── geometry.py ★ IPM / homography / PnP / 文档矫正
│ ├── calibration.py 棋盘标定 / Undistorter / stereo / triangulate
│ ├── lane.py ★ HLS+Sobel+IPM+滑动窗口+二次拟合 (gated)
│ ├── motion.py LK / Farneback(gated) / DIS / MOG2 / Kalman2D
│ ├── stereo.py BM / SGBM(gated→BM) / disparity_to_depth
│ ├── markers.py ArUco / AprilTag 检测+生成+姿态
│ ├── stitching.py Stitcher / HDR / triangulate / 白平衡 (gated)
│ ├── registration.py findTransformECC / phaseCorrelate
│ ├── pyramid.py pyrDown/Up / Laplacian / OF 金字塔
│ ├── filters.py / edges.py / morphology.py / shape.py
│ ├── features.py Harris/FAST/ORB/AKAZE/SIFT/HOG/cornerSubPix
│ ├── matching.py template/BF/FLANN/RANSAC
│ ├── segmentation_classical.py watershed/GrabCut/颜色分割
│ └── quality.py Laplacian variance/BRISQUE/亮度/对比度
├── adapters\ ★ R3 平台 pipeline 翻译器
│ ├── maix_base.py 公共:MUD 生成 / 模型推送
│ ├── k230_canmv.py K230 CanMV (MicroPython) 模板
│ ├── maixcam_maixpy.py MaixCAM/Pro/2 MaixPy 模板
│ ├── rk3588_gst.py RK3588 三线程 cv2/GST
│ └── jetson_savant.py Jetson 走 Savant YAML + fallback main.py
├── policies\ ★ R3 自适应配置
│ ├── device_profile.yaml 5 平台硬件画像
│ ├── task_policy.yaml 3 任务 × 5 平台
│ └── <device>_auto_tuned.yaml 由 tuner 自动生成
├── model_zoo\manifest.yaml ★ R3 模型×平台 性能矩阵
├── runtime\scheduler.py ★ R3 AdaptiveScheduler (FPS/imgsz/skip/ROI)
├── tools\ ★ R3
│ ├── budget_pruner.py 候选剪枝(理论≤18,实际≤6)
│ └── benchmark_tuner.py 离线 tune + 可解释输出
├── image_quality\ ★ R3
│ ├── isp_autotune.py v4l2-ctl / nvargus ISP 参数
│ └── lowlight.py gamma + CLAHE(无模型)
├── eval\ ★ R3
│ ├── eval_detection.py COCO mAP
│ └── eval_mot.py MOTA/IDF1(motmetrics optional)
├── schema\pipeline_config.py ★ R3 dataclass 校验
├── apps\ ★ R3 完整闭环 demo
│ ├── traffic_count\ detection + tracker + LineZone
│ └── ocr_meter\ YOLO ROI + PP-OCR 两阶段
├── platforms\ 平台专属文档(4 个)
│ ├── k230.md K230 + CanMV
│ ├── maixcam.md MaixCAM-Pro + MaixCAM2 合并
│ ├── rk3588.md RK3588 / RK3576
│ └── jetson.md Orin Nano Super 8GB
├── scripts\ 可执行工具(Python 3.10+)
│ ├── detect.py 平台自动探测
│ ├── env_check.py SDK 版本兼容矩阵校验
│ ├── convert.py 统一前端:dispatch 到平台
│ ├── deploy.py SSH 部署 + 启动
│ ├── camera_probe.py 板端摄像头自检
│ └── benchmark.py 统一性能采集
├── recipes\ 高级配方
│ ├── yolo_workflow.md 端到端 YOLO 流程
│ ├── quantization.md PTQ 校准实操
│ └── debug_workflow.md 通用调试方法
├── templates\ 项目脚手架(每平台一套,5 分钟跑通)
│ ├── k230_canmv_yolo\
│ ├── maixpy_yolo\
│ ├── rk3588_yolo\
│ └── jetson_yolo\
├── references\ 长查询文档(按需 Read)
│ ├── upstream.md ★ 所有上游开源 repo 索引
│ ├── version_matrix.md SDK / 工具链 / 固件版本对应
│ └── op_support.md 4 平台算子兼容速查
└── knowledge\
└── errors.md 报错→根因→修复
6. 与本仓库其他 skill 的协作关系(★ 强制约束)
所有 SSH 操作必须走 ssh-skill,不直接用 ssh / scp / paramiko。
本 skill 内的 scripts\deploy.py / camera_probe.py / benchmark.py 已经按这个原则封装:
| 场景 | 必须调用的 skill / 命令 |
|---|
| 首次发现板子 → 注册别名 | scripts\detect.py --host <ip> --register-as <alias> → 内部调 ssh-skill\scripts\ssh_config_manager_v3.py create |
| 远端执行命令 | ssh-skill\scripts\ssh_execute.py <alias> "<cmd>" |
| 上传文件 / 目录 | ssh-skill\scripts\ssh_upload.py <alias> <local> <remote>(路径前缀 MSYS_NO_PATHCONV=1) |
| 下载文件 | ssh-skill\scripts\ssh_download.py <alias> <remote> <local> |
| 多板批量 | ssh-skill\scripts\ssh_cluster.py "<cmd>" --tags ai-vision-board --parallel |
| 隧道访问板上 web (DeepStream / MaixVision) | ssh-skill\scripts\ssh_tunnel.py start <alias> --remote-port 8080 |
| K230 串口日志抓取 | serial-monitor |
| 板端摄像头 / I2C 外设驱动 | peripheral-driver |
| K230 SDK 重新编译(很少需要) | build-cmake |
| 通用流程编排 | embedded-dev(仅当多 skill 协作时) |
为什么强制走 ssh-skill:
- 守护进程长连接(~0.12s vs paramiko 直连 ~0.45s),跑 benchmark / 多次部署效率提升数倍
- 自动重连、心跳检测、跳板机支持
- 多板别名管理统一(
k230-01 / maixcam2-lab / rk3588-prod / jetson-dev),免记 IP
- 按 tags 批量操作:
--tags rk3588 一次跑遍所有 RK3588 板
典型首次接入流程:
python scripts\detect.py --host 192.168.1.30 --user rock --password rock \
--register-as rk3588-lab
python scripts\camera_probe.py --alias rk3588-lab --target rk3588 --output probe.jpg
python scripts\deploy.py --alias rk3588-lab --model yolo11n.rknn --remote /home/rock/
python scripts\benchmark.py --alias rk3588-lab --target rk3588 --model /home/rock/yolo11n.rknn
7. 复用 vs 自研边界(务必遵守)
✅ 必须复用(不要重写):
ultralytics 训练 / export 流程
- 官方转换工具:
nncase / nncase-kpu / tpu-mlir / pulsar2 / rknn-toolkit2 / trtexec
- 官方 model zoo:
airockchip\rknn_model_zoo、kendryte\K230_training_scripts、MaixHub、dusty-nv\jetson-inference
- 容器:
dustynv\* Jetson 容器、官方 docker 镜像
✏️ 本 skill 自研(胶水层):
- 平台探测脚本、版本矩阵 yaml
- 校准数据集组织 + 精度对比报告
- SSH 部署器(薄包装 paramiko)
- benchmark 报告模板
- 错误根因知识库
❌ 不要做:
- 重写推理 runtime
- 改 ONNX/PyTorch 模型结构(除非平台明确要求)
- 隐藏量化精度损失
- 跨平台运行时抽象(坑大于收益)
8. PC 端推荐环境(本机已验证)
本机推荐使用 conda 环境 yolo_env 作为 PC 训练 / 转换默认环境:
conda activate yolo_env
完整路径:C:\ProgramData\miniconda3\envs\yolo_env\python.exe(Python 3.10.19)
若需直接调用(如 Windows cmd 没 conda activate):
& "C:\ProgramData\miniconda3\envs\yolo_env\python.exe" scripts\convert.py ...
或在 VSCode .vscode\settings.json 中:
{"python.defaultInterpreterPath": "C:\\ProgramData\\miniconda3\\envs\\yolo_env\\python.exe"}
env_check.py 会自动检测当前是否在 yolo_env,不在则给出切换提示。
9. 快速开始(新手 5 分钟)
conda activate yolo_env
python scripts\detect.py
9. 版本声明
- skill 版本:0.1.0
- 基线工具链版本(2026-05):
nncase 2.9.x / 2.10.x(K230)
tpu-mlir 最新 dev(MaixCAM)
pulsar2 最新 dev(MaixCAM2)
rknn-toolkit2 2.3.x(RK3588)
- JetPack 6.1 / 6.2 + TensorRT 10.x(Orin Nano Super)
ultralytics ≥ 8.3
- 详细版本对应见
references\version_matrix.md