APP下载

基于图片内容的商品信息检索系统*

2015-12-05黎浩宏浙江工贸职业技术学院浙江温州325003

浙江工贸职业技术学院学报 2015年4期
关键词:商品信息爬虫特征值

黎浩宏(浙江工贸职业技术学院,浙江温州325003)

基于图片内容的商品信息检索系统*

黎浩宏
(浙江工贸职业技术学院,浙江温州325003)

介绍了使用基于图片内容进行商品信息检索的算法和实现原型系统,用户提交待查询商品图片后,系统对商品图像进行提取关键特征值,再和系统数据库中的图像特征值比较,缩小了检索得到的图片集合,提高了查全率和查准率。

商品;图像;检索;NET Framework

当前的大部分电子商务网站,如京东、淘宝、当当、亚马逊等提供了种类繁多的海量商品,一般电子商务网站只提供文字进行查找,通过这种传统的关键字搜索商品,返回给用户的往往是大量的商品,搜索到的商品多达几十页甚至上百页,而用户购买商品时,特别是对于穿着的衣服、鞋、帽、裤子等,不但主要考虑商品的质量,同时商品的外形也是用户购买商品的关键因素,然而通过文字搜索到的大多数商品都不是用户所需的商品,这样往往浪费了用户的大量时间进行选择商品,实际上用户在购买商品时只查看前几页,如果没有查到想要的商品,也不会再往下查看商品了,存在较大的局限性。

1 相关技术

1.1图片内容检索技术

要进行图片内容的检索,首先要根据待查图片进行图像特征提取,根据待查图像特征到被查图像特征库中进行查找,将小于阀值的备查图像显示出来即可,所以关键技术是提取图像特征。图像的特征包括基于文本特征和视觉特征两类。主要使用视觉特征来进行图片内容的检索。

图像特征通常可以从颜色、纹理和形状特征三方面进行获取。颜色直方图[1]是描述图像的视觉特征的一种广泛使用的技术。该技术用于统计不同色彩在整幅图像中所占用的比例,不考虑每种色彩在图像中所处的位置。纹理特征是一种不依赖于颜色或亮度的反映图像中同质现象的视觉特征[2],它是所有物体表面共有的内在特性,例如云彩、树木、砖、织物等都有各自的纹理特征。形状特征的提取要对图像中物体或区域进行划分,图像检索中的形状特征只能用于某些特殊应用,在这些应用中图像包含的物体或区域可以直接获得[3]。

1.2网络爬虫

网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件[4]。由于系统中的网络爬虫需要获取当前的URL所包含的图片链接以及抓取往后的URL,故本网络爬虫系统主要是获取图片同时保存在指定的位置,还要对图片进行特征提取,保存到系统的备查数据库中。

2 系统设计与实现

2.1图片内容检索关键技术

针对图片内容进行检索时,先进行采集图片特征,主要提取图片的颜色直方图特征,如果有能够提取形状,则将图片形状特征提取出来,分别将特征值保存到数据库中。可以没有形状特征。如果有形状特征,则为两者设定一定的权重值。进行图片检索时,先将要检索的图片进行特征提取,然后和服务器端的图片特征集合进行检索匹配,最后显示出符合检索条件的图片。

2.2总体结构设计

用户选择不同的图片搜索方式搜索,如果选择基于文本的搜索。则输入关键字后,系统根据用户提交的关键字进行关键字搜索。若用户选择基于内容的搜索方式,那么当用户上传一张图片后,客户端对上传的商品图片进行特征提取并上传到服务器,与服务器中的已提取特征的商品图片特征集进行匹配,由系统查找与用户上传商品图片特征相似的商品图片,将查找到的图片集返回给客户端。本系统总体框架结构如图1所示。

图1 系统总体框架图

2.3开发环境

本系统在.net framework 4.5平台下,采用Microsoft Visual studio2012开发工具,数据库使用sql server 2005,采用asp.net web form技术,使用c#语言进行开发的。

2.4数据库设计

根据商品图片检索需求,系统有10多个表,由于比较复杂,为便于描述,这里只列出了关键的5个表的内容和其关系图,包括商品种类表(tb_Kinds),商品信息表(GoodsInfo),商品特征表(tb_feature),用户表(tb_Usser)以及用户关注商品表(tb_Matching),其具体字段和关系如图2所示。

图2 表的关系图

2.5系统功能

