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

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

3天內不再提示

風火輪X86主板youyeetoo X1:部署掌紋識別能力

Rice嵌入式開發(fā)技術分享 ? 來源:Rice嵌入式 ? 作者:Rice嵌入式 ? 2023-11-10 08:36 ? 次閱讀

當今世界,隨著科技的不斷進步,生物識別技術已經(jīng)成為了安全和身份驗證領域的熱門話題之一。如:人臉識別,指紋識別,虹膜比對,掌紋識別等。其中,掌紋識別技術作為一種生物特征識別方法,因其高度精準和高度安全性而備受關注。在這一背景下,越來越多的應用領域開始采用掌紋識別技術,包括金融、安全、物流和智能門禁等。本文將介紹如何在X86架構的嵌入式系統(tǒng)上部署一個開源的掌紋識別算法。

本文我們主要描述掌紋識別開源庫:EDCC-Palmprint-Recognition,并且運行在風火輪科技的youyeetoo X1開發(fā)板(x86開發(fā)板)。

youyeetoo X1是一款由深圳風火輪科技推出的x86架構單板電腦(SBC),可運行全功能版的windows和Linux, 具備低成本,高性能的特點(11代Intel CPU N5105),它主要面向AIOT和自動控制 市場,尺寸只有手掌大(115 * 75mm),接口卻非常豐富,內置了3路串口UART,2路HDMI,6路USB口、1路I2C、1路SPI、5路GPIO等 AIOT物聯(lián)網(wǎng)常用的接口,還能接7寸MIPI觸摸屏。

32f3e1d6-7f61-11ee-b3e3-92fbcf53809c.png

EDCC-Palmprint-Recognition開源庫鏈接:https://github.com/Leosocy/EDCC-Palmprint-Recognition

3308ce48-7f61-11ee-b3e3-92fbcf53809c.png

掌紋識別概念

掌紋識別優(yōu)勢

「掌紋識別技術相對于其他生物特征識別方法具有獨特的優(yōu)勢,使其成為廣泛采用的生物特征認證方式。以下是一些與指紋、人臉、虹膜、DNA、簽名以及步態(tài)等其他生物特征識別技術相比的優(yōu)勢:」

相對于指紋的優(yōu)勢:

更大的識別面積:掌紋的識別面積比指紋更大,包含的信息更豐富,這可以提高準確性。

更不易受損:掌紋相對穩(wěn)定,不容易受損或受外界因素的影響,具有長期穩(wěn)定性。

較低的圖像分辨率要求:相對較低的圖像分辨率要求意味著采集設備的造價更低,相對經(jīng)濟。

相對于人臉的優(yōu)勢:

不受外部因素的影響:掌紋不受眼鏡、表情、妝容等因素的影響,其穩(wěn)定性更高。

用戶友好:用戶接受度較高,因為掌紋的采集方式通常更加友好,無需特殊的準備或配合。

相對于虹膜和DNA的優(yōu)勢:

較低的采集設備造價:與虹膜掃描儀或DNA采集設備相比,掌紋的采集設備成本更低,更易于部署。

相對于簽名和步態(tài)等行為特征的優(yōu)勢:

不受習慣的影響:掌紋識別不受個體行為習慣的影響,不會因人們的簽名或步態(tài)習慣而變化。

特征穩(wěn)定:掌紋特征不會隨著時間改變,從而提高了長期識別的準確性。

掌紋識別的基本方法:

數(shù)據(jù)庫創(chuàng)建通過采集注冊樣本,進行預處理、特征提取工作,之后形成數(shù)據(jù)庫

特征庫檢索通過采集待測試的樣本,在預處理和提取特征之后與掌紋數(shù)據(jù)庫中的數(shù)據(jù)進行匹配,得到該待測樣本的類別。

掌紋特征提取方法:

「掌紋特征提取方法主要分為四大類,分別為基于結構的方法、基于統(tǒng)計的方法、基于子空間的方法以及基于編碼的方法。」

