APP下载

基于DM643的大米边缘视频检测技术研究

2012-01-09梁义涛朱远坤

关键词:线程算子边缘

梁义涛,朱远坤,庞 蕊

(河南工业大学 信息科学与工程学院,河南 郑州 450001)

基于DM643的大米边缘视频检测技术研究

梁义涛,朱远坤,庞 蕊

(河南工业大学 信息科学与工程学院,河南 郑州 450001)

以TI公司的多媒体图像处理器TMS320DM643为核心处理器,提出了一种大米外观检测视频处理嵌入式系统硬件的实现方案.基于MATLAB平台对大米样品的视频系统回读图像分别进行了Sobel算子及其改进算法的仿真比较研究.结果表明,改进算法可以检测出更为完整的大米边缘,实现了大米视频图像的实时检测,处理一帧图像仅需42.7 ns.

视频处理;大米品质检测;DM643;RF5框架;改进的Sobel算子

0 引言

大米在生产、加工、储藏、流通等不同环节中各项品质均需进行检测,GB 1354-2009大米检测中规定了如不完善粒、完整米粒、碎米、小碎米等具体指标[1].目前大米很多品质检测还停留在靠人的感官体验来进行判断的阶段.这种人为的判断严重影响了大米生产与交易的进程,随着计算机数字图像技术在大米品质检测中的不断应用,大米的粒形检测变得比较客观准确.但是这种图像处理系统往往需要借助PC机作为功能核心实现检测,不便于实现随时随地的实时便携检测,不能完全满足对大米品质检测的实际需求.视频处理技术和嵌入式系统的发展为这个问题提供了解决的方法.作者主要研究基于DSP嵌入式视频处理技术实现大米粒形检测中关键技术之一——大米边缘视频检测技术,为大米粒形品质检测便携设备的实现提供新的解决思路和方案,为大米品质视频检测技术的研究提供有益的探索和参考.

1 系统概述

DSP设计技术综合了数字信号处理、微电子学、计算机科学和计算机数学的研究成果,是当今嵌入式视频处理系统发展的主流.DSP芯片现已广泛应用于驱动器、电话、调制解调器、无线电接收机、微控制器、光盘机、数码相机和数字摄像机等诸多领域.DSP芯片最大的特点就是运算速度非常快,跟普通的微型计算机相比,它要快2个数量级.

笔者选用TI的多媒体DSP处理器——DM643(TMS320DM643).TMS320C64xDSP(包括 DM643) 是在TMS320C6000DSP平台中性能最高的定点DSP.C64x是C6000DSP平台中代码兼容的一种.DM643处理器是基于TI第2代高性能、先进的VelociTI技术中的VLIW体系结构发展而来的.TI公司的这款速度高、功耗低、体积小、成本低的以DM643为核心的处理器是数字媒体应用最好的选择之一.

1.1 系统硬件平台

系统硬件框图见图1所示,平台实物图见图2.

图1 系统硬件框图

系统主要由5个部分组成:CCD摄像头、TVP5150解码器、DM643视频处理板和外围配置、SAA7105编码器以及LCD液晶监视器.CCD摄像头主要进行大米样品视频信号采集;采集到的信号经过TVP5150解码器进行解码输出;解码器输出的信号经DM643视频处理板实现视频信号算法处理,完成实时大米样品的边缘视频检测;检测结果经过编码器SAA7105进行编码输出;编码输出的信号经由液晶监视器实时显示.

图2 系统硬件平台实物图

PNT—696机型CCD摄像头采集的图像规格:99 cm×49.5 cm;Mini型直流电源插座 +5 V电源接口;7英寸TFT液晶显示器作为监视器,分辨率480×234,PAL制式输出.

DM643集成了2个专用视频端口,最快速度达4 800 MIPS,具有很强的实时多任务支持功能;它使用32字节的超长指令字;多达64个32位的通用寄存器;8个高度独立的功能单元,且支持一些加速视频应用的新指令.核心单元采用2级缓存(cache)结构,1级代码缓存(L1P)是 128 Kbit的直接映射缓存,1级数据缓存(L1D)是一个 128 Kbit的直接映射缓存,2级缓存(L2)包含一个2 Mbit存储空间,这个存储空间是代码和数据空间共用的.L2存储器可以看作映射存储、缓存或两者的结合.

TVP5150PBS芯片是TI公司推出的一款高性能视频解码芯片,其功耗低、体积小,支持 NTSC/PAL/SECAM 等格式,输入信号按照 YCbCr 4∶2∶2 的格式转化成数字信号.DM643对TVP5150PBS芯片的操作是通过I2C总线来实现的,连接图如图3所示.系统将VP1配置为单通道视频输入口,INTREQ为DM643的VP口的输出允许信号,用来控制VP口对数据视频流进行采集;SCLK为DM643提供时钟信号,用来控制DM643的视频口对信号的采集.

图3 TVP5150PBS与DM643硬件连接

视频编码器SAA7105支持PAL与NTSC格式的视频编码输出;同时可提供分辨率为1 280×1 024的VGA视频输出,可直接驱动PC显示器.SAA7105的内部编程寄存器通过DM643的I2C总线进行配置.硬件连接见图4.

