CN108496186A - 特征提取电路和图像处理集成电路 - Google Patents
特征提取电路和图像处理集成电路 Download PDFInfo
- Publication number
- CN108496186A CN108496186A CN201780004680.6A CN201780004680A CN108496186A CN 108496186 A CN108496186 A CN 108496186A CN 201780004680 A CN201780004680 A CN 201780004680A CN 108496186 A CN108496186 A CN 108496186A
- Authority
- CN
- China
- Prior art keywords
- point
- circuit
- sub
- characteristic
- characteristic 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local 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
Abstract
一种特征提取电路和图像处理集成电路,该特征提取电路包括通过管线形式连接的金字塔子电路、特征点检测子单元和特征点选取子单元,金字塔子电路用于对待处理的图像建立至少一层金字塔;特征点检测子单元用于在每层金字塔中检测至少一个候选点;特征点选取子单元由处理器实现,用于根据候选点和预设规则,从候选点中选取出特征点。该特征提取电路建立金字塔由硬件电路实现,选取特征点由处理器通过软件实现,既能够降低系统的计算压力、提高计算的实时性,又可以提高特征点提取的灵活性、可移植性和计算效果。
Description
版权申明
本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。
技术领域
本申请涉及图像处理领域,尤其涉及特征提取电路和图像处理集成电路。
背景技术
ORB(ORiented BRIEF)算法是基于FAST特征点检测(Features from AcceleratedSegment Test)与BRIEF(二进制鲁棒独立基础特征,Binary Robust IndependentElementary Features)描述的算法。ORB算法被广泛应用于图像处理领域,尤其可以应用于机器视觉领域的定位与导航等。
现有的方案中,ORB算法的FAST特征点检测各步骤全部基于硬件实现或者全部基于软件实现。在ORB算法的FAST特征点检测各步骤全部基于硬件实现的情况下,某些步骤会丧失灵活性,可移植性差,计算效果不好。例如,基于硬件实现的特征点选取步骤选取出的特征点可能会过于集中,并且无法调整。在ORB算法的FAST特征点检测各步骤全部基于软件实现的情况下,系统的计算压力较大,计算的实时性较差。
发明内容
本申请提供了一种特征提取电路和图像处理集成电路,既能够降低系统的计算压力、提高计算的实时性,又可以提高特征点提取的灵活性、可移植性和计算效果。
第一方面,提供了一种特征提取电路,该特征提取电路包括通过管线形式连接的金字塔子电路、特征点检测子单元和特征点选取子单元,该金字塔子电路用于对待处理的图像建立至少一层金字塔;该特征点检测子单元用于在该金字塔中检测至少一个候选点;该特征点选取子单元由处理器实现,用于根据该候选点和预设规则,从该候选点中选取出特征点。
第一方面的特征提取电路建立金字塔由硬件电路实现,选取特征点由处理器通过软件实现,既能够降低系统的计算压力、提高计算的实时性,又可以提高特征点提取的灵活性、可移植性和计算效果。
第二方面,提供了一种描述子计算电路,该描述子计算电路包括第二内存控制器以及通过管线形式连接的点对提取子电路和描述子生成子电路,该第二内存控制器用于从内存中读取特征点的坐标信息;该点对提取子电路用于根据从该内存中读取的该特征点的坐标信息,在待处理的图像中该特征点对应的取点区域内确定多个点对;该描述子生成子电路用于根据该多个点对的像素值,确定该特征点的描述子。
第二方面的描述子计算电路由硬件电路计算特征点的描述子,能够降低系统的计算压力,提高计算的实时性和可移植性。
第三方面,提供了一种图像处理集成电路,该图像处理集成电路包括第一方面的特征提取电路。
第四方面,提供了一种图像处理集成电路,该图像处理集成电路包括第二方面的描述子计算电路。
第五方面,提供了一种图像处理集成电路,该图像处理集成电路包括第一方面的特征提取电路和第二方面的描述子计算电路。
第六方面,提供了一种计算芯片,包括第三至第五任一方面的图像处理集成电路。
第七方面,提供了一种计算设备,包括第三至第五任一方面的图像处理集成电路。
附图说明
图1是本申请一个实施例的特征提取电路的示意性框图。
图2是本申请一个实施例的候选点检测的示意图。
图3是本申请一个实施例的特征提取电路的示意性框图。
图4是本申请另一个实施例的特征提取电路的示意性框图。
图5是本申请又一个实施例的特征提取电路的示意性框图。
图6是本申请一个实施例的描述子计算电路的示意性框图。
图7是本申请一个实施例的点对提取的示意图。
图8是本申请另一个实施例的描述子计算电路的示意性框图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
本申请实施例提供了一种硬件与软件相结合以实现特征提取的方案。其中,软件可以使用嵌入式、个人计算机(Personal Computer,PC)和处理器,例如,中央处理器(Central Processing Unit,CPU)或图形处理器(Graphics Processing Unit,GPU)等各种平台实现;硬件可以通过Vivado设计套件的高层次综合(High-Level Synthesis,HLS)或类似的工具实现。
本申请实施例提供了一种特征提取电路。图1是本申请一个实施例的特征提取电路100的示意性框图。如图1所示,特征提取电路100可以包括通过管线(pipeline)形式连接的金字塔子电路110、特征点检测子单元120和特征点选取子单元130。金字塔子电路110用于对待处理的图像10建立至少一层金字塔;特征点检测子单元120用于在每层金字塔中检测至少一个候选点;特征点选取子单元130由处理器实现,用于根据候选点和预设规则,从候选点中选取出特征点。
本申请实施例的特征提取电路建立金字塔由硬件电路实现,选取特征点由处理器通过软件实现,既能够降低系统的计算压力、提高计算的实时性,又可以提高特征点提取的灵活性、可移植性和计算效果。
本申请实施例的特征提取电路可以基于现场可编程门阵列(Field ProgrammableGate Array,FPGA)或专用集成电路(Application Specific Integrated Circuit,ASIC)等实现。
金字塔子电路110可以用来解决通过算法提取到的特征点不满足尺寸一直性的问题。换而言之,金字塔子电路110建立金字塔,通过在不同尺度下的图像中提取特征点以达到满足尺度变化的效果。金字塔子电路110可以建立简单的降采样的金字塔,也可以通过调整大小(resize)建立各种尺寸(size)的图片。金字塔子电路110建立的金字塔可以是一层的,也可以是多层的,金字塔的层数可以通过处理器预先配置或更改可选。金字塔子电路110建立金字塔可以采用高斯滤波法,也可以不采用高斯滤波法。本申请实施例对采用上述哪种情况不作限定。
可选地,金字塔子电路110建立的金字塔的相关数据可以通过内存控制器(例如,下文中将会提到的第一内存控制器)写入到片外的内存(或缓存中)中,供后续计算使用,例如供后续计算图像(可以是基于任一层金字塔的图像)的灰度质心使用。
应理解,待处理的图像10,或者称为原始图像可以存储在片外的内存中,由例如第一内存控制器从内存中读出到金字塔子电路110。或者,待处理的图像10可以来源于前级的电路或单元。本申请实施例对待处理的图像的来源不作限定,金字塔子电路110从哪里读取待处理的图像可以通过配置信号来控制。
特征点检测子单元120用于在每层金字塔中检测至少一个候选点。图2是本申请一个实施例的候选点检测的示意图。特征点检测子单元120进行候选点检测可以基于以下原理。如图2所示,从图像(可以是基于任一层金字塔的图像)中选取一个像素点P,假设其灰度值为Ip,设定一个合适的阈值t。当两个点的灰度值之差的绝对值大于t时,认为这两个点不相同。考虑该像素点P周围的16个像素点。如果这16个像素点中有连续的n(例如,n=12)个像素点都和像素点P不同,那么像素点P就是一个角点,即候选点。其中,其中,n可以为正整数,n的值可以根据配置信号来配置。n具体地,本申请实施例中,特征点检测子单元120可以采用FAST5-8、FAST7-12、FAST9-16和Harris角点检测中的至少一种,从每层金字塔中检测出候选点,但本申请实施例不仅限于这些检测方法。
可选地,特征点检测子单元120可以基于软件,例如由处理器实现;特征点检测子单元120也可以基于硬件实现,例如特征点检测子单元120为特征点检测子电路。
可选地,在特征点检测子单元120基于硬件实现的情况下,特征点检测子单元120检测出的候选点的相关数据可以通过内存控制器(例如,下文中将会提到的第一内存控制器)写入到片外的内存中,供后续计算使用。
特征点选取子单元130可以基于软件,例如由处理器实现。特征点选取子单元130可以根据候选点和预设规则,从候选点中选取出特征点。特征点选取子单元130(处理器)也可以基于候选点的位置分布和/或基于系统负荷,调整预设规则,从候选点中选取特征点。具体而言,处理器可以根据候选点的位置分布,从候选点中选取分布较为分散的点作为特征点;处理器也可以根据当前的系统负荷进行权衡,选择适当数量适当位置的点作为特征点。可选地,特征点选取子单元130(处理器)在处理图像的不同帧时可以采取不同的预设规则。即,处理器可以根据帧的关键性或者金字塔各层的情况,可以动态的调整以选择适当数量适当位置的点作为特征点。
当然,特征点选取子单元130(处理器)还可以综合其他因素进行特征点的选取,本申请实施例对此不作限定。特征点选取基于软件可以实现更灵活的配置。
可选地,特征点选取子单元130(处理器)可以将选取的特征点的坐标信息写入到片外的内存(或缓存中)中,供后续计算使用,例如供后续计算这些特征点的描述子使用。
可选地,特征点选取子单元130(处理器)还可以用于将选取的特征点的坐标信息按预设顺序写入内存中。这样可以确保后续硬件在读取数据时,按预设顺序读取,可以降低随机访问内存的带宽,能够提高系统的性能。
可选地,特征提取电路100还可以包括响应计算子单元140,响应计算子单元140用于计算每个候选点的响应结果,特征点选取子单元130用于根据候选点和预设规则,从候选点中选取出特征点,可以包括:特征点选取子单元130用于根据响应计算子单元140计算的候选点的响应结果和预设规则,从候选点中选取出特征点。
可选地,特征点选取子单元130可以包括响应计算子单元,该响应计算子单元功能与上述响应计算子单元140相同或相似,本申请实施例对次不作限定。
响应计算子单元140可以为每个候选点计算其响应结果,或称为响应大小。具体而言,响应计算子单元140可以使用非极大值抑制算法,以去除候选点较密集位置的部分候选点。例如,响应结果可以是候选点Q与其周围m(例如,m=16)个候选点偏差的绝对值的和。继而,特征点选取子单元130可以根据响应计算子单元140计算的候选点的响应结果和前文描述的预设规则,从候选点中选取出特征点。例如,在位置比较临近的候选点中,选取出响应结果较大的s(例如,s=1)个候选点作为特征点。其中,m和s可以为正整数,m和s的值可以根据配置信号来配置。响应计算子单元140也可以是通过其他算法得到的响应结果,以用于特征点选取子单元130选取特征点,本申请实施例对此不作限定。
应理解,响应计算子单元140计算响应结果时,还可以参考待处理的图像(或者原始图像),以便于响应计算子单元140在图像的相应区域进行响应最大值搜索(即非极大值抑制),本申请实施例对此不作限定。
可选地,响应计算子单元140可以基于软件,例如由处理器实现;响应计算子单元140也可以基于硬件实现,例如响应计算子单元140为响应计算子电路。
可选地,在响应计算子单元140基于硬件实现的情况下,响应计算子单元140计算出的候选点的响应结果可以通过内存控制器(例如,下文中将会提到的第一内存控制器)写入到片外的内存中,供后续计算使用。
应理解,本申请实施例的特征提取电路由硬件与软件相结合实现,硬件与软件之间交换数据可以通过内存来实现。硬件可以从内存中读取数据,或者直接从前级的硬件中接收数据;硬件处理完数据后,将相关数据通过内存控制器存储在内存中,软件从内存中读取相关数据进行后续处理。因此,本申请实施例的特征提取电路100还可以包括第一内存控制器150。第一内存控制器150可以通过pipeline形式和特征提取电路100中的其他各个子电路或子单元连接,也可以通过其他形式和特征提取电路100中的其他各个子电路或子单元连接,本申请实施例对此不作限定。
还应理解,本申请各实施例的硬件处理完成后如果需要由软件(处理器)进行后续处理,硬件在完成处理后,可以将处理完成的信息反馈给处理器,以便于处理器从内存中读取相关数据进行后续处理。
下面以几个具体的例子详细说明本申请实施例的特征提取电路。
图3是本申请一个实施例的特征提取电路100的示意性框图。在该实施例中,特征点检测子单元120和响应计算子单元140均由处理器实现,第一内存控制器150用于将至少一层金字塔写入内存200中,特征点检测子单元120用于在每层金字塔中检测至少一个候选点,包括:特征点检测子单元120用于从内存200中读取写入内存200的至少一层金字塔,并在读取的每层金字塔中检测至少一个候选点。内存200可以独立于特征提取电路100,设置在特征提取电路100外,也可以设置在特征提取电路100中,本申请实施例对此不作限定。
具体地,金字塔子电路110由硬件实现,特征点检测子单元120、响应计算子单元140和特征点选取子单元130均由处理器实现。金字塔子电路110可以通过第一内存控制器150从片外的内存200中读取待处理的图像(图3中未示出);金字塔子电路110也可以前级的电路或单元得到待处理的图像(图3中未示出)。金字塔子电路110对待处理的图像建立至少一层金字塔。金字塔子电路110将建立的金字塔的相关数据通过第一内存控制器150写入到内存200中。金字塔子电路110在完成处理后,可以将处理完成的信息反馈给处理器,以便于处理器从内存中读取相关数据进行后续处理。处理器(特征点检测子单元120)从内存200中读取写入内存200的至少一层金字塔,并在读取的每层金字塔中检测至少一个候选点。处理器(响应计算子单元140)计算每个候选点的响应结果。处理器(特征点选取子单元130)根据响应计算子单元140计算的候选点的响应结果和预设规则,从候选点中选取出特征点。处理器(特征点选取子单元130)可以将选取的特征点的坐标信息按预设顺序写入到内存200中,供后续计算使用(图3中未示出),例如供后续计算这些特征点的描述子使用。这里,响应计算子单元140为可选的单元,处理器(特征点选取子单元130)可以直接根据候选点和预设规则,从候选点中选取出特征点,本申请实施例对此不作限定。
图4是本申请另一个实施例的特征提取电路100的示意性框图。在该实施例中,特征点检测子单元120基于硬件为特征点检测子电路120,响应计算子单元140由处理器实现,第一内存控制器150用于将至少一个候选点写入内存200中,响应计算子单元140用于计算每个候选点的响应结果,包括:响应计算子单元140用于从内存200中读取至少一个候选点,并计算读取的每个候选点的响应结果。内存200可以独立于特征提取电路100,设置在特征提取电路100外,也可以设置在特征提取电路100中,本申请实施例对此不作限定。
具体地,金字塔子电路110由硬件实现,特征点检测子单元120基于硬件为特征点检测子电路120,响应计算子单元140和特征点选取子单元130均由处理器实现。金字塔子电路110可以通过第一内存控制器150从片外的内存200中读取待处理的图像(图4中未示出);金字塔子电路110也可以前级的电路或单元得到待处理的图像(图4中未示出)。金字塔子电路110对待处理的图像建立至少一层金字塔。特征点检测子电路120在每层金字塔中检测至少一个候选点。特征点检测子电路120将检测出的候选点的相关数据通过第一内存控制器150写入到内存200中。特征点检测子电路120在完成处理后,可以将处理完成的信息反馈给处理器,以便于处理器从内存中读取相关数据进行后续处理。处理器(响应计算子单元140)从内存200中读取写入内存200的候选点的相关数据,并计算每个候选点的响应结果。处理器(特征点选取子单元130)根据响应计算子单元140计算的候选点的响应结果和预设规则,从候选点中选取出特征点。处理器(特征点选取子单元130)可以将选取的特征点的坐标信息按预设顺序写入到内存200中,供后续计算使用(图4中未示出),例如供后续计算这些特征点的描述子使用。这里,响应计算子单元140为可选的单元,处理器(特征点选取子单元130)可以直接根据候选点和预设规则,从候选点中选取出特征点,本申请实施例对此不作限定。
图5是本申请又一个实施例的特征提取电路100的示意性框图。在该实施例中,特征点检测子单元120基于硬件为特征点检测子电路120,响应计算子单元140基于硬件为响应计算子电路140,第一内存控制器150用于将候选点的响应结果写入内存200中,特征点选取子单元130用于根据候选点和预设规则,从候选点中选取出特征点,包括:特征点选取子单元130用于从内存200中读取候选点的响应结果,并根据读取的候选点的响应结果和预设规则,从候选点中选取出特征点。内存200可以独立于特征提取电路100,设置在特征提取电路100外,也可以设置在特征提取电路100中,本申请实施例对此不作限定。
具体地,金字塔子电路110由硬件实现,特征点检测子单元120基于硬件为特征点检测子电路120,响应计算子单元140基于硬件为响应计算子电路140,特征点选取子单元130均由处理器实现。金字塔子电路110可以通过第一内存控制器150从片外的内存200中读取待处理的图像(图5中未示出);金字塔子电路110也可以前级的电路或单元得到待处理的图像(图5中未示出)。金字塔子电路110对待处理的图像建立至少一层金字塔。特征点检测子电路120在每层金字塔中检测至少一个候选点。响应计算子电路140计算每个候选点的响应结果。响应计算子电路140将每个候选点的响应结果通过第一内存控制器150写入到内存200中。响应计算子电路140在完成处理后,可以将处理完成的信息反馈给处理器,以便于处理器从内存中读取相关数据进行后续处理。处理器(特征点选取子单元130)从内存200中读取每个候选点的响应结果,根据候选点的响应结果和预设规则,从候选点中选取出特征点。
应理解,响应计算子电路140为可选的,在不存在响应计算子电路140的情况下,特征点检测子电路120将检测出的候选点的相关数据通过第一内存控制器150写入到内存200中。特征点检测子电路120在完成处理后,可以将处理完成的信息反馈给处理器,以便于处理器从内存中读取相关数据进行后续处理。处理器(特征点选取子单元130)可以从内存200中读取写入内存200的候选点的相关数据,处理器(特征点选取子单元130)根据候选点和预设规则,从候选点中选取出特征点,本申请实施例对此不作限定。
处理器(特征点选取子单元130)可以将选取的特征点的坐标信息按预设顺序写入到内存200中,供后续计算使用(图5中未示出),例如供后续计算这些特征点的描述子使用。
应理解,特征提取电路100的各个子电路或子单元的算法可以是灵活升级的,换句话说,可以针对算法的升级,使用升级后的子电路或子单元灵活地替换原子电路或原子单元。在算法升级后,部分硬化的逻辑仍然可以起到加速算法的效果。
还应理解,本申请实施例的各个子电路或子单元通过管线(pipeline)形式连接,可以提高处理器的处理性能,进而提高系统性能。
现有的方案中,ORB算法的BRIEF描述的各步骤通常全部基于软件实现的情况下,系统的计算压力较大,计算的实时性较差。对此,本申请实施例还提供了一种描述子计算电路。图6是本申请一个实施例的描述子计算电路600的示意性框图。如图6所示,描述子计算电路600可以包括第二内存控制器610以及通过管线形式连接的点对提取子电路620和描述子生成子电路630,第二内存控制器610用于从内存200中读取特征点的坐标信息;点对提取子电路620用于根据从内存200中读取的特征点的坐标信息,在待处理的图像中特征点对应的取点区域内确定多个点对;描述子生成子电路630用于根据多个点对的像素值,确定特征点的描述子。
本申请实施例的描述子计算电路由硬件电路计算特征点的描述子,能够降低系统的计算压力,提高计算的实时性和可移植性。
本申请实施例的描述子计算电路可以基于FPGA或ASIC等实现。
其中,特征点的坐标信息可以是前级的电路或单元计算得到并存储在内存200中的。可选地,特征点的坐标信息可以是处理器通过软件计算得到并存储在内存200中的。特征点的坐标信息可以是该特征点在相应的待处理的图像中的位置的信息。待处理的图像可以是待处理的原始图像(可以是通过第二内存控制器610从内存中读取的);待处理的图像也可以是金字塔的任一层图像(可以是通过第二内存控制器610从内存中读取的,也可以是直接从前级的金字塔子电路读取的,本申请实施例对此不作限定)。待处理的图像从哪里被读出可以通过配置信号来控制。
点对提取子电路620可以根据特征点在图像的位置,从待处理的图像中读取若干行(例如49行)数据,再从中选取特征点对应的取点区域。取点区域的像素点的数据也叫作块(block)数据。点对提取子电路620可以从取点区域内直接确定多个点对,也可以根据一定的规则或算法从取点区域内确定多个点对,本申请实施例对此不作限定。
可选地,第二内存控制器610用于从内存中读取特征点的坐标信息,包括:第二内存控制器610用于按预设顺序从内存中读取多个特征点的坐标信息。换句话说,特征点的坐标信息可以是前级的电路或单元计算得到并按预设顺序存储在内存200中的。可选地,特征点的坐标信息可以是处理器通过软件计算得到并按预设顺序存储在内存200中的。这样,描述子计算电路600按预设顺序读取特征点的坐标信息,可以降低随机访问内存的带宽,能够提高系统的性能。
图7是本申请一个实施例的点对提取的示意图。具体地,如图7所示,假设特征点为K,特征点K对应的取点区域可以为以特征点K为圆心,以d为半径的圆形区域。在该圆形区域内以某一预设规则或模式选取N个点对。这里为方便说明,以N=4为例,实际应用中N可以取256、512或者其他数值。即实际应用中,可以在取点区域内取256个点对、512个点对或者其他数量个点对。应理解,图7所示的特征点K对应的取点区域仅为示例。特征点K对应的取点区域也可以不以特征点K为圆心或中心,取点区域的形状也可以为圆形以外的其他形状,或者为不规则形状,本申请实施例对此不作限定。假设如图5所示选取的4个点对分别标记为:
K1(A,B)、K2(A,B)、K3(A,B)和K4(A,B)。
描述子生成子电路630根据多个点对的像素值,确定特征点的描述子。具体可以是定义操作T。
其中,IA表示像素点A的像素值,IB表示像素点B的像素值。
分别对已选取的点对进行T操作,例如:
T(K1(A,B))=1
T(K2(A,B))=0
T(K3(A,B))=1
T(K4(A,B))=1
将得到的结果进行组合,得到该特征点K的描述子为1011。
图8是本申请另一个实施例的描述子计算电路600的示意性框图。可选地,为了使生成的描述子具有旋转不变性,如图8所示的描述子计算电路600还可以包括通过管线形式连接的质心计算子电路640和主方向计算子电路650,质心计算子电路640用于根据特征点的坐标信息从图像中确定取点区域,并计算取点区域的灰度质心的坐标;主方向计算子电路650用于根据特征点的坐标信息和灰度质心的坐标,计算特征点对应的主方向;点对提取子电路620用于根据从内存200中读取的特征点的坐标信息,在待处理的图像中特征点对应的取点区域内确定多个点对,包括:点对提取子电路620用于根据从内存200中读取的特征点的坐标信息和主方向计算子电路650计算的主方向,在图像中特征点对应的取点区域内确定多个点对。
质心计算子电路640为硬件电路,根据特征点的坐标信息从图像中确定取点区域,并计算取点区域的灰度质心的坐标。例如,仍以特征点K为例,特征点K对应的取点区域可以为以特征点K为圆心,以d为半径的圆形区域。根据取点区域中所有像素点的灰度值,可以计算出灰度质心。C是灰度质心的坐标,则C可以表示为:
其中,m00是取点区域中所有像素点的灰度值的和;m10是取点区域中x坐标(横坐标)上所有像素点的灰度值的和;m01是取点区域中y坐标(纵坐标)上所有像素点的灰度值的和。
其中,在质心计算子电路640为硬件电路时,可以充分利用硬件加速器的并行性,快速计算出灰度质心。
主方向计算子电路650根据特征点K的坐标信息和灰度质心的坐标C,计算特征点对应的主方向θ,其中,θ=arctan(m01,m10)。
具体而言,可以使用CORDIC算法计算出主方向。主方向计算子电路650可以为硬件电路,从而采取可配置的迭代次数,例如20次,计算出最终的主方向;也可以使用查找表查找出正弦或余弦的结果从而得到θ。
主方向计算子电路650计算主方向的同时,点对提取子电路620根据从内存200中读取的特征点的坐标信息和主方向计算子电路650计算的主方向,在图像中特征点对应的取点区域内确定多个点对。具体地,点对提取子电路620可以从取点区域中,读取特征点K对应的点对的坐标S,进行如下运算:
Sθ=RθS
Sθ为旋转后的坐标,描述子生成子电路630根据旋转后的坐标读取出对应的像素点的数据,生成描述子。
第二内存控制器610可以通过pipeline形式和描述子计算电路600中的其他各个子电路连接,也可以通过其他形式描述子计算电路600中的其他各个子电路连接,本申请实施例对此不作限定。
本申请实施例还提供一种图像处理集成电路,该图像处理集成电路包括前述特征提取电路100。
本申请实施例还提供一种图像处理集成电路,该图像处理集成电路包括前述描述子计算电路600。
本申请实施例还提供一种图像处理集成电路,该图像处理集成电路包括前述特征提取电路100和前述描述子计算电路600。
本申请实施例还提供一种计算芯片,该计算芯片包括前述的图像处理集成电路。
本申请实施例还提供一种计算设备,该计算设备包括前述的图像处理集成电路。
本申请实施例可以应用在飞行器,尤其是无人机领域,该计算设备可以为飞控芯片。
应理解,本申请各实施例的电路、子电路、子单元的划分只是示意性的。本领域普通技术人员可以意识到,本文中所公开的实施例描述的各示例的电路、子电路和子单元,能够再行拆分或组合。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital Subscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(Digital Video Disc,DVD))、或者半导体介质(例如,固态硬盘(Solid State Disk,SSD))等。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
应理解,在本申请实施例中,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (18)
1.一种特征提取电路,其特征在于,所述特征提取电路包括通过管线形式连接的金字塔子电路、特征点检测子单元和特征点选取子单元,
所述金字塔子电路用于对待处理的图像建立至少一层金字塔;
所述特征点检测子单元用于在所述金字塔中检测至少一个候选点;
所述特征点选取子单元由处理器实现,用于根据所述候选点和预设规则,从所述候选点中选取出特征点。
2.根据权利要求1所述的特征提取电路,其特征在于,所述特征提取电路还包括响应计算子单元,所述响应计算子单元用于计算每个所述候选点的响应结果,
所述特征点选取子单元用于根据所述候选点和预设规则,从所述候选点中选取出特征点,包括:
所述特征点选取子单元用于根据所述响应计算子单元计算的所述候选点的所述响应结果和预设规则,从所述候选点中选取出特征点。
3.根据权利要求2所述的特征提取电路,其特征在于,所述特征提取电路还包括第一内存控制器。
4.根据权利要求3所述的特征提取电路,其特征在于,所述特征点检测子单元和所述响应计算子单元均由处理器实现,所述第一内存控制器用于将所述至少一层金字塔写入内存中,
所述特征点检测子单元用于在每层所述金字塔中检测至少一个候选点,包括:
所述特征点检测子单元用于从所述内存中读取所述写入所述内存的至少一层金字塔,并在所述读取的每层所述金字塔中检测所述至少一个候选点。
5.根据权利要求3所述的特征提取电路,其特征在于,所述特征点检测子单元基于硬件为特征点检测子电路,所述响应计算子单元由处理器实现,所述第一内存控制器用于将所述至少一个候选点写入内存中,
所述响应计算子单元用于计算每个所述候选点的响应结果,包括:
所述响应计算子单元用于从所述内存中读取所述至少一个候选点,并计算所述读取的每个所述候选点的所述响应结果。
6.根据权利要求3所述的特征提取电路,其特征在于,所述特征点检测子单元基于硬件为特征点检测子电路,所述响应计算子单元基于硬件为响应计算子电路,所述第一内存控制器用于将所述候选点的所述响应结果写入内存中,
所述特征点选取子单元用于根据所述候选点和预设规则,从所述候选点中选取出特征点,包括:
所述特征点选取子单元用于从所述内存中读取所述候选点的所述响应结果,并根据所述读取的所述候选点的所述响应结果和所述预设规则,从所述候选点中选取出特征点。
7.根据权利要求1至6中任一项所述的特征提取电路,其特征在于,所述特征点选取子单元用于基于所述候选点的位置分布和/或基于系统负荷,根据所述候选点的所述响应结果,从所述候选点中选取所述特征点。
8.根据权利要求7所述的特征提取电路,其特征在于,所述特征点选取子单元在处理图像的不同帧时采取不同的预设规则。
9.根据权利要求1所述的特征提取电路,其特征在于,所述特征点选取子单元还用于将选取的所述特征点的坐标信息按预设顺序写入内存中。
10.一种描述子计算电路,其特征在于,所述描述子计算电路包括第二内存控制器以及通过管线形式连接的点对提取子电路和描述子生成子电路,
所述第二内存控制器用于从内存中读取特征点的坐标信息;
所述点对提取子电路用于根据从所述内存中读取的所述特征点的坐标信息,在待处理的图像中所述特征点对应的取点区域内确定多个点对;
所述描述子生成子电路用于根据所述多个点对的像素值,确定所述特征点的描述子。
11.根据权利要求10所述的描述子计算电路,其特征在于,所述描述子计算电路还包括通过管线形式连接的质心计算子电路和主方向计算子电路,
所述质心计算子电路用于根据所述特征点的坐标信息从所述图像中确定所述取点区域,并计算所述取点区域的灰度质心的坐标;
所述主方向计算子电路用于根据所述特征点的坐标信息和所述灰度质心的坐标,计算所述特征点对应的主方向;
所述点对提取子电路用于根据从所述内存中读取的所述特征点的坐标信息,在待处理的图像中所述特征点对应的取点区域内确定多个点对,包括:
所述点对提取子电路用于根据从所述内存中读取的所述特征点的坐标信息和所述主方向计算子电路计算的所述主方向,在所述图像中所述特征点对应的所述取点区域内确定所述多个点对。
12.根据权利要求10或11所述的描述子计算电路,其特征在于,所述第二内存控制器用于从内存中读取特征点的坐标信息,包括:
所述第二内存控制器用于按预设顺序从所述内存中读取多个所述特征点的所述坐标信息。
13.一种图像处理集成电路,其特征在于,所述图像处理集成电路包括权利要求1至9中任一项所述的特征提取电路。
14.一种图像处理集成电路,其特征在于,所述图像处理集成电路包括权利要求10至12中任一项所述的描述子计算电路。
15.一种图像处理集成电路,其特征在于,所述图像处理集成电路包括权利要求1至9中任一项所述的特征提取电路和权利要求10至12中任一项所述的描述子计算电路。
16.一种计算芯片,其特征在于,包括权利要求13至15中任一项所述的图像处理集成电路。
17.一种计算设备,其特征在于,包括权利要求13至15中任一项所述的图像处理集成电路。
18.根据权利要求17所述的计算设备,其特征在于,所述计算设备为飞控芯片。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2017/100033 WO2019041265A1 (zh) | 2017-08-31 | 2017-08-31 | 特征提取电路和图像处理集成电路 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108496186A true CN108496186A (zh) | 2018-09-04 |
Family
ID=63344789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780004680.6A Pending CN108496186A (zh) | 2017-08-31 | 2017-08-31 | 特征提取电路和图像处理集成电路 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108496186A (zh) |
WO (1) | WO2019041265A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113033590A (zh) * | 2019-12-25 | 2021-06-25 | 杭州海康机器人技术有限公司 | 图像特征匹配方法、装置、图像处理设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102282572A (zh) * | 2009-01-14 | 2011-12-14 | A9.Com有限公司 | 表示图像块的方法和系统 |
CN104850851A (zh) * | 2015-04-22 | 2015-08-19 | 福州大学 | 一种具有尺度不变性的orb特征点匹配方法 |
CN104851094A (zh) * | 2015-05-14 | 2015-08-19 | 西安电子科技大学 | 一种基于rgb-d的slam算法的改进方法 |
CN106504229A (zh) * | 2016-09-30 | 2017-03-15 | 上海联影医疗科技有限公司 | 图像中特征点的检测方法 |
CN106952215A (zh) * | 2017-02-27 | 2017-07-14 | 珠海全志科技股份有限公司 | 一种图像金字塔特征提取电路、装置及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6422250B2 (ja) * | 2014-07-08 | 2018-11-14 | キヤノン株式会社 | 画像処理方法、画像処理装置、プログラム及び記録媒体 |
-
2017
- 2017-08-31 WO PCT/CN2017/100033 patent/WO2019041265A1/zh active Application Filing
- 2017-08-31 CN CN201780004680.6A patent/CN108496186A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102282572A (zh) * | 2009-01-14 | 2011-12-14 | A9.Com有限公司 | 表示图像块的方法和系统 |
CN104850851A (zh) * | 2015-04-22 | 2015-08-19 | 福州大学 | 一种具有尺度不变性的orb特征点匹配方法 |
CN104851094A (zh) * | 2015-05-14 | 2015-08-19 | 西安电子科技大学 | 一种基于rgb-d的slam算法的改进方法 |
CN106504229A (zh) * | 2016-09-30 | 2017-03-15 | 上海联影医疗科技有限公司 | 图像中特征点的检测方法 |
CN106952215A (zh) * | 2017-02-27 | 2017-07-14 | 珠海全志科技股份有限公司 | 一种图像金字塔特征提取电路、装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2019041265A1 (zh) | 2019-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110610453B (zh) | 一种图像处理方法、装置及计算机可读存储介质 | |
CN105210115B (zh) | 使用2d图像数据来执行手势识别 | |
CN108648235A (zh) | 相机姿态追踪过程的重定位方法、装置及存储介质 | |
WO2016054779A1 (en) | Spatial pyramid pooling networks for image processing | |
CN109978925A (zh) | 一种机器人位姿的识别方法及其机器人 | |
US10796468B2 (en) | Automatic rig creation process | |
CN103679788B (zh) | 一种移动终端中3d图像的生成方法和装置 | |
CN108229533A (zh) | 图像处理方法、模型剪枝方法、装置及设备 | |
CN107615310A (zh) | 信息处理设备 | |
DE112018002775T5 (de) | Verfahren und vorrichtung zum erfassen von ebenen und/oder quadtrees zur verwendung als ein virtuelles substrat | |
WO2020244075A1 (zh) | 手语识别方法、装置、计算机设备及存储介质 | |
JP7253573B2 (ja) | マッチング方法、装置、電子機器及びコンピュータ可読記憶媒体 | |
CN107395958A (zh) | 一种图像处理方法、装置、电子设备及存储介质 | |
CN110084253A (zh) | 一种生成物体检测模型的方法 | |
GB2574372A (en) | Implementing Traditional Computer Vision Algorithmis As Neural Networks | |
CN110648363A (zh) | 相机姿态确定方法、装置、存储介质及电子设备 | |
CN111047509A (zh) | 一种图像特效处理方法、装置及终端 | |
CN110751218A (zh) | 图像分类方法、图像分类装置及终端设备 | |
CN108229680A (zh) | 神经网络系统、遥感图像识别方法、装置、设备及介质 | |
CN108496186A (zh) | 特征提取电路和图像处理集成电路 | |
CN114299306A (zh) | 获取图像检索模型的方法、图像检索方法、装置和设备 | |
CN111428551B (zh) | 密度检测方法、密度检测模型训练方法和装置 | |
CN115393251A (zh) | 印制线路板的缺陷检测方法、装置、存储介质及电子设备 | |
WO2023061195A1 (zh) | 图像获取模型的训练方法、图像检测方法、装置及设备 | |
WO2023109086A1 (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180904 |