基于結構的方法主要是利用掌紋中主線和褶皺的方向和位置信息實現(xiàn)掌紋識別的方法,此類方法最為直觀。但是無論是哪一種邊緣檢測算子都無法提取出所有的紋線,所以此類方法實用性很差,已經(jīng)被人們漸漸放棄。

基于統(tǒng)計的方法主要是利用統(tǒng)計特征,例如均值、方差等組成一組用來描述掌紋圖像的特征向量,可以根據(jù)是否分塊這一特性分為局部統(tǒng)計變量方法和全局統(tǒng)計量方法?;诰植拷y(tǒng)計量的方法通過將圖像分成若干小塊,分別統(tǒng)計每個小塊的統(tǒng)計信息,然后將這些統(tǒng)計信息組合表示為整個掌紋的統(tǒng)計特征向量,如采用傅里葉變換、小波變換等方式獲得掌紋圖像的每個分塊統(tǒng)計信息并進行識別。

基于子空間的方法是將原始掌紋圖像看做普通的圖片模式,將圖片對應的高維矩陣通過投影映射運算轉化為低維向量或矩陣。根據(jù)投影變換的實現(xiàn)方式,分為線性子空間法和非線性子空間法。常用的子空間特征提取方法有主成分分析法 (PCA),F(xiàn)isherPalm 方法,BDPCA (Bi-directional PCA) 等。

基于編碼的方法是將掌紋圖像看作紋理圖像,根據(jù)某些規(guī)則對紋理圖像進行編碼。Zhang 等提出了一種名為 PalmCode 的編碼方法,該方法首先采用 2DGabor 對圖像進行濾波處理,然后根據(jù)濾波結果的實部和虛部的正負來進行編碼。Kong 等提出使用六個方向的 Gabor 濾波器對掌紋圖像濾波,并對幅值最小的方向編碼,稱為競爭編碼 (Competitive code)。由于競爭編碼考察了掌紋圖像的方向信息,對光照不敏感,因此識別精度很高。

EDCC算法

「EDCC算法:它是一個高效、準確的掌紋識別算法?!?/strong>

掌紋充滿了線條和紋理特征,具備豐富的方向信息。因此,基于方向編碼被認為是最有效的掌紋特征提取方法。而競爭編碼是辨識度極高的編碼方法之一,它使用不同方向的濾波器與掌紋圖像進行卷積,之后根據(jù)一定的編碼規(guī)則對掌紋圖像進行編碼。

EDCC算法有以下關鍵點:

通過圖像增強算子處理原始掌紋圖像,使得紋線更加突出,提取的方向更加準確。

使用一組方向不同的 2DGabor 小波濾波器對圖像進行濾波。

選擇濾波響應值最大和次大的方向作為該點所在紋線的主要方向和次要方向,進而進行編碼。

EDCC部署

準備工作

youyeetoo X1開發(fā)板需要安裝ubuntu系統(tǒng),ubuntu安裝過程可以參考文章:<風火輪X86主板youyeetoo X1:部署MQTT Broker>

OpenCV安裝

EDCC算法依賴OpenCV,支持版本為OpenCV 3.4或者OpenCV 4.5兩個版本。

安裝OpenCV依賴庫:

rice@rice:~/edcc$sudoapt-getupdate
rice@rice:~/edcc$sudoapt-getinstallbuild-essential
rice@rice:~/edcc$sudoapt-getinstallcmakegitlibgtk2.0-devpkg-configlibavcodec-devlibavformat-devlibswscale-dev
rice@rice:~/edcc$sudoapt-getinstallpython-devpython-numpylibtbb2libtbb-devlibjpeg-devlibpng-devlibtiff-devlibjasper-devlibdc1394-22-dev

下載安裝OpenCV,下載鏈接:https://github.com/opencv/opencv/archive/4.5.0.zip

331074cc-7f61-11ee-b3e3-92fbcf53809c.jpg

編譯OpenCV

