CN110414318A - 大场景下集装箱号识别方法 - Google Patents

大场景下集装箱号识别方法 Download PDF

Info

Publication number
CN110414318A
CN110414318A CN201910509311.3A CN201910509311A CN110414318A CN 110414318 A CN110414318 A CN 110414318A CN 201910509311 A CN201910509311 A CN 201910509311A CN 110414318 A CN110414318 A CN 110414318A
Authority
CN
China
Prior art keywords
container number
container
image
large scene
recognition methods
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
CN201910509311.3A
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.)
Beijing Digital Intelligence Source Technology Co Ltd
Original Assignee
Beijing Digital Intelligence Source Technology Co Ltd
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 Beijing Digital Intelligence Source Technology Co Ltd filed Critical Beijing Digital Intelligence Source Technology Co Ltd
Priority to CN201910509311.3A priority Critical patent/CN110414318A/zh
Publication of CN110414318A publication Critical patent/CN110414318A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/62Text, e.g. of license plates, overlay texts or captions on TV images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/148Segmentation of character regions
    • G06V30/153Segmentation of character regions using recognition of characters or words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/06Recognition of objects for industrial automation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

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

Abstract

本发明提出了一种大场景下集装箱号识别方法,包括以下步骤:S1,大场景下获取实时的相机图像;S2,对所述实时图像提取图像特征;利用经过训练后的resNet残差神经网络模型,对图像特征进行检测;判断检测结果是否属于预设分类结果;如果检测结果属于预设分类结果,则提取图像特征中的集装箱号区域坐标信息;并从获取的实时相机图像中截取该坐标区域图像;如果不属于则返回上一步;S3,根据提取的集装箱号区域坐标信息,使用训练后的LSTM网络模型识别,对所截取的区域坐标图像进行集装箱号识别;S4,将识别的集装箱号字符生成文本文件,并将文本文件推送显示。通过深度学习神经网络技术,克服了传统算法存在的缺陷,提高了大场景下的集装箱号识别率。

Description

