新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 瑞薩AI視覺(jué)識(shí)別方案應(yīng)用筆記3

瑞薩AI視覺(jué)識(shí)別方案應(yīng)用筆記3

—— 輕松實(shí)現(xiàn)高效口罩人臉檢測(cè)
作者:劉剛 瑞薩電子中國(guó)MPU產(chǎn)品部 高級(jí)經(jīng)理 時(shí)間:2021-09-03 來(lái)源:電子產(chǎn)品世界 收藏

我們基于瑞薩RZ/A2M和它獨(dú)有的DRP技術(shù),構(gòu)建了多款解決方案,包括工業(yè)自動(dòng)化中的目標(biāo)物體檢測(cè)與追蹤、二維碼編碼類型的快速檢測(cè)等。這次,我們就來(lái)拆解如何使用RZ/A2M的DRP與嵌入式結(jié)合實(shí)現(xiàn)口罩人臉檢測(cè)。

本文引用地址:http://m.butianyuan.cn/article/202109/427999.htm

在示例中我們通過(guò)MIPI接口連接Sony IMX219 CMOS傳感器,輸入一個(gè)1280x720分辨率的圖像,通過(guò)RZ/A2M的DRP對(duì)輸入圖像做Simple ISP處理,圖像縮放處理,然后運(yùn)行一個(gè)輕量級(jí)且高效的口罩,人臉檢測(cè)模型。它能夠?qū)崿F(xiàn)在人臉檢測(cè)模式下30FPS的檢測(cè)速度,在區(qū)分是否戴口罩的模式下實(shí)現(xiàn)20FPS的檢測(cè)速度。下面讓我們看一下它是如何實(shí)現(xiàn)的。

1630639691912788.png

下圖是他的數(shù)據(jù)處理流程:

藍(lán)色部分的處理由DRP硬件加速實(shí)現(xiàn),其中Simple ISP庫(kù)將CMOS傳感器的Bayer格式數(shù)據(jù)轉(zhuǎn)換為灰階數(shù)據(jù),并統(tǒng)計(jì)一幀圖像中三個(gè)預(yù)設(shè)區(qū)域的平均亮度用于調(diào)整自動(dòng)曝光參數(shù)。

第二個(gè)DRP庫(kù)實(shí)現(xiàn)圖像的縮放處理,將1280x720分辨率的灰階圖像壓縮成640x360大小的圖像,它將大大提高人臉的檢測(cè)速度。

圖中綠色部分是由Cortex A9處理器運(yùn)行的輕量級(jí)口罩及人臉檢測(cè)模型,用于標(biāo)定出當(dāng)前幀是否有人臉,是否帶有口罩。

1630639644752869.png

在此示例中我們將不依賴外部RAM,只使用RZ/A2M的4MB片上高速RAM。

步驟1

由于人臉檢測(cè)只需要使用灰階圖像,我們需要將CMOS傳感器的Bayer格式圖像轉(zhuǎn)換成灰度圖,此時(shí)我們載入一個(gè)simple_isp_2_tiles的DRP庫(kù),這個(gè)DRP庫(kù)需要具有以下特性:

√   占用2個(gè)Tile的DRP硬件資源

√   實(shí)現(xiàn)Bayer轉(zhuǎn)灰階

√   對(duì)3個(gè)獨(dú)立的區(qū)域中所有像素的亮度值進(jìn)行累加

√   支持多Tile并行處理

image.png

由于這個(gè)庫(kù)具有多Tile并行化(segmented)的處理特性,我們可以把它載入到3組DRP 的tile中。其中Tile0和1的simple_isp_2_tiles庫(kù)處理頂部1/3的圖像,Tile2和3的simple_isp_2_tiles庫(kù)處理中間1/3的圖像,Tile4和5的simple_isp_2_tiles庫(kù)處理底部1/3的圖像。且這三部分圖像是同時(shí)并行化處理的,這讓處理速度又增加了3倍。

1630639678911608.png

由于DRP庫(kù)提供了非常便捷的API接口,實(shí)現(xiàn)以上功能只需要簡(jiǎn)單的編程操作即可實(shí)現(xiàn)。

1630639782633976.png

請(qǐng)根據(jù)DRP庫(kù)的應(yīng)用文檔中關(guān)于 Number of tiles和Segmented Processing屬性來(lái)決定如何加載DRP庫(kù)

image.png

