刘兵 关腾腾 曾健波 李庆飞
背景
工业智能相机可以通过WEB管理软件实现在工业现场端与控制室端的远程跨平台快速部署及查看的功能,进一步实现数据融合及大数据分析。通过WEB端实现本地端与云端数据互联互享,互通互用。通过多机组网共同管理实现多工位智能联控管理及实时任务跟踪,进一步为智能工厂实现工业4.0的柔性性。
为了跨平台实现MVX201智能相机在工业现场的远程部署工作,设计一款用于配置MVX201智能相机的WEB服务软件。WEB服务软件主要用于智能相机图像处理算子、工程配置,实现工业自动化场景下的条码识别、物体的分类检测,识别等应用,代替人眼做检查、定位、测量、识别等功能,给机器赋予“眼睛”的新定义。
硬件平台
MVX201型智能相机平台上,采用软件和硬件高度结合的嵌入式系统。
配合相机其他软硬件的设计,可以方便的对复杂应用场景进行算法编制,实现视觉项目快速实施落地。
系统概述
此平台为 MVX201智能相机提供可视化方案,包含图像采集、提供可供选择的OpenCV算子、算法模块、深度学习推理算子配置功能。可配置通信模块包括Ethernet、CAN、UART、GPIO等等。具有操作简易、实时采集图像、稳定可靠、功能完备等特点,集合了大量的算子及通信方式选择。在平台上可建立工程,大大的提高了视觉开发人员的效率。
方案设计
设计流程
使用WEB平台化实现并简化视觉深度学习的相关工作,是通过WEB配置深度学习相关算法模型及参数并使用WEB驱动后端相关进程的运行。在这个过程中,需要对WEB相关功能进行设计开发,以满足功能的实现;在WEB设计完整的情况下,加入前后端数据交互功能以实现平台通过WEB平台化实现图像采集分析的目的。
WEB设计包括前端界面设计和后端设计。前端界面包括:用户界面、相机主页、相机管理界面;后端包括经过WEB的各种逻辑和数据库操作等。WEB设计如图2。
用户管理
1.创建用户模型表并存入密码。
2.初始化用户模型的SQL:
CREATE TABLE `aeye_user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user` varchar(200) DEFAULT NULL,
`password` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `name_UNIQUE` (`user`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8
3.配置数据库的代码:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'smart_camera',
'USER': 'root',
'PASSWORD': '123456',
'HOST': 'localhost',
'PORT': 3306,
}
}
创建登录页面
系统启动后,浏览器访问相机IP:8000,浏览器将渲染出登录页面。
用户管理界面
用户管理界面主要用于用户的注册与密码管理。如下图所示:
相机主页
相机监控其主要包含以下几个功能区域:相机信息、图像显示区、工程列表运行控制、工程配置。WEB界面如图5。
相机信息
相机信息包括序列号、用户ID、物理地址、IP地址、子网掩码、固件版本号。
图像显示区
可选择工程的流程中的相关输出图像作为显示图像,默认为流程最终输出图像(原图加结果的复合)。
工程列表
显示所有工程及其状态及相关备注信息,可编辑工程、删除工程、运行工程。
运行控制
运行控制包括3种模式,即单步模式、循环模式停止模式。
工程配置
将相机参数按类别分为不同条目,选择相应的条目进行参数配置。相机参数配置WEB界面如图6。
添加相机图像CV算子(相机原图、上传图像、相机本地图像、图像相加、图像相减、图像相乘、图像相除、图像对比、通道分割、色彩转换、加权相加、阈值分割、自适应分割、均值平滑、中值平滑、高斯平滑、双边平滑、膨胀图像、腐蚀图像、形态学处理、上下采样、图像梯度、提取边缘、霍夫线变换、霍夫圆变换、扫描条码、直方图均衡、对齐图像、图像清晰度、图像缩放)并配置。
添加AI神经网络模型(仪表检测模型、汽车零部件缺陷模型、超市货架商品分类模型、人脸识别模型等)。
点击某一算子图标,在“流程管控区”生成一条带序号的记录,并在“流程单元配置区”显示该算子的配置详情。该处的算子分为两个部分:一是为工程流程使用的图像处理和深度学习推理算子,二是输出信息配置算子。
显示及管理工程中的流程算子,包括流程算子的删除、修改、移动操作。删除:用户可通过删除图标对流程进行删除;修改:点击“流程管控区”中的某一条流程记录,在“流程单元配置区”中显示其配置详情;移动:对于流程记录可通过鼠标左键进行拖拽移动改变流程顺序。注意:移动、修改、删除后,流程的序列标号应连续有序;如图7。
提供相关通信模块,当前主要通信协议支持Ethernet、CAN、UART、GPIO。用户可直接选择相应模块进行相关的参数配置,完成后在通信流程管控区生产相关记录,界面如图8。
在对工程进行相机配置、运行配置、外部配置后保存,如图9。
相机管理
工程管理
工程管理包含“相机运行状态监控--工程运行信息”的功能,额外增加导入、新建工程操作。导入:可使用工业智能相机导出的工程进行导入;新建工程:可点击“新建工程”后,界面跳转到“相机运行工程配置”界面。
模型管理
模型管理以列表的形式显示相机中所有导入的模型的状态(序号、导入时间、最后使用时间、当前使用情况,模型描述;按使用的最新时间进行排序),提供相关操作(导入、导出、删除;导入:可通过点击“导入”、选择要导入的模型、选择模型的分类实现模型的导入;导出:在模型列表中找到要导出的模型,在其操作项中点击“导出”、选择外部保存路径实现模型导出;删除:在确保模型未被工程使用的情况下,通过点击模型的操作项中“删除”实现模型的删除操作)
图像管理
图像管理是显示相机中所有导入、本机保存到指定目录的图像的状态(序号、导入时间、最后使用时间,使用情况,图像描述),按最后使用时间进行排序;对该区域图像提供相关操作(导入、导出、删除、查看);导入:可通过点击“导入”、选择要导入的图像并修改图像文件名,将其保存到固定目录下;导出:在图像列表中找到要导出的图像,在其操作项中点击“导出”、选择外部保存路径实现图像的导出;删除:在确认图像未被工程使用时可直接通过点击“删除”执行删除操作,若图像已被使用将弹出提示窗口询问用户“是否删除、删除后相应工程功能可能會受影响”,是否执行删除操作根据用户选择。
如图10。
前后端数据交互设计
前后端数据交互主要是以前端与数据库进行信息交互,后端通过消息订阅和发布的形式从json文件或者数据库中提取或传递消息。前后端数据交互设计如图11。
总结
在工业视觉的应用场景下,采用WEB配置MVX201智能相机进行CV算子、深度学习模型适配,形成新的多层深度学习神经网络组合,可以模拟人类识别任务时的判断能力,从而使视觉系统能够识别图像、感知趋势和理解表面缺陷的能力,智能相机赋予了机器人眼的能力。