基于OpenCV和嵌入式的工业图像检测系统
扫描二维码
随时随地手机看文章
引 言
当下,用机器代替人工,用科技代替劳动力已成为势不可挡的潮流。为提高工业自动化检测系统的检测效果,降低工厂雇佣工件检测员的开销,本文开展了基于 OpenCV 的嵌入式工业检测系统的研究。本文提出了一种基于 OpenCV,利用嵌入式微处理器进行图像采集与传输实现工件划痕检测的方案。该方案使用最新的 OpenCV 开源库, 开发出基于OpenCV 的图像处理软件,并利用网口向图像处理软件传输数据。符合系统构建简单、工作稳定、可扩展性强、检测精度高等工业自动化检测目标。
1 系统整体概述
该系统由图像采集嵌入式设备、网络传输设备和处理图像的计算机设备组成。嵌入式设备具有生产成本低、处理效率高、耗电低等优点,符合工业生产需求 ;图像传输主要采用以太网并辅以 RS232串口通信的方式,实现了实时高效、可靠性高的图像传输功能;图像处理软件采用最新的 OpenCV 计算机视觉开源库,将 Qt 开源库与其巧妙融合,提高了图像处理的速度和精度。最后将处理结果传送到云服务器,完成系统架构。系统组成框图如图 1所示。
图1 系统组成框图
2 图像采集传输系统设计
本设计主要使用当前较为前沿的嵌入式 ARM Cortex-M4 系列芯片,使用 STM32F407ZGT6 的DCMI 接口连接 OV5640 摄像头模块,从工业对零件划痕检测的实际需求出发,构建较为完整的工业图像采集传输系统。此图像采集传输系统包含摄像头采集模块和以太网传输模块。图像采集传输系统基于嵌入式 STM32F407ZGT6 的自制高度电磁兼容和信号完整性,使用OV5640 摄像头模块在合适的环境下采集 JPEG 格式的图像。图像传输系统将图像采集模块采集到的图片传输至基于 OpenCV 图像边缘检测的上位机。以以太网通信为主, 串口通信为辅,方便快捷地进行图像传输。
2.1 摄像头采集模块
本系统中,该摄像头模块采用 8 位数据输出接口,其自带 24MHz有源晶振, 无需外部提供时钟, 整个模块只需3.3 V供电即可正常使用,且该模块支持自动对焦和闪光灯功能。电压摄像头模块通过 SCCB总线实现图像输出分辨率的额配置、闪光灯的开关、自动对焦、调节色彩饱和度、亮度设置、设置自动锐度、启动持续对焦等功能。直接输出压缩后的JPEG图片数据。输出 JPEG格式的图片源源不断地传入 DMA 中,可利用 JPEG 格式提取提取图片。可采取如下两种方式 :
(1) 嵌入式端提取好单张图片并发给上位机 ;
(2) 嵌入式端不断发送图片数据流给上位机,让上位机提取。
实际上,方式(1)在嵌入式端提取了图片,再按单张发给上位机,且为了图片的数据安全有效,上位机需再次提取, 导致嵌入式端的提取多此一举。因此,本设计采用第二种方案。
2.2 以太网的实现
本系统除了使用 IEEE 802.3-2002 标准发送和接收数据的以太网外设,还采用 μC/OS-III 配合 LWIP 的设计,便于各类任务高效有序运行。其中,LWIP 是一种轻量级TCP/IP 协议栈,可不依赖操作系统运行,特别是能够在保持 TCP 协议主要功能的基础上减少对 RAM 的使用,节约了资源,尤其适用于嵌入式终端。μC/OS-III 是一个可裁剪、可固化、可剥夺的多任务系统,无任务数目限制,是在 μC/OS-II上改进的μC/OS 第三代内核,其中断时间极短,不仅解决了同时等待多个内核对象的同步问题,且加入了时间戳控制,大大提升了ARM 处理器的运算速度。为提升网络传输速度与时延,更好地满足实时性的要求,本设计最终选样在 μC/OS-III上运行 LWIP 协议栈的设计方案。本设计中系统 μC/OS 任务包括网络传输任务、LWIP 连接任务、按键检测任务、LCD 显示任务、LED 闪烁任务和开始任务等,使用操作系统节省了系统资源,降低了功耗,更有利于嵌入式设备的持久运行。缓冲区图像数据传输的流程如图 2 所示。
图 2 缓冲区图像数据传输的流程
3 图像轮廓检测处理系统设计
本次上位机采用QT5.7(MinGW5.3版)设计,并利用OpenCV计算机视觉库作为图像处理方案。通过在 Qt软件框架下调用OpenCV函数库,实现 PC端图像边缘检测。本系统通过使用OpenCV3“内核”与“插件”相结合的架构形式, 大大提高了软件系统的稳定性。文中设计的图像检测算法涉及边缘检测、寻找轮廓和图像的矩等内容。Canny边缘检测算子是一种最优的边缘检测算法,在实际编程中直接调用 Canny 函数即可。本系统采用变分法,满足了低错误率、高定位性、最小响应三大标准,并使用OpenCV库提供的findContours 函数在二值图像中寻找轮廓。最终界面设计如图 3所示。
4 结 语
本系统实现了机器代替人工检测工件划痕的功能,可作为工业生产物联网的一个节点,结合现代工业自动化的实际需求,将图像检测技术和物联网通信技术巧妙结合,大大降低工业生产的检测环节人力使用成本,并提出了一种全新的工业生产自动化产品检测环节的解决方案,提高了产品检测的精度与速度。在未来的工业生产自动化过程中,可采用选择路由器网线传输或 WiFi 传输等方式,搭建物联网多节点检测系统, 利用主机总控机制,建立一个大型的基于工业物联网和图像检测技术的工件检测系统,实现真正的工业生产自动化。
图 3 最终界面设计