●   Number of tiles: 表示DRP庫(kù)需要占用幾個(gè)硬件Tile

●   Segmented processing:表示DRP任務(wù)十分可以拆分到多個(gè)tile中并行執(zhí)行

DRP庫(kù)在Tile中的擺放方式共有11種,可根據(jù)DRP的Number of tiles 和 Segmented屬性靈活選擇使用哪種加載方式,舉例如下:

1630639937889141.png

步驟2

在得到一幀灰階圖像后,我們載入一個(gè)resize_bilinear_fixed的DRP庫(kù)將這一幀圖像進(jìn)行縮放。這個(gè)DRP庫(kù)具有以下特性:

●   輸入8bpp灰階圖像

●   支持 ? ? ? 1x 2x 4x 8x 16x 固定縮放比例

●   水平和垂直縮放比例單獨(dú)控制

●   輸入寬度范圍128~1280,輸入高度范圍8~960

●   占用4 tiles硬件資源,不支持segmented

經(jīng)過(guò)步驟2的處理,我們將灰階圖像從Video RAM1讀入,寬和高均縮小為原來(lái)的?,并將圖像寫入到Video RAM2,用于下一步的人臉檢測(cè)。

image.png

這兩步的執(zhí)行時(shí)間約為4.6ms8.2ms,采用并行化處理和小于1ms的DRP庫(kù)加載速度極大優(yōu)化了人臉識(shí)別之前圖像預(yù)處理的執(zhí)行速度。

image.png

步驟3

我們移植了一個(gè)輕量級(jí)的開(kāi)源人臉識(shí)別算法

在此基礎(chǔ)上添加了口罩人臉的數(shù)據(jù)集,并對(duì)新數(shù)據(jù)集進(jìn)行了訓(xùn)練,經(jīng)過(guò)測(cè)試其識(shí)別速度和識(shí)別精度均比較理想。

首先需要準(zhǔn)備數(shù)據(jù)集,可以直接通過(guò)我們示例包中的數(shù)據(jù)集訓(xùn)練或從網(wǎng)絡(luò)下載

1630639976544667.png

此數(shù)據(jù)集包含7092張人臉圖片及4283張口罩人臉圖片,并對(duì)圖片中的人臉關(guān)鍵特征進(jìn)行了標(biāo)定。

image.png


模型并非普遍采用的神經(jīng)元網(wǎng)絡(luò)模型,而是使用了決策樹(shù)模型,其具有執(zhí)行速度快的特點(diǎn),而且其模型大小只有幾十KB到2百多KB,

以下是領(lǐng)域比較常用的算法:

1630640003654155.png

決策樹(shù)是一種非參數(shù)化的監(jiān)督學(xué)習(xí)模型,它能夠讓你跟隨樹(shù)狀的決策分支結(jié)果一步一步從根節(jié)點(diǎn)到達(dá)頂端葉節(jié)點(diǎn),從而根據(jù)頂端葉節(jié)點(diǎn)的結(jié)果來(lái)預(yù)測(cè)目標(biāo)值,常用于目標(biāo)分類(classification)和回歸(regression)

image.png

在人臉檢測(cè)過(guò)程中,我們使用一個(gè)滑動(dòng)窗口一步一步的掃描步驟2生成的圖像,先使用最小滑動(dòng)窗口,然后逐步增大窗口的大小。使用決策樹(shù)模型檢測(cè)每一個(gè)滑動(dòng)窗口內(nèi)是否存在人臉。

1630640028186746.png

如下是一些關(guān)鍵參數(shù)的配置,我們可以通過(guò)參數(shù)調(diào)整在檢測(cè)精度和性能之間進(jìn)行平衡。

1630640062569763.png

以下為1280x720分辨率輸入,分別針對(duì)畫面中1張人臉,3張人臉和7張人臉進(jìn)行檢測(cè),在口罩人臉模式下可實(shí)現(xiàn)約15fps以上的檢測(cè)速度。

1630640082495317.png

如下視頻是針對(duì)快速切換的圖像進(jìn)行人臉檢測(cè)的測(cè)試結(jié)果,可以看到RZ/A2M在經(jīng)過(guò)了DRP加速及和運(yùn)行輕量級(jí)高效AI算法后,能夠實(shí)時(shí)捕獲到圖像中的人臉。

1631172132109786.png



關(guān)鍵詞: AI 視覺(jué)

評(píng)論


相關(guān)推薦

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

關(guān)閉