# plants_and_animals **Repository Path**: okiqiiii/plants_and_animals ## Basic Information - **Project Name**: plants_and_animals - **Description**: 2024学年数据采集与融合技术大作业——博物识植 团队:从你的全世界爬过 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-12-13 - **Last Updated**: 2024-12-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 一、项目与团队介绍 ## 项目 **2024学年数据采集与融合技术大作业——博物识植** **项目logo** ## 团队 **团队名称:从你的全世界爬过** **团队logo** # 二、系统总体技术概述 ## 1. 系统架构概述 系统分为前端、后端、数据库、AI接口、爬虫模块、部署等多个层级。前后端之间通过RESTful API进行通信。具体分为以下几个部分: * 前端:使用HTML、CSS和JavaScript进行界面设计,实现用户与系统的交互。用户可以上传文本、图片等文件。 * 后端:使用Python语言和Flask框架实现,处理图像识别、查询请求、调用AI接口和爬虫数据存储等业务逻辑。 * 数据库:存储动植物物种的详细信息,包括图像、分布、特点等。 * 图像识别与AI接口:利用图像识别模型或调用第三方AI服务(如百度AI、Google Vision等)识别图片并返回结果。 * 爬虫:提前爬取动植物相关网站数据,补充物种数据库。使用Selenium框架进行实时图片爬取。 * 部署平台:使用华为云平台部署系统,保证系统的高可用和稳定性。 ## 2. 各模块技术实现 ### 2.1 图像识别模块 * 目标:用户上传图片,系统通过图像识别技术返回物种名称。 * 技术方案: 使用深度学习模型:基于改进SE-MnasNet骨干网络YOLOv5和卷积神经网络cnn opencv进行图像分类和识别。 调用第三方云服务百度智能云的动植物识别API提供快速而准确的图像识别。 * 流程: 用户上传图片,前端将图片通过API发送至后端。 后端调用模型或AI图像识别API分析图片,获取可能的物种标签。 后端将物种名称返回给前端,前端展示识别结果。 ### 2.2 物种信息查询功能 * 目标:根据识别后的物种名称或用户输入的名称,返回该物种的详细信息。 * 技术方案: 利用selenium技术和scrapy框架爬取信息网站所有物种信息(如外形特点生长环境、分布区域等)存储在csv表导入数据库并定期更新。 利用查询语句在数据库中进行查找并返回详细信息。 若数据库中没有相关信息,则调用百度智能云的千帆大模型识别物种名称,查询物种相关信息。 * 流程: 后端识别出物种名称时,系统首先查询数据库,若没有该物种的信息,再调用AI接口获取。 ### 2.3 相似图片展示 * 目标:根据用户上传的图片,返回物种的相似图片,帮助用户直观了解物种。 * 技术方案: 运用selenium爬虫技术实时爬取百度识图返回的相似图片 * 流程: 后端接收前端传入的图片后,将图片作为输入文件传入百度识图网站实时爬取相似图片,在系统返回物种详细信息时,将图片URL一并返回。 ### 2.4 部署与部署架构 * 目标:将整个系统部署到华为云服务器上,让非本地用户可以访问。 * 技术方案: 使用华为云ECS(Elastic Cloud Server)部署后端服务。 使用华为云OBS 存储图片等静态资源。 使用RDS(Relational Database Service)存储物种信息数据库。 前端可以使用 Nginx 进行负载均衡和反向代理 * 流程: 前后端文件上传部署完成后即可实现非本地用户的访问。