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

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

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

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

帶你玩轉(zhuǎn)OpenHarmony AI:基于Seetaface2的人臉識別

OpenAtom OpenHarmony ? 來源:未知 ? 2022-12-20 21:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

開源項目 OpenHarmony是每個人的 OpenHarmony 00b311c8-8067-11ed-8abf-dac502259ad0.jpg

鐘祿平

OpenHarmony知識體系工作組

以下內(nèi)容來自嘉賓分享,不代表開放原子開源基金會觀點

簡介

隨著時代的進步,全民刷臉已經(jīng)成為一種新型的生活方式,這也是全球科技進步的又一階梯,人臉識別技術(shù)已經(jīng)成為一種大趨勢,無論在智慧出行、智能家居、智慧辦公等場景均有較廣泛的應(yīng)用場景,本文介紹了基于SeetaFace2人臉識別引擎在OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)上實現(xiàn)人臉識別的AI能力。

什么是SeetaFace2

SeetaFace2是由中科視拓(北京)科技有限公司開發(fā)并使用BSD開源協(xié)議開源出來的一款人臉識別引擎庫,其搭建了一套全自動人臉識別系統(tǒng)所需的三個核心模塊,即:人臉檢測模塊FaceDetector、面部關(guān)鍵點定位模塊 FaceLandmarker 以及人臉特征提取與比對模塊FaceRecognizer。除了三個核心模塊外,它還提供了兩個輔助模塊FaceTracker和QualityAssessor用于人臉跟蹤和質(zhì)量評估。下圖是SeetaFace2人臉識別算法組件: 00dec55c-8067-11ed-8abf-dac502259ad0.png ?

SeetaFace2能做什么

SeetaFace2采用標準C++開發(fā),全部模塊均不依賴任何第三方庫,支持x86架構(gòu)(Windows、Linux)和ARM架構(gòu),可以輕松地移植到OpenHarmony上。SeetaFace2支持的上層應(yīng)用包括但不限于人臉門禁、無感考勤、人臉比對等。如下圖展示了SeetaFace2支持的應(yīng)用矩陣: 03f7ad9e-8067-11ed-8abf-dac502259ad0.png ?

SeetaFace2人臉識別原理

SeetaFace2人臉識別引擎搭建了一套全自動人臉識別系統(tǒng)所需的三個核心模塊:1.人臉檢測(FaceDetector) 在圖像中首先定位出人臉的位置,然后裁剪(crop)出包含人臉位置的矩形框,一般還會進行填充、縮放到指定尺寸,還可能會對人臉圖像進行標準化normalize;2.面部關(guān)鍵點定位(FaceLandmarker) 提取人臉關(guān)鍵點坐標,然后使用放射變化或相似變換等進行人臉對齊變換。面部關(guān)鍵點定位的目標就是把所有的人臉圖片統(tǒng)一到一個固定的正臉姿態(tài)大小,從而提高模型對人臉姿態(tài)變化的魯棒性。3.人臉特征提取與比對模塊(FaceRecognizer) 主要使用深度學習等方法提取人臉的特征,然后通過特征對比,計算人臉的相似度。 SeetaFace2人臉識別的具體過程如下圖所示: 04319680-8067-11ed-8abf-dac502259ad0.png ?

兩步帶你實現(xiàn)人臉識別

