Profile - CN465


CN465

商用LOGO识别系统

上海交通大学
电子系信息工程






Advisor

Name: 袁焱

Members

No. Name English Name
1 贝元哲 beiyuanzhe
2 陈俊彦 chenjunyan
3 於佳健 yujiajian

Project Paper

1. 设计概述 (Preliminary Paper)

随着商业和信息的高速发展,标志(logo)的应用场合越来越多。而人们对于logo背后所蕴含的商业信息更为关心。在这一背景下商标的自动识别成为一个热门课题。我们所设计的商标logo识别系统就是为了满足人们的这方面需求。我们所设计的系统主要使用群体从事市场经营、管理、采购等行业的人员,他们对于品牌信息的了解需求是十分高的。我们的系统正是迎合他们的这一要求。我们旨在为这些用户群体提供高效,快速,信息全的自动logo识别系统。

这一系统的实现涉及到传感器、电子技术、数字图像处理、模式识别等领域。目前做自动logo识别系统的单位已有不少,但该课题仍是一个极具生命力的,其图形处理、识别算法、数据库查找算法,电子电路的优化等方面都具有相当大的改进空间。因此对于自动logo识别系统的研究、开发具有相当可观的理论与实际价值。

使用altera器件来进行我们这个系统的设计有以下优势:
1.使用altera器件来进行我们这个系统的设计能极大地降低我们的设计成本。
2.NIOS2核处理器比较灵活,设计周期比较短。
3.实现真正"现场可编程"--FPGA的特点就是"现场可编程",单板上的FPGA可以做到在线升级,从而延长产品的生存时间
4.nios2可以只针对出现瓶颈的例程增加定制指令或者硬件加速器,性能可以得到极大的提升。
5.采用Nios II C2H 编译器,从 C 函数中建立硬件加速器非常简单。

(Revision: 3 / 2008-09-13 23:15:27)

2. 功能描述 (Final Project Paper)

我们的作品将实现如下功能:
1.用户使用摄像头拍摄下较清晰的含LOGO目标的相片
2.系统对相片进行变形、滤波、增强等必要的处理
3.使用算法提取特征,传入匹配模块进行匹配,并将匹配的结果输出至显示屏给用户
4.通过无线网络与远端服务器的连接,用户可了解到更多有关该LOGO的信息

实现这些功能的大致流程如下(可参照第四部分的设计框图):
通过ccd采集了含有标志的图像,经过量化和简单的预处理。我们得到含有所求LOGO信息的数字图像。
首先,考虑可能因为拍摄角度产生的图象形变(如远小近大透视产生的梯形退化)和LOGO载体的特征形变(如拍摄LOGO在柱子上,则图象是柱侧面在平面上的投影)。我们先对图象进行规定化的矫正。
然后,我们对所需信息进行捕捉,尽可能驱除冗余信息。
接着是图像的增强,主要针对可能出现的退化,也是处理的难点:滤波(去除噪声、阴影,减少信息量);去抖(针对运动模糊退化);锐化(增强特征)等处理。
增强后的图像就要按照算法进行特征提取,然后,搜索数据库进行特征比对。
如果匹配成功,则在显示器上显示原图和结果信息(结果是所寻找的对象,以及数据库中与对象关联的信息)。
如果匹配失败,可以把图像以及特征存入数据库,是本机进行学习。如果带有网络通信功能,可以上传到服务器进行搜索和备案。
当然,此项功能是可选的,正常的数据库维护更新,可以通过flash接进行补充。如果代有网络接口,可以上网更新下载。

设计中可能会遇到的困难:
1、光照度的影响,包括照度不匀、强反射等
2、拍摄时的抖动可能会造成的模糊
3、其它物体置于目标物体上的阴影
4、非完整拍摄的识别问题
5、两个或以上商标出现在同一相片中的问题
6、基于识别反馈的特征提取
7、算法与特征提取的推广性

(Revision: 2 / 2008-06-12 20:49:27)

3. 性能参数 (Final Project Paper)

· 接入参数:

ALTERA DE1 接入电压7.5V

三星TFT LCD LED电压20V

VGH电压18V

VGL电压-10V

· 测试性能:

资料库存入不同LOGO及资料5个;

分别进行三组测试:

1。正常DC拍摄

2。存在阴影笼罩拍摄

3。于立体扭曲载体上拍摄

三组测试的5个不同LOGO都能正常识别。与预期效果相同。

(Revision: 3 / 2008-09-13 23:18:06)

4. 设计结构 (Preliminary Paper)


Logo
识别硬件系统框图

Logo识别系统及软件设计框图

(Revision: 2 / 2008-06-12 20:50:32)

5. 设计方法 (Final Project Paper)

我们在思考这个题目的时候,提出了关于LOGO识别的构想。因为对于数字图像技术的认识,我们规划除了一整套的方法。包括先期的 预处理和识别的一些算法。因为我们有一定的图像处理经验,所以对于可能出现的问题在算法上都作了准备。

所以我们得说,作为系统的软件部分,是从课题提出后,通过经验推理而得。但是我们必须在这里指出,所谓的软件部分,在这里还是仅仅指流程的框架,以及每个模块算法的设想,具体的实现和优化还是在后面的具体实现中得到体现 。

对于FPGA硬件系统部分,可以说在开始的时候我们是存在一定的顾虑的。同样,我们在以前的研究中也有过硬件开发的经验,但是对于硬件材料的挑选到购买,无论是芯片,电路板的制作,甚至有时候为了一个接口的匹配问题都要到电子市场反复跑好几次。

对于FPGA板的开发,我们有一些不是很清晰的认识,只是知道模块是封装在一起。我们设想过可能需要许多外围电路可能才能通过足够的外设来实现我们的一些想法,当然还要包括对付这么多模块的DATASHEET。

