在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【EsDA應用】10分鐘快速實現人臉識別

AGk5_ZLG_zhiyua ? 來源:未知 ? 2023-06-03 01:30 ? 次閱讀
人臉識別是一種高安全性的生物識別技術,在安防、身份驗證等領域被廣泛應用。本文主要介紹如何基于EsDA設計的人臉特征值提取節點和特征值比對節點,快速實現人臉識別功能。

ace668a8-016a-11ee-90ce-dac502259ad0.jpg??簡介

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

aceb5354-016a-11ee-90ce-dac502259ad0.jpg前期準備

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

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

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

  • 【EsDA應用】5分鐘快速實現攝像頭圖像采集

  • 【EsDA應用】5分鐘快速實現圖像人臉檢測

1. 硬件準備

1.1 準備一個攝像頭,這里我們以OV7725攝像頭為例,搭配轉接板使用。acef77a4-016a-11ee-90ce-dac502259ad0.jpg1.2 準備一塊LCD顯示屏(非必須)。1.3 準備一張SD卡,用于存放人臉模型。1.4 準備一塊M6G2C核心板和EPC-6G2C-L評估板,并按照下圖所示連接好硬件。其中,eth0網口用于下載流圖,并連接LCD顯示屏接口電源,以及將OV7725攝像頭通過轉接板連接到開發板背面的CSI接口上。

acf9cde4-016a-11ee-90ce-dac502259ad0.png

2. 其它準備

將人臉檢測和特征值提取相關的模型參數文件存放到SD卡中。

ad0d6c82-016a-11ee-90ce-dac502259ad0.png

ad1b534c-016a-11ee-90ce-dac502259ad0.png

aceb5354-016a-11ee-90ce-dac502259ad0.jpg??節點介紹

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

1. face_character_extract節點

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

1.1屬性

ad28d116-016a-11ee-90ce-dac502259ad0.png
  • 名稱:節點的名稱;
  • 顯示名稱:節點在畫布中顯示的名稱;
  • 模型和參數路徑:特征值提取相關的模型和參數文件的路徑。
1.2輸入
  • image:需要進行特征值提取的人臉圖像數據緩沖區,一般由face_detection檢測節點提供輸入,face_detection檢測到圖像中存在人臉時,才將數據輸入到這里進行特征值提?。ㄍǔ_@正是我們想要的)。

1.3輸出
  • character:人臉的特征值。人臉信息一般都會提取成一段特定大小的特征值,方便我們進行存儲(錄入)和比對(識別)。
2. face_character_compare節點face_character_compare是人臉的特征值比對節點,該節點一般由face_character_extract節點提供特征值輸入,并從文件/數據庫中獲取已經錄入信息的特征值集合。

2.1屬性

ad2df498-016a-11ee-90ce-dac502259ad0.png

  • 比對閾值:比對閾值是一個0.1~0.9范圍內的數字,數字越大,對特征值的匹配程度要求就越高,識別的準確度也越高;

2.2輸入
  • character:待比對的人臉特征值,一般由face_character_extract節點提供特征值輸入;

  • character_target:比對的目標特征值集合,一般是由我們已經錄入/注冊的特征值文件/數據庫提供;

  • target_num:目標特征值集合的特征值數量。

2.3輸出

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

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

aceb5354-016a-11ee-90ce-dac502259ad0.jpg??業務處理

本應用主要實現如下功能:

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

  2. 將攝像頭輸出的原始數據進行格式轉換后,輸入到face_detection節點中進行人臉檢測;

  3. 將檢測結果輸入到face_character_extract節點提取特征值;

  4. 通過face_character_compare節點進行特征值比對識別;

  5. 注冊特征值,這里我們為了方便演示,只是簡單地通過face_data_write節點將特征值保存到文件中;

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

具體實現如下:

1. 添加節點并連線

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

ad395d60-016a-11ee-90ce-dac502259ad0.png2. 配置節點2.1 圖像輸入和人臉檢測本應用左上部分的六個節點主要完成圖像采集輸入和人臉的檢測部分,其配置方式與【EsDA應用】5分鐘快速實現圖像人臉檢測 4.2 配置節點部分完全相同,請參考之。ad441fe8-016a-11ee-90ce-dac502259ad0.png

2.2配置face_character_extract節點

使用人臉特征值提取節點需要將相關的模型文件存放到文件系統中,并在節點中指定模型存放的路徑,這里我們存放到SD卡中,并指定路徑。ad4fa606-016a-11ee-90ce-dac502259ad0.png

2.3face_character_compare節點

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

ad57441a-016a-11ee-90ce-dac502259ad0.png

2.4face_data_write和face_data_read

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

ad665d38-016a-11ee-90ce-dac502259ad0.png

