hjaiejmeriem/Photovoltaic-Cell

GitHub: hjaiejmeriem/Photovoltaic-Cell

一个覆盖光伏项目全生命周期的 AI 驱动平台,集成账单分析、屋顶评估、电池板缺陷检测、电池健康监控和短期发电预测等七大模块。

Stars: 0 | Forks: 0

# Solarys — AI 驱动的太阳能项目平台 ## 概述 本项目是 Esprit School of Engineering 课程作业的一部分。 这是一个**全栈 AI 平台**,允许用户**管理太阳能光伏项目的整个生命周期**——从第一份电费账单到已安装系统的实时监控。Solarys 在一个面向客户的 Web 界面背后协调了**七个专用 AI 模型**,使得任何太阳能公司都能提供个性化报价、验证屋顶适用性、检测缺陷电池板、监控电池健康状况,并预测短期产量下降。 典型的端到端客户旅程如下: 1. **安装前 — 账单分析。** 客户上传其电费账单;视觉语言模型读取每月用电量,然后由一个 Agent 计算推荐的电池板数量、总成本和投资回收期,最后导出带有品牌标识的 PDF 报价单。 2. **安装前 — 屋顶适用性。** U-Net 对航拍照片中的屋顶进行分割,几何布局算法提出切合实际的电池板布置方案,确认屋顶是否真的能容纳步骤 1 中推荐的电池板数量。 3. **安装后 — 电池板检测。** 一个 3 步 pipeline(二元分类器 → 缺陷类型分类器 → GradCAM 定位)扫描任意电池板的 EL(电致发光)图像,并以像素级解释标记损伤。 4. **安装后 — 电池监控。** 多模态 CNN + LSTM 融合模型通过热成像扫描和 25 个运行特征来评估健康状态,告知维护团队何时安排更换。 5. **安装后 — 产量预测。** ResNet18 + GRU 多模态模型使用 12 帧鱼眼天空图像 + 34 个天气/PV 特征来提前 15 分钟预测 PV 爬坡事件,使电池和电网备用电源能在云层到来之前做出反应。 6. **报告。** 所有五个模块的输出汇总到一个单一的客户档案中——“Dupont 家庭”演示场景将在一个页面中展示整个流程。 ## 功能 - **账单分析。** 从电费账单中提取每月用电量的 OCR 式功能 + 太阳能 Agent(电池板数量、总成本、投资回报率、25 年节省费用)+ 带有品牌标识的 PDF 报价单下载。 - **屋顶太阳能潜力。** 对航拍/无人机图像进行 U-Net 分割,几何电池板布局算法,kWp 容量测算,以及年发电量估算——针对住宅规模进行了校准。 - **电池板损伤检测。** 三阶段 AI pipeline,将电池板分类为健康或受损,识别缺陷类型(烧毁电池片、裂纹、栅线、短路、汇流条、错位),并使用热力图和边界框高亮显示受损区域。 - **电池健康监控。** 热成像图 (ThermalCNN) 和 25 个循环特征 (BatteryLSTM) 的多模态融合,采用跨模态注意力机制,生成 [0, 1] 范围内的标准健康状态指标及维护建议。 - **太阳能产量预测。** 实时“天空摄像头”模拟,摄取 12 帧鱼眼图像 + 天气 CSV + PV 历史 CSV,预测未来 15 分钟的 PV 爬坡百分比,并使用训练中得到的 F1 最优阈值标记突发爬坡事件。 - **客户档案。** 单页面并行调用所有五个模块,将结果综合成连贯的叙述(安装前可行性 + 安装后监控),并附带可执行的维护清单。 - **一键演示样本。** 每个页面都有一个精心挑选的逼真样本库,可实时运行真实模型,因此审阅者无需上传自己的文件即可查看完整的 pipeline。 ## 技术栈 ### 前端 - **React 18** + **Vite** (开发服务器, HMR) - **React Router v6** 用于客户端导航 - **Tailwind CSS** 用于设计令牌、布局和主题 - **Recharts** 用于产量轨迹和 25 年节省费用图表 - **Lucide React** 图标 ### 后端 - **Python 3.12** + **FastAPI** + **Uvicorn** (单一 ASGI 应用暴露 5 个路由器) - **TensorFlow 2.20** 用于屋顶 U-Net (Keras 模型) - **PyTorch 2.2** + **torchvision** + **timm** 用于电池板检测 (MobileNetV3, EfficientNet, Swin-T) 和多模态融合模型 (电池 SoH 和太阳能爬坡) - **scikit-learn** + **joblib** 用于特征缩放,**scipy** 用于信号处理 - **OpenCV** + **Pillow** + **tifffile** 用于图像 I/O 和渲染 - **pandas** 用于 PV 历史的表格特征工程 - **ReportLab** 用于生成面向客户的 PDF 报价单 ### 其他工具 - **GitHub** 用于版本控制 - **HuggingFace Hub** (用于账单 OCR 的 Qwen2.5-VL 微调模型 — `chtibawi/qwen-bill-model`) - **Kaggle Datasets** (屋顶语义分割, ELPV 太阳能电池, SKIPPD 天空/PV) - **NASA POWER** 气象数据 (用于爬坡模型的周期时间和辐照度特征) ## 入门指南 ### 前置条件 - **Node.js 18+** 和 **npm** (前端) - **Python 3.12** (后端) - 现代浏览器 (Chrome / Firefox / Edge) ### 运行后端 ``` cd backend python -m venv venv source venv/Scripts/activate # Windows Git-Bash (use venv\Scripts\activate.bat in cmd) pip install -r requirements.txt uvicorn app.main:app --port 8000 ``` FastAPI 应用现已在 `http://localhost:8000` 上运行(交互式文档位于 `/docs`)。 ### 运行前端 在第二个终端中: ``` npm install npm run dev ``` 打开 `http://localhost:5173` 并从侧边栏点击七个 AI 模块中的任意一个。 ### 可选:重新生成屋顶演示样本 ``` cd backend python scripts/pick_rooftop_samples.py --top 10 # show top candidates python scripts/pick_rooftop_samples.py --copy 5 # write top 5 to samples/ ``` ### 可选:调整屋顶校准 屋顶服务应用了一个校准系数(默认为 `0.40`),将 Kaggle 切片级别的预测调整到典型的住宅范围。可以通过环境变量覆盖: ``` ROOFTOP_CALIBRATION=0.35 uvicorn app.main:app --port 8000 ``` ## 项目结构 ``` Solarys_platform/ ├── backend/ │ ├── app/ │ │ ├── main.py # FastAPI entry point — registers 5 routers │ │ ├── config.py # paths to bundled models/samples │ │ ├── routers/ # bill, rooftop, panel, battery, ramp │ │ └── services/ # solar agent, U-Net, fusion model, etc. │ ├── scripts/ │ │ ├── generate_ramp_samples.py # builds bundled demo samples for module 07 │ │ └── pick_rooftop_samples.py # auto-curates rooftop samples from the dataset │ └── requirements.txt ├── src/ # React frontend │ ├── pages/ # 7 AI module pages + Dashboard + Reports │ ├── components/ # Sidebar, UploadZone, AlertBanner, etc. │ └── services/api.js # backend API client ├── models_input/ # all 7 trained models + their sample data └── README.md ``` ## 演示场景 平台围绕着一个连贯的客户故事进行设计——**位于巴黎玫瑰街 12 号的 Dupont 家庭**。他们的账单需要 11 块电池板(21,800 欧元,12.5 年回收期);屋顶分析确认可以容纳 17 块电池板;安装三年后,电池板检测发现一个烧毁的电池片,电池容量为 80%(需密切监控),而今天下午的云层将导致产量下降 3.2 个百分点。所有这些信息均汇总在**客户档案**页面(“报告”选项卡)中。 ## 致谢 本项目在 Esprit School of Engineering 的监督下创建。
标签:AI平台, CNN, GradCAM, GRU, LSTM, ResNet18, U-Net, 二分类与多分类, 人工智能, 光伏生命周期管理, 光伏系统, 光伏组件选型, 光伏面板布局, 凭据扫描, 可持续能源, 图像分割, 多模态模型, 天气特征, 太阳能, 太阳能预测, 屋顶分割, 工程教育课程设计, 故障定位, 智慧能源, 深度学习, 状态健康监测, 用户模式Hook绕过, 电池健康估算, 电费分析, 目标检测, 绿色能源, 缺陷检测, 能源管理, 计算机视觉, 逆向工具, 预测性维护