關(guān)于SeetaFace2的如何移植到OpenHarmony移植請參照文檔:SeetaFace2移植開發(fā)文檔(請參考文章末尾相關(guān)文檔鏈接),這里我們主要分析通過SeetaFace2如何實現(xiàn)人臉識別。 從上面人臉識別的流程圖可以知道人臉識別主要包含2個大塊:人臉注冊和人臉識別。1. 人臉注冊 人臉注冊首先需要對傳入的圖片進行人臉檢測,當檢測到人臉后會提取對應(yīng)的人臉信息,并將信息保存用于對比。 人臉信息檢測實現(xiàn):
std::vector DetectFace(const SeetaImageData &image)
{
  auto faces = FD.detect(image);
  return std::vector(faces.data, faces.data + faces.size);
}
其中FD是三大模塊中的人臉檢測模塊(FaceDetector),其加載了人臉檢測模型:
seeta::ModeSttingFD_model("fd_2_00.dat",seeta::ModeStting::CPU,0);
而返回SeetaFaceInfo數(shù)據(jù)則是檢測到的人臉信息,其中包含了人臉個數(shù),人臉區(qū)域坐標以及人臉置信度得分數(shù)據(jù)。然后通過人臉信息檢測返回的數(shù)據(jù)進行面部關(guān)鍵點定位。 面部關(guān)鍵點定位實現(xiàn):
std::vector DetectPoints(const SeetaImageData &image, const SeetaRect &face)
{
  std::vector points(PD.number());
  PD.mark(image, face, points.data());
  return std::move(points);
}
其中的PD是三大模塊中的關(guān)鍵點定位模塊(FaceLandmarker),關(guān)鍵點定位需要根據(jù)面部特征模型進行對比分析的,SeetaFace2提供2種面部特征模型。分別是通過5點定位和通過81點定位,此實例中我們使用的是81點定位模型:
seeta::ModeSttingPD_model("pd_2_00_pts81.dat",seeta::ModeStting::CPU,0);
獲取完面部特征數(shù)據(jù)后,SeetaFace2提供了一個人臉數(shù)據(jù)庫進行保存對應(yīng)的人臉信息數(shù)據(jù),以此來完成人臉信息的注冊:
int64_t Register(const SeetaImageData &image)
{
  auto faces =  DetectFace(image);
  auto points =  DetectPoints(image, faces.pos);


  return FDB.Register(image, points.data());
}
其中FDB是SeetaFace2實現(xiàn)的FaceDatabase數(shù)據(jù)庫管理。該數(shù)據(jù)庫也為人臉識別提供面部特征數(shù)據(jù)的對比結(jié)果,面部特征對比也需要一個人臉數(shù)據(jù)模型:
seeta::ModeSttingFDB_model("fr_2_00.dat",seeta::ModeStting::CPU,0);
通過以上步驟,我們就已經(jīng)完成了人臉的注冊。 2. 人臉識別 人臉識別和人臉注冊步驟類似,都需要先檢測人臉信息及提取面部特征數(shù)據(jù)。唯一的區(qū)別在于提取面部特征時需要進行人臉質(zhì)量評估,最后根據(jù)質(zhì)量評估結(jié)果進行識別,具體實現(xiàn)如下:
int64_t RecogizePoint(const SeetaImageData &image)
{
    int64_t result = 0;
  seeta::ModeStting FD_model("fd_2_00.dat", seeta::CPU, 0);        // 此3步創(chuàng)建3個模型
  seeta::ModeStting PD_model("pd_2_00_pts81.dat", seeta::CPU, 0);
  seeta::ModeStting FDB_model("fr_2_00.dat", seeta::CPU, 0);
  
  seeta::FaceDetector FD(FD_model);    // 創(chuàng)建人臉檢測模塊
  seeta::FaceLandmarker PD(PD_model);   // 創(chuàng)建面部關(guān)鍵點定位模塊
  seeta::FaceDatabase FDB(FDB_model);    // 創(chuàng)建人臉特征信息數(shù)據(jù)庫模塊
  
  auto faces = FD.detect(image);        // 獲取人臉特征信息
    for (SeetaFaceInfo &face : faces) {    // 對比每個人臉信息
        int64_t index = -1;
        float similarity = 0;
        std::vector points(PD.number());
      PD.mark(image, face, points.data());            // 獲取人臉框信息
        auto score = QA.evaluate(image, face.pos, points.data());   // 獲取人臉質(zhì)量評分
        if (score == 0) {
            HILOGI("no ignored
");
        } else {
            auto queried = FDB.QueryTop(image, points.data(), 1, &index, &similarity);    // 從注冊的人臉數(shù)據(jù)庫中對比相似度
            if (queried < 1) {
                continue;
            }
            if (similarity > threshold) {
                HILOGI("get recognized face!! 
");
                result++;
            }
        }
    }
    
    return result; 
}

參考鏈接

OpenHarmony知識體系工作組

https://gitee.com/openharmony-sig/knowledge

SeetaFace2移植開發(fā)文檔

https://gitee.com/openharmony-sig/knowledge_demo_smart_home/blob/master/docs/SeetaFace2/%E4%BA%BA%E8%84%B8%E8%AF%86%E5%88%AB%E5%BA%93%E7%9A%84%E7%A7%BB%E6%A4%8D.md

SeetaFace2 GitHub源碼地址

https://github.com/seetafaceengine/SeetaFace2

SeetaFace2 Demo樣例地址

https://gitee.com/openharmony-sig/knowledge_demo_travel/tree/master/docs/FaceRecognition_CXX/README.md

本文為技術(shù)分析文章,僅供大家學習、研討及交流使用。如在實際應(yīng)用場景中收集人臉圖像,應(yīng)遵守《個人信息保護法》《最高人民法院關(guān)于審理使用人臉識別技術(shù)處理個人信息相關(guān)民事案件適用法律若干問題的規(guī)定》等關(guān)于處理和保護敏感個人信息、面部生物識別信息的規(guī)定。


原文標題:帶你玩轉(zhuǎn)OpenHarmony AI:基于Seetaface2的人臉識別

文章出處:【微信公眾號:OpenAtom OpenHarmony】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。


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

    關(guān)注

    60

    文章

    2618

    瀏覽量

    44040
  • OpenHarmony
    +關(guān)注

    關(guān)注

    29

    文章

    3853

    瀏覽量

    18597

原文標題:帶你玩轉(zhuǎn)OpenHarmony AI:基于Seetaface2的人臉識別

文章出處:【微信號:gh_e4f28cfa3159,微信公眾號:OpenAtom OpenHarmony】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

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

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

    【BPI-CanMV-K230D-Zero開發(fā)板體驗】人臉檢測、手勢識別、車牌識別

    【BPI-CanMV-K230D-Zero開發(fā)板體驗】人臉檢測、手勢識別、車牌識別 本文介紹了香蕉派 CanMV K230D Zero 開發(fā)板結(jié)合 MIPI 攝像頭實現(xiàn)人臉檢測、
    發(fā)表于 06-30 20:44

    選擇戶外場景的人臉識別門禁一體機,需要具備哪些條件?

    我們常用于企業(yè)打卡或單位校園門禁的人臉識別身份核驗終端、刷臉核驗一體機、人臉識別門禁考勤機或人臉識別
    的頭像 發(fā)表于 06-09 10:26 ?260次閱讀
    選擇戶外場景<b class='flag-5'>的人臉</b><b class='flag-5'>識別</b>門禁一體機,需要具備哪些條件?

    OBOO鷗柏丨AI數(shù)字人觸摸屏查詢觸控人臉識別語音交互一體機上市

    查詢、AI人臉識別、AI聲源定位語音麥克風,觸控交互以及AI數(shù)字人技術(shù),旨在為用戶提供高效、智能、便捷
    的頭像 發(fā)表于 05-21 20:22 ?289次閱讀
    OBOO鷗柏丨<b class='flag-5'>AI</b>數(shù)字人觸摸屏查詢觸控<b class='flag-5'>人臉</b><b class='flag-5'>識別</b>語音交互一體機上市

    基于RK3576開發(fā)板的人臉識別算法

    RK3576開發(fā)板展示人臉識別算法例程和API說明
    的頭像 發(fā)表于 05-07 16:48 ?1932次閱讀
    基于RK3576開發(fā)板<b class='flag-5'>的人臉</b><b class='flag-5'>識別</b>算法

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

    RetinaFace 模型實現(xiàn)單張和多張人臉識別的效果展示。 單張人臉識別 這里選取了一些影視作品的人物圖片作為
    發(fā)表于 04-01 21:46

    《DNESP32S3使用指南-IDF版_V1.6》第五十九章 人臉識別實驗

    數(shù)據(jù),并將其提交給AI庫進行處理。根據(jù)按鍵的不同狀態(tài),系統(tǒng)會執(zhí)行不同的操作:1,如果長按按鍵,系統(tǒng)會將人臉數(shù)據(jù)傳入分區(qū)表。2,如果點擊按鍵,系統(tǒng)將當前識別的人臉
    發(fā)表于 03-26 09:40

    安信可AI人臉識別方案

    作為神仙世界的高科技,"無接觸式開鎖",人臉識別技術(shù)也被廣泛應(yīng)用在現(xiàn)代生活中,安信可也有AI人臉識別方案!
    的頭像 發(fā)表于 02-25 14:39 ?430次閱讀
    安信可<b class='flag-5'>AI</b><b class='flag-5'>人臉</b><b class='flag-5'>識別</b>方案

    新唐科技基于NuMaker-M55M1平臺的人臉識別系統(tǒng)

    人臉識別技術(shù)已成為現(xiàn)代科技的重要基石,廣泛應(yīng)用于安全監(jiān)控、門禁系統(tǒng)以及用戶身份認證等領(lǐng)域。新唐科技基于 NuMaker-M55M1 平臺的人臉識別系統(tǒng),結(jié)合多種核心技術(shù)組件,包括圖像處
    的頭像 發(fā)表于 01-20 10:31 ?740次閱讀

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

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

    FacenetPytorch人臉識別方案--基于米爾全志T527開發(fā)板

    算法實現(xiàn)人臉識別深度神經(jīng)網(wǎng)絡(luò)1.簡介 Facenet-PyTorch 是一個基于 PyTorch 框架實現(xiàn)的人臉識別庫。它提供了 FaceNet 模型的 PyTorch 實現(xiàn),可以用于
    發(fā)表于 11-28 15:57

    《DNK210使用指南 -CanMV版 V1.0》第四十五章 人臉識別實驗

    與先前錄入的人臉特征進行對比,如果得分高于閾值,則能成功識別人臉,最后將識別結(jié)果同原始圖像在LCD上進行顯示。2. 按下KEY0按鍵可以錄入當前人臉
    發(fā)表于 11-18 14:30

    基于迅為RK3568/RK3588開發(fā)板的AI圖像識別方案

    https://www.bilibili.com/video/BV1G54y1A7nf/?spm_id_from=333.999.0.0 迅為RK3568/RK3588開發(fā)板AI識別演示方案,包括
    發(fā)表于 08-28 09:50

    基于FPGA的人臉識別技術(shù)

    基于FPGA(現(xiàn)場可編程邏輯門陣列)的人臉識別技術(shù),是一種結(jié)合了高效并行處理能力和靈活可編程性的先進圖像處理解決方案。這種技術(shù)在安全監(jiān)控、身份認證、人機交互等領(lǐng)域具有廣泛應(yīng)用前景。以下將詳細介紹基于FPGA的人臉
    的頭像 發(fā)表于 07-17 11:42 ?2200次閱讀