基于暗光增强的夜间车辆识别系统设计与实现
一、项目概述
针对夜间弱光环境下车辆目标检测存在的照明不均、强光干扰等问题,提出融合光照分量分离技术与多模型增强策略的解决方案。系统包含三个核心模块:
- 强光分离模块(主要处理车灯散射光)
- 多模型暗光增强模块
- 多模型目标检测模块
二、技术路线
1. 强光分离技术
• 采用Retinex理论分解光照分量
• 基于DehazeNet改进的光照估计网络
• 车灯区域自适应阈值分割算法
2. 暗光增强方法
模型类型 | 适用场景 | 特点 |
---|---|---|
LOL_v1 | 默认夜间模式 | 轻量级暗光恢复 |
FiveK | 多光照条件 | 复杂光照场景适应性 |
SMID | 单色图像增强 | 低照度细节提升 |
3. 目标检测架构
• 双阶段检测框架
• 支持Yolov8系列模型
• 动态权重融合机制
三、实验环境配置
硬件要求
• GPU显存≥16GB
• CUDA 11.3及以上版本
软件环境
Python 3.7.12
PyTorch 1.11.0+cu113
TorchVision 0.12.0+cu113
OpenCV 4.6.0
gcc 9.4.0
依赖管理
# 创建虚拟环境(推荐conda)
conda create -n Retinexformer python=3.7
conda activate Retinexformer
# 安装核心依赖
conda install pytorch=1.11 torchvision cudatoolkit=11.3 -c pytorch
pip install -r requirements.txt
# 镜像源配置(可选)
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
四、系统实现
目录结构
├── basicsr # 基础算法模块
├── ClearLightEffects # 光照处理核心代码
│ ├── datasets.py # 数据集处理
│ ├── ENHANCENET.py # 增强网络定义
│ └── utils.py # 工具函数库
├── Enhancement # 增强模型测试
├── input # 测试输入数据
├── object_weights # 目标检测模型库
├── Options # 配置文件
├── runs # 实验结果存储
└── vue-ui # 前端界面
└── src # Vue.js源码
运行流程
- 后端服务启动:
python run.py
- 前端界面访问:
cd vue-ui
npm install
npm run dev
五、关键实验结果
1. 光照分离效果对比
方法 | 车灯区域分离度 | 背景细节保留率 |
---|---|---|
Otsu阈值法 | 76.2% | 68.5% |
DehazeNet | 89.1% | 72.3% |
本文方法 | 94.7% | 85.4% |
2. 暗光增强效果
3. 目标检测精度
数据集 | YOLOv8n准确率 | 本文模型准确率 |
---|---|---|
BDD-Day | 82.1% | 89.3% |
BDD-Night | 67.4% | 83.7% |
六、创新点总结
- 提出基于双分支注意力机制的光照分量分离网络
- 设计模型动态选择策略(光照强度自适应)
- 开发集成式可视化测试平台(支持实时参数调整)
- 建立完整的模型训练-验证-测试流程(包含10种预训练模型)
七、注意事项
- 模型权重文件需从指定链接下载
- 不同环境部署需重新验证依赖兼容性
- 目标检测模型命名规则:
<数据集缩写><光照类型><训练规模><epoch数><微调标识> 示例:bddnight40k20c.pt 表示BDD夜间数据集训练的40k样本、20epoch微调模型
八、拓展方向
- 引入时序信息进行视频增强
- 开发轻量化边缘计算版本
- 探索多模态融合检测策略
- 构建跨场景迁移学习框架
(注:具体实现代码、详细实验数据及模型参数请参照项目仓库)