CN113076914B - 一种图像处理方法、装置、电子设备和存储介质 - Google Patents

一种图像处理方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN113076914B
CN113076914B CN202110414089.6A CN202110414089A CN113076914B CN 113076914 B CN113076914 B CN 113076914B CN 202110414089 A CN202110414089 A CN 202110414089A CN 113076914 B CN113076914 B CN 113076914B
Authority
CN
China
Prior art keywords
network
sub
image
descriptors
characteristic
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.)
Active
Application number
CN202110414089.6A
Other languages
English (en)
Other versions
CN113076914A (zh
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.)
China Mobile Communications Group Co Ltd
MIGU Culture Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
MIGU Culture 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 China Mobile Communications Group Co Ltd, MIGU Culture Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202110414089.6A priority Critical patent/CN113076914B/zh
Publication of CN113076914A publication Critical patent/CN113076914A/zh
Application granted granted Critical
Publication of CN113076914B publication Critical patent/CN113076914B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames

Landscapes

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

Abstract

本发明提供了一种图像处理方法、装置、电子设备和存储介质,通过对神经网络模型进行拆分得到的至少一个子网络,提取关键图像的特征点和描述子。其中,至少一个子网络中包括用于进行数学运算的数学运算子网络,使得模型中数学运算的部分能够独立于模型的其它处理过程,从而能够合理调整模型中数学运算的部分与其它处理过程的关系,进一步优化模型的推理过程,提高运算效率,有利于运算空间的合理利用。

Description