大场景下集装箱号识别方法
技术领域
本发明涉及集装箱识别技术领域,特别涉及一种大场景下集装箱号识别方法。
背景技术
集装箱作为国际运输业的重要组成部分,其应用范围和数量都在大幅度增加,目前国内的集装箱运输呈现出了飞跃式发展,货物量的大幅度增加给集装箱的追踪和自动化装卸提出了更高标准的要求。使得智能集装箱识别系统的研究和开发成为迫切需求。
目前的集装箱号识别都是基于硬件设备实现的,例如,在卡口设置摄像机,通过摄像机采集集装箱的图像信息,实现了图像的信息采集,进而对图像进行特征提取,获取集装箱箱号;该系统只能近距离提取集装箱的图像信息;无法实现在大场景下获取集装箱的箱号。
目前在大场景下集装箱号识别技术都是在传统算法的基础上研发的,传统算法在复杂场景下的鲁棒性差;所谓鲁棒性是指在异常和危险情况下系统生存的关键。比如说,计算机软件在输入错误、磁盘故障、网络过载或有意攻击情况下,能否不死机、不崩溃,就是该软件的鲁棒性。传统算法对于大场景下获取的图像,按照像素点进行分割,按照数字和字符进行分割后,直接识别为集装箱号,所以在大场景下的集装箱号识别存在较大的误差。并且需要大量计算。
发明内容
本发明的目的旨在至少解决所述的技术缺陷之一。
为此,本发明的一个目的在于提出一种大场景下集装箱号识别方法;通过深度学习神经网络技术,克服了传统算法存在的缺陷,提高了大场景下的集装箱号识别率。
为了实现上述目的,本发明一方面的实施例提供一种大场景下集装箱号识别方法,包括以下步骤:
S1,大场景下获取实时的相机图像;
S2,对所述实时图像提取图像特征;利用经过训练后的resNet残差神经网络模型,对图像特征进行检测;判断检测结果是否属于预设分类结果;如果检测结果属于预设分类结果,则提取图像特征中的集装箱号区域坐标信息;并从获取的实时相机图像中截取该坐标区域图像;如果不属于则返回上一步;
S3,根据提取的集装箱号区域坐标信息,使用训练后的LSTM网络模型,对所截取的坐标区域图像进行集装箱号识别;
S4,将识别的集装箱号字符生成文本文件,并将文本文件推送显示。
在上述任意一项实施例中优选的是,在S2中,所述预设分类结果包括集装箱箱号、集装箱前门、集装箱后门、集装箱开关门状态、集装箱侧面。
在上述任意一项实施例中优选的是,在S2中,所述图像特征进行提取时,在tensorflow框架下,利用训练后的resNet残差神经网络模型,构建深度卷积神经网络算法,进行字符识别、字符定位、数字识别和数字定位;并按照集装箱号特点进行区域划分。
在上述任意一项实施例中优选的是,在S3中,集装箱号识别后,将集装箱号划分为4个子区域,分别是4位英文字母区域,6位数字区域,1位数字校验码区域和4位集装箱信息码区域。
5在上述任意一项实施例中优选的是,在S3中,还包括在LSTM网络模型下采用CTC算法识别集装箱号区域的集装箱号。
在上述任意一项实施例中优选的是,在步骤S4中,生成文本文件时,将识别出的四个文本通过正则表达式过滤无效字符。
在上述任意一项实施例中优选的是,在生成文本文件时,按照如下形式进行显示,
所述英文字母区域,第四位为大写字母‘U’;所述数字校验码区域由一位带边框的阿拉伯数字组成;所述集装箱信息码区域,由四位阿拉伯数字和大写英文字符混合组成,其中第三位为大写字母,第四位为阿拉伯数字;将对应箱号正则出来,并组合成完整箱号,即XXXU******[*]??X*其中,X代表大写英文字母,*代表阿拉伯数字。
根据本发明实施例提供的大场景下集装箱号识别方法,相比于现有技术至少具有一下优点:
1、通过提取实时图像,利用resNet残差神经网络模型,首先判断是否属于预设分类结果,识别集装箱号的区域坐标,进一步截取该区域坐标对应的区域图像,然后使用训练后的LSTM网络模型,对区域图像进行集装箱号识别;由此可以实现大场景下集装箱号识别,能快速响应,同时能够精准的识别出集装箱号,降低误差,精度高。
2、相比于传统算法,本方法对于化繁为简,按照首先识别集装箱号所属的区域坐标的方式,确定所属区域,进一步对该区域的图像吗,使用训练后的LSTM网络模型,进行集装箱号识别,避免一次性大数据计算,层层递进,避免对于大场景下实时图像的所有像素点直接分割,计算量小,克服了现有传统算法的鲁棒性。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明一种大场景下集装箱号识别方法的流程图;
图2为本发明图1所示的实施例中一种大场景下集装箱号识别方法的具体流程图;
图3为本发明实施例1中一种大场景下集装箱号识别方法中步骤S1中获取的大场景实时图像;
图4为本发明实施例1中一种大场景下集装箱号识别方法中步骤S2中截取该坐标区域图像;
图5为本发明实施例1中一种大场景下集装箱号识别方法步骤S3中集装箱号识别图像;
图6为本发明实施例2中一种大场景下集装箱号识别方法的步骤S2中截取的一个坐标区域图像;
图7为本发明实施例2中一种大场景下集装箱号识别方法步骤S3中一个集装箱号识别图像;
图8为本发明实施例2中一种大场景下集装箱号识别方法步骤S2中截取的另一个坐标区域图像;
图9为本发明实施例2中一种大场景下集装箱号识别方法步骤S3中另一个集装箱号识别图像;
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
如图1-2所示,本发明实施例提供的一种大场景下集装箱号识别方法,包括以下步骤:
S1,大场景下获取实时的相机图像;如图3所示,在大场景下获取了三组图像结果;
S2,对上述步骤获取的实时图像提取图像特征;利用经过训练后的resNet残差神经网络模型,对图像特征进行检测;在本实施例中,对图3的检测得到如下三组结果,其中,每组图像均包括,左侧的集装箱门,右侧对应的集装箱号;判断检测结果是否属于预设分类结果:集装箱号;如果检测结果属于预设分类结果属于集装箱号,则提取图像特征中的集装箱号区域坐标信息;并从获取的实时相机图像中截取该坐标区域图像,例如对图3进行坐标区域图像截取,得到图4所示图片;如果不属于则返回上一步;需要说明的是,在S2中,预设分类结果包括集装箱箱号、集装箱门、集装箱开门状态、集装箱侧面,工作人员。
在S2中,当检测结果为集装箱箱号,属于预设分类结果时;还包括在tensorflow框架下使用resNet深度残差神经网络输出识别的集装箱号所属的区域坐标。在经过检测模型检测后输入的分别是各个区域的标签和区域坐标,根据坐标分别截取对应区域图像。
需要说明的是,在S2中,图像特征进行提取时,在tensorflow框架下,利用训练后的resNet残差神经网络模型,构建深度卷积神经网络的字符识别、字符定位、数字识别、数字定位。
S3,将S2截取后的集装箱区域图像输入到训练后的字符区域检测模型中,根据集装箱号的特点,集装箱号区域分为4个子区域,分别是4位英文字母,6位数字,1位数字校验码和4位集装箱信息码。该过程采用在LSTM网络模型下采用CTC算法识别集装箱号区域的集装箱号,即对图3进行识别和区域划分后,得到如图5所示的图像信息。
S4,将S3截取后的四个部分的集装箱号图像输入到训练后的LSTM网络模型中,该模型将图像上的文字识别并转换为文本格式;BSIU、979775、7、45G1。
S5,将识别出的四个文本通过正则表达式过滤无效字符,并根据箱号的以下特点:
a.区域1由四位大写英文字符组成,其中第四位必为大写字母‘U’;
b.区域2由六位阿拉伯数字组成;
c.区域3由一位带边框的阿拉伯数字组成;
d.区域4由四位阿拉伯数字和大写英文字符混合组成,其中第三位必为大写字母,第四位必为阿拉伯数字;
将对应箱号正则出来,并组合成完整箱号,即XXXU0000000??X0(X代表大写英文字母,0代表阿拉伯数字,?代表大写英文字母或阿拉伯数字)。
实施例2,在本实施例中,对于大场景获取的图片中,同时存在多个集装箱的情况,采用上述步骤,进行同步平行处理;例如,对图3获取的大场景实时图像中,采用上述步骤进行图像特征提取时,可以同时获取图6中所示的一个集装箱的坐标区域图像和图8所示的另一个集装箱的坐标区域图像;对于图6使用训练后的LSTM网络模型,对所截取的坐标区域图像进行识别后,得到如图7所示的集装箱号,对图7所示的集装箱号进行字符识别、字符定位、数字识别和数字定位;并按照集装箱号特点进行区域划分;对集装箱号进行识别,并将识别的集装箱号生成文本文件,CBHU803891445G1。
对于图8使用训练后的LSTM网络模型,对所截取的坐标区域图像进行识别后,得到如图9所示的集装箱号,对图9所示的集装箱号进行字符识别、字符定位、数字识别和数字定位;并按照集装箱号特点进行区域划分;对集装箱号进行识别,并将识别的集装箱号生成文本文件,SZLU960005645R1。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。本发明的范围由所附权利要求及其等同限定。

