色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

帶你玩轉OpenHarmony AI:基于Seetaface2的人臉識別

OpenAtom OpenHarmony ? 來源:未知 ? 2022-12-20 21:10 ? 次閱讀

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

鐘祿平

OpenHarmony知識體系工作組

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

簡介

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

什么是SeetaFace2

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

SeetaFace2能做什么

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

SeetaFace2人臉識別原理

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

兩步帶你實現人臉識別

關于SeetaFace2的如何移植到OpenHarmony移植請參照文檔:SeetaFace2移植開發文檔(請參考文章末尾相關文檔鏈接),這里我們主要分析通過SeetaFace2如何實現人臉識別。 從上面人臉識別的流程圖可以知道人臉識別主要包含2個大塊:人臉注冊和人臉識別。1. 人臉注冊 人臉注冊首先需要對傳入的圖片進行人臉檢測,當檢測到人臉后會提取對應的人臉信息,并將信息保存用于對比。 人臉信息檢測實現:
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數據則是檢測到的人臉信息,其中包含了人臉個數,人臉區域坐標以及人臉置信度得分數據。然后通過人臉信息檢測返回的數據進行面部關鍵點定位。 面部關鍵點定位實現:
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是三大模塊中的關鍵點定位模塊(FaceLandmarker),關鍵點定位需要根據面部特征模型進行對比分析的,SeetaFace2提供2種面部特征模型。分別是通過5點定位和通過81點定位,此實例中我們使用的是81點定位模型:
seeta::ModeSttingPD_model("pd_2_00_pts81.dat",seeta::ModeStting::CPU,0);
獲取完面部特征數據后,SeetaFace2提供了一個人臉數據庫進行保存對應的人臉信息數據,以此來完成人臉信息的注冊:
int64_t Register(const SeetaImageData &image)
{
  auto faces =  DetectFace(image);
  auto points =  DetectPoints(image, faces.pos);


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

參考鏈接

OpenHarmony知識體系工作組

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

SeetaFace2移植開發文檔

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

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


原文標題:帶你玩轉OpenHarmony AI:基于Seetaface2的人臉識別

文章出處:【微信公眾號:OpenAtom OpenHarmony】歡迎添加關注!文章轉載請注明出處。


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

    關注

    57

    文章

    2392

    瀏覽量

    42980
  • OpenHarmony
    +關注

    關注

    25

    文章

    3744

    瀏覽量

    16492

原文標題:帶你玩轉OpenHarmony AI:基于Seetaface2的人臉識別

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

收藏 人收藏

    評論

    相關推薦

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

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

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

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

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

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

    基于FPGA的人臉識別技術

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

    基于OpenCV的人臉識別系統設計

    基于OpenCV的人臉識別系統是一個復雜但功能強大的系統,廣泛應用于安全監控、人機交互、智能家居等多個領域。下面將詳細介紹基于OpenCV的人臉識別系統的基本原理、實現步驟,并附上具體
    的頭像 發表于 07-11 15:37 ?1.4w次閱讀

    人臉識別技術的原理介紹

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

    人臉識別模型訓練流程

    據準備階段,需要收集大量的人臉圖像數據,并進行數據清洗、標注和增強等操作。 1.1 數據收集 數據收集是人臉識別模型訓練的第一步??梢酝ㄟ^網絡爬蟲、公開數據集、合作伙伴等途徑收集人臉
    的頭像 發表于 07-04 09:19 ?1080次閱讀

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

    人臉識別模型訓練是指通過大量的人臉數據,使用機器學習或深度學習算法,訓練出一個能夠識別和分類人臉的模型。這個模型可以應用于各種場景,如安防監
    的頭像 發表于 07-04 09:16 ?708次閱讀

    如何挑選理想的人臉識別考勤系統產品?人臉識別設備的選型

    如何挑選理想的人臉識別考勤系統產品?在挑選理想的人臉識別考勤系統產品時,需要綜合考慮多個方面,包括但不限于設備的性能、兼容性、數據存儲能力、環境適應性以及售后服務等因素。以下是根據提供
    的頭像 發表于 06-05 14:59 ?531次閱讀
    如何挑選理想<b class='flag-5'>的人臉</b><b class='flag-5'>識別</b>考勤系統產品?<b class='flag-5'>人臉</b><b class='flag-5'>識別</b>設備的選型

    天線設計攻略簡要概述 帶你玩轉PCB和WIFI

    給大家分享干貨啦!天線設計全攻略,帶你玩轉PCB和WIFI
    的頭像 發表于 05-08 14:42 ?1568次閱讀
    天線設計攻略簡要概述 <b class='flag-5'>帶你</b><b class='flag-5'>玩轉</b>PCB和WIFI

    開發者手機 AI - 目標識別 demo

    功能簡介 該應用是在Openharmony 4.0系統上開發的一個目標識別AI應用,旨在從上到下打通Openharmony AI子系統,展
    發表于 04-11 16:14

    OpenHarmony鴻蒙實戰】在RK3399開發板實現智能門禁人臉識別

    基于RK3399開發板,使用OpenHarmony3.0-LTS開發的應用。通過定時獲取攝像頭數據,實現人臉識別比對等功能。
    的頭像 發表于 03-20 17:38 ?1527次閱讀
    【<b class='flag-5'>OpenHarmony</b>鴻蒙實戰】在RK3399開發板實現智能門禁<b class='flag-5'>人臉</b><b class='flag-5'>識別</b>

    小區無感人臉識別門禁攝像機,多人同時識別通過 #人臉識別 #智能攝像機

    AI人臉識別
    jf_07511428
    發布于 :2024年03月06日 22:53:18

    公司人臉識別考勤門禁攝像機#人臉識別#智能攝像機

    AI人臉識別
    jf_07511428
    發布于 :2024年03月06日 22:52:08

    人臉識別技術的原理是什么 人臉識別技術的特點有哪些

    人臉識別技術的原理 人臉識別技術是一種通過計算機以圖像或視頻為輸入,識別、檢測、跟蹤和分析人臉
    的頭像 發表于 02-18 13:52 ?2224次閱讀
    主站蜘蛛池模板: 国产网红主播精品福利大秀专区 | 久久伊人中文字幕有码 | 啪啪啪社区 | 一二三四在线高清中文版免费观看电影 | 人人模人人干 | 5g天天奭视频 | 国产喷水1区2区3区咪咪爱AV | 精品国产一区二区三区久久影院 | 成人在免费视频手机观看网站 | XXOO麻豆国产在线九九爱 | 古代又黄又肉到湿的爽文 | 国精产品一区一区三区有限 | 国产精品xxxav免费视频 | 2020亚洲色噜噜狠狠网站 | 久久99re2热在线播放7 | 国产在线不卡 | 国产精品美女久久久久AV超清 | 成人永久免费视频网站在线观看 | 99久久国产宗和精品1上映 | 中国xxx视频| 国产精人妻无码一区麻豆 | 99久久亚洲精品影院 | 久久99国产精品自在自在 | 国产精品JIZZ在线观看A片 | 久久看片网| 无码任你躁久久久久久久 | 色婷婷国产精品视频一区二区三区 | 国产 亚洲 中文字幕 久久网 | 美国兽皇zoo在线播放 | 免费毛片a在线观看67194 | 538prom精品视频我们不只是 | 久久青草免费线观最新 | 国产成人精品亚洲线观看 | 色欲AV亚洲永久无码精品 | 久久视频这里只精品99热在线 | 被送到黑人性奴俱乐部 | 超碰免费视频在线观看 | 欧美精品成人一区二区在线观看 | 泡妞高手在都市免费观看 | 国内精品伊人久久久久 | 99久久精品免费国产一区二区三区 |