基于QT的工业边缘侧视觉检测系统人机协同交互方法

169
0 引言
轴流风机启动目前,国内外企业智能制造是继自动化制造之后更进一步的制造业形态,其核心是数字化,网络化,智能化。视觉检测技术是实现智能制造的一种实现方式,它为产品的检验、工件加工和装配自动化提供了一种不需要人员操作、自动检测产品缺陷、即时反馈检测结果的解决方案。
本文即对视觉检测技术应用于智能制造中所产生的一些问题提出了一种基于QT的工业边缘侧视觉检测系统人机协同交互方法。
1 智能制造视觉检测系统概述
视觉检测技术可以用于智能制造的产品检测生产线,典型场景是当输送线把产品输送到需要装配或检测的工
位时,通过视觉检测算法利用摄像头拍摄的产品图片去判断此产品是否合格,该系统示意如图1所示。
在人机交互设备显示的图片都经过了视觉检测算法处理并被标注了算法处理结果。此系统部署于产线运行时,在运行初期,视觉检测算法存储的针对该产品检测数据很少,需要人工对于产品的检测结果进行确认或干预,此过程为辅助视觉检测算法建立检测数据模型。
操作人员可以使用鼠标、触摸屏、按键在人机交互设备上进行操作,操作包括更改算法检测结果、指出产品缺陷位置、选择缺陷种类等。
根据上述需求,人机交互设备需要不仅需要支持较高分辨率的显示还需要能够执行视觉检测算法、支持对画面的重绘,最终还需要将人工辅助的结果上传至远程服务器,帮助远程服务器对人机交互中的视觉算法进行优化。
视觉检测算法的运行依赖于多个库,如O p e n c v 、Pytorch、Python解释器,大多数传统的人机界面不支持对系统库进行重新安装,所以一般会将这些库安装于X86或ARM架构计算机设备中,所以在此使用QT框架设计,不仅提供了一种较为简洁的人机交互界面,同时由于QT有着强大的可移植性,支持目前主流的操作系统平台,如
Windows,Linux桌面端/服务端/嵌入式。
收稿日期:2020-10-20
*基金项目:流程工业智能制造基础信息平台工厂操作系统的研发(SQ2020YFB170031)作者简介:高文祥(1986—),男,上海人,本科,助理工程师,研究方向:嵌入式软件。
基于QT 的工业边缘侧视觉检测系统人机协同交互方法*
高文祥1  琚长江1,2,3  聂佳1  李倩1,2  郭丽君1,2
(1.上海电器科学研究所(集团)有限公司,上海  200063;2.上海市智能电网需求响应重点实验室,上海  200063;
3.国家能源智能电网用户端电气设备研发(实验)中心,上海  200063)
摘要:一直以来人机界面被广泛应用于工业现场用作人机交互解决方案。目前,视觉检测已在多个行业的数字化车间中逐
渐普及,人机界面需要用来在视觉检测过程中显示产品缺陷,辅助视觉检测算法训练自动化。在这一应用中,人机交互被赋予更高的要求。传统的人机界面因分辨率受限、无法管理视觉检测算法执行,不适合作为图像检测系统的人机交互设备,而以往在云端实现的视觉检测处理无法实现实时人机交互。针对这些限制,本文以在视觉检测过程中使用QT设计人机交互方法为例,验证了一种可行的方案。
关键词:Q T ;人机交互方法;视觉检测;自动化;人机界面;C ++
中图分类号:TP273
文献标识码:A
黑方糖文章编号:1007-9416(2020)12-0169-03
DOI:10.19695/jki12-1369.2020.12.53
设计开发
图1  智能制造视觉检测系统示意图
Copyright©博看网 www.bookan. All Rights Reserved.
第  38  卷                      数字技术与应用    www.szjsyyy
通脉汤
170
光学检测技术
2 基于QT技术的视觉检测控制系统人机交互界面的实现
2.1 界面软件整体设计概述
网络流量统计
采用QT框架面向对象的设计方式对人机界面进行开发设计,界面设计如图2所示。
包括当前检测产品的种类、视觉检测系统的网络地址、检测结果保存的目录路径等。这些参数保存在视觉检测系统的轻量级数据库SQLite [1]中,修改QT工程的.pro文件,添加SQL模块。设计流程如图3所示。
2.3 图片显示与重绘
图片的显示与重绘主要用于系统运行界面,显示拍摄到的产品图像,这些图像都经过了视觉检测算法的处理因而存在算法给予的标注信息。(标注信息是指该图片是否存在“缺陷点”,如果存在“缺陷点”,则该信息需要包含“缺陷点”在图片坐标系中的坐标数据)。
2.4 鼠标功能重载
鼠标功能的重载主要应用于系统运行界面中,在系统运行界面中我们对算法处理后的图片进行了显示,显示部件为QLabel类,但是当视觉检测算法存储的针对目前检测产品检测数据少,需要人工对于产品的检测结果进行确认
或干预时,我们需使用鼠标在QLable部件上拖拽进行重绘图像,示意图如图4所示。
开始
构造配置界面
添加SQLite数据库
驱动
打开指定数据库显示错误信息
显示读取的信息
读取数据库信息
结束
保存按键按下时数
据存于数据库中
失败
成功
3  系统配置信息界面设计流程
图2  交互界面设计图
本次设计中人机交互界面的总体布局基于Stacked Widget部件,主要进行了如下设计:(1)用户界面设计;(2)图片的显示与重绘;(3)鼠标功能的重载;(4)开启线程接收视觉算法处理好的图片信息。
2.2 用户界面设计
用户界面主要用于对视觉检测系统的配置,配置内容
图3中,我们重新定义了鼠标的功能,使得鼠标在QLabel部件中拖曳出一个矩形,在鼠标放开后需要保存最终形成的矩形信息。
2.5 矩形左上角坐标以及矩形长、宽
通过矩形左上角坐标以及矩形的长和宽可以记录了一个“缺陷点”,并存在系统中。我们可以如此绘制多个“缺陷点”,用来辅助视觉检测算法进行标定,优化其模型。
使用QLabel [2]的MousePressEvent、MouseMovement Event、MouseReleaseEvent可以实现鼠标按下、移动、放开的动作。这些函数都是继承于QObject的虚函数,需要在QLable部件中重写。这样我们在使用QLable部件使用鼠标时能够具备抽象描述出矩形的功能,再使用QLabel类的paintEvent函数进行绘制,最终在QLabel上实现了画出一个矩形。
缺陷点
被展示的图像
图4  鼠标功能重载示意图
Copyright©博看网 www.bookan. All Rights Reserved.
2020年第 12 期
171
在线管理系统
A Human-Machine Interface Applied in Visual Identity Inspection
Based on QT Framework
GAO Wen-xiang 1,JV Chang-jiang 1,2,3,NIE Jia 1,LI Qian 1,2,GUO Li-jun 1,2
(1.Shanghai Electrical Apparatus Research Institute (Group) Co., Ltd., Shanghai  200063;2.Shanghai Key Laboratory of  Smart Grid Demand Response, Shanghai  200063; 3.National Energy Smart Grid User Electrical Equipment Research and Development
(Experimental) Center, Shanghai  200063)Abstract:Human Machine Interfaces are widely applied in industry automation. Nowadays, intelligent manufacturing becomes more and more popular. We need a demanded method of Human–Computer Interaction to help us demonstrate the tested product、detect the product defects and finally train the Visual recognition algorithm during Visual Identity. However the traditional Human Machine Interfaces devices are in low resolution ratio as they do not have a HDMI usually and they are not able to run the Visual recognition algorithm locally.  And if we establish the above function on the cloud side, we will be lack of the real-time Human Machine Interaction mechanism. To overcome all these issues, we provide a workaround based on QT to perform a Human–Computer Interaction on the local side.
Key words:QT; human machine interaction;visual identity; automation; HMI; C++
2.6 后台线程接收模块设计
多线程技术主要应用于GUI程序开发,这对于图形界面开发的程序尤为重要,当一个操作耗时很长时,整个系统都会等待这个操作,程序就不能响应键盘、鼠标、菜单等操作,而使用多线程技术可将耗时长的操作置于一个新的线程,避免以上问题。
QT多线程实现的主要思想就是利用Qt的事件驱动特性,将需要在子线程中处理的业务放在独立的模块(类)中,由主线程创建完该对象后,将该对象移交给指定的子线程,同时在主线程中使用信号-槽设计,连接主线程发出的信号至该对象的槽函数,注意这里的槽函数即为该对象的实际处理业务的模块(类)。在连接函数connect中,指定connect函数最后一个参数为:QueuedConnection,即可对不同QWidget对象发送信号。
经测试,视觉检测算法运行在处理器为Intel Celeron 1.99GHz,2GHz、内存为8G、基于X86的WIN10操作系统运行时间为3s左右,如果不使用多线程技术,则界面可能会等待算法输出结果约3s钟,会有明显的冻结现象,此举
解决了当前显示画面在等待算法输出时会出现界面冻结的问题。
3 结语
本文所介绍的基于QT框架实现的应用于工业边缘侧的视觉检测人机交互设计方法,为智能制造中广泛应用的视觉检测检测提供了一种可视化的环境, 也有别于其他传统的人机交互界面设备,为视觉检测算法收集产品缺陷模型提供一种解决途径。目前基于该方法设计的人机交互界面已经可以部署在工控机中用以辅助视觉检测算法进行优化,在电机生产线上实验运行取得了良好的效果。
参考文献
[1] 朱吉佳,蔡家麟.基于Qt 的业务监控系统界面设计与实现[J].计算机技术与发展,2008(3):236-239+242.
[2] 刘伟民,韩斌,李征.基于linux的数据采集及在QT界面的显示[J].微计算机信息,2008(22):97-99.
高文祥 琚长江 聂佳等:基于Q T 的工业边缘侧视觉检测系统人机协同交互方法
Copyright©博看网 www.bookan. All Rights Reserved.

本文发布于:2024-09-21 02:35:00,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/141708.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:检测   视觉   算法   系统
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议