本系统依据淘宝网的手机淘宝网站,将其作为初始的URL(http://a.m.taobao.com/),根据网络爬虫进行自动搜索和下载图片,同时提取下载的图片的具体特征值并且保存到数据库中。

本系统分为前台和后台,其中前台主要有以下3个功能。

查询功能:能够根据文字关键字进行查询商品,也能通过提交商品图片进行查询商品信息,查询到商品信息后,点击相应的商品图片,能够显示商品的具体信息。

用户管理:具有用户注册和登录功能。

定制和推送商品:用户可以注册成为会员后,才能定制商品,定制好具体商品后,用户只要登录本系统网站后,就能自动查看到定制的商品信息。

后台功能主要有以下4项功能。

商品信息采集:输入初始的网址后,网络爬虫会自动识别和下载相应的图片,提取图片的特征值,由于手机淘宝网站具有统一的商品设计格式,分析该格式,同时将商品的相应信息,如商品标题,商品价格、类型等信息保存到数据库中,本模块需要花费较长时间进行采集商品信息。

商品维护:可以对商品信息进行增删改查等常规功能的实现。

会员管理:对前台注册的客户进行日常增删改查等管理。

商品推送:设置商品推送后,前台登录的用户能够接受到推送的商品信息。

前台主界面如图3所示:

图3 图片检索网页

其中对图片内容的特征值比较的关键代码如下:protected void ButtonImage_Click(object sender,EventArgs e)

{

…….

if(this.uplPhoto.HasFile==false)

{

SmallScript.MessageBox(this,"请选择图片!");

}

else

{

string path=Server.MapPath(@".uploadPhoto");

dataOperate.UpPhoto(this.uplPhoto,ImageMyPic, path);

string imgPathAndName=path+uplPhoto.FileName;

stringfeatureStr=ImageObject.GetImageFeature (imgPathAndName);//得到图片特征值

int goodKind=Convert.ToInt32(DropDownListGood-Kind.SelectedValue);

DataSet ds=Engine.getImageFeatureInfoBygoodkind (goodKind);

imageFeatureEntity[]imageFeatureEntitys=image-FeatureEntity.DataSetToimageFeatureEntity(ds);//数 据 集中的数据插入到goodEntity数组中

string strIdList="";

Boolean GoodIdisNull=true;

foreach(imageFeatureEntity iFE in imageFeatureEntitys)

{

float similar=ImageObject.CompreFromFeature(featureStr,iFE.feature);//比较图片的特征值

mySimilar=similar;

if(similar>=0.75)

{

GoodIdisNull=false;

strIdList+=iFE.goodId.ToString()+",";

}

}

if(GoodIdisNull==false)//找到符合条件的图片

{

strIdList=strIdList.Substring(0,strIdList.LastIndexOf (","));

rs=Engine.getGoodInfoInIdList(strIdList);

Session.Add("rs",rs);

lbPageImage.Text="1";

bindDataListImage();

Labellbl=(Label)this.DataListImage.Controls[0]. FindControl("lblTotalImage");

if(lbl!=null)

{

lbl.Text="共找到"+rs.Tables[0].Rows.Count.To-String()+"件商品";

}

}

else

SmallScript.MessageBox(this,"没有匹配的商品");

}

}3结束语

本文介绍的基于图片内容的商品信息检索系统,能够通过商品类别和提交要购买的商品图片,根据商品的内容(如商品形状、颜色)在商品库进行查找,查找到的商品结果明显大幅减少,能更符合用户的查找要求,能够提高商品查找的查准率和查全率。由于对商品进行提取图像特征要耗费大量的时间,存放海量图片也要占用大量的存储空间,服务器进行图像特征值比较也要占用较长的时间,本文所使用的图片例子大约10 000个,离实际商业使用还有差距,随着技术的飞速发展,将来必能实现海量图片内容查询商业使用。

[1]窦建军,文俊,刘重庆.基于颜色直方图的图像检索技术[J].红外与激光工程,2005,34(1):84-87.

[2]周支元,周素萍.一种基于图像内容检索技术的数字视频水印算法[J].计算技术与自动化,2011,30(3):100-104.

[3]王彤,魏成光.数字图像信息的组织和检索[J].情报科学,2005,23(11):1708-1713.

[4]周立柱,林玲.聚焦爬虫技术研究综述[J].计算机应用,2005,25(9):1965-1969.

(责任编辑:潘修强)

Commodity Information Retrievable System Based On Image Content

LI Hao-hong
(College of Information and Communications,Zhejiang Industry&Trade Vocation al College,Wenzhou,325003,China)

The paper introduces the retrievable algorithm and prototype system based on image content.After users submit image file,the system can abstract the submitted image's key features,then compare them with all image's features in system database, which reduces the retrieval image result set and improves the retrieve all ratio and the retrieve accurate ratio.

commodity;image;retrieve;.NET Framework

TP317.4

A

1672-0105(2015)03-0046-04

10.3969/j.issn.1672-0105.2015.04.012

2015-09-08

基于图片内容的商品信息检索系统(X140104)

黎浩宏,硕士,浙江工贸职业技术学院副教授,研究方向:数据库、图形图像、计算机应用等。

猜你喜欢

商品信息爬虫特征值
利用网络爬虫技术验证房地产灰犀牛之说
一类内部具有不连续性的不定Strum-Liouville算子的非实特征值问题
一类带强制位势的p-Laplace特征值问题
基于一类特殊特征值集的扩散算子逆谱问题
基于Python的网络爬虫和反爬虫技术研究
单圈图关联矩阵的特征值
备战双十一
大数据背景下校园舆情的爬虫应用研究
大数据环境下基于python的网络爬虫技术
电子商务背景下商品信息检索问题研究