• 工作总结
  • 工作计划
  • 读后感
  • 发言稿
  • 心得体会
  • 思想汇报
  • 述职报告
  • 作文大全
  • 教学设计
  • 不忘初心
  • 打黑除恶
  • 党课下载
  • 主题教育
  • 谈话记录
  • 申请书
  • 对照材料
  • 自查报告
  • 整改报告
  • 脱贫攻坚
  • 党建材料
  • 观后感
  • 评语
  • 口号
  • 规章制度
  • 事迹材料
  • 策划方案
  • 工作汇报
  • 讲话稿
  • 公文范文
  • 致辞稿
  • 调查报告
  • 学习强国
  • 疫情防控
  • 振兴乡镇
  • 工作要点
  • 治国理政
  • 十九届五中全会
  • 教育整顿
  • 党史学习
  • 建党100周
  • 当前位置: 蜗牛文摘网 > 实用文档 > 公文范文 > 面向海量植物图像的智能检索系统设计

    面向海量植物图像的智能检索系统设计

    时间:2023-02-20 10:40:05 来源:千叶帆 本文已影响

    邱金水,庄会富,金 涛

    (中国科学院昆明植物研究所科技信息中心,云南 昆明 650201)

    近年来,随着科学研究进入数据驱动的第四范式,科学数据资源成为国家重要的战略性支撑资源[1]。植物图像包括植物的彩色图像和标本图像,它们是植物学科领域的重要科学数据资源。植物图像不仅是比较直观地了解和认识植物的参考资料,同时也是植物学领域的科技工作者研究植物不可或缺的科研材料。随着电子科技的进步尤其是智能手机的广泛普及和标本数字化的快速发展,植物的彩色图像和标本图像都呈现爆发式增长。利用海量的植物图像构建一个智能的植物图像检索系统,不仅能对广大人民群众起到科普教育和科普宣传的作用,同时还可以支撑植物学领域的科技工作者进行植物物种鉴定和植物分类等科学研究工作。

    使用当前比较流行的搜索引擎如百度和Google也能检索植物图像,但检索出来的植物图像有些标注信息(如物种鉴定信息)是错误的。用于植物分类学研究的植物图像(如植物器官特征图像)会比较缺乏,在支撑植物科学研究方面比较有限。主要是因为这些通用的搜索引擎缺乏植物领域专业性,它们仅仅是将整个互联网开放的植物图像简单地网罗在一起。目前国内较大的植物图像库有中国植物图像库(Plant Photo Bank of China, PPBC)[2]、中国数字植物标本馆(Chinese Virtual Herbarium, CVH)[3]等,它们都是专业的植物图像库,植物图像保存数量均超过800万张。由于它们的植物图像主要来自于国内的标本数字化图像和个人拍摄的植物图像,尚未整合国内外开放的专业植物图像数据库,因此其植物图像数量的年增长率均比较低。此外,PPBC和CVH的搜索引擎不支持根据植物图片、部位颜色和图片大小进行检索,因此还有进一步完善和优化的空间。

    在植物图像研究和应用领域,研究人员在植物图像分割[4-5]、植物图像分类[6-7]、植物图像管理[8]、植物图像识别[9-11]和基于图像处理技术的植物图像检索[12-13]等方面均进行了相关的研究。这些研究主要基于植物图像的内容,侧重于植物图像的轮廓特征、纹理特征、图像颜色等方面的算法研究,而对植物图像的采集、整理、存储以及构建智能检索系统等方面的开发设计或研究则比较少。因此本文利用大数据技术、人工智能技术、搜索引擎技术和网络爬虫技术尝试对海量植物图像的检索系统进行设计,对其他相关领域的研发设计与应用具有一定的参考意义。

    在传统的软件设计过程中,采用单台植物图像文件服务器和关系型数据库构建植物图像检索系统是常用的技术手段,通过植物拉丁名或中文名等文字信息进行检索亦是普遍的检索方式。但随着大数据时代的到来以及人工智能技术的高速发展,科学数据日益呈现出4V特征[14]:体量(volume)、类型(variety)、速度(velocity)和最重要的价值(value)。传统的软件设计技术已无法满足海量植物图像的存储需求和检索性能需求,单一的文字检索方式亦不能满足植物学领域科技工作者的个性化检索需求。因此,本文提出利用百度Artificial Intelligence(AI)技术、ImageSharp图像分割技术和OpenCV 2.X(CV2)颜色识别技术实现植物图像的智能检索,利用FastDFS技术实现检索系统的动态扩容、负载均衡和植物图像的快速加载,利用Solr搜索引擎技术提高海量植物图像的检索效率,利用Python爬虫技术不断丰富植物图像检索系统的数据量从而实现检索系统的可持续化发展。实验结果表明,通过上述技术能够构建一个面向海量植物图像的智能检索系统。

    传统软件技术设计的植物图像检索系统存在以下问题:

    1)检索方式单一。传统的植物图像检索方式主要以植物拉丁名或中文名进行检索。随着人工智能技术的快速发展,图像识别技术和目标检测技术愈发成熟,基于人工智能技术可以实现根据植物图片、部位和颜色进行检索。

    2)检索系统难以扩容,检索高并发时植物图像加载速度慢。传统的软件技术普遍采用的是单台植物图像文件服务器,当文件服务器的存储空间耗尽时,需要重新部署新的文件服务器,且需要对应用服务器的代码层级进行修改,而检索请求高并发时单台文件服务器亦无法及时处理植物图像的下载请求从而造成植物图像加载比较慢的问题。

    3)检索效率低下。传统关系数据库系统的设计主要面向企业级应用,系统运行在独立的服务器上。随着用户及相应数据量的急剧增加,传统的集中式关系数据库在可扩展性上的弊端日益显现[15],且检索效率低下。如当植物图像的数据量超过1000万时,采用传统的关系型数据库如SQL Server 2014进行模糊检索时,即使设计了索引字段耗时也需要大约116 s。这主要受限于关系型数据库自身的设计机制。

    4)传统的植物图像检索系统一般基于现有的植物图像进行设计,很少考虑数据量增长和可持续化发展等问题。随着网络爬虫技术的发展,利用Python技术对国内外各大专业的植物图像库进行图像数据采集,可以不断丰富植物图像检索系统的图像。

    2.1 系统架构

    本文设计的海量植物图像智能检索系统的系统架构从上往下可以分为4层:应用层、应用支撑层、数据资源层和基础设施层。其中,应用层提供给用户既可以按照传统的植物拉丁名或中文名进行检索图像,也可以根据植物图片、部位、颜色和大小等条件检索植物图像;
    应用支撑层主要包括为了支撑应用层所采取的关键性技术,如植物图像识别技术、植物图像标注服务、植物部位颜色识别技术和植物图像信息抽取技术等;
    数据资源层主要包括植物图像检索系统的底层数据,如Solr数据、FastDFS分布式存储的文件、业务数据库、历史数据和爬虫数据等;
    基础设施层主要包括支撑植物图像检索系统所需要的硬件设备和软件系统。同时,为了保障检索系统的安全稳定运行和监测用户的检索行为,检索系统还建立了一个用户检索行为记录与系统监测体系。具体的植物图像检索系统架构如图1所示。

    2.2 网络结构

    本文设计的海量植物图像智能检索系统由众多服务器组成,其中Web服务器用于部署植物图像检索系统,接受用户在检索客户机发出的检索请求;
    历史数据服务器用于存储现有的植物图像;
    爬虫服务器用于抓取国内外各大专业植物图像库对外免费开放的植物图像;
    数据处理服务器用于处理尚未入库的植物图像数据,处理植物图像时需要调用图像标注服务器提供的标注服务,处理完后图像文件传输到FastDFS分布式文件存储服务器进行保存,并将FastDFS返回的地址信息和其它已处理好的结构化数据保存到数据库服务器;
    Solr服务器集群则通过连接数据库服务器构建Solr底层索引数据,并为Web服务器提供智能检索支持。具体的植物图像检索系统网络结构如图2所示。

    2.3 功能模块

    本文设计的海量植物图像智能检索系统的功能模块包括检索页面和检索结果展示2个部分,具体的植物图像检索系统功能模块如图3所示。

    2.4 业务流程

    用户在植物图像检索客户端发出检索请求后,检索系统首先判断用户是按图片检索还是按文字检索。如果是按图片检索,则调用植物图像识别应用程序接口(Application Programming Interface, API),然后处理接口返回识别信息并根据可信度最高的物种信息去调用Solr集群的API。如果是按文字检索,检索系统先对检索关键词进行初步处理,处理完后根据相关的检索条件去调用Solr集群的API,然后处理返回的结果信息,接着检索系统将处理好的结果信息返回给客户端,从而响应检索请求。客户端浏览器对于返回的文字信息直接显示,对于返回的图像地址信息则根据地址信息请求FastDFS分布式文件存储服务器,然后FastDFS下载图像返回给客户端的浏览器进行显示,从而完成一个检索流程。具体的植物图像检索系统业务流程如图4所示。

    3.1 技术路线

    本文设计的海量植物图像智能检索系统,其构建步骤主要包括植物图像数据抓取、植物图像数据处理、植物图像文件存储、植物图像结构化数据存储、植物图像索引数据存储和植物图像的智能检索等。使用的关键技术包括数据抓取与处理技术、分布式存储技术、搜索引擎技术和智能检索技术等。构建植物图像智能检索系统的具体技术路线如表1所示。

    表1 构建植物图像智能检索系统技术路线

    3.2 植物图像数据抓取与处理

    为了实现植物图像检索系统底层数据的持续增长,本文通过Python网络爬虫技术实现对互联网免费开放的植物图像数据进行抓取。Python是一款优秀的爬虫工具,它通过使用Beautiful Soup、Selenium和XPath这3个组件可以很便捷地实现爬虫技术[16]。植物图像数据抓取的基本原则包括:只抓取植物图像类的专业数据库,确保数据的可靠性和专业性;
    只抓取免费开放的数据,并注明数据的来源且不用于盈利,确保原始植物图像数据的知识产权得到保护;
    采取定期和延时抓取策略,避免对目标数据库造成过大负载,不影响目标数据库的正常运行。

    对抓取的植物图像数据需要经过一系列的处理才能进入植物图像检索系统:需要对开放的图像元数据如种中文名、种拉丁名、作者信息、来源信息、时间信息等进行清洗、格式校正等常规处理;
    计算植物图像文件的Message Digest 5(MD5)值,根据MD5值判断该图像文件是否已存在;
    读取植物图像的特征信息包括拍摄时间、GPS信息、像素、分辨率、相机型号、光圈、曝光时间和焦距等基本图像信息;
    调用图像自动标注服务API对植物部位进行标注;
    通过ImageSharp图像分割技术和CV2颜色识别技术识别植物部位的颜色;
    生成植物图像缩略图;
    将原图和缩略图保存到FastDFS分布式文件系统并获取存储路径;
    将上述处理获得的所有结构化数据保存到数据库,并定期更新Solr集群的索引数据。具体的植物图像数据处理流程如图5所示。

    3.3 植物图像文件存储

    植物图像检索系统在检索请求高并发时,需要从图片服务器加载大量的植物缩略图到客户端。采用传统的单台文件服务器显然无法满足需求,而分布式文件系统能够将数据管理任务均衡地分布到每个存储节点上,达到各司其职和彼此协同的目的[17],如FastDFS,其充分考虑了文件的冗余备份、负载均衡和支持动态扩容等机制,解决了文件的大容量存储和负载均衡等问题[18]。因此本文通过引入在小文件处理表现优秀的FastDFS分布式文件系统来提高植物图像的加载速度。

    当植物图像检索系统客户端发出高并发请求植物图像时,检索系统客户机通过基于虚拟IP(Virtual IP Address, VIP)的植物图像地址请求FastDFS的Client。Client由1主N备的客户机构成,通过Nginx和Keepalived保证Client的高可用性。Client将请求地址发送给Tracker Server。Tracker Server由多台对等跟踪服务器构成,能实现负载均衡的功能。Tracker Server根据请求地址信息寻找一台可用的Storage Server地址和端口返回给Client。Client根据返回的地址和端口信息和Storage Server建立联系。Storage Server根据地址信息查找图像并返回给Client。Client再将图像返回给检索系统客户机。

    由于植物图像在上传到FastDFS前需要经过一系列处理工作,因此在本文构建的植物图像检索系统中,上传图像采用了基于C#开发并部署在植物图像数据处理服务器的UploadClient模块。上传植物图像时,UploadClient首先向Tracker Server发出上传请求。Tracker Server根据负载均衡优先级选择优先级最高的Storage Server并将其地址和端口信息返回给UploadClient。UploadClient根据返回的地址和端口信息与Storage Server建立联系并上传文件。上传完毕Storage Server将文件的存储地址信息返回给UploadClient。UploadClient保存返回的文件地址信息结束上传。植物图像FastDFS分布式文件存储结构如图6所示。

    FastDFS除了在文件下载和上传时提供高可用性、冗余备份和负载均衡外,还支持动态扩容功能。当植物图像的文件数量不断增加时,可通过动态增加Storage Server的Group实现存储扩容。

    3.4 植物图像索引数据存储

    传统的关系型数据库如SQL Server在海量数据的查询尤其是模糊查询方面效率比较低。为此科研人员可通过优化搜索算法[19]或采用非关系型数据库如MongoDB来提升查询效率[20]。工业界常用方法是将数据迁移到集成了数据存储和检索功能的垂直分布的搜索引擎[21],例如Solr[22-23]、Elasticsearch[24-25]。本文研究通过引入Solr集群来实现海量植物图像的结构化数据的极速查询。

    单台Solr服务器在千万级海量数据的模糊搜索时能实时返回检索结果,但在面对亿级海量数据的模糊搜索时仍然有一定的延时。因此为了提高植物图像检索系统的检索效率和可扩展性,本文采用Solr的分布式集群搜索方案,通过使用Zookeeper来管理和协调SolrCloud[26]。Zookeeper由1台Leader服务器和2台Follower服务器构成,它们主要实现配置管理、监控SolrCloud集群状态、接收客户端请求、投票的发起和决议以及向客户端返回结果的功能。SolrCloud可由多台Solr服务器构成,主要用于存储Solr底层的索引结构。一个Collection即是一个完整的索引结构。为了提高检索效率和实现检索请求高并发,通常将一个Collection分成多个Shard分片,并将Shard分片分布式存储于多台Solr服务器。当检索系统的数据量需要扩容时,可以通过增加Solr服务器和Shard分片来实现。

    Solr集群通过配置Zookeeper配置文件目录下的data-config.xml来实现与植物图像结构化数据库的通信。在data-config.xml中可配置如SQL Server、Oracle和MySQL等多种关系型数据库,通常将需要检索的植物图像字段如种拉丁名、种中文名、部位、颜色、图片大小、图片MD5值等字段以及其它必要的字段如图像缩略图的存储路径等添加查询,并通过配置managed-schema来建立上述字段与Solr集群底层索引结构的对应关系。由于Solr集群默认的分词是英文分词器,植物图像检索系统需要满足通过植物的中文名、植物图像的部位和颜色等条件进行检索,因此本文构建的Solr集群还增加了IKAnalyzer中文分词器,并将《中国植物志》(Flora of China, FOC)中的植物物种中文名称和常用的中文检索关键词添加到分词器的扩展词典中。构建好的Solr集群通过API接口形式向植物图像检索系统的Web应用服务器和植物图像数据处理服务器提供数据检索服务。具体的植物图像Solr集群结构如图7所示。

    3.5 植物图像的智能检索

    本文的植物图像检索系统除了提供基于百度植物图像识别API接口[27]实现的根据图片检索植物图像功能外,还能根据植物图像的部位和颜色进行智能检索植物图像。这得益于基于百度EasyDL技术构建的植物图像自动标注服务、ImageSharp图像分割技术和CV2颜色识别技术。植物图像自动标注服务构建流程如图8所示。

    为了提高植物图像自动化标注的效率,需要将训练好的标注模型部署在本地服务器。植物图像自动标注模型部署到本地服务器后,可以对外提供植物图像的部位自动标注服务。数据处理服务器通过调用该服务接口实现对植物图像的部位标注,如叶子、花朵、果实、树干等。同时利用返回的部位标注Mask信息和ImageSharp图像分割技术实现对植物图像的部位进行分割。如图9所示。再通过CV2颜色识别技术识别植物图像部位的颜色,如叶子-绿色、花朵-红色、果实-黄色等,从而实现对植物图像的部位和颜色信息进行采集并保存到关系型数据库中,并用于构建Solr集群的部位和颜色索引信息,从而使植物图像检索系统支持通过植物的部位和颜色进行智能检索。面向海量植物图像的智能检索系统界面设计如图10所示。用户使用该系统可以根据植物的种中文名、种拉丁名、植物图片、图片部位、部位颜色和图片尺寸等属性实现海量植物图像的快速检索。

    通过对植物图像智能检索系统的原型系统进行测试,证实本文采用的技术和方案在提高海量植物图像的检索效率和加载速度,实现植物图像的智能检索和检索系统的可持续化发展等方面是有效的。

    1)在Intel(R) Xeon(R) Silver 4210 32核CPU、64 GB内存和2 TB机械硬盘的服务器环境下,关系型数据库SQL Server 2014对1.2亿条已设置索引的GUID数据进行模糊检索需要约480 s,Solr搜索引擎检索仅需约3.7 s;
    Solr搜索引擎对1.2亿条可分词的数据进行模糊检索仅需不到1 s,表明Solr搜索引擎在海量数据的检索方面比关系型数据库有明显的效率提升。

    2)搭建由2台Client服务器、2台Tracker Server服务器、一个Group中2台Storage Server服务器组成的简易植物图像FastDFS分布式文件存储系统。任意一台Client服务器、Tracker Server服务器和Storage Server服务器关机情况下,检索系统均能正常工作。植物图像下载请求高并发时2台Storage Server比单台Storage Server的下载速率提高了约80%,表明FastDFS分布式文件存储系统能有效提高检索系统的可用性和高并发时植物图像的下载速率。

    3)本文基于百度EasyDL技术构建的植物图像自动标注服务对植物图像的部位标注准确率约为73%,基于ImageSharp图像分割技术和CV2颜色识别技术构建的植物图像部位颜色识别服务对植物图像部位颜色识别准确率约为90%,能有效支撑植物图像检索系统的智能检索。

    4)本文基于Python技术实现的网络爬虫能有效地从目标数据库抓取免费开放的植物图像数据,数据处理模块能有效地对抓取的数据进行处理、入库和建立Solr集群索引,能支持植物图像检索系统的可持续化发展。

    本文研究设计的面向海量植物图像的智能检索系统,采用Solr集群技术有效地提高了海量植物图像的检索效率,使用FastDFS分布式文件存储技术确保植物图像检索系统的高可用性和实现负载均衡,基于百度AI技术、ImageSharp图像分割技术和CV2颜色识别技术实现海量植物图像的智能检索,通过Python网络爬虫技术不断丰富植物图像检索系统的数据,支持植物图像检索系统的可持续化发展。下一步工作,将研究提高植物图像部位标注准确率的方法和技术,并探索更加高效的植物图像部位颜色识别方案。

    猜你喜欢 海量检索服务器 一种傅里叶域海量数据高速谱聚类方法北京航空航天大学学报(2022年8期)2022-08-31海量GNSS数据产品的一站式快速获取方法导航定位学报(2022年2期)2022-04-11CNKI检索模式结合关键词选取在检索中的应用探讨技术与创新管理(2020年5期)2020-10-09瑞典专利数据库的检索技巧科学与财富(2019年27期)2019-10-25海量快递垃圾正在“围城”——“绿色快递”势在必行当代陕西(2019年14期)2019-08-262019年第4-6期便捷检索目录意林(图解作文)(2019年6期)2019-07-162018年全球服务器市场将保持温和增长中国计算机报(2018年12期)2018-10-08英国知识产权局商标数据库信息检索科学与财富(2017年28期)2017-10-14一个图形所蕴含的“海量”巧题中学数学杂志(初中版)(2016年5期)2016-11-01用独立服务器的站长注意了网络与信息(2009年4期)2009-04-26
    相关热词搜索:海量图像面向

    • 名人名言
    • 伤感文章
    • 短文摘抄
    • 散文
    • 亲情
    • 感悟
    • 心灵鸡汤