一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【EsDA應(yīng)用】10分鐘快速實現(xiàn)人臉識別

ZLG致遠(yuǎn)電子 ? 2023-06-08 15:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

人臉識別是一種高安全性的生物識別技術(shù),在安防、身份驗證等領(lǐng)域被廣泛應(yīng)用。本文主要介紹如何基于EsDA設(shè)計的人臉特征值提取節(jié)點和特征值比對節(jié)點,快速實現(xiàn)人臉識別功能。

44a1a782-00dc-11ee-ba01-dac502259ad0.jpg ?簡介

人臉識別是一種高安全性的生物識別技術(shù),在安防、身份驗證等領(lǐng)域被廣泛應(yīng)用。本文在《【EsDA應(yīng)用】5分鐘快速實現(xiàn)圖像人臉檢測》的基礎(chǔ)上,使用M6G2C核心板,簡單介紹如何基于EsDA設(shè)計的人臉特征值提取節(jié)點和特征值比對節(jié)點,快速實現(xiàn)人臉特征值提取和比對識別。


44bac488-00dc-11ee-ba01-dac502259ad0.jpg 前期準(zhǔn)備

若是剛開始接觸EsDA,可先閱讀EsDA其他系列文章,從零開始搭建環(huán)境和掌握基本開發(fā)流程,已有基礎(chǔ)的可以跳過:

EsDAMPC-ZC1入門(一)——軟件安裝

EsDAMPC-ZC1入門(二)——LED控制

【EsDA應(yīng)用】5分鐘快速實現(xiàn)攝像頭圖像采集

【EsDA應(yīng)用】5分鐘快速實現(xiàn)圖像人臉檢測

1. 硬件準(zhǔn)備

1.1 準(zhǔn)備一個攝像頭,這里我們以O(shè)V7725攝像頭為例,搭配轉(zhuǎn)接板使用。44d63650-00dc-11ee-ba01-dac502259ad0.jpg1.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接口上。

4501dd28-00dc-11ee-ba01-dac502259ad0.png

2. 其它準(zhǔn)備

將人臉檢測和特征值提取相關(guān)的模型參數(shù)文件存放到SD卡中。

4561d250-00dc-11ee-ba01-dac502259ad0.png

457d154c-00dc-11ee-ba01-dac502259ad0.png


44bac488-00dc-11ee-ba01-dac502259ad0.jpg ?節(jié)點介紹

這里我們需要使用到攝像頭、圖像格式轉(zhuǎn)換以及人臉檢測、特征值提取、特征值比對相關(guān)的AWFlow節(jié)點,包括在《【EsDA應(yīng)用】5分鐘快速實現(xiàn)攝像頭圖像采集》中介紹的camera_video節(jié)點、camera配置節(jié)點、lcd_display節(jié)點,在《【EsDA應(yīng)用】5分鐘快速實現(xiàn)圖像人臉檢測》中介紹的image_format_convert轉(zhuǎn)換節(jié)點、face_detection人臉檢測節(jié)點,以及本文介紹的用于人臉特征值提取的face_character_extract節(jié)點和用于特征值比對的face_character_compare節(jié)點。

1. face_character_extract節(jié)點

face_character_extract是人臉的特征值提取節(jié)點,該節(jié)點對輸入的人臉圖像數(shù)據(jù)進行特征值提取,并輸出提取的特征值信息。后級節(jié)點可以將這個特征值進行存儲,也可以與已有的特征值信息進行比對和匹配識別。

1.1屬性

45af93aa-00dc-11ee-ba01-dac502259ad0.png

  • 名稱:節(jié)點的名稱;
  • 顯示名稱:節(jié)點在畫布中顯示的名稱;
  • 模型和參數(shù)路徑:特征值提取相關(guān)的模型和參數(shù)文件的路徑。

1.2輸入

image:需要進行特征值提取的人臉圖像數(shù)據(jù)緩沖區(qū),一般由face_detection檢測節(jié)點提供輸入,face_detection檢測到圖像中存在人臉時,才將數(shù)據(jù)輸入到這里進行特征值提?。ㄍǔ_@正是我們想要的)。

1.3輸出

  • character:人臉的特征值。人臉信息一般都會提取成一段特定大小的特征值,方便我們進行存儲(錄入)和比對(識別)。

