CN114140736A - 一种基于高低频重建的图像异常检测方法 - Google Patents

一种基于高低频重建的图像异常检测方法 Download PDF

Info

Publication number
CN114140736A
CN114140736A CN202111647398.4A CN202111647398A CN114140736A CN 114140736 A CN114140736 A CN 114140736A CN 202111647398 A CN202111647398 A CN 202111647398A CN 114140736 A CN114140736 A CN 114140736A
Authority
CN
China
Prior art keywords
image
frequency
network
reconstruction
training
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111647398.4A
Other languages
English (en)
Inventor
刘勇
梁雨菲
张江宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN202111647398.4A priority Critical patent/CN114140736A/zh
Publication of CN114140736A publication Critical patent/CN114140736A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种基于高低频重建的图像异常检测方法,包括模型训练和模型推断两个阶段,所述模型训练阶段中,通过对训练集中的正常图像训练生成对抗网络,利用服务器对网络模型进行训练,通过降低网络损失函数来优化网络参数,直至网络收敛,获得基于高低频重建的网络模型;所述模型推断阶段中,利用模型训练阶段获得的网络模型,根据异常分数判断新的测试图像是否为异常图像。通过频域解耦模块获得图像不同频段的信息利用不同的生成器进行重建,在网络生成器的编码阶段利用通道选择模块实现对不同频段信息的交互和选择,使得网络能够充分利用不同频段的信息,提升生成器的重建能力,进而提升基于重建的图像异常检测算法的性能。

Description