图4 DM643与SAA7105硬件连接

1.2 系统软件结构

采用TI公司提出的eXpressDSP的软件开发标准进行软件开发.作为一种实时DSP软件技术,eXpressDSP是DSP编程的一种标准[2].eXpressDSP集成了 CCS(Code Composer Studio) 开发平台、DSP/BIOS实时软件平台、DSP算法标准和第 3方支持4部分.用户开发统一在已有的RF(Reference Framework)参考框架及TMS320DSP集成板上进行.用户利用CCS平台进行C语言代码或汇编代码编写、编译检测、实时调试.其中,驱动采用TI公司提供的FVID类驱动.此驱动通过配置结构体参数VPORT_PortParams和 VPORTCAP_Params实现 DM643视频端口的配置,通过I2C模块配置解码芯片.系统中视频端口的相关配置如下:

RF参考框架是一种使用DSP/BIOS内核和TMS320DSP算法标准的通用初始化代码.RF主要实现存储管理、线程模型和通道封装这3个功能.目前应用最广泛的是 RF1、RF3、RF5 3类参考框架.RF1框架主要针对采用C54x和C55x实现的低端系统;RF3主要用于采用C54x和C55x实现的高端系统以及C6x的实现低端系统;RF5则主要用于由C6x实现的高端系统.

针对本研究的应用目的,选用基于RF5参考框架的视频处理系统结构[3].整个DSP上的软件系统 由4 个 线 程 组 成 :tskInput、tskOutput、tskProcess 和tskControl.tsk Input线程的作用是从视频输入端口实时读取大米视频数据;tskOutput线程的作用是向视频的输出端口写经过算法处理后的大米视频数据;tskProcess线程的作用是对视频流中的大米视频数据进行处理.这3个线程是通过SCOM消息队列进行同步和消息传递的.当一帧大米视频图像采集完成时,SCOM发出命令让tskProcess线程对这一帧数据进行处理,当tskProcess处理完这一帧数据后,SCOM则同时发出命令给tskInput和tskOutput,通知tskInput采集下一帧图像信息,同时触发tskOutput线程显示处理后视频.tskProcess是一个数据处理通道,它包含了一个cell对象.cell对象主要作用是加载和运行封装的视频处理算法.一般情况下,视频处理的控制算法是在tskControl线程中进行.tskControl线程和tskProcess线程之间是通过消息信箱MBX来进行消息传递的.tskControl线程也可并入tskProcess线程实现视频处理任务.特别是当处理算法比较简单时,也可将tskProcess线程和tskControl线程都合并在tskOutput线程里一并编程.软件流程见图5.

图5 系统的软件流程

系统初始化包括:初始化芯片支持库CSL以及BIOS,设置64 K的CACHE,并将其映射到EMIF的CE0及CE1空间,设置DMA优先级序列和长度;RF5模块初始化即初始化RF5框架中用于内部单元传递消息的SCOM模块;任务模块初始化启动包括任务存储空间分配及管理.大米视频采集任务从输入设备驱动程序获得实时视频图像,使用FVID提供的FVID_exchange函数调用输入设备按照4∶2∶2格式获取一帧大米视频图像,然后发送采集完成消息到输出设备,最后等待输出任务发送输出完成消息,进行下一次数据采集.大米视频输出任务接到采集完成消息后,对采集到的大米图像信息进行处理,处理完成后使用FVID提供的FVID_exchange函数调用显示设备实现大米图像显示,最后发送输出完成消息给大米视频采集任务,然后等待下次的采集完成消息.

2 检测算法及实现

针对实际应用要求算法实时性高且结果稳定、可靠的需求,选用改进的Sobel边缘检测算子实现视频图像的实时边缘检测.

经典Sobel算子[4]根据像素点上下、左右邻域的灰度加权差,在3×3邻域内做加权平均和差分运算,在边缘点处达到极值这一原理来检测边缘.试验表明,在边缘灰度值过滤比较尖锐且图像中噪声较小时,该算法检测效果较好,对噪声具有平滑作用,可以提供较为精确的边缘方向信息.但是大米外形近似于椭圆,当大米颜色近似于外界颜色时,造成局部边缘变化不是很明显.为达到更好的边缘检测效果,此试验采用改进的Sobel边缘算子[5].

由于图像的边缘不仅有水平方向和垂直方向,还有很多其他方向,如与水平方向成 45°、135°、225°等方向.此算法增加了6个方向的模块,能有效地检测出8个方向的边缘.8个方向模板如图6所示.

图6 Sobel算子的8个方向卷积模板

用给出的8个方向的算法模板,对大米图像进行逐点计算,算出的8个值中的最大值为像素点的新灰度值,最大值对应的模板所表示的方向为该像素点的边缘方向.

3 结果及分析