直到我们通过网上教程了解了SOPC之后,一切都变得简单了。SOPC Builder提供了标准化的图形环境,SOPC Builder包含在Quartus II 软件中。SOPC Builder可以帮助设计者以与传统SOC设计方法相比非常短的时间来完成由处理器、存储器和外设等组件组成的SOPC系统。

以前,不但要提供各种硬件,而且需要手工编写系统中各个组件相互之间的连接程序。而现在,SOPC Builder自动完成系统集成的工作。所以在以前的工作中,我们主要罗列各种硬件的菜单,然后思考怎样把硬件连接起来。

在我们这次的设计过程中,我们先根据整体思路和设计流程确定了硬件的大体结构,然后再SOPC Builder中搭建大体的框架。然后,我们根据需要SOPC提供了直观的图形用户界面,添加和配置系统所需的外设(包括存储器、定制外设和IP模块),并根据事先设计好的软件流程将这些外设与处理器连接在一起,并自动完成外设和存储器的地址映射、中断控制和总线控制等工作。完成系统配置之后,SOPC Builder根据要求生成VHDL或Verilog HDL的系统级设计代码。

我们在片上配备CPU、时钟、SRAM、存储系统、总线以及若干外部接口,而外围设备主要包括TFT LCD、外置SRAM、摄像设备和片外存储设备等。

在对于搭建好的模型,我们进行了一些模拟信号的仿真。对于一些在初步搭建中未考虑到的问题,比如说内存大小,速度等在设计时难以直观了解的问题有了充分的认识,而且很容易做出一些修改。

然后,我们有的放矢的去购买相应的硬件设备。值得一提的是接口已经准备好了,我们往往是更具接口程序的匹配程度再确立购买菜单。当然我们也要考虑外设的性能,但这更多的是在整体设计的时候已经考虑到的。最后的结果发现,这样的设计思路让我们少走了很多弯路,也节约了外设。我们节约了大量的时间,不用去电子市场浪里淘沙,可以把更多的精力花费在下面进行的算法的优化上。

整个硬件的设计框架是从摄像头得到图像后,通过usb接口连入总线,进入内存,系统对图片进行预处理。然后,系统通过总线上存储器中的资料与内存中图片进行匹配。若匹配成功则在屏幕上显示相关LOGO的资料。

如同在前面提到的,我们的算法部分主要是两个部分:一个是预处理部分。我们先捕捉LOGO位置、使用锐化处理使图像更加清晰、同态滤波处理去除阴影、三位坐标建模在三维模型上采集二维LOGO等。具体算法这里不再赘述。

第二个部分是匹配算法。我们综合了图像匹配算法和神经网络训练的算法相结合。图像的匹配主要基于亮度(二值化)匹配和基于特征(边角提取、坐标变换)的匹配算法。

最后是系统的测试。在完成了系统的硬件和软件设计后(用相应的VHDL代码烧入FPGA板),我们对作品进行了相应的测试。我们选取了正常LOGL,带有阴影下的LOGO,被三维扭曲下的LOGO作了相应的测试,在每组五个不同设备的测试中,全部成功识别,并在LCD上显示相管资料。具体结果在前文性能参数中得以体现。

 

 

(Revision: 2 / 2008-09-13 23:16:34)

6. 设计特点 (Preliminary Paper)

特点:
1.采用C2H编译器系统中利用硬件加速C2H编译器自动加速对logo图像预处理时性能要求较高的软件子程序,从而显著提高系统总体性能。
2.利用强大的数据库支持,我们可以识别几乎所有的商标logo
3.通过对已有识别算法的改进,我们的系统具有较高的识别速度,及更高的识别成功率
4.通过设计控制模块,减少了硬件电路的复杂性,即兼顾功能,又降低了设计成本。载入更新的软核系统就能够实现硬件升级。
5.由于利用altera的处理器来开发,使得我们的开发成本降低,同时是这个系统的成本也处于较低水平,利于投入后续商业推广
6.数据库维护更新可设计为多种接口,除了本系统使用的FLASH接口,也可换成无线网络接口
7.数据库可扩展为网络服务器数据库,以获得更丰富的数据支持,例如在手机或因特网中使用
8.本系统使用的LOGO识别算法同样支持任何简单图片或文字的识别,无需任何改动

(Revision: 2 / 2008-06-12 20:51:05)

7. 总结 (Final Project Paper)

短短两个月的比赛过程,对于我们小组收获颇丰。我们查阅各种DE1的资料,结合自己的工作目标,使我们的比赛作品不断的趋于完善。作品的制作成功其实只是我们收获的一小部分,在完成比赛过程中积累的知识和经验更为珍贵。
比赛的两个月中我们逐渐对SOPC有了比较深的理解。在SOPC Builder中,定制自己的系统就像大厨用各种配料制作一盘佳肴,只要在FPGA的范围内,我们可以按照自己的意愿选择外设的种类、数量等。NIOS软核处理器的最大优势和特点在于模块化的硬件结构,以因此带来的灵活性。加之SOPC Builder提供的标准接口,用户可以方便地实现自己所需的外围电路,大大方便了系统的设计调试。
比赛中,我们实现了LCD(TFT真彩色)的正常工作,运用外部存储器接口可以简单连线与FPGA及AVALON总线连接。我们在系统中还方便的使用自定义外设完成了FIFO与总线的连接。同时通过增加DMA控制其实外部数据流的存储变得更简单。这些功能的实现很大程度归功于SOPC Builder的设计使用。
比赛的过程使我们感到:SOPC这种全新的设计理念,很有可能成为未来的硬件设计潮流;FPGA蕴含着无穷的潜力,只要有丰富的创意就能创造出各种奇迹。

(Revision: 3 / 2008-09-13 23:17:31)