当今世界,随着科技的不断进步,生物识别技术已经成为了安全和身份验证领域的热门话题之一。如:人脸识别,指纹识别,虹膜比对,掌纹识别等。其中,掌纹识别技术作为一种生物特征识别方法,因其高度精准和高度安全性而备受关注。在这一背景下,越来越多的应用领域开始采用掌纹识别技术,包括金融、安全、物流和智能门禁等。本文将介绍如何在X86架构的嵌入式系统上部署一个开源的掌纹识别算法。
本文我们主要描述掌纹识别开源库:EDCC-Palmprint-Recognition,并且运行在风火轮科技的youyeetoo X1开发板(x86开发板)。
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物联网常用的接口,还能接7寸MIPI触摸屏。
EDCC-Palmprint-Recognition开源库链接:https://github.com/Leosocy/EDCC-Palmprint-Recognition
「掌纹识别技术相对于其他生物特征识别方法具有独特的优势,使其成为广泛采用的生物特征认证方式。以下是一些与指纹、人脸、虹膜、DNA、签名以及步态等其他生物特征识别技术相比的优势:」
「掌纹特征提取方法主要分为四大类,分别为基于结构的方法、基于统计的方法、基于子空间的方法以及基于编码的方法。」
「EDCC算法:它是一个高效、准确的掌纹识别算法。」
rice@rice:~/edcc$ sudo apt-get update
rice@rice:~/edcc$ sudo apt-get install build-essential
rice@rice:~/edcc$ sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
rice@rice:~/edcc$ sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
rice@rice:~/edcc$ cd opencv-4.5.0/
rice@rice:~/edcc/opencv-4.5.0$ mkdir -p build && cd build
rice@rice:~/edcc/opencv-4.5.0/build$ cmake -D CMAKE_INSTALL_PREFIX=/usr/local -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=ON -D OPENCV_ENABLE_NONFREE=True ..
rice@rice:~/edcc/opencv-4.5.0/build$ sudo make -j6
rice@rice:~/edcc/opencv-4.5.0/build$ sudo make install
rice@rice:~/edcc/opencv-4.5.0/build$ sudo gedit /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$ export PKG_CONFIG_PATH
sudo updatedb
source /etc/bash.bashrc
rice@rice:~/edcc/opencv-4.5.0/build$ pkg-config --modversion opencv4 #查看版本号
rice@rice:~/edcc/opencv-4.5.0/build$ pkg-config --libs opencv4 #查看libs库
rice@rice:~/edcc$ git clone https://github.com/Leosocy/EDCC-Palmprint-Recognition.git
Cloning into 'EDCC-Palmprint-Recognition'...
remote: Enumerating objects: 1188, done.
remote: Counting objects: 100% (44/44), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 1188 (delta 6), reused 23 (delta 4), pack-reused 1144
Receiving objects: 100% (1188/1188), 193.15 KiB | 78.00 KiB/s, done.
Resolving deltas: 100% (556/556), done.
rice@rice:~/edcc$
rice@rice:~/edcc$ cd EDCC-Palmprint-Recognition
rice@rice:~/edcc/EDCC-Palmprint-Recognition$ mkdir -p build && cd build
rice@rice:~/edcc/EDCC-Palmprint-Recognition/build$
rice@rice:~/edcc/EDCC-Palmprint-Recognition/build$ cmake ..
rice@rice:~/edcc/EDCC-Palmprint-Recognition/build$ sudo make install
rice@rice:~/edcc/EDCC-Palmprint-Recognition$ cd pypackage
rice@rice:~/edcc/EDCC-Palmprint-Recognition/pypackage$ sudo python3 setup.py install
rice@rice:~/edcc/EDCC-Palmprint-Recognition/$ cd palmprint_data
rice@rice:~/edcc/EDCC-Palmprint-Recognition/palmprint_data$ ./download.sh
rice@rice:~/edcc/EDCC-Palmprint-Recognition/$ cd ./examples/py_example
rice@rice:~/edcc/EDCC-Palmprint-Recognition/examples/py_example$ python3 example.py
本文分享自 Rice 嵌入式开发技术分享 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!