×
汽车电子 > 汽车分类 > 详情

S32V视觉处理平台来实现人脸识别的应用

发布时间:2023-04-06 发布时间:
|

一、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 将检测到的人脸实时用方框标记出来。

 

1.方案框图

代理 MCU

 

未代理

 

外围

 

S32V234

 

iMX224

 

CSI

 

HDMI

 

显示器

 

图2 人脸识别方案框图

 

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& finalBbox);

 

3.Demo 效果

最后将检测结果通过 Qt 界面显示出来,如下图所示。

 

图4 人脸检测结果

 

通过测试,人脸检测耗时如下所示:

 




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
汽车数字仪表群设计的挑战