一种基于GPU的特征比对方法及装置制造方法及图纸

技术编号:13955746 阅读:78 留言:0更新日期:2016-11-02 12:27
本发明专利技术提供了一种基于GPU的特征比对方法及装置,该方法包括:在GPU显存中建立动态特征库,向所述GPU输入待检测特征;通过所述GPU调用运算平台CUDA内核函数,并行比对所述待检测特征与所述动态特征库中的特征,得到多个比对结果;通过所述GPU将所述多个比对结果传输给CPU,通过所述CPU从所述多个比对结果中获取最终比对结果。本发明专利技术使用GPU并行运算的方法高效进行特征比对,利用N卡GPU的CUDA进行特征并行比对,GPU中包含的CUDA核心数几百至上千个不等,CUDA核心数越多,特征比对的效率越高,且本发明专利技术可随着GPU核心数的不断增加,比对效率也会不断提高。

【技术实现步骤摘要】

本专利技术涉及模式识别及数据比对
,具体而言,涉及一种基于GPU的特征比对方法及装置
技术介绍
特征比对是模式识别中的关键技术,是指将待检测特征与特征库中数目庞大的特征进行一一比对,从特征库中筛选出符合要求的特征。由于特征库中特征的数量非常巨大,导致特征比对的运算量很大,因此如何提高特征比对的运算速度就成为人们关注的关键问题。由于特征比对算法实质上是特征库中的特征与待检测特征之间的线性运算,因此当前在提高特征比对的运行速度时,通常通过提高CPU(Central Processing Unit,中央处理器)的主频,使线性运算速度提高,或者通过使用多核CPU,以同时进行多个特征比对。但由于当前CPU主频的提高及CPU多核技术均已达到发展瓶颈,因此通过提高CPU主频或者通过使用多核CPU来提高特征比对的运行速度,也已达到发展瓶颈,所以现在急需一种进一步提高运算速度的特征比对方案。
技术实现思路
有鉴于此,本专利技术实施例的目的在于提供一种基于GPU的特征比对方法及装置,利用N卡GPU的CUDA进行特征并行比对,CUDA核心数越多,特征比对的效率越高,且本专利技术可随着GPU核心数的不断增加,比对效率也会不断提高。第一方面,本专利技术实施例提供了一种基于GPU的特征比对方法,所述方法包括:在图形处理器GPU显存中建立动态特征库,及向所述GPU输入待检测特征;通过所述GPU调用运算平台CUDA内核函数,并行比对所述待检测特征与所述动态特征库中的特征,得到多个比对结果;通过所述GPU将所述多个比对结果传输给中央处理器CPU,通过所述CPU从所述多个比对结果中获取最终比对结果。结合第一方面,本专利技术实施例提供了上述第一方面的第一种可能的实现方式,其中,所述在图形处理器GPU显存中建立动态特征库,包括:在图形处理器GPU显存中创建动态数据库;根据预设特征库包括的特征总数和所述GPU的内核数,建立所述动态数据库对应的多个分组;根据所述预设特征库及所述多个分组,生成动态特征库。结合第一方面的第一种可能的实现方式,本专利技术实施例提供了上述第一方面的第二种可能的实现方式,其中,所述根据预设特征库包括的特征总数和所述GPU的内核数,建立所述动态数据库对应的多个分组,包括:根据所述GPU的内核数,确定分组对应的特征数目;根据预设特征库包括的特征总数及所述分组对应的特征数目,计算所述动态数据库对应的分组数目;在所述动态数据库中创建所述分组数目个分组。结合第一方面的第二种可能的实现方式,本专利技术实施例提供了上述第一方面的第三种可能的实现方式,其中,所述根据所述预设特征库及所述多个分组,生成动态特征库,包括:根据所述预设特征库包括的特征及所述分组对应的特征数目,确定每个分组所需占用的存储空间;根据所述每个分组所需占用的存储空间,分别为所述每个分组分配显存空间;将所述预设特征库包括的特征,存储在为所述每个分组分配的显存空间中。结合第一方面的第一种可能的实现方式,本专利技术实施例提供了上述第一方面的第四种可能的实现方式,其中,通过所述GPU调用运算平台CUDA内核函数,并行比对所述待检测特征与所述动态特征库中的特征,包括:通过所述GPU的多个内核同时调用运算平台CUDA内核函数,多线程并发访问所述动态特征库中分组包括的每个特征,通过多线程将所述待检测特征同时与分组中的每个特征进行比对。结合第一方面的第一种可能的实现方式,本专利技术实施例提供了上述第一方面的第五种可能的实现方式,其中,所述方法还包括:当需在所述预设特征库中增加特征时,根据需增加的特征,建立新的分组,为所述新的分组分配显存空间,将所述需增加的特征存储在为所述新的分组分配的显存空间中。结合第一方面的第一种可能的实现方式,本专利技术实施例提供了上述第一方面的第六种可能的实现方式,其中,所述方法还包括:当需从所述预设特征库中删除特征时,确定需删除的特征所在的分组;从确定的所述分组的末尾,抽取与所述需删除的特征的数目相同个数个特征;从确定的所述分组中删除所述需删除的特征,将抽取的特征依次存储在所述需删除的特征对应的显存空间中。第二方面,本专利技术实施例提供了一种基于GPU的特征比对装置,所述装置包括:建立模块,用于在图形处理器GPU显存中建立动态特征库;输入模块,用于向所述GPU输入待检测特征;比对模块,用于通过所述GPU调用运算平台CUDA内核函数,并行比对所述待检测特征与所述动态特征库中的特征,得到多个比对结果;获取模块,用于通过所述GPU将所述多个比对结果传输给中央处理器CPU,通过所述CPU从所述多个比对结果中获取最终比对结果。结合第二方面,本专利技术实施例提供了上述第二方面的第一种可能的实现方式,其中,所述建立模块包括:创建单元,用于在图形处理器GPU显存中创建动态数据库;建立单元,用于根据预设特征库包括的特征总数和所述GPU的内核数,建立所述动态数据库对应的多个分组;生成单元,用于根据所述预设特征库及所述多个分组,生成动态特征库。结合第二方面的第一种可能的实现方式,本专利技术实施例提供了上述第二方面的第二种可能的实现方式,其中,所述建立单元包括:第一确定子单元,用于根据所述GPU的内核数,确定分组对应的特征数目;计算子单元,用于根据预设特征库包括的特征总数及所述分组对应的特征数目,计算所述动态数据库对应的分组数目;创建子单元,用于在所述动态数据库中创建所述分组数目个分组。结合第二方面的第二种可能的实现方式,本专利技术实施例提供了上述第二方面的第三种可能的实现方式,其中,所述生成单元包括:第二确定子单元,用于根据所述预设特征库包括的特征及所述分组对应的特征数目,确定每个分组所需占用的存储空间;分配子单元,用于根据所述每个分组所需占用的存储空间,分别为所述每个分组分配显存空间;存储子单元,用于将所述预设特征库包括的特征,存储在为所述每个分组分配的显存空间中。结合第二方面第一种可能的实现方式,本专利技术实施例提供了上述第二方面的第四种可能的实现方式,其中,通过比对模块,用于通过所述GPU的多个内核同时调用运算平台CUDA内核函数,多线程并发访问所述动态特征库中分组包括的每个特征,通过多线程将所述待检测特征同时与分组中的每个特征进行比对。结合第二方面的第一种可能的实现方式,本专利技术实施例提供了上述第二方面的第五种可能的实现方式,其中,所述装置还包括:增加模块,用于当需在所述预设特征库中增加特征时,根据需增加的特征,建立新的分组,为所述新的分组分配显存空间,将所述需增加的特征存储在为所述新的分组分配的显存空间中。结合第二方面的第一种可能的实现方式,本专利技术实施例提供了上述第二方面的第六种可能的实现方式,其中,所述装置还包括:删除模块,用于当需从所述预设特征库中删除特征时,确定需删除的特征所在的分组;从确定的所述分组的末尾,抽取与所述需删除的特征的数目相同个数个特征;从确定的所述分组中删除所述需删除的特征,将抽取的特征依次存储在所述需删除的特征对应的显存空间中。在本专利技术实施例提供的方法及装置中,在GPU显存中建立动态特征库,向所述GPU输入待检测特征;通过所述GPU调用运算平台CUDA内核函数,并行比对所述待检测特征与所述动态特征库中的特征,得到多个比对结果;通过所述GPU将所述多个比对结果传输给CPU,通过所述CPU从本文档来自技高网...

