作者 – 友晶科技技术经理 陈泳男先生 (Altera ACAP 顾问)
从机械化到自动化
十八世纪末至十九世纪初,工业革命的兴起,蒸气机、纺织机及电力能源的产生,造就了大量的生产机械化,因而取代了大量人力密集的劳动市场,这股风潮持续了数一百多年不曾间断。
直到了十九世纪中旬,微电脑的发明,自动化控制生产的流程演变成为主流;操作人员只需要运用他的双眼,监控着机器及产品的状态即可;机械化的生产、人员熟练的判断及操作,再也不是市场的主流,这股势力并且从工业界的生产蔓延开来,延烧到了每个家庭之中,生活作息、饮食起居处处都可以见到自动化控制的影子;自动化至今仍然是一股锐不可挡的世界潮流。
从自动化到机器视觉的衍生
随着科技的进步,自动化生产的导入,以及产品的复杂度不断增高。在工业上许多产品的检测,高阶如:IC 芯片、PCB 印刷电路板等…;低阶如标签黏贴是否正常、装填溶液时瓶中是否有异物等…,微细的加工过程,长时间自动化的大量生产,不仅人类眼睛难以负荷,也无法达到快速判断与一致性的要求,机器视觉 MV (Machine Vision) 也因此而诞生。
机器视觉主要的原理是运用取像装置 (CMOS、CCD等…),当作机器的双眼,运用微电脑强大的运算能力,对取得的影像配合适当的算法,得到需要的结果,成为机器内部的参数之一;由微电脑对成品做全自动的分析,大大的降低了检测所需要的时间和人力;相同的,机器视觉也并非只用于工业界的生产,在数字的监控、数字相机、医学工程及智能型玩具等…,我们处处都可以看到它的踪影。
在工业用生产及实际的运用上,配合适当的光学辅助,如光源的调整、镜头的配合等…,运用取像装置,取得高精确度的影像,并运用着适当的算法来做影像的检测,快速的找寻出生产缺陷及其位置,这种非接触性的自动化检测方式,我们称之为自动化光学检测 AOI (Automatic Optical Inspection);在现今不论是半导体晶圆、LCD 面板、LED 发光二极管、PCB 印刷电路板等…的检测上,AOI 都是一个不可或缺的重要角色。
机器视觉及影像处理的难题
在实际使用上,影像的处理对微电脑来说往往都是沉重的负担;实时影像撷取需要大量且连续的内存频宽;而在影像运算的同时,更需要耗费大量的 CPU 资源;在低分辨率、非实时或简单的算法处理时,如:数字监控、玩具上,微电脑或 MCU 微控制器的运算效能或许尚可以满足使用上的需求;相反的,在高分辨率、实时性或复杂的算法上,如:高速光学检测、影像比对、物体追踪及影音压缩,若使用微电脑及 MCU 就显的力不从心,且无法胜认这个重要的处理作业;因为这个原因,市面上发展出了许许多多客制化的 IC,或者直接使用 FPGA 作为算法加速的专用处理器。
以 130 万像素数字相机开发平台为实例
我们以一 130 万像素的 CMOS 数字相机发展平台为实例,来解说一个基本取像平台。Camera 我们使用 Micron 的 130 万像素 CMOS image sensor (以下简称CIS);再这设计中,包含了一个完整 frame grabber 取像范例,提供了实时的 CIS 影像撷取与 VGA 的同步显示,以及可透过外部控制,连续或单张撷取 CIS 影像至 SDRAM 组成的 frame buffer 中,并可使用辅助的软件透过 USB port 读取影像至 host PC 中。
130万像素数字相机开发平台参考设计介绍
参考设计中,主要分成如上图 Core 内部的五个区块:CMOS Sensor Data Capture、I2C Sensor Configuration、Bayer Color Pattern Data to 30-Bit RGB、Multi-Port SDRAM Controller 及 VGA Controller and Data Request,以下我们将会介绍每个区块的用途,以及该区块在一个数字相机模块中所扮演的角色。
CMOS Sensor Data Capture 区块:
提供 CIS 工作所需的 master clock,并且透过 FVAL (frame valid)、LVAL (line valid)及 PCLK (pixel clock) 三个同步讯号,正确的撷取 CIS 送回 FPGA 的 data stream,给予下一级做 row data 前处理;可经由外部按键的控制,来达成实时或单张影像撷取。
I2C Sensor Configuration区块:
内部包含了一个 I2C bus controller 以及一个对应于 CIS 内部 register 地址的 LUT (look up table);透过 I2C bus,提供开机时或外部按键设定时,完整的 CIS 配置能力,可调整增益、曝光时间、CIS 输出格式等等…。
Bayer Color Pattern Data to 30-Bit RGB区块:
使用 line buffer + pipeline 的处理方式,实时的将前一级撷取到的 row data (bayer color pattern),转换成为标准的 30-bit RGB 信息以及适当的 down sample,以便于做后续的影像处理以及显示。
Multi-Port SDRAM Controller 区块:
内部为一个工业等级之 SDRAM controller,可将一个实体的 SDRAM data port,仿真成为四个虚拟的 data port (2 write + 2 read);可将 30-bit 的 RGB data 存入16-bit data width 的 SDRAM 中,并且在同一时间内,配合下一级处理的需求,送出之前存入的 RGB data,形成一个完整的 frame buffer。
VGA Controller and Data Request 区块:
产生 VGA (640*480) 分辨率所需要的同步讯号,并且配合同步讯号向 frame buffer 要求 data,以达到实时显示影像于 VGA monitor。
在这个参考设计中,撷取到的影像会与 VGA 同步显示,当使用者暂停影像的撷取时,VGA 将会持续显示最后存放于 SDRAM 中的影像,此时,在不关机的情况下,使用者可以下载 control panel 的 FPGA bit stream,并且使用 control panel 程序在 SDRAM 相对应的地址,将撷取到的影像读回 PC 中,并且使用转换程序,将读取到的 binary data转换成为 bitmap file 。
在上述的参考设计中,提供了一个完整的 frame grabber 及简易影像处理 (Row to RGB) 的 pipeline 系统,当中并未包含机器视觉以及影像检测的部份,若使用者有意犹未尽的感觉,只需要如上图,改变系统 pipeline 流程,配合需要插入 pre-processing 及 main processing 区块,即可快速的在这个参考设计当中,验证自行设计的影像处理算法。
教学上与工业界应用的断层
现今的大学教育中,IC 设计及数字逻辑的课程往往太偏向于底层控制及计算器结构层面;而在多媒体及影像处理课程中又太过偏向于理论及软件层面;实习上机的课程中,学校实验室又缺乏适当的多媒体实验平台;使的许多电子、电机科系的毕业生,欲从事 IC 设计相关产业,却往往无法符合目前业界所需的影像处理、多媒体处理的设计能力,因而产生了学术界与工业界在这部份的人才断层。
友晶科技及美商 Altera 有鉴于此,共同合作开发了 DE (Develop-ment and Education) 系列平台,来提供影像处理及多媒体教学上所需,此平台不只结合了各教学所需要的接口电路,更可提供业界做为 IC 开发的验证工具;Altera 并对学术单位能以特殊优惠计划提供此强大平台。
Altera,友晶,及半导体学院今年更是推出一『机器视觉基础硬件设计与实作』课程;在课程当中,将完整介绍机器视觉的基础原理,详细说明如何使用 FPGA 来达到取像、实时影像处理;描述每个区块的设计要点,让使用者可以自行设计或增加所需要的功能,了解整个实时影像处理 pipeline 流程的控制,FPGA 内部每个区块 data stream 的传递,并且以 DE2 开发板及 130 万像素 CMOS 数字相机开发平台,实作目前热门的数字监控 - 影像移动侦测系统,内容扎实紧凑,提供欲从事实时影像处理及机器视觉硬件入门或进阶设计者,一个互相交流的管道。
下图为 此课程所用之数字相机发展平台
作者照片