執(zhí)行cmake指令,生成makefile:

rice@rice:~/edcc$cdopencv-4.5.0/
rice@rice:~/edcc/opencv-4.5.0$mkdir-pbuild&&cdbuild
rice@rice:~/edcc/opencv-4.5.0/build$cmake-DCMAKE_INSTALL_PREFIX=/usr/local-DCMAKE_BUILD_TYPE=Release-DOPENCV_GENERATE_PKGCONFIG=ON-DOPENCV_ENABLE_NONFREE=True..

3316c28c-7f61-11ee-b3e3-92fbcf53809c.png

指定make構建工程:

rice@rice:~/edcc/opencv-4.5.0/build$sudomake-j6

3320428a-7f61-11ee-b3e3-92fbcf53809c.png

安裝OpenCV

rice@rice:~/edcc/opencv-4.5.0/build$sudomakeinstall

環(huán)境配置

修改etc/bash.bashrc

rice@rice:~/edcc/opencv-4.5.0/build$sudogedit/etc/bash.bashrc

在文件末尾添加一下內容并保存

rice@rice:~/edcc/opencv-4.5.0/build$PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
rice@rice:~/edcc/opencv-4.5.0/build$exportPKG_CONFIG_PATH

更新環(huán)境配置

sudoupdatedb
source/etc/bash.bashrc

檢查OpenCV安裝情況

rice@rice:~/edcc/opencv-4.5.0/build$pkg-config--modversionopencv4#查看版本號
rice@rice:~/edcc/opencv-4.5.0/build$pkg-config--libsopencv4#查看libs庫
33b700a8-7f61-11ee-b3e3-92fbcf53809c.jpg

環(huán)境搭建

下載源碼,EDCC算法的代碼托管在github上,鏈接:https://github.com/Leosocy/EDCC-Palmprint-Recognition.git,我們通過git克隆下來:

rice@rice:~/edcc$gitclonehttps://github.com/Leosocy/EDCC-Palmprint-Recognition.git
Cloninginto'EDCC-Palmprint-Recognition'...
remote:Enumeratingobjects:1188,done.
remote:Countingobjects:100%(44/44),done.
remote:Compressingobjects:100%(39/39),done.
remote:Total1188(delta6),reused23(delta4),pack-reused1144
Receivingobjects:100%(1188/1188),193.15KiB|78.00KiB/s,done.
Resolvingdeltas:100%(556/556),done.
rice@rice:~/edcc$

創(chuàng)建構建目錄,好處:構建過程的文件放在統(tǒng)一的目錄下:

rice@rice:~/edcc$cdEDCC-Palmprint-Recognition
rice@rice:~/edcc/EDCC-Palmprint-Recognition$mkdir-pbuild&&cdbuild
rice@rice:~/edcc/EDCC-Palmprint-Recognition/build$

構建EDCC算法代碼

rice@rice:~/edcc/EDCC-Palmprint-Recognition/build$cmake..
rice@rice:~/edcc/EDCC-Palmprint-Recognition/build$sudomakeinstall

33cc63a8-7f61-11ee-b3e3-92fbcf53809c.png

安裝EDCC python 的包

rice@rice:~/edcc/EDCC-Palmprint-Recognition$cdpypackage
rice@rice:~/edcc/EDCC-Palmprint-Recognition/pypackage$sudopython3setup.pyinstall

33e40c92-7f61-11ee-b3e3-92fbcf53809c.png

以上步驟就把EDCC的算法環(huán)境搭建完成

EDCC算法驗證

下載測試用的掌紋圖片,EDCC算法開源庫提供下載腳本,用于我們驗證功能。

rice@rice:~/edcc/EDCC-Palmprint-Recognition/$cdpalmprint_data
rice@rice:~/edcc/EDCC-Palmprint-Recognition/palmprint_data$./download.sh

33e896c2-7f61-11ee-b3e3-92fbcf53809c.png