2. face_character_compare節(jié)點face_character_compare是人臉的特征值比對節(jié)點,該節(jié)點一般由face_character_extract節(jié)點提供特征值輸入,并從文件/數(shù)據(jù)庫中獲取已經(jīng)錄入信息的特征值集合。

2.1屬性

45c56df6-00dc-11ee-ba01-dac502259ad0.png

比對閾值:比對閾值是一個0.1~0.9范圍內(nèi)的數(shù)字,數(shù)字越大,對特征值的匹配程度要求就越高,識別的準(zhǔn)確度也越高;

2.2輸入

character:待比對的人臉特征值,一般由face_character_extract節(jié)點提供特征值輸入;

character_target:比對的目標(biāo)特征值集合,一般是由我們已經(jīng)錄入/注冊的特征值文件/數(shù)據(jù)庫提供;

target_num:目標(biāo)特征值集合的特征值數(shù)量。

2.3輸出

result:比對結(jié)果,如果輸入中的character與character_target中的某一個匹配成功的話,輸出1;都不匹配則輸出0;

id:匹配成功的話,輸出第一個匹配的特征值在特征值集合character_target中的序號,匹配失敗輸出-1。


44bac488-00dc-11ee-ba01-dac502259ad0.jpg ?業(yè)務(wù)處理

本應(yīng)用主要實現(xiàn)如下功能:

采集攝像頭圖像,并在LCD顯示屏上進行顯示(顯示可選);

將攝像頭輸出的原始數(shù)據(jù)進行格式轉(zhuǎn)換后,輸入到face_detection節(jié)點中進行人臉檢測;

將檢測結(jié)果輸入到face_character_extract節(jié)點提取特征值;

通過face_character_compare節(jié)點進行特征值比對識別;

注冊特征值,這里我們?yōu)榱朔奖阊菔荆皇呛唵蔚赝ㄟ^face_data_write節(jié)點將特征值保存到文件中;

通過GPIO輸入來控制特征值錄入。

具體實現(xiàn)如下:

1. 添加節(jié)點并連線

首先,我們添加流圖左上角的部分,主要完成圖像的輸入和人臉的檢測;左下部分我們簡單地通過一個IO輸入來控制是否將特征值進行注冊;然后,添加一個特征值提取節(jié)點;右下部分主要完成兩個功能,分別是特征值的注冊,以及特征值的比對識別。

45f8d330-00dc-11ee-ba01-dac502259ad0.png2. 配置節(jié)點2.1 圖像輸入和人臉檢測本應(yīng)用左上部分的六個節(jié)點主要完成圖像采集輸入和人臉的檢測部分,其配置方式與【EsDA應(yīng)用】5分鐘快速實現(xiàn)圖像人臉檢測 4.2 配置節(jié)點部分完全相同,請參考之。462478be-00dc-11ee-ba01-dac502259ad0.png

2.2配置face_character_extract節(jié)點

使用人臉特征值提取節(jié)點需要將相關(guān)的模型文件存放到文件系統(tǒng)中,并在節(jié)點中指定模型存放的路徑,這里我們存放到SD卡中,并指定路徑。46442dd0-00dc-11ee-ba01-dac502259ad0.png

2.3face_character_compare節(jié)點

face_character_compare節(jié)點我們只需要指定比對閾值即可,這里我們設(shè)置為0.7。

466a6fa4-00dc-11ee-ba01-dac502259ad0.png

2.4face_data_write和face_data_read

這兩個節(jié)點是為了方便演示。face_data_write節(jié)點簡單地將特征值保存到文件,而face_data_read從文件中讀取特征值,我們指定特征值文件路徑即可。

467ebab8-00dc-11ee-ba01-dac502259ad0.png

469f2fa0-00dc-11ee-ba01-dac502259ad0.png

2.5gpio_in

為了方便演示,本應(yīng)用簡單地通過IO引腳的電平高低來控制是否錄入人臉特征值。這里我們選擇了EPC-6G2C-L評估板的RX8引腳,其對應(yīng)編號為90,并將其設(shè)置為默認(rèn)下拉模式,當(dāng)輸入高電平時進行人臉信息的錄入。46bcb6ce-00dc-11ee-ba01-dac502259ad0.png

2.6fscript節(jié)點

