本发明涉及计算机视觉领域,具体涉及一种基于rk3588平台的轻量化人脸性别年龄估计方法及装置。
背景技术:
1、年龄估计系统能够自动判断人的年龄,年龄信息作为一种生物特征,除了对使用者身份有着非常重要的影响,还能提高人脸识别系统的性能。随着深度学习方法的兴起,人脸识别的深度学习算法的识别率和准确率也越来越高,但是人脸和性别年龄等特征的综合识别和评估的实时性不足,基于深度学习的轻量化设计及优化成为主流。
2、由于使用边缘设备部署深度学习模型的资源有限,目前多通过轻量化设计网络和模型压缩以及采用高性能ai平台进行设计。如何在计算资源有限的终端设备上实现人脸识别和年龄估计,并且识别精度和估计准确性损失不大的情况下,提高算法的实时性及推理速度,成为现阶段人脸识别和年龄估计系统需要解决的问题。
技术实现思路
1、本发明的目的在于克服上述现有技术的缺点,提供一种基于rk3588平台的轻量化人脸性别年龄估计方法及装置。
2、为了实现上述目的,本发明采用如下技术方案:
3、一种基于rk3588平台的轻量化人脸性别年龄估计方法,包括以下步骤:
4、s1:采用摄像头模组输出视频流,采用v4l2框架对视频流进行图像采集;
5、s2:对采集后的图像通过rga硬件加速模块作图像前处理,进行图像缩放和格式转换;
6、优选地,所述图像前处理采用rk3588平台上的rga硬件加速模块,所述rga硬件加速模块用于图像加速处理,将图像的分辨率由1920*1080缩小为640*640,并且将yuv420格式的数据转换为rgb格式。
7、s3:采用数据集对人脸识别yolov8n模型进行训练,优化训练后的yolov8n模型的输出通道数,得到yolov8n轻量化模型,将前处理后的图像输入yolov8n轻量化模型,并在模型推理和数据处理时将模型分别送入npu及cpu中以加速处理,之后输出推理结果;
8、优选地,所述yolov8n模型采用wider face数据集进行训练。
9、优选地,所述步骤s3中优化及加速处理的步骤为:
10、s3.1:将训练得到的pt后缀的文件转化成onnx后缀的模型;
11、s3.2:将onnx模型导入netron可视化工具并打开;
12、s3.3:找到模型节点/model.22/concat、/model.22/concat_1、/model.22/concat_3和/model.22/concat_2,并采用remove函数将onnx模型从所述模型节点处截断,以获取多个输出通道,得到yolov8n轻量化模型;
13、s3.4:对被截断的onnx主模型在npu上进行归一化、量化及模型推理,对截断的onnx尾部模型在多核cpu上进行数据排布格式和反量化处理,所述数据排布格式为将nc1hwc2转化为nhwc格式或nchw格式,所述量化为将float16数据转化成int8数据,所述反量化为将int8数据转化为float16数据。
14、优选地,所述步骤s3中优化后的输出通道数为6,yolov8n轻量化模型输出的6组通道数据分别为3个特征图数据和3个得分数据,3个特征图数据为1x64x80x80、1x64x40x40和1x64x20x20,3个得分数据为1x1x80x80、1x1x40x40和1x1x20x20。
15、s4:对推理结果采用多线程异步策略进行图像后处理,所述图像后处理包括通过过滤和非极大值抑制对模型输出的边界框进行处理,获得人脸识别结果。
16、s5:将后处理后的人脸识别结果送入性别识别模型和/或年龄估计模型中进行推理,得到性别识别和/或年龄估计结果,所述性别识别模型采用性别特征网络,所述年龄估计模型采用年龄特征网络,所述性别特征网络和年龄特征网络均采用非对称量化处理。
17、优选地,所述性别特征网络和年龄特征网络均采用utkface数据集进行训练。
18、优选地,所述步骤s5中多线程处理包括采用线程池策略,将1x64x80x80和其对应的类别矩阵1x1x80x80均通过第一线程进行处理,将1x64x40x40和其对应的类别矩阵1x64x20x20、1x64x20x20和其对应的类别矩阵1x1x20x20均通过第二线程进行处理。
19、s6:将性别识别和/或年龄估计结果通过mpp模块叠加到图像上进行编码,编码后的图像通过rtsp推流,传输至vlc软件进行解码显示。
20、一种基于rk3588平台的轻量化人脸性别年龄估计装置,包括摄像头模组,rk3588开发板和计算机,所述摄像头模组与rk3588开发板的rga模块的输入端连接,所述rk3588开发板与计算机通过网线连接,所述计算机用于远端显示。
21、优选地,所述摄像头模组采用800w单目摄像头,型号为cam-8ms1m。
22、本发明通过将摄像头模组输入的视频采用rga硬件加速模块进行加速处理,转化成yolov8n模型推理所需的格式,使用轻量化设计和多线程加速设计,裁剪网络推理实现人脸检测和性别年龄特征估计摄像头输入视频流,进行人脸识别和性别年龄特征估计,并将视频流叠加人脸特征信息通过rk3588平台进行硬件编码,并实时推流。实现了性别和年龄估计,提高了人脸特征检测的维度,采用轻量化设计,降低了参数量,并且提高了处理速度。
1.一种基于rk3588平台的轻量化人脸性别年龄估计方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于rk3588平台的轻量化人脸性别年龄估计方法,其特征在于,所述步骤s3中优化及加速处理的步骤为:
3.根据权利要求1所述的一种基于rk3588平台的轻量化人脸性别年龄估计方法,其特征在于,所述图像前处理采用rk3588平台上的rga硬件加速模块,所述rga硬件加速模块用于图像加速处理,将图像的分辨率由1920*1080缩小为640*640,并且将yuv420格式的数据转换为rgb格式。
4.根据权利要求3所述的一种基于rk3588平台的轻量化人脸性别年龄估计方法,其特征在于,所述步骤s3中优化后的输出通道数为6,yolov8n轻量化模型输出的6组通道数据分别为3个特征图数据和3个得分数据,3个特征图数据为1x64x80x80、1x64x40x40和1x64x20x20,3个得分数据为1x1x80x80、1x1x40x40和1x1x20x20。
5.根据权利要求4所述的一种基于rk3588平台的轻量化人脸性别年龄估计方法,其特征在于,所述步骤s5中多线程处理包括采用线程池策略,将1x64x80x80和其对应的类别矩阵1x1x80x80均通过第一线程进行处理,将1x64x40x40和其对应的类别矩阵1x64x20x20、1x64x20x20和其对应的类别矩阵1x1x20x20均通过第二线程进行处理。
6.根据权利要求1所述的一种基于rk3588平台的轻量化人脸性别年龄估计方法,其特征在于,所述yolov8n模型采用wider face数据集进行训练,所述性别特征网络和年龄特征网络均采用utkface数据集进行训练。
7.根据权利要求1所述的一种基于rk3588平台的轻量化人脸性别年龄估计方法,其特征在于,所述步骤s1中所述摄像头模组采用800w单目摄像头,型号为cam-8ms1m。
8.一种基于rk3588平台的轻量化人脸性别年龄估计装置,基于权利要求1-6任一项所述的一种基于rk3588平台的轻量化人脸性别年龄估计方法,其特征在于,包括摄像头模组,rk3588开发板和计算机,所述摄像头模组与rk3588开发板的rga模块的输入端连接,所述rk3588开发板与计算机通过网线连接,所述计算机用于远端显示。