一种图像处理方法、装置、电子设备和存储介质
技术领域
本发明涉及计算机技术领域,尤其是涉及一种图像处理方法、装置、电子设备和存储介质。
背景技术
对图像及时高效的处理对实际应用具有重要意义,例如,用于实现自主导航的SLAM(simultaneous localization and mapping,同时定位和建图)系统中,需要能够及时高效地处理导航器采集的图像,从而实时确定导航器所在的位置以及导航器的姿态。
现有技术也存在一些提高运算速度从而实现及时高效处理图像的方法,例如,将ORBSLAM移植到NVIDIA Jetson TX2嵌入式计算设备上,在NVIDIA Jetson TX2上采用一种轻量级目标检测网络ARFSSD-Lite,通过降低特征提取网络的深度与输入分辨率,减少了计算量,并且基于CUDA和Tensor RT设计实时目标检测算法推理优化方案。然而,这种基于轻量级提高运算效率的方法都是基于传统的算子OP实现的,虽然在一定程度上提高了运算效率,但是仍然没有充分优化模型的推理能力,不能合理利用运算空间。
可见,现有技术没有充分优化模型的推理过程,模型的运算效率没有得到充分提升,且空间利用的合理性仍有待提高。
发明内容
本发明提供一种图像处理方法、装置、电子设备和存储介质,用以解决现有技术没有充分优化模型的推理过程,模型的运算效率没有得到充分提升,且空间利用的合理性仍有待提高的问题,实现能够合理调整模型中数学运算的部分与其它处理过程的关系,进一步优化模型的推理过程,提高运算效率。
本发明提供一种图像处理方法,包括:
获取关键图像;其中,所述关键图像为从输入图像中筛选的待提取特征点和描述子的图像;
通过对神经网络模型进行拆分得到的至少一个子网络,提取所述关键图像的特征点和描述子;
其中,所述至少一个子网络中包括数学运算子网络;所述数学运算子网络用于根据特征得分图和方向得分图进行数学运算,得到所述特征点和用于提取所述描述子的运算结果;所述特征得分图和所述方向得分图基于所述关键图像得到。
根据本发明提供一种图像处理方法,在上述基础上,所述通过对神经网络模型进行拆分得到的至少一个子网络,提取所述关键图像的特征点和描述子,包括:
通过所述至少一个子网络中的特征点检测子网络,基于所述关键图像生成所述特征得分图和所述方向得分图;
通过所述数学运算子网络,基于所述特征得分图进行数学运算得到所述特征点,并基于所述特征点和所述方向得分图进行数学运算得到所述运算结果;
通过所述至少一个子网络中的描述子提取子网络,基于所述运算结果得到所述描述子。
根据本发明提供一种图像处理方法,在上述基础上,所述通过所述至少一个子网络中的特征点检测子网络,基于所述关键图像生成所述特征得分图和所述方向得分图,包括:
获取所述特征点检测子网络中的感受野;所述感受野基于对所述神经网络模型进行裁剪确定;
通过所述感受野,基于所述关键图像生成所述特征得分图和所述方向得分图。
根据本发明提供一种图像处理方法,在上述基础上,所述获取关键图像,包括:
获取对环境采集的图像,作为所述输入图像;
若相邻两帧输入图像之间的像素位移大于设定阈值,则将所述相邻两帧输入图像作为所述关键图像。
根据本发明提供一种图像处理方法,在上述基础上,在获取关键图像之前,还包括:
创建至少一个流操作,以通过所述至少一个流操作提取所述关键图像的特征点和描述子;
其中,所述至少一个流操作中至少包括如下任一种:用于获取所述输入图像的流操作、用于从所述输入图像中筛选所述关键图像的流操作、用于提取所述关键图像的特征点和描述子的流操作。
根据本发明提供一种图像处理方法,在上述基础上,在提取所述关键图像的特征点和描述子之后,还包括:
根据所述关键图像的特征点和描述子,确定用于获取所述输入图像的设备对应的位姿信息。
根据本发明提供一种图像处理方法,在上述基础上,在提取所述关键图像的特征点和描述子之后,还包括:
根据所述关键图像的特征点和描述子,对用于获取所述输入图像的设备进行回环检测,以确定所述设备是否行驶到已经到达过的位置。
本发明还提供一种图像处理装置,包括:
获取单元,用于获取关键图像;其中,所述关键图像为从输入图像中筛选的待提取特征点和描述子的图像;
提取单元,用于通过对神经网络模型进行拆分得到的至少一个子网络,提取所述关键图像的特征点和描述子;
其中,所述至少一个子网络中包括数学运算子网络;所述数学运算子网络用于根据特征得分图和方向得分图进行数学运算,得到所述特征点和用于提取所述描述子的运算结果;所述特征得分图和所述方向得分图基于所述关键图像得到。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以上任一种所述的图像处理方法的步骤。
本发明还提供一种非暂态可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以上任一种所述的图像处理方法的步骤。
本发明提供的一种图像处理方法、装置、电子设备和存储介质,通过对神经网络模型进行拆分得到的至少一个子网络,提取关键图像的特征点和描述子。其中,至少一个子网络中包括用于进行数学运算的数学运算子网络,使得模型中数学运算的部分能够独立于模型的其它处理过程,从而能够合理调整模型中数学运算的部分与其它处理过程的关系,进一步优化模型的推理过程,提高运算效率,有利于运算空间的合理利用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的一种图像处理方法的流程示意图之一;
图2是本发明另一实施例提供的拆分的RF-net网络结构示意图;
图3是本发明另一实施例提供的TX2加速模块设计框图;
图4是本发明另一实施例提供的图像处理装置的结构框图之一;
图5是本发明另一实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本实施例提供的图像处理方法的流程示意图,应用于图形处理器GPU,该处理器可以位于应用于嵌入式设备TX2的Device中,参见图1,该图像处理方法包括:
步骤101:获取关键图像;其中,所述关键图像为从输入图像中筛选的待提取特征点和描述子的图像;
输入图像为设备行驶过程中对环境采集的图像,例如,对于植入到嵌入式系统TX2中的SLAM,自主导航的机器人通过host中的传感器模块捕获到图像,将捕获到的图像作为输入图像并通过device提取特征点和描述子,进而实现位姿信息的确定和回环检测。通常将输入图像中像素差异较大的图像作为关键图像。
步骤102:通过对神经网络模型进行拆分得到的至少一个子网络,提取所述关键图像的特征点和描述子;其中,所述至少一个子网络中包括数学运算子网络;所述数学运算子网络用于根据特征得分图和方向得分图进行数学运算,得到所述特征点和用于提取所述描述子的运算结果;所述特征得分图和所述方向得分图基于所述关键图像得到。
其中,所述数学运算包括如下至少一种:像素最大响应概率的运算、高斯滤波预算、非极大值抑制和特征点区域分割。
神经网络模型可以包括深度神经网络模型(RF-net)。为了更加合理的利用计算资源,本实施例基于神经网络模型拆分出用于进行数学运算的数学运算子网络,从而使得数学运算的部分能够独立运行。在对图像进行处理的过程中,可以通过数学运算子网络单独执行数学运算的过程,而不需要通过传统方式进行数学运算,从而能够对不同的图像处理过程更好地分配计算资源,提高运算能力。
例如,对于嵌入式设备TX2,在通过TensorRT对模型的推理进行加速的过程中,可以通过上述方法,对RF-net拆分出数学运算子网络MathModule,从而将复杂的数学运算提取出网络独立计算。然后再结合已有的网络算子OP将RF-net对图像处理的整个过程拆分成不同的子网络,各子网络的处理过程独立运行,从而能够更好的利用运算空间,提高运算速度。
其中,关于TensorRT需要说明的是,TensorRT是一个高性能的深度学习推理(Inference)优化器,可以为深度学习应用提供低延迟、高吞吐率的部署推理。TensorRT可用于对超大规模数据中心、嵌入式平台或自动驾驶平台进行推理加速。TensorRT现已能支持TensorFlow、Caffe、Mxnet、Pytorch等几乎所有的深度学习框架,将TensorRT和NVIDIA的GPU结合起来,能在几乎所有的框架中进行快速和高效的部署推理。
本实施例提供的一种图像处理方法,通过对神经网络模型进行拆分得到的至少一个子网络,提取关键图像的特征点和描述子。其中,至少一个子网络中包括用于进行数学运算的数学运算子网络,使得模型中数学运算的部分能够独立于模型的其它处理过程,从而能够合理调整模型中数学运算的部分与其它处理过程的关系,进一步优化模型的推理过程,提高运算效率,有利于运算空间的合理利用。
进一步地,在上述实施例的基础上,所述通过对神经网络模型进行拆分得到的至少一个子网络,提取所述关键图像的特征点和描述子,包括:
通过所述至少一个子网络中的特征点检测子网络,基于所述关键图像生成所述特征得分图和所述方向得分图;
通过所述数学运算子网络,基于所述特征得分图进行数学运算得到所述特征点,并基于所述特征点和所述方向得分图进行数学运算得到所述运算结果;
通过所述至少一个子网络中的描述子提取子网络,基于所述运算结果得到所述描述子。
在数学运算子网络实现数学运算的基础上,还从神经网络模型中拆分出特征点检测子网络和描述子提取子网络,从而通过拆分出的这三个子网络从关键图像中提取出特征点和描述子,以根据特征点和描述子进行后续的处理过程,例如,进行位姿信息的确定、回环检测等。
本实施例中,结合特征点检测子网络和描述子提取子网络实现了对关键图像特征点和描述子的提取。
例如,在通过TensorRT对模型的推理进行加速的过程中,可以将RF-net拆分成特征点检测子网络DetModule、数学运算子网络MathModule和描述子提取子网络DesModule三个子部分,其中,DetModule和DesModule都是一些常规的网络OP。通过这三个子部分可以提取关键图像的特征点和描述子。
进一步地,在上述各实施例的基础上,所述通过所述至少一个子网络中的特征点检测子网络,基于所述关键图像生成所述特征得分图和所述方向得分图,包括:
获取所述特征点检测子网络中的感受野;所述感受野基于对所述神经网络模型进行裁剪确定;
通过所述感受野,基于所述关键图像生成所述特征得分图和所述方向得分图。
其中,所述感受野包括4层,分别3*3、5*5、7*7和9*9的感受野。
本实施例中特征点检测子网络中仅保留了对神经网络模型进行裁剪得到的4层感受野,达到减小网络尺寸、降低计算量的目的。
图2为本实施例提供的拆分的RF-net网络结构示意图,参见图2,通过对RF-net网络进行拆分后提取特征点和描述子的过程可以包括DetModule、MathModule和DesModule,这三个子网络的实现逻辑大致为:
DetModule通过如下方式生成所述特征得分图和所述方向得分图:
通过3*3的卷积核逐层连接来获得递增的感受野,并在隔层之间相互连接,保证梯度。即特征图feature3由输入图像经过3*3的conv2d(),再经Batchnorm2d()、relu()得到;特征图feature5,由feature3经过3*3的conv2d(),再经Batchnorm2d()、relu()得到;特征图feature7,由(feature5+feature3)经过3*3的conv2d(),再经Batchnorm2d()、relu()得到;特征图feature9,由(feature7+feature5)经过3*3的conv2d(),再经Batchnorm2d()、relu()得到。
对每一个特征图进行conv2d()(输入通道数=1)、Batchnorm2d(),得到不同尺度下的4层得分图。
对每一个特征图进行conv2d()(输入通道数=2)、Batchnorm2d(),得到不同尺度下的4层方向图
对上述中每一层输入输出通道数相同的Conv2d(),均采用通道可分离卷积。
MathModule基于所述特征得分图和所述方向得分图进行如下数学处理过程:
像素最大响应概率:用于计算得分图各层中每个像素x在邻域内的最大响应概率:
exp_maps=exp(x–x_max)
probs=max(exp_maps(sum_exps))
其中:x_max为多层中的同一个像素位置的最大值;sum_exps为exp_maps在5*5的领域内的加和。
高斯滤波:采用7*7的滑窗,得到平滑后的统一尺度得分图,作为非极大值抑制模块的输入。
非极大值抑制:是用于根据单层得分图的响应值对其进行非极大值抑制,在5*5的邻域内保留响应值最大的一个特征点及其方向、尺度信息。
特征点区域分割:切割特征点像素位置16*16的邻域,并根据上述求得的特征方向进行旋转,保证特征主方向的一致性。
DesModule通过如下方式对上述的特征点邻域patch(16*16)进行描述子提取:
DesModule网络由4个卷积层组成,每个卷积层后面都进行批处理归一化和ReLU,最后一层除外。输出描述子是标准化的L2范数向量,其维数为64。
进一步地,在上述各实施例的基础上,所述获取关键图像,包括:
获取对环境采集的图像,作为所述输入图像;
若相邻两帧输入图像之间的像素位移大于设定阈值,则将所述相邻两帧输入图像作为所述关键图像。
为例减少计算量,本实施例仅对部分图像提取特征点和描述子,这部分图像是通过相邻两帧输入图像的像素位移差距来确定的,通常当相邻两帧输入图像的像素位移大于设定阈值时,可以将这相邻两帧输入图像作为关键图像进行特征点和描述子的提取。
举例来说,可以通过如下方式从输入图像中筛选关键图像:
对输入图像进行二维fft,并保留相连两帧的结果,频域相乘再做ifft得到两帧图像的二维相关图,由此计算相关图中第一峰值和第二峰值的比值d,当d>0.5时,取第一峰值的坐标计算两帧间的像素位移,当位移符合一定的阈值时,认为该帧是关键帧。
本实施例中,通过相邻两帧输入图像之间的像素位移从输入图像中筛选出关键图像,从而只需要对关键图像进行特征点和描述子的提取,降低了图像处理的运算量。
进一步地,在上述各实施例的基础上,在获取关键图像之前,还包括:
创建至少一个流操作,以通过所述至少一个流操作提取所述关键图像的特征点和描述子;
其中,所述至少一个流操作中至少包括如下任一种:用于获取所述输入图像的流操作、用于从所述输入图像中筛选所述关键图像的流操作、用于提取所述关键图像的特征点和描述子的流操作。
流操作即创建的cuda流,cuda流表示一个GPU操作队列,并且该队列中的操作将以指定的顺序执行。
图3为本实施例提供的TX2加速模块设计框图,参见图3,在device中通过创建的3个cuda流来对输入图像提取特征点和描述子。
具体来说,TX2的Device中创建三个stream。其中stream0作为默认流,负责Host端和Device端的数据拷贝;stream1绑定fft句柄,用于计算两帧图像间的像素位移,用于初步筛选关键帧;stream2用于RF-net网络推理,得到每帧图像的特征点和描述子。
stream0通过异步拷贝传输函数cudaMemcpyAsync()将主机端的g_image数据搬移到Device端的d_image地址(其中,该块内存在初始化函数中预先分配),启动stream1。
stream1绑定预先初始化成功的fft变换的句柄,对输入图像进行二维fft,并保留相连两帧的结果,频域相乘再做ifft得到两帧图像的二维相关图,由此计算相关图中第一峰值和第二峰值的比值d,当d>0.5时,取第一峰值的坐标计算两帧间的像素位移,当位移符合一定的阈值时,认为该帧是关键帧,在显存中标志为d_iKeyFrame,同时启动stream2。
stream2对当前关键帧做网络推理和计算。具体实现参考图1,首先将d_iKeyFrame输入已经序列化成功的Det网络DetRt,经过4层感受野从依次3递增到9的二维卷积得到具有不同尺度的特征图d_features。再分别进行conv、L2Norm、得到4*2*width_image*height的方向图d_orint_maps;进行conv、instancenorm、relu得到4*width*height的特征得分图d_score_featmaps;将d_orint_maps和d_score_featmaps作为设备端核函数df_math()的输入,实现MathModel中的常规图像处理操作,主要包含:合并像素最大响应概率、高斯滤波和非极大值抑制。由于该部分中的操作侧重于逻辑运算,在tensorrt中没有对应的op可以直接调用,但是运算逻辑上适合同时并发多个线程,所以将这部分的操作单独以kernel核函数的形式调用,可以充分tx2的空间资源实现加速处理。其中合并像素最大响应概率是指对d_score_featmaps的第一维度进行合并,以softmax1的最大值表征该坐标的像素作为特征点的概率,得到width*height的矩阵d_featuresMax,再对d_featuresMax进行7*7的高斯滤波,过滤掉突兀的噪声,最后进行非极大值抑制,得到分布均衡的N点特征点的二维坐标矩阵d_featuresVector(矩阵大小为N*2);同时在df_math()函数中对d_orint_maps的处理过程类似d_score_featmaps,经过最大响应概率合并后得到2*width_image*height的临时变量,第一维度的2表征该点的余弦和正弦分量,剩余操作与前面的相同,最后得到d_featureOrientations(N*2)。再根据d_featuresVector和d_featureOrientations进行patch的提取和方向旋转,得到尺寸为16*16的N个图像块(即运算结果),进入已经序列化成功的描述子提取网络DesRt。在DesRt中主要通过多层卷积操作,将单通道平缓过度到64通道,表征特征的64个维度,最后得到结果d_descs(N*64)。
本实施例中,通过建立流操作的方式实现输入数据的拷贝,关键图像的筛选,提取特征点和描述子等操作,流操作之间相互独立,从而可以并行执行多项任务,进一步提高运算效率。
进一步地,在上述各实施例的基础上,在提取所述关键图像的特征点和描述子之后,还包括:
根据所述关键图像的特征点和描述子,确定用于获取所述输入图像的设备对应的位姿信息。
位姿信息即设备的位置和姿态。位姿信息求解的过程中,通常以某一时刻(例如设备开始行驶的时刻)设备捕获的图像中提取的特征点和描述子为参考,通过几何的方式基于当前捕获的图像中提取的特征点和描述子与作为参考的图像进行比对,确定设备的位置和姿态变化的信息。位姿信息求解的过程可以通过能够进行位姿估计的功能模块实现,本实施例在此不再赘述。
本实施例中,基于对关键图像提取的特征点和描述子,实现了对设备进行位姿信息的估计。
进一步地,在上述各实施例的基础上,在提取所述关键图像的特征点和描述子之后,还包括:
根据所述关键图像的特征点和描述子,对用于获取所述输入图像的设备进行回环检测,以确定所述设备是否行驶到已经到达过的位置。
回环检测,又称闭环检测,是指设备(例如,机器人)识别曾到达某场景,使得地图闭环的能力。举例来说,机器人在左转一下,右转一下建图的时候能意识到某个地方是曾经来过的,然后把此刻生成的地图与刚刚生成的地图做匹配。
本实施例中,基于关键图像的特征点和描述子进行回环检测,避免始终在同一线路中徘徊,能够更好地指导设备行驶,以便建立更为精准的地图。
如图3所示,本实施例对TX2处理器划分为Host和Device两部分,分别负责不同的计算任务。其中,TX2的Host部分包含图像预处理模块、位姿求解模块、回环检测模块。图像预处理模块是指Host端通过传感器以一定帧率对图像进行捕获,对捕获到的图像进行预处理,其中包括灰度图转换、尺寸裁剪和数据归一化处理,得到的预处理图像矩阵g_image存储在主机端内存(分页锁定)。
TX2的Device中创建如上述的三个stream,通过三个stream得到关键图像的特征点d_featuresVector和描述子d_descs(N*64),再将多尺度特征图d_features、特征点坐标d_featuresVector、特征点描述子d_descs通过stream0异步拷贝到Host端调用位姿求解模块。
Host端位姿求解模块采用光流法进行特征点跟踪,而光流法所需的图像金字塔不需要重新构建,直接采用DetModule网络中得到的多尺度特征图d_features替代。
其中,Host端回环检测的词袋需要采用RF-net中得到的图像描述子作为输入重新训练。在运行时采用TF-IDF算法进行计算。
具体来说,本实施例对ORBSLAM系统进行了如下改进:
将RF-net模型推理时从单个模块拆分成DetModule、MathModule和DesModule三个子部分,其中DetModule和DesModule都是一些常规的网络OP,而MathModule中复杂的数学运算需要提取出网络独立计算;
RF-net网络裁剪出来的感受野作为光流法的跟踪金字塔,多尺度特征图作为光流跟踪多尺度金字塔的实现方式;
Slam中采用带深度网络信息的光流法跟踪特征点的实现方式;
结合神经网络,调整了slam的计算结构,将特征提取部分通过device端的tensorRT来处理完成;同时,多stream之间重叠无关联计算的部分,缩短总的时间长度;
slam初始化过程中利用频域相关性加速图像位移判断。
本实施例达到了如下技术效果:采用神经网络的方法代替传统的ORB方法进行特征检测和描述子提取,使得图像间的匹配效果更好,将神经网络的推理部分根据其网络特点进行拆分,结合TX2的硬件特点,充分发挥其算力;采用cuda的多流编程框架,提高数据吞吐量,异构系统的性能得到发挥盘;由于cuda中自带加速的fft实现库,利用频域相关性信息可加速系统的初始化过程;ORBSLAM在跟踪阶段主要采用运动模型和跟踪参考关键帧模型,这种方法能够召回的特征点个数有限,不如光流法结合多尺度的网络特征有效;深度网络的特征点自带语义信息,训练出来的词袋更利于回环检测。
综上,本申请在异构协同计算方面,将RF-net中可以利用tensorRT加速推理的部分裁剪成DetModule和DesModule,而复杂的数学逻辑运算裁成MathModule,重新进行线程计算任务设计和分配,充分发挥TX2中的cpu和gpu的计算性能,达到实时处理图像帧的目的。采用基于多尺度感受野的深度神经网络RF-net替代传统的ORB方法,得到鲁棒性更强的特征点和区分度更高的描述子,以此提高帧间图像的匹配率。针对RF-net的网络特点进行轻量化的裁剪,减少网络参数和降低运算量;在特征点跟踪阶段,将裁剪出来的感受野作为光流法的跟踪金字塔,可以得到更多的匹配点。
图4为本实施例提供的图像处理装置的结构框图,参见图4,该图像处理装置包括获取单元401和提取单元402,其中,
获取单元401,用于获取关键图像;其中,所述关键图像为从输入图像中筛选的待提取特征点和描述子的图像;
提取单元402,用于通过对神经网络模型进行拆分得到的至少一个子网络,提取所述关键图像的特征点和描述子;
其中,所述至少一个子网络中包括数学运算子网络;所述数学运算子网络用于根据特征得分图和方向得分图进行数学运算,得到所述特征点和用于提取所述描述子的运算结果;所述特征得分图和所述方向得分图基于所述关键图像得到。
本实施例提供的图像处理装置适用于上述各实施例提供的图像处理方法,在此不再赘述。
本实施例提供了一种图像处理装置,通过对神经网络模型进行拆分得到的至少一个子网络,提取关键图像的特征点和描述子。其中,至少一个子网络中包括用于进行数学运算的数学运算子网络,使得模型中数学运算的部分能够独立于模型的其它处理过程,从而能够合理调整模型中数学运算的部分与其它处理过程的关系,进一步优化模型的推理过程,提高运算效率,有利于运算空间的合理利用。
根据本发明提供一种图像处理装置,在上述基础上,所述通过对神经网络模型进行拆分得到的至少一个子网络,提取所述关键图像的特征点和描述子,包括:
通过所述至少一个子网络中的特征点检测子网络,基于所述关键图像生成所述特征得分图和所述方向得分图;
通过所述数学运算子网络,基于所述特征得分图进行数学运算得到所述特征点,并基于所述特征点和所述方向得分图进行数学运算得到所述运算结果;
通过所述至少一个子网络中的描述子提取子网络,基于所述运算结果得到所述描述子。
根据本发明提供一种图像处理装置,在上述基础上,所述通过所述至少一个子网络中的特征点检测子网络,基于所述关键图像生成所述特征得分图和所述方向得分图,包括:
获取所述特征点检测子网络中的感受野;所述感受野基于对所述神经网络模型进行裁剪确定;
通过所述感受野,基于所述关键图像生成所述特征得分图和所述方向得分图。
根据本发明提供一种图像处理装置,在上述基础上,所述获取关键图像,包括:
获取对环境采集的图像,作为所述输入图像;
若相邻两帧输入图像之间的像素位移大于设定阈值,则将所述相邻两帧输入图像作为所述关键图像。
根据本发明提供一种图像处理装置,在上述基础上,在获取关键图像之前,还包括:
创建至少一个流操作,以通过所述至少一个流操作提取所述关键图像的特征点和描述子;
其中,所述至少一个流操作中至少包括如下任一种:用于获取所述输入图像的流操作、用于从所述输入图像中筛选所述关键图像的流操作、用于提取所述关键图像的特征点和描述子的流操作。
根据本发明提供一种图像处理装置,在上述基础上,在提取所述关键图像的特征点和描述子之后,还包括:
根据所述关键图像的特征点和描述子,确定用于获取所述输入图像的设备对应的位姿信息。
根据本发明提供一种图像处理装置,在上述基础上,在提取所述关键图像的特征点和描述子之后,还包括:
根据所述关键图像的特征点和描述子,对用于获取所述输入图像的设备进行回环检测,以确定所述设备是否行驶到已经到达过的位置。
图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)501、通信接口(Communications Interface)502、存储器(memory)503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信。处理器501可以调用存储器503中的逻辑指令,以执行如下方法:
获取关键图像;其中,所述关键图像为从输入图像中筛选的待提取特征点和描述子的图像;
通过对神经网络模型进行拆分得到的至少一个子网络,提取所述关键图像的特征点和描述子;
其中,所述至少一个子网络中包括数学运算子网络;所述数学运算子网络用于根据特征得分图和方向得分图进行数学运算,得到所述特征点和用于提取所述描述子的运算结果;所述特征得分图和所述方向得分图基于所述关键图像得到。
此外,上述的存储器503中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
进一步地,本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:
获取关键图像;其中,所述关键图像为从输入图像中筛选的待提取特征点和描述子的图像;
通过对神经网络模型进行拆分得到的至少一个子网络,提取所述关键图像的特征点和描述子;
其中,所述至少一个子网络中包括数学运算子网络;所述数学运算子网络用于根据特征得分图和方向得分图进行数学运算,得到所述特征点和用于提取所述描述子的运算结果;所述特征得分图和所述方向得分图基于所述关键图像得到。
另一方面,本发明实施例还提供一种非暂态可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的传输方法,例如包括:
获取关键图像;其中,所述关键图像为从输入图像中筛选的待提取特征点和描述子的图像;
通过对神经网络模型进行拆分得到的至少一个子网络,提取所述关键图像的特征点和描述子;
其中,所述至少一个子网络中包括数学运算子网络;所述数学运算子网络用于根据特征得分图和方向得分图进行数学运算,得到所述特征点和用于提取所述描述子的运算结果;所述特征得分图和所述方向得分图基于所述关键图像得到。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (9)

