一个基于深度学习的智能鸟类识别Web应用,支持图片上传识别、照片墙浏览和详细的鸟类信息查看功能。
- 上传识别:支持上传 PNG、JPG、JPEG、GIF 格式的图片进行鸟类识别
- 照片墙选择:从精选的鸟类图片库中选择图片进行识别
- 实时处理:自动进行图像压缩、背景移除、图像增强等预处理
- 准确识别:基于深度学习模型进行鸟类种类预测
- 动态轮播:精美的无缝循环轮播展示
- 智能过滤:自动过滤无效图片,确保展示质量
- 随机采样:每次访问随机展示50张精选鸟类图片
- 交互体验:支持鼠标悬停暂停、点击选择等交互
- 详细信息:展示鸟类的描述、分布等详细信息
- 本地数据:支持本地鸟类数据存储和展示
- 图片展示:高质量的鸟类图片展示
- 版权声明:完整的版权保护和免责声明
- Flask - Python Web框架
- OpenCV - 图像处理
- PIL/Pillow - 图像操作
- pandas - 数据处理
- NumPy - 数值计算
- 深度学习模型 - 鸟类识别核心算法
- HTML5/CSS3 - 现代化UI设计
- JavaScript ES6 - 动态交互效果
- 响应式设计 - 适配各种设备
- CSS动画 - 流畅的视觉效果
- requests - HTTP请求处理
- PyQuery - HTML解析
- JSON - 数据存储格式
- CSV - 数据映射文件
├── app.py # Flask主应用文件
├── image_utils.py # 图像处理工具
├── model_utils.py # 模型预测工具
├── filter_problematic_images.py # 图片验证脚本
├── class_mapping.csv # 鸟类ID和名称映射
├── all_data.csv # 完整数据集信息
├── invalid_images_list.txt # 无效图片黑名单
├── templates/ # HTML模板目录
│ ├── index.html # 主页模板
│ ├── processing.html # 处理页面模板
│ ├── result.html # 结果展示模板
│ └── bird_detail.html # 鸟类详情模板
├── static/ # 静态文件目录
│ └── [鸟类图片数据集]
├── uploads/ # 用户上传文件目录
├── bird_data_local/ # 本地鸟类数据目录
│ └── [鸟类ID]/
│ ├── info.json # 鸟类基本信息
│ ├── description.html # 鸟类描述
│ ├── distribution.html # 鸟类分布
│ └── images/ # 鸟类图片
└── README.md # 项目说明文件
- Python 3.7+
- pip包管理器
- 克隆项目
git clone <your-repository-url>
cd bird-recognition-system
- 安装依赖
pip install flask opencv-python pillow pandas numpy requests pyquery
-
准备数据文件
- 确保
class_mapping.csv
存在(鸟类ID映射文件) - 确保
all_data.csv
存在(数据集信息文件) - 将鸟类图片数据放入
static/
目录
- 确保
-
创建必要目录
mkdir -p uploads bird_data_local
- (可选)生成无效图片列表
python filter_problematic_images.py
python app.py
应用将在 http://localhost
(端口80) 启动
- 访问主页,选择"上传图片"或从照片墙中选择图片
- 系统会自动处理图片并进行识别
- 查看识别结果和置信度
- 主页展示精选鸟类图片的动态轮播
- 鼠标悬停可暂停轮播
- 点击图片名称可查看详细信息
- 在识别结果页或照片墙点击鸟类名称
- 查看详细的鸟类描述和分布信息
- 浏览高质量的鸟类图片
all_data.csv
:包含图片路径、鸟类类别、数据集划分等信息class_mapping.csv
:鸟类数字ID与中文名称的映射关系invalid_images_list.txt
:经过验证的无效图片列表
bird_data_local/
└── [鸟类ID]/
├── info.json # 基本信息
├── description.html # 描述内容
├── distribution.html # 分布信息
└── images/ # 相关图片
└── *.jpg
UPLOAD_FOLDER
:上传文件存储目录ALLOWED_EXTENSIONS
:允许的文件扩展名DATA_FOLDER
:数据集根目录
- 图片自动压缩处理
- 无效图片过滤机制
- 后台异步处理
- 智能缓存策略
- 文件类型验证
- 随机文件名生成
- 输入参数校验
- 错误处理机制
- 版权保护声明
基于测试数据集的性能统计:
- 总测试图片:2,696张
- 有效图片:1,550张 (57.5%)
- 过滤图片:1,146张 (42.5%)
- 支持格式:PNG、JPG、JPEG、GIF
- Fork 项目
- 创建功能分支 (
git checkout -b feature/AmazingFeature
) - 提交改动 (
git commit -m 'Add some AmazingFeature'
) - 推送到分支 (
git push origin feature/AmazingFeature
) - 开启 Pull Request
本项目仅用于学习和研究目的。鸟类详情页面中的内容来源于鸟网(birdnet.cn),版权归原作者所有。如有版权问题,请联系 [email protected]。
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
如有问题或建议,请联系:[email protected]
⭐ 如果这个项目对您有帮助,请给个星标支持!