基于多核dsp的条码识别方法

文档序号:6536234阅读:171来源:国知局
基于多核dsp的条码识别方法
【专利摘要】本发明提供一种基于多核DSP的条码识别方法,包括下述步骤:步骤a.多核DSP的主核将接收到的图像进行切分图像处理,将图像根据DSP上所具有核的总数n分拆成n份图像切片;步骤b.主核将n份图像切片交由DSP的n个核并行地进行条码定位操作,一旦其中的一个核成功地定位到了条码完整的位置信息,则将得到的结果返回给主核,并立即通知其它核停止正在进行的定位操作;步骤c.主核确认条码定位,将上步得到的条码定位结果分发给其它核,然后主核即刻开始处理下一帧图像的切分;而各个辅核并行地对条码区域进行二值化处理;接下来由一个辅核对条码区域的黑白二值图像进行识别,读取条码信息。本发明能够保证条码识别过程精确并且快速。
【专利说明】基于多核DSP的条码识别方法
【技术领域】
[0001]本发明涉及嵌入式微型化工业视觉领域,尤其是一种工业条码的识别方法。
【背景技术】
[0002]随着社会信息化的普及、图像识别技术的进步,推动了工业视觉等相关领域的发展,其中一项就是条码的自动识别技术。自动识别技术指的是通过某种识别装置,无需人工干预地自动读取附近目标物体的相关数据。条码技术为自动快速、准确地进行数据采集输入提供了有效手段,解决了人工输入慢的问题,近年来被广泛应用于各大场合,包括超市、零售店、物流中心以及工业生产线等等。
[0003]在工业视觉的自动化条码识别应用的系统中,实时性是最基本的要求,与实时性最为相关的为图像采集、图像识别处理以及数据传输三个部分。传统的系统中被用作图像识别处理单元的元器件主要有几种=(I)PC机;(2)ASIC ; (3)可编程逻辑器件(如FPGA);
[4]DSP。图像识别处理单元主要负责对前端影像采集设备传回的图像进行识别处理。ASIC (Application Specific Integrated Circuits,专用集成电路),是指应特定用户要求或特定电子系统的需要而设计、制造的集成电路。FPGA (Field — Programmable GateArray),即现场可编程门阵列。
[0004]在某些实际的工业应用中,由于条码区域过小,为提高条码识别的准确率,需采用高分辨率的工业相机进行图像采集,致使在采集到的图像中,条码区域所占面积比例很小,参与运算的图像的大部分区域对于条码识别算法没有任何实际意义,从而造成计算资源的浪费,降低识别算法的效率;此外,当待识别的物体运动速度较快、间隔较短时,条码识别系统如果不能及时处理条码信息,将导致整个识别系统运行滞后,不能保证系统的吞吐量,难以满足实时地识别条码。在面对这些较为严苛的情况时,通常的解决方案是选择放弃时间复杂度较高的识别算法,转而采取一些较为简单的、不能够保证较高识别率的识别方案,即以牺牲识别率的代价来尽可能地换取系统的实时性能。而由识别率降低所造成的未能正确被识别的条码,只能通过后期人工辅助的方式来解决。

【发明内容】

