一种数字文化场景或图像的多维展现系统和方法与流程

文档序号:11545885阅读:373来源:国知局
本发明涉及数字文化多维展现方法和系统,主要用于数字文化多维展现,以及用于各行业环境、产品等的多维全景展示。本发明面对公众对公共文化服务内容形式多样、互动参与的需求,通过webgis,web3d及虚拟现实等技术的综合运用,可用于研发革命老区特色数字文化多维互动体验应用服务系统,提供展馆3d展示、革命遗址旧居全景漫游等多种文化传播方式,借助手机、电脑等多种网络终端实现文化互动体验,从而达到线上宣传,线下体验文化内容的目的。
背景技术
::当前处于互联网盛兴的时代,普通的文字、二维照片信息已经远远不能满足用户视觉体验多样化以及信息传播丰富化的需求,3d、全景漫游技术凭借着超强的真实感和丰富的信息量,现已广泛应用于各行各业,为他们提供更全面、更丰富、更完美的数字化展示方案。很多行业比如房产、酒店、市政建筑、高校校园、汽车内景等都在做一些产品全方位展示的工作,包括淘宝、京东等知名的电子商务企业,也都在通过3d等相关技术,直观的向用户展示产品信息。同样的,像红色展馆、革命遗址旧居这种具有教育意义的场所,如何能让用户以更饱满的视觉效果真实感受到场所信息,从而达到线上宣传,线下体验文化内容的目的,显得尤为重要。对于文化场所管理者,一个全景展示功能饱满、内容丰富且交互性良好的方法,可以很好地帮助做好宣传工作,吸引用户。分析目前已有的数字文化多维展现系统,虽然实现了全景展示功能,但是,仍然很难满足用户从多角度获取数字文化信息的需求,主要表现在展现方式单一以及用户体验差等问题,并且传统的漫游解决方案大都依赖插件的支持,兼容性很差。随着html5技术的发展,为全景展示等功能提供了很好的支持。技术实现要素:本发明旨在提供一种数字文化多维展现系统和方法,以解决现有技术存在的展示方式单一;系统灵活性不强,用户交互体验差;全景漫游与3d模型互相独立的问题本发明的技术方案是:一种数字文化多维展现系统,其特征在于,包括:全景图检索及展示模块、3d模型展示模块、全景+3d模型展示模块、全景视频模块和后台管理模块。所述的全景图检索及展示模块包括三部分主要内容:首先是创建图像索引供用户检索时使用;其次是全景图像查询,用户上传普通图片,系统通过分析图片的图像特征,去索引文件中查询并返回最相似的全景结果列表;最后是对列表中的全景图像做漫游展示;所述的全景+3d模型展示模块的核心设计是将3d模型添加到全景中,主要有三部分内容,包括全景图加载,全景图与3d模型融合以及综合展示,其中包括需要设定好3d模型在全景图中的位置信息;所述的全景视频模块包括两部分内容,一是加载视频文件,系统目前支持.mp4格式文件;然后是视频播放功能;所述的后台管理模块主要是对场景官方人员开放,用于上传场景的全景图像资源,3d模型和全景视频文件。所述的3d展示模块主要包括两部分内容,第一是加载3d模型,第二部分是模型展示,包括定义场景、定义相机和设置渲染器。本发明的另一技术方案是:一种基于上述系统的数字文化多维展现方法,其特征在于,包括以下步骤:(1)全景图像检索及展示:包括索引建立步骤a和图像查询步骤b,索引建立步骤a提取图库中的图像文件的特征,生成索引文件;用户c向图像查询步骤b上传要检索的图像,由图像查询步骤b提取要检索图像的特征,将用户c上传的图像与索引建立步骤a的索引文件的特征进行相似度匹配,并向用户c提供匹配结果列表,对结果做全景展示;(2)用户通过浏览器上传需要搜索的普通图片,服务器将请求提交给后台业务逻辑,通过与已建立好的索引文件做相似度匹配,经排序算法获得结果并将检索结果列表返回给用户;(3)用户点击列表中的全景图,会相应的进入全景展示模块,全景展示基于krpano框架,引入3d模型文件,将3d模型添加到全景中;系统也将3d模型展示模块单独摘出,抛出全景,这样用户可以更具体更直观的查看;(4)系统添加了全景视频播放功能,用户点击首页的全景视频,系统请求web服务器加载视频文件,在浏览器播放。所述的步骤(3)中,加载3d模型文件,首先需要先将three.js运行起来,运行three.js并加载模型需要以下几个步骤:(a)设置照相机camera,使用透视投影照相机方式,并设定视景体竖直方向上的张角fov、照相机水平方向和竖直方向长度的比值aspect、照相机到视景体最近距离near和最远距离far;(b)对照相机设定控制器trackballcontrols,主要对模型的旋转速度、放大缩小速度等进行控制;(c)设置场景,将步骤(a)中定义并设置好的照相机添加到场景中;(d)设置灯光,灯光使用three的平行光源directionallight,设定好光源的位置并将光源添加到照相机中;(e)加载3d模型文件;(f)定义渲染器,系统采用webglrenderer渲染方式,设定渲染器的背景颜色和高度宽度,并将添加了照相机、模型的场景添加到渲染器中。所述的步骤(e)包括以下4个小步骤:1)将存有模型顶点信息的文本文件放于服务器;2)浏览器下载文本文件,下载模型文件需要使用javascript的异步请求;3)javascript解析文本文件并生成一个geometry,最终生成mesh的网格模型;4)当产生mesh后,将其加入到所述的步骤(c)“设置场景”定义的场景中。所述的步骤(3)中,将3d模型添加到全景中的方法包括以下步骤:(a)浏览器加载html文件,该html文件做全景漫游的入口配置,包括设置全景漫游xml文件;(b)html页面加载krpanohtml5全景引擎;(c)全景引擎加载对应全景图的主xml文件,该xml文件包含两部分内容:一是全景图像加载方法,二是以插件的方式引入了3d模型加载方法;这里加载3d模型有以下3步:1)定义相机camera,这里同样是使用透视投影照相机方式;2)创建场景scene,在该步中,首先载入3d模型文并生成mesh的网格模型,再将mesh模型添加到场景;3)定义渲染器,将相机和场景添加到渲染器中。所述的步骤(4)中,全景视频播放通过调用krpano的videoplayer插件实现,数字文化管理方使用全景摄像机录制全景视频,通过该系统将它们在网页上播放,操作鼠标做视角的改变;全景视频是让用户最迅速、最直观的了解数字文化全景布局和方式,具体包括以下实现步骤:(a)配置入口文件,自动跳转到加载全景视频的xml文件,这里并不是跳转后直接加载,而是先判断当前使用设备是否支持全景视频播放,若支持,执行(b),否则报错;(b)加载场景scene,当浏览器加载完xml文件后,krpano会加载一个scene,视频播放的一系列操作都是在场景中完成的;(c)引入其他配置文件。这里实际是按照功能将xml切成了不同的模块,在主xml文件中把其他模块通过include的方式引入,这里配置文件中就包括了鼠标控制模块功能等;(d)控制初始图设置,定义视频未播放时的画面,系统中使用的是视频的截图;(e)定义视频源。可以添加多个清晰度不同的视频,比如流畅、高清、超清等并默认加载其中的某一种清晰度,本系统默认高清,用户可以手动调整;通过以上5步,加载完成系统运行后,能够显示全景视频,点击播放,播放视频,视频支持缩放,旋转等操作,意味着视频在播放的过程中用户是能够水平方向360°,垂直方向180°全方位观看。所述的步骤(1)中,索引建立步骤a和图像查询步骤b中的特征提取的具体方法包括:step1:获取全景图像信息;step2:遍历图像资源,将每张图片切割为40*40=1600个小图片块;step3:对每一个图像块,通过cedd工具,做rgb模型转hsv模型处理;step4:通过10-bins模糊过滤,将得到的hsv信息输出到10维直方图;step5:将step4中的10维直方图以及s(饱和度)、v(亮度)分量输入到24-bins模糊过滤器中,获得小图块的24维直方图;step6:将每一个小图像块做rgb模型转yiq模型处理;step7:再将每一个小方块四等分,对应到纹理信息提取中用到的数字过滤器结构,分别计算每一块的灰度值并归一化;step8:将得到的每一块的纹理信息规划到6维边缘直方图中;step9:将step5和step8中获得的两部分直方图结合,得到一个144维直方图,完成图像特征的提取工作。所述的索引建立步骤a的详细步骤如下:step1:创建文档构建器documentbuilder(cedd.class)对象,并将获得的图像特征信息融入到构建器中;step2:利用文档构建器,将图像特征信息添加到构建的文档document中;step3:定义索引文档写入对象indexwrite;step4:最后,通过写入对象将索引文档document按配置地址写到服务器中。所述的图像查询步骤b的详细步骤如下:step1:获取用户通过拍照上传或网络获取的图像;step2:使用extract()提取输入图片的特征值;step3:根据提取的特征值,使用findsimilar()查找相似的图片;step4:新建一个imagesearchhits用于存储查找的结果;step5:遍历imagesearchhits,分别获取到对应或相似全景图的有关信息,包括得分、路径和名称信息。还包括下面给出krpano框架实现全景漫游的具体步骤:step1:浏览器加载html文件,该html文件做全景漫游的入口配置,包括设置全景漫游xml文件;step2:html页面加载krpanohtml5全景引擎;step3:全景引擎加载对应全景图的主xml文件,该xml文件配置了由图像检索方法获取到的结果列表,读取全景图资源;step4:将读取到的全景资源,添加到容器中以在浏览器展示。本发明的优点是:实现了多维展现系统,系统包括3d模型加载展示、全景展示、全景视频播放等多维功能;系统添加了全景图像检索功能,用户上传已知的图片,搜索得到对应的全景图像,进而进去全景展示,帮助用户在大量的全景资源中快速的定位到自身需要的图像资源,使用非常方便;实现了全景和3d模型的融合功能,用户在查看全景漫游的同时,还可以直观的看到3d模型在全景图中的展示信息。更加真实的还原现实场景,增强用户的视觉体验。附图说明图1是本发明系统的应用场景示意图;图2是本发明系统的总体构成示意图;图3是本发明的工作流程图;图4是本发明系统技术架构图;图5是本发明树形的系统构成模块图;图6是本发明的three.js加载3d模型流程图;图7是本发明的全景+3d模块流程图;图8是本发明的cbir系统流程图;图9是本发明的索引创建流程图;图10是本发明的倒排索引对应关系图;图11是本发明的索引文件目录;图12是本发明的图像查询流程;图13是本发明的修改xml路径配置信息;图14是本发明的krpano加载全景图过程示意图。具体实施方式下面结合附图详细介绍本发明多维展现系统的架构和具体实现过程,针对用户以及数字文化展现的需求,搭建了全景图像检索及漫游、3d展示、全景视频、后台上传等功能的多维展示系统,给出具体的解决办法,满足用户需求。参见图1,本发明的系统有以下应用场景:首先系统用户为文化场所管理者和用户。文化场所管理者负责系统基础数据的维护工作,包括3d模型、全景视频等上传,全景资源索引的创建等。用户通过浏览器访问系统,搜索全景图像做全景展示,同时可以查看3d模型、全景视频等功能。各角色功能如图1所示。对于用户,有4种操作:上传图片,完成全景图像检索工作,进而跳转到全景展示页面。点击系统导航栏的3d展示栏,查看3d模型展示。查看全景和3d模型融合展示。点击导航栏的全景视频,浏览全景视频。对于文化场所管理者,也有4步操作:上传全景图像资源,并创建索引,保存系统服务器。上传3d模型,用于前端加载,呈献给用户。设定3d模型在全景图中的初始位置等参数,用户在查看全景+3d展示时,可以看到不同效果。上传全景视频资源,用于前端加载,呈献给用户。参见图2,本发明系统在一般全景展现系统基础上,做了很大扩展,主要包括5个主要模块:全景图检索及展示模块、3d模型展示模块、全景+3d模型模块、全景视频模块和后台管理模块。用户通过浏览器访问web服务器,实现对各模块功能的展现(b/s模式)。系统总体架构图如图2所示。对系统各模块以及之间的关系做如下描述:1.全景检索及展示模块所用是搭建一个图像搜索引擎,帮助用户快速搜索到所需求的全景图资源,用于全景展示,详细来看,本模块又可以分为全景图像检索和全景图像展示两个模块。常见的全景漫游制作框架和方法有pano2vr、krpano、flash、three.js等。比较各方法并结合系统的各模块功能,3d展示用到了three.js的方式,全景+3d功能和全景视频功能用到了krpano+three.js的方式。同时系统最终选定了krpano的方式实现全景展示。2.3d展示模块用于展示场景中有特色的标志物,比如文物、雕塑等,将其按照比例制作成3d模型,单独在系统中展示。3.全景+3d展示模块将3d模型按照所在实景的实际位置加载到全景图中,还原现实,给用户真实感受。4.全景视频模块主要是全景视频播放,将提前录制好的全景视频(主要是数字文化介绍等,配语音说明)加载到系统中,通过视频的方式直观的给用户讲解。全景视频的特点是在播放的过程中用户也可以做旋转,缩放等操作。5.后台管理模块的功能:系统后台管理人员将制作的3d模型(制作过程属于常规技术)文件、全景视频文件通过后台管理模块上传到系统,同时采集数字文化的所有全景图像作为数据源,平台的图像检索系统对图像信息创建基于lucene的索引文件,并将索引文件保存到服务器以供检索使用。参见图3,本发明系统详细流程描述如下:首先,系统后台管理人员将制作的3d模型文件、全景视频文件通过后台管理模块上传到系统,同时采集数字文化的所有全景图像作为数据源,平台的图像检索系统对图像信息创建基于lucene的索引文件,并将索引文件保存到服务器以供检索使用。其次,用户通过浏览器上传需要搜索的普通图片,服务器将请求提交给后台业务逻辑,通过与已建立好的索引文件做相似度匹配,经排序算法获得结果并将检索结果列表返回给用户。然后,用户点击列表中的全景图,会相应的进入全景展示模块。全景展示基于krpano框架,引入3d模型文件,将3d模型添加到全景中。系统也将3d模型展示模块单独摘出,抛出全景,这样用户可以更具体更直观的查看。最后,系统添加了全景视频播放功能,用户点击首页的全景视频,系统请求web服务器加载视频文件,在浏览器播放。用户通过浏览器检索图像,完成全景展示、3d模型展示、全景视频等任务。参见图4,要满足用户的各项需求,系统会用到各类复杂的技术支持,本发明系统的技术层次架构的各层次说明如下:系统层主要是系统的底层技术支撑主要是tomcat服务器、lucene检索引擎和索引文件存储等;控制层主要是spring和业务上需要的技术,包括事务管理、依赖注入、数据管理、dao、jdbc和webservice等;操作层主要面向用户,通过web端浏览器进行请求访问,前端主要用到jsp、css、html等。系统的大部分前端展示功能是基于html5实现的,但系统的整体开发框架是基于springmvc实现的,即前端基于html5的展示部分是放在springmvc的view视图层完成的。在系统的实施过程中,系统使用spring作为前后台交互,前端页面用jsp+html的方式进行开发,并采用mvc分层的设计思想来架构整个系统,model层主要负责数据的调取,controller层主要负责后台数据与前台用户的交互,view层主要负责将数据呈献给用户。参见图5,本发明系统是集全景图像检索、全景漫游、3d展示等功能于一体的综合展示系统,在传统的全景漫游基础上,融入了全景检索以及3d模型和全景图的结合,大大提升了系统功能强度和用户体验。系统的3d展示模块主要包括两部分内容,第一是加载3d模型,3d模型的制作过程本发明将不予以描述,本发明使用的模型文件来源互联网。第二部分是模型展示,包括定义场景、定义相机、设置渲染器等。全景图检索及展示模块有3部分主要内容,首先是创建图像索引供用户检索时使用,其次是全景图像查询,用户上传场景的普通图片,系统通过分析图片的图像特征,去索引文件中查询并返回最相似的全景结果列表。最后是对列表中的全景图像做漫游展示。全景漫游+3d展示的核心设计是将3d模型添加到全景中,主要有3部分内容,包括全景图加载,全景图与3d模型融合以及综合展示,其中需要设定好3d模型在全景图中的位置等信息。全景视频模块主要有2部分内容,一是加载视频文件,系统目前支持.mp4格式文件。然后是视频播放功能。后台管理模块主要是对数字文化管理人员开放,用于上传数字文化全景图像资源,3d模型和全景视频文件。下面对本发明系统的各模块的设计及实现进一步详细说明:本发明系统共有5个模块:全景图检索及展示模块、3d模型展示模块、全景+3d模型模块、全景视频模块和后台管理模块,其中全景图像检索及漫游展示模块因为其包含了图像检索以及全景展示两个功能,是系统的创新部分。1、3d模型展示模块:参见图6,我们使用three.js来实现3d模型的加载。three.js是一款运行在浏览器中的3d引擎,提供了非常多的3d显示功能。3d模型实际是由文本文件存储的【参见:毕胜,李勇.通过网页高速逼真3d渲染进行物品设计定制的方法:cn,cn103150761a[p].2013.】,本系统使用vtk格式的模型文件,文件是由很多个浮点型数据表示的点,点与点之间的连接组成面,多个面最后组成了网格模型。在three.js中用three.mesh来表示网格模型。在此说明,3d模型可以由3dmax、maya等专业的制作软件制作而成,属于常规技术,这里不作为本发明的研究内容,本系统中使用到的3d模型均来自互联网。加载3d模型,首先需要先将three.js运行起来。运行three.js并加载模型需要以下几个步骤:step1:设置照相机camera。使用透视投影照相机方式,并设定视景体竖直方向上的张角fov、照相机水平方向和竖直方向长度的比值aspect、照相机到视景体最近距离near和最远距离far。step2:对照相机设定控制器trackballcontrols,主要对模型的旋转速度、放大缩小速度等进行控制。step3:设置场景。将step1中定义并设置好的照相机添加到场景中。step4:设置灯光。灯光使用three的平行光源directionallight,设定好光源的位置并将光源添加到照相机中。step5:加载3d模型文件。图6所示的是加载模型的流程。这里加载3d模型又有4个小步骤:1)将存有模型顶点信息的文本文件放于服务器。2)浏览器下载文本文件,下载模型文件需要使用javascript的异步请求。3)javascript解析文本文件并生成一个geometry,最终生成mesh的网格模型。4)当产生mesh后,将其加入到step3(设置场景)定义的场景中。step6:定义渲染器。系统采用webglrenderer渲染方式,设定渲染器的背景颜色和高度宽度。并将添加了照相机、模型的场景添加到渲染器中。经过以上六个步骤,3d模型就可以在浏览器中展示了。3d模型支持水平方向360°和垂直方向180°旋转以及缩放等操作,这样用户可以全方位的查看,对数字文化的特殊标志物有充分的了解。2、全景+3d模型展示模块:参见图7,传统的数字文化全景漫游对一系列全景图像做了展示操作,但是对其中的标志物或用户特别关注的点没有特别显示,比如对于青岛的五四广场,就可以作为标志建筑。我们需要把“五月的风”制作成3d模型,对应的加载到五四广场的全景漫游中,这样用户在漫游五四广场时,可以更加直观的查看“五月的风”了。针对这样的问题,我们提出了全景漫游+3d模型展示模块。本模块的全景展示方法同上述的krpano的加载方式,不同在于加载的主xml文件不同,本模块的xml文件中添加了加载3d模型方法,这是本发明的创新点之一。图7所示的是该模块的加载过程。下面将对该模块的详细实现步骤作如下描述:step1:浏览器加载html文件,该html文件做全景漫游的入口配置,包括设置全景漫游xml文件。step2:html页面加载krpanohtml5全景引擎。step3:全景引擎加载对应全景图的主xml文件。该xml文件包含两部分内容:一是全景图像加载方法,二是以插件的方式引入了3d模型加载方法。这里加载3d模型有3步:1)定义相机camera。这里同样是使用透视投影照相机方式。2)创建场景scene。在该步中,首先载入3d模型文并生成mesh的网格模型,再将mesh模型添加到场景。3)定义渲染器,将相机和场景添加到渲染器中。经过以上3步,系统就可以完成全景+3d模型的综合展示了。说明:由于受xml文件参数传递问题的限制,系统没有通过前台页面传递参数给后台xml页面的方式来配置,这里需要后台维护人员手动配置3d模型文件、模型文件在全景中的初始位置(ath:10,atv:+7,depth:800,scale:1.0,rx:180,ry:0,rz:0)等。3、全景视频展示模块:全景视频播放通过调用krpano的videoplayer插件实现。文化管理人员可以使用全景摄像机录制全景视频,通过该系统将它们在网页上播放,可以操作鼠标做视角的改变。全景视频是让用户最迅速、最直观的了解数字文化布局的方式。通过这种方式,也可以提高数字文化的宣传力度。所以全景视频是该系统必不可少的功能。下面将给出全景视频功能的具体实现步骤:step1:配置入口文件,自动跳转到加载全景视频的xml文件。这里并不是跳转后直接加载,而是先判断当前使用设备是否支持全景视频播放,若支持,执行step2,否则报错。step2:加载场景scene。当浏览器加载完xml文件后,krpano会加载一个scene。视频播放的一系列操作都是在场景中完成的。step3:引入其他配置文件。这里实际是按照功能将xml切成了不同的模块,在主xml文件中把其他模块通过include的方式引入。这里配置文件中就包括了鼠标控制模块功能等。step4:控制初始图设置。定义视频未播放时的画面,系统中使用的是视频的截图。step5:定义视频源。可以添加多个清晰度不同的视频,比如流畅、高清、超清等并默认加载其中的某一种清晰度。本系统默认高清,用户可以手动调整。通过以上5步,加载完成,系统运行后,可以显示全景视频,点击播放,可以播放视频,视频支持缩放,旋转等操作,意味着视频在播放的过程中用户是可以水平方向360°,垂直方向180°全方位观看的。4、后台管理模块:后台管理主要功能是给数字文化系统维护人员或管理员提供上传全景图像,3d模型和全景视频资源的入口。系统维护人员可以将制作好的全景图像、3d模型和全景视频资源通过系统上传到服务器。系统通过重写xml文件的方式加载上传的资源并在浏览器显示,能让用户第一时间看到实时更新。其中,全景图像资源的管理过程如下:step1:数字文化管理员上传全景图像。step2:系统后台执行文件上传方法,将图像存到服务器的指定路径。step3:管理员执行创建索引操作,生成全景图像索引文件,保存到服务器。上传3d模型和全景视频资源的过程如下:step1:用户点击页面的上传模型或上传全景视频按钮,选择需要上传的文件,点击上传。step2:系统后台执行文件上传方法,将模型文件和全景视频文件分别存到服务器的指定路径。step3:系统接收上传的文件路径并添加到对应的主xml文件。5、全景图像检索及展示模块:(1)引言:当出现以下场景:用户现有一些较为中意的普通场景图像,但是不知道属于场景中哪个具体展示对象,只能按照系统中特定的路线寻找,交互性很差,效率很低。针对这一问题,系统设计并实现了全景图像检索功能,旨在让用户上传普通图片,系统会返回与之对应以及相似的全景图信息并全景展示,让用户快速的定位到对应的场景,提高用户体验。由此可见,检索功能在展现系统中是非常重要的,所以将该模块单独介绍。在技术上,传统的图像检索以文字为主,首先使用文字标题对图像进行描述,然后将图片和描述按照对应关系存入数据库,最后检索的是指是对文字的检索,通过检索到的文字描述再对应到图片。这种检索方式需要人工的对每一张图片添加描述,面对当前海量的全景图像资源,工作量将会非常的庞大,显然已经不适合当前系统。所以本发明使用了基于图片内容的图像检索(cbir,contentbasedimageretrieval),该方法是通过提取图像特征,建立索引库,最后通过匹配特征来完成图像检索的,这种方式不仅大大提高了检索的准确率和效率,而且过程全部自动完成,不需要人工的干预。检索完成后得到一系列全景图像,系统需要对应的完成全景漫游工作。(2)图像检索架构:基于内容的图像检索系统,主要包括3大功能:输入功能、检索功能、查询功能。输入功能主要是对全景图像资源库进行特征提取,索引建立,然后将索引文件保存到服务器的过程。检索功能主要是对索引文件进行检索和过滤。最后查询模块主要是根据用户的反馈,检索出与用户上传的图片相似的全景图像。有了检索系统的各功能模块结构以及明确了各模块的功能,现总结并梳理基于内容的图像检索系统的流程为:首先系统依次提取图库中全景图像的特征,生成索引文件,并将索引文件保存到服务器中供检索使用。然后用户提交图像给系统,最后系统提取用户提交图像的特征与索引文件进行相似性匹配,按照相似度值高低的顺序将图像返回给用户。具体的流程图如图8所示。下面将详细介绍图像检索系统中核心流程,主要有图像特征提取、索引创建和图像查询。(3)图像检索流程:(3.1)图像特征提取:检索系统的核心包括两大功能,创建索引和查询。创建索引是为了对大量的图像资源提取图像特征,建立索引库保存,省去检索时每次都要遍历图库提取特征的繁琐操作,大大提升检索效率。查询操作同样需要提取图像特征分析并跟索引库中的图像资源信息比对,最后获取结果列表。由此看来,在整个图像检索系统中,图像特征提取起到了十分重要的作用,下面将讲述检索系统第一步——图像特征提取。说到图像,反映给我们最直观的就是颜色,也就是说颜色是最直观的视觉特征,技术上通过颜色直方图来表示一幅图像的颜色信息也是最直接最简单的方法。但是也存在两幅图的颜色相似,在只根据颜色提取特征的情况下,两幅图片的相似度会非常高,很难根据颜色来区分图片类别,这样查询的准确率会非常低。所以在特征提取的过程中,图像的纹理信息也是必须要考虑的因素之一,纹理特征直方图可以将图像的纹理信息划分为多个类别,同时可以将颜色信息良好的结合在一起。颜色和边缘的方向性描述(colorandedgedirectivitydescriptor,cedd)就是结合了图像颜色和纹理的一种描述方法。所以在系统开发中,我们使用了基于lucene的图像检索工具(luceneimageretrieval,lire)提供的图像特征提取方法。特征提取的对象是后台管理中维护人员上传的全景图像。具体步骤为:step1:获取系统维护人员上传的全景图像信息。step2:遍历图像资源,将每张图片切割为40*40=1600个小图片块。step3:对每一个图像块,通过cedd工具,做rgb模型转hsv模型处理。step4:通过10-bins模糊过滤,将得到的hsv信息输出到10维直方图。step5:将step4中的10维直方图以及s(饱和度)、v(亮度)分量输入到24-bins模糊过滤器中,获得小图块的24维直方图。step6:将每一个小图像块做rgb模型转yiq模型处理。step7:再将每一个小方块四等分,对应到纹理信息提取中用到的数字过滤器结构,分别计算每一块的灰度值并归一化。step8:将得到的每一块的纹理信息规划到6维边缘直方图中。step9:将step5和step8中获得的两部分直方图结合,得到一个144维直方图,完成图像提取工作。下面给出生成特征信息的核心代码:fuzzy10binresulttable=fuzzy10.applyfilter(hsv[0],hsv[1],hsv[2],2);fuzzy24binresulttable=fuzzy24.applyfilter(hsv[0],hsv[1],hsv[2],fuzzy10binresulttable,2);for(inti=0;i<=t;i++){for(intj=0;j<24;j++){if(fuzzy24binresulttable[j]>0)cedd[24*edges[i]+j]+=fuzzy24binresulttable[j];}}(3.2)创建索引:上述(3.1)节我们得到了图像的颜色和纹理特征。为了减少查询时计算量,提高查询效率,本发明将对特征信息构建倒排索引。索引创建过程如下图9所示。其原理为在索引库中,每一张图片的特征信息都会对应一个唯一的id号,生成索引目录时,保存特征值和其出现在某条记录中的对应关系。比如特征feature1在id为1和3的图像特征信息中,则保存为feature1->1,3。倒排索引原理图如图10所示。下面给出创建索引详细步骤:step1:创建文档构建器documentbuilder(cedd.class)对象,并将图像特征信息融入到构建器中。step2:利用文档构建器,将图像特征信息添加到构建的文档document中。step3:定义索引文档写入对象indexwrite。step4:最后,通过写入对象将索引文档document按配置地址写到服务器中。创建索引文档的核心代码如下:for(iterator<string>it=images.iterator();it.hasnext();){stringimagefilepath=it.next();bufferedimageimg=imageio.read(newfileinputstream(imagefilepath));documentdocument=globaldocumentbuilder.createdocument(img,imagefilepath);iw.adddocument(document);}创建完的索引目录结构如图11所示。(3.3)图像查询:通过(3.1)节和(3.2)节的工作,我们已经获取了图像的特征并创建了索引文件,在下面将介绍全景图像查询的过程。首先给出图像查询的具体流程图,如图12所示。检索模块功能主要由searcher类实现,首先调用了genericfastimagesearcher类,设置返回结果的数量,添加提取特征值的方法。代码如下:imagesearchersearcher=newgenericfastimagesearcher(30,cedd.class);其次调用imagesearchhits类的search(img,ir)方法,其中img是待搜索图片的路径,ir是读取的索引文件信息。在search方法中,通过比对被查询图像与索引中特征值的距离(maxdistance=findsimilar(reader,globalfeature)),返回符合特定阈值的结果。下面给出其详细步骤:step1:获取用户上传图像。step2:使用extract()提取输入图片的特征值。step3:根据提取的特征值,使用findsimilar()查找相似的图片。step4:新建一个imagesearchhits用于存储查找的结果。step5:遍历imagesearchhits,分别获取到对应或相似全景图的得分(得分机制参见文献“高建贵.基于lucene的大数据量全文搜索引擎的研究与实现.重庆大学硕士学位论文,2015;马睿,黄穗.基于补偿的nutch搜索引擎的设计与实现.科学技术与工程,2011,11(34):8619-8623;周凯,李芳,盛焕烨.基于向量空间模型的中文搜索引擎评测系统研究与实现.计算机应用研究,2007,24(12):16-19”)、路径、名称等信息。(4)全景漫游展示:通过上述第(3)节的全景检索系统流程,我们会得到一系列与用户查询相似的全景图列表,目的是进行360°全方位展示。得到列表后,系统首先需要更改配置全景图的xml文件,使文件里的路径信息指向本次查询的结果。然后全景引擎加载文件才能实现本次查询结果的全景展示。xml文件修改的过程如图13所示。下面将对全景图做全景漫游操作。上面已经给出用krpano的方式实现。该方式主要实现是通过html文件加载krpanohtml5全景引擎,读取全景图像,并显示到浏览器的过程。实现过程如下图14所示。下面给出krpano框架实现全景漫游的具体步骤:step1:浏览器加载html文件,该html文件做全景漫游的入口配置,包括设置全景漫游插,xml文件。step2:html页面加载krpanohtml5全景引擎。step3:全景引擎加载对应全景图的主xml文件,该xml文件配置了由图像检索系统获取到的结果列表,读取全景图资源。step4:将读取到的全景资源,添加到容器中以在浏览器展示。通过以上4步,可以实现全景展示。在全景图检索模块的最后,用户点击的全景图将会显示,其余的全景将会以缩略图的形式在浏览器下方展示,用户可以点击缩略图任意切换,方便用户查看。综上,系统实现了从全景图像检索到全景展示的详细过程,可以很好的解决现有技术存在的系统不综合、用户查找全景资源速度慢,效率低的问题。下面按照顺序介绍本发明的使用过程和实现的功能。1、全景检索及漫游:首先点击后台首页全景图像管理下的上传全景图按钮跳转到上传页面。上传完所有全景图像后,管理人员点击后台首页全景图像管理下的创建索引按钮,执行索引创建工作。创建索引生成的索引文件存于服务器,索引的文件结构已经在上面给出。完成上述工作以后,在浏览器访问系统首页。系统支持的浏览器包括chrome32及以上、firefox、猎豹浏览器以及其他以chrome为内核的浏览器。针对用户不能快速的定位到自己想要查找的全景图像的问题。系统实现了图像检索功能,在系统首页页面中,用户点击图片检索按钮,跳转到用户上传搜索图片界面。选择待查询的图片。点击搜索,系统对用户提交的图像进行特征提取、相似度计算等处理,返回一系列结果(列表)给用户。用户点击列表中某一张全景图片,会跳转到全景漫游展示功能,并展示krpano方式实现的全景漫游。其中krpano方式可以显示结果列表中其他全景的缩略图,用户点击后可以直接切换。用户可以通过键盘或鼠标点击下方的控制按钮,调整观看角度。方便用户查看,提升用户体验。2、3d展示:系统3d展示功能主要解决场景中对某些特殊的标志物如人物雕塑等没有3d展示的问题。首先后台管理人员通过系统后台上传3d模型文件。用户点击首页导航栏的3d展示,在二级菜单中会列表显示所有3d模型,点击其中某一模型,跳转到3d模型展示页面。用户可以通过鼠标调整模型的大小(缩放),以及对模型做水平360°和垂直方向180°旋转操作,方便用户全方位了解。3、全景+3d展示:上述已经展示了全景漫游和3d展示的功能,系统同时针对传统系统中3d模型不能在全景展示中融合显示的问题,实现了全景+3d展示。系统事先在需要添加3d模型的全景图对应的xml文件中配置加载3d模型插件,这样在加载全景图的同时,可以显示3d模型。由于受xml文件参数传递问题的限制,系统没有通过前台页面传递参数给后台xml页面的方式来配置,这里需要后台维护人员手动配置3d模型文件、模型文件在全景中的初始位置等。用户可以通过鼠标和键盘来调整全景展示的方向和大小。4、全景视频:同时,为了进一步提高系统的综合性,丰富系统功能,还设计开发了全景视频播放模块,通过系统后台,管理员上传制作的全景视频。用户点击前台首页导航栏的“全景视频”按钮,系统加载上传的视频并跳转到播放界面。我们普通的视频在播放时除了暂停、快进、快退、停止等操作外是不能做其他操作的,但是全景视频的特点在于在播放的过程中,用户是可以旋转和缩放的,意味着在视频播放的任意时刻,用户是可以选择观看视频的任意角度的。这样就大大提高了用户的观看体验。本发明从综合角度出发,基于html5技术,设计并实现了数字文化多维展现系统。系统首先融合了全景展示、3d模型展示、全景视频播放等多维度功能,解决了传统系统展示功能单一的问题。同时系统支持上传多个全景图像资源并融合了基于内容的全景图像检索功能,将上传的全景资源建立索引供用户检索,这样用户可以快速定位到所需全景资源。最后系统将3d模型融入到了对应的全景图像中,使用户在侧重了特殊文化建筑的同时,也能在整体全景中进行浏览,增加了系统的功能强度,提升了用户体验。本发明系统的实现对用户和管理人员都是非常有意义的。首先用户可以通过系统从多个功能点获取丰富的数字文化展示信息,实现“游览前借系统充分了解,游览后借系统温情回顾”的用户需求;对于管理人员,系统的全景视频等功能,可以帮助快速宣传数字文化。综上,本发明分别解决了以下问题:第一,针对传统系统展示方式单一的问题,设计实现了多维展现系统,系统包括3d模型加载展示、全景展示、全景视频播放等多维功能。对多维展现系统的架构、各功能模块以及各模块的详细流程进行设计,并介绍了各模块的流程和实现过程。其中3d展示功能实现基于three.js技术;全景漫游功能采用了krpano技术实现,该功能是给用户提供数字文化的360°全景展示,用户可以水平方向360°,垂直方向180°查看。第二,针对系统灵活性不强,用户交互体验差的问题,系统添加了全景图像检索功能。全景图检索模块的工作是为全景漫游做准备的,用户上传已知的图片,搜索得到对应的全景图像,进而进去全景展示,帮助用户在大量的全景资源中快速的定位到自身需要的图像资源。图像检索利用了基于lucene的图像特征索引工具——lire(luceneimageretrieval),后台通过springmvc架构实现了数据的交互。第三,针对全景漫游和3d模型互相独立的问题,系统基于krpano和three.js技术,实现了全景和3d模型的融合功能。用户在查看全景漫游的同时,还可以直观的看到3d模型在全景图中的展示信息。更加真实的还原现实场景,增强用户的视觉体验。本发明中各步骤的具体实现方法为常规技术。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1