SegmentAnything(包装箱缺陷检测系统)

阿加犀智能科技RoboHub开源项目OpenCVIQ-9075SAM

开发环境

Ubuntu 24.04(Noble Numbat);Python 3.12+、QNN 2.36 后端、Flask(WSGI)、OpenCV(cv2)

产品参数 · 内容说明

使用 IQ-9075 的 NPU 算力,在仓库场景中实现包装箱表面缺陷的机器人检测。适用于外包装缺陷检测场景。

产品参数 · 基本信息

项目内容
产品名称SegmentAnything(包装箱缺陷检测系统)
产品定位仓库场景外包装缺陷机器人检测(边缘端实时质量检测)
开发团队APLUX 阿加犀(GitHub:APLUX-Official)
分类Monitoring / Robots / Robotics(Arduino 分类)
开源协议BSD 3-Clause License(详见《开源协议与链接.md》)
项目案例页https://projecthub.arduino.cc/aplux/segment-anything-1c0494

产品参数 · 核心规格

类别参数
计算平台Qualcomm Dragonwing™ IQ-9075 EVK(NPU 加速推理)
核心算法两阶段分割:YOLOv8(定位目标物体表面区域)+ SAM(表面缺陷像素级分割)
软件栈Python 3.12+、QNN 2.36 后端、Flask(WSGI)、OpenCV(cv2)
操作系统Ubuntu 24.04(Noble Numbat)
摄像头Type-A USB 摄像头(经 Type-C 转 Type-A Hub 连接)
输出Web 监控面板(实时画面 + 缺陷高亮);缺陷帧自动存档至 --save-dir 目录

产品参数 · 核心工作流程

  • 目标检测:YOLOv8 识别并生成目标物体(如纸箱)的掩码
  • 区域提取(裁剪):利用掩码 / 边界框从原始高分辨率帧中裁剪出目标物体
  • 缺陷分割:裁剪图传入 SAM(Segment Anything Model),聚焦局部区域高精度分割表面缺陷
  • 可视化与存储:结果叠加到原始视频流,展示在监控面板,并保存至指定目录

产品参数 · 配置参数(命令行)

参数类型默认值描述
--sourcestr必需视频流源(摄像头 ID 0 或 RTSP 流 URL)
--resolutionint int1280 720摄像头输入流宽高
--class-idint0YOLOv8 检测类别 ID(0 = 纸箱)
--portint3333Web 服务器端口号
--save-dirstrNone检测与分割结果保存目录

产品参数 · 界面与功能

  • 监控面板:实时摄像头画面;检测激活后,红色轮廓线勾勒纸箱边缘、绿色掩码高亮表面缺陷
  • 历史记录:捕获的缺陷帧保存在右侧面板(按时间倒序,点击查看全分辨率图像)
  • 检测频率可调:适配不同流水线速度的检测间隔自定义配置

产品参数 · 快速上手

访问 http://localhost:3333 打开监控面板。

# 1. 前置依赖
sudo apt update
sudo apt install python3-venv python3-pip qcom-fastrpc1 qcom-fastrpc-dev -y

# 2. 安装(venv + requirements)
python3 -m venv venv && source venv/bin/activate
pip3 install -r requirements.txt

# 3. 下载模型文件(放入 resources/ 目录)
#    https://huggingface.co/ApluxZone/SegmentAnything/tree/main

# 4. 获取 QNN SDK v2.36.0.250627 并执行
./extract_qnn_deps.sh /path/your/qnn/2.36.0.250627

# 5. 构建依赖(infertoypy,位于 opensource_qnn_sample/,需按内部 README 编译安装)

# 6. 启动
./start.sh --source 0 --resolution 1280 720 --class-id 0 --port 3333 --save-dir ./save

产品参数 · 常见问题(摘要)

  • QNN 初始化失败:检查 LD_LIBRARY_PATH 与 ADSP_LIBRARY_PATH 是否指向 resources/qnn236 目录
  • JPEG 数据警告(Corrupt JPEG data...):通常不影响运行;若摄像头支持,可在 python/run.py 中将像素格式切换为 YUYV

产品参数 · 说明

本页参数依据官方 README(中 / 英)与 Arduino Project Hub 项目页整理,如有更新以官方发布为准。

BOM清单 · 内容说明

基于 IQ-9075 NPU 的仓库包装箱缺陷机器人检测系统(外包装缺陷检测)可采购硬件 / 配件清单。 > 整理依据:官方 GitHub 仓库 README、Arduino Project Hub 项目页器件清单(含官方购买链接)。

BOM清单 · 一、可购买硬件 / 配件

序号物料名称型号 / 规格数量用途购买链接
1边缘计算主机Qualcomm Dragonwing™ IQ-9075 EVK1运行 YOLOv8 + SAM 缺陷检测(NPU 加速)Qualcomm 开发硬件页:https://www.qualcomm.com/developer/hardware/qualcomm-iq-9075-evaluation-kit-evk
2摄像头Type-A USB 摄像头1实时视频流采集京东:https://3.cn/-2GMM8JG?jkl=@VBF3UBxOjHmD@
3USB 扩展坞Type-C 转 Type-A USB Hub1连接摄像头等外设京东:https://item.m.jd.com/product/100043662544.html

BOM清单 · 二、官方软件清单(Arduino Project Hub)

备注:模型文件(YOLOv8 + SAM)需从 Hugging Face 下载并放入 resources/ 目录: > https://huggingface.co/ApluxZone/SegmentAnything/tree/main

类别名称说明
软件QNN 2.36高通神经网络推理后端(需获取 QNN SDK v2.36.0.250627)
软件Python 3.12开发语言(3.12+)
软件OpenCV(cv2)计算机视觉
软件Flask(WSGI)Web 监控面板框架
操作系统Ubuntu 24.04(Noble Numbat)系统环境

开源协议与链接 · 一、开源协议

备注:Arduino Project Hub 项目页的许可标注为 MIT,与仓库实际许可(BSD-3-Clause)不一致;再分发 / 二次开发建议以仓库 LICENSE 文件为准。

适用对象开源协议说明
项目(整体)BSD 3-Clause License(SPDX: BSD-3-Clause)来源:仓库 LICENSE 文件与 README 声明;Copyright (c) 2026, Qualcomm Innovation Center, Inc.

开源协议与链接 · 二、相关链接

类型链接
项目仓库(GitHub)https://github.com/APLUX-Official/SegmentAnything
项目案例页(Arduino Project Hub)https://projecthub.arduino.cc/aplux/segment-anything-1c0494
项目说明文档(PDF,官方)https://projects.arduinocontent.cc/cbedc124-6799-4b67-8b9c-e5b69af21ea8.pdf
模型文件(Hugging Face)https://huggingface.co/ApluxZone/SegmentAnything/tree/main
LICENSE(BSD-3-Clause)https://github.com/APLUX-Official/SegmentAnything/blob/main/LICENSE
监控面板示例图https://github.com/APLUX-Official/SegmentAnything/blob/main/docs/Dashboard.png
Qualcomm IQ-9075 EVK(开发硬件页)https://www.qualcomm.com/developer/hardware/qualcomm-iq-9075-evaluation-kit-evk
开发团队主页https://github.com/APLUX-Official