历史上的今天
今天是:2024年11月20日(星期三)
2019年11月20日 | 基于S32V来实现人脸识别的应用
2019-11-20 来源:EEWORLD
摘要:汽车行业ADAS功能需求日益增长,防疲劳驾驶是一个热门方向,对于驾驶员状态的检测,人脸识别是基础,只有快速准确地识别到人脸,才能对人脸状态进行分析。本文将介绍基于S32V来实现人脸识别的应用。
一、S32V视觉处理平台
NXP于2015开始推出S32V平台,现在已经推出了第二代型号S32V234,第三代目前已经在样品阶段,该平台定位为ADAS视觉处理,提供了视觉系统应用所需的性能和功能。
对于图像处理,S32V具有自己的特色,硬件方面:具有两路CSI和两路并口摄像头接口,提供了可图形化编程的ISP、APEX,以及3D渲染的GPU。其中可编程的ISP可以对通过CSI输入的摄像头图像数据进行处理,支持HDR、颜色转换、色调映射等。APEX提供了并行图像处理的能力。还提供了H264硬件编解码等,基本覆盖了图像处理所需要的硬件资源。
软件方面:提供了VSDK,包含S32V平台的各个外设驱动,并配有相关例程。API方面提供了OpenCV、FFmpeg、OpenCL、OpenGL、EGL等常用图像处理相关库。

图1 S32V内部框图
二、人脸识别方案介绍
采用索尼的IMX224摄像头作为图像输入,移植人脸识别库,建立演示demo将检测到的人脸实时用方框标记出来。
方案框图

图 2 人脸识别方案框图
Demo搭建
获取摄像头数据
首先,基于VSDK实现iMX224摄像头的数据获取。通过NXP提供S32 Design Studio for Vision Version软件建立iMX224的ISP处理流程,如下图所示。

图 3 ISP处理流程
这里通过运行在IPUS0中的debayer_rgb_simple_interleaced,实现了摄像头Debayer数据转RGB,然后通过FDMA传输到DDR中供算法调用。如果对于图像有特殊要求的,可以自己建立对应的IPUS核,对图像数据进行相关处理。
交叉编译相关库
移植人脸识别算法库,该库基于NCNN神经网络上搭建人脸识别系统,依赖的库有OpenCV、NCNN以及Sqlit3。这些库需要交叉编译,其中OpenCV和Sqlit3的ARM版S32V已经提供不需要再进行编译,编译后的NCNN和人脸识别算法库都是静态库,不需要拷贝到目标板上。
人脸检测demo
通过Qt来实现界面显示,首先在pro文件中添加VSDK中获取摄像头数据的相关库,算法移植的相关库,然后通过如下API接口获取图像数据。
int getCImg(cv::Mat &cimg);
再调用如下接口进行人脸检测:
void detectMaxFace(ncnn::Mat& img_, std::vector
Demo效果
最后将检测结果通过Qt界面显示出来,如下图所示。

图4 人脸检测结果
通过测试,人脸检测耗时如下所示:
史海拾趣
|
选用热继电器一般以电机额定电流为准.如电机额定电流为3A,而选择热继电器为1.5~3.5间.设定时以电机的负载为准.如负载比较稳定时,热继电器设定的电流为电机额定电流.如负载波动比较大时可稍微加大些. 如果是电机直接启动开关设备热继电器电流应选 ...… 查看全部问答> |
|
推荐一本用PowerPC开发通信设备的书,我还是第一次见同类型的书 嵌入式设计及通信设备开发详解——基于MPC82XX处理器 卓越的链接 http://www.amazon.cn/mn/detailApp?qid=1238487283&ref=SR&sr=13-1&uid=168-0888845-7367438&prodid=bkbk941360 当当的链接 http://product.dangdang.com/product.aspx?p ...… 查看全部问答> |
|
我在PB5.0中调试单一的工程可以么?就是我不想每次都生成新的系统镜像。就像在VS2005中调试一样,修改代码、F5就开始编译链接、部署、断点,这样就方便多了阿,要不我不是在PB中每次都得从新生成系统镜像了?多麻烦… 查看全部问答> |
|
103K作为从属, 另外一块CPU作为主控, 时钟频率大概200HZ 在103K这边经常会收到错误的地址 但使用逻辑分析仪看波形是正确的 可能是哪里出错了呢?… 查看全部问答> |
|
做过空调的人,都知道目前大多的解决方案是内机和外机是通过不同的电机控制板来进行控制。这样的结果就是成本升高,设计复杂, 维修困难。 飞思卡尔针对这种情况,开发了一种基于DSC的单板电机解决方案。这个方案中内机和外机的控制部分集成在一个 ...… 查看全部问答> |
|
LPC43XX单片机中有个SCT状态定时器,我想把SCT定时器时钟降下来,54Mhz,但是在SCT章中没有发现分频寄存器!如下图, 既然SCT中没有,就在CGU和CCU中找吧,结果发现CCU中只有使能/禁止SCT时钟的寄存器,也没有分频寄存器,我就迷糊了 ...… 查看全部问答> |
|
需要用HMC5883L做一个加速度感应器在液晶屏上显示姿态角和姿态坐标,以前没学过什么都不懂,想问问有没有关于5529的教学资料,视频和文字都可以,使用HMC5883L的样例程序也需要,谢谢!… 查看全部问答> |




