基于Python的植物标本采集实训平台
2021-04-05黄蓉美宋永生
黄蓉美 宋永生
摘 要:在植物标本采集实训时,学生需要鉴别植物的种类并记录其生长环境,很多学生由于经验不足无法准确判断植物的种类,位置信息采集不便,且采集实物标本容易破坏生态环境。利用Python开发了植物标本采集实训平台,采集者只需上传植物的图像,借助百度AI自动识别出植物的种类,利用HTML5实现位置信息的获取,通过图像及短视频记录植物及其生长环境,通过地图展示标本的分布情况,为野外植物标本采集实训提供了便利。
关键词:标本采集;种类;百度AI;HTML5;短视频
中图分类号:TP311;TP181 文献标识码:A 文章编号:2096-4706(2021)17-0035-03
Abstract: During the training of plant specimen collection, students need to identify the species of plants and record their growth environment. Many students cannot accurately judge the species of plants due to lack of experience, the collection of location information is inconvenient, and the collection of physical specimens is easy to damage the ecological environment. A plant specimen collection training platform is developed using Python. Collectors only need to upload plant images, plant species is identified automatically with the help of Baidu AI, obtain location information with HTML5, record plants and their growth environment through images and short videos, and display the distribution of specimens through maps, which provides convenience for field plant specimen collection training.
Keywords: specimen collection; species; Baidu AI; HTML5; short video
0 引 言
标本采集实训是植物学教学的重要内容,学生可以将所学的植物学知识应用于实践。教师带领学生到野外采集标本,让学生感受形形色色的植物世界,可以培养学生对大自然及植物学的热爱[1]。学生人数往往较多,为了减少对植物及其生长环境的破坏,学生在实训过程中可采集植物的数字标本,即采集植物及其生长环境的图像、视频及位置等信息。采集标本时,首先需要鉴别植物的种类,很多学生由于经验不足,无法准确判断植物的种类。野外实训过程中,学生可能无法及时得到教师的帮助,相关鉴别资料也查询困难[2]。学生无法及时得知自己对植物种类的判断是否准确,这将影响其学习的积极性及实习的进度。标本位置信息的获取往往需要借助于专门的设备,这些设备携带相对麻烦,且数量一般有限,不利于野外实训的开展。近年来,随着4G及5G通信技术的发展,智能手机大量普及,这些手机几乎都具有拍照、录制视频及定位功能。
Python因简洁易用,开发效率高,深受人们的喜爱。近年来深度学习等人工智能技术的兴起,更是让Python的应用遍地开花,目前主流深度学习框架Pytorch、TensorFlow、PaddlePaddle、MindSpore等均提供了Python开发接口。可利用大量不同种类的植物图像数据训练深度学习网络,当训练结果满足要求后,就可以利用训练好的深度学习网络进行植物识别。一些企业将训练好的深度学习网络以RestAPI开放,用户可通过调用这些接口实现植物的自动识别,免去了昂贵的硬件成本及复杂的训练过程。HTML5是HTML的最新修订版,它由不同的技术构成,符合网络发展的新要求,可以更加便捷地获取设备的位置信息及处理视频等内容。
本文尝试用Python开发植物标本采集实训平台,调用百度AI开放平台的植物识别接口实现植物种类的自动识别,通过HTML5获取手机定位信息作为标本采集点的位置,利用图像及短视频记录植物及其生长环境,利用地图展示标本的空间分布情况。
1 平台总体架构
植物标本采集实训平台分为植物识别、标本采集、标本查询与展示、实训计划、安全教育、用户管理六个模块。植物识别模块可帮助学生鉴别植物的种类,学生根据需要决定是否采集该植物的数字标本。标本采集模块包含植物及生长环境的照片及短视频上传、采集位置及采集时间等信息的获取。标本查询与展示模块可根据采集日期、群组、采集人、植物名称等条件进行查询,查询结果可用地图或列表展示,列表中可查看标本的图像、视频、位置等详细信息。教师可以通过实训平台发布实训计划,对学生进行安全教育。平台的用户包括学生和教师,教师可将学生划入相应的实训群组。平台采用Python开发,通过百度AI开放平台的植物识别接口实现植物识别,利用HTML5获取標本采集点的位置信息,标本空间分布信息采用百度地图进行展示,Web开发框架选用Flask,客户端开发框架选用Bootstrap,数据库选用MySQL,数据操作选用SQLAlchemy,实训计划及安全教育内容利用CKEditor发布,集成开发环境选用PyCharm 2018。系统架构如图1所示。
2 相关技术
2.1 Web开发框架
利用成熟的Web开发框架可以实现实训平台的快速开发。Flask是一个利用Python语言开发的微型Web 框架,它基于Werkzeug WSGI工具箱及Jinja2模板引擎构建。Jinja2是Python中一个广泛使用的模板引擎,可以快速渲染HTML、XML等文件。Flask的内核非常简单,但Flask具有非常强大的扩展库,开发者可以根据需要选择合适的扩展来实现相应的功能,开发出功能强大的Web应用系统。
Bootstrap是一个用于快速开发Web应用程序的前端开源框架,它基于HTML、CSS和JavaScript。Bootstrap支持Chrome、IE、Firefox等主流Web浏览器,其响应式CSS可以自动适配不同的终端设备。Bootstrap具有功能强大的内置组件,开发者可以根据需要对组件进行定制。在Flask中使用Bootstrap框架最便捷的方案就是使用Flask-Bootstrap扩展。
2.2 植物种类鉴别
自然界中植物的种类繁多,很多学生由于经验不足,时常无法准确鉴别植物的种类。野外实训中,学生由于所处的位置相对分散,无法及时得到教师的指导,植物种类鉴别参考书籍资料的获取也较为困难。学生无法及时得知自己对植物种类的判断是否准确,从而影响其学习兴趣及实训进度。本文利用百度AI开放平台上的植物识别接口,学生只需拍摄并上传一张可正常解码且长宽比合适的植物图片,就可以识别出植物的名称,可识别超过两万种常见植物和近八千种花卉[3]。实训平台可以帮助学生及时得知自己对植物种类的判断是否准确,有助于增强学生的学习兴趣。
2.3 位置信息的获取
经度、纬度等影响植物的分布。植物标本采集过程中,通常需要获取采集点的经度、纬度等位置信息。以往需要借助专门的设备采集位置信息,这些设备往往携带不便且数量有限。目前绝大部分智能手机均支持定位功能,只要开启了手机的北斗或GPS等定位功能,且赋予了浏览器获取位置信息的权限,HTML5页面就可以获取位置信息。
Geolocation是HTML5中一个综合应用当前各种定位手段获取浏览器所在设备地理位置信息的接口。由于位置信息涉及用户隐私,除非用户同意,否则位置信息不可用。当HTML5页面利用Geolocation尝试获取地理位置信息时,会请求用户允许地理位置访问权限。当用户开启手机定位功能,并授权浏览器获取位置信息后,就可以利用Geolocation的getCurrentPosition方法[4]获取设备当前所处的经度、纬度等位置信息。Chrome、Firefox、IE等浏览器均支持位置信息的获取。
2.4 地图展示
植物标本采集点空间分布情况通过地图展示较为直观,教师按照采集日期、群组、采集人、植物名称等查询植物标本的位置信息,查询结果可以列表或者地图的方式展示,地图展示较为直观。本文通过调用百度地图的JavaScript应用程序接口实现植物标本空间分布情况的可视化[5],该接口支持地图展示、地图控件及覆盖物等,支持HTTP和HTTPS。教师可以非常方便地在PC或移动端浏览器中查看植物标本空间分布地图。
2.5 短视频发布
学生通过手机拍摄照片及短视频记录植物及其生长环境,手机拍摄的照片一般为jpg格式,视频一般为mp4格式。学生将拍摄好的照片及短视频上传实训平台。实训平台通过HTML5中的标签展示照片,通过
2.6 富文本编辑器
教师在实训前需要制定详尽的实训计划,包括实训内容、实训目标及实训路线等,以便学生提前做好准备。外出实训的安全教育至关重要,教师需要充分考虑可能存在的风险,对学生进行必要的安全教育。教师可以借助富文本编辑器将实训计划、安全教育等内容在实训平台上以网页发布。Web系统中常采用富文本编辑器发布信息。富文本编辑器又叫所见即所得编辑器,提供了类似Word的编辑功能,常用的富文本编辑器有CKEditor、TinyMCE、UEditor及dhtmlxEditor等。本文选用CKEditor,为了便于在网页中嵌入视频,需要借助于CKEditor的视频插件HTML5-Video。教师可以非常方便地在网页中嵌入文字、图片及视频等内容,将实训计划、安全教育等内容在实训平台上以网页发布,以便学生随时观看和学习。
3 实验分析
本文测试服务器的配置为8核CPU,32 GB内存,1 TB SSD磁盘,500 Mbps带宽,操作系统选用CentOS7.5(64位),安装MySQL5.6、Python3.5、Pip9.0、Flask1.0、Flask-Bootstrap3.3、Flask-SQLAlchemy2.0、CKEditor4.16、HTML5-Video1.2、数据库驱动等,采用Gunicorn 19.8作为wsgi容器来部署Flask程序,Web服务器选用Nginx1.12。由于位置信息牵涉隐私,生产环境中需要为实训平台配置域名和SSL证书,发布为HTTPS。
采集标本时测试手机选用Redmi 10X 5G,浏览器选用小米浏览器V15.4,在应用权限管理中授予该浏览器读取位置信息的权限。采集植物标本时将手机定位功能打开,浏览器就可以獲取位置信息。学生可以通过实训平台进行植物名称的鉴定,如图2所示。采集植物的数字标本时,平台自动获取经纬度、采集时间、采集人等信息,学生只需将该植物相关的图像及短视频上传,如图3所示。采集好的植物数字标本可立即在实训平台上展示,教师可以对这些数字标本进行点评,数字标本还可作为对学生实训情况的考核依据。
教师需要提前制定好实训计划,包括安排实训内容、实训目标及实训路线,以便学生早做准备。安全教育至关重要,教师需要在提前对学生进行安全教育,充分估计实训过程中可能存在的危险,做好应对措施。教师可以将实训计划、安全教育内容等通过实训平台上的富文本编辑器排版发布,可以非常方便地插入文字、图片及视频等,以便学生随时观看和学习。为了便于教师及时掌握学生的实训情况,教师在实训平台上可以按照采集日期、群组、采集人、植物名称等条件查询数字标本,查询结果分为列表及地图两种展示方式,通过地图展示植物数字标本的空间分布信息更为直观,如图4所示。
4 结 论
本文利用Python开发了植物标本采集实训平台,学生可以及时得知自己对植物种类的鉴定是否准确,有助于提高学生学习的积极性。学生利用实训平台以图像及短视频等记录植物及其生长环境,自动获取标本的采集位置、采集时间等信息,不仅可以快速便捷的采集植物的数字标本,锻炼了学生标本采集的能力,同时也保护了植物及生态环境。外出实训前,教师通过实训平台以网页的形式发布实训计划和安全教育内容,以便学生提前做好准备,并可以在实训过程中随时查看。利用百度地图展示了标本采集点的空间分布情况,教师可以及时全面的掌握学生的实训动态。学生在实训过程中采集的植物数字标本不仅可以丰富植物学的课堂教学,还有助于在植物学的研究。在今后的研究中,可以着眼于数字标本馆的建设与研究。
参考文献:
[1] 肖方,林峻,李迪強.野生动植物标本制作:第2版 [M].北京:科学出版社,2014.
[2] 潘建斌,骆爽,张立勋,等.智能手机在生物学野外实习中的应用 [J].高等理科教育,2016(5):93-97+92.
[3] 百度AI开放平台.植物识别 [EB/OL].[2021-02-06].https://ai.baidu.com/tech/imagerecognition/plant.
[4] 陈桂霞.解析使用Geolocation API获取地理位置信息 [J].信息技术与信息化,2019(11):220-223.
[5] 百度AI开放平. Javascript API [EB/OL].[2021-02-06].https://lbsyun.baidu.com/index.php?title=jspopular3.0.
作者简介:黄蓉美(1986—),女,汉族,江苏南通人,硕士,研究方向:智慧博物馆及生物科普教育。