人臉識別是一種高安全性的生物識別技術(shù),在安防、身份驗證等領(lǐng)域被廣泛應(yīng)用。
本文在【EsDA應(yīng)用】5分鐘快速實現(xiàn)攝像頭圖像采集 的基礎(chǔ)上,使用M6G2C核心板,簡單介紹如何基于EsDA設(shè)計的face_detection人臉檢測功能節(jié)點,快速實現(xiàn)人臉檢測識別。
??前期準(zhǔn)備
若是剛開始接觸EsDA,可先閱讀EsDA其他系列文章,從零開始搭建環(huán)境和掌握基本開發(fā)流程,已有基礎(chǔ)的可以跳過:- EsDAMPC-ZC1入門(一)——軟件安裝
- EsDAMPC-ZC1入門(二)——LED控制
- 【EsDA應(yīng)用】5分鐘實現(xiàn)一個串口通信業(yè)務(wù)
- 【EsDA應(yīng)用】5分鐘快速實現(xiàn)攝像頭圖像采集
1. 硬件準(zhǔn)備
1.1 準(zhǔn)備一個攝像頭,這里我們以O(shè)V7725攝像頭為例,搭配轉(zhuǎn)接板使用。1.2 準(zhǔn)備一塊LCD顯示屏。1.3 準(zhǔn)備一張SD卡,用于存放人臉模型。1.4 準(zhǔn)備一塊M6G2C核心板和EPC-6G2C-L評估板,并按照下圖所示連接好硬件。其中,eth0網(wǎng)口用于下載流圖,并連接LCD顯示屏接口、電源,以及將OV7725攝像頭通過轉(zhuǎn)接板連接到開發(fā)板背面的CSI接口上。
2. 其它準(zhǔn)備
將人臉檢測相關(guān)的模型文件存放到SD卡中。
??節(jié)點介紹
這里我們需要使用到攝像頭、圖像格式轉(zhuǎn)換以及人臉檢測相關(guān)的AWFlow節(jié)點,包括在【EsDA應(yīng)用】5分鐘快速實現(xiàn)攝像頭圖像采集 中介紹的camera_video節(jié)點、camera配置節(jié)點、lcd_display節(jié)點,以及本文介紹的用于圖像數(shù)據(jù)格式轉(zhuǎn)換的image_format_convert節(jié)點和人臉檢測節(jié)點face_detection。1. image_format_convert節(jié)點
圖像格式轉(zhuǎn)換節(jié)點,用于將攝像頭輸出的圖像轉(zhuǎn)換為人臉檢測節(jié)點支持的RGB888格式。1.1屬性
-
輸入圖像格式:待轉(zhuǎn)換圖像的格式,一般是攝像頭輸出的原始數(shù)據(jù)格式;
-
輸入圖像寬度:待轉(zhuǎn)換圖像的寬度;
-
輸入圖像高度:待轉(zhuǎn)換圖像的高度;
-
輸出圖像格式:轉(zhuǎn)換后的圖像的格式,必須指定為RGB888;
-
輸出圖像寬度:轉(zhuǎn)換后的圖像的寬度;
-
輸出圖像高度:轉(zhuǎn)換后的圖像的高度。
1.2輸入
- image:需要進(jìn)行轉(zhuǎn)換的原始圖像的地址,一般由camera_video節(jié)點提供輸入;
1.3輸出
- image:指向轉(zhuǎn)換完成后的目標(biāo)格式圖像數(shù)據(jù)的指針,一般由后級節(jié)點接收并處理;
- format:轉(zhuǎn)換后的圖像的格式;
- width:轉(zhuǎn)換后的圖像的寬度;
-
height:轉(zhuǎn)換后的圖像的高度。
2.face_detection節(jié)點
face_detection是人臉檢測節(jié)點,該節(jié)點對輸入的圖像數(shù)據(jù)進(jìn)行人臉檢測處理,當(dāng)檢測到圖像中存在人臉時,截取圖像中的人臉數(shù)據(jù)并輸出。后級節(jié)點可以使用這個圖像數(shù)據(jù)進(jìn)行特征值提取、比對等操作。
2.1屬性
-
活體檢測:是否進(jìn)行活體檢測;
-
模糊檢測:是否進(jìn)行模糊檢測;
-
人臉矯正:是否進(jìn)行人臉整理矯正;
-
模型和參數(shù)路徑:檢測模型和參數(shù)文件路徑;
-
人臉圖像主題:需要進(jìn)行人臉檢測的圖像的主題,此節(jié)點只對與此屬性匹配的輸入圖像進(jìn)行檢測。
2.2輸入
-
image:輸入圖像數(shù)據(jù)的緩沖區(qū)指針,必須是RGB888格式,可以由image_format_convert轉(zhuǎn)換后提供輸入;
-
width:輸入圖像的寬度;
-
height:輸入圖像的高度;
- topic:輸入圖像的主題。
2.3輸出
-
image:從輸入圖像中截取的人臉圖像緩沖區(qū);
-
coord_x1:人臉的左上角橫坐標(biāo),與后面三個坐標(biāo)共同決定坐標(biāo)系上的兩個點,這兩個點可以確定圖像中的人臉位置;
-
coord_y1:左上角縱坐標(biāo);
-
coord_x2:右下角橫坐標(biāo);
-
coord_y2:右下角縱坐標(biāo)。
??業(yè)務(wù)處理
本應(yīng)用主要實現(xiàn)M6G2C開發(fā)板采集攝像頭圖像,并在LCD顯示屏上進(jìn)行顯示。同時,將攝像頭輸出的原始數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換后,輸入到face_detection節(jié)點中進(jìn)行人臉檢測。具體實現(xiàn)如下:1. 添加節(jié)點并連線首先我們需要添加一個camera_video節(jié)點用于采集圖像,并輸出到lcd_display節(jié)點中顯示。然后,將camera_video節(jié)點輸出的RGB565原始圖像在image_format_convert節(jié)點中轉(zhuǎn)換為RGB888格式,接下來將轉(zhuǎn)換后的圖像輸入到face_detection中進(jìn)行人臉檢測,并將檢測的結(jié)果輸入到lcd_display節(jié)點中。另外,增加兩個fscript節(jié)點,用于指定圖像主題和打印坐標(biāo)點信息。2. 配置節(jié)點2.1配置camera_video節(jié)點雙擊camera_video節(jié)點,并在配置項中選擇添加一個新的camera節(jié)點。
在camera配置節(jié)點中,根據(jù)所使用的攝像頭,分別設(shè)置設(shè)備名、輸出圖像的數(shù)據(jù)格式和圖像寬度、高度。
然后更新配置,在camera_video節(jié)點的配置項中,選擇上一步新增的camera配置節(jié)點即可。
2.2配置image_format_convert使用image_format_convert節(jié)點目的是將圖像格式轉(zhuǎn)換為RGB888,因此,根據(jù)圖像的信息進(jìn)行設(shè)置即可。如果攝像頭輸出的原始數(shù)據(jù)即為RGB888,那么這一步可以省略。
2.3face_detection節(jié)點
使用人臉檢測節(jié)點需要將相關(guān)的模型文件存放到文件系統(tǒng)中,并在face_detection節(jié)點中指定模型存放的路徑,這里我們存放到SD卡中,并指定路徑。人臉圖像主題屬性用于對輸入的圖像進(jìn)行過濾,這里我們設(shè)置為攝像頭輸出的圖像的主題即可。2.4fscript
流圖中標(biāo)識為“1”的fscript節(jié)點主要是為圖像指定一個主題,我們將其設(shè)置為face,和face_detection節(jié)點中的主題一致。
msg.topic = "face"
另一個節(jié)點用于打印人臉檢測結(jié)果的坐標(biāo)點信息,方便我們對結(jié)果進(jìn)行驗證。其內(nèi)容如下:
print("(x1, y1)#: (" + msg.coord_x1 + ", " + msg.coord_y1 + ")")
print("(x2, y2)#: (" + msg.coord_x2 + ", " + msg.coord_y2 + ")")
2.5lcd_display節(jié)點
lcd_display節(jié)點用于顯示圖像,不需要我們進(jìn)行配置。它會實時顯示camera_video節(jié)點輸出的圖像,并且在檢測到圖像中存在人臉后,根據(jù)face_detection節(jié)點輸入的坐標(biāo),在圖像中將人臉框選顯示出來。3. 下載驗證因為M6G2C開發(fā)板是通過網(wǎng)口去下載流圖,所以打開AWFlow Designer后需要配置目標(biāo)板IP和端口號。然后點擊下載運行即可。
流圖下載完成后,通過LCD可以看到,我們已經(jīng)成功從攝像頭獲取圖像,并且成功在顯示屏上顯示。
當(dāng)攝像頭采集的圖像中含有人臉時,face_detection節(jié)點可以正常檢測到人臉并且輸出準(zhǔn)確的坐標(biāo)點。
技術(shù)交流群長按識別如下二維碼可加入“EsDA嵌入式系統(tǒng)設(shè)計自動化交流群”,與志同道合的朋友交流,并有專業(yè)技術(shù)人員為您答疑解惑,如有問題可以咨詢小致微信:zlgmcu-888。
-
致遠(yuǎn)電子
+關(guān)注
關(guān)注
13文章
406瀏覽量
31313
原文標(biāo)題:【EsDA應(yīng)用】5分鐘快速實現(xiàn)圖像人臉檢測
文章出處:【微信號:ZLG_zhiyuan,微信公眾號:ZLG致遠(yuǎn)電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論