基于FPGA和线阵CCD的色选实验平台研究*
2012-11-24孙晓晔盖素丽
孙晓晔 ,盖素丽
(1.石家庄开发区冀科双实科技有限公司,河北 石家庄 050081;2.河北省科学院 应用数学研究所,河北 石家庄 050081)
随着人民生活水平的逐步提高,人们对食品质量的要求日益严格,这也促使越来越多的大型粮食加工企业为了提高谷物的外观质量、食用品质和商用价值,开始注重粮食的加工品质,不断采用现代化的技术手段来提高色选机的分选效率,研发新的高科技色选机成为企业之间竞争的一种手段[1]。为此,本文提出一种基于FPGA和线阵CCD的色选实验平台,利用FPGA的高并行性、高系统时钟速率和灵活的可编程性,配合高速线阵CCD作为色选图像采集传感器,从而保证色选算法执行电路的高速、高效,为新一代色选机产品的研发奠定基础。
1 色选原理
色选机是利用光电原理,从大量散装产品中将颜色不正常或感染病虫害的个体(球状、块状或颗粒状)以及外来杂质进行检测并分离的设备[2],其原理图如图1所示。被测物从喂料器进入一定长度的无损传送带,并被配送到各分选通道,经过一段时间的运动后,在各通道呈稳定姿态进入CCD传感器的视野范围。可以通过改变图中斜槽的倾斜程度,调整被测物的下落速度。通过对CCD采集到的图像的分析和处理,识别出颜色异常的被测物,控制电磁阀在该目标刚好运动到达喷嘴前的位置时,开启喷气阀,改变该目标的运动轨迹,使其落入废料口,而合格的继续下落最后进入成品收集口,从而实现合格品和不合格品的分离。
2 硬件平台设计
图1 色选原理图
色选硬件实验平台主要由外围的CCD图像传感器、电磁阀、CCD输出信号处理电路和FPGA构成,如图2所示。线阵CCD接收光信号,在驱动脉冲的控制下进行自扫描并将光信号转换成电信号,输出与光信号强度成正比的负极性电压信号。CCD输出信号经预处理后,在FPGA的控制下,被转换成数字信号传给FPGA。FPGA利用其内部的存储器对数据进行缓存,再根据色选算法对数据进行处理,判别出异色米粒,然后根据异色粒的位置开启相对应的电磁阀将其剔除[3-4]。在实际应用中,CCD图像传感器为多路,每路CCD对应1个分选通道,每个通道有多个槽,每个槽对应1个电磁阀。
图2 色选硬件平台构成
2.1 线阵CCD
选别率与选别速度是大米色选的两个重要指标,这就要求作为色选机核心部件之一的CCD数据输出速率高、分辨率高且成像质量高。鉴于此,选用日本TOSHIBA公司生产的TCD1209D,这是一款高速、低暗电流的线阵CCD,为DIP22封装形式的双列直插型器件,可用于传真、扫描和光学字符识别(OCR)等。该器件有效像素为2 048个,最佳工作频率1 MHz,最高驱动频率可达20 MHz[5]。
2.2 CCD信号处理电路
由于CCD 输出信号包含有效的交流信号、直流分量和各种噪声,不便于系统传输、存储和处理。因此,需要对信号进行预处理,抑制噪声[6]。CCD信号处理电路的设计采用了前置放大加专用芯片的处理方式。前置放大电路用来隔离前后级电路的相互影响,同时提供较大的电流放大倍数;而专用芯片通过暗电平校正、相关双采样等技术消除噪声。专用芯片采用PHILIPS公司的TDA9965,该芯片具有功能强大、性能优越及价格便宜等特点。利用TDA9965可对CCD输出信号进行暗电平校正、相关双采样及A/D转换等,为FPGA要处理的数据进行预处理。
2.3 FPGA
FPGA作为整个硬件装置的核心,不仅需要产生CCD的驱动时序控制CCD图像传感器采集图像信息,还要对CCD输出信号的A/D转换进行控制,并利用其内部的存储器对数据进行缓存,再根据色选算法判别出异色米粒,然后控制相应的电磁阀将异色米粒剔除。在本 系 统 中 ,FPGA采 用 Cyclone III系 列 中 的EP3C25E144C8, 它 具 有 24 624LEs,66个 M9K RAM blocks,RAM总容量达0.6 MB,适用于视频帧缓冲;还具有经过预先优化的视频和图像知识产权 (IP)内核,可大大提高图像处理的效能。EP3C25E144C8有4个PLLs,144个引脚,其中有 82个用户 I/O,采用 EQFP四方扁平封装[7]。利用EP3C25E144C8进行设计,可以提高集成度和性能,降低功耗,让产品及时面市,同时满足低成本要求。
2.4 电磁阀
采用美国MAC Valves公司的34C-ABB-GFSA-0BL型号的电磁阀,其速度快、重复度高且环境耐受性强。
3 色选算法
采用线阵CCD传感器和高速FPGA等新技术的色选硬件平台,只能从一定程度上提高图像采集的清晰度和数据处理的速度,要进一步提高色选精度,还需要开发新的高效的色选算法。
针对线阵CCD采集到的大米 (被选物)的颜色信息,本文提出了一种从白米中选出微小异色点(主要是指深色点、微黄或黄色点及腹白点)大米的色选算法。算法核心思想是以像素为单位对被选大米的颜色特征(灰度信息,即反射到CCD的光强大小)进行统计、相互比较,从而确定合格大米的灰度阈值范围,将阈值范围以外的像素点判断为异色点,再根据米粒的异色程度确定米粒是否合格。下面详细介绍所采用的色选算法。
3.1 算法公式中的符号说明
Ai(t)表示 i处像素在 t时刻(当前时刻)的光强值(或灰度值);BGi(t)表示 i处像素在 t时刻(当前时刻)对应的背景灰度值,t=0 时表示初始背景;AH(t)和 AL(t)分别是当前时刻用于判别像素灰度值是否合格的上限阈值和下限阈值。
3.2 初始背景值计算
由于受周围光源强度变化的影响,背景的图像信息也会相应变化,为了使背景信息能保持相对稳定,在每一次色选前,先多次采集背景灰度值,取其平均值作为初始时刻的背景。这里的平均是以像素为单元,即每个像素点对应一个平均运算后的背景光强值,表示为:
3.3 背景判别及背景值更新
背景判别的目的首先是确定CCD视场中是否有被测物进入;其次,当被测物进入视场时,需要区分哪一部分是被测物信息,哪一部分是背景信息;最后,由于背景信息随周围光源、温度的变化时刻改变,因此还需要对背景进行更新,这样可以提高算法的实用性、灵活性。
(1)对输入的数据 Ai(t),若满足|BGi(t-1)-Ai(t)|BGi(t-1),则可判断 Ai(t)是背景灰度值,即 CCD 的第i个像素点在t时刻采集到的是背景反射回的光强。对落在背景上的像素点是不用处理的。则对第i个像素点对应的背景值按下式更新:BGi(t)={BGi(t-1)+Ai(t)}/2。
(2)对 输 入 的 数 据 Ai(t),若 满 足 |BGi(t-1)-Ai(t)|>εI·BGi(t-1), 则 可 判 断 Ai(t)是 被 选 大 米 的 灰 度 值 , 即CCD的第i个像素点处于被测物边缘内部区域,为有效像素,须作为后续异色判别的输入。这时,第i个像素点对应的背景值保持不变,即 BGi(t)=BGi(t-1)。
3.4 阈值确定
利用统计学“3σ法”的思想,经正态性验证被测物上点的灰度值变化服从正态分布。在此前提下,产生初始阈值 AH(t)、AL(t):
在算法的实际应用中,背景和被测物的信息是不断变化的,为了使色选算法能够适应这些变化,算法的设计中还应当考虑阈值的不断更新。
3.5 异色点判别
在得到了色选判别所需的上限阈值和下限阈值后,对输入数据 Ai(t),若满足 Ai(t)
3.6 异色米粒的判别
由于被测米粒受到周围光线等因素的影响,异色点的判别可能会有失误,因而不能因为偶然出现的异色点信息就判定该被测米粒为异常,而需要给出对被测米粒的总体评价规则。把大米上所有异色点占总点数的比例作为该米粒的异色程度,当该米粒的异色程度大于某个规定值时,才认定该大米为异色米,进行剔除。
本文介绍的用于大米色选的线阵CCD实验平台在FPGA技术的支持下实现了高速度和高精度,实验证明,其可实现米粒的 “即落即判”,非常适合在线检测的应用,对于提高粮食加工行业的产品质量、降低生产成本具有重大意义。经测试,电路运行良好,可以达到设想的要求,具有一定的实用价值。
[1]秦锋,阮竞兰.谷物色选机国内外现状及发展趋势[J].粮食加工,2011,36(2):51-53.
[2]BAYRAM M, ÖNER M D.Determination of applicability and effects of colour sorting system in bulgur production line[J].Journal of Food Engineering, 2006 (74):232-239.
[3]尹亮.CCD智能相机图像采集硬件平台的研究[D].哈尔滨:哈尔滨工程大学,2008.
[4]丛昊.色选数据采集及传输实验平台研究[D].哈尔滨:哈尔滨工程大学,2008.
[5]TOSHIBA.TCD1209D datasheet[Z].1999.
[6]郑力新,周凯汀,刘玉玲.CCD色选机信号处理与控制技术的研究[J].粮食与饲料工业,2011(1).
[7]Altera Corporation.Cyclone III Device Handbook[Z].2010.