FPGA + RK3588应用于烟支外观缺陷检测。
碎碎念念
这个项目应该是25年4月份的,是xx中烟的项目,最后只做了一半,因为生产线兼容问题(产线全是进口的,接口有限,嵌入修改产线难度巨大)已经个人时间问题难以承担全部设计,然后不了了之。
最近是为了写博客是为了面试整理项目~
申请书简洁版
烟支外观缺陷复检与分析系统
随着烟草工业对产品质量要求不断提高,烟支外观缺陷的智能分析已成为保障品质的关键手段。尽管现代生产线已引入自动检测,但对于B类、C类等细微缺陷,受相机帧率、算法延时和轻量模型能力的制约,生产线实时系统难以准确检测。而人工复检不仅效率低、成本高,还缺乏结构化的数据管理,难以形成持续优化的反馈闭环。业内尚缺乏一套针对“图像复检与缺陷分析”的通用解决方案,制约了质量体系的数字化转型与生产工艺的持续改进。为此,拟构建“烟支外观缺陷复检与分析系统”,通过对抽样烟支外观图像进行再分析、精细分类和缺陷归因,既可填补抽样烟支外观图像检测的盲区,又能为工艺优化提供可靠数据支撑。
本系统旨在通过图像处理和深度学习技术,采集烟支外观图像进行批量复核与智能判别,构建缺陷数据库并进行分类分析,为质量控制、生产追溯与智能决策提供依据。这不仅可用于生产线检测质控,还可服务于实验室研发测试、设备调校效果评估等多种应用场景。本系统拟构建一套基于FPGA和智能AI后端处理平台的烟支外观缺陷复检与分析系统,围绕烟支卷制过程中常见的外观异常,本系统支持全部A类质量缺陷检测(空头、漏气和爆口),支持除熄火外的B类质量缺陷检测(表面破损和洁净度),支持部分C类质量缺陷检测(切口平齐度和滤嘴状态),支持部分卷烟纸指标检测(白度和不透明度)和钢印清晰度检测。开展图像采集、智能识别与辅助分析功能。整体方案坚持国产化路径,具备良好的本地化支持和生态适配能力。系统整体设计如下图所示。

方案结合工业相机、多角度拍摄结构与环形光源,实现对烟支外观的多方位图像采集。系统采用基于FPGA的工业相机,具备高稳定性与低延迟优势,前端内置自研图像处理逻辑算法,可根据烟支外观特点执行针对性的ISP算法,如对低对比度区域进行图像增强、边缘锐化,对背景复杂场景进行智能掩模裁剪与ROI提取等,有效提升原始图像的清晰度与可用信息密度。经过前端硬件预处理后的图像数据,将以最小延迟传输至智能AI后端处理平台。智能AI后端处理平台作为系统核心处理节点,承担多任务调度与智能识别功能,不仅可以部署轻量化、可国产化替代的神经网络模型进行图像分类与缺陷分析,还可通过其高带宽I/O接口协调环形光源控制器、图像采集模组与传送带同步信号的联动控制。系统整体运行过程中,智能AI后端处理平台可根据电眼信号判定烟支是否进入拍摄区域,并控制工业光源亮度或脉冲模式以适应不同物料表面状态,从而确保图像质量的稳定性。同时,系统可将检测结果以标准化结构输出至PC终端或工业控制主机,用于结果展示、记录保存或反馈标注,具备良好的开放性与对上位系统的兼容性。方案结构图如下所示。

整套系统在软硬件设计中坚持国产平台优先,既可保障长期可用与自主可控,也便于在烟草行业内部快速推广与定制开发。通过前后端的协同处理能力,显著提高了系统的图像利用率与缺陷识别精度,为实现更高质量、更强鲁棒性的烟支外观检测提供坚实基础。
原型实现记录
前面的内容是立项阶段整理的方案,范围比较大。实际原型按 FPGA + RK3588 的路径推进,重点先放在图像链路、缺陷识别和位置同步上。项目没有进入产线连续运行验收;下面只记录已经设计或实现的原型内容,不把方案指标写成现场结论。
申请书列出的缺陷范围较广。原型展示阶段将检测结果收敛为触头、空头、黑斑、变形和翘边五类,优先验证采集、传输、推理、结果回传与位置绑定的完整链路。产线兼容、机械接口和全量缺陷样本仍需独立推进。
原型的主数据链路如下。图中只保留模块边界和接口方向,FPGA 内部的采集、FIFO、色彩转换和增强逻辑不在这里展开。
FPGA 侧:图像链路与位置同步
前端使用 OV5640 采集图像。相机侧和后级逻辑处于不同的时钟域,数据经异步 FIFO 缓冲后进入处理链路,以隔离读写时钟。跨时钟域若缺少明确的同步和缓冲机制,会造成错帧、花屏或偶发数据异常。
图像增强流程为:
1 | RGB → YCbCr → Y 通道 CLAHE → 输出增强图像 |
这里只处理 Y(亮度)通道,不分别拉伸 RGB 三个通道。这样可以保留 Cb/Cr 中的色度信息,同时减少运算量。CLAHE 的二维插值被拆为两级一维流水线;运行时除法改为预计算乘法和移位,避免在像素流水线中引入除法路径。预处理链路按 1080P@60 FPS 及以上的目标设计。
除图像外,FPGA 还需要同步编码器等传感器数据,在图像帧与传送带位置之间建立对应关系。检测框属于图像坐标,剔除机构关心的是实际位置与触发时机;位置记录误差会直接传递到剔除执行结果。


RK3588 侧:收包、推理和显示
FPGA 将增强后的图像通过千兆以太网发送到 RK3588。后端的 UDPProcessor 负责 UDP 收包、数据解析和图像重组,目前按 RGB565 与 GRAY 两种格式处理。推理侧使用 RKNN Lite 和线程池组织帧任务,避免网络接收、模型推理和界面显示互相阻塞。
单帧处理流程如下:
1 | UDP 收包 → 图像重组 → letterbox → RKNN 推理 |
后处理部分包括:
letterbox():缩放并填充图像,同时记录缩放比例与填充参数;filter_boxes():按置信度筛掉无效候选框;nms_boxes():合并重叠候选框;draw_detections():把类别、置信度和检测框绘制回显示图像。
检测结果一方面显示在上位机上,用于查看实时画面和良品/不良品统计;另一方面将缺陷类别与图像结果回传 FPGA。FPGA 根据先前同步的传感器位置计算触发时机,向 PLC 或机械臂输出剔除信号。位置绑定是将图像识别结果转换为执行信号的必要环节。

当前原型的缺陷展示
| 缺陷类型 | 界面标记颜色 |
|---|---|
| 触头 | 红色 |
| 空头 | 黄色 |
| 黑斑 | 蓝色 |
| 变形 | 粉色 |
| 翘边 | 绿色 |
上位机将检测画面、缺陷框和统计信息放在同一界面。颜色只是显示约定,真正参与后续处理的是类别、边界框和与该帧对应的位置记录。





在线调参与未完成部分
参数配置通过串口控制链路下发到 FPGA。亮度增强等预留参数可以在线调整,减少反复编译和烧录的次数;涉及时序、缓存深度或数据通路的修改,仍需走综合、实现和验证流程。