第六届浙江省大学生电子商务竞赛作品名称:基于内容的网络商品图像检索系统作品类别:技术类2011年3月13日目录第1章项目背景 (3)第2章关键技术介绍 (6)第3章系统分析与设计 (8)3.1需求分析 (8)3.1.1功能性需求分析 (8)3.1.2非功能性需求分析 (8)3.2系统设计 (10)3.2.1 总体结构设计 (10)3.2.2 功能模块设计 (11)3.2.3 检索流程设计 (12)3.2.4数据存储设计 (14)3.2.5 算法设计 (17)第4章系统实现 (25)4.1 数据采集模块 (25)4.2 数据检索模块 (28)4.3 数据显示模块 (29)4.4 数据推送模块 (34)第5章盈利模式与市场营销推广策略 (36)5.1目标市场 (36)5.2盈利模式 (36)5.3 系统推广策略 (37)第6章财务分析 (41)6.1搜索系统建设成本 (41)6.2搜索引擎运行维护成本 (41)6.3搜索系统宣传推广成本 (42)第7章风险及对策 (43)7.1市场风险及对策 (43)7.2技术风险及对策 (43)7.3项目风险及对策 (44)7.4竞争风险及对策 (44)第8章创新点 (45)第9章总结 (46)【参考文献】 (47)第1章项目背景随着计算机软硬件和互联网技术的飞速发展,多媒体数据的数量以惊人的速度增长。
各行各业有越来越多的信息通过图像的形式进行表达,这些图像中包含了大量有用的信息。
但是这些图像松散的分布在世界各地,缺少有效的组织,难以达到资源共享的目的。
因此如何利用如此众多的图像信息并从中定位感兴趣的图像,是对图像信息的查询技术提出的重大挑战。
早在1951年,信息检索(Information Retrieval)这一术语就被Calvin M oores描述为使用户的信息需求能够变为最终的有用信息的过程。
当然,他当时指的是文本格式的文件检索。
但他的描述却揭示了信息检索系统的实质:帮助用户具体定位相关信息。
在1970年以后,随着数据库管理和计算机视觉两个领域的飞速发展,图像检索技术(Image Retrieval)的研究成为热点。
由于图像检索在这两个领域的不同应用,所以它们采用的研究方法也各自有所侧重。
数据库管理领域的研究采用基于文本的图像检索方法,而计算机视觉领域则偏重于基于视觉的图像检索。
基于文本的图像检索(text-based image retrieval),主要在数据库领域中进行研究,它的一个典型框架是,首先对图像用文本进行注解(关键字),然后用基于文本的数据库管理系统(DBMS)来进行图像关键字检索,诸如数据模型、多维度索引、查询评价等的研究进展均是沿着这一领域所作的。
但是,基于文本的图像检索存在很大困难,尤其是图像的数据量非常大的时候,其一,手工对图像进行注释所需的工作量太大;其二,许多图像很难用文字的方式进行描述;其三,不同的人对同一幅图像的理解不一样,即使同一个人对同一幅图像在不同环境下理解也不完全相同,这样使得对图像的描述不唯一,造成检索结果的千差万别;其四,由于世界上存在许多语种,采用不同的语言文字对图像进行描述而建立的索引在应用中造成了一定的阻碍。
因此基于文本方式的图像检索存在很大的局限性。
90年代初期,随着大规模数字图像库的出现,上述的问题变得越来越尖锐。
为克服这些问题,基于内容的图像检索技术(content-based image retrieval)应运而生。
区别于原有系统中对图像进行人工标注的做法,基于内容的检索技术自动提取每幅图像的视觉内容特征作为其索引,如色彩、纹理、形状等。
此后几年中,这个研究领域中的许多技术发展起来,一大批研究性的或商用的图像检索系统被建立起来。
基于内容的图像检索系统具有与传统基于文本的检索系统完全不同的构架。
首先,由于图像依赖其视觉特征而非文本描述进行索引,查询将根据图像视觉特征的相似度进行。
用户通过选择具有代表性的一幅或多幅例子图像来构造查询,然后由系统查找与例子图像在视觉内容上比较相似的图像,按相似度大小排列返回给用户。
这就是所请的通过例子图像的检索(query by image example)另外,基于内容的检索系统一般通过可视化界面和用户进行频繁的交EL,以便于用户能够方便地构造查询、评估检索结果和改进检索结果。
基于内容的图像检索作为一种利用图像的颜色、纹理、形状等特征进行检索新的检索技术。
它融合了传统的模式识别技术与多媒体良好的人机交互技术,有着广泛的发展应用前景,特别是在电子商务领域。
近年来,随着Imemet技术和电子商务技术的不断发展与成熟,以此为技术基础的网络购物平台层出不穷。
网络购物平台中的商品货源广泛、品种齐全且价格合理,有着巨大的消费需求,因此得到了迅速的发展。
目前,随着物流服务的完善,网络购物作为一种新型的购物方式已经渐渐取代了传统的购物方式,成为一种时尚。
纵观国内外的知名购物网站,它们无一例外的都为用户提供了商品检索功能。
然而,很多购物网站只为用户提供了基于关键字的检索功能。
网络购物平台中的一些商品难于用文字来表达其自身的属性,这给用户挑选中意的商品带来的很大的不便。
例如,服装的款式花色很难用文字表达,这使得用户难以用关键字检索到具有欣宜花色和款式的服装。
然而,利用商品图像作为查询信息,这个问题就会迎刃而解。
CBIR就像是一种为其量身定做的技术,可以很好的解决对某些不便于用文字描述其特征的商品图像的检索问题,极大地方便用户利用网络购物平台选购商品。
我国个人消费网购规模正在以每年超过100%的增速快速发展。
根据艾瑞、易观等机构的统计数据,2009年中国个人消费网络购物的金额已经达到2500亿,预计到2012年将达到7130亿。
尽管如此,网购交易额仍然只占个人消费总体消费额不到2%,发展空间巨大。
随着网购规模的发展,越来越多的商家和商品出现在互联网,这就给消费者挑选商品带来了越来越大的困难。
根据统计,目前淘宝已经有超过300万家商户,在线超过3亿件商品。
这就给购物搜索带来了巨大的市场机遇。
根据艾瑞的统计,2009年购物搜索市场规模已经超过11亿,而且随着网购交易规模的发展,增速也越来越快。
而图像购物搜索是购物搜索的重要组成部分,是近几年国内外研究的重点。
同时,近年来随着智能手机和3G通信网络的发展,人们又多了一种购物选择:利用手机实现移动购物。
这种方式与传统网购相比更加快捷、灵活、方便,可以充分利用手机的照相功能,结合图像搜索,随时随地实现购物。
由于移动商务需要基于手机平台进行操作,考虑到手机平台的特殊性,如何让商品更条理、更清晰的展示在用户面前是提升用户体验的核心因素。
在分析商品购物特点的基础上,设计与开发了基于内容的网络商品图像检索系统,通过对商品图像的自动识别,在海量商品数据中准确、快速的寻找消费者感兴趣的满意商品。
开发的系统同时支持网络环境和移动环境。
第2章关键技术介绍本系统采用Jsp+Servlet+Javabean三层结构,将用户界面、数据内容清晰地分离开来,明确了各个角色的定义。
Servlet程序在服务器端运行,动态地生成Web页面。
与传统的CGI和许多其他类似CGI的技术相比,Java Servlet具有更高的效率,更容易使用,功能更强大,具有更好的可移植性,更节省投资。
下面就jsp,servlet,javabean三方面进行介绍。
1. servletservlet是在服务器端执行的,具有良好的移植性,不论操作系统是Windows、Linux、Unix等等,都能将写好的Servlet程序放在这些操作系统上执行,是真正的写一次,到处执行。
另外Servlet功能强大,Servlet能完全发挥Java API的威力,想写网络目录查询程序,则可利用JNDI API,想连接数据库,则可利用JDBC等等。
其次是性能,执行一次以后,会停留在内存中一段时间,当有相同的请求发生时,Servlet会利用不同的线程来处理,在性能上会有大幅的提升,而服务器会自动清除停留时间过长而且没有执行的Servlet,最后Servlet也有类型检查的特性,并且利用Java的垃圾收集与没有指针的设计,使得Servlet避免内存管理的问题。
2. jsp为了弥补Servlet在开发Web-based系统不足的地方,JSP出现了。
JSP 的出现大大简化了Servlet处理Web系统的工作量。
JSP是一种动态网页技术,即在传统的HTML里嵌入Java程序,客户端发出请求,服务器端执行,仅此而已。
3. JavaBeanJavaBean是一个可重复使用,且跨平台的软件组件,可以在JBuilder、eclipse等软件以可视化的方式来开发,它是一个类,并封装若干方法,当我们需要时,直接可以拿来用。
本系统中将jsp作为视图层,servlet作为控制层,javabean作为模型层,三者结合使用,取长补短,总的优点有如下几点:1. 低耦合性视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动模型层即可。
因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。
2. 高重用性和可适用性随着技术的不断进步,现在需要用越来越多的方式来访问应用程序。
该架构允许使用各种不同样式的视图来访问同一个服务器端的代码。
它包括任何WEB (HTTP)浏览器或者无线浏览器(wap),比如,用户可以通过电脑也可通过手机来订购某样产品,虽然订购的方式不一样,但处理订购产品的方式是一样的。
由于模型返回的数据没有进行格式化,所以同样的构件能被不同的界面使用。
例如,很多数据可能用HTML来表示,但是也有可能用WAP来表示,而这些表示所需要的命令是改变视图层的实现方式,而控制层和模型层无需做任何改变。
3. 较低的生命周期成本使降低开发和维护用户接口的技术含量成为可能。
4. 快速的部署使开发时间得到相当大的缩减,它使程序员(Java开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力于表现形式上。
5. 可维护性分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。
6. 有利于软件工程化管理由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化管理程序代码第3章系统分析与设计3.1需求分析3.1.1功能性需求分析在一个基于内容检索的图像数据库中,用户可以根据自己定义的图像特征,查找类似或相关的图像。
例如:服装设计师需要查找一些自己需要的服装样本:医学工作者需要从医学影像数据库中查找一些相关的病例资料;互联网爱好者可能需要在互联网上下载一些图像资料;文物工作者需要查找相关的文物图像资料;公安部门需要根据指纹、脚印等进行罪犯资料的查询;以及一些特殊环境里的电子锁装置(指纹识别、面容识别、掌纹等识别)等。