CN110276836A - 一种可加速特征点检测的方法及mr混合现实智能眼镜 - Google Patents
一种可加速特征点检测的方法及mr混合现实智能眼镜 Download PDFInfo
- Publication number
- CN110276836A CN110276836A CN201810204060.3A CN201810204060A CN110276836A CN 110276836 A CN110276836 A CN 110276836A CN 201810204060 A CN201810204060 A CN 201810204060A CN 110276836 A CN110276836 A CN 110276836A
- Authority
- CN
- China
- Prior art keywords
- algorithm
- mixed reality
- chain
- module
- circuit
- 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
- 238000000034 method Methods 0.000 title claims abstract description 42
- 239000011521 glass Substances 0.000 title claims abstract description 20
- 238000001514 detection method Methods 0.000 title abstract description 47
- 238000012545 processing Methods 0.000 claims abstract description 61
- 230000008569 process Effects 0.000 claims abstract description 18
- 238000005457 optimization Methods 0.000 claims description 60
- 238000007781 pre-processing Methods 0.000 claims description 32
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 claims description 11
- 239000010931 gold Substances 0.000 claims description 11
- 229910052737 gold Inorganic materials 0.000 claims description 11
- 230000008859 change Effects 0.000 claims description 4
- 235000013399 edible fruits Nutrition 0.000 claims description 3
- 239000000284 extract Substances 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 13
- 230000008901 benefit Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 239000004973 liquid crystal related substance Substances 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 241000196324 Embryophyta Species 0.000 description 1
- 241001136824 Pyrgotidae Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/013—Eye tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Image Processing (AREA)
Abstract
本发明技术方案提供了一种可加速特征点检测的方法及MR混合现实智能眼镜,混合现实处理器MPU通过并行处理和流水线处理结合的处理方式,对MR混合现实像素流进行处理,得到特征点,主处理器,对特征点进行MR位姿运算后输出MR应用图像。通过流水线处理方式增加数据的吞吐量,并行处理方式提升了数据处理效率。通过本发明技术方案得到的检测特征点时间,与现有技术中检测特征点时间为计算完成图像金字塔中所有图像特征点的总时间相比,提升了提取特征点速度,从而解决图像位姿计算、追踪卡顿的问题。
Description
技术领域
本发明涉及特征点检测领域,尤其涉及一种可加速特征点检测的方法及MR混合现实智能眼镜。
背景技术
随着虚拟现实VR、增强现实AR和混合现实MR的快速发展,对图形图像的处理速度和准确率的要求也在快速提升。在对图形图像处理的过程中,特征检测尤为重要(特征检测是MR图形图像处理中最耗时的环节,约占总运算时间的50%),特征点检测的速度关系到对图形图像的追踪效率的高低。
目前的特征点检测方法是:处理器(CPU)对采集到的图形图像数据进行简单处理,去除其中的无效信息,以此降低数据量。之后生成图像金字塔,待图像金字塔生成完毕后,开始对图像金字塔中所有图像同时进行数据处理。具体的,对金字塔图像进行特征点的坐标进行计算,之后计算相应特征点权值,最后计算特征点的质心角,都计算完成后得到图像金字塔的特征点集合,并统一输出。这样最后检测特征点时间为计算完成图像金字塔中所有图像特征点的总时间。
在处理过程中,由于要对图像金字塔中的所有像素进行计算,由于VR、AR和MR的图形图像数据量巨大,在采用上述方法提取特征点时,会造成处理速度慢,处理器(CPU)被长时间占用,导致了后续根据特征点进行图像位姿计算、追踪时卡顿的问题。
发明内容
本发明提供一种可加速特征点检测的方法及MR混合现实智能眼镜,通过提升提取特征点速度,解决图像位姿计算、追踪卡顿的问题。
为了实现上述目的,本发明实施例采用如下技术方案:
第一方面,本发明技术方案提供了一种可加速特征点检测的方法,所述方法包括:预处理算法链对MR混合现实像素流进行预处理,得到预处理结果。核心算法链通过并行处理的方式对所述预处理结果进行检测,得到特征点。
在第一种可能实现的方式中,结合第一方面的实现方式,所述核心算法链通过并行处理的方式对所述预处理结果进行检测,得到特征点,包括:核心算法链根据典型值N,生成核心算法链阵列。核心算法链阵列对所述预处理结果进行复制,得到预处理结果阵列。核心算法链阵列中每个核心算法链,分别对预处理结果阵列中的每个预处理结果进行检测,得到特征点。
其中,核心算法链根据典型值N,将自身复制N/2次(N≥2且为偶数);预处理结果被复制的次数,与核心算法链阵列中核心算法链的数量相同。
在第二种可能实现的方式中,结合第一方面的实现方式,预处理算法链和核心算法链中的每个优化算法模块都具有动态两级缓存,用于接收被前一优化算法模块处理后的MR像素数据,并形成MR像素缓存数据。在优化算法模块中对所述MR像素缓存数据进行并行处理,得到模块运算结果。所述动态两级缓存包括一级缓存和二级缓存。
在第三种可能实现的方式中,结合第一方面的第二种可能,所述在优化算法模块中对所述MR像素缓存数据进行并行处理,得到模块运算结果,包括:根据MR混合现实像素流分辨率将所述优化算法模块内的运算电路正整数倍增加,得到运算电路阵列。运算电路阵列中的每个运算电路通过流水线处理方式对所述MR像素缓存数据进行数据处理,得到所述模块运算结果。
在第四种可能实现的方式中,结合第一方面的实现方式和第一方面的第一、第二、第三种可能,所述方法还包括:对原始算法模块中原始算法文件进行编译,得到编译结果作为黄金参考模型。根据所述原始算法的类型,在其中增加所述动态两级缓存。对所述原始算法文件进行改写,得到优化算法文件。根据所述黄金参考模型判断所述优化算法文件是否正确。若正确,则将所述优化算法文件下载至可编程逻辑门阵列生成硬件电路,得到所述优化算法模块。
第二方面,本发明技术方案提供了一种可加速特征点检测的MR混合现实智能眼镜,包括:双目深度摄像模组,用于采集MR混合现实像素流。混合现实处理器,用于预处理算法链对所述双目深度摄像模组采集的所述MR混合现实像素流进行预处理,得到预处理结果,还用于核心算法链通过并行处理的方式对所述预处理结果进行检测,得到特征点。主处理器,用于将所述混合现实处理器得到的所述特征点进行MR位姿运算后输出MR应用图像。
在第一种可能实现的方式中,结合第二方面的实现方式,所述混合现实处理器包括:预处理电路,用于通过预处理算法链中的优化算法模块对所述双目深度摄像模组采集的所述MR混合现实像素流进行预处理,得到所述预处理结果。生成器,用于对所述核心算法链根据典型值N,生成核心算法链阵列,还用于对所述预处理结果进行复制,得到预处理结果阵列。根据典型值N,将所述核心算法链复制N/2次(N≥2且为偶数),生成核心算法链阵列,对所述预处理结果进行复制,生成预处理结果阵列;还用于根据所述核心算法链阵列生成并行电路,并固化到可编程逻辑门芯片中。可编辑逻辑门并行电路,用于通过所述生成器生成的核心算法链阵列中每个核心算法链中的优化算法模块,对所述预处理结果阵列中的每个预处理结果进行检测,得到所述特征点。其中,预处理结果被复制的次数,与核心算法链阵列中核心算法链的数量相同。
在第二种可能实现的方式中,结合第二方面的第一种可能,混合现实处理器,包括:动态两级缓存电路,用于接收所述预处理算法链和/或所述核心算法链中的优化算法模块处理后的MR像素数据,并形成MR像素缓存数据。并行子电路,用于对通过所述动态两级缓存电路中得到的所述MR像素缓存数据进行并行处理,得到模块运算结果。其中,所述动态两级缓存电路和所述并行子电路位于,预处理电路中的优化算法模块和可编程逻辑门并行电路的优化算法模块中。
在第三种可能实现的方式中,结合第二方面的第二种可能,所述混合现实处理器,用于:根据所述双目深度摄像模组采集的MR混合现实像素流的分辨率,将所述预处理算法链和核心算法链内的运算电路正整数倍增加,得到并行子电路。通过流水线的处理方式对所述缓存电路连续接收的所述MR混合现实像素流进行数据处理。
在四种可能实现的方式中,结合第二方面的实现方式和第二方面的第一至三种可能,所述生成器还用于:对原始算法模块中的原始算法文件进行编译,得到编译结果作为黄金参考模型。根据原始算法的类型在其中生成所述动态两级缓存电路。对原始算法文件进行改写,得到优化算法文件。根据所述黄金参考模型判断所述优化算法文件是否正确,若正确,将所述优化算法文件下载至可编程逻辑门阵列生成硬件电路得到所述优化算法模块。
本发明技术方案提供了一种可加速特征点检测的方法,包括:预处理算法链对MR混合现实像素流进行预处理,得到预处理结果。核心算法链通过并行处理的方式对此结果进行检测,得到特征点。本发明技术方案还提供一种可加速特征点检测的MR混合现实智能眼镜,包括:双目深度摄像模组,用于采集MR混合现实像素流。混合现实处理器,用于预处理算法链对双目深度摄像模组采集的MR混合现实像素流进行预处理,得到预处理结果,以及通过并行处理的方式对预处理结果进行检测,得到特征点。主处理器,用于将混合现实处理器得到的特征点进行MR位姿运算后输出MR应用图像。
本发明的优点是,通过增加了混合现实处理器(Mixed Reality ProcessingUnit,MPU),它以并行处理的方式对MR数据流进行处理,能够同时生成图像金字塔中各层的图像,同时对这些图像进行特征点检测(提升了检测速度),输出检测结果。主处理器将混合现实处理器得到的数据结果进行进一步数据处理并输出。在预处理算法链和核心算法链内的各个算法模块中采用流水线处理的方式对数据进行处理,增加了数据吞吐量,减少了数据的等待时间。
通过本发明技术方案得到的检测特征点时间,与现有技术中检测特征点时间为计算完成图像金字塔中所有图像特征点的总时间相比,通过并行和流水线两种处理方式的结合提升了提取特征点速度,从而解决图像位姿计算、追踪卡顿的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的流程示意图;
图2为本发明实施例二提供的流程示意图;
图3为图2中步骤201的流程示意图;
图4为图3中步骤301中颜色空间转换模块内数据处理过程的流程示意图;
图5为图2中步骤204中核心算法链的流程图;
图5a为用说明FAST算法的像素示例图;
图6为本发明实施例二中核心算法链阵列的结构示意图;
图7为本发明提供的加速特征点检测的MR混合现实智能眼镜的结构示意图;
图8为图7中混合现实处理器72的结构示意图一;
图9为图7中混合现实处理器72的结构示意图二;
图10为本实施例提供的一种可加速特征点检测的MR混合现实智能眼镜的结构示意图二;
图11为本实施例提供的一种可加速特征点检测的MR混合现实智能眼镜的结构示意图三。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例一提供的流程示意图,如图1所示,本实施例提供了,包括:
步骤101、预处理算法链对MR混合现实像素流进行预处理,得到预处理结果。
步骤102、核心算法链通过并行处理的方式对所述预处理结果进行检测,得到特征点。
核心算法链根据典型值N,将自身复制N/2次(N≥2且为偶数),生成核心算法链阵列。核心算法链阵列根据自身被复制的次数,对预处理结果进行复制,得到预处理结果阵列。
核心算法链阵列包含多个核心算法链,在检测特征点的过程中,这些核心算法链同时对预处理结果阵列中的每个预处理结果进行特征点检测,得到特征点。
预处理算法链和核心算法链中包含有与检测特征点算法相关的优化算法模块,每个优化算法模块都具有动态两级缓存,用于接收被前一算法模块处理后的MR像素数据,并形成MR像素缓存数据。之后,对MR像素缓存数据进行并行处理,得到模块运算结果。具体的,根据MR混合现实像素流分辨率将优化算法模块内的运算电路正整数倍增加,得到运算电路阵列。运算电路阵列中的每个运算电路通过流水线处理方式对所述MR像素缓存数据进行数据处理,得到模块运算结果。具体的,MR像素缓存数据不间断的从上一优化算法模块流出后,进入下一算法模块的动态两级缓存中,在下一优化算法模块的动态两级缓存中对其进行处理,得到结果后直接进行下一阶段运算,并不等待所有MR像素数据流中的图像都处理完毕后再进行下一阶段运算。
在原始算法模块中增加一级缓存和二级缓存,提取原始算法模块中的原始算法文件,并将其编译将结果作为黄金参考模型。对原始算法文件进行改写后,根据黄金参考模型判断改写结果正确与否。若结果正确,进一步增加输入输出电路,和相应驱动,最后将上述结果下载或映射至可编程逻辑门电路中,得到硬件电路,从而得到优化算法模块。
本发明的优点是,通过将现有技术中处理器(串行处理方式的CPU)中占用最大运算量的特征点检测算法部分,移植到新增的混合现实处理器(MPU)中,从而以并行处理的方式对MR数据流进行处理,通过同时生成图像金字塔中各层的图像,同时对这些图像进行特征点检测(提升了检测速度),输出检测结果。进一步的,在预处理算法链和核心算法链内的各个算法模块中采用流水线处理的方式对数据进行处理,增加了数据吞吐量,减少了数据的等待时间。
通过本发明技术方案得到的检测特征点时间,与现有技术中检测特征点时间为计算完成图像金字塔中所有图像特征点的总时间相比,通过并行和流水线两种处理方式的结合提升了提取特征点速度,从而解决图像位姿计算、追踪卡顿的问题。
现用实施例二具体描述本发明技术方案,如图2所示:
步骤201、预处理算法链接收并预处理MR混合现实像素流。
预处理算法链中的算法模块对MR混合现实像素流进行处理,得到预处理结果。
步骤202、核心算法链复制N/2次,生成核心算法链阵列。
具体的,典型值N是根据特征点对尺度不变性的精度要求得到的。
步骤203、核心算法链阵列对预处理结果阵列进行特征点检测,得到特征点结果。
步骤204、将预处理结果复制N/2次,得预处理结果阵列。
具体的,步骤201中,预处理算法链中有颜色空间转换模块和边缘扩展算法模块。现具体解释步骤201中的预处理,如图3所示:
步骤301、颜色空间转换模块接收MR混合现实像素流。
步骤302、将MR混合现实像素流中的彩色图像转换为灰度图像。
在特征点检测中,为了降低数据量,通常将图像数据中的彩色图像信息过滤或者转换为数据量较小的灰度图像信息(在此过程中还可以去掉图像无效信息),用以在一定程度上减小数据量。例如有,CvtColor,它是颜色空间转换函数,具有将RGB颜色转换为灰度图像的功能。
步骤303、边缘扩展算法模块将灰度图像的边缘扩展。
具体的,边缘扩展算法模块扩充图像边缘后,将图像变大,然后以外插方式自动填充图像边界。具体通过先扩展图像左右边界,形成新的图像,然后将新的图像拓展上下边界。其目的是为了在一定程度上增加图像区域,以避免处于原图像边缘的特征点被遗漏。具体预处理结果为扩展图像边界的灰度MR混合现实像素流。
在本发明技术方案中,每个优化算法模块中都具有动态两级缓存:一级缓存和二级缓存,得到MR像素缓存数据后,运算电路对其进行数据处理,得到模块运算结果,具体的以步骤301中的颜色空间转换模块为例进行说明,如图4所示:
一级缓存为横向缓存,MR像素缓存数据不间断的从上一算法模块流出后不间断进入一级缓存。
具体如图所示,D00、D01、D02、D03、D04、D05……D0M为一级缓存第一行数据、D10、D11、D12、D13、D14、D15……D1M为一级缓存第二行数据、D20、D21、D22、D23、D24、D25……D2M为一级缓存第三行数据。
二级缓存为纵向缓存,用于接收从一级缓存流出的数据。
进一步的,根据MR混合现实像素流分辨率将优化算法模块内的运算电路正整数倍增加,得到运算电路阵列。例如分辨率为720P,运算电路增加720倍。
运算电路阵列中的每个运算电路通过流水线处理方式对所述MR像素缓存数据进行数据处理,得到模块运算结果。具体示意如图4中运算电路部分所示。
如图,有运算电路1(简称电路1)、电路2……电路N,数据开始流入二级缓存后,电路1开始对其进行处理,后续数据无需等待直接进入电路2中被处理,以此类推直至电路N中也有被处理中的数据,若此时电路数量不能满足需求,数据存入二级缓存中。电路1对当前数据处理完毕后,将结果输出,继续接收下一待处理数据。同样的,电路2对当前数据处理完毕后,将结果输出,继续接收下一待处理数据。
具体的,在第一个时钟周期T1内,一级缓存中第一个九宫格中的数据进入二级缓存,如图4所示,具体数据为:D00、D01、D02、D10、D11、D12、D20、D21和D22。这些数据进入运算电路1被处理后输出。在第二个时钟周期T2时,一级缓存中第二个九宫格中的数据进入二级缓存,具体数据为:D01、D02、D03、D11、D12、D13、D21、D22、D23。这些数据进入运算电路2被处理。在后续时钟周期T3、T4、……TN,以此类推。
通过电路1得到的数据结果,进入下一优化算法模块的动态两级缓存中,在下一优化算法模块的动态两级缓存中对其进行处理,得到结果后直接进行下一阶段运算。在模块内的数据处理如上述过程不断循环。
现对步骤204进行详细说明,首先以一个核心算法链为例进行说明,如图5所示:
步骤501、缩放模块对预处理结果进行缩放,得到缩放图像。
具体的,缩放模块按照图像金字塔对预处理结果进行缩放。
步骤502、FAST算法模块对缩放图像进行特征点初步检测,得到初步检测结果。
具体的,是对缩放图像中的像素点进行坐标计算,得到相应权值,全职最大的为初步检测得到的特征点。
进一步,以图5a中图像为例进行具体说明:
在一幅图像中,非角点往往是占多数,而且非角点检测要比角点检测容易得多,因此首先剔除掉非角点将大大提高角点检测速度。由于N(圆周像素点)为16,所以编号为1,5,9,13的这4个圆周像素点中应该至少有三个像素点满足角点条件,圆心才有可能是角点。因此首先检查1和9圆周像素点,如果I1和I9在[Ip–t,Ip+t]之间,则圆心肯定不是角点,否则再检查5和13圆周像素点。如果这4个圆周像素点中至少有三个圆周像素点满足亮度高于Ip+t或低于Ip–t,则进一步检查圆周上其余像素点。以此类推,最后得到如图5a所示的特征点。
步骤503、HarrisResponse算法模块对初步检测结果进行二次检测。
具体的,HarrisResponse是通过缩放图像中像素点在各个方向灰度的变化。来检测特征点部分是位于平滑的平面还是在凹凸面的角点上。
步骤504、对二次检测得到的特征点赋予方向性。
具体的,赋予方向性指的是,对二次检测结果进行质心角计算,具体算法为IcAngels。
步骤505、输出特征点检测结果。
现对本发明技术方案中提及的核心算法链阵列和预处理结果阵列进行详细说明。具体的,核心算法链阵列的结构示意图如图6所示。
处理器根据典型值N将上述核心算法链复制N/2次,核心算法链阵列中的各个单独核心算法链并行排列。预处理结果也被复制了N/2次,在处理过程中,核心算法链阵列中每个核心算法链同时接收预处理结果,同时对这些预处理结果进行数据处理。
核心算法链中按上述步骤501-步骤505对接收的相应预处理结果进行处理,将检测出的特征点陆续输出。
进一步说明,由于在步骤501中缩放模块会按照图像金字塔每一层的图像缩放比例对预处理结果进行缩放。所以,每个被复制的核心算法链中实际处理的MR混合现实数据,分别为当前MR混合现实像素流中图像的:帧/1、帧/1.2、帧/1.22、帧/1.23……帧/1.2m。从而,核心算法链阵列的中的核心算法链分别为,帧/1核心算法链、帧/1.2核心算法链、帧/1.22核心算法链、帧/1.23核心算法链……帧/1.2m核心算法链。
具体的,帧/1.2m与2/N的关系是,假设N为6则核心算法链阵列中有3个核心算法链,具体为帧/1核心算法链、帧/1.2核心算法链、帧/1.22核心算法链。
从对本发明技术方案的描述可知,核心算法链阵列和预处理算法链中有多个优化算法模块,每个优化算法模块的内部结构和处理流程依据图4的描述。
现用FAST算法模块为例具体描述算法模块中一级缓存和二级缓存的具体结构,并不对其他优化算法模块中的一级缓存和二级缓存的具体结构造成限制,每个优化算法模块中的一级缓存和二级缓存的具体结构是根据其算法自身特点决定的:
Fast算法的核心是计算中心点距离为m的区域中的差值是否大于阈值,行缓存采用n行(一级缓存),窗口缓存(二级缓存)采用m*m,同时FAST常常要对特征点进行最大值抑制运算,因此增加一组缓存,行缓存(一级缓存)采用2行,窗口缓存采用m*m作为最大值缓存运算的输入数据。例如:计算中心点距离为7的区域中的差值是否大于阈值,因此行缓存采用15行,窗口缓存采用7*7,同时FAST常常要对特征点进行最大值抑制运算,因此增加一组缓存,行缓存采用2行,窗口缓存采用3*3作为最大值缓存运算的输入数据。
现对现对本发明技术方案中提及的优化算法模块的获取进行说明。
从原始算法模块中提取原始算法文件,使用VS(Visual Studio)运行此算法文件并输入像素流,若输出正确的处理结果,则将此结果作为黄金参考模型。根据HLS语法修改此算法文件(修改过程大致相同,但每个算法的类型不同,所以动态两级缓存中一级和二级缓存的结构不同,具体描述如上述FAST算法模块),运行修改后的原始算法文件,生成IP核。之后,增加双目深度摄像模组驱动电路(输入)、IP核、HDMI显示电路(输出),综合生成网表文件下载到FPGA,形成硬件电路暨得到优化算法模块。对控制端控制代码达到控制运行该硬件电路的目的。
具体的,上述修改过程包括:将浮点运算修改为定点运算;指定运算电路处理图像的最大尺寸;修改所有随机访问。
具体的,以上仅以vivado平台为例进行说明,并不对平台本身进行限制,能够实现上述功能的任何平台都应属于本发明的保护范围。
本发明技术方案提供了加速特征点检测的方法,包括:预处理算法链对MR混合现实像素流进行预处理,得到预处理结果。核心算法链通过并行处理的方式对此结果进行检测,得到特征点。
本发明的优点是,通过增加了混合现实处理器(MPU),它以并行处理的方式对MR数据流进行处理,能够同时生成图像金字塔中各层的图像,同时对这些图像进行特征点检测(提升了检测速度),输出检测结果。主处理器将混合现实处理器得到的数据结果进行进一步数据处理并输出。在预处理算法链和核心算法链内的各个算法模块中采用流水线处理的方式对数据进行处理,增加了数据吞吐量,减少了数据的等待时间。
通过本发明技术方案得到的检测特征点时间,与现有技术中检测特征点时间为计算完成图像金字塔中所有图像特征点的总时间相比,通过并行和流水线两种处理方式的结合提升了提取特征点速度,从而解决图像位姿计算、追踪卡顿的问题。
本发明还提供了加速特征点检测的MR混合现实智能眼镜,图7为本实施例提供的加速特征点检测的MR混合现实智能眼镜的结构示意图,如图7所示:
双目深度摄像模组71,用于采集MR混合现实像素流。
混合现实处理器72(MPU),用于预处理算法链对所述双目深度摄像模组71采集的所述MR混合现实像素流进行预处理,得到预处理结果,还用于核心算法链通过并行处理的方式对所述预处理结果进行检测,得到特征点。
主处理器73,用于将所述混合现实处理器72得到的所述特征点进行MR位姿运算后输出MR应用图像。
如图8所示,混合现实处理器72包括:
预处理电路81,用于通过预处理算法链中的优化算法模块对所述双目深度摄像模组71采集的所述MR混合现实像素流进行预处理,得到所述预处理结果。
生成器82,用于对所述核心算法链根据典型值N,生成核心算法链阵列,还用于对预处理电路81得到的预处理结果进行复制,得到预处理结果阵列。
可编程逻辑门并行电路83,用于通过生成器82生成的核心算法链阵列中每个核心算法链中的优化算法模块,对所述预处理结果阵列中的每个预处理结果进行检测,得到所述特征点。
其中,所述预处理结果被复制的次数,与核心算法链阵列中核心算法链的数量相同。
所述生成器81,具体用于:根据根据典型值N,将所述核心链复制N/2次(N≥2且为偶数),生成核心链阵列;对所述预处理结果进行复制,生成预处理结果阵列,还用于根据所述核心链阵列生成并行电路,并固化到可编程逻辑门芯片中。
如图9所示,混合现实处理器72,包括:
动态两级缓存电路91,用于接收所述预处理算法链和/或所述核心算法链中的优化算法模块处理后的MR像素数据,并形成MR像素缓存数据。
并行子电路92,用于对通过所述动态两级缓存电路中得到的所述MR像素缓存数据进行并行处理,得到模块运算结果。其中,所述动态两级缓存电路和所述并行子电路位于,预处理电路81中的优化算法模块和可编程逻辑门并行电路83的优化算法模块中。
混合现实处理器72,用于:根据双目深度摄像模组71采集的MR混合现实像素流的分辨率,将所述预处理算法链和核心算法链内的运算电路正整数倍增加,得到并行子电路。对所述动态两级缓存电路91连续接收的所述MR混合现实像素流进行流水线数据处理。
具体的,MR混合现实像素流不间断的从上一优化算法模块流出后,进入下一优化算法模块的动态两级缓存中,在下一优化算法模块的动态两级缓存中对其进行处理,得到结果后直接进行下一阶段运算。不用所有MR像素数据流中的图像在当前阶段都处理完毕后再进行下一阶段运算。
生成器81还用于:对预处理算法链和所述核心算法链中的原始算法模块中生成所述动态两级缓存电路;对所述原始算法模块中的原始算法文件进行编译,得到编译结果;根据黄金参考模型判断所述编译结果是否正确;若正确,将所述编译结果下载至可编程逻辑门阵列生成硬件电路得到所述优化算法模块。
图10为本实施例提供的加速特征点检测的MR混合现实智能眼镜的结构示意图二,如图10所示:双目深度摄像模组采集MR混合现实像素流。预处理电路中的优化算法模块对其进行预处理,得到预处理结果,用于减小数据量和扩大图像边缘旨在于降低色彩数据和避免遗漏在后续计算中遗漏特征点。生成器根据特征点对尺度不变性的精度要求得到典型值N,进而生成核心算法链阵列和预处理结果阵列。并根据核心算法链阵列生成并行电路,并固化到可编程逻辑门芯片中,进一步得到可编程逻辑门并行电路。可编程逻辑门并行电路中的各个核心算法链中的优化算法模块,对预处理结果阵列中的每个预处理结果进行检测,得到特征点。主处理器对得到的特征点进行MR位姿运算后输出MR应用图像。其中,预处理电路和可编辑逻辑门并行电路中的每个优化算法模块都具有能够增加数据吞吐量的动态两级缓存电路和能够增加数据处理速度的并行子电路。
现进一步对本发明技术方案提供的MR混合现实智能眼镜进一步说明,如图11所示:
双目深度摄像模组采集MR混合现像素流,混合现实处理器(MPU)对其进行数据处理,得到特征点后将数据通过总线传输至主处理器(通常为CPU)。在双目深度摄像模组采集MR混合现像素流的同时,传感器模组采集环境信息并传输至主处理器,传感器模组中至少包含有:光飞传感器、位置姿态传感器、温湿度传感器、空气检测传感器。控制模组用于接收外部控制指令并传输给主处理器,可以是触摸指令(触摸面板)或者声音指令(麦克风)。DDR(Double Data Rate双倍速率同步动态随机存储器)和FLASH(闪存)用于协助主处理器工作。
主处理器对接收的特征点、环境信息、控制指令等信息进行处理后,输出至近眼显示模组并显示。具体可以通过MIPI接口进行传输(移动产业处理器接口,Mobile IndustryProcessor Interface)。
近眼显示模组(NED,Near by Display)由左目近眼显示端和右目近眼显示端共同组成。
电源用于对以上各个硬件模组供电。
其中,近眼显示模组上有数字光显示介质,包括但不限于:LCOS(Liquid Crystalon Silicon,硅基液晶),LCD(Liquid Crystal Display,液晶显示器)、贴有光波导光栅的镜片,棱镜组半透/全透显示光学组件,自由曲面光学棱镜半透/全透显示组件,波导光学半透/全透显示镜片组件、DMD(Digital Micromirror Device,数字微镜装置)等。
本发明技术方案提供一种可加速特征点检测的MR混合现实智能眼镜,包括:双目深度摄像模组,用于采集MR混合现实像素流。混合现实处理器,用于预处理算法链对双目深度摄像模组采集的MR混合现实像素流进行预处理,得到预处理结果,以及通过并行处理的方式对预处理结果进行检测,得到特征点。主处理器,用于将混合现实处理器得到的特征点进行MR位姿运算后输出MR应用图像。
本发明的优点是,通过增加了混合现实处理器,它以并行处理的方式对MR数据流进行处理,能够同时生成图像金字塔中各层的图像,同时对这些图像进行特征点检测(提升了检测速度),输出检测结果。主处理器将混合现实处理器得到的数据结果进行进一步数据处理并输出。进一步的,在预处理算法链和核心算法链内的算法模块中采用流水线处理的方式对数据进行处理,增加了数据吞吐量,减少了数据的等待时间。
通过本发明技术方案得到的检测特征点时间,与现有技术中检测特征点时间为计算完成图像金字塔中所有图像特征点的总时间相比,通过并行和流水线两种处理方式的结合提升了提取特征点速度,从而解决图像位姿计算、追踪卡顿的问题。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种可加速特征点检测的方法,其特征在于,所述方法包括:
预处理算法链对MR混合现实像素流进行预处理,得到预处理结果;
核心算法链通过并行处理的方式对所述预处理结果进行检测,得到特征点。
2.根据权利要求1所述的方法,其特征在于,所述核心算法链通过并行处理的方式对所述预处理结果进行检测,得到特征点,包括:
所述核心算法链根据典型值N,生成核心算法链阵列;
所述核心算法链阵列对所述预处理结果进行复制,得到预处理结果阵列;
所述核心算法链阵列中每个核心算法链,分别对所述预处理结果阵列中的每个预处理结果进行检测,得到所述特征点;
其中,所述核心算法链根据典型值N,将自身复制N/2次(N≥2且为偶数);所述预处理结果被复制的次数,与核心算法链阵列中核心算法链的数量相同。
3.根据权利要求1所述的方法,其特征在于,所述方法,包括:
所述预处理算法链和所述核心算法链中的每个优化算法模块都具有动态两级缓存,用于接收被前一优化算法模块处理后的MR像素数据,并形成MR像素缓存数据;
在所述优化算法模块中对所述MR像素缓存数据进行并行处理,得到模块运算结果;
所述动态两级缓存包括一级缓存和二级缓存。
4.根据权利要求3所述的方法,其特征在于,所述在所述优化算法模块中对所述MR像素缓存数据进行并行处理,得到模块运算结果,包括:
根据所述MR混合现实像素流分辨率将所述优化算法模块内的运算电路正整数倍增加,得到运算电路阵列;
所述运算电路阵列中的每个运算电路通过流水线处理方式对所述MR像素缓存数据进行数据处理,得到所述模块运算结果。
5.根据权利要求1-4所述的方法,其特征在于,所述方法还包括:
对原始算法模块中的原始算法文件进行编译,得到编译结果作为黄金参考模型;
根据所述原始算法的类型,在其中增加所述动态两级缓存;
对所述原始算法文件进行改写,得到优化算法文件;
根据所述黄金参考模型判断所述优化算法文件是否正确;
若正确,则将所述优化算法文件下载至可编程逻辑门阵列生成硬件电路,得到所述优化算法模块。
6.一种可加速特征点检测的MR混合现实智能眼镜,其特征在于,所述MR混合现实智能眼镜包括:
双目深度摄像模组,用于采集MR混合现实像素流;
混合现实处理器,用于预处理算法链对所述双目深度摄像模组采集的所述MR混合现实像素流进行预处理,得到预处理结果,还用于核心算法链通过并行处理的方式对所述预处理结果进行检测,得到特征点;
主处理器,用于将所述混合现实处理器得到的所述特征点进行MR位姿运算后输出MR应用图像。
7.根据权利要求6所述的MR混合现实智能眼镜,其特征在于,所述混合现实处理器包括:
预处理电路,用于通过预处理算法链中的优化算法模块对所述双目深度摄像模组采集的所述MR混合现实像素流进行预处理,得到所述预处理结果;
生成器,用于对所述核心算法链根据典型值N,生成核心算法链阵列,还用于对所述预处理电路得到的所述预处理结果进行复制,得到预处理结果阵列;根据典型值N,将所述核心算法链复制N/2次(N≥2且为偶数),生成核心算法链阵列,对所述预处理结果进行复制,生成预处理结果阵列;还用于根据所述核心算法链阵列生成并行电路,并固化到可编程逻辑门芯片中;
可编程逻辑门并行电路,用于通过所述生成器生成的核心算法链阵列中每个核心算法链中的优化算法模块,对所述预处理结果阵列中的每个预处理结果进行检测,得到所述特征点;
其中,所述预处理结果被复制的次数,与核心算法链阵列中核心算法链的数量相同。
8.根据权利要求7所述的MR混合现实智能眼镜,其特征在于,混合现实处理器,包括:
动态两级缓存电路,用于接收所述预处理算法链和/或所述核心算法链中的优化算法模块处理后的MR像素数据,并形成MR像素缓存数据;
并行子电路,用于对通过所述动态两级缓存电路得到的所述MR像素缓存数据进行并行处理,得到模块运算结果;
其中,所述动态两级缓存电路和所述并行子电路位于,预处理电路中的优化算法模块和可编程逻辑门并行电路的优化算法模块中。
9.根据权利要求8所述的MR混合现实智能眼镜,所述混合现实处理器,用于:
根据所述双目深度摄像模组采集的MR混合现实像素流的分辨率,将所述预处理算法链和核心算法链内的运算电路正整数倍增加,得到并行子电路;
对所述动态两级缓存电路连续接收的所述MR混合现实像素流进行流水线数据处理。
10.根据权利要求6-9所述的MR混合现实智能眼镜,所述生成器还用于:对原始算法模块中的原始算法文件进行编译,得到编译结果作为黄金参考模型;根据所述原始算法的类型在其中生成所述动态两级缓存电路;对所述原始算法文件进行改写,得到优化算法文件;根据所述黄金参考模型判断所述优化算法文件是否正确;若正确,将所述优化算法文件下载至可编程逻辑门阵列生成硬件电路得到所述优化算法模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810204060.3A CN110276836A (zh) | 2018-03-13 | 2018-03-13 | 一种可加速特征点检测的方法及mr混合现实智能眼镜 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810204060.3A CN110276836A (zh) | 2018-03-13 | 2018-03-13 | 一种可加速特征点检测的方法及mr混合现实智能眼镜 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110276836A true CN110276836A (zh) | 2019-09-24 |
Family
ID=67957529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810204060.3A Pending CN110276836A (zh) | 2018-03-13 | 2018-03-13 | 一种可加速特征点检测的方法及mr混合现实智能眼镜 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110276836A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1979527A (zh) * | 2005-12-09 | 2007-06-13 | 中国科学院沈阳自动化研究所 | 图像角点快速提取方法及实现装置 |
CN103927745A (zh) * | 2014-03-28 | 2014-07-16 | 北京中海新图科技有限公司 | 面向可穿戴设备的跟踪与匹配并行计算方法 |
US20170024632A1 (en) * | 2015-07-23 | 2017-01-26 | Mireplica Technology, Llc | Performance Enhancement For Two-Dimensional Array Processor |
CN106846496A (zh) * | 2017-01-19 | 2017-06-13 | 杭州古珀医疗科技有限公司 | 基于混合现实技术的dicom影像查看***及操作方法 |
CN106960451A (zh) * | 2017-03-13 | 2017-07-18 | 西安电子科技大学 | 一种提升图像弱纹理区域特征点数量的方法 |
CN106997617A (zh) * | 2017-03-10 | 2017-08-01 | 深圳市云宙多媒体技术有限公司 | 混合现实虚拟呈现方法及装置 |
CN107680028A (zh) * | 2016-08-01 | 2018-02-09 | 北京百度网讯科技有限公司 | 用于缩放图像的处理器和方法 |
-
2018
- 2018-03-13 CN CN201810204060.3A patent/CN110276836A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1979527A (zh) * | 2005-12-09 | 2007-06-13 | 中国科学院沈阳自动化研究所 | 图像角点快速提取方法及实现装置 |
CN103927745A (zh) * | 2014-03-28 | 2014-07-16 | 北京中海新图科技有限公司 | 面向可穿戴设备的跟踪与匹配并行计算方法 |
US20170024632A1 (en) * | 2015-07-23 | 2017-01-26 | Mireplica Technology, Llc | Performance Enhancement For Two-Dimensional Array Processor |
CN107680028A (zh) * | 2016-08-01 | 2018-02-09 | 北京百度网讯科技有限公司 | 用于缩放图像的处理器和方法 |
CN106846496A (zh) * | 2017-01-19 | 2017-06-13 | 杭州古珀医疗科技有限公司 | 基于混合现实技术的dicom影像查看***及操作方法 |
CN106997617A (zh) * | 2017-03-10 | 2017-08-01 | 深圳市云宙多媒体技术有限公司 | 混合现实虚拟呈现方法及装置 |
CN106960451A (zh) * | 2017-03-13 | 2017-07-18 | 西安电子科技大学 | 一种提升图像弱纹理区域特征点数量的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3506161A1 (en) | Method and apparatus for recovering point cloud data | |
WO2018177379A1 (zh) | 手势识别、控制及神经网络训练方法、装置及电子设备 | |
CN109816769A (zh) | 基于深度相机的场景地图生成方法、装置及设备 | |
CN113963044B (zh) | 一种基于rgbd相机的货物箱智能装载方法及*** | |
CN110956126A (zh) | 一种联合超分辨率重建的小目标检测方法 | |
CN110059793B (zh) | 生成式对抗神经网络的逐步修改 | |
CN111368668B (zh) | 三维手部识别方法、装置、电子设备及存储介质 | |
CN110689000A (zh) | 一种基于生成复杂环境下车牌样本的车辆车牌识别方法 | |
CN111046746A (zh) | 一种车牌检测方法及装置 | |
CN111611925A (zh) | 一种建筑物检测与识别方法及装置 | |
CN109712092A (zh) | 档案扫描图像修复方法、装置及电子设备 | |
CN113762461A (zh) | 使用可逆增强算子采用有限数据训练神经网络 | |
CN112464954A (zh) | 一种应用于嵌入式设备的轻量级目标检测网络及训练方法 | |
CN115049738A (zh) | 人与相机之间距离的估计方法及*** | |
CN109708662B (zh) | 一种基于目标识别的高帧频高精度注入式星图仿真测试平台 | |
CN108520532B (zh) | 识别视频中物体运动方向的方法及装置 | |
CN110276836A (zh) | 一种可加速特征点检测的方法及mr混合现实智能眼镜 | |
CN106815861A (zh) | 一种紧凑型的光流计算方法与设备 | |
CN116310102A (zh) | 基于深度学习的透明物体图像的三维重建方法、终端及介质 | |
CN111508024A (zh) | 一种基于深度学习估计机器人位姿的方法 | |
CN116246062A (zh) | 使用图像/文本对执行语义分割训练 | |
LU500193B1 (en) | Low-illumination image enhancement method and system based on multi-expression fusion | |
Liu et al. | MODE: Monocular omnidirectional depth estimation via consistent depth fusion | |
CN113011223A (zh) | 一种图像识别方法、***、设备和存储介质 | |
CN111738920B (zh) | 一种面向全景拼接加速的fpga芯片及全景图像拼接方法 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190924 |
|
WD01 | Invention patent application deemed withdrawn after publication |