一种基于高低频重建的图像异常检测方法
技术领域
本发明属于计算机视觉的技术领域,具体涉及一种基于高低频重建的图像异常检测方法。
背景技术
图像异常检测的任务,就是找到正常样本与异常样本之间的界线,尽可能地将正常样本与异常样本分开。目前实际的异常检测遇到的一个很大的困难是真实世界数据的不平衡,异常图像的数据往往难以获取,比如在生产线上自动监测产品瑕疵,一般来说瑕疵产品出现的概率是很小的。简单的监督学习分类任务很难在图像异常检测中应用,因此目前绝大多数可靠的图像异常检测的方法都是无监督的,异常检测就是以训练集为核心,判断输入数据是否与训练集中的数据“类似”。
利用正常图像和异常图像在预训练网络提取的特征空间上存在的差异检测异常能够取得不错的检测效果,但可解释性较差,想要提高这类方法的可解释性可以对图像进行分块检测,但这样会带来更多的计算量。相比于前述的这类方法,另一种基于重建的图像异常检测方法就更加的直观、可解释性也更强。然而,基于重建的图像异常检测方法中生成器的重建能力对异常检测的效果有很大的影响,模糊的重建或者自映射的重建都会导致异常检测效果变差。因此基于重建的方法在图像异常检测任务中的表现还不够可靠。
现有的绝大多数基于重建的方法都是直接对原图像进行重建,对于图像中不同频段的信息没有区分对待。然而,对于图像异常检测任务来说,异常元素往往存在于图像的高频信息中,不同频段的信息对于图像异常检测任务的重要性不同。
发明内容
为了实现以上目的,本发明针对目前图像异常检测算法的不足,提供一种基于高低频重建的图像异常检测方法。该方法基于分频段重建的GAN(生成对抗网络)异常检测框架,同时在GAN的生成器中利用通道选择模块实现不同频段信息的交互和选择,实现优异的图像异常检测效果。解决了基于重建的图像异常检测方法在缺陷检测等场景中由于生成器生成能力限制,效果不理想的问题。
本发明采用以下技术方案:一种基于高低频重建的图像异常检测方法,包括模型训练和模型推断两个阶段。所述模型训练阶段中,通过对训练集中的正常图像训练生成对抗网络,利用服务器对该生成对抗网络的网络模型进行训练,通过降低网络损失函数来优化网络参数,直至网络收敛,获得基于高低频重建的网络模型;所述模型推断阶段中,利用模型训练阶段获得的网络模型,根据异常分数判断新的测试图像是否为异常图像。
进一步的,所述模型训练阶段,具体包括以下步骤,
S11、图像数据准备,利用频域解耦模块得到训练集中的正常图像的不同频段的信息;
S12、网络模型训练,将正常图像的不同频段的信息传入生成器进行重建,利用鉴别器鉴别原始图像与重建图像,采用对抗学习的方法进行训练;计算损失函数得到梯度,然后进行反向传播得到训练好的网络模型。
更进一步的,所述步骤S11中的频域解耦模块具体是,利用高斯卷积核得到正常图像的低频分量,利用原始的正常图像与低频分量的差异得到图像的高频分量,最终得到图像不同频段的信息。
更进一步的,所述步骤S12中的网络模型训练包括图像数据正向传播和梯度反向传播。所述图像数据正向传播中,将训练集中的所有正常图像经过频域解耦模块解耦后送入包含生成器和鉴别器的网络中进行训练;所述梯度反向传播中,生成器和鉴别器之间的博弈构成AdversarialLoss,生成器重建出的重建图像与原始的正常图像之间的差异构成ContextualLoss,生成器重建出的重建图像与原始的正常图像在潜在空间的差异构成LatentLoss;根据损失函数计算梯度,梯度反向传播更新网络参数,并利用GPU进行加速,直到网络的误差降低到设定的阈值之内或者网络迭代的次数满足要求时停止训练,得到训练好的网络模型。
更进一步的,所述生成器用于将输入图像进行编码然后解码,实现输入图像的重建过程;或者,所述鉴别器用于鉴别生成器生成的重建图像和原始的正常图像。
更进一步的,所述生成器包含高低频重建模块和通道选择模块。所述高低频重建模块,包括多个不同频段分支,分别重建图像不同频段的信息;所述通道选择模块,将图像不同频段的特征图相加,经过全局平均池化层、全连接层和softmax得到不同频段特征对应的通道注意力向量,将通道注意力向量与原特征图相乘得到新特征图,新特征图作为下一个卷积层的输入。
更进一步的,所述AdversarialLoss所用损失函数为:
Figure BDA0003445563800000031
所述ContextualLoss所用的损失函数为:
Figure BDA0003445563800000032
所述LatentLoss所用的损失函数为:
Figure BDA0003445563800000033
其中:
x是正常图像,
G(x)是重建图像,
D(x)是鉴别器输出,
f(x)是潜在空间的特征图。
更进一步的,所述模型推断阶段,具体包括以下步骤,
S21、将测试图像经过频域解耦模块得到该测试图像不同频段的信息;
S22、将测试图像不同频段的信息传入训练好的网络模型中得到重建误差和潜在空间误差,将重建误差和潜在空间误差进行加权平均融合得到最终模型推断的异常分数,根据预设阈值判断测试图像是否为异常图像。
本发明提出的基于高低频重建的图像异常检测方法,通过频域解耦模块获得图像不同频段的信息利用不同的生成器进行重建,在网络生成器的编码阶段利用通道选择模块实现对不同频段信息的交互和选择,使得网络能够充分利用不同频段的信息,提升生成器的重建能力,进而提升基于重建的图像异常检测算法的性能。
采用本发明技术方案,其有益效果为:相比于传统利用预训练模型提取特征的判别类算法,本方法基于重建的方法,可解释性更强;相比于直接对原图像进行重建的算法,本方法对图像的频域信息进行解耦,对不同频段的信息分别重建,并在网络生成器的编码阶段对不同频段的信息进行选择和交互,能够提升生成器的重建能力,能够实现更好的图像异常检测效果。
附图说明
图1是本发明一种基于高低频重建的图像异常检测流程示意图。
图2是本发明的通道选择模块示意图。
具体实施方式
结合附图对本发明具体方案具体实施例作进一步的阐述,使得本技术方案更加清楚、明白。本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
本实施例涉及一种基于高低频重建的图像异常检测方法,所述检测方法包括模型训练和模型推断两个阶段。
在模型训练阶段,仅在正常的数据上训练生成对抗网络,利用具有高计算性能的服务器对生成对抗网络模型进行训练,通过降低网络损失函数来优化网络参数,直至网络收敛,获得基于高低频重建的网络模型。具体包括以下步骤:
S11、首先进行图像数据准备,具体是利用频域解耦模块得到训练集中正常图像不同频段的信息;其中的频域解耦模块是利用高斯卷积核得到正常图像的低频分量,然后利用原始的正常图像与正常图像的低频分量的差异得到正常图像的高频分量,以此类推,得到正常图像不同频段的信息。
S12、然后进行网络模型训练,将正常图像不同频段的信息传入生成器进行重建得到重建图像,并利用鉴别器鉴别原始的正常图像与重建图像,采用对抗学习的方法进行训练;计算损失函数得到梯度,然后进行反向传播得到训练好的网络模型。
所述网络模型训练包括图像数据正向传播和梯度反向传播;具体如下。
(1)图像数据正向传播,将训练集中的所有正常图像经过频域解耦模块解耦后送入网络进行训练;该网络包含生成器和鉴别器。
生成器用于将输入的正常图像进行编码然后解码,实现输入的正常图像的重建过程。鉴别器用于鉴别生成器生成的生成图像和原始输入的正常图像。在训练过程中,生成器的目标就是尽量生成真实的图片去欺骗判别器。而判别器的目标就是尽量把生成器生成的图片和真实的图片分别开来。生成器和鉴别器构成了一个动态的“博弈过程”。
生成器中包含高低频重建模块和通道选择模块。其中的高低频重建模块,生成器由两个分支组成,为高频分支和低频分支,分别重建正常图像的高频分量和低频分量;实现图像高频信息和低频信息的合理利用;其中的通道选择模块,生成器在编码的过程中,将不同频段特征图相加,经过全局平均池化层、全连接层和softmax得到不同频段特征对应的通道注意力向量,将通道注意力向量与原特征图相乘得到经过通道选择模块的新特征图即重建图像。
(2)梯度反向传播:生成器和鉴别器之间的博弈构成AdversarialLoss,生成器重建出的重建图像与原输入的正常图像之间的差异构成ContextualLoss,生成器重建出的重建图像与原始的正常图像在潜在空间的差异构成LatentLoss;根据损失函数计算梯度,梯度反向传播更新网络参数,并利用GPU进行加速,直到网络的误差降低到设定的阈值之内或者网络迭代的次数满足要求时停止训练,得到训练好的网络模型。
这里通过Adam优化器优化网络,我们将基准学习率设置为0.002,并使用多步学习率调度程序,动量设置为0.999。
损失函数分别为:
AdversarialLoss所用损失函数为:
Figure BDA0003445563800000061
ContextualLoss所用的损失函数为:
Figure BDA0003445563800000062
LatentLoss所用的损失函数为:
Figure BDA0003445563800000063
其中:
x是正常图像,
G(x)是重建图像,
D(x)是鉴别器输出,
f(x)是潜在空间的特征图。
梯度是由损失函数全部变量的偏导数汇总而成的向量,梯度指示的方向是各点处的函数值减少最多的方向。梯度反向传播更新对抗生成网络中各层的权重,直到网络的整体损失(即3个损失函数之和)降低到设定的阈值(如0.5)之内或者网络迭代的次数满足要求时停止训练,得到训练好的网络模型。
在模型推断阶段,利用模型训练阶段获得的网络模型,根据异常分数判断新的测试图像是否为异常图像。具体包括:
S21、将测试图像经过频域解耦模块得到测试图像的高频分量和低频分量;
S22、将测试图像的高频分量和低频分量传入训练好的网络模型得到重建误差和潜在空间误差,将这两个误差进行加权平均融合得到最终模型推断的异常分数:
Anomaly(x)=λLcon+(1-λ)Llat
其中Lcon为重建误差;Llat为潜在空间误差;λ为权重参数,设置为0.9;
根据设定的阈值判断测试图像是否为异常图像,具体来说阈值可以设置为0.5,异常分数大于等于0.5则判定为异常图像,小于0.5则判定为正常图像。
下面基于以上原理的具体进行具体解释说明。如图1所示为一种基于高低频重建的图像异常检测方法流程图。使用MVTecAD数据集和CIFAR-10数据集,MVTecAD数据集包含5354张高分辨率图像,其中包含10类物品图像和5类纹理图像。每类数据的训练数据量大致在60到320,测试数据中的异常数据包含超过70种缺陷,如裂痕、破洞等。CIFAR-10数据集包含60000张分辨率为32*32的图像,在该数据集上进行异常检测是把一类图像作为异常,其他类别图像作为正常。
按照附图1搭建高低频重建的图像异常检测网络的网络模型,将经过频域解耦模块得到的正常图像不同频段的信息送入网络模型,在网络生成器的编码器部分利用通道选择模块实现不同频段信息的选择和交互,充分利用图像不同频段的信息。
按照图2中的形式实现网络生成器中编码器部分的通道选择,根据前述的三个损失函数计算损失,并按照梯度反向传播的方法进行参数的迭代更新,并利用GPU进行加速,直到网络的误差降低到设定的阈值之内或者网络迭代的次数满足要求时停止训练。
通过采用上述方法进行图像异常检测,相比于直接重建图像的异常检测算法,本方法实现了图像的频域解耦,获得了图像不同频段的信息并分别重建,实现了对不同频段信息的区别利用;并且利用通道选择模块,在网络生成器的编码过程中实现了不同频段信息的交互以及选择。该方法有效提升了基于重建的异常检测方法中生成器的重建能力,提高了此类方法异常检测的效果。
本实施例涉及注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (8)

