新聞中心

EEPW首頁 > 設(shè)計(jì)應(yīng)用 > 基于S32V來實(shí)現(xiàn)人臉識別的應(yīng)用

基于S32V來實(shí)現(xiàn)人臉識別的應(yīng)用

作者: 時(shí)間:2019-11-20 來源:電子產(chǎn)品世界 收藏

摘要:汽車行業(yè)ADAS功能需求日益增長,防疲勞駕駛是一個(gè)熱門方向,對于駕駛員狀態(tài)的檢測,人臉識別是基礎(chǔ),只有快速準(zhǔn)確地識別到人臉,才能對人臉狀態(tài)進(jìn)行分析。本文將介紹基于S32V來實(shí)現(xiàn)人臉識別的應(yīng)用。

本文引用地址:http://m.butianyuan.cn/article/201911/407303.htm

一、S32V視覺處理平臺

NXP于2015開始推出S32V平臺,現(xiàn)在已經(jīng)推出了第二代型號S32V234,第三代目前已經(jīng)在樣品階段,該平臺定位為ADAS視覺處理,提供了視覺系統(tǒng)應(yīng)用所需的性能和功能。

對于圖像處理,S32V具有自己的特色,硬件方面:具有兩路CSI和兩路并口攝像頭接口,提供了可圖形化編程的ISP、APEX,以及3D渲染的GPU。其中可編程的ISP可以對通過CSI輸入的攝像頭圖像數(shù)據(jù)進(jìn)行處理,支持HDR、顏色轉(zhuǎn)換、色調(diào)映射等。APEX提供了并行圖像處理的能力。還提供了H264硬件編解碼等,基本覆蓋了圖像處理所需要的硬件資源。

軟件方面:提供了VSDK,包含S32V平臺的各個(gè)外設(shè)驅(qū)動,并配有相關(guān)例程。API方面提供了OpenCV、FFmpeg、OpenCL、OpenGL、EGL等常用圖像處理相關(guān)庫。

image.png

圖1 S32V內(nèi)部框圖

二、人臉識別方案介紹

采用索尼的IMX224攝像頭作為圖像輸入,移植人臉識別庫,建立演示demo將檢測到的人臉實(shí)時(shí)用方框標(biāo)記出來。

1.   方案框圖

image.png

圖 2 人臉識別方案框圖

2.   Demo搭建

l          獲取攝像頭數(shù)據(jù)

首先,基于VSDK實(shí)現(xiàn)iMX224攝像頭的數(shù)據(jù)獲取。通過NXP提供S32 Design Studio for Vision Version軟件建立iMX224的ISP處理流程,如下圖所示。

image.png

圖 3 ISP處理流程

這里通過運(yùn)行在IPUS0中的debayer_rgb_simple_interleaced,實(shí)現(xiàn)了攝像頭Debayer數(shù)據(jù)轉(zhuǎn)RGB,然后通過FDMA傳輸?shù)紻DR中供算法調(diào)用。如果對于圖像有特殊要求的,可以自己建立對應(yīng)的IPUS核,對圖像數(shù)據(jù)進(jìn)行相關(guān)處理。

l          交叉編譯相關(guān)庫

移植人臉識別算法庫,該庫基于NCNN神經(jīng)網(wǎng)絡(luò)上搭建人臉識別系統(tǒng),依賴的庫有OpenCV、NCNN以及Sqlit3。這些庫需要交叉編譯,其中OpenCV和Sqlit3的ARM版S32V已經(jīng)提供不需要再進(jìn)行編譯,編譯后的NCNN和人臉識別算法庫都是靜態(tài)庫,不需要拷貝到目標(biāo)板上。

l          人臉檢測demo

通過Qt來實(shí)現(xiàn)界面顯示,首先在pro文件中添加VSDK中獲取攝像頭數(shù)據(jù)的相關(guān)庫,算法移植的相關(guān)庫,然后通過如下API接口獲取圖像數(shù)據(jù)。

int getCImg(cv::Mat &cimg);

再調(diào)用如下接口進(jìn)行人臉檢測:

void detectMaxFace(ncnn::Mat& img_, std::vector<Bbox>& finalBbox);

3.   Demo效果

    最后將檢測結(jié)果通過Qt界面顯示出來,如下圖所示。

image.png

圖4 人臉檢測結(jié)果

通過測試,人臉檢測耗時(shí)如下所示:

算法庫
耗時(shí)
人臉檢測與定位
21ms – 26ms


關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