赞
踩
在深度学习的无损检测中,常常需要区分正常域与缺陷域,然而直接通过某帧的温度图查看会损失大量的时序数据。常用方法为偏度解决。但偏度图存高度压缩,损失了部分信息。因此,可以将时序数据转为二维图像,然后对二维图像进行分类用以识别当前像素点是否存在缺陷。
小波变换可将时序数据转换为频域表示,从而提取其中的频率信息。可以使用小波变换将时序数据转换为图像形式,其中横轴表示时间,纵轴表示频率,并使用颜色来表示幅度。
将时序数据转换为二维小波图像和格拉姆角场图像两者有一些区别,包括:
转换方法:二维小波图像使用小波变换方法,将时序数据进行频域与空域双向变换,从而得到一个二维图像。而格拉姆角场图像则是使用傅里叶变换,将时序数据转换为频域中的二维图像。
表示方式:二维小波图像将时序数据中的细节和特征信息以不同频率和空间尺度表示在图像中,通常使用色彩或灰度来呈现。而格拉姆角场图像是将频谱信息表示为频率和时间的二维图像,通常使用热力色图或颜色映射来展示。
分辨率:二维小波图像可以提供更高的空间分辨率和频率分辨率,可以更精细地表示数据中的细节。而格拉姆角场图像在频谱和时域上会有一定的折衷,在高频率和高时间分辨率下可能有限制。
适用范围:二维小波图像适用于对时序数据中的细节和局部特征进行分析,常用于图像处理领域、信号分析以及特征提取等。而格拉姆角场图像适用于频谱分析和时频分析,特别适合分析信号或数据的频率特征和频率的变化。
综上所述,二维小波图像和格拉米角场图像在转换方法、表示方式、分辨率和适用范围等方面存在一些差异,具体选择哪种方法取决于应用场景和需求。
生成的时序数据:
生成的小波变换处理后的二维图
直接上代码
- %% 小波变换
- % 生成一个简单的时序数据
- t = 0:0.1:10;
- data = sin(t);
-
-
- % 导入信号处理工具箱
- import signalproc.*
-
- % 进行小波变换
- waveletFunction = 'haar'; % 使用 Haar 小波函数
- scales = 1:100; % 尺度范围
- coefs = cwt(data, scales, waveletFunction); % 进行小波变换
-
- % 绘制二维图像
- imagesc(coefs);
- colorbar;

是一种将时间序列数据转换为二维图像的方法。它通过计算时间序列数据的格拉米角矩阵,将数据的动态特征可视化为静态图像。
格拉米角矩阵是由时间序列数据的内积来构建的对称正定矩阵。每个矩阵的元素表示了相应时间点的数据点之间的夹角的余弦值。通过将格拉米角矩阵的元素映射到图像的像素值,可以形成一个二维的格拉米角场。
格拉米角场的主要优势之一是它能够捕捉到时间序列数据中的动态模式和相互关系。它能够提供有关时间序列的周期性、重复性和结构的信息,并可能帮助我们分析和理解时间序列数据中的复杂模式。
格拉米角场在许多应用领域都有潜在的应用,包括时间序列分析、信号处理、机器学习和模式识别等。它可以用于识别时间序列数据中的模式、进行分类和聚类分析,或者作为特征提取的方法,为其他机器学习算法提供输入。
生成的GAFS二维图像
代码如下:
-
- %% 导入时序数据
- t = 0:0.1:10;
- data = sin(t);
-
- % 展示时序数据
- figure
- plot(data)
-
- % 并无意义,但懒得换变凉了,将就着看
- transformedData = data;
-
- % 归一化
- normalizedData = (transformedData - min(transformedData)) / (max(transformedData) - min(transformedData));
- % 计算角度
- gramianMatrix = cos(normalizedData' .* normalizedData);
- % 显示图像
- imshow(gramianMatrix,[]);
- colormap('gray');
- colorbar;

格拉姆角和场(Gramian Angular Field,GAF)是一种将一维时间序列数据转换为二维图像数据的方法。它通过对时间序列进行极坐标编码,再利用三角运算生成格拉姆矩阵,从而将时间序列数据转化为图像数据。这种转换能够保留数据的时间依赖性和潜在联系特征,同时具有较大的稀疏性,剔除了多模态间的冗余信息。
格拉姆角和场分为格拉姆求和场(Gramian Angular Summation Field,GASF)和格拉姆角差场(Gramian Angular Difference Field,GADF)。GASF计算的是角度之和的余弦值,而GADF计算的是角度差值的正弦值。这两种方法都可以将时间序列数据转换为图像数据,但它们在计算方式和结果上有所不同。
具体来说,GASF强调的是时间序列中信号的整体变化趋势,而GADF则更关注信号间的局部差异和变化。因此,在实际应用中,可以根据具体问题和数据集的特点选择合适的方法。
傅里叶变换可以将时序数据转换为频域表示,从而提取频率信息。可以通过应用傅里叶变换并将结果可视化为二维图像,其中横轴表示频率,纵轴表示幅度。
马尔科夫转移场(Markov Transition Field)是一种将时序数据映射为二维图像的方法。它通过捕捉时序数据中状态之间的转移关系,将数据的动态特性可视化为静态图像。每个图像的像素值对应于数据在特定时间窗口内的状态转移概率或频次。
马尔科夫转移场适用于以下场景:
时间序列分析:马尔科夫转移场可以帮助分析时序数据中不同状态之间的转移关系和趋势。例如,可以用于天气数据中不同气候状态之间的转移模式分析或股票市场中不同价格状态之间的转移模式分析。
信号处理:马尔科夫转移场可以用于分析信号在时间上的变化及其可能的状态转移。例如,可以将心电图信号转换为马尔科夫转移场来分析心脏节律的变化。
动态模式识别:通过将时序数据转换为静态图像,并应用图像处理和模式识别技术,可以实现对动态模式的识别和分类。例如,可以将手势识别任务中的动态手势序列转换为马尔科夫转移场,然后使用计算机视觉算法进行手势识别。
总之,马尔科夫转移场是一种将时序数据的动态特性可视化的方法,可以应用于多个领域,包括时间序列分析、信号处理和动态模式识别等。它提供了一种直观的方式来观察和理解时序数据中状态之间的转移关系。
生成的马尔科夫链
代码如下:
- % 导入时序数据
- t = 0:0.1:10;
- data = sin(t);
-
- %% 马尔科夫变迁场(好像不太合适)
- % 导入时序数据
- timeSeries = data; % 随机生成100个时间点的数据
-
- import stats.*
-
- % 构建马尔科夫转移矩阵
- states = unique(data); % 获取所有唯一状态值
-
- transition_matrix = zeros(length(states)); % 创建转移矩阵
- for i = 1:length(data)-1
- current_state = find(states==data(i));
- next_state = find(states==data(i+1));
- transition_matrix(current_state,next_state) = transition_matrix(current_state,next_state) + 1;
- end
- transition_matrix = transition_matrix ./ sum(transition_matrix, 2); % 归一化转移矩阵
-
- % 绘制二维图像
- figure;
- imagesc(transition_matrix);
- colorbar;
- %{
- xticks(1:length(states));
- xticklabels(states);
- yticks(1:length(states));
- yticklabels(states);
- %}
- title('Markov Transition Matrix');

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。