[0005]本发明的目的是克服现有技术中存在的不足,提供一种基于多核DSP的条码识别方法,将条码识别的过程最大限度地并行化,使得整个条码识别系统兼具精确性与实时性,能够保证系统可以运用在实际情况较为复杂、对识别要求较为苛刻的实际项目中,并使系统具有可观的吞吐率和识别率,能够最大限度地降低人力成本的开销。本发明采用的技术方案是:
一种基于多核DSP的条码识别方法,包括下述步骤:
步骤a,多核DSP的主核将接收到的图像进行切分图像处理,将图像根据DSP上所具有核的总数η分拆成η份图像切片,其中前η-l份图像切片的高度为H/n+h,H为全图完整的高度,h为条码的高度,而最后一份图像切片的高度为Η/η ;切分时使得前一个图像切片的高度为h的尾部和后一个图像切片的高度为h的前部相重合;
步骤b.主核将η份图像切片交由DSP的η个核并行地进行条码定位操作;各核首先对各图像切片进行降噪灰度化预处理,生成图像切片的灰度图像;之后各核并行地对各图像切片的灰度图像进行边缘检测寻找条码的位置;一旦其中的一个核成功地定位到了条码完整的位置信息,则将得到的结果返回给主核,并立即通知其它核停止正在进行的定位操作;
步骤c.主核确认条码定位,将上步得到的条码定位结果分发给其它核,然后主核即刻开始处理下一帧图像的切分;而各个辅核并行地对定位到的条码区域进行二值化处理,将条码区域的灰度图像转换为黑白二值的图像;接下来由所有辅核中的一个辅核对条码区域的黑白二值图像进行识别,读取条码信息。
[0006]进一步地,所述步骤a中,对图像进行切分处理前,还包括图像预处理即格式转换和尺寸调整的步骤。
[0007]进一步地,所述步骤b中,具体利用求导算子通过相应的阈值发现来提取条码的边缘从而寻找到条码的位置。
[0008]具体地,所述步骤c中,所述辅核对条码区域的黑白二值图像进行识别,读取条码信息具体包括:首先该辅核借助于条码的特征将条码进行梯形矫正,然后根据条码的编码规则提取信息:找到条码之间的间隔区间,记下这些区间的位置以计算区间的宽度,再将区间的宽度转换成对应的0、1序列,最后经过校验位进行校验,校验成功则条码信息读取成功。
[0009]本发明的优点在于:本发明主要针对条码的识别率以及系统的实时性这一对主要矛盾。最为突出的特点就是能够保证识别过程精确并且快速,能够应用于实际情况较为复杂、要求较高的场景中。可保证条码识别系统在使用较为复杂的算法以达到高识别率的同时兼具实时性,使整套系统的应用前景更为开阔。
【专利附图】

