人脸识别方案介绍
采用索尼的IMX224摄像头作为图像输入,移植人脸识别库,建立演示demo将检测到的人脸实时用方框标记出来。
1. 方案框图
图 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《Bbox》& finalBbox);
3. Demo效果
最后将检测结果通过Qt界面显示出来,如下图所示。
图4 人脸检测结果
通过测试,人脸检测耗时如下所示:
人脸识别方案介绍
采用索尼的IMX224摄像头作为图像输入,移植人脸识别库,建立演示demo将检测到的人脸实时用方框标记出来。
1. 方案框图
图 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《Bbox》& finalBbox);
3. Demo效果
最后将检测结果通过Qt界面显示出来,如下图所示。
图4 人脸检测结果
通过测试,人脸检测耗时如下所示:
举报