ad6da4e4-016a-11ee-90ce-dac502259ad0.png

2.5gpio_in

為了方便演示,本應用簡單地通過IO引腳的電平高低來控制是否錄入人臉特征值。這里我們選擇了EPC-6G2C-L評估板的RX8引腳,其對應編號為90,并將其設置為默認下拉模式,當輸入高電平時進行人臉信息的錄入。ad756f6c-016a-11ee-90ce-dac502259ad0.png

2.6fscript節點

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

2.6.1是否錄入人臉信息

這個節點判斷gpio_in輸入的IO電平狀態,通過設置全局標志位來控制是否進行人臉錄入。這里我們設置當處于低電平狀態時,進行人臉識別;而在輸入高電平狀態時,錄入人臉信息。
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判斷前面設置的標志,當不需要錄入人臉信息時(即IO處于低電平),通過aborted=1放棄向后面的節點傳遞數據;否則(此時IO處于高電平)設置一個命令給face_data_write節點。
if (global.face_register == 0) {
    aborted = 1;
} else {
    msg.register_cmd = "register";
}
2.6.3recognition_chk如果此時正在錄入人臉信息(IO處于高電平),則通過aborted放棄后面的特征值比對環節。
if (global.face_recognition == 0) {
    aborted = 1;
}
2.6.4錄入人臉信息結果

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

print("特征值注冊成功,當前是第 " + msg.id + "個");
2.6.5特征值比對結果

打印特征值比對的結果,如果比對成功的話,打印出與之匹配的人臉ID。

print("特征值比對結果:" + msg.result);
if(msg.result == 1) {
    print("特征值比對成功,匹配的人臉ID是:" + msg.id);
} else {
    print("特征值比對失敗,請先注冊人臉信息");
}
3. 下載驗證因為M6G2C開發板是通過網口去下載流圖,打開AWFlow Designer后,AWFlow Designer可以自動發現網絡上的設備。選擇當前設備M6G2C,然后點擊下載運行即可。ad7d7810-016a-11ee-90ce-dac502259ad0.png

3.1圖像采集顯示

流圖下載完成后,通過LCD可以看到,我們已經成功從攝像頭獲取圖像,并且成功在顯示屏上顯示。

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

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

3.3特征值錄入

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

ad9b3724-016a-11ee-90ce-dac502259ad0.png

3.4特征值比對識別

特征值信息錄入完畢后,我們可以將RX8引腳置低,使系統回到特征值比對識別模式?,F在,我們就可以和已經錄入的特征值集合比對成功了。而沒有錄入的人臉,依然無法通過識別。ada67508-016a-11ee-90ce-dac502259ad0.png

4. 擴展應用

本應用中,當特征值比對完成后,只是簡單地輸出比對的結果,這樣我們可能感受不到它實際的用處:
print("特征值比對結果:" + msg.result);
if(msg.result == 1) {
    print("特征值比對成功,匹配的人臉ID是:" + msg.id);
} else {
    print("特征值比對失敗,請先注冊人臉信息");
}

4.1應用1

但是,如果我們簡單的改造一下,比如在識別成功后,發出一個高電平,或者一條指令,這樣,一個基于人臉識別的門禁系統,是不是已經有了雛形了呢?
//以下內容僅供示例
print("特征值比對結果:" + msg.result);
if(msg.result == 1) {
    set(flow.gpio_out_ctl_door, 1);    // 讓控制門禁的IO輸出1
} else {
    set(flow.warn_led, blinking);      // 比對失敗,可以讓告警燈閃爍等等
}
4.2應用2又或者,當匹配到一個已經錄入系統中的人臉時,將特征值ID和當前時間記錄到數據庫中,一個基于人臉識別的考勤系統,其核心功能是不是已經實現了呢?
print("特征值比對結果:" + msg.result);
if(msg.result == 1) {
    var dt = date_time_create();     //獲取當前時間
    var str = "ID:" + msg.id + "	" + dt.year + "-" + dt.month + "-" + dt.day + " " + dt.hour + ":" + dt.minute + ":" + dt.second + "
"
    print(str);
    file_write_append("/flow/attendance_records.txt", str);    //將ID和時間信息寫入到考勤記錄文件
} else {
    print("Please try again");        //提示用戶失敗重試
}

adb1af90-016a-11ee-90ce-dac502259ad0.png

aceb5354-016a-11ee-90ce-dac502259ad0.jpg技術交流長按識別如下二維碼可加入“EsDA嵌入式系統設計自動化交流群”,與志同道合的朋友交流,并有專業技術人員為您答疑解惑,如有問題可以咨詢小致微信zlgmcu-888。

adbf05fa-016a-11ee-90ce-dac502259ad0.png


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 致遠電子
    +關注

    關注

    13

    文章

    410

    瀏覽量

    31704