其余的五個節(jié)點均為fscript節(jié)點,分別用于控制本應(yīng)用的邏輯以及輸出結(jié)果。demo流圖中對這些fscript進行了編號,它們的內(nèi)容分別如下:

2.6.1是否錄入人臉信息

這個節(jié)點判斷gpio_in輸入的IO電平狀態(tài),通過設(shè)置全局標(biāo)志位來控制是否進行人臉錄入。這里我們設(shè)置當(dāng)處于低電平狀態(tài)時,進行人臉識別;而在輸入高電平狀態(tài)時,錄入人臉信息。

if(msg.payload == 0) { global.face_recognition = 1 global.face_register = 0} else { print("......錄入人臉信息中......") global.face_register = 1 global.face_recognition = 0}

2.6.2register_chk

register_chk判斷前面設(shè)置的標(biāo)志,當(dāng)不需要錄入人臉信息時(即IO處于低電平),通過aborted=1放棄向后面的節(jié)點傳遞數(shù)據(jù);否則(此時IO處于高電平)設(shè)置一個命令給face_data_write節(jié)點。

if (global.face_register == 0) { aborted = 1;} else { msg.register_cmd = "register";}

2.6.3recognition_chk如果此時正在錄入人臉信息(IO處于高電平),則通過aborted放棄后面的特征值比對環(huán)節(jié)。

if (global.face_recognition == 0) { aborted = 1;}

2.6.4錄入人臉信息結(jié)果

我們在face_data_write節(jié)點后面添加打印信息,當(dāng)face_data_write成功將特征值錄入到文件中后,會告訴我們當(dāng)前錄入的是第幾個人臉信息。

print("特征值注冊成功,當(dāng)前是第 " + msg.id + "個");

2.6.5特征值比對結(jié)果

打印特征值比對的結(jié)果,如果比對成功的話,打印出與之匹配的人臉I(yè)D。

print("特征值比對結(jié)果:" + msg.result);if(msg.result == 1) { print("特征值比對成功,匹配的人臉I(yè)D是:" + msg.id);} else { print("特征值比對失敗,請先注冊人臉信息");}

3. 下載驗證因為M6G2C開發(fā)板是通過網(wǎng)口去下載流圖,打開AWFlow Designer后,AWFlow Designer可以自動發(fā)現(xiàn)網(wǎng)絡(luò)上的設(shè)備。選擇當(dāng)前設(shè)備M6G2C,然后點擊下載運行即可。46d91b2a-00dc-11ee-ba01-dac502259ad0.png

3.1圖像采集顯示

流圖下載完成后,通過LCD可以看到,我們已經(jīng)成功從攝像頭獲取圖像,并且成功在顯示屏上顯示。46f0b50a-00dc-11ee-ba01-dac502259ad0.png

3.2人臉檢測、特征值提取比對

從打印信息中我們可以看到,坐標(biāo)點已經(jīng)被輸出出來了,所以人臉檢測功能是正常的。但是,一開始我們并沒有錄入任何人臉信息,因此特征值文件(即/flow/face_data.txt)并不存在,所以提示特征值比對失敗。474f9bba-00dc-11ee-ba01-dac502259ad0.png

3.3特征值錄入

當(dāng)我們將RX8接入3.3V后,系統(tǒng)就進入了錄入人臉信息的模式。此時我們可以通過攝像頭錄入人臉信息。

47662830-00dc-11ee-ba01-dac502259ad0.png

3.4特征值比對識別

特征值信息錄入完畢后,我們可以將RX8引腳置低,使系統(tǒng)回到特征值比對識別模式?,F(xiàn)在,我們就可以和已經(jīng)錄入的特征值集合比對成功了。而沒有錄入的人臉,依然無法通過識別。4780ace6-00dc-11ee-ba01-dac502259ad0.png

4. 擴展應(yīng)用

本應(yīng)用中,當(dāng)特征值比對完成后,只是簡單地輸出比對的結(jié)果,這樣我們可能感受不到它實際的用處:

print("特征值比對結(jié)果:" + msg.result);if(msg.result == 1) { print("特征值比對成功,匹配的人臉I(yè)D是:" + msg.id);} else { print("特征值比對失敗,請先注冊人臉信息");}

4.1應(yīng)用1

但是,如果我們簡單的改造一下,比如在識別成功后,發(fā)出一個高電平,或者一條指令,這樣,一個基于人臉識別的門禁系統(tǒng),是不是已經(jīng)有了雛形了呢?