【附图说明】
[0010]图1为本发明的并行处理流程图。
[0011]图2为本发明的图像切分示意图。
[0012]图3为本发明的任务处理并行流水线示意图。
[0013]图4为本发明的条码识别系统硬件组成图。
【具体实施方式】
[0014]下面结合具体附图和实施例对本发明作进一步说明。
[0015]本发明所提出的基于多核DSP的条码识别方法,以如图4所示的条码识别系统为硬件基础。该条码识别系统采用德州仪器(TI)公司的八核DSP处理器TMS320C6678,具有理论上高达lOG/s的运算能力;每核具有32KB LlP (程序缓存),32KB LlD (数据缓存),512KB L2的独立内置缓存Cache (可根据项目的具体情况通过设置进行调整)。主要的硬件架构为DSP处理器+Xilinx FPGA芯片。
[0016]TMS320C6678 DSP处理器能够提供丰富的外部扩展接口:(1)512 MB DDR3-1333存储器;(2)64MB EMIF NAND Flash 闪存(每核);(3) 16MB SPI NOR FLASH 闪存(每核);(4) 128KBI2C EEPROM for booting (每核);(5)两个千兆网络接口,每路带宽≥60MB/s ; (6) —路RS485接口,或配置成RS232接口 ;(7)6个LED指示灯;(8) 3个复位按键;(9) 3输入、3输出带光稱隔离的 IO 口 ;(IO)HyperLink 接口 - 50Gbaud Operation,全双工;(11)调试接口:60pin EMU 接口和 20pin JTAG 接口,支持 XDS560v2、XDS560、XDS510 等仿真器。
[0017]该条码识别系统的主板上一些其它元件和接口的简介如下:
Nand-flash内存是flash闪存的一种,其内部采用非线性宏单元模式,具有容量较大,改写速度快等优点,适用于大量数据的存储。
[0018]Nor-flash内存是Intel于1988年首先开发出的一种flash闪存,常用于储存程序代码。
[0019]EMIF:外部存储器接口,External Memory Interface,是TMS DSP器件上的一种接口,一般来说,EMIF可实现DSP与不同类型存储器(SRAM、Flash RAM、DDR-RAM等)的连接。
[0020]SP1:高速同步串行口,Serial Peripheral Interface。
[0021]Max3160是可编程多协议收发器。
[0022]SRIO是面向串行背板、DSP和相关串行数据平面连接应用的串行Rapid 1/0接口。
[0023]FMC:FPGA Mezzanine Card即FPGA夹层卡,其标准由包括FPGA厂商和最终用户在内的公司联盟开发,属于ANSI标准,旨在为基础板(载卡)上的FPGA提供标准的夹层卡尺寸、连接器和模块接口。 [0024]Smart Ref lex:TI公司的电源和性能管理技术,能够降低功耗和优化性能。
[0025]此基于多核DSP处理器的条码识别系统,移植有完备的LWIP网络协议栈,每路网口具有> 60MB/s的带宽,采用EDMA图像收发方式有效节省了 CPU资源,是目前带宽最高、性能最优的网络底层驱动程序解决方案,为快速传输奠定了基础。LWIP是瑞士计算机科学院的一个开源的TCP/IP协议栈实现,LWIP协议栈主要关注的是怎么样减少内存的使用和代码的大小,这样就可以让LWIP适用于资源有限的小型平台例如嵌入式系统。EDMA即增强型直接内存存取(Enhanced Direct Memory Access),是数字信号处理器(DSP)中用于快速数据交换的重要技术,具有独立于CPU的后台批量数据传输的能力,能够满足实时图像处理中高速数据传输的要求。
[0026]支持Basler/Dalsa等国际主流Gige相机的全速接入-支持Balser:Ace系列、
Scout系列和Pilot系列Gige面阵相机;支持DALSA:Spyder3系列、Genie系列Gige线阵面阵相机。上述工业相机用于采集带有条码的图像。
[0027]在上述硬件基础上,下面参照附图1~3,以三核的情况为例,对本发明所提出的基于多核DSP的条码识别方法进行详细的说明。
[0028]如图1所示,展示了图像识别的并行流程图。整个过程主要包括了以下三个步骤:
a.切分图像
如图2所示(以3核为例进行说明)。多核DSP的主核一旦接收到前端影像识别器返回的图像,立即对图像进行预处理(例如格式转换、尺寸调整等)。并将图像根据DSP上所具有核的总数3分拆成3份图像切片,其中前2份图像切片的高度为H/n+h,H为全图完整的高度,h为条码的高度,而最后一份图像切片的高度为Η/η。切分时使得前一个图像切片的高度为h的尾部和后一个图像切片的高度为h的前部相重合。这样切分原图的目的是保证了当条码正好处于两个切片中间这一极端情况下,条码不会被分割,可以确保条码百分之百会完整地出现在3个图像切片的其中一个切片里,保证了整个识别结果的可靠性和正确性。
[0029]b.条码并行定位
主核将3个图像切片交由DSP的3个核并行地进行条行码定位操作,每个核接到图片切片之后都将按照统一的步骤进行处理。因为摄像头在实际应用中采集到的图像难免参杂许多无关的信息甚至噪声信息,所以各核必须先对各图像切片进行降噪灰度化预处理,生成图像切片的灰度图像。之后各核并行地对各图像切片的灰度图像进行边缘检测寻找条码的位置。由于条码的边缘存在于背景和目标物体的交接之处,是局部区域亮度变化最大的部分,因此可以利用求导算子通过相应的阈值发现来提取条码的边缘。一旦其中的一个核成功地定位到了条码完整的位置信息,则将得到的结果返回给主核,并立即通知其它核停止正在进行的定位操作,以免进行多余的工作,尽可能地减少无意义地计算,保证DSP的计算资源可以得到充分有效地利用。
[0030]c.条码信息读取即条码识别
主核确认条码定位,将上步得到的条码定位结果分发给其它核,然后主核即刻开始处理下一帧图像的切分,即开始执行步骤a,这样可以使得整个程序的工作流程流水化进行,进一步提高系统的吞吐率。而各个辅核则进行协同工作,并行地对定位到的条码区域进行二值化处理,将条码区域的灰度图像转换为黑白二值的图像一选取适当的阈值,将灰度图像转换为黑白二值的图像。
[0031]接下来的任务是由所有辅核中的一个辅核对条码区域的黑白二值图像进行识别,读取条码信息。具体为,首先该辅核借助于条码的特征将条码进行梯形矫正,然后根据条码的编码规则提取信息:找到条码之间的间隔区间,记下这些区间的位置以计算区间的宽度,再将区间的宽度转换成对应的0、1序列,最后经过校验位进行校验,校验成功则条码信息读取成功。
[0032]本发明在条码识别处理方面的意义在于:
首先,本发明将条码定位、识别的过程并行化执行,解决了传统系统中定位、识别过程耗时过长的问题。多核DSP核心处理器会根据核的数量对图像进行拆分,再将切分后的图像切片分别送至各个核中进行定位计算,以实现条码定位操作的并行化;在接下来的条码信息读取运算(即条码识别)中,多核之间进行协同工作,并行地对不同的像素点进行计算,尽可能充分利用多核的计算资源以实现识别算法的最大并行化,从而大幅度提高条码识别的速度。
[0033]其次,本发明在主、辅核之间采用调度工作模式,在并行定位过程中,一旦一个核成功定位了条码的位置,则告知其它核停止正在进行的工作,避免了计算资源可能被浪费的问题。
[0034]最后,本发明设计了主、辅核的流水线工作流程,解决了吞吐量低的问题。辅核在进行最后阶段条码信息读取的同时,主核同时开始进行下一帧图像的操作以实现整个处理过程的流水线化。
【权利要求】
1.一种基于多核DSP的条码识别方法,其特征在于,包括下述步骤: 步骤a,多核DSP的主核将接收到的图像进行切分图像处理,将图像根据DSP上所具有核的总数η分拆成η份图像切片,其中前η-l份图像切片的高度为H/n+h,H为全图完整的高度,h为条码的高度,而最后一份图像切片的高度为Η/η ;切分时使得前一个图像切片的高度为h的尾部和后一个图像切片的高度为h的前部相重合; 步骤b.主核将η份图像切片交由DSP的η个核并行地进行条码定位操作;各核首先对各图像切片进行降噪灰度化预处理,生成图像切片的灰度图像;之后各核并行地对各图像切片的灰度图像进行边缘检测寻找条码的位置;一旦其中的一个核成功地定位到了条码完整的位置信息,则将得到的结果返回给主核,并立即通知其它核停止正在进行的定位操作; 步骤c.主核确认条码定位,将上步得到的条码定位结果分发给其它核,然后主核即刻开始处理下一帧图像的切分;而各个辅核并行地对定位到的条码区域进行二值化处理,将条码区域的灰度图像转换为黑白二值的图像;接下来由所有辅核中的一个辅核对条码区域的黑白二值图像进行识别,读取条码信息。
2.如权利要求1所述的基于多核DSP的条码识别方法,其特征在于: 所述步骤a中,对图像进行切分处理前,还包括图像预处理即格式转换和尺寸调整的步骤。
3.如权利要求1所述的基于多核DSP的条码识别方法,其特征在于: 所述步骤b中,具体利用求导算子通过相应的阈值发现来提取条码的边缘从而寻找到条码的位置。
4.如权利要求1所述的基于多核DSP的条码识别方法,其特征在于: 所述步骤c中,所述辅核对条码区域的黑白二值图像进行识别,读取条码信息具体包括:首先该辅核借助于条码的特征将条码进行梯形矫正,然后根据条码的编码规则提取信息:找到条码之间的间隔区间,记下这些区间的位置以计算区间的宽度,再将区间的宽度转换成对应的0、1序列,最后经过校验位进行校验,校验成功则条码信息读取成功。
【文档编号】G06K7/10GK103761499SQ201410024918
【公开日】2014年4月30日 申请日期:2014年1月20日 优先权日:2014年1月20日
【发明者】王丰, 李功燕 申请人:江苏物联网研究发展中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1