原文標題:【EsDA應用】10分鐘快速實現人臉識別

文章出處:【微信號:ZLG_zhiyuan,微信公眾號:ZLG致遠電子】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于RV1126開發板實現人臉識別方案

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

    基于RV1126開發板實現人臉識別方案

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

    基于RV1126開發板實現人臉識別方案

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

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

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

    RV1126 實現人臉識別門禁系統解決方案

    RV1126實現人臉識別門禁系統解決方案
    的頭像 發表于 04-10 15:17 ?198次閱讀
    RV1126 <b class='flag-5'>實現</b><b class='flag-5'>人臉</b><b class='flag-5'>識別</b>門禁系統解決方案

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

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

    人臉識別技術的應用場景

    在數字化時代,安全和便捷性成為了人們日益關注的話題。人臉識別技術以其獨特的優勢,即無需物理接觸、快速識別和高準確率,成為了解決這些問題的關鍵技術之一。 1. 安全監控 1.1 公共安全
    的頭像 發表于 02-06 17:20 ?1115次閱讀

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

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

    EsDA,一站式嵌入式軟件

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

    人臉識別技術的原理介紹

    人臉識別技術是一種基于人臉特征信息進行身份識別的生物識別技術。它通過分析人臉圖像,提取
    的頭像 發表于 07-04 09:22 ?2275次閱讀

    如何設計人臉識別的神經網絡

    人臉識別技術是一種基于人臉特征信息進行身份識別的技術,廣泛應用于安全監控、身份認證、智能門禁等領域。神經網絡是實現
    的頭像 發表于 07-04 09:20 ?942次閱讀

    人臉識別模型訓練是什么意思

    的各個方面。 人臉識別技術概述 人臉識別技術是一種生物特征識別技術,通過分析人臉圖像的特征,
    的頭像 發表于 07-04 09:16 ?1069次閱讀

    人臉檢測和人臉識別的區別是什么

    檢測和人臉識別的區別。 定義 人臉檢測是指在圖像或視頻中快速準確地找到人臉的位置,并將其從背景中分離出來的技術。
    的頭像 發表于 07-03 14:49 ?1879次閱讀

    人臉識別門禁方案:輕松實現刷臉開門、閘機及考勤管理

    和密碼等方式,實現無接觸、高效率的出入控制。刷臉開門的實現人臉捕獲與跟蹤人臉識別門禁系統首先需要對進入者的面部進行捕獲,并自動地將其保存。
    的頭像 發表于 06-25 15:57 ?2309次閱讀
    <b class='flag-5'>人臉</b><b class='flag-5'>識別</b>門禁方案:輕松<b class='flag-5'>實現</b>刷臉開門、閘機及考勤管理

    ESD管 AZ5825-01F型號ESDA05CPX參數對比

    ESD管 AZ5825-01F型號ESDA05CPX參數對比
    的頭像 發表于 05-11 08:03 ?1309次閱讀
    <b class='flag-5'>ESD</b>管 AZ5825-01F型號<b class='flag-5'>ESDA</b>05CPX參數對比
    主站蜘蛛池模板: 久久综合五月开心婷婷深深爱 | 99久久99久久久99精品齐 | 美女被艹视频网站 | 亚洲国内精品自在线影视 | 美女扒开尿口给男人爽的视频 | 久久99热精品免费观看无卡顿 | 午夜国产精品免费观看 | 69女porenhd| 你懂的网站在线 | 午夜视频免费观看 | 性夜影院爽黄a爽免费视频 性瘾高h姚蕊全文免费阅读 | 国产资源在线视频 | 狠狠躁夜夜躁人人爽天天3 狠狠躁夜夜躁人人爽天天段 | 最近在线观看免费完整视频 | 诱人的老师bd高清日本在线观看 | 精品国产成人系列 | 三级毛片网站 | 久久本道综合色狠狠五月 | 视频在线观看免费 | 五月婷婷深爱五月 | 免费一级特黄 欧美大片 | 男女激情做爰叫床声视频偷拍 | 狠狠色网站 | 三级黄色网址 | 七月丁香八月婷婷综合激情 | 无遮挡高清一级毛片免费 | 97夜夜操 | 激情综合激情五月 | 国产亚洲一区二区精品 | 男女性高爱潮免费的国产 | 四虎永久免费网站入口2020 | 欧美综合精品一区二区三区 | 无遮挡很爽很污很黄在线网站 | jinv在线视频 | 午夜精品久久久久久久第一页 | 欧美人与动性xxxxbbbb | 四虎4hu影库永久地址 | 丁香花五月天婷婷 | 九九热精品视频在线播放 | 国产在线干 | 成人夜色视频网站在线观看 |