人脸识别这些年越来越盛行,人脸支付、小区门禁、红外测温等很多领域都会用到人脸识别。
今天给大家分享一个轻量级的开源人脸识别算法(PICO),以及在MPU中的应用。
关于PICO
PICO:Pixel Intensity Comparison-based Object detection,即基于像素强度比较的目标检测(直白的说,就是人脸识别算法)。
https://github.com/nenadmarkus/pico
PICO框架是对标准Viola-Jones的修改,其基本思想是用像素强度比较扫描图像,在其内部节点上进行二值测试。这使得检测器能够在所有合理的位置和尺度上处理二进制分类器的图像级联。
一个图像区域被分类为感兴趣的对象,它成功地通过了级联的所有成员。每个二元分类器都由决策树区域的集合组成,速度非常快。
PICO特点:
PICO局限:
由于PICO比较简单,不适用于变化很大的场景,特别是人流量较大、快速移动的场景。
PICO在MPU中的应用
这里结合瑞萨RZ/A2M系列MPU给大家讲述人脸识别算法的应用,这里其中一个重要的内容就是该系列处理器具有DRP(动态可配置处理器 )技术。
之前给大家分享过一篇内容《MPU动态可重配置是如何工作的?》大家可以先了解一下什么是DRP技术。
因为PICO是轻量级的人脸识别算法,所以,内存不需要太大,像RZ/A2M系列处理器自带的4MB片上RAM够完全足够了。
这里瑞萨官方提供了一个应用的案例:
https://www.renesas.cn/cn/zh/blogs/rza2m-drp-realizes-efficient-masked-face-detection
示例通过MIPI接口连接CMOS传感器,输入一个1280x720分辨率的图像,通过RZ/A2M的DRP对输入图像做Simple ISP处理,图像缩放处理,然后运行一个轻量级且高效的口罩,人脸检测模型。它能够实现在人脸检测模式下30FPS的检测速度,在区分是否戴口罩的模式下实现20FPS的检测速度。
如下图是它如何实现基本原理:
DRP硬件加速实现:
其中Simple ISP库将CMOS传感器的Bayer格式数据转换为灰阶数据,并统计一帧图像中三个预设区域的平均亮度用于调整自动曝光参数。
如下视频是针对快速切换的图像进行人脸检测的测试结果,可以看到RZ/A2M在经过了DRP加速及和运行轻量级高效AI算法后,能够实时捕获到图像中的人脸。
单片机开发环境中Release和Debug的差异
手把手教你搭建VSCode+GNU+J-Link开发环境
瑞米派(Remi Pi)实时系统与EtherCAT移植