1.一种基于高低频重建的图像异常检测方法,其特征在于:包括模型训练和模型推断两个阶段,
所述模型训练阶段中,通过对训练集中的正常图像训练生成对抗网络,利用服务器对该生成对抗网络的网络模型进行训练,通过降低网络损失函数来优化网络参数,直至网络收敛,获得基于高低频重建的网络模型;
所述模型推断阶段中,利用模型训练阶段获得的网络模型,根据异常分数判断新的测试图像是否为异常图像。
2.根据权利要求1所述的一种基于高低频重建的图像异常检测方法,其特征在于:所述模型训练阶段,具体包括以下步骤,
S11、图像数据准备,利用频域解耦模块得到训练集中的正常图像的不同频段的信息;
S12、网络模型训练,将正常图像的不同频段的信息传入生成器进行重建,利用鉴别器鉴别原始图像与重建图像,采用对抗学习的方法进行训练;计算损失函数得到梯度,然后进行反向传播得到训练好的网络模型。
3.根据权利要求2所述的一种基于高低频重建的图像异常检测方法,其特征在于:所述步骤S11中的频域解耦模块具体是,利用高斯卷积核得到正常图像的低频分量,利用原始的正常图像与低频分量的差异得到图像的高频分量,最终得到图像不同频段的信息。
4.根据权利要求2所述的一种基于高低频重建的图像异常检测方法,其特征在于:
所述步骤S12中的网络模型训练包括图像数据正向传播和梯度反向传播,
所述图像数据正向传播中,将训练集中的所有正常图像经过频域解耦模块解耦后送入包含生成器和鉴别器的网络中进行训练;
所述梯度反向传播中,生成器和鉴别器之间的博弈构成AdversarialLoss,生成器重建出的重建图像与原始的正常图像之间的差异构成ContextualLoss,生成器重建出的重建图像与原始的正常图像在潜在空间的差异构成LatentLoss;根据损失函数计算梯度,梯度反向传播更新网络参数,并利用GPU进行加速,直到网络的误差降低到设定的阈值之内或者网络迭代的次数满足要求时停止训练,得到训练好的网络模型。
5.根据权利要求4所述的一种基于高低频重建的图像异常检测方法,其特征在于:所述生成器用于将输入图像进行编码然后解码,实现输入图像的重建过程;
或者,所述鉴别器用于鉴别生成器生成的重建图像和原始的正常图像。
6.根据权利要求4或5所述的一种基于高低频重建的图像异常检测方法,其特征在于:
所述生成器包含高低频重建模块和通道选择模块,
所述高低频重建模块,包括多个不同频段分支,分别重建图像不同频段的信息;
所述通道选择模块,将图像不同频段的特征图相加,经过全局平均池化层、全连接层和softmax得到不同频段特征对应的通道注意力向量,将通道注意力向量与原特征图相乘得到新特征图,新特征图作为下一个卷积层的输入。
7.根据权利要求4所述的一种基于高低频重建的图像异常检测方法,其特征在于:所述AdversarialLoss所用损失函数为:
Figure FDA0003445563790000021
所述ContextualLoss所用的损失函数为:
Figure FDA0003445563790000022
所述LatentLoss所用的损失函数为:
Figure FDA0003445563790000031
其中:
x是正常图像,
G(x)是重建图像,
D(x)是鉴别器输出,
f(x)是潜在空间的特征图。
8.根据权利要求2所述的一种基于高低频重建的图像异常检测方法,其特征在于:所述模型推断阶段,具体包括以下步骤,
S21、将测试图像经过频域解耦模块得到该测试图像不同频段的信息;
S22、将测试图像不同频段的信息传入训练好的网络模型中得到重建误差和潜在空间误差,将重建误差和潜在空间误差进行加权平均融合得到最终模型推断的异常分数,根据预设阈值判断测试图像是否为异常图像。
CN202111647398.4A 2021-12-30 2021-12-30 一种基于高低频重建的图像异常检测方法 Pending CN114140736A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111647398.4A CN114140736A (zh) 2021-12-30 2021-12-30 一种基于高低频重建的图像异常检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111647398.4A CN114140736A (zh) 2021-12-30 2021-12-30 一种基于高低频重建的图像异常检测方法