EDCC提供了三種實例:C代碼實例,C++代碼實例,python代碼實例。我們驗證功能,采用EDCC的python代碼實例。

python代碼實例中比對的圖片是a_01.bmp和b_01.bmp

33f3928e-7f61-11ee-b3e3-92fbcf53809c.png

比對的兩張圖片如下:

33feae76-7f61-11ee-b3e3-92fbcf53809c.jpg

執(zhí)行命令驗證,兩張掌紋圖片的比對得分為:0.08799048751486326

rice@rice:~/edcc/EDCC-Palmprint-Recognition/$cd./examples/py_example
rice@rice:~/edcc/EDCC-Palmprint-Recognition/examples/py_example$python3example.py
340eb65e-7f61-11ee-b3e3-92fbcf53809c.jpg

總結

EDCC這個開源庫的開源協(xié)議為:MIT,所以使用起來不用當心。

EDCC的原理,其作者也提供了詳細的說明:https://blog.leosocy.top/posts/4354/

在youyeetoo部署AI能力,無疑是一個不錯的選擇。

341987a0-7f61-11ee-b3e3-92fbcf53809c.png

審核編輯 黃宇

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

    關注

    52

    文章

    1775

    瀏覽量

    69776
  • 開源
    +關注

    關注

    3

    文章

    3125

    瀏覽量

    42067
  • X86
    X86
    +關注

    關注

    5

    文章

    289

    瀏覽量

    43267
  • 掌紋識別
    +關注

    關注

    0

    文章

    16

    瀏覽量

    10816
