Upload
others
View
25
Download
0
Embed Size (px)
Citation preview
封面标题: 结合训练与推论的一体化工业视觉检测方案
内页标题: 世平集团基于英特尔边缘计算平台分享结合训练与推论的一体化工业视觉检测方案
为了满足目前工业领域日益增加缺陷检测需求,英特尔与世平集团联合推出了“训练+推论协同一体化 EIS
(Edge Insight Software, 边缘计算平台) 工业视觉检测方案”。该系统运用 Balser 摄像机、网关和软件应用,
支持高分辨率图像的采集配合传统视觉与深度学习视觉算法对已知类型的产品做缺陷的检验。国内某知名工
厂方案铝件的产品缺陷检测即是基于此框架做实例的应用。
本方案是基于计算机视觉,通过对物品的图像数据的采集再经由专用边缘计算节点设备进行运算处理,将处
理结果进行分发:
1: 控制机械手臂以及报警
2: 将数据上报边缘服务器
边缘服务器做数据的汇总处理分析再完成云端连接。
图 1 EIS模型路径参考
1. 方案优势 1.1 识别结果过拟合度低
图 2 传统 AOI 缺陷识别方案原理图
由于传统 AOI 方案采用光学视觉比对分析方法,对待测物件进行分析,检测过拟合率高,容易将良品误
报为缺陷品,需要人工在后台做二次筛选,影响生产效率,提供人工成本。同时,鉴于 AOI 缺陷识别是利
用先验的缺陷形状,做模式判别,本身可以分类的缺陷种类比较有限,无法判断对一种问题再做二次分类。
本项目基于 AI 黑盒模式进行缺陷分类,同时通过对大量样本数据的标注学习,自动完成缺陷目标检测,
识别精度高,减少二次复查资源,同时,由于该方案利用深度学习技术,用户无需匹配特定缺陷特征,将
全部交由人工智能自动完成全部的特征统计,因此可大大提高缺陷分类数,相比 AOI,能够对更多的细分
缺陷进行识别。
1.2 模块化部署
通常工业专案落地时,因为应用场景不同,系统架构往往需要根据项目需求做出重新设计,这大大提升了
项目部署的复杂性与难度,耗费人力资源。本方案采用 Docker 模块化部署的技术,将数据采集、整合、
存储、分析、算法部署、消息队列处理等步骤功能进行任务分割,并完善底层数据逻辑,从而实现了系统
架构的可复制化,因此系统集成商无需从头到尾重新设计方案架构,只要完成功能模块的选配,参数设定
以及模型再训练,便可基本实现整个方案的部署,极大降低了项目部署难度,从而提高系统复用性。
1.3 训练门槛低
本项目采用 LeaderG 的 OpenR8 图形化训练工具, 其内建多种主流深度学习框架(Tensorflow, Caffe,
Pytorch…)与算法模型(SSD, MobileNet, GoogleNet..), 用户无需掌握编程技能,透过简单的瀏览器介
面,仅用滑鼠就能使用,便可轻松创建深度学习模型。
图 3 OpenR8 功能架构
2. 应用案例
l 胚布瑕疵检测——纺织厂圆机生产车间实时产品质量检测
l 基于图像识别的订单跟踪——成衣厂自动订单识别
l 金属表面缺陷检测——铝压铸件工厂产品质量检测
3. 系统配置: 当瑕疵品被检测到后,报警指示灯亮起。操作员需对产品及系统详细检查,确认无故障后,按下复位按钮,
报警指示灯熄灭
3.1 硬件方案
图 4 方案硬件架构
本方案边缘计算节点采用 JWIPC 公司(合作厂商)基于英特尔酷睿平台专门针对工业领域研发的
E7QL 机型,它的主要的一些特点为:
l 操作的环境温度比较宽,操作温度支持-20 到 60 度。
l 无风扇设计避免灰尘。 _
l 搭载的 chipset Q170 是工业专用芯片,稳定度好。 _
l 提供 i3 到 i7 不同 CPU, 满足不同算力支持。最高端的酷睿 i7 的算力能力强,4 核 8 线程。
_
l 工业接口丰富,支持串口,千兆网卡,GPIO, USB3.0,MXM3.0 等一系列不同接口。 _
l 内置 PCIE 扩展槽 _
l 模块化设计给用户不同的配置选择。
3.2 软件方案
本方案基于 TICK 时间序列处理架构,实现模块化的软件设计模式。
l Telegraf - 数据采集
l InfluxDB - 数据接收和存储
l Chronograf - 数据汇总展示
l Kapacitor - 数据处理,比如监控策略等
图 5 方案软件架构
3.3 原型系统
图 6 方案原型系统展示
4. 关键技术
4.1 关键帧筛选
本方案采用 OpenCV2 内建算法,通过像素点阈值的设定,采集多张待测物件正位图,并计算筛选出待
测物在画面最中心的那一帧作为该物件关键帧进行识别,同时提取其 meta data 转存至 InfluxDB 时
序数据库中。
图 7 数据采集流程
mport <libraries>
from . import BaseTrigger
class Trigger(BaseTrigger):
def __init__(self, var1, var2,…):
# Constructor
def get_supported_ingestors(self):
return [‘video’, ‘video_file’]
def on_data(self, ingestor, data):
…
self.send_start_signal(data, -1)
…
self.send_data(data, <user data>)
…
self.send_stop_signal()
…
图 8 关键帧筛选模块架构
4.2 图像定位
本方案采用 OpenCV2 FlannBasedMatcher 模块将关键帧的关键点与参考图片进行匹配,以调整关键
帧的大小以及角度,同时利用 findHomography 模块计算参考图像与关键帧的相似度,判断关键帧的有效性(是否为待测物),以便进行识别。
# Find matching keypoints
raw_matches = self.flann.knnMatch(ref_des, img_des, k=2)
for m in raw_matches:
# Lowe's Ratio Test
if len(m) == 2 and m[0].distance < m[1].distance * 0.7:
matches.append(m[0])
if len(matches) <= minMatches:
self.log.debug("""Found less than minimum # of matches
required to overlay""")
“Trigger” 类
从配置文件中收集参数 (factory.json)
筛选算法主体
发出 trigger 信号,标记待测物件已置于相机视角内
将当前的关键帧与用户标记数据合并送至推理
结束信号,标记结束抓取待测物
return None
self.log.debug("Number of good matches: {}".format(len(matches)))
src_pts = np.float32([ref_kp[m.queryIdx].pt for m
in matches]).reshape(-1, 1, 2)
dst_pts = np.float32([img_kp[m.trainIdx].pt for m
in matches]).reshape(-1, 1, 2)
# Calculate homography
M, mask = cv2.findHomography(src_pts, dst_pts, cv2.RANSAC, 4.0)
score = float(mask.sum()) / mask.size
return (M, mask, score)
图 9 图像定位源码
4.3 分类识别
首先标记待测物的 ROI 区域,截取 ROI 区域的图像,送入预先训练好神经网络模型,进行分类分析,
从而得到物件关键位置的缺陷种类的置信度数据,做出判断。
{
"missing": {
"A1_roi" : [ [530, 229, 580, 271],
[635, 640, 660, 679],
[915, 585, 965, 637],
[1204, 672, 1260, 705],
[1113, 255, 1175, 292]
]
},
"short": {
"A1_roi" : [ [557, 589, 595, 627],
[1238, 815, 1284, 849]
]
}
}
图 10 ROI 标注文件
图 11 识别结果的置信度信息
mport <libraries>
from algos.dpm.defect import Defect
from algos.dpm.display_info import DisplayInfo
import openvino.inference_engine
class Classifier:
def __init__(self, var1, var2, …):
# Constructor
def classify(self, frame_num, img, user_data):
# Main classifier algorithm
….
defect_array.append(Defect(<defect id>, (xmin, ymin), (xmax, ymax)))
info_array.append(DisplayInfo(“<string to display in UI>”, priority# ))
return info_array, defect_array
图 12 图像分析模块架构
4.4 模型训练与部署
OpenVINO 中用于深度学习推论的 inference engine 库
“Classifier” 类
构造参数来自于 factory.json
分类算法主体
classify() 返回图像与缺陷标记信息
利用基于 Caffe 框架的轻量化模型 MobileNet_V2 进行训练,识别延迟低,相应速度快,非常适合对
实时性有严格要求的生产线使用,可实现产线传送带不停机检测。
图 13 数据标注与训练
先使用 Intel OpenVINO Model Optimizer 工具包将模型转化为.bin(Weight 和 Bias 值)和.xml (模
型拓扑)格式文件。然后针对模型输出数据格式,调整 API 接口调用方法,将识别后的 ROI 区域检测
结果呈现在原型系统上,并推送给后台业务逻辑,当瑕疵品被检测到后,报警指示灯亮起。操作员需对产品及系统详细检查,确认无故障后,按下复位按钮,报警指示灯熄灭。
图 14 深度学习模型文件
图 15 人机图形化界面
一体化工业视觉检测方案
Intel JWIPC Leader G
解決方案名稱
Edge Insights Software (EIS) 推理框架软件
E7QL 工业电脑 OpenR8 图形化训练工具
規格
l Intel processor family
l 8Gb memory l 25Gb hard disk
space
Processor CPU
Intel® 6/7 th Core
™ i3/i5/i7 LGA1151
CPU,TDP=35W
Chipset Intel® Skylake Q170
Memory
Interface
2 x DDR4 SO-DIMM,
@1.2V,
1866/2133/2400/2666 M
Hz;
Capacity
Max support 16G,
dual channel,
can be extended to
32GB;
Storage
Interface
1 x 2.5〞HDD,
support 5~9.5mm;
1 x 2.5〞HDD;
l 支持多国语言、中文显示、中文批注、及中文变量名称
l 详细的中文说明文件及教学影片
l 每週更新最新演算法
l 不用写程序,图控接口,轻松使用最新算法
l 开放原始码
l 简单好上手,开发整合速度快
l 经过半导体产业、面板产业、石化产业、
PCB 产业等大厂验证
1 x M.2 SATA 3.0
(22*42mm)
Dispaly
Chipset Intel® HD Graphics,
support DirectX12
Output
1 x DP
(Max support:
4096x2304 x24bpp,
@ 60Hz)
1 x DVI-D
(Max support:
1920x1200,@ 30Hz)
1 x VGA
(Max support:
2048x1536)
Network
Chip
2 x Intel® Ethernet
Connection(LAN1:
i210-AT,LAN2:I219-
LM,Support WOL)
WIFI &3G/
4G
1 x Mini-PCIE
(Support 802.11b/g/n
,3G/4G, option)
1 x SIM
Audio
Chip Realtek ALC662VD
Interface 1 x Mic-
in + 1 x Audio-out
I/O
USB 6 x USB 3.0
COM
4 x DB9 RS232
(COM1/COM2 support
RS485/RS422/RS232,
BIOS)
Expansion
PCIE
1 x MXM 3.0, 2 x
PCIE 3.0 8x +2 x
PCI
COM 2 x 9pin COM
(RS232)
GPIO 8 x GPIO
Power
Type DC
Interface 1 x 4pin 5.08 PHOE
NIX
Valtage
12V~19V
(Support 6V~39V mod
ule,Max TDP100W)
LED/Buttl
e
Boot 1 (include LED)
Reset 1
Watchdog Support
l 参加国际 AI 大赛得到第一名,奖金 10 万美金
l 专业版永久授权价格合理
l 感谢晶圆、封测、面板、铜箔、 PCB 等产业大厂采用
l 免安装,内建 Python
3.6 、TensorFlow 、PyTorch,支持 CPU 及
GPU 运算,不需麻烦另外安装 Python 环境,解压缩后即可立刻使用
l 内建常用深度学习解决方案: SSD, VGG,
ResNet, YOLOv3,
MaskRCNN, Data
Analysis, Taiwan
Stock 等,所有方案皆验证过,使用 OpenR8
窗口接口,用鼠标即可执行,免写程序
Environ
mental
Working T
EMP
Industrial-temp:-
20~60°C
(Industrial SSD);
Industrial-temp:
0~40°C
(Commercial HDD)
Storage T
EMP -40~80°C
Humidity 10%~90%@40°C(non-
condensing)
Physical
data
Size 268mm(L) x 194.2mm(W
) x 159.5mm(H)
Weight 5.21kg
OS Version Windows 7/8.1/10 64B
IT、Linux
特點
l 开源免费
l 集成 OpenVINO 及多种预训练模型
l Docker 容器部署
l 支持 Basler,海康威视等国内外主流工业相机规格
l 支持 InfluxDB 时序数据库
l Support Core™ i7
Processor,with Q170 chip
l Support Dual channel DDR4
SO-DIMM, Max support 32GB
l Three display interface
onboard(DP+DVI-D+VGA)
l Max support 10 USB
l Max support 6 Intel 1000
Mbps Ethernet port
l Max support 8 COM Interface
l Storage: 3HD(M.2-
2242+2.5inch HDD+2.5inch
HDD)
l 2*PCIe+2*PCI slot
l Power:12V~19V(standard
configuration),
9V~36V(option module)
l 软件包,使用简单的
Windows 操作系统,不需使用复杂的 Linux
操作系统
l 免安装,内建 Python,
TensorFlow, PyTorch,
OpenVINO, OpenCV,
Caffe ,解压缩后即可直接执行
l 友善用户接口,不用写程序,用鼠标也能进行
AI 训练及推论
l 开放原始码
l Runtime 版,免授权金
l 专业版,价格合理
l 针对內建解决方案,有技术支持
l 支援深度学习
l 支持人工智能算法
l 支援图像处理
l 支持多种影像运算方法
l 支持影像分析
l 支持样板比对
l 支持对象分析
l 支持条形码辨识
l 支援 QR code
l 支持多国语言编码
l 支持多核心及多处理器的计算机
l 支持 GPU 加速
l 支援自定义函式库
l
关于世平集团物联网解决方案聚合商
世平集团是英特尔®物联网解决方案聚合商,可提供最多样化的英特尔®物联网解决方案,满足您的多领域以及多应用
业务需求,在业内属最佳渠道。为了发挥物联网解决方案聚合商的作用,世平集团有能力为亚洲及大中华地区的 IT 系统
聚合商以及 OT 系统聚合商提供服务,架起整体端到端(边缘对云端)应用的桥梁,整合联网解决方案,摒弃工业
ODM/OEM/ISV 解决方案,为系统聚合商选择合适的解决方案以及进行库存管理提供更加有效的支持。此外,协助建立
并培养行业知识以及使用案例,推进各种物联网的应用,并支持通过生态系统合作伙伴的协同作业来扩展业务。作为英
特尔®物联网解决方案聚合商,我们将利用技术合作伙伴生态系统,为客户提供聚合型的、端到端、立即部署的英特尔
®行业整体解决方案 (MRS, Market Ready Solutions) 与 RFP 物联网开发套件(RRK, RFP Ready Kits)。