计算机视觉是人工智能的一个重要分支,旨在让计算机能够“看见”并理解图像和视频内容。随着计算能力的提升和深度学习技术的发展,计算机视觉在近年来取得了飞速的进展,并在多个领域实现了广泛应用。
计算机视觉就是使用光学非接触式感应设备自动接收并解释真实场景的图像,以获得信息并控制机器或流程。计算机视觉技术是一门涉及人工智能、神经生物学、心理物理学、计算机科学、图像处理、模式识别等诸多领域的交叉学科。它主要通过计算机来模拟人的视觉功能,从客观事物的图像中提取信息,进行处理并加以理解,最终用于实际检测、测量和控制。计算机视觉技术最大的特点是速度快、信息量大和功能多。
人类在生产实践的过程中,针对自身能力的局限性,发明和创造了许多智能机器来辅助或代替人类完成任务。智能机器能模拟人类的功能,感知外部世界并有效地解决人所不能解决的问题。人类感知外部世界主要通过视觉、触觉、听觉和嗅觉等感觉器官,其中约80%的信息是由视觉获取的。因此,对智能机器来说,赋予机器以人类视觉功能是极其重要的。
在现代工业自动化生产中,涉及各种各样的检查、测量和零件识别应用,例如汽车零配件尺寸检查和自动装配的完整性检查、电子装配线的元件自动定位、饮料瓶盖的印刷质量检查、产品包装上的条码和字符识别等。这类应用的共同特点是连续大批量生产,对外观质量的要求非常高。通常这种带有高度重复性和智能性的工作只能靠人工检测来完成,我们经常在一些工厂的现代化流水线后面看到数以百计甚至逾千的检测工人来执行这道工序,但这在给工厂增加巨大的人工成本和管理成本的同时,仍然不能保证100%的检验合格率(“零缺陷”),而当今企业之间的竞争已经不允许哪怕是0.1%的缺陷存在。有些时候,如微小尺寸的精确快速测量、形状匹配、颜色辨识等,用人眼根本无法连续稳定地进行,其他物理量传感器也难有用武之地。这时,人们开始考虑把计算机的快速性和可靠性、结果的可重复性与人类视觉的高度智能化和抽象能力相结合,由此逐渐形成了一门新学科——计算机视觉。
计算机视觉是研究如何使用计算机模拟生物宏观视觉功能的科学与技术。通俗地说,它是用计算机代替人眼进行测量和判断。首先,通过CCD照相机将被摄取的目标转换为图像信号,并将其传送至专用的图像处理系统。这些信号根据像素分布、亮度和颜色等信息转变为数字化信号。接着,图像系统对这些信号进行各种运算,以提取目标的特征,如面积、长度、数量和位置等。最后,根据预设的容许度和其他条件输出结果,如尺寸、角度、偏移量、个数、合格/不合格、有/无等。计算机视觉的特点包括自动化、客观性、非接触性和高精度。与一般的图像处理系统相比,计算机视觉更加强调精度和速度,并且在工业现场环境下具有更高的可靠性。
计算机视觉是一个相当新且发展十分迅速的研究领域。人们从20世纪50年代开始研究二维图像的统计模式识别;60年代Roberts开始进行三维计算机视觉的研究;70年代中期,MIT人工智能实验室正式开设“计算机视觉”课程;80年代,开始了全球性的研究热潮,计算机视觉获得了蓬勃发展,新概念、新理论不断涌现。现在,计算机视觉仍然是一个非常活跃的研究领域,与之相关的学科涉及图像处理、计算机图形学、模式识别、人工智能、人工神经元网络等。
典型的视觉系统一般由以下3部分构成:
(1)图像获取:光源、镜头、相机、采集卡、机械平台。
(2)图像处理与分析:工控主机、图像处理分析软件、图形交互界面。
(3)判决执行:电传单元、机械单元。
视觉系统输出的并非图像视频信号,而是经过运算处理之后的检测结果,如尺寸数据。上位机如PC和PLC实时获得检测结果后,指挥运动系统或I/O系统执行相应的控制动作,如定位和分选。
机器视觉系统通常可以分为三大类:基于智能相机、基于嵌入式和基于PC。
虽然人类视觉擅长对复杂、非结构化的场景进行定性解释,但机器视觉凭借速度、精度和可重复性等优势,擅长对结构化场景进行定量测量。举例来说,在生产线上,机器视觉系统每分钟能够对数百个甚至数千个元件进行检测。配备适当分辨率的相机和光学元件后,机器视觉系统能够轻松检验小到人眼无法看到的物品的细节特征。
另外,由于消除了检验系统与被检验元件之间的直接接触,机器视觉还能够防止元件损坏,也避免了机械部件磨损的维护时间和成本投入。通过减少制造过程中的人工参与,机器视觉还带来了额外的安全性和操作优势。此外,机器视觉还能够防止洁净室受到人为污染,也能让工人免受危险环境的威胁。
目前,国际上视觉系统的应用方兴未艾,而在中国,工业视觉系统尚处于概念导入期,各行业的领先企业在解决了生产自动化的问题以后,已开始将目光转向测量自动化方面。机器视觉极适用于大批量生产过程中的测量、检查和辨识,如零件装配完整性、装配尺寸精度、零件加工精度、位置/角度测量、零件识别、特性/字符识别等。其最大的应用行业为汽车、制药、电子与电气、制造、包装/食品/饮料、医学。例如对汽车仪表盘加工精度的检查,高速贴片机上对电子元件的快速定位,对管脚数目的检查,对IC(集成电路芯片)表面印的字符的辨识,胶囊生产中对胶囊壁厚和外观缺陷的检查,轴承生产中对滚珠数量和破损情况的检查,食品包装上面对生产日期的辨识,对标签贴放位置的检查,等等。
计算机视觉与相关学科的关系如下:
● 计算机图形学(Computer Graphics):通过几何基元(如线、圆和自由曲面等)来生成图像,属于图像综合,它在可视化(Visualization)和虚拟现实(Virtual Reality)中起着很重要的作用。计算机视觉正好用于解决相反的问题,即从图像中估计几何基元和其他特征,属于图像分析。
● 模式识别(Pattern Recognition):研究分类问题,确定符号、图画、物体等输入对象的类别,强调一类事物区别于其他事物所具有的共同特征,一般不关心三维世界的恢复问题。
● 人工智能(Artificial Intelligence):涉及智能系统的设计和智能计算的研究,在经过图像处理和图像特征提取过程后,要用人工智能方法对场景特征进行表示,并分析和理解场景。
● 媒体计算(Multimedia Computing):文字、图形、图像、动画、视频、音频等各类感觉媒体的共性的基础计算理论、计算方法,以及媒体系统实现技术,以实现下一代计算机能听、能看、会说、会学习为目标。
● 认知科学与神经科学(Cognitive science and Neuroscience):将人类视觉作为主要的研究对象。计算机视觉中已有的许多方法与人类视觉极为相似,许多计算机视觉研究者对研究人类视觉计算模型比研究计算机视觉系统更感兴趣,希望计算机视觉更加自然化,更加接近生物视觉。