TMS320DM642在机器视觉中的应用研究
在进行存储空间分配前必须了解芯片内外的存储空间的大小,编译后的C程序"跑飞"往往是超出存储区访问允许范围造成的;另外,还需注意堆栈的分配,在程序"跑飞"时注意检查是否发生堆栈溢出。
4.1 存储空间的分配
在本系统中,内存空间包括:DM642的256KB字节的二级缓存L2,可部分或全部作为SRAM存储空间,存取速度快;32MB字节的SDSRAM片外内存,存取速度慢。内存使用的一个原则是应尽量把数据和代码放入片内内存。但由于片内内存容量的限制,往往不可能将所有数据和代码都放入片内存,而将编程过程中频繁使用的一些关键数据(如滤波的模板、图像二值化的阈值、图像提取的阈值、门牌倾斜的角度等)放入片内保存。片外SDRAM中主要放置图像数据(如图像采集的数据等)。
在本系统程序存储器的分配中,capChaAYSpace存放采集的图像的亮度信号Y;capChaACbSpace存放采集的图像的色度信号Cb;capChaACrSpace存放采集的图像的色度信号Cr;WEIGHT存放小波神经网络训练好的权值;INPUT 存放小波神经网络输入值,即特征化后的图像数据;tempYbuffer、tempY1buffer和tempY2buffer主要存储各个算法模块处理前和处理后的数据。
4.2 系统程序的实现
程序的实现部分主要包括图像采集部分的实现和图像处理与识别算法的实现。
图像采集部分的程序是通过设置在视频端口控制寄存器(VPCTL)中的TSI(transport stream interface)位和在视频捕获通道控制寄存器(VCxCTL)中的CMODE位以选择视频捕获的模式。本文选择的是8-Bit ITU-R BT.656捕获模式,主要是因为选用的解码芯片TVP5150支持BT.656格式。本文只需要处理YCbCr中的亮度信号Y。图像采集部分主要过程是:PAL摄像头通过TVP5105解码器产生BT656格式的数据流,然后通过EDMA传送给SDRAM。BT656格式为隔行扫描,每帧实际图像大小为720×576,每帧分为奇偶两场,奇场的行数范围为0-288,偶场为289-576。为了提高实时性;在本文中只取奇场的数据,即程序只处理0-288行。在识别算法实现部分中,本文列出了图像经过各个算法功能模块的结果。图像显示的设置在CCS中路径为view->graph->image。
下面以门牌号523为例说明基于DSP的图像处理的各个过程:通过摄像头采集原始门牌图像,其中视频流采用BT.656标准,隔行扫描。每一帧的大小为720×576。在这里只取奇场的数据,即图3(a)的大小为720×288,可以看出图像质量并没有明显的下降;图3(b)为二值化后的图像,主要是根据直方图信息选取阈值,具有较好的效果;图3(c)为倾斜度校正后的图像;图3(d)为归一化后的图像,此图像是被放大后的图像,原图像的大小为8X16;图3(e)为特征提取后的结果,本文主要是把数组中的数据提取出来,然后进行编排,从而便于理解。
实验结果表明本文设计的系统识别单个门牌数字准确率达到100%,识别3个数字门牌识别率为90%以上。
4.3 代码的优化
本文系统中涉及的识别算法具有数据量大,计算复杂,二重循环多等特点。在没有优化前,系统资源利用率低、运行速度慢、远远没有达到系统实时性的要求。本文通过代码优化技术[8]使系统具有较好的实时性,具体包括开发C/C++代码、优化C/C++代码和编写线性汇编代码等几个阶段。
5 结束语
本文提出的基于DM642的机器人视觉系统完成了以下基本功能:
(1)在走廊中实现机器人的自定位和目标定位功能;
(2)在走廊中可以实现对操作者和典型障碍物的识别功能。
本文的创新点主要体现在以下2个方面:
(1)实现了基于DSP平台的门牌识别和优化,有效地提高了系统的目标的识别速度;
(2)探索了基于图像识别技术、RFID技术、传感器技术相融合的自主移动机器人的机器视觉系统,这种方法有效地提高了系统的可靠性和鲁棒性。
实际应用表明,本文设计的机器视觉系统具有较好的合理性和实用性。
TMS320DM642 机器视 觉 相关文章:
- 基于TMS320DM642的农药喷洒系统(04-22)
- 基于DSP的视频采集驱动程序的实现(07-21)
- DSP并行处理在剖面声纳系统(06-07)
- 基于TMS320DM642的CCD图像采集系统设计(11-14)
- 双DSP的多路视频监控系统设计(02-14)
- 基于FPGA+DSP技术的Bayer格式图像处理(01-13)