通过CCS回读的实际大米视频图像见图7.在MATLAB平台上,对CCS回读图像进行经典Sobel算法处理后得到的大米边缘图像见图8,改进的Sobel算法见图9.比较图8和图9可知,用改进的Sobel算子处理大米原图像而得到的大米边缘信息比经典的Sobel算子得到的边缘信息更加连续、准确、清晰.由此可见,该算法切实可行且处理大米边缘信息效果良好.本试验实现在CCS3.3开发环境下通过C编码完成,视频处理后显示的大米边缘检测的实时视频图像见图10.图10中黑框内的大米边缘是经过算法处理的,框外的是输出的未经过处理的大米实时图像.经试验,基于DM643平台的视频处理技术,经过Sobel边缘算子的算法处理后,大米的边缘图像显示与图像处理技术得到的大米边缘显示效果一样清晰,且视频处理技术的处理速度非常快,达到了1 min处理1.41×109左右个程序运行周期,即代表着从采集一帧大米图像信息到输出一帧处理过的大米图像边缘信息只需要4.27×10-8s左右.显然这达到了实时检测的目的,由此可知,基于DM643视频处理平台的大米视频图像处理的检测方法是可实现的且效果比较令人满意.

图7 CCS回读的大米原视频图像

系统运行时,CPU各任务的执行时序见图11.每个任务执行流程主要参考3种状态:not ready,ready和running,图 11中分别以白色、淡蓝色和蓝色表示其执行状态.KNL-swi对象是由DSP/BIOS内核自动创建的一种软件中断,用来执行任务调度程序以及对程序进行初始化[6].在这里,KNL-swi优先级最高,在没发生HWI事件时必须执行完,不允许等待.本程序设计时将视频处理线程tskProcess并入输出线程tskOutput中.因此,由图11可知,程序主要包括2个线程,即输入线程tsk Input和输出线程tskOutput,后者优先级较高.其他的一些线程统称为Other Threads,优先级最低.

图8 经典Sobel算子的Matlab实现

图9 改进的Sobel算子的Matlab实现

图10 大米边缘检测的实时视频图像

图11 CPU各任务的执行情况

4 结论

笔者提出基于DM643的大米外观检测嵌入式视频处理方案,并在此方案上给出了外观检测的关键技术——大米边缘视频检测的算法实现,从而验证了该方案具有实时性好的优点,加之嵌入式系统本身便携式的特点,很大程度上改进了已有系统在时间、空间上易受约束的问题.在实际的大米生产、加工及大米贸易等领域中,均可将该方案的实现系统应用于粒型、颜色等多种大米外观品质参数的检测上,具有较好的市场应用前景.

[1]GB 1354-2009,大米国家标准[S].

[2]Texas Instruments Inc.Reference frameworks for eXpressDSP software:API reference [EB/OL]. (2003-04)[2011-04-17].http://www.ti.com.

[3]司群,臧英新,陶友传,等.TMS320DSP算法标准(XDAIS)及参考构架 RF5综述[J].舰船电子工程,2006(2) :27-31.

[4]孙洪琳,廖继旺.基于Sobel算子的图像边缘检测及实现[J].人工智能识别技术,2004,33(5) :77-79.

[5]靳鹏飞.一种改进的Sobel图像边缘检测算法[J]. 应用光学,2008,7(4) :779-783.

[6]张海峰,庞其昌.DSP/BIOS在双光谱数字图像融合中的应用[J].化工自动化及仪表,2006,33(4) :40-43.

RICE VIDEO EDGE DETECTION TECHNOLOGY BASED ON DM643

LIANG Yi-tao,ZHU Yuan-kun,PANG Rui
(School of Information Science and Engineering,Henan University of Technology,Zhengzhou 450001,China)

We proposed an embedded system hardware implementation scheme for rice appearance detection video processing by using a multimedia image processor TMS320DM 643 of TI company as the kernel processor.Firstly,the read-back images of a rice sample video system were respectively simulated by using Sobel operator and the improved algorithm thereof based on the MATLAB platform.The simulation results showed that the improved algorithm could detectmore intact rice edge.Then,the improved Sobel edge detection algorithm was selected in the hardware system to achieve the real-time detection of the rice video images,wherein one frame of the image could be processed in only 42.7 ns.

video processing; rice quality detection; DM 643; RF5 framework; improved Sobel operator

TS210

B

CNKI:41-1378/N.20120208.0844.015

1673-2383(2012)01-0059-05

http://www.cnki.net/kcms/detail/41.1378.N.20120208.0844.015.html

网络出版时间:2012-2-8 08:44:47AM

2011-07-11

国家自然科学基金(31171775)

梁义涛(1972-),男,山东肥城人,博士,副教授,研究方向为嵌入式系统与视频信息处理.

猜你喜欢

线程算子边缘
与由分数阶Laplace算子生成的热半群相关的微分变换算子的有界性
基于C#线程实验探究
拟微分算子在Hp(ω)上的有界性
各向异性次Laplace算子和拟p-次Laplace算子的Picone恒等式及其应用
基于国产化环境的线程池模型研究与实现
一类Markov模算子半群与相应的算子值Dirichlet型刻画
一张图看懂边缘计算
浅谈linux多线程协作
Java的多线程技术探讨
在边缘寻找自我