Claims (7)

1.一种大场景下集装箱号识别方法,其特征在于,包括以下步骤:
S1,大场景下获取实时的相机图像;
S2,对所述实时图像提取图像特征;利用经过训练后的resNet残差神经网络模型,对图像特征进行检测;判断检测结果是否属于预设分类结果;如果检测结果属于预设分类结果,则提取图像特征中的集装箱号区域坐标信息;并从获取的实时相机图像中截取该坐标区域图像;如果不属于则返回上一步;
S3,根据提取的集装箱号区域坐标信息,使用训练后的LSTM网络模型,对所截取的区域坐标图像进行集装箱号识别;
S4,将识别的集装箱号字符生成文本文件,并将文本文件推送显示。
2.根据权利要求1所述的大场景下集装箱号识别方法,其特征在于,在S2中,所述预设分类结果包括集装箱箱号、集装箱前门、集装箱后门、集装箱开关门状态、集装箱侧面。
3.根据权利要求1所述的大场景下集装箱号识别方法,其特征在于,在S2中,所述图像特征进行提取时,在tensorflow框架下,利用训练后的resNet残差神经网络模型,构建深度卷积神经网络算法,进行字符识别、字符定位、数字识别和数字定位;并按照集装箱号特点进行区域划分。
4.根据权利要求1或3所述的大场景下集装箱号识别方法,其特征在于,在S3中,集装箱号识别后,将集装箱号划分为4个子区域,分别是4位英文字母区域,6位数字区域,1位数字校验码区域和4位集装箱信息码区域。
5.根据权利要求1所述的大场景下集装箱号识别方法,其特征在于,在S3中,还包括在LSTM网络模型下采用CTC算法识别集装箱号区域的集装箱号。
6.根据权利要求4所述的大场景下集装箱号识别方法,其特征在于,在步骤S4中,生成文本文件时,将识别出的四个文本通过正则表达式过滤无效字符。
7.根据权利要求6所述的大场景下集装箱号识别方法,其特征在于,在生成文本文件时,按照如下形式进行显示,
所述英文字母区域,第四位为大写字母‘U’;所述数字校验码区域由一位带边框的阿拉伯数字组成;所述集装箱信息码区域,由四位阿拉伯数字和大写英文字符混合组成,其中第三位为大写字母,第四位为阿拉伯数字;将对应箱号正则出来,并组合成完整箱号,即XXXU******[*]??X*其中,X代表大写英文字母,*代表阿拉伯数字。
CN201910509311.3A 2019-06-13 2019-06-13 大场景下集装箱号识别方法 Pending CN110414318A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910509311.3A CN110414318A (zh) 2019-06-13 2019-06-13 大场景下集装箱号识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910509311.3A CN110414318A (zh) 2019-06-13 2019-06-13 大场景下集装箱号识别方法

