CN107784256B - 多窗口图像特征点统计方法和装置 - Google Patents
多窗口图像特征点统计方法和装置 Download PDFInfo
- Publication number
- CN107784256B CN107784256B CN201610779446.8A CN201610779446A CN107784256B CN 107784256 B CN107784256 B CN 107784256B CN 201610779446 A CN201610779446 A CN 201610779446A CN 107784256 B CN107784256 B CN 107784256B
- Authority
- CN
- China
- Prior art keywords
- window
- mask
- image
- column
- detection
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2218/00—Aspects of pattern recognition specially adapted for signal processing
- G06F2218/22—Source localisation; Inverse modelling
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明提供了一种多窗口图像特征点统计方法和装置,其中,该方法包括:设置多个检测窗口;确定所述多个检测窗口的最小外接矩形,并将所述最小外接矩形与待识别图像的交集作为最小外接窗口;以所述最小外接窗口作为约束,构建所述待识别图像中各个特征点相对于所述多个检测窗口的行掩膜和列掩膜;根据所述行掩膜和所述列掩膜,统计所述待识别图像中落在各个窗口内的特征点的个数。在本发明实施例中,因为在特征点统计前构建了行掩膜和列掩膜,在统计的时候不需要再进行判断操作,也不需要存储特征图像,降低了算法时间复杂度和空间复杂度,达到了节省系统资源,提高统计效率的目的。
Description
技术领域
本发明涉及图像处理技术领域,特别涉及一种多窗口图像特征点统计方法和装置。
背景技术
随着图像识别技术的不断发展,以及人们对图像识别技术的需求越来越大,图像识别等也在逐步影响着人们的生活。图像特征点识别是图像识别中较为重要的一环,目前,图像的特征点识别有多窗口的,也有单窗口的,多窗口的比单窗口的方式效率要高很多,但是对处理器性能的要求也要高很多。
目前,多窗口图像特征点统计方法主要有以下几种方式:
方式1)先扫描图像进行预处理得到所有像素点的特征图像,然后再统计特征点落在各个窗口内的数目;
方式2)计算每个窗口对应的特征图像并计数,该方法不需要存储特征图像;
方式3)判断每个计算得到的特征点是否落在各个窗口内,如果在,则将该窗口的统计值加1,该方法不需要存储特征图像,也避免了重复计算特征值。
然而,上述方式1需要存储特征图像,消耗了一部分内存,窗口外的特征图像计算是不必要的,窗口重叠部分被重复扫描,从而造成了资源浪费。上述方式2重复计算比较多,特别是当图像预处理部分的算法复杂度比较高时,效率很低,即使图像预处理实现简单,当窗口重叠时,重叠部分的特征值计算也是重复的。上述方式3条件判断语句比较多,不利于SIMD数据并行。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种多窗口图像特征点统计方法,以达到节省系统资源,提高统计效率的目的,该方法包括:
设置多个检测窗口;
确定所述多个检测窗口的最小外接矩形,并将所述最小外接矩形与待识别图像的交集作为最小外接窗口;
以所述最小外接窗口作为约束,构建所述待识别图像中各个特征点相对于所述多个检测窗口的行掩膜和列掩膜;
根据所述行掩膜和所述列掩膜,统计所述待识别图像中落在各个窗口内的特征点的个数。
在一个实施方式中,一个特征点的行掩膜的比特数等于检测窗口的个数,一个特征点的列掩膜的比特数等于检测窗口的个数。
在一个实施方式中,以所述最小外接窗口作为约束,构建所述待识别图像中各个特征点相对于所述多个检测窗口的行掩膜和列掩膜,包括:
按照以下的逻辑运算公式构建行掩膜:
fj(k)=(j>=Rky)&&(j<Rky_end)
Rmask[j]=(fj(k)<<k)|(fj(k-1)<<(k-1))|…|fj(0)
其中,fj(k)表示第j行是否落在第k个检测窗口R(k)内,Rky表示第k个检测窗口R(k)的起始行号,Rky_end表示第k个检测窗口R(k)的终止行号,k取值为0到N-1,其中,N表示检测窗口的个数,<<表示向左的逻辑移位,j=Rminy,Rminy+1,…,Rminy_end-1,Rminy表示最小外接窗口的起始行号,Rmask表示行掩膜,&&表示逻辑与运算;
按照以下的逻辑运算公式构建列掩膜:
fi(k)=(i>=Rkx)&&(i<Rkx_end)
Cmask[i]=(fi(k)<<k)|(fi(k-1)<<(k-1))|…|fi(0)
其中,fi(k)表示第i列是否落在第k个检测窗口R(k)内,Rkx表示第k个检测窗口R(k)的起始列号,Rkx_end表示第k个检测窗口R(k)的终止列号,k取值为0到N-1,其中,N表示检测窗口的个数,i=Rminx,Rminx+1,…,Rminx_end-1,Rminx表示最小外接窗口的起始列号,Cmask表示列掩膜。
在一个实施方式中,根据所述行掩膜和所述列掩膜,统计所述待识别图像中落在各个窗口内的特征点的个数,包括:
按照以下的逻辑运算公式统计所述待识别图像落在第k个检测窗口R(k)内的特征点的个数:
sum(k)+=1&((Rmask[j]&Cmask[i])>>k)
其中,sum(k)表示落在第k个检测窗口R(k)内的特征点的个数的统计值,&表示位与运算,>>表示向右的逻辑移位。
在一个实施方式中,通过SMID算法统计所述待识别图像中落在各个窗口内的特征点的个数。
本发明实施例还提供了一种多窗口图像特征点统计装置,以达到节省系统资源,提高统计效率的目的,该装置包括:
窗口设置模块,用于设置多个检测窗口;
外接窗口确定模块,用于确定所述多个检测窗口的最小外接矩形,并将所述最小外接矩形与待识别图像的交集作为最小外接窗口;
掩膜构建模块,用于以所述最小外接窗口作为约束,构建所述待识别图像中各个特征点相对于所述多个检测窗口的行掩膜和列掩膜;
统计模块,用于根据所述行掩膜和所述列掩膜,统计所述待识别图像中落在各个窗口内的特征点的个数。
在一个实施方式中,一个特征点的行掩膜的比特数等于检测窗口的个数,一个特征点的列掩膜的比特数等于检测窗口的个数。
在一个实施方式中,所述掩膜构建模块包括:
第一构建单元,用于按照以下的逻辑运算公式构建行掩膜:
fj(k)=(j>=Rky)&&(j<Rky_end)
Rmask[j]=(fj(k)<<k)|(fj(k-1)<<(k-1))|…|fj(0)
其中,fj(k)表示第j行是否落在第k个检测窗口R(k)内,Rky表示第k个检测窗口R(k)的起始行号,Rky_end表示第k个检测窗口R(k)的终止行号,k取值为0到N-1,其中,N表示检测窗口的个数,<<表示向左的逻辑移位,j=Rminy,Rminy+1,…,Rminy_end-1,Rminy表示最小外接窗口的起始行号,Rmask表示行掩膜,&&表示逻辑与运算;
第二构建单元,用于按照以下的逻辑运算公式构建列掩膜:
fi(k)=(i>=Rkx)&&(i<Rkx_end)
Cmask[i]=(fi(k)<<k)|(fi(k-1)<<(k-1))|…|fi(0)
其中,fi(k)表示第i列是否落在第k个检测窗口R(k)内,Rkx表示第k个检测窗口R(k)的起始列号,Rkx_end表示第k个检测窗口R(k)的终止列号,k取值为0到N-1,其中,N表示检测窗口的个数,i=Rminx,Rminx+1,…,Rminx_end-1,Rminx表示最小外接窗口的起始列号,Cmask表示列掩膜。
在一个实施方式中,所述统计模块具体用于按照以下的逻辑运算公式统计所述待识别图像落在第k个检测窗口R(k)内的特征点的个数:
sum(k)+=1&((Rmask[j]&Cmask[i])>>k)
其中,sum(k)表示落在第k个检测窗口R(k)内的特征点的个数的统计值,&表示位与运算,>>表示向右的逻辑移位。
在一个实施方式中,所述统计模块具体用于通过SMID算法统计所述待识别图像中落在各个窗口内的特征点的个数。
在本发明实施例中,确定了最小外接窗口,并以最小外接窗口作为约束,构建了待识别图像中各个特征点相对于多个检测窗口的行掩膜和列掩膜,基于该行掩膜和列掩膜,就可以统计识别出待识别图像中落在各个窗口内的特征点的个数,因为最小外接窗口的设置避免了窗口外无效特征点的计算,进一步的,因为在特征点统计前构建了行掩膜和列掩膜,在统计的时候不需要再进行判断操作,也不需要存储特征图像,降低了算法时间复杂度和空间复杂度,达到了节省系统资源,提高统计效率的目的。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1是根据本发明实施例的多窗口图像特征点统计方法的方法流程图;
图2是根据本发明实施例的多窗口图像特征点统计方法的另一方法流程图;
图3是根据本发明实施例的多窗口图像特征点统计装置的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
在进行具体描述前,先对本发明实施例涉及到的几个名词解释如下,以便更好地理解本申请:
1)检测窗口:感兴趣区域,形状一般为矩形;
2)多窗口图像特征点统计:多窗口图像特征点统计是指统计一帧图像中符合某些特征的像素点分别落在多个检测窗口内的数目,这些检测窗口在图像中的位置是任意的,可能是独立的,也可以是彼此重叠的;
3)图像预处理:对原始图像数据进行一系列的图像处理算法得到特征图像;
4)最小外接窗口:包含所有检测窗口的最小外接矩形窗口;
5)多窗口掩膜缓存:包含行掩膜和列掩膜,缓存数据用来描述特征像素点坐标是否落在各个检测窗口内;
6)SIMD:单指令流多数据流,是一种执行单条指令完成多个操作数运算,实现数据级并行的技术。
发明人考虑到现有的图像特征点搜索经常会存在搜索到区域外点的问题,且一般将判断操作放在计算机内核的循环操作实现,这样势必会造成处理效率低下的问题,为此,在本发明实施例中提供了一种多窗口图像特征点统计方法,以达到节省系统资源,提高统计效率的目的,如图1所示,可以包括以下步骤:
步骤101:设置多个检测窗口;
步骤102:确定所述多个检测窗口的最小外接矩形,并将所述最小外接矩形与待识别图像的交集作为最小外接窗口;
例如,设置了N个检测窗口,那么可以计算这N个检测窗口的最小外接矩形Rectmin,在确定了最小外接矩形之后,可以将最小外接矩形与原始图像的交集作为最小外接窗口Rmin,即,Rmin是Rectmin与原始图像的交集,其中,将Rmin的起始列和终止列表示为Rminx和Rminx_end,将Rmin的起始行和终止行表示为Rminy和Rminy_end,之所以设置最小外接窗口,是为了避免对窗口外无效特征点的计算。其中,原始图像可以是图形图像,也可以是特征图像。
步骤103:以所述最小外接窗口作为约束,构建所述待识别图像中各个特征点相对于所述多个检测窗口的行掩膜和列掩膜;
在确定了Rmin和N之后,就可以计算出行列对应的掩膜缓存所占用的空间的大小:例如,如果N=8,则表示有8个检测窗口,那么只需16比特即可表示某一特征点是否落在这8个检测窗口内,其中,8比特表示这一特征点所在行是否在8个检测窗口内,即为行掩膜,另外8比特表示这一特征点所在列是否在8个检测窗口内,即为列掩膜,以此类推,N个检测窗口需要N*2个比特值表征。即,一个特征点的行掩膜的比特数等于检测窗口的个数,一个特征点的列掩膜的比特数等于检测窗口的个数。
进一步的,如果N的取值比较大,那么可以将其分成几段来表示,例如:N=96,那么一个特征点需要96*2比特值表征,在具体实现的时候,可以用2个64位加上2个32位长度的掩膜数据来表征该特征点是否位于这96个检测窗口内。
因为,一般情况下多窗口掩膜缓存所占用的内存空间比存储一帧特征图像小的多,因此,采用掩膜的方式可以减少对内存空间的占用。
具体地,可以按照以下的逻辑运算公式构建行掩膜:
fj(k)=(j>=Rky)&&(j<Rky_end)
Rmask[j]=(fj(k)<<k)|(fj(k-1)<<(k-1))|…|fj(0)
其中,fj(k)表示第j行是否落在第k个检测窗口R(k)内,Rky表示第k个检测窗口R(k)的起始行号,Rky_end表示第k个检测窗口R(k)的终止行号,k取值为0到N-1,其中,N表示检测窗口的个数,<<表示向左的逻辑移位,j=Rminy,Rminy+1,…,Rminy_end-1,Rminy表示最小外接窗口的起始行号,Rmask表示行掩膜,&&表示逻辑与运算;
按照以下的逻辑运算公式构建列掩膜:
fi(k)=(i>=Rkx)&&(i<Rkx_end)
Cmask[i]=(fi(k)<<k)|(fi(k-1)<<(k-1))|…|fi(0)
其中,fi(k)表示第i列是否落在第k个检测窗口R(k)内,Rkx表示第k个检测窗口R(k)的起始列号,Rkx_end表示第k个检测窗口R(k)的终止列号,k取值为0到N-1,其中,N表示检测窗口的个数,i=Rminx,Rminx+1,…,Rminx_end-1,Rminx表示最小外接窗口的起始列号,Cmask表示列掩膜。
步骤104:根据所述行掩膜和所述列掩膜,统计所述待识别图像中落在各个窗口内的特征点的个数。
具体地,可以按照以下的逻辑运算公式统计所述待识别图像落在第k个检测窗口R(k)内的特征点的个数:
sum(k)+=1&((Rmask[j]&Cmask[i])>>k)
其中,sum(k)表示落在第k个检测窗口R(k)内的特征点的个数的统计值,&表示位与运算,>>表示向右的逻辑移位。
为了实现数据的并行运算,可以通过SMID算法统计所述待识别图像中落在各个窗口内的特征点的个数,以最终得到特征点向量Vcji,所谓的特征点向量Vcji是由特征点值c[j,i],c[j,i+1],…,c[j,i+n-1]组成的向量,其中,n的取值由向量寄存器的宽度决定,具体地,将Rmask[j]装载到向量VRj中,将Cmask[i],Cmask[i+1],…,Cmask[i+n-1]装载到向量VCi中,向量累加值Vsumji可以按照下式计算:
Vsumji[k]+=1&((VRj&VCj)>>k)
其中,第k个检测窗口R(k)内的特征点统计值sum[k]即为Vsumji[k]中n个元素的累加和,通过多窗口掩膜缓存的构建将判断特征点位置的条件判断语句转换成位与和移位操作实现,提高了算法的并行度。
下面结合一具体实施例对上述多窗口图像特征点统计方法进行说明,然而值得注意的是,该具体实施例仅是为了更好地说明本发明,并不构成对本发明的不当限定。
如图2所示,该多窗口图像特征点统计方法是基于SIMD数据并行技术提出一种多窗口图像特征点统计方法,该方法既不需要存储特征图像,同时也避免了不必要的运算和重复扫描,降低了算法时间复杂度和空间复杂度,可以包括:
1)初始化参数:
设定N个检测窗口,记为R(k),其中,k=0,1,2,…,N-1,表示第k个检测窗口。将检测窗口对应的统计值sum[k]初始值置为0。
2)计算最小外接窗口:
计算N个检测窗口的最小外接矩形Rectmin,那么最小外接窗口Rmin是Rectmin与原始图像的交集,Rmin的起始列为Rminx,终止列为Rminx_end,起始行为Rminy,终止行为Rminy_end,之所以设置最小外接窗口,是为了避免对窗口外无效特征点的计算。
3)构建多窗口掩膜缓存:
在确定Rmin和N的情况下,就可以计算出行列对应的掩膜缓存所占用空间的大小,例如:N=8则表示有8个检测窗口,只需16比特即可表示某一特征点是否落在8个检测窗口内,其中,8比特表示这一特征点所在行是否在对应8个检测窗口内,即为行掩膜,另外8比特表示这一特征点所在列是否在对应8个检测窗口内,即为列掩膜。以此类推,N个检测窗口需要N*2个比特表征。进一步的,如果N比较大,那么可以将其分成几段来表示,例如:N=96,那么一个特征点需要96*2比特,即,可以用2个64位加上2个32位长度的掩膜数据来表征该特征点是否位于这96个检测窗口内。
按照如下公式构建行掩膜Rmask:
fj(k)=(j>=Rky)&&(j<Rky_end)
Rmask[j]=(fj(k)<<k)|(fj(k-1)<<(k-1))|…|fj(0)
其中,fj(k)表示第j行是否落在第k个检测窗口R(k)内,Rky和Rky_end分别表示R(k)的起始行号和终止行号,k取值为0到N-1,其中,N表示检测窗口的个数,j=Rminy,Rminy+1,…,Rminy_end-1。
同理,列掩膜Cmask按相同的方式构建:
fi(k)=(i>=Rkx)&&(i<Rkx_end)
Cmask[i]=(fi(k)<<k)|(fi(k-1)<<(k-1))|…|fi(0)
其中,fi(k)表示第i列是否落在第k个检测窗口R(k)内,Rkx和Rkx_end分别表示R(k)的起始列号和终止列号,i=Rminx,Rminx+1,…,Rminx_end-1。
4)特征点统计计数:
特征点c[j,i]对应行掩膜Rmask[j]的第k个bit,如果为1,则表示c[j,i]所在行落在检测窗口R(k)内,如果为0,则表示c[j,i]所在行在R(k)外,同理,列掩膜Cmask[i]的第k个bit,如果为1,则表示c[j,i]所在列落在检测窗口R(k)内,如果为0,则表示c[j,i]所在列落在R(k)外,因此,可以按照以下公式进行特征点统计,得到统计值sum[k]:
sum(k)+=1&((Rmask[j]&Cmask[i])>>k)
在进行特征点统计的过程中,可以采用SIMD数据并行的方式,具体地,图像预处理得到特征点的过程是根据实际算法进行SIMD并行,最终得到特征点向量Vcji,即,由特征点值c[j,i],c[j,i+1],…,c[j,i+n-1]组成的向量,其中,n的取值由向量寄存器的宽度决定。
将Rmask[j]装载到向量VRj中,将Cmask[i],Cmask[i+1],…,Cmask[i+n-1]装载到向量VCi中,可以按照下式计算向量累加值Vsumji:
Vsumji[k]+=1&((VRj&VCj)>>k)
其中,第k个检测窗口R(k)内的特征点统计值sum[k]即为Vsumji[k]中n个元素的累加和。
在上例中,通过多窗口掩膜缓存的构建,将判断特征点位置的条件判断语句转换成位与和移位操作实现,提高了算法的并行度。
基于同一发明构思,本发明实施例中还提供了一种多窗口图像特征点统计装置,如下面的实施例所述。由于多窗口图像特征点统计装置解决问题的原理与多窗口图像特征点统计方法相似,因此多窗口图像特征点统计装置的实施可以参见多窗口图像特征点统计方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图3是本发明实施例的多窗口图像特征点统计装置的一种结构框图,如图3所示,可以包括:窗口设置模块301、外接窗口确定模块302、掩膜构建模块303和统计模块304,下面对该结构进行说明。
窗口设置模块301,用于设置多个检测窗口;
外接窗口确定模块302,用于确定所述多个检测窗口的最小外接矩形,并将所述最小外接矩形与待识别图像的交集作为最小外接窗口;
掩膜构建模块303,用于以所述最小外接窗口作为约束,构建所述待识别图像中各个特征点相对于所述多个检测窗口的行掩膜和列掩膜;
统计模块304,用于根据所述行掩膜和所述列掩膜,统计所述待识别图像中落在各个窗口内的特征点的个数。
在一个实施方式中,一个特征点的行掩膜的比特数可以等于检测窗口的个数,一个特征点的列掩膜的比特数可以等于检测窗口的个数。
在一个实施方式中,掩膜构建模块303可以包括:
第一构建单元,用于按照以下的逻辑运算公式构建行掩膜:
fj(k)=(j>=Rky)&&(j<Rky_end)
Rmask[j]=(fj(k)<<k)|(fj(k-1)<<(k-1))|…|fj(0)
其中,fj(k)表示第j行是否落在第k个检测窗口R(k)内,Rky表示第k个检测窗口R(k)的起始行号,Rky_end表示第k个检测窗口R(k)的终止行号,k取值为0到N-1,其中,N表示检测窗口的个数,<<表示向左的逻辑移位,j=Rminy,Rminy+1,…,Rminy_end-1,Rminy表示最小外接窗口的起始行号,Rmask表示行掩膜,&&表示逻辑与运算;
第二构建单元,用于按照以下的逻辑运算公式构建列掩膜:
fi(k)=(i>=Rkx)&&(i<Rkx_end)
Cmask[i]=(fi(k)<<k)|(fi(k-1)<<(k-1))|…|fi(0)
其中,fi(k)表示第i列是否落在第k个检测窗口R(k)内,Rkx表示第k个检测窗口R(k)的起始列号,Rkx_end表示第k个检测窗口R(k)的终止列号,k取值为0到N-1,其中,N表示检测窗口的个数,i=Rminx,Rminx+1,…,Rminx_end-1,Rminx表示最小外接窗口的起始列号,Cmask表示列掩膜。
在一个实施方式中,统计模块304具体可以用于按照以下的逻辑运算公式统计所述待识别图像落在第k个检测窗口R(k)内的特征点的个数:
sum(k)+=1&((Rmask[j]&Cmask[i])>>k)
其中,sum(k)表示落在第k个检测窗口R(k)内的特征点的个数的统计值,&表示位与运算,>>表示向右的逻辑移位。
在一个实施方式中,统计模块304具体可以用于通过SMID算法统计所述待识别图像中落在各个窗口内的特征点的个数。
在另外一个实施例中,还提供了一种软件,该软件用于执行上述实施例及优选实施方式中描述的技术方案。
在另外一个实施例中,还提供了一种存储介质,该存储介质中存储有上述软件,该存储介质包括但不限于:光盘、软盘、硬盘、可擦写存储器等。
从以上的描述中,可以看出,本发明实施例实现了如下技术效果:确定了最小外接窗口,并以最小外接窗口作为约束,构建了待识别图像中各个特征点相对于多个检测窗口的行掩膜和列掩膜,基于该行掩膜和列掩膜,就可以统计识别出待识别图像中落在各个窗口内的特征点的个数,因为最小外接窗口的设置避免了窗口外无效特征点的计算,进一步的,因为在特征点统计前构建了行掩膜和列掩膜,在统计的时候不需要再进行判断操作,也不需要存储特征图像,降低了算法时间复杂度和空间复杂度,达到了节省系统资源,提高统计效率的目的。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种多窗口图像特征点统计方法,其特征在于,包括:
设置多个检测窗口;
确定所述多个检测窗口的最小外接矩形,并将所述最小外接矩形与待识别图像的交集作为最小外接窗口;
以所述最小外接窗口作为约束,构建所述待识别图像中各个特征点相对于所述多个检测窗口的行掩膜和列掩膜;
根据所述行掩膜和所述列掩膜,统计所述待识别图像中落在各个窗口内的特征点的个数;
以所述最小外接窗口作为约束,构建所述待识别图像中各个特征点相对于所述多个检测窗口的行掩膜和列掩膜,包括:
按照以下的逻辑运算公式构建行掩膜:
fj(k)=(j>=Rky)&&(j<Rky_end)
Rmask[j]=(fj(k)<<k)|(fj(k-1)<<(k-1))|...|fj(0)
其中,fj(k)表示第j行是否落在第k个检测窗口R(k)内,Rky表示第k个检测窗口R(k)的起始行号,Rky_end表示第k个检测窗口R(k)的终止行号,k取值为0到N-1,其中,N表示检测窗口的个数,<<表示向左的逻辑移位,j=Rminy,Rminy+1,...,Rminy_end-1,Rminy表示最小外接窗口的起始行号,Rmask表示行掩膜,&&表示逻辑与运算;
按照以下的逻辑运算公式构建列掩膜:
fi(k)=(i>=Rkx)&&(i<Rkx_end)
Cmask[i]=(fi(k)<<k)|(fi(k-1)<<(k-1))|...|fi(0)
其中,fi(k)表示第i列是否落在第k个检测窗口R(k)内,Rkx表示第k个检测窗口R(k)的起始列号,Rkx_end表示第k个检测窗口R(k)的终止列号,k取值为0到N-1,其中,N表示检测窗口的个数,i=Rminx,Rminx+1,...,Rminx_end-1,Rminx表示最小外接窗口的起始列号,Cmask表示列掩膜;
根据所述行掩膜和所述列掩膜,统计所述待识别图像中落在各个窗口内的特征点的个数,包括:
按照以下的逻辑运算公式统计所述待识别图像落在第k个检测窗口R(k)内的特征点的个数:
sum(k)+=1&((Rmask[j]&Cmask[i])>>k)
其中,sum(k)表示落在第k个检测窗口R(k)内的特征点的个数的统计值,&表示位与运算,>>表示向右的逻辑移位。
2.根据权利要求1所述的方法,其特征在于,一个特征点的行掩膜的比特数等于检测窗口的个数,一个特征点的列掩膜的比特数等于检测窗口的个数。
3.根据权利要求1或2所述的方法,其特征在于,通过SMID算法统计所述待识别图像中落在各个窗口内的特征点的个数。
4.一种多窗口图像特征点统计装置,其特征在于,包括:
窗口设置模块,用于设置多个检测窗口;
外接窗口确定模块,用于确定所述多个检测窗口的最小外接矩形,并将所述最小外接矩形与待识别图像的交集作为最小外接窗口;
掩膜构建模块,用于以所述最小外接窗口作为约束,构建所述待识别图像中各个特征点相对于所述多个检测窗口的行掩膜和列掩膜;
统计模块,用于根据所述行掩膜和所述列掩膜,统计所述待识别图像中落在各个窗口内的特征点的个数;
所述掩膜构建模块包括:
第一构建单元,用于按照以下的逻辑运算公式构建行掩膜:
fj(k)=(j>=Rky)&&(j<Rky_end)
Rmask[j]=(fj(k)<<k)|(fj(k-1)<<(k-1))|...|fj(0)
其中,fj(k)表示第j行是否落在第k个检测窗口R(k)内,Rky表示第k个检测窗口R(k)的起始行号,Rky_end表示第k个检测窗口R(k)的终止行号,k取值为0到N-1,其中,N表示检测窗口的个数,<<表示向左的逻辑移位,j=Rminy,Rminy+1,...,Rminy_end-1,Rminy表示最小外接窗口的起始行号,Rmask表示行掩膜,&&表示逻辑与运算;
第二构建单元,用于按照以下的逻辑运算公式构建列掩膜:
fi(k)=(i>=Rkx)&&(i<Rkx_end)
Cmask[i]=(fi(k)<<k)|(fi(k-1)<<(k-1))|...|fi(0)
其中,fi(k)表示第i列是否落在第k个检测窗口R(k)内,Rkx表示第k个检测窗口R(k)的起始列号,Rkx_end表示第k个检测窗口R(k)的终止列号,k取值为0到N-1,其中,N表示检测窗口的个数,i=Rminx,Rminx+1,...,Rminx_end-1,Rminx表示最小外接窗口的起始列号,Cmask表示列掩膜;
所述统计模块具体用于按照以下的逻辑运算公式统计所述待识别图像落在第k个检测窗口R(k)内的特征点的个数:
sum(k)+=1&((Rmask[j]&Cmask[i])>>k)
其中,sum(k)表示落在第k个检测窗口R(k)内的特征点的个数的统计值,&表示位与运算,>>表示向右的逻辑移位。
5.根据权利要求4所述的装置,其特征在于,一个特征点的行掩膜的比特数等于检测窗口的个数,一个特征点的列掩膜的比特数等于检测窗口的个数。
6.根据权利要求4或5所述的装置,其特征在于,所述统计模块具体用于通过SMID算法统计所述待识别图像中落在各个窗口内的特征点的个数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610779446.8A CN107784256B (zh) | 2016-08-30 | 2016-08-30 | 多窗口图像特征点统计方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610779446.8A CN107784256B (zh) | 2016-08-30 | 2016-08-30 | 多窗口图像特征点统计方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107784256A CN107784256A (zh) | 2018-03-09 |
CN107784256B true CN107784256B (zh) | 2021-02-05 |
Family
ID=61450840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610779446.8A Active CN107784256B (zh) | 2016-08-30 | 2016-08-30 | 多窗口图像特征点统计方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107784256B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111008642A (zh) * | 2019-10-25 | 2020-04-14 | 湖北富瑞尔科技有限公司 | 基于卷积神经网络的高分辨率遥感影像分类方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101324928A (zh) * | 2007-06-13 | 2008-12-17 | 夏普株式会社 | 图像处理方法、图像处理装置和图像形成装置 |
CN103218787A (zh) * | 2013-04-23 | 2013-07-24 | 国家测绘地理信息局卫星测绘应用中心 | 多源异构遥感影像控制点自动采集方法 |
CN103295003A (zh) * | 2013-06-07 | 2013-09-11 | 北京博思廷科技有限公司 | 一种基于多特征融合的车辆检测方法 |
CN103530409A (zh) * | 2013-10-25 | 2014-01-22 | 中国科学院对地观测与数字地球科学中心 | 遥感图像检索方法及系统 |
-
2016
- 2016-08-30 CN CN201610779446.8A patent/CN107784256B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101324928A (zh) * | 2007-06-13 | 2008-12-17 | 夏普株式会社 | 图像处理方法、图像处理装置和图像形成装置 |
CN103218787A (zh) * | 2013-04-23 | 2013-07-24 | 国家测绘地理信息局卫星测绘应用中心 | 多源异构遥感影像控制点自动采集方法 |
CN103295003A (zh) * | 2013-06-07 | 2013-09-11 | 北京博思廷科技有限公司 | 一种基于多特征融合的车辆检测方法 |
CN103530409A (zh) * | 2013-10-25 | 2014-01-22 | 中国科学院对地观测与数字地球科学中心 | 遥感图像检索方法及系统 |
Non-Patent Citations (1)
Title |
---|
Automatic Detection and Feature Estimation of Windows for Refining Building Facades in 3D Urban Point Clouds;A. K. Aijazi et al.;《ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences》;20140907;第1-8页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107784256A (zh) | 2018-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110598558B (zh) | 人群密度估计方法、装置、电子设备及介质 | |
US9235769B2 (en) | Parallel object detection method for heterogeneous multithreaded microarchitectures | |
US9230148B2 (en) | Method and system for binarization of two dimensional code image | |
CN107678534B (zh) | 处理事件信号的方法及执行该方法的基于事件的传感器 | |
CN106855952B (zh) | 基于神经网络的计算方法及装置 | |
US10831861B2 (en) | Apparatus and methods for vector operations | |
CN111723918A (zh) | 用于卷积内核的自动生成和调谐工具 | |
US10929965B2 (en) | Histogram statistics circuit and multimedia processing system | |
US20180293486A1 (en) | Conditional graph execution based on prior simplified graph execution | |
US20210304350A1 (en) | Method and system for tuning graphics processing unit (gpu) parameters of a gpu kernel | |
KR20210090260A (ko) | 손실 희소 로드 simd 인스트럭션 제품군 | |
CN107784256B (zh) | 多窗口图像特征点统计方法和装置 | |
CN111667504A (zh) | 一种人脸追踪方法、装置及设备 | |
CN108664348B (zh) | 一种基于cuda的快速变点检测方法、装置及存储介质 | |
US20220261249A1 (en) | Address generation method, related apparatus, and storage medium | |
US11057641B1 (en) | Systems and methods of motion estimation using monocular event-based sensor | |
Sulzbachner et al. | An optimized silicon retina stereo matching algorithm using time-space correlation | |
US6122744A (en) | Selecting a routine based on processing power | |
CN112000611A (zh) | 图数据划分方法、处理方法及电子设备 | |
CN115049529A (zh) | 一种图像梯度确定方法、装置、设备及存储介质 | |
CN112069885A (zh) | 人脸属性识别方法、装置及移动终端 | |
CN111401383A (zh) | 基于图像检测的目标框预估方法、系统、设备及介质 | |
Anderson et al. | Fixed time template matching | |
US11914500B2 (en) | Debugging of accelerator circuit for mathematical operations using packet limit breakpoint | |
CN111091570B (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 |