【技术保护点】
一种基于GPU的特征比对方法,其特征在于,所述方法包括:在图形处理器GPU显存中建立动态特征库,及向所述GPU输入待检测特征;通过所述GPU调用运算平台CUDA内核函数,并行比对所述待检测特征与所述动态特征库中的特征,得到多个比对结果;通过所述GPU将所述多个比对结果传输给中央处理器CPU,通过所述CPU从所述多个比对结果中获取最终比对结果。

【技术特征摘要】
1.一种基于GPU的特征比对方法,其特征在于,所述方法包括:在图形处理器GPU显存中建立动态特征库,及向所述GPU输入待检测特征;通过所述GPU调用运算平台CUDA内核函数,并行比对所述待检测特征与所述动态特征库中的特征,得到多个比对结果;通过所述GPU将所述多个比对结果传输给中央处理器CPU,通过所述CPU从所述多个比对结果中获取最终比对结果。2.根据权利要求1所述的方法,其特征在于,所述在图形处理器GPU显存中建立动态特征库,包括:在图形处理器GPU显存中创建动态数据库;根据预设特征库包括的特征总数和所述GPU的内核数,建立所述动态数据库对应的多个分组;根据所述预设特征库及所述多个分组,生成动态特征库。3.根据权利要求2所述的方法,其特征在于,所述根据预设特征库包括的特征总数和所述GPU的内核数,建立所述动态数据库对应的多个分组,包括:根据所述GPU的内核数,确定分组对应的特征数目;根据预设特征库包括的特征总数及所述分组对应的特征数目,计算所述动态数据库对应的分组数目;在所述动态数据库中创建所述分组数目个分组。4.根据权利要求3所述的方法,其特征在于,所述根据所述预设特征库及所述多个分组,生成动态特征库,包括:根据所述预设特征库包括的特征及所述分组对应的特征数目,确定每个分组所需占用的存储空间;根据所述每个分组所需占用的存储空间,分别为所述每个分组分配显存空间;将所述预设特征库包括的特征,存储在为所述每个分组分配的显存空间中。5.根据权利要求2所述的方法,其特征在于,通过所述GPU调用运算平台CUDA内核函数,并行比对所述待检测特征与所述动态特征库中的特征,包括:通过所述GPU的多个内核同时调用运算平台CUDA内核函数,多线程并发访问所述动态特征库中分组包括的每个特征,通过多线程将所述待检测特征同时与分组中的每个特征进行比对。6.根据权利要求2所述的方法,其特征在于,所述方法还包括:当需在所述预设特征库中增加特征时,根据需增加的特征,建立新的分组,为所述新的分组分配显存空间,将所述需增加的特征存储在为所述新的分组分配的显存空间中。7.根据权利要求2所述的方法,其特征在于,所述方法还包括:当需从所述预设特征库中删除特征时,确定需删除的特征所在的分组;从确定的所述分组的末尾,抽取与所述需删除的特征的数目相同个数个特征;从确定的所述分组中删除所述需删除的特征,将抽取的特征依次存储在所述需删除的特征对应的显存空间中。8....

【专利技术属性】
技术研发人员:潘铭哲周光明李岩张丛喆
申请(专利权)人:东方网力科技股份有限公司
类型:发明
国别省市:北京;11

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

1