Publications (1)

Publication Number Publication Date
CN110414318A true CN110414318A (zh) 2019-11-05

Family

ID=68359026

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910509311.3A Pending CN110414318A (zh) 2019-06-13 2019-06-13 大场景下集装箱号识别方法

Country Status (1)

Country Link
CN (1) CN110414318A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111144309A (zh) * 2019-12-27 2020-05-12 苏州海管家物流科技有限公司 一种集装箱箱门图像自动识别方法
CN111368761A (zh) * 2020-03-09 2020-07-03 腾讯科技(深圳)有限公司 店铺营业状态识别方法、装置、可读存储介质和设备
CN113792780A (zh) * 2021-09-09 2021-12-14 福州大学 基于深度学习和图像后处理的集装箱号识别方法
CN113903018A (zh) * 2021-03-22 2022-01-07 南京中理外轮理货有限公司 一种基于神经网络的集装箱号识别方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106203237A (zh) * 2015-05-04 2016-12-07 杭州海康威视数字技术股份有限公司 集装箱拖车编号的识别方法和装置
CN108334881A (zh) * 2018-03-12 2018-07-27 南京云创大数据科技股份有限公司 一种基于深度学习的车牌识别方法
JP2018147178A (ja) * 2017-03-03 2018-09-20 Necプラットフォームズ株式会社 コンテナ番号読取り装置、コンテナ番号読取り方法およびコンテナ番号読取りプログラム
CN108596166A (zh) * 2018-04-13 2018-09-28 华南师范大学 一种基于卷积神经网络分类的集装箱箱号识别方法
CN109543184A (zh) * 2018-11-20 2019-03-29 中国石油大学(华东) 一种基于深度学习的集装箱文本识别方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106203237A (zh) * 2015-05-04 2016-12-07 杭州海康威视数字技术股份有限公司 集装箱拖车编号的识别方法和装置
JP2018147178A (ja) * 2017-03-03 2018-09-20 Necプラットフォームズ株式会社 コンテナ番号読取り装置、コンテナ番号読取り方法およびコンテナ番号読取りプログラム
CN108334881A (zh) * 2018-03-12 2018-07-27 南京云创大数据科技股份有限公司 一种基于深度学习的车牌识别方法
CN108596166A (zh) * 2018-04-13 2018-09-28 华南师范大学 一种基于卷积神经网络分类的集装箱箱号识别方法
CN109543184A (zh) * 2018-11-20 2019-03-29 中国石油大学(华东) 一种基于深度学习的集装箱文本识别方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
曹正凤 等: "基于深度学习的端到端车牌检测识别系统" *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111144309A (zh) * 2019-12-27 2020-05-12 苏州海管家物流科技有限公司 一种集装箱箱门图像自动识别方法
CN111144309B (zh) * 2019-12-27 2023-06-20 苏州海管家物流科技有限公司 一种集装箱箱门图像自动识别方法
CN111368761A (zh) * 2020-03-09 2020-07-03 腾讯科技(深圳)有限公司 店铺营业状态识别方法、装置、可读存储介质和设备
CN113903018A (zh) * 2021-03-22 2022-01-07 南京中理外轮理货有限公司 一种基于神经网络的集装箱号识别方法
CN113792780A (zh) * 2021-09-09 2021-12-14 福州大学 基于深度学习和图像后处理的集装箱号识别方法
CN113792780B (zh) * 2021-09-09 2023-07-14 福州大学 基于深度学习和图像后处理的集装箱号识别方法

