# AnimalFound **Repository Path**: hurricane672/animal-found ## Basic Information - **Project Name**: AnimalFound - **Description**: Animal found! - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-06-27 - **Last Updated**: 2022-07-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AnimalFound ## 开发环境 Python 3.8-3.10 ```shell pip install -r requirements.txt # 安装依赖包 pipreqs . --encoding=utf8 --force # 生成requirements.txt ``` 根目录下的train\_test\_set文件夹下是训练和测试数据集,影响上传下载速度,故在gitignore中被忽略,需自行拷贝数据集到相应文件夹中。 ## 概述 本项目分为前端、后端和核心功能三块。 ### 前端 #### index.html 查询框:输入关键词(这个好像比较难实现,可以列出支持的关键词给用户进行选择) 两个上传图片的按钮:单主体图片和多主体图片,上传图片交由后端处理 图片浏览:按类别展示图片,每个类别展示几张,动态调整数量 #### show.html 展示结果,包括上传的图片、标注后的图片、相似的图片(单主体) 后端传回data{'originalPath':(str)上传文件的路径,'markedPath':(str)被标识后的图片或视频的路径(多主体或视频,单主体为空串),'subject':(str)单主体或多主体或视频,'similarPicturePaths':(list)相似图片的路径列表,'category':(str)类别(仅单主体,多主体或视频为空串),'confidence':(float)置信度(仅单主体,多主体或视频为0)} #### search.html 展示关键词搜索的结果,动态调整数量 后端传回data{'paths':(list)和关键词相关的图片的路径列表,'keywords':(list)关键词列表} ### 后端 上传的图片将被暂时存放在`/temp`文件夹中,命名格式:MD5(原图片名+当前时间戳+2位随机数) #### 单主体图片 1. 对图片调用identify.main()进行分类,返回标注好的图片路径和种类 2. 对图片调用classify.main()进行归类,返回与之相似度最高的数张图片的路径 #### 多主体图片 1. 对每个主体调用identify.main()进行分类,返回标注好的图片路径和种类 #### 关键词检索 1. 对输入的关键词进行检索,返回相应的图片路径 ### 核心功能 #### monoidentify.py 用于识别传入图片的种类,产生的新图片存在/temp目录下 调用:`identify.main("./temp/*.jpg")` 返回:`(list)[(str)category,(float)confidence]` #### multidentify.py 用于识别传入图片的种类,产生的新图片存在/temp目录下 调用:`identify.main("./temp/*.jpg")` 返回:`(str)path_to_marked_pic` #### classify.py 用于返回与传入图片相似的图片,仅单主体时使用 调用:`classify.main("./temp/*.jpg",(str)category)` 返回:`(list)[(str)path_to_similar_pic_1,(str)path_to_similar_pic_2,...]` #### inquire.py 用于返回与传入关键词相符的图片 调用:`inquire.main((list)keywords)` 返回:`(list)[(str)path_to_pic_1,(str)path_to_pic_2,...]`