1.一种图像处理方法,其特征在于,包括:
获取关键图像;其中,所述关键图像为从输入图像中筛选的待提取特征点和描述子的图像;
通过对神经网络模型进行拆分得到的至少一个子网络,提取所述关键图像的特征点和描述子;
其中,所述至少一个子网络中包括数学运算子网络;所述数学运算子网络用于根据特征得分图和方向得分图进行数学运算,得到所述特征点和用于提取所述描述子的运算结果;所述特征得分图和所述方向得分图基于所述关键图像得到;
所述通过对神经网络模型进行拆分得到的至少一个子网络,提取所述关键图像的特征点和描述子,包括:
通过所述至少一个子网络中的特征点检测子网络,基于所述关键图像生成所述特征得分图和所述方向得分图;
通过所述数学运算子网络,基于所述特征得分图进行数学运算得到所述特征点,并基于所述特征点和所述方向得分图进行数学运算得到所述运算结果;
通过所述至少一个子网络中的描述子提取子网络,基于所述运算结果得到所述描述子;
通过数学运算子网络基于所述特征得分图和所述方向得分图进行如下数学处理过程:
像素最大响应概率:用于计算得分图各层中每个像素x在邻域内的最大响应概率:
exp_maps = exp(x – x_max)
probs = max(exp_maps(sum_exps))
其中:x_max为多层中的同一个像素位置的最大值;sum_exps为exp_maps在m×m的领域内的加和;
高斯滤波:采用n×n的滑窗,得到平滑后的统一尺度得分图,作为非极大值抑制模块的输入;
非极大值抑制:是用于根据单层得分图的响应值对其进行非极大值抑制,在m×m的邻域内保留响应值最大的一个特征点及其特征方向、尺度信息;
特征点区域分割:切割特征点像素位置a×a的邻域,并根据上述求得的特征方向进行旋转。
2.根据权利要求1所述的图像处理方法,其特征在于,所述通过所述至少一个子网络中的特征点检测子网络,基于所述关键图像生成所述特征得分图和所述方向得分图,包括:
获取所述特征点检测子网络中的感受野;所述感受野基于对所述神经网络模型进行裁剪确定;
通过所述感受野,基于所述关键图像生成所述特征得分图和所述方向得分图。
3.根据权利要求1所述的图像处理方法,其特征在于,所述获取关键图像,包括:
获取对环境采集的图像,作为所述输入图像;
若相邻两帧输入图像之间的像素位移大于设定阈值,则将所述相邻两帧输入图像作为所述关键图像。
4.根据权利要求1所述的图像处理方法,其特征在于,在获取关键图像之前,还包括:
创建至少一个流操作,以通过所述至少一个流操作提取所述关键图像的特征点和描述子;
其中,所述至少一个流操作中至少包括如下任一种:用于获取所述输入图像的流操作、用于从所述输入图像中筛选所述关键图像的流操作、用于提取所述关键图像的特征点和描述子的流操作。
5.根据权利要求1所述的图像处理方法,其特征在于,在提取所述关键图像的特征点和描述子之后,还包括:
根据所述关键图像的特征点和描述子,确定设备对应的位姿信息,所述设备用于获取所述输入图像。
6.根据权利要求1所述的图像处理方法,其特征在于,在提取所述关键图像的特征点和描述子之后,还包括:
根据所述关键图像的特征点和描述子,对用于获取所述输入图像的设备进行回环检测,以确定所述设备是否行驶到已经到达过的位置。
7.一种图像处理装置,其特征在于,包括:
获取单元,用于获取关键图像;其中,所述关键图像为从输入图像中筛选的待提取特征点和描述子的图像;
提取单元,用于通过对神经网络模型进行拆分得到的至少一个子网络,提取所述关键图像的特征点和描述子;
其中,所述至少一个子网络中包括数学运算子网络;所述数学运算子网络用于根据特征得分图和方向得分图进行数学运算,得到所述特征点和用于提取所述描述子的运算结果;所述特征得分图和所述方向得分图基于所述关键图像得到;
所述通过对神经网络模型进行拆分得到的至少一个子网络,提取所述关键图像的特征点和描述子,包括:
通过所述至少一个子网络中的特征点检测子网络,基于所述关键图像生成所述特征得分图和所述方向得分图;
通过所述数学运算子网络,基于所述特征得分图进行数学运算得到所述特征点,并基于所述特征点和所述方向得分图进行数学运算得到所述运算结果;
通过所述至少一个子网络中的描述子提取子网络,基于所述运算结果得到所述描述子;
通过数学运算子网络基于所述特征得分图和所述方向得分图进行如下数学处理过程:
像素最大响应概率:用于计算得分图各层中每个像素x在邻域内的最大响应概率:
exp_maps = exp(x – x_max)
probs = max(exp_maps(sum_exps))
其中:x_max为多层中的同一个像素位置的最大值;sum_exps为exp_maps在m×m的领域内的加和;
高斯滤波:采用n×n的滑窗,得到平滑后的统一尺度得分图,作为非极大值抑制模块的输入;
非极大值抑制:是用于根据单层得分图的响应值对其进行非极大值抑制,在m×m的邻域内保留响应值最大的一个特征点及其特征方向、尺度信息;
特征点区域分割:切割特征点像素位置a×a的邻域,并根据上述求得的特征方向进行旋转。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述的图像处理方法的步骤。
9.一种非暂态可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6任一项所述的图像处理方法的步骤。
CN202110414089.6A 2021-04-16 2021-04-16 一种图像处理方法、装置、电子设备和存储介质 Active CN113076914B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110414089.6A CN113076914B (zh) 2021-04-16 2021-04-16 一种图像处理方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110414089.6A CN113076914B (zh) 2021-04-16 2021-04-16 一种图像处理方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN113076914A CN113076914A (zh) 2021-07-06
CN113076914B true CN113076914B (zh) 2024-04-12

