CN118038018A - 一种应用于视觉slam系统的目标检测方法及相关设备 - Google Patents
一种应用于视觉slam系统的目标检测方法及相关设备 Download PDFInfo
- Publication number
- CN118038018A CN118038018A CN202410091158.8A CN202410091158A CN118038018A CN 118038018 A CN118038018 A CN 118038018A CN 202410091158 A CN202410091158 A CN 202410091158A CN 118038018 A CN118038018 A CN 118038018A
- Authority
- CN
- China
- Prior art keywords
- target
- detection
- detection result
- target detection
- point
- 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
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 295
- 230000000007 visual effect Effects 0.000 title claims abstract description 33
- 238000000034 method Methods 0.000 claims abstract description 15
- 239000013598 vector Substances 0.000 claims description 33
- 230000003068 static effect Effects 0.000 claims description 24
- 238000003860 storage Methods 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 12
- 238000005457 optimization Methods 0.000 claims description 12
- 239000011159 matrix material Substances 0.000 claims description 11
- 238000012790 confirmation Methods 0.000 claims description 10
- 230000001131 transforming effect Effects 0.000 claims description 7
- 238000009826 distribution Methods 0.000 claims description 6
- 238000012216 screening Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims description 4
- 230000007704 transition Effects 0.000 claims description 4
- 238000012937 correction Methods 0.000 claims description 3
- 230000008030 elimination Effects 0.000 claims description 2
- 238000003379 elimination reaction Methods 0.000 claims description 2
- 238000013473 artificial intelligence Methods 0.000 abstract description 7
- 238000012545 processing Methods 0.000 abstract description 7
- 238000005516 engineering process Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 239000013589 supplement Substances 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 241000894007 species Species 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000004540 process dynamic Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Image Analysis (AREA)
Abstract
本申请属于人工智能的图像处理技术领域,涉及一种应用于视觉SLAM系统的目标检测方法及相关设备,该方法包括:接收用户终端发送的携带有目标对象集合的目标检测请求;根据目标YOLOv5目标检测网络对原始图像进行动态目标检测操作,得到初始检测结果;根据卡尔曼滤波器对初始检测结果进行漏检补偿操作,得到中间检测结果;获取中间检测结果的目标检测框,并计算目标检测框与原始图像面积的比值;若比值不满足预设阈值,则根据多视角几何对中间检测结果进行动态点剔除操作,得到目标检测结果;若比值满足预设阈值,则将中间检测结果作为目标检测结果。本申请有效提高动态场景下SLAM系统的精度和效率。
Description
技术领域
本申请涉及人工智能的图像处理技术领域,尤其涉及一种应用于视觉SLAM系统的目标检测方法及相关设备。
背景技术
同步定位与建图(SLAM)是多项机器人任务的基本要求,广泛应用于自动驾驶、无人机、增强现实等领域。SLAM技术专注于估计未知环境的地图,并仅依靠机器人自身传感器的数据来计算机器人在该地图中的位置。近年来,视觉SLAM受到了广泛关注和研究,特别是基于RGB-D相机的动态视觉SLAM研究。
与其他相机相比,单目相机具有许多优势,例如成本低、尺寸小等,但也存在一些挑战,包括与尺寸和状态初始化的可观察性相关的问题。为了应对这些挑战并增强视觉SLAM系统的鲁棒性,通常采用立体或RGB-D相机。
然而,申请人发现,传统的基于视觉的SLAM系统通常假设场景不是动态的,动态目标的存在可能会导致错误的观察,从而降低SLAM系统各个方面的性能,例如鲁棒性和准确性。尽管RANSAC算法可以处理静态或微动态环境中的异常,但当动态物体占据相机大部分视野时,其有效性受到限制。由此可见,传统的基于视觉的SLAM系统存在定位精度较低的问题。
发明内容
本申请实施例的目的在于提出一种应用于视觉SLAM系统的目标检测方法、装置、计算机设备及存储介质,以解决传统的基于视觉的SLAM系统存在定位精度较低的问题。
为了解决上述技术问题,本申请实施例提供一种应用于视觉SLAM系统的目标检测方法,采用了如下所述的技术方案:
接收用户终端发送的携带有目标对象集合的目标检测请求;
调用初始YOLOv5目标检测网络,并根据所述目标对象集合以及微调损失函数对所述初始YOLOv5目标检测网络进行优化操作,得到目标YOLOv5目标检测网络;
获取图像采集设备采集到的原始图像;
根据所述目标YOLOv5目标检测网络对所述原始图像进行动态目标检测操作,得到初始检测结果;
根据卡尔曼滤波器对所述初始检测结果进行漏检补偿操作,得到中间检测结果;
获取所述中间检测结果的目标检测框,并计算所述目标检测框与所述原始图像面积的比值;
若所述比值不满足预设阈值,则根据多视角几何对所述中间检测结果进行动态点剔除操作,得到目标检测结果;
若所述比值满足所述预设阈值,则将所述中间检测结果作为目标检测结果。
进一步的,所述目标对象集合Sd表示为:
Sd=S1US2∪…∪Sc
所述微调损失函数L表示为:
其中,i=1,2,…,N表示N个种类;ci∈{1,2,…,c};ω(ci)表示ci的权重,yi表示真实标签为类别i的概率;pi表示模型的预测概率。
进一步的,所述卡尔曼滤波器的状态方程Xk以及观测方程Zk表示为:
Xk=φk-1,kXk-1+wk-1
Zk=HkXk+vk
其中,下标k表示k时刻,k-1即表示k-1时刻;Xk表示动态物体的状态向量,其状态向量包含了动态物体的几何、运动特征;Zk表示动态物体的观测向量;φk-1,k表示k-1时刻到k时刻的状态转移矩阵;Hk表示观测矩阵;wk-1表示系统的噪声向量;vk表示观测的噪声向量;wk、vk一般都是服从零均值高斯分布的白噪声序列,其协方差矩阵分别是Qk、Rk,假设Qk、Rk都是服从零均值高斯分布的噪声向量。
进一步的,所述根据卡尔曼滤波器对所述初始检测结果进行漏检补偿操作,得到中间检测结果的步骤,具体包括下述步骤:
若所述原始图像的当前帧检测数量少于上一帧检测数量时,获取所述卡尔曼滤波器检测到的跟踪数量;
若所述跟踪数量等于所述当前帧检测数量,则保持所述当前帧检测数量;
若所述跟踪数量大于所述当前帧检测数量,则将所述当前帧检测数量修正为所述跟踪数量。
进一步的,所述根据多视角几何对所述中间检测结果进行动态点剔除操作,得到目标检测结果的步骤,具体包括下述步骤:
在所述中间检测结果的当前帧中获取N个相似参考帧;
在所述相似参考帧中选取深度d∈(0,6)的特征点,计算所述相似参考帧的3d点,并将所述3d点变换到世界坐标系中;
在所述世界坐标系中,保留当前帧到地图点向量与参考帧到地图点向量夹角小于30°的点;
将剩余的地图点反投影到当前帧坐标系下,保留深度值d∈(0,7)的地图点;
将剩余的地图点转换到当前像素坐标系下,以当前帧剩余的关键点为目标区域,遍历所述目标区域内的每个点,得到潜在动态点;
计算所述潜在动态点的深度差;
若所述深度差大于预设阈值,则将所述潜在动态点确认为静态点;
若所述深度差小于所述预设阈值,则将所述潜在动态点确认为动态点;
剔除所述动态点。
为了解决上述技术问题,本申请实施例还提供一种应用于视觉SLAM系统的目标检测装置,采用了如下所述的技术方案:
请求接收模块,用于接收用户终端发送的携带有目标对象集合的目标检测请求;
网络优化模块,用于调用初始YOLOv5目标检测网络,并根据所述目标对象集合以及微调损失函数对所述初始YOLOv5目标检测网络进行优化操作,得到目标YOLOv5目标检测网络;
图像获取模块,用于获取图像采集设备采集到的原始图像;
目标检测模块,用于根据所述目标YOLOv5目标检测网络对所述原始图像进行动态目标检测操作,得到初始检测结果;
漏检补偿模块,用于根据卡尔曼滤波器对所述初始检测结果进行漏检补偿操作,得到中间检测结果;
比值计算模块,用于获取所述中间检测结果的目标检测框,并计算所述目标检测框与所述原始图像面积的比值;
第一检测结果确认模块,用于若所述比值不满足预设阈值,则根据多视角几何对所述中间检测结果进行动态点剔除操作,得到目标检测结果;
第二检测结果确认模块,用于若所述比值满足所述预设阈值,则将所述中间检测结果作为目标检测结果。
进一步的,所述漏检补偿模块包括:
跟踪数量获取子模块,用于若所述原始图像的当前帧检测数量少于上一帧检测数量时,获取所述卡尔曼滤波器检测到的跟踪数量;
检测数量保持子模块,用于若所述跟踪数量等于所述当前帧检测数量,则保持所述当前帧检测数量;
检测数量修正子模块,用于若所述跟踪数量大于所述当前帧检测数量,则将所述当前帧检测数量修正为所述跟踪数量。
进一步的,所述第一检测结果确认模块包括:
相似参考帧获取子模块,用于在所述中间检测结果的当前帧中获取N个相似参考帧;
坐标系构建子模块,用于在所述相似参考帧中选取深度d∈(0,6)的特征点,计算所述相似参考帧的3d点,并将所述3d点变换到世界坐标系中;
第一特征点筛选子模块,用于在所述世界坐标系中,保留当前帧到地图点向量与参考帧到地图点向量夹角小于30°的点;
第二特征点筛选子子模块,用于将剩余的地图点反投影到当前帧坐标系下,保留深度值d∈(0,7)的地图点;
潜在特征点获取子模块,用于将剩余的地图点转换到当前像素坐标系下,以当前帧剩余的关键点为目标区域,遍历所述目标区域内的每个点,得到潜在动态点;
深度差计算子模块,用于计算所述潜在动态点的深度差;
静态点确认子模块,用于若所述深度差大于预设阈值,则将所述潜在动态点确认为静态点;
动态点确认子模块,用于若所述深度差小于所述预设阈值,则将所述潜在动态点确认为动态点;
动态点剔除子模块,用于剔除所述动态点。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如上所述的应用于视觉SLAM系统的目标检测方法的步骤。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上所述的应用于视觉SLAM系统的目标检测方法的步骤。
本申请提供了一种应用于视觉SLAM系统的目标检测方法,包括:接收用户终端发送的携带有目标对象集合的目标检测请求;调用初始YOLOv5目标检测网络,并根据所述目标对象集合以及微调损失函数对所述初始YOLOv5目标检测网络进行检测性能优化操作,得到目标YOLOv5目标检测网络;获取图像采集设备采集到的原始图像;根据所述目标YOLOv5目标检测网络对所述原始图像进行动态目标检测操作,得到初始检测结果;根据卡尔曼滤波器对所述初始检测结果进行漏检补偿操作,得到中间检测结果;获取所述中间检测结果的目标检测框,并计算所述目标检测框与所述原始图像面积的比值;若所述比值不满足预设阈值,则根据多视角几何对所述中间检测结果进行动态点剔除操作,得到目标检测结果;若所述比值满足所述预设阈值,则将所述中间检测结果作为目标检测结果。与现有技术相比,本申请基于YOLOv5目标检测,采用卡尔曼滤波器和匈牙利算法补充漏检,尽可能一次性提取出所有潜在的动态特征点,同时,当Bounding box比例超过阈值时,采用多视点几何算法保留动态目标框中的静态点,保证有足够的静态特征点进行定位建图,从而提高动态场景下SLAM系统的精度和效率。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性系统架构图;
图2是本申请实施例一提供的应用于视觉SLAM系统的目标检测方法的实现流程图;
图3是本申请实施例一提供的多视角几何的示意图。
图4是本申请实施例二提供的应用于视觉SLAM系统的目标检测装置的结构示意图;
图5是根据本申请的计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本申请所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本申请中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving PictureExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(MovingPictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的应用于视觉SLAM系统的目标检测方法一般由服务器/终端设备执行,相应地,应用于视觉SLAM系统的目标检测装置一般设置于服务器/终端设备中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的应用于视觉SLAM系统的目标检测方法的一个实施例的流程图。的应用于视觉SLAM系统的目标检测方法,包括:步骤S201、步骤S202、步骤S203、步骤S204、步骤S205、步骤S206、步骤S207以及步骤S208。
在步骤S201中,接收用户终端发送的携带有目标对象集合的目标检测请求。
在本申请实施例中,用户终端指的是用于执行本申请提供的预防证件滥用的图像处理方法的终端设备,该用户终端可以是诸如移动电话、智能电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、导航装置等等的移动终端以及诸如数字TV、台式计算机等等的固定终端,应当理解,此处对用户终端的举例仅为方便理解,不用于限定本申请。
在步骤S202中,调用初始YOLOv5目标检测网络,并根据目标对象集合以及微调损失函数对初始YOLOv5目标检测网络进行优化操作,得到目标YOLOv5目标检测网络。
在步骤S203中,获取图像采集设备采集到的原始图像。
在步骤S204中,根据目标YOLOv5目标检测网络对原始图像进行动态目标检测操作,得到初始检测结果。
在本申请实施例中,YOLOv5的输入为RGB原始图像。本申请将可能是动态的对象集合设为Sd,其中:
Sd=S1∪S2∪…∪Sc
其中,c=3,S1是人的子集,S2是车的子集,S3是动物的子集。
在本实施例的一些可选的实现方式中,微调损失函数L表示为:
其中,i=1,2,…,N表示N个种类;ci∈{1,2,…,c};ω(ci)表示ci的权重,yi表示真实标签为类别i的概率;pi表示模型的预测概率。
在本申请实施例中,调整Sd内物体类别的权重,使关注的类别具有更高的权重,从而促使模型更好地检测这些物体。
在本申请实施例中,YOLOv5用于处理动态对象,作为高速、实时对象检测网络,能够识别潜在的先前动态对象所在的区域。TR-SLAM和DS-SLAM利用轻微语义分割网络SegNet,YOLOv5相比它们具有更低的计算复杂度和更快的运行速度。此外,Dyna-SLAM利用Mask-RCNN,与Dyna-SLAM相比,在相同硬件条件下,YOLOv5处理一帧的时间仅为Mask-RCNN所需时间的三分之一左右。因此,它的运行速度表现出色。该模块检测场景内先验的动态对象,并将所有特征点视为潜在的动态点。
在步骤S205中,根据卡尔曼滤波器对初始检测结果进行漏检补偿操作,得到中间检测结果。
在实际使用中,SLAM小车经常面临一些情况,如快速转弯、不平整的路面等,这些情况容易导致摄像头拍摄到模糊的画面。由于图像模糊,YOLOv5在检测动态物体时容易出现漏检的情况,进而影响SLAM系统对动态物体的特征提取和特征匹配,从而降低了SLAM建图的质量和精度。为了解决这一问题,本申请使用卡尔曼滤波器进行漏检补充。该方法通过检查补充漏检的物体,提高了检测的准确性和稳定性。基于卡尔曼滤波器,本申请能够有效处理YOLO的漏检问题,可以提供更准确和可靠的检测结果,从而改善SLAM系统的建图质量和精度。
在本申请实施例中,将先验动态物体的状态向量Xk定义为:
Xk=[x,y,s,r,vx,vy,vs]T
其中,x,y是目标框左上角的坐标,s,r分别是目标框的面积和宽高比。vx,vy是目标框在x,y方向上的速度,vs是目标框的面积变化率。
在本申请实施例中,因为视频相邻两帧时间间隔很短,所以可以认为动态物体在帧间是匀速运动,假设每帧之间时间间隔为Δt,则可以把状态转移矩阵和观测矩阵分别定义为:
在本申请实施例中,将Δt设为1帧。
本申请可以根据未匹配的预测框来修正漏检动态区域的检测结果。本申请计算漏检的逻辑是:当目标检测的数量少于上一帧检测的数量时,检查Kalman滤波器跟踪的数量是否大于当前帧的检测数量,如果大于,说明发生了漏检,则使用追踪到的结果修正检测的结果。如果目标跟踪的数量等于当前帧的检测数量,则保持当前的检测结果输出。
在本实施例的一些可选的实现方式中,卡尔曼滤波器的状态方程Xk以及观测方程Zk表示为:
Xk=φk-1,kXk-1+wk-1
Zk=HkXk+vk
其中,下标k表示k时刻,k-1即表示k-1时刻;Xk表示动态物体的状态向量,其状态向量包含了动态物体的几何、运动特征;Zk表示动态物体的观测向量;φk-1,k表示k-1时刻到k时刻的状态转移矩阵;Hk表示观测矩阵;wk-1表示系统的噪声向量;vk表示观测的噪声向量;wk、vk一般都是服从零均值高斯分布的白噪声序列,其协方差矩阵分别是Qk、Rk,假设Qk、Rk都是服从零均值高斯分布的噪声向量。
在步骤S206中,获取中间检测结果的目标检测框,并计算目标检测框与原始图像面积的比值。
在步骤S207中,若比值不满足预设阈值,则根据多视角几何对中间检测结果进行动态点剔除操作,得到目标检测结果。
在步骤S208中,若比值满足预设阈值,则将中间检测结果作为目标检测结果。
在本申请实施例中,虽然经过卡尔曼滤波器修正漏检区域后可以解决漏检的问题,但是在卡尔曼修正漏检动态区域的情况下,有些预测框的面积达到了图像帧的80%甚至更多。如果直接去除这些框内的动态点,会导致特征点数量过少,从而降低建图的精度。因此,本申请利用多视角几何匹配动态特征点。
在本申请实施例中,为了提升系统效率,本文不对所有帧进行多视角几何约束。令输入图片面积大小为S1,图中所有目标检测框的面积和为S2,则有:
本文取τ=0.7,当T<τ时,可以直接剔除动态区域内所有的特征点,仅使用静态区域内的特征点进行特征匹配和建图,在这种情况下,认为其有足够的特征点进行特征点匹配。当T>τ时,对于动态区域的特征点,则需要加入多视角几何约束关系来进一步区分动态和静态特征点。通过这种方式,我们可以根据不同场景的不同情况来处理特征点,在保证实时性的同时,保障系统的稳定性和建图的精度。
在本申请实施例中,提供了一种应用于视觉SLAM系统的目标检测方法,包括:接收用户终端发送的携带有目标对象集合的目标检测请求;调用初始YOLOv5目标检测网络,并根据目标对象集合以及微调损失函数对初始YOLOv5目标检测网络进行优化操作,得到目标YOLOv5目标检测网络;获取图像采集设备采集到的原始图像;根据目标YOLOv5目标检测网络对原始图像进行动态目标检测操作,得到初始检测结果;根据卡尔曼滤波器对初始检测结果进行漏检补偿操作,得到中间检测结果;获取中间检测结果的目标检测框,并计算目标检测框与原始图像面积的比值;若比值不满足预设阈值,则根据多视角几何对中间检测结果进行动态点剔除操作,得到目标检测结果;若比值满足预设阈值,则将中间检测结果作为目标检测结果。与现有技术相比,本申请基于YOLOv5目标检测,采用卡尔曼滤波器和匈牙利算法补充漏检,尽可能一次性提取出所有潜在的动态特征点,同时,当Bounding box比例超过阈值时,采用多视点几何算法保留动态目标框中的静态点,保证有足够的静态特征点进行定位建图,从而提高动态场景下SLAM系统的精度和效率。
在本实施例的一些可选的实现方式中,步骤S205具体包括以下步骤:
若原始图像的当前帧检测数量少于上一帧检测数量时,获取卡尔曼滤波器检测到的跟踪数量;
若跟踪数量等于当前帧检测数量,则保持当前帧检测数量;
若跟踪数量大于当前帧检测数量,则将当前帧检测数量修正为跟踪数量。
在本实施例的一些可选的实现方式中,步骤S207具体包括以下步骤:
在中间检测结果的当前帧中获取N个相似参考帧;
在相似参考帧中选取深度d∈(0,6)的特征点,计算相似参考帧的3d点,并将3d点变换到世界坐标系中;
在世界坐标系中,保留当前帧到地图点向量与参考帧到地图点向量夹角小于30°的点;
将剩余的地图点反投影到当前帧坐标系下,保留深度值d∈(0,7)的地图点;
将剩余的地图点转换到当前像素坐标系下,以当前帧剩余的关键点为目标区域,遍历目标区域内的每个点,得到潜在动态点;
计算潜在动态点的深度差;
若深度差大于预设阈值,则将潜在动态点确认为静态点;
若深度差小于预设阈值,则将潜在动态点确认为动态点;
剔除动态点。
在本申请实施例中,基于多视角几何剔除动态点的基本算法流程如下:
1)对当前帧求取最相似的3个参考帧。
vDist=0.7×vTrans+0.3×vRot;
其中,vDist是当前帧和关键帧距离排序的队列,记为参考帧队列,将两帧平移距离之差归一化后得到vTrans,将两帧欧拉角距离之差归一化后得到vRot。本文将参考帧队列大小设为3。
2)选取参考帧中深度d∈(0,6)的特征点,计算参考帧下3d点,再变换到世界坐标系下。
3)保留当前帧到地图点向量与参考帧到地图点向量夹角小于30°的点,如图3(左图)所示。p是参考帧的特征点,p′是当前帧的特征点,P是地图点,其夹角∠pPp′=α。当α>30°时,则这个点可能是动态点,则将其忽略。
4)将剩余的地图点反投影到当前帧坐标系下,保留深度值d∈(0,7)的地图点。
5)再将剩余的地图点转换到当前像素坐标系下,以当前帧剩余的关键点为中心,以一个小区域(patch)的形式,遍历小区域内的每个点。对于每个像素点,判断其深度值是否大于零,并且小于当前关键点(区域中心)处参考帧投影点的深度值。如果满足这些条件,将其视为潜在的动态对象点,因为说明这个特征点可能被动态物体遮挡导致深度值变小。
6)计算这些潜在动态点的深度差。如果深度差大于设定的阈值,就进一步计算周围区域内深度的均值和方差。如果深度差大于阈值,表示此区域本身就存在复杂的遮挡关系,将其判定为静态点。如果深度差小于阈值,则将其判定为动态点。正如图3(右图)所示,参考帧KF的关键点p投影到当前帧CF,对应于p′,其投影深度值为图中zproj。此时,当前帧p′的深度值为z′,它被遮挡所以z′<<zproj,点p′是动态特征点。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本申请中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
实施例二
进一步参考图4,作为对上述图2所示方法的实现,本申请提供了一种应用于视觉SLAM系统的目标检测装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图4所示,本实施例的应用于视觉SLAM系统的目标检测装置200包括:
请求接收模块210,用于接收用户终端发送的携带有目标对象集合的目标检测请求;
网络优化模块220,用于调用初始YOLOv5目标检测网络,并根据目标对象集合以及微调损失函数对初始YOLOv5目标检测网络进行优化操作,得到目标YOLOv5目标检测网络;
图像获取模块230,用于获取图像采集设备采集到的原始图像;
目标检测模块240,用于根据目标YOLOv5目标检测网络对原始图像进行动态目标检测操作,得到初始检测结果;
漏检补偿模块250,用于根据卡尔曼滤波器对初始检测结果进行漏检补偿操作,得到中间检测结果;
比值计算模块260,用于获取中间检测结果的目标检测框,并计算目标检测框与原始图像面积的比值;
第一检测结果确认模块270,用于若比值不满足预设阈值,则根据多视角几何对中间检测结果进行动态点剔除操作,得到目标检测结果;
第二检测结果确认模块280,用于若比值满足预设阈值,则将中间检测结果作为目标检测结果。
在本实施例中,提供了一种应用于视觉SLAM系统的目标检测装置200,包括:请求接收模块210,用于接收用户终端发送的携带有目标对象集合的目标检测请求;网络优化模块220,用于调用初始YOLOv5目标检测网络,并根据目标对象集合以及微调损失函数对初始YOLOv5目标检测网络进行优化操作,得到目标YOLOv5目标检测网络;图像获取模块230,用于获取图像采集设备采集到的原始图像;目标检测模块240,用于根据目标YOLOv5目标检测网络对原始图像进行动态目标检测操作,得到初始检测结果;漏检补偿模块250,用于根据卡尔曼滤波器对初始检测结果进行漏检补偿操作,得到中间检测结果;比值计算模块260,用于获取中间检测结果的目标检测框,并计算目标检测框与原始图像面积的比值;第一检测结果确认模块270,用于若比值不满足预设阈值,则根据多视角几何对中间检测结果进行动态点剔除操作,得到目标检测结果;第二检测结果确认模块280,用于若比值满足预设阈值,则将中间检测结果作为目标检测结果。与现有技术相比,本申请基于YOLOv5目标检测,采用卡尔曼滤波器和匈牙利算法补充漏检,尽可能一次性提取出所有潜在的动态特征点,同时,当Bounding box比例超过阈值时,采用多视点几何算法保留动态目标框中的静态点,保证有足够的静态特征点进行定位建图,从而提高动态场景下SLAM系统的精度和效率。
在本实施例的一些可选的实现方式中,上述漏检补偿模块250包括:
跟踪数量获取子模块,用于若原始图像的当前帧检测数量少于上一帧检测数量时,获取卡尔曼滤波器检测到的跟踪数量;
检测数量保持子模块,用于若跟踪数量等于当前帧检测数量,则保持当前帧检测数量;
检测数量修正子模块,用于若跟踪数量大于当前帧检测数量,则将当前帧检测数量修正为跟踪数量。
在本实施例的一些可选的实现方式中,上述动态点剔除260包括:
相似参考帧获取子模块,用于在中间检测结果的当前帧中获取N个相似参考帧;
坐标系构建子模块,用于在相似参考帧中选取深度d∈(0,6)的特征点,计算相似参考帧的3d点,并将3d点变换到世界坐标系中;
第一特征点筛选子模块,用于在世界坐标系中,保留当前帧到地图点向量与参考帧到地图点向量夹角小于30°的点;
第二特征点筛选子子模块,用于将剩余的地图点反投影到当前帧坐标系下,保留深度值d∈(0,7)的地图点;
潜在特征点获取子模块,用于将剩余的地图点转换到当前像素坐标系下,以当前帧剩余的关键点为目标区域,遍历目标区域内的每个点,得到潜在动态点;
深度差计算子模块,用于计算潜在动态点的深度差;
静态点确认子模块,用于若深度差大于预设阈值,则将潜在动态点确认为静态点;
动态点确认子模块,用于若深度差小于预设阈值,则将潜在动态点确认为动态点;
动态点剔除子模块,用于剔除动态点。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图5,图5为本实施例计算机设备基本结构框图。
所述计算机设备300包括通过系统总线相互通信连接存储器310、处理器320、网络接口330。需要指出的是,图中仅示出了具有组件310-330的计算机设备300,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器310至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器310可以是所述计算机设备300的内部存储单元,例如该计算机设备300的硬盘或内存。在另一些实施例中,所述存储器310也可以是所述计算机设备300的外部存储设备,例如该计算机设备300上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器310还可以既包括所述计算机设备300的内部存储单元也包括其外部存储设备。本实施例中,所述存储器310通常用于存储安装于所述计算机设备300的操作系统和各类应用软件,例如应用于视觉SLAM系统的目标检测方法的计算机可读指令等。此外,所述存储器310还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器320在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器320通常用于控制所述计算机设备300的总体操作。本实施例中,所述处理器320用于运行所述存储器310中存储的计算机可读指令或者处理数据,例如运行所述应用于视觉SLAM系统的目标检测方法的计算机可读指令。
所述网络接口330可包括无线网络接口或有线网络接口,该网络接口330通常用于在所述计算机设备300与其他电子设备之间建立通信连接。
本申请提供的计算机设备,基于YOLOv5目标检测,采用卡尔曼滤波器和匈牙利算法补充漏检,尽可能一次性提取出所有潜在的动态特征点,同时,当Bounding box比例超过阈值时,采用多视点几何算法保留动态目标框中的静态点,保证有足够的静态特征点进行定位建图,从而提高动态场景下SLAM系统的精度和效率。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的应用于视觉SLAM系统的目标检测方法的步骤。
本申请提供的计算机可读存储介质,基于YOLOv5目标检测,采用卡尔曼滤波器和匈牙利算法补充漏检,尽可能一次性提取出所有潜在的动态特征点,同时,当Bounding box比例超过阈值时,采用多视点几何算法保留动态目标框中的静态点,保证有足够的静态特征点进行定位建图,从而提高动态场景下SLAM系统的精度和效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (10)
1.一种应用于视觉SLAM系统的目标检测方法,其特征在于,包括下述步骤:
接收用户终端发送的携带有目标对象集合的目标检测请求;
调用初始YOLOv5目标检测网络,并根据所述目标对象集合以及微调损失函数对所述初始YOLOv5目标检测网络进行检测性能优化操作,得到目标YOLOv5目标检测网络;
获取图像采集设备采集到的原始图像;
根据所述目标YOLOv5目标检测网络对所述原始图像进行动态目标检测操作,得到初始检测结果;
根据卡尔曼滤波器对所述初始检测结果进行漏检补偿操作,得到中间检测结果;
获取所述中间检测结果的目标检测框,并计算所述目标检测框与所述原始图像面积的比值;
若所述比值不满足预设阈值,则根据多视角几何对所述中间检测结果进行动态点剔除操作,得到目标检测结果;
若所述比值满足所述预设阈值,则将所述中间检测结果作为目标检测结果。
2.根据权利要求1所述的应用于视觉SLAM系统的目标检测方法,其特征在于,所述目标对象集合Sd表示为:
Sd=S1∪S2∪…∪Sc
所述微调损失函数L表示为:
其中,i=1,2,...,N表示N个种类;ci∈{1,2,...,c};ω(ci)表示ci的权重,yi表示真实标签为类别i的概率;pi表示模型的预测概率。
3.根据权利要求1所述的应用于视觉SLAM系统的目标检测方法,其特征在于,所述卡尔曼滤波器的状态方程Xk以及观测方程Zk表示为:
Xk=φk-1,kXk-1+wk-1
Zk=HkXk+Vk
其中,下标k表示k时刻,k-1即表示k-1时刻;Xk表示动态物体的状态向量,其状态向量包含了动态物体的几何、运动特征;Zk表示动态物体的观测向量;φk-1,k表示k-1时刻到k时刻的状态转移矩阵;Hk表示观测矩阵;wk-1表示系统的噪声向量;vk表示观测的噪声向量;wk、vk一般都是服从零均值高斯分布的白噪声序列,其协方差矩阵分别是Qk、Rk,假设Qk、Rk都是服从零均值高斯分布的噪声向量。
4.根据权利要求1所述的应用于视觉SLAM系统的目标检测方法,其特征在于,所述根据卡尔曼滤波器对所述初始检测结果进行漏检补偿操作,得到中间检测结果的步骤,具体包括下述步骤:
若所述原始图像的当前帧检测数量少于上一帧检测数量时,获取所述卡尔曼滤波器检测到的跟踪数量;
若所述跟踪数量等于所述当前帧检测数量,则保持所述当前帧检测数量;
若所述跟踪数量大于所述当前帧检测数量,则将所述当前帧检测数量修正为所述跟踪数量。
5.根据权利要求1所述的应用于视觉SLAM系统的目标检测方法,其特征在于,所述根据多视角几何对所述中间检测结果进行动态点剔除操作,得到目标检测结果的步骤,具体包括下述步骤:
在所述中间检测结果的当前帧中获取N个相似参考帧;
在所述相似参考帧中选取深度d∈(0,6)的特征点,计算所述相似参考帧的3d点,并将所述3d点变换到世界坐标系中;
在所述世界坐标系中,保留当前帧到地图点向量与参考帧到地图点向量夹角小于30°的点;
将剩余的地图点反投影到当前帧坐标系下,保留深度值d∈(0,7)的地图点;
将剩余的地图点转换到当前像素坐标系下,以当前帧剩余的关键点为目标区域,遍历所述目标区域内的每个点,得到潜在动态点;
计算所述潜在动态点的深度差;
若所述深度差大于预设阈值,则将所述潜在动态点确认为静态点;
若所述深度差小于所述预设阈值,则将所述潜在动态点确认为动态点;
剔除所述动态点。
6.一种应用于视觉SLAM系统的目标检测装置,其特征在于,包括:
请求接收模块,用于接收用户终端发送的携带有目标对象集合的目标检测请求;
网络优化模块,用于调用初始YOLOv5目标检测网络,并根据所述目标对象集合以及微调损失函数对所述初始YOLOv5目标检测网络进行优化操作,得到目标YOLOv5目标检测网络;
图像获取模块,用于获取图像采集设备采集到的原始图像;
目标检测模块,用于根据所述目标YOLOv5目标检测网络对所述原始图像进行动态目标检测操作,得到初始检测结果;
漏检补偿模块,用于根据卡尔曼滤波器对所述初始检测结果进行漏检补偿操作,得到中间检测结果;
比值计算模块,用于获取所述中间检测结果的目标检测框,并计算所述目标检测框与所述原始图像面积的比值;
第一检测结果确认模块,用于若所述比值不满足预设阈值,则根据多视角几何对所述中间检测结果进行动态点剔除操作,得到目标检测结果;
第二检测结果确认模块,用于若所述比值满足所述预设阈值,则将所述中间检测结果作为目标检测结果。
7.根据权利要求6所述的应用于视觉SLAM系统的目标检测装置,其特征在于,所述漏检补偿模块包括:
跟踪数量获取子模块,用于若所述原始图像的当前帧检测数量少于上一帧检测数量时,获取所述卡尔曼滤波器检测到的跟踪数量;
检测数量保持子模块,用于若所述跟踪数量等于所述当前帧检测数量,则保持所述当前帧检测数量;
检测数量修正子模块,用于若所述跟踪数量大于所述当前帧检测数量,则将所述当前帧检测数量修正为所述跟踪数量。
8.根据权利要求6所述的应用于视觉SLAM系统的目标检测装置,其特征在于,所述第一检测结果确认模块包括:
相似参考帧获取子模块,用于在所述中间检测结果的当前帧中获取N个相似参考帧;
坐标系构建子模块,用于在所述相似参考帧中选取深度d∈(0,6)的特征点,计算所述相似参考帧的3d点,并将所述3d点变换到世界坐标系中;
第一特征点筛选子模块,用于在所述世界坐标系中,保留当前帧到地图点向量与参考帧到地图点向量夹角小于30°的点;
第二特征点筛选子子模块,用于将剩余的地图点反投影到当前帧坐标系下,保留深度值d∈(0,7)的地图点;
潜在特征点获取子模块,用于将剩余的地图点转换到当前像素坐标系下,以当前帧剩余的关键点为目标区域,遍历所述目标区域内的每个点,得到潜在动态点;
深度差计算子模块,用于计算所述潜在动态点的深度差;
静态点确认子模块,用于若所述深度差大于预设阈值,则将所述潜在动态点确认为静态点;
动态点确认子模块,用于若所述深度差小于所述预设阈值,则将所述潜在动态点确认为动态点;
动态点剔除子模块,用于剔除所述动态点。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至6中任一项所述的应用于视觉SLAM系统的目标检测方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至6中任一项所述的应用于视觉SLAM系统的目标检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410091158.8A CN118038018A (zh) | 2024-01-22 | 2024-01-22 | 一种应用于视觉slam系统的目标检测方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410091158.8A CN118038018A (zh) | 2024-01-22 | 2024-01-22 | 一种应用于视觉slam系统的目标检测方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118038018A true CN118038018A (zh) | 2024-05-14 |
Family
ID=90987056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410091158.8A Pending CN118038018A (zh) | 2024-01-22 | 2024-01-22 | 一种应用于视觉slam系统的目标检测方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118038018A (zh) |
-
2024
- 2024-01-22 CN CN202410091158.8A patent/CN118038018A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102319177B1 (ko) | 이미지 내의 객체 자세를 결정하는 방법 및 장치, 장비, 및 저장 매체 | |
Gao et al. | Robust RGB-D simultaneous localization and mapping using planar point features | |
CN114550177B (zh) | 图像处理的方法、文本识别方法及装置 | |
US10606824B1 (en) | Update service in a distributed environment | |
CN110363817B (zh) | 目标位姿估计方法、电子设备和介质 | |
CN108537844B (zh) | 一种融合几何信息的视觉slam回环检测方法 | |
CN112435338B (zh) | 电子地图的兴趣点的位置获取方法、装置及电子设备 | |
CN110866497B (zh) | 基于点线特征融合的机器人定位与建图方法和装置 | |
CN112560684B (zh) | 车道线检测方法、装置、电子设备、存储介质以及车辆 | |
CN113704531A (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
CN111639147B (zh) | 一种地图压缩方法、系统及计算机可读存储介质 | |
EP4050305A1 (en) | Visual positioning method and device | |
Tian et al. | Scene Text Detection in Video by Learning Locally and Globally. | |
CN113793370B (zh) | 三维点云配准方法、装置、电子设备及可读介质 | |
CN114565668A (zh) | 即时定位与建图方法及装置 | |
CN116310993A (zh) | 目标检测方法、装置、设备及存储介质 | |
CN110111364B (zh) | 运动检测方法、装置、电子设备及存储介质 | |
CN113688839B (zh) | 视频处理方法及装置、电子设备、计算机可读存储介质 | |
CN115018999A (zh) | 一种多机器人协作的稠密点云地图构建方法及装置 | |
Turk et al. | Computer vision for mobile augmented reality | |
CN113112398A (zh) | 图像处理方法和装置 | |
US20230089845A1 (en) | Visual Localization Method and Apparatus | |
CN112085842A (zh) | 深度值确定方法及装置、电子设备和存储介质 | |
CN118038018A (zh) | 一种应用于视觉slam系统的目标检测方法及相关设备 | |
CN113763468B (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 |