//以下內(nèi)容僅供示例print("特征值比對結(jié)果:" + msg.result);if(msg.result == 1) { set(flow.gpio_out_ctl_door, 1); // 讓控制門禁的IO輸出1} else { set(flow.warn_led, blinking); // 比對失敗,可以讓告警燈閃爍等等}

4.2應(yīng)用2又或者,當(dāng)匹配到一個已經(jīng)錄入系統(tǒng)中的人臉時,將特征值ID和當(dāng)前時間記錄到數(shù)據(jù)庫中,一個基于人臉識別的考勤系統(tǒng),其核心功能是不是已經(jīng)實現(xiàn)了呢?

print("特征值比對結(jié)果:" + msg.result);if(msg.result == 1) { var dt = date_time_create(); //獲取當(dāng)前時間 var str = "ID:" + msg.id + "\t" + dt.year + "-" + dt.month + "-" + dt.day + " " + dt.hour + ":" + dt.minute + ":" + dt.second + "\n" print(str); file_write_append("/flow/attendance_records.txt", str); //將ID和時間信息寫入到考勤記錄文件} else { print("Please try again"); //提示用戶失敗重試}

47963764-00dc-11ee-ba01-dac502259ad0.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 人臉識別
    +關(guān)注

    關(guān)注

    77

    文章

    4089

    瀏覽量

    84264
  • 識別
    +關(guān)注

    關(guān)注

    3

    文章

    173

    瀏覽量

    32254
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    基于LockAI視覺識別模塊:C++人臉識別

    本文基于RV1106做成的LockAI視覺識別模塊,采用 LZ-Picodet 模型訓(xùn)練的人臉檢測模型 LZ-Face,以及ArcFace人臉識別模型,
    發(fā)表于 07-01 12:01

    基于LockAI視覺識別模塊:C++人臉識別

    本文基于RV1106做成的LockAI視覺識別模塊,采用LZ-Picodet模型訓(xùn)練的人臉檢測模型LZ-Face,以及ArcFace人臉識別模型,
    的頭像 發(fā)表于 07-01 10:09 ?162次閱讀
    基于LockAI視覺<b class='flag-5'>識別</b>模塊:C++<b class='flag-5'>人臉</b><b class='flag-5'>識別</b>

    基于RV1126開發(fā)板實現(xiàn)人臉識別方案

    在RV1126上實現(xiàn)人臉識別:在圖像中找出人臉,并與數(shù)據(jù)庫進行比對,得出該人臉對應(yīng)的身份信息。 方案設(shè)計邏輯流程圖,方案代碼分
    的頭像 發(fā)表于 04-21 13:51 ?11次閱讀
    基于RV1126開發(fā)板<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>人臉</b><b class='flag-5'>識別</b>方案

    基于RV1126開發(fā)板實現(xiàn)人臉識別方案

    在RV1126開發(fā)板上實現(xiàn)人臉識別:在圖像中找出人臉,并與數(shù)據(jù)庫進行比對,得出該人臉對應(yīng)的身份信息。 方案設(shè)計邏輯流程圖,方案
    的頭像 發(fā)表于 04-21 10:24 ?107次閱讀
    基于RV1126開發(fā)板<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>人臉</b><b class='flag-5'>識別</b>方案

    基于RV1126開發(fā)板實現(xiàn)人臉識別方案

    在RV1126開發(fā)板實現(xiàn)人臉識別:在圖像中找出人臉,并與數(shù)據(jù)庫進行比對,得出該人臉對應(yīng)的身份信息。 方案設(shè)計邏輯流程圖,方案代
    的頭像 發(fā)表于 04-18 16:55 ?83次閱讀
    基于RV1126開發(fā)板<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>人臉</b><b class='flag-5'>識別</b>方案

    10分鐘上手寫代碼,LuatOS協(xié)程輕松掌握!

    10分鐘學(xué)會LuatOS協(xié)程,從此你的程序也能像通勤族利用碎片時間一樣游刃有余。現(xiàn)在就去動手試一試,開啟異步編程新體驗! 寫給第一次聽說協(xié)程的你?: 別怕!協(xié)程不是復(fù)雜概念,看完這篇,10分鐘
    的頭像 發(fā)表于 04-10 15:18 ?257次閱讀
    <b class='flag-5'>10</b><b class='flag-5'>分鐘</b>上手寫代碼,LuatOS協(xié)程輕松掌握!

    RV1126 實現(xiàn)人臉識別門禁系統(tǒng)解決方案

    RV1126實現(xiàn)人臉識別門禁系統(tǒng)解決方案
    的頭像 發(fā)表于 04-10 15:17 ?437次閱讀
    RV1126 <b class='flag-5'>實現(xiàn)</b><b class='flag-5'>人臉</b><b class='flag-5'>識別</b>門禁系統(tǒng)解決方案

    【幸狐Omni3576邊緣計算套件試用體驗】人臉識別

    【幸狐Omni3576邊緣計算套件試用體驗】人臉識別 本文介紹了幸狐 Omni3576 邊緣計算套件結(jié)合 Retinaface 算法實現(xiàn)人臉特征識別
    發(fā)表于 04-01 21:46

    如何用MES系統(tǒng)實現(xiàn)生產(chǎn)異常10分鐘快速響應(yīng)

    在智能制造時代,生產(chǎn)異常響應(yīng)速度直接影響交付周期與運營成本。研究表明,若能在異常發(fā)生后的10分鐘內(nèi)介入處理,可避免80%以上的次生損失。珠海盈致通過MES系統(tǒng)構(gòu)建的異常響應(yīng)機制,正在重塑電子制造行業(yè)
    的頭像 發(fā)表于 03-18 16:37 ?409次閱讀

    人臉識別技術(shù)的優(yōu)勢與劣勢

    人臉識別技術(shù)的優(yōu)勢 1. 高度準(zhǔn)確性 人臉識別技術(shù)在理想條件下可以達到非常高的準(zhǔn)確性。隨著深度學(xué)習(xí)技術(shù)的發(fā)展,現(xiàn)代人臉
    的頭像 發(fā)表于 02-06 18:23 ?1704次閱讀

    人臉識別技術(shù)的應(yīng)用場景

    在數(shù)字化時代,安全和便捷性成為了人們?nèi)找骊P(guān)注的話題。人臉識別技術(shù)以其獨特的優(yōu)勢,即無需物理接觸、快速識別和高準(zhǔn)確率,成為了解決這些問題的關(guān)鍵技術(shù)之一。 1. 安全監(jiān)控 1.1 公共安全
    的頭像 發(fā)表于 02-06 17:20 ?1600次閱讀

    ElfBoard開源項目|百度智能云平臺的人臉識別項目

    百度智能云平臺的人臉識別項目,旨在利用其強大的人臉識別服務(wù)實現(xiàn)自動人臉
    的頭像 發(fā)表于 12-24 10:54 ?1276次閱讀
    ElfBoard開源項目|百度智能云平臺的<b class='flag-5'>人臉</b><b class='flag-5'>識別</b>項目

    安信可的本地人臉識別方案

    小伙伴們,安信可的本地人臉識別方案來啦,支持 Arduino 環(huán)境,搭載人臉識別算法,來看看產(chǎn)品介紹~(也可以點擊下方視頻,1分鐘
    的頭像 發(fā)表于 11-28 10:13 ?721次閱讀
    安信可的本地<b class='flag-5'>人臉</b><b class='flag-5'>識別</b>方案

    EsDA,一站式嵌入式軟件

    EsDA是一套面向工業(yè)智能物聯(lián)領(lǐng)域的嵌入式系統(tǒng)設(shè)計自動化工具集,包含實時操作系統(tǒng)AWorksLP、低代碼開發(fā)平臺AWStudio、資源管理平臺AXPI、跨平臺GUI引擎AWTK和云服務(wù)平臺ZWS
    的頭像 發(fā)表于 09-15 08:10 ?780次閱讀
    <b class='flag-5'>EsDA</b>,一站式嵌入式軟件

    帶阻濾波器在人臉識別中的應(yīng)用

    人臉識別技術(shù)作為模式識別領(lǐng)域的重要課題,近年來在公共安全、門禁系統(tǒng)、數(shù)字娛樂等多個領(lǐng)域得到了廣泛應(yīng)用。其核心在于通過算法對人臉圖像進行特征提取和匹配,以
    的頭像 發(fā)表于 08-08 18:15 ?1258次閱讀