基于DS证据理论的火灾探测多传感器信息融合MATLAB实现
项目介绍
本项目是针对建筑火灾探测场景设计的智能信息融合系统。在复杂的室内环境中,单一的火灾传感器(如仅依靠烟雾报警)容易受到灰尘、水蒸气或器件故障的干扰,从而引发误报。本项目基于Dempster-Shafer(DS)证据理论,将烟雾浓度、温度变化率以及一氧化碳(CO)浓度三个维度的传感器数据进行深度融合,通过处理不确定性信息,显著提升火灾判定的准确性和系统的鲁棒度。
功能特性
- 多源信息互补:综合考虑物理、化学等多种火灾特征参数,弥补单传感器的局限性。
- 鲁棒性验证:系统内置了传感器故障模拟场景,验证在某一传感器提供错误干扰数据的情况下,系统依然能通过其他传感器证据推导出正确结论。
- 不确定性处理:识别框架中专门设立了不确定项,能够量化系统对当前环境状态的把握程度。
- 动态可视化:程序能够自动生成各阶段证据分布图及最终决策比例图,直观展示融合前后的数据变化。
使用方法
- 环境准备:确保计算机已安装MATLAB(建议2016b及以上版本)。
- 运行程序:在MATLAB命令行窗口中运行主程序脚本。
- 结果观察:程序将依次分析正常环境、火灾发生、传感器干扰三个预设场景,并在命令行输出每个场景的详细融合数值(冲突因子、Mass分配)。
- 图表交互:程序会弹出三组图形窗口,通过柱状图对比原始证据,通过饼图查看最终决策分布。
系统要求
- 软件环境:MATLAB R2016b 或更高版本。
- 硬件要求:标准配置办公电脑即可运行。
核心实现逻辑
程序按照传感器数据采集、证据建模、冲突处理、决策评估的标准化流程进行设计:
- 识别框架构建:
系统设立了完备的火灾辨识框架,包含三个基本元素:火灾、非火灾以及不确定状态。
- 传感器数据模拟与场景设置:
程序预设了三种典型的实际工况:
- 正常环境:三个传感器监控数值均处于低位。
- 火灾发生:烟雾、温度、气体浓度同步上升。
- 传感器干扰/故障:模拟温度传感器受局部热源干扰骤升,而烟雾和气体指标正常的情况。
- 基本概率赋值(Mass函数)生成:
程序为每种传感器设计了独立的数学模型。根据预设的低阈值和高阈值,将原始观测数值转化为对识别框架中各元素的信任程度,即Mass函数。
- 当数据低于低阈值时,赋予非火灾较高的概率分布。
- 当数据高于高阈值时,赋予火灾较高的概率分布。
- 当数据处于中间地带时,逐步增加不确定项的权重。
- 证据合成与迭代:
采用Dempster组合规则实现多级融合。首先将烟雾与温度的Mass函数进行合并,得到中间证据;随后将中间证据再与二氧化碳传感器的Mass函数进行二次合成。该过程不仅强化了相互支持的证据,还能有效消解局部相互冲突的信息。
- 冲突检测与归一化:
在融合过程中,程序会自动计算冲突因子K。该数值反映了不同传感器之间意见的分歧程度。通过1/(1-K)的归一化处理,将有效的支持度重新分配到识别框架中。
关键函数与算法说明分析
针对不同物理量(烟雾、温度、CO)分别编写了BPA计算逻辑。这些函数通过三段式的条件判断,实现了从连续的物理量到离散的信度空间的映射,这是后续DS合成的基础。
这是整个项目的算法核心。函数严格执行Dempster组合公式:
- 计算冲突程度:通过计算不同证据源之间的空集交集之和得到冲突因子K。
- 计算合并概率:通过交叉相乘并相加具有相同含义的元素(如火灾∩火灾、火灾∩不确定等)。
- 归一化:消除冲突部分,确保最终所有元素的Mass之和等于1。
基于融合后的Mass分配,程序执行最终的预警决策。判定逻辑不仅查验最大概率项,还设定了严格的约束条件:
- 必须满足最大概率项具有明显的领先优势(优于不确定项达到一定阈值)。
- 对于确认火灾的情况,设置了极高的置信度门槛。
- 如果各方证据严重不一或不确定性过高,则输出“状态不明,建议人工核查”。
通过MATLAB的绘图功能,程序将不可见的数学推导转化为直观的图表。左侧柱状图展示了融合前各路传感器的原始意见,右侧饼图展示了通过DS理论博弈后的最终共识,清晰直观地体现了信息融合在降低误报方面的作用。