一种基于FPGA的二值神经网络实时面部情绪识别方法

文档序号:30520338发布日期:2022-06-25 04:42阅读:来源:国知局

技术特征:
1.一种基于fpga的二值神经网络实时面部情绪识别方法,所述方法包括:步骤1)对采集的视频图像进行预处理;步骤2)基于harr-like特征模板,采用窗口滑动机制对预处理后图像中的人脸进行检测与裁剪,并截取包含人脸图像的部分,采用圆形lbp算子对截取图像提取局部二值信息;步骤3)将提取的局部二值信息输入预先建立和训练好的面部情绪识别模型得到情绪识别结果;所述面部情绪识别模型为二值神经网络,通过在fpga中采用同或门设计、位累计运算和阈值比较方法,进行前向推理,实现情绪识别。2.根据权利要求1所述的基于fpga的二值神经网络实时面部情绪识别方法,其特征在于,所述步骤1)具体包括:对采集的视频图像进行分帧处理,再对分帧后的图像进行对比度和亮度增强,并对图像尺寸进行等比例的放缩。3.根据权利要求2所述的基于fpga的二值神经网络实时面部情绪识别方法,其特征在于,所述步骤2)具体包括:基于harr-like特征模板,对预处理后的图像通过哈尔特征进行特征描述,并采用积分图加速哈尔特征的提取;采用预设尺寸的滑动窗口在特征提取后的图像上依次滑过所有位置,进行人脸检测;并逐渐增大滑动窗口的尺寸到一定倍数,重复该步骤,获得各个尺寸下可能包含人脸的检测窗口;采用adaboost与分类器级联结构将不同尺寸的检测窗口进行筛选,消除不同尺寸滑动窗口圈定同一目标的可能性,并返回包含人脸窗口的坐标信息;根据包含人脸窗口的坐标信息截取包含人脸图像的部分;采用圆形lbp算子对截取图像提取局部二值信息。4.根据权利要求3所述的基于fpga的二值神经网络实时面部情绪识别方法,其特征在于,所述面部情绪识别模型的输入为局部二值信息,输出为识别结果,所述面部情绪识别模型包括依次多个级联的block层、路由层、重排序层和多个级联的卷积层,其中,所述多个级联block层,用于得到增强的特征图;其中每个block层均包括卷积层、批量归一化层和池化层;所述重排序层,用于提取前端输入特征图并在其邻域内按位置进行抽样,相同位置的像素输出子图,输出的子图长宽与接下来级联的特征图长宽一致;所述路由层,用于将重排序层输出的子图与经过多个级联的block层运算增强的特征图进行级联,并输入卷积层;所述多个级联的卷积层,用于实现最终的情绪分类任务,其中每个卷积层结构相同,卷积核大小均为1
×
1。5.根据权利要求4所述的基于fpga的二值神经网络实时面部情绪识别方法,其特征在于,所述方法还包括在上位机上进行的面部情绪识别模型的训练步骤;具体包括:通过翻转、平移和裁剪的方法对fer2013人脸表情数据集的已知情绪标签的图片进行数据增强,得到增强后的数据集,并从中选取一定数量的图片建立训练集;采用圆形lbp算子提取训练集中图像的局部二值信息进一步增强训练集图片中的有用
信息;将局部二值信息输入面部情绪识别模型,通过调整每层的配置信息,进行自监督学习,直到满足训练要求,得到训练好的面部情绪识别模型;提取训练后的模型权重,并转化为适合硬件电路运行的二进制权重文件。6.一种基于fpga的二值神经网络实时面部情绪识别系统,其特征在于,所述系统包括:部署在上位机上的图像预处理模块和部署在硬件计算平台的人脸检测模块、硬件推理模块和面部情绪识别模型,其中,所述图像预处理模块,用于对采集的视频图像进行预处理;所述人脸检测模块,用于对预处理后图像中的人脸进行检测与裁剪,并截取包含人脸图像的部分,采用圆形lbp算子对截取图像提取局部二值信息;所述硬件推理模块,用于将提取的局部二值信息输入预先建立和训练好的面部情绪识别模型得到情绪识别结果;所述面部情绪识别模型为二值神经网络,通过在fpga中采用同或门设计、位累计运算和阈值比较方法,进行前向推理,实现情绪识别。7.根据权利要求6所述的基于fpga的二值神经网络实时面部情绪识别系统,其特征在于,所述硬件计算平台为集成了arm处理器和fpga的pynq板卡。8.根据权利要求7所述的基于fpga的二值神经网络实时面部情绪识别系统,其特征在于,所述面部情绪识别模型的配置信息存储在arm处理器的内存区域,面部情绪识别模型部署在fpga。9.根据权利要求8所述的基于fpga的二值神经网络实时面部情绪识别系统,其特征在于,所述硬件推理模块的处理过程具体包括:从arm处理器的内存区域读取面部情绪识别模型的配置信息通过axi_lite总线发送至fpga的参数缓存模块pcm,将局部二值信息和情绪识别模型的权重参数通过axi_mem总线从动态随机存取存储器dram中传输至部署在fpga的pe处理阵列进行前向推理,将推理计算得到的情绪识别结果通过axi_mem总线传输至dram中;所述pe处理阵列包括多个并行处理的pe处理单元,每个pe处理单元基于二值神经网络的点积运算规则,采用同或门xnor实现,由位累计运算统计参数中“1”的位数,存储至累加寄存器,并与设定的阈值进行无符号比较,得到该处理阵列的计算结果。

技术总结
本发明公开了一种基于FPGA的二值神经网络实时面部情绪识别方法,所述方法包括:步骤1)对采集的视频图像进行预处理;步骤2)基于Harr-like特征模板,采用窗口滑动机制对预处理后图像中的人脸进行检测与裁剪,并截取包含人脸图像的部分,采用圆形LBP算子对截取图像提取局部二值信息;步骤3)将提取的局部二值信息输入预先建立和训练好的面部情绪识别模型得到情绪识别结果;所述面部情绪识别模型为二值神经网络,通过在FPGA中采用同或门设计、位累计运算和阈值比较方法,进行前向推理,实现情绪识别。情绪识别。情绪识别。


技术研发人员:黄威 孙锴 赵国栋 王海成
受保护的技术使用者:内蒙古大学
技术研发日:2022.03.18
技术公布日:2022/6/24
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1