收藏 人收藏

    評論

    相關推薦

    如何在X86架構的嵌入式系統(tǒng)上部署掌紋識別算法

    安全性而備受關注。在這一背景下,越來越多的應用領域開始采用掌紋識別技術,包括金融、安全、物流和智能門禁等。本文將介紹如何在X86架構的嵌入式系統(tǒng)上部署一個開源的
    的頭像 發(fā)表于 11-10 16:53 ?1304次閱讀
    如何在<b class='flag-5'>X86</b>架構的嵌入式系統(tǒng)上<b class='flag-5'>部署</b><b class='flag-5'>掌紋</b><b class='flag-5'>識別</b>算法

    youyeetoo X1 windows 開發(fā)板體驗】支持語音控制的AIoT智能終端設計

    感謝電子發(fā)燒友和深圳風火輪科技的信任,本次參加youyeetoo X1 Windows 開發(fā)板的評測。 開發(fā)板特點 youyeetoo X1
    發(fā)表于 01-26 16:32

    youyeetoo X1 windows 開發(fā)板體驗】基于ROS開發(fā)的LIO系統(tǒng)——項目計劃+前言開箱

    前言 很榮幸有機會參與到我們電子發(fā)燒友論壇平臺的試用活動,也感謝深圳風火輪科技提供了這一次寶貴的機會!提供了youyeetoo X1 windows這么一款優(yōu)秀開發(fā)板。閑話少說,我們快入正文; 官網(wǎng)
    發(fā)表于 01-26 17:58

    youyeetoo X1 windows 開發(fā)板體驗】少兒AI智能STEAM積木平臺

    這次非常有幸,能夠得到深圳風火輪youyeetoo X1的體驗機會,感謝電子發(fā)燒友和風火輪。 在申請youyeetoo
    發(fā)表于 02-01 00:20

    youyeetoo X1 windows 開發(fā)板體驗】+ 影音處理和AI模型移植

    youyeetoo X1 開發(fā)板是一款由深圳風火輪科技推出的x86架構單板電腦(SBC),可運行全功能版的windows和Linux, 具備低成本,高性能的特點(11代Intel C
    發(fā)表于 03-23 17:47

    【每周推薦】采用11代Intel CPU,基于youyeetoo X1開發(fā)板搭建少兒AI智能STEAM積木平臺

    這次非常有幸,能夠得到深圳風火輪youyeetoo X1的體驗機會,感謝電子發(fā)燒友和風火輪。 詳細的WiKi網(wǎng)址:youyeetoo
    發(fā)表于 04-10 14:38

    ARM主板X86主板的優(yōu)缺點

    `相對于X86主板的優(yōu)點: (1)、功耗:這是ARM主板最大的優(yōu)點之一,一般的VIA的X86主板
    發(fā)表于 06-15 15:56

    風火輪

    誰有TI的基于MSP430launchpadG2553的Capacitive Touch BoosterPack(就是電容觸摸板)俗稱風火輪紅色的轉盤 誰有可不可以轉讓給我活著給我學習一下 我是一名西安電大的學生看了視頻很想操作一下這塊板子跪求了在此獻上C代碼 求風火輪
    發(fā)表于 08-12 11:22

    什么是x86嵌入式工控主板,x86嵌入式主板該如何選擇

    什么是x86嵌入式工控主板?x86嵌入式主板就是嵌入式工控機內常用到的主板,它跟嵌入式工控機一樣,體積比較小,
    發(fā)表于 12-09 12:50 ?3109次閱讀

    什么是X86主板,X86嵌入式主板該如何挑選

    X86嵌入式主板是嵌入式主板的一類,主要特點取決于容積精巧、主要參數(shù)平穩(wěn),其還能夠分成多個類別,這些各自相匹配不一樣的場景以及功能需求,因而在具體挑選的時候需要大家多方面鑒別。那么下面不妨就隨我們
    發(fā)表于 04-12 15:49 ?5253次閱讀

    風火輪汽車光電門開源硬件

    電子發(fā)燒友網(wǎng)站提供《風火輪汽車光電門開源硬件.zip》資料免費下載
    發(fā)表于 02-08 15:21 ?0次下載
    <b class='flag-5'>風火輪</b>汽車光電門開源硬件

    風火輪X86主板youyeetoo X1部署MQTT Broker

    號外,號外。。。深圳風火輪科技又推出新品啦--youyeetoo X1youyeetoo X1 是一款由深圳
    的頭像 發(fā)表于 10-12 18:01 ?1877次閱讀
    <b class='flag-5'>風火輪</b><b class='flag-5'>X86</b><b class='flag-5'>主板</b><b class='flag-5'>youyeetoo</b> <b class='flag-5'>X1</b>:<b class='flag-5'>部署</b>MQTT Broker

    深圳風火輪科技又發(fā)新品啦--youyeetoo X1(X86開發(fā)板)

    號外,號外。。。 深圳風火輪科技又推出新品啦--youyeetoo X1。 youyeetoo X1 是一款由深圳
    的頭像 發(fā)表于 10-10 10:22 ?835次閱讀
    深圳<b class='flag-5'>風火輪</b>科技又發(fā)新品啦--<b class='flag-5'>youyeetoo</b> <b class='flag-5'>X1</b>(<b class='flag-5'>X86</b>開發(fā)板)

    youyeetoo X1部署成mqtt Broker實戰(zhàn)開發(fā)

    風火輪X86主板youyeetoo X1這個小巧的板子,正合我意,可以部署一個MQTT Brok
    的頭像 發(fā)表于 10-15 10:15 ?770次閱讀
    將<b class='flag-5'>youyeetoo</b> <b class='flag-5'>X1</b><b class='flag-5'>部署</b>成mqtt Broker實戰(zhàn)開發(fā)

    風火輪科技第三款開發(fā)板youyeetoo R1簡介

    在2023年的尾聲之際,風火輪科技如約而至,再次為我們帶來驚喜。繼前兩款備受贊譽的開發(fā)板之后,他們再次推出了全新的第三款開發(fā)板--youyeetoo R1,為科技領域注入一股清新的活力。
    的頭像 發(fā)表于 01-02 14:08 ?1133次閱讀
    <b class='flag-5'>風火輪</b>科技第三款開發(fā)板<b class='flag-5'>youyeetoo</b> R<b class='flag-5'>1</b>簡介