机器视觉,说白了就是用摄像头和电脑来替代人眼做检测、看东西。它在工业里用得最多——自动检查产品好坏、控制生产线、引导机器人干活。
机器视觉这个叫法,涵盖的东西挺杂:技术、软件、硬件、系统集成、操作手法,还有实际经验。它跟计算机视觉不太一样,计算机视觉是纯计算机科学那套,而机器视觉更像一门系统工程,说白了就是把各种现成技术重新拼凑使唤,专门解决工厂里的实际问题。
到底什么叫机器视觉?不同人说法不一样,但核心都一样:自动从图像里提取信息,而不是像图像处理那样只是生成另一张图。它提取的信息可能就是个好/坏信号,也可能是更复杂的——比如识别每个物体的身份、位置和方向。这些信息能用在各种地方:自动检测、机器人引导、安全监控、车辆导航。
基于图像的自动检测和分拣。机器视觉最常用的就是靠图像做自动检测、分拣,以及引导机器人。整个流程包括先规划好需求细节,再搭出一个解决方案。
操作步骤和方法。自动检测的第一步是拍照——一般用相机、镜头和专门设计的光源,保证后来要处理的信息能区分开。然后机器视觉软件用各种图像处理技术提取需要的信息,根据这些数据做出判断(比如通过/不通过)。
一套自动检测系统通常包括:光源、相机或其他成像设备、处理器、软件、输出设备。相机要么单独接处理器,要么合二为一——一体机就叫智能相机或智能传感器。
最常用的是常规可见光成像(2D),但也有别的选择:多光谱成像、高光谱成像、红外线成像、线扫描成像、3D表面成像、X光成像。虽然大多数机器视觉应用靠2D成像就能搞定,但用3D成像的活儿现在越来越多。
图像处理。拍完图就开始处理。主要计算靠CPU、GPU、FPGA,或者它们混着用。深度学习训练和推理对处理性能要求更高。处理往往分多步走,最后得出需要的结果。典型流程是:先用滤镜之类的工具修改图像,然后提取出对象,再从对象中提取数据(比如测量尺寸、读码),最后跟目标值相比,产生并输出通过/不通过的结果。
自动检测系统最常见的输出就是通过/不通过信号。根据这个结果,可以触发机械装置自动剔除废品,或者拉响警报。其他常见输出还包括物体的位置和方向信息,用来引导机器人。
深度学习那点事。深度学习的词意思很多,但机器视觉里其实用了类似技术二十多年。不过直到2010年代后期,工业机器视觉才真正能把它用在整张图上。传统机器视觉往往需要靠物理规律来简单地区分缺陷——比如缺陷的颜色深、好零件颜色浅。有些活儿以前干不成,就是因为做不到这种简单区分。深度学习不需要这个前提,它能像人眼一样看到物体,所以以前搞不定的自动检测现在能做了。系统先拿大量图像训练,学好了再在运行时做检测,这叫推理。
机器视觉常给机器人提供位置和方向信息,让它能正确抓取产品。这种能力也能用在做简单运动控制的场合,比如单轴或双轴运动控制器。
