1.一种基于多模块融合的室内外场景识别方法,包括以下步骤:步骤1:计算光强度模块、温度模块、湿度模块以及地磁模块的室内置信度,具体包括:
11)光强度模块室内置信度计算;根据当前地区的经度计算出对应的时区,每个时区之间相差的经度是15度,计算公式如下:其中Z为当前时区,l为当前经度;
根据当地经度与当地所属时区经度的差计算当地的正午时间N,计算公式如下:N=12‑(l/15‑Z) (2‑2)判断当前日期处于这四个节气中的哪两个节气之间,然后根据一定的权重计算出当前日期的太阳入射角β,计算公式如下:其中x为当前日期,d1和d2为两个节气的日期,α和γ为两个节气的太阳入射角度,day为计算两个日期之间相差天数的函数;
计算白天时间D,计算公式如下:
其中β为太阳入射角,q为当前地点的维度;
利用正午时间平分白天时间得出日出时间R和日落时间S,计算公式如下:R=N‑D/2 (2‑5)
S=N+D/2 (2‑6)
最后,根据光强度L以及光强阈值LT计算出光强度的室内置信度CL,计算公式如下:其中,LT1=2000‑10×H,H为当前湿度,LT2=200;
12)温度模块室内置信度计算;根据温度序列[T1,T2,…,Tn],n为温度序列的长度,计算温度序列的平均值AT,计算公式如下:根据计算出的温度序列的平均值AT和当前温度t,计算温度序列的方差:计算公式如下:其中VT表示温度序列的方差;
根据温度序列平均值AT和温度序列的方差VT,计算出基于温度的室内置信度CT,计算公式如下:
其中σ表示阈值,σ0设置为4,σ1设置为0.03;
13)湿度模块室内置信度计算;根据湿度序列[H1,H2,…,Hp],p为湿度序列的长度,计算湿度序列的平均值AH,计算公式如下:根据计算出的湿度序列的平均值AH和当前湿度h,计算湿度序列的方差:计算公式如下:其中VH表示湿度序列的方差;
根据湿度序列平均值AH和湿度序列的方差VH,计算出基于湿度的室内置信度CH,计算公式如下:
其中σ表示阈值,σ2设置为5,σ3设置为1;
14)地磁模块室内置信度计算;根据地磁强度序列[M1,M2,…,Mq],q为地磁强度序列的长度,计算地磁方差序列[V1,V2,…,Vm],m为地磁强度方差的长度,其计算公式如(2‑14)所示;
其中Vu为地磁方差序列中第u个地磁方差的值,u的取值范围从1到m,k为计算地磁方差的滑动窗口大小,其值为 即为20, 为滑动窗口下的地磁强度平均值,其计算公式如(2‑15)所示;
在计算出地磁方差序列[V1,V2,…,Vm]后,计算序列中最大的地磁方差Vmax,其计算公式如(2‑16)所示;
Vmax=max([V1,V2,...,Vm]) (2‑16)其中max为计算地磁方差序列中最大值的函数;
在计算出最大的地磁方差Vmax后,比较Vmax与Vt的大小,Vt设置为14;如果Vmax大于Vt,则判定当前场景高置信度为室内,否则判定当前场景低置信度为室外,基于地磁的室内置信度CM可由公式(2‑17)计算得出;
步骤2:根据计算出的各个模块的室内置信度,判断室内外场景,具体包括:
21)在得到温度模块的室内置信度CT、光模块的室内置信度CL、湿度模块的室内置信度CH和地磁模块的室内置信度CM后,根据各个模块的置信度进行投票,计算判断为室内的票数counti和判断为室外的票数counto的值,其计算公式如(2‑18)和(2‑19)所示;
counti=class(CL)+class(CT)+class(CH)+class(CM) (2‑18)counto=class(1‑CL)+class(1‑CT)+class(1‑CH)+class(1‑CM)(2‑19)
其中class函数为判断当前模块的置信度是否大于阈值threshold,threshold设置为
0.5,如果大于阈值,则结果为1,否则为0,其公式如(2‑20)所示;
22)在计算counti和counto的值后,比较counti和counto的大小;如果counti大于counto,判断当前场景为室内;如果counti小于counto,判断当前场景为室外;如果counti等于counto,则计算室内多模块融合的室内置信度CF的值,其计算公式如(2‑21)所示;
在计算出多模块融合的室内置信度CF的值后,比较CF与threshold的大小,如果CF大于threshold,判断当前场景为室内;如果CF小于threshold,判断当前场景为室外;如果CF等于threshold,则无法判断当前场景的类别。
2.如权利要求1所述的一种基于多模块融合的室内外场景识别方法,其特征在于:n设置为20;m设置为5。