Family

ID=76617810

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110414089.6A Active CN113076914B (zh) 2021-04-16 2021-04-16 一种图像处理方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN113076914B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113469985A (zh) * 2021-07-13 2021-10-01 中国科学院深圳先进技术研究院 内镜图像特征点提取方法
CN113642452B (zh) * 2021-08-10 2023-11-21 汇纳科技股份有限公司 人体图像质量评价方法、装置、系统及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108229497A (zh) * 2017-07-28 2018-06-29 北京市商汤科技开发有限公司 图像处理方法、装置、存储介质、计算机程序和电子设备
CN109671119A (zh) * 2018-11-07 2019-04-23 中国科学院光电研究院 一种基于slam的室内定位方法及装置
CN111024078A (zh) * 2019-11-05 2020-04-17 广东工业大学 基于gpu加速的无人机视觉slam方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10027952B2 (en) * 2011-08-04 2018-07-17 Trx Systems, Inc. Mapping and tracking system with features in three-dimensional space

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108229497A (zh) * 2017-07-28 2018-06-29 北京市商汤科技开发有限公司 图像处理方法、装置、存储介质、计算机程序和电子设备
WO2019020075A1 (zh) * 2017-07-28 2019-01-31 北京市商汤科技开发有限公司 图像处理方法、装置、存储介质、计算机程序和电子设备
CN109671119A (zh) * 2018-11-07 2019-04-23 中国科学院光电研究院 一种基于slam的室内定位方法及装置
CN111024078A (zh) * 2019-11-05 2020-04-17 广东工业大学 基于gpu加速的无人机视觉slam方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Robust Visual SLAM Algorithm for Dynamic Indoor Environments;Fang, LJ 等;《2021 PROCEEDINGS OF THE 40TH CHINESE CONTROL CONFERENCE (CCC)》;全文 *
基于自监督学习特征的视觉同步定位与地图构建研究;李晟浩;《中国优秀硕士学位论文全文数据库信息科技辑》;全文 *

Also Published As

Publication number Publication date
CN113076914A (zh) 2021-07-06

Similar Documents

Publication Publication Date Title
Park et al. 3d human pose estimation using convolutional neural networks with 2d pose information
CN113076914B (zh) 一种图像处理方法、装置、电子设备和存储介质
Lu et al. Deep texture and structure aware filtering network for image smoothing
CN112837344B (zh) 一种基于条件对抗生成孪生网络的目标跟踪方法
CN111767906B (zh) 人脸检测模型训练方法、人脸检测方法、装置及电子设备
US20220262093A1 (en) Object detection method and system, and non-transitory computer-readable medium
CN109919825B (zh) 一种orb-slam硬件加速器
WO2022141718A1 (zh) 一种辅助点云目标检测的方法及系统
CN114898403A (zh) 一种基于Attention-JDE网络的行人多目标跟踪方法
Rasmussen et al. Deep census: AUV-based scallop population monitoring
CN113066018A (zh) 一种图像增强方法及相关装置
CN115482523A (zh) 轻量级多尺度注意力机制的小物体目标检测方法及系统
CN110135435B (zh) 一种基于广度学习系统的显著性检测方法及装置
Shi et al. JRA-Net: Joint representation attention network for correspondence learning
CN112927127A (zh) 一种运行在边缘设备上的视频隐私数据模糊化方法
Hua et al. Dilated fully convolutional neural network for depth estimation from a single image
Zhai et al. Geometry understanding from autonomous driving scenarios based on feature refinement
Orts et al. GPGPU implementation of growing neural gas: Application to 3D scene reconstruction
CN114627139A (zh) 基于像素特征学习的无监督图像分割方法、装置及设备
Huang et al. Under water object detection based on convolution neural network
Khosravi et al. Real-time statistical image and video processing for remote sensing and surveillance applications
KR20210084118A (ko) 심층신경망 가속기의 동적 전원 제어 장치 및 방법
Kolbeinsson et al. UCorr: Wire Detection and Depth Estimation for Autonomous Drones
Sawant et al. Performance evaluation of feature extraction algorithm on GPGPU
CN116645399B (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
GR01 Patent grant
GR01 Patent grant