Similar Documents

Publication Publication Date Title
CN110414318A (zh) 大场景下集装箱号识别方法
CN109993112B (zh) 一种图片中表格的识别方法及装置
CN107748888B (zh) 一种图像文本行检测方法及装置
CN109308476A (zh) 票据信息处理方法、系统及计算机可读存储介质
Lawgali et al. HACDB: Handwritten Arabic characters database for automatic character recognition
CN106874902B (zh) 一种车牌信息识别方法及装置
CN105260751B (zh) 一种文字识别方法及其系统
CN104778470B (zh) 基于组件树和霍夫森林的文字检测和识别方法
CN109490843B (zh) 一种归一化雷达屏幕监测方法及系统
CN104484643A (zh) 一种手写表格的智能识别方法及系统
CN112766255A (zh) 一种光学文字识别方法、装置、设备及存储介质
CN110210470A (zh) 商品信息图像识别系统
CN111814779A (zh) 一种票据文本识别方法、装置、设备及存储介质
CN105139041A (zh) 基于图像的语种识别方法及装置
CN113963147B (zh) 一种基于语义分割的关键信息提取方法及系统
CN109858476A (zh) 标签的扩充方法和电子设备
CN105117740A (zh) 字体识别方法及装置
CN112541443A (zh) 发票信息抽取方法、装置、计算机设备及存储介质
CN109685061A (zh) 适用于结构化的数学公式的识别方法
CN113705286A (zh) 一种表格检测与识别方法和介质
CN109508716A (zh) 一种图像文字的定位方法及装置
CN104966109A (zh) 医疗化验单图像分类方法及装置
CN113111869B (zh) 提取文字图片及其描述的方法和系统
CN104408403A (zh) 一种二次录入不一致的仲裁方法及装置
CN106897770B (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