[发明专利]一种基于卷积定理的人脸验证加速方法有效
申请号: | 201611170720.8 | 申请日: | 2016-12-16 |
公开(公告)号: | CN106709441B | 公开(公告)日: | 2019-01-29 |
发明(设计)人: | 刘波;郭申 | 申请(专利权)人: | 北京工业大学 |
主分类号: | G06K9/00 | 分类号: | G06K9/00 |
代理公司: | 北京思海天达知识产权代理有限公司 11203 | 代理人: | 沈波 |
地址: | 100124 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种基于卷积定理的人脸验证加速方法,属于计算机视觉中的人脸验证领域。对于采用CNN技术的人脸验证系统,在使用GPU并行计算平台的基础上,对满足加速条件的卷积层,采用卷积定理方法替换常规卷积计算方法进行卷积计算。卷积定理表明,空域中的卷积等价于频域中的乘积。通过将耗时的卷积计算转化为频域中的乘积计算,能够显著减少计算量,加快CNN的计算速度。针对人脸验证系统计算负担大,运行速度慢的问题,本发明使得人脸验证系统的运行速度明显提高,对海量数据的处理能力得以提升。 | ||
搜索关键词: | 卷积 人脸验证系统 人脸验证 卷积计算 频域 计算机视觉 并行计算 常规卷积 乘积计算 海量数据 加速条件 计算量 等价 耗时 替换 空域 转化 | ||
【主权项】:
1.一种基于卷积定理的人脸验证加速方法,其特征在于:在使用GPU并行计算平台的基础上,对满足加速条件的卷积层,采用卷积定理方法替换常规卷积计算方法进行卷积计算;卷积定理表明,空域中的卷积等价于频域中的乘积;通过将耗时的卷积计算转化为频域中的乘积计算,能够显著减少计算量,加快CNN的计算速度,从而提升人脸验证的速度;描述本方法所用符号如下:
本方法包括六个步骤:步骤1:由卷积层输入参数判断是否满足加速条件;首先根据卷积层的输入参数,判断是否满足卷积定理的加速条件;标准的卷积计算方法是采用多重循环嵌套进行计算,其时间复杂度Cstd约为Cstd≈M2P2,整个卷积层的时间复杂度Cstd_layer约为Cstd_layer≈KLCstd;卷积定理算法流程中,快速傅里叶变换(Fast Fourier Transformation,FFT)的时间复杂度CFFT约为![]()
频域乘积求和的时间复杂度Cmul约为Cmul≈4M2;卷积定理的时间复杂度Cconv约为Cconv≈3CFFT+Cmul;整个卷积层采用卷积定理的时间复杂度Cconv_layer约为Cconv_layer≈KCFFT+LCFFT+KLCmul;通过Cstd_layer和Cconv_layer的对比得出,Cconv_layer与卷积核尺寸P无关,并且当满足K+L<<KL时,采用卷积定理计算卷积能显著减少计算量;步骤2:输入图像和卷积核尺寸扩充;为了应用卷积定理计算卷积,首先要将输入图像和卷积核扩充至相同尺寸;为了避免因为周期性问题而导致的混淆错误,输入图像的扩充尺寸M′要求满足M′≥M+P‑1;扩充后在原数据右下方补零填充;卷积运算中的数据都是由四维构成的,四维数据的尺寸以下标大写字母形式的表示,输入图像具体表示为xS*K*M*M;在以下文字叙述中,为叙述简洁,数据不列出下标;输入图像简写为x,x′表示尺寸扩充后的输入图像;输入图像尺寸扩充操作表示为:
卷积核具体表示为wL*K*P*P,简写为w,w′表示尺寸扩充后的卷积核,尺寸扩充操作为:
输入图像和卷积核延拓后尺寸相同,即M+Q=P+Q′;步骤3:输入图像和卷积核傅里叶变换;利用傅里叶变换将图像从空域变换至频域;根据Hermitian对称性,傅里叶变换后的数据存在一半的冗余,因此只需存储和计算一半数据;用x″表示频域中的输入图像,输入图像的傅里叶变换表示如下:
用w″表示频域中的卷积核;卷积核的傅里叶变换表示如下:
步骤4:频域乘积求和计算;频域的乘积求和公式定义为:
其中,out表示频域乘积求和计算结果,s表示S张输入图像中第s张,l表示L个卷积核个第l个,k表示K个输入图像通道中第k个,m,n表示二维频域中的像素位置;对于频域中乘积求和计算,直接方法是采用循环嵌套来计算,但无疑效率较低;为了充分利用GPU的并行计算能力,本方法将循环嵌套转换为矩阵相乘形式来完成频域中乘积求和计算;若要采用矩阵乘积完成计算,首先要将输入图像和卷积核由主通道存储重排列为主像素存储,完成批量矩阵相乘,之后将运算结果反重排列;步骤4.1:输入图像和卷积核重排列;x″′表示重排列后的输入图像,输入图像的重排列操作表示为:
w″′表示重排列后的卷积核,卷积核的重排列操作表示为:
步骤4.2:批量矩阵乘积计算;在完成数据重排列后,将x″′的(m,n)处后两维(s,k)视为一个大小为(S,K)的矩阵,w″′的(m,n)处后两维(l,k)视为另一个大小为(L,K)的矩阵,进行矩阵相乘;如此便完成了(m,n)像素位置处的频域乘积求和计算;矩阵乘积运算批量进行(M+Q)*((M+Q)/2+1)次,便完成全部数据的频域乘积求和运算;out代表矩阵乘积计算后的结果,表示如下:
步骤4.3:计算结果反重排;out′为out反重排的结果,反重排列操作表示为:
步骤5:计算结果傅里叶反变换;对out′进行傅里叶反变换前,先根据Hermitian对称性填充另一半数据,然后再做傅里叶反变换,out″为out′傅里叶反变换的结果,得到:
步骤6:计算结果边界裁剪;由于在进行傅里叶变换前,将输入图像和卷积核的尺寸都进行扩充,所以需要对计算结果的右下方进行裁剪;根据卷积的定义,应保留尺寸为M‑P+1,即:
out″′即为卷积运算的最终结果。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201611170720.8/,转载请声明来源钻瓜专利网。