Publications (1)

Publication Number Publication Date
CN114140736A true CN114140736A (zh) 2022-03-04

Family

ID=80383728

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111647398.4A Pending CN114140736A (zh) 2021-12-30 2021-12-30 一种基于高低频重建的图像异常检测方法

Country Status (1)

Country Link
CN (1) CN114140736A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024055948A1 (zh) * 2022-09-14 2024-03-21 北京数慧时空信息技术有限公司 一种改进的无监督遥感影像异常检测方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024055948A1 (zh) * 2022-09-14 2024-03-21 北京数慧时空信息技术有限公司 一种改进的无监督遥感影像异常检测方法

Similar Documents

Publication Publication Date Title
Zhang et al. The multiclass fault diagnosis of wind turbine bearing based on multisource signal fusion and deep learning generative model
Rajabi et al. Fault diagnosis in industrial rotating equipment based on permutation entropy, signal processing and multi-output neuro-fuzzy classifier
Wang et al. Feature-level attention-guided multitask CNN for fault diagnosis and working conditions identification of rolling bearing
CN108334948B (zh) 一种基于宽残差网络学习模型的机械轴承故障诊断技术
Pan et al. A fault diagnosis approach for roller bearing based on symplectic geometry matrix machine
CN111006865A (zh) 一种电机轴承故障诊断方法
CN116415506A (zh) 一种基于联邦学习的工业机器人故障诊断方法及系统
CN114565594A (zh) 基于软掩膜对比损失的图像异常检测方法
CN114140736A (zh) 一种基于高低频重建的图像异常检测方法
CN117030129A (zh) 纸杯在线检漏方法及其系统
CN113076920B (zh) 一种基于非对称域对抗自适应模型的智能故障诊断方法
Ha et al. Domain knowledge-informed synthetic fault sample generation with health data map for cross-domain planetary gearbox fault diagnosis
CN115356599B (zh) 一种多模态城市电网故障诊断方法及系统
CN116611184A (zh) 一种齿轮箱的故障检测方法、装置及介质
CN116400168A (zh) 一种基于深度特征聚类的电网故障诊断方法及系统
CN115760589A (zh) 一种用于运动模糊图像的图像优化方法及装置
CN115345192A (zh) 一种变工况和复杂噪音环境下滚动轴承的故障诊断方法
CN114862803A (zh) 一种基于快速傅里叶卷积的工业图像异常检测方法
CN114760128A (zh) 一种基于重采样的网络异常流量检测方法
KR20220028727A (ko) 열화에 따른 시계열 데이터를 이용한 실시간 이상 감지 방법 및 그를 위한 장치
CN116597255A (zh) 一种基于特征重构和分布损失的图像异常检测方法
Guo et al. A Neural Network Method for Bearing Fault Diagnosis
Tastimur et al. Vibration signal processing based bearing defect diagnosis with transfer learning
Lyu et al. A Novel Fault Diagnosis Method Based on Feature Fusion and Model Agnostic Meta-Learning
CN116701948B (zh) 管道故障诊断方法及系统、存储介质和管道故障诊断设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination