图像特征的提取方法、装置、存储介质和电子设备制造方法及图纸

技术编号:22468178 阅读:19 留言:0更新日期:2019-11-06 11:56
本公开涉及一种图像特征的提取方法、装置、存储介质和电子设备,涉及图像处理技术领域,该方法包括:按照预设的高斯金字塔对待处理图像进行采样,以获取第一数量个目标图像,调用OpenMP的应用程序接口生成第二数量个处理线程,以使第二数量个所述处理线程依次提取第一数量个所述目标图像中每个所述目标图像的FAST特征点,将第一数量个所述目标图像和每个所述目标图像的所述FAST特征点,发送至图形处理器GPU,以使所述GPU获取每个所述目标图像的所述FAST特征点的BRIEF描述子,并将所述BRIEF描述子发送至所述CPU,将所述GPU发送的所述BRIEF描述子作为所述待处理图像的特征。能够在避免图像细节损失的前提下,提高图像特征提取的速度和精度。

Image feature extraction method, device, storage medium and electronic equipment

【技术实现步骤摘要】
图像特征的提取方法、装置、存储介质和电子设备
本公开涉及图像处理
,具体地,涉及一种图像特征的提取方法、装置、存储介质和电子设备。
技术介绍
随着电子信息技术和终端技术的不断发展,终端在很多
都可以帮助人们实现各种作业任务。在终端进行作业任务时,经常需要在一定的区域内不断移动,因此需要获取定位。通常采用SLAM(英文:SimultaneousLocalizationandMapping,中文:即时定位与地图构建)技术来实现定位,通过采集终端所处环境的多帧图像,并对多帧图像进行处理,从而获取终端的定位。在对多帧图像处理的过程中,需要提取每一帧图像的图像特征,例如ORB(英文:OrientedFASTandRotatedBRIEF)特征。现有技术中,提取图像特征通常会对图像进行下采样,会损失大量的图像细节,降低了图像特征提取的精度。进一步的,图像特征的提取过程中,会对图像上每个像素点的进行计算,相应的计算量巨大,对终端的计算能力要求较高,很难图像特征的提取速度较慢。
技术实现思路
本公开的目的是提供一种图像特征的提取方法、装置、存储介质和电子设备,用以解决现有技术中存在的图像特征提取的精度低、速度慢的问题。为了实现上述目的,根据本公开实施例的第一方面,提供一种图像特征的提取方法,应用于中央处理器CPU,所述方法包括:按照预设的高斯金字塔对待处理图像进行采样,以获取第一数量个目标图像;调用OpenMP的应用程序接口生成第二数量个处理线程,以使第二数量个所述处理线程依次提取第一数量个所述目标图像中每个所述目标图像的FAST特征点;将第一数量个所述目标图像和每个所述目标图像的所述FAST特征点,发送至图形处理器GPU,以使所述GPU获取每个所述目标图像的所述FAST特征点的BRIEF描述子,并将所述BRIEF描述子发送至所述CPU;将所述GPU发送的所述BRIEF描述子作为所述待处理图像的特征。可选地,所述调用OpenMP的应用程序接口生成第二数量个处理线程,以使第二数量个所述处理线程依次提取第一数量个所述目标图像中每个所述目标图像的FAST特征点,包括:根据所述CPU包括的内核的第三数量,调用OpenMP的应用程序接口生成第二数量个所述处理线程;为每个所述目标图像分配一个所述处理线程,若所述第一数量小于或等于所述第二数量,一个所述处理线程对应一个所述目标图像,若所述第一数量大于所述第二数量,一个所述处理线程对应一个或多个所述目标图像;控制第二数量个所述处理线程并行执行FAST算法,以提取每个所述处理线程对应的目标图像的所述FAST特征点。可选地,所述FAST算法用于判断每个所述处理线程对应的目标图像中,按照预设规则选取的多个目标像素点中的每个所述目标像素点是否为所述FAST特征点,所述预设规则为在每个所述处理线程对应的目标图像中,按照预设间隔选取目标像素点。可选地,所述控制第二数量个所述处理线程并行执行FAST算法,以提取每个所述处理线程对应的目标图像的所述FAST特征点,包括:根据第三数量个所述内核中每个所述内核当前的频率,确定每个所述内核的CPU亲和性;根据每个所述内核的CPU亲和性和预设的CPU绑定类型,将第二数量个所述处理线程绑定至第三数量个所述内核上,以使每个所述处理线程利用绑定的所述内核的资源执行所述FAST算法。可选地,所述CPU为ARM处理器,所述控制第二数量个所述处理线程并行执行FAST算法,以提取每个所述处理线程对应的目标图像的所述FAST特征点,包括:每个所述处理线程通过NEON指令控制所述CPU的寄存器,以使每个所述处理线程执行所述FAST算法时,能够同时判断每个所述处理线程对应的目标图像中,多个所述目标像素点是否为所述FAST特征点。可选地,所述将第一数量个所述目标图像和每个所述目标图像的所述FAST特征点,发送至图形处理器GPU,包括:分别对第一数量个所述目标图像中的每个所述目标图像进行高斯滤波,以对每个所述目标图像进行平滑处理;根据每个所述目标图像与每个所述目标图像的所述FAST特征点的对应关系,将经过平滑处理每个所述目标图像和每个所述目标图像的所述FAST特征点,同时发送至所述GPU。根据本公开实施例的第二方面,提供一种图像特征的提取方法,应用于GPU,所述方法包括:接收CPU发送的第一数量个目标图像,和每个所述目标图像的FAST特征点,所述目标图像为所述CPU按照预设的高斯金字塔对待处理图像进行采样,得到的图像,每个所述目标图像的所述FAST特征点为所述CPU调用OpenMP的应用程序接口生成第二数量个处理线程,第二数量个所述处理线程依次提取的每个所述目标图像的FAST特征点;获取每个所述目标图像的所述FAST特征点的BRIEF描述子;将所述BRIEF描述子作为所述待处理图像的特征发送至所述CPU。可选地,所述获取每个所述目标图像的所述FAST特征点的BRIEF描述子,包括:确定第一数量个所述目标图像中包括的所述FAST特征点的第四数量;通过OpenCL建立第四数量个工作组,每个所述工作组包括第五数量个工作项,所述第五数量为根据所述BRIEF描述子的位数确定的数量;为第四数量个所述FAST特征点中的每个所述FAST特征点分配一个所述工作组;控制第一工作组中的每个所述工作项,计算第一FAST特征点的所述BRIEF描述子的每一位,所述第一工作组为第四数量个所述工作组中的任一个工作组,所述第一FAST特征点为与所述第一工作组对应的FAST特征点;其中,所述第一工作组中的第五数量个所述工作项共享一个局部内存,所述局部内存中存储有第一图像,所述第一图像为所述第一FAST特征点所属的所述目标图像中,以所述第一FAST特征点为中心的预设大小的图像。根据本公开实施例的第三方面,提供一种图像特征的提取装置,应用于CPU,所述装置包括:采样模块,用于按照预设的高斯金字塔对待处理图像进行采样,以获取第一数量个目标图像;生成模块,用于调用OpenMP的应用程序接口生成第二数量个处理线程,以使第二数量个所述处理线程依次提取第一数量个所述目标图像中每个所述目标图像的FAST特征点;发送模块,用于将第一数量个所述目标图像和每个所述目标图像的所述FAST特征点,发送至GPU,以使所述GPU获取每个所述目标图像的所述FAST特征点的BRIEF描述子,并将所述BRIEF描述子发送至所述CPU;确定模块,用于将所述GPU发送的所述BRIEF描述子作为所述待处理图像的特征。根据本公开实施例的第四方面,提供一种图像特征的提取装置,应用于GPU,所述装置包括:接收模块,用于接收CPU发送的第一数量个目标图像,和每个所述目标图像的FAST特征点,所述目标图像为所述CPU按照预设的高斯金字塔对待处理图像进行采样,得到的图像,每个所述目标图像的所述FAST特征点为所述CPU调用OpenMP的应用程序接口生成第二数量个处理线程,第二数量个所述处理线程依次提取的每个所述目标图像的FAST特征点;获取模块,用于获取每个所述目标图像的所述FAST特征点的BRIEF描述子;发送模块,用于将所述BRIEF描述子作为所述待处理图像的特征发送至所述CPU。根据本公开实施例的第五方面,提供一种计算机可读存储介质,其上存储本文档来自技高网...

【技术保护点】
1.一种图像特征的提取方法,其特征在于,应用于中央处理器CPU,所述方法包括:按照预设的高斯金字塔对待处理图像进行采样,以获取第一数量个目标图像;调用OpenMP的应用程序接口生成第二数量个处理线程,以使第二数量个所述处理线程依次提取第一数量个所述目标图像中每个所述目标图像的FAST特征点;将第一数量个所述目标图像和每个所述目标图像的所述FAST特征点,发送至图形处理器GPU,以使所述GPU获取每个所述目标图像的所述FAST特征点的BRIEF描述子,并将所述BRIEF描述子发送至所述CPU;将所述GPU发送的所述BRIEF描述子作为所述待处理图像的特征。

【技术特征摘要】
1.一种图像特征的提取方法,其特征在于,应用于中央处理器CPU,所述方法包括:按照预设的高斯金字塔对待处理图像进行采样,以获取第一数量个目标图像;调用OpenMP的应用程序接口生成第二数量个处理线程,以使第二数量个所述处理线程依次提取第一数量个所述目标图像中每个所述目标图像的FAST特征点;将第一数量个所述目标图像和每个所述目标图像的所述FAST特征点,发送至图形处理器GPU,以使所述GPU获取每个所述目标图像的所述FAST特征点的BRIEF描述子,并将所述BRIEF描述子发送至所述CPU;将所述GPU发送的所述BRIEF描述子作为所述待处理图像的特征。2.根据权利要求1所述的方法,其特征在于,所述调用OpenMP的应用程序接口生成第二数量个处理线程,以使第二数量个所述处理线程依次提取第一数量个所述目标图像中每个所述目标图像的FAST特征点,包括:根据所述CPU包括的内核的第三数量,调用OpenMP的应用程序接口生成第二数量个所述处理线程;为每个所述目标图像分配一个所述处理线程,若所述第一数量小于或等于所述第二数量,一个所述处理线程对应一个所述目标图像,若所述第一数量大于所述第二数量,一个所述处理线程对应一个或多个所述目标图像;控制第二数量个所述处理线程并行执行FAST算法,以提取每个所述处理线程对应的目标图像的所述FAST特征点。3.根据权利要求2所述的方法,其特征在于,其特征在于,所述FAST算法用于判断每个所述处理线程对应的目标图像中,按照预设规则选取的多个目标像素点中的每个所述目标像素点是否为所述FAST特征点,所述预设规则为在每个所述处理线程对应的目标图像中,按照预设间隔选取目标像素点。4.根据权利要求2或3所述的方法,所述控制第二数量个所述处理线程并行执行FAST算法,以提取每个所述处理线程对应的目标图像的所述FAST特征点,包括:根据第三数量个所述内核中每个所述内核当前的频率,确定每个所述内核的CPU亲和性;根据每个所述内核的CPU亲和性和预设的CPU绑定类型,将第二数量个所述处理线程绑定至第三数量个所述内核上,以使每个所述处理线程利用绑定的所述内核的资源执行所述FAST算法。5.根据权利要求3所述的方法,其特征在于,所述CPU为ARM处理器,所述控制第二数量个所述处理线程并行执行FAST算法,以提取每个所述处理线程对应的目标图像的所述FAST特征点,包括:每个所述处理线程通过NEON指令控制所述CPU的寄存器,以使每个所述处理线程执行所述FAST算法时,能够同时判断每个所述处理线程对应的目标图像中,多个所述目标像素点是否为所述FAST特征点。6.根据权利要求1所述的方法,其特征在于,所述将第一数量个所述目标图像和每个所述目标图像的所述FAST特征点,发送至图形处理器GPU,包括:分别对第一数量个所述目标图像中的每个所述目标图像进行高斯滤波,以对每个所述目标图像进行平滑处理;根据每个所述目标图像与每个所述目标图像的所述FAST特征点的对应关系,将经过平滑处理每个所述目标图像和每个所述目标图像的所述FAST特征点,同时发送至所述GPU。7.一种图像特征的提取方法,其特征在于,应用于GPU,所述方法包括:接收CPU发送的第一数量个目标图像,和每个所述目标图像的FAST特征点,所述目标图像为所述CPU按照预设的高斯...

【专利技术属性】
技术研发人员:付雄林义闽廉士国
申请(专利权)人:深圳前海达闼云端智能科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1