【基于開源insightface的人臉檢測,人臉識別初步測試】

簡介

InsightFace是一個基于深度學習的開源人臉識別項目,由螞蟻金服的深度學習團隊開發。該項目提供了人臉檢測、人臉特征提取、人臉識別等功能,支持多種操作系統和深度學習框架。本文將詳細介紹如何在Ubuntu系統上安裝和實戰InsightFace項目。

目前github有非常多的人臉識別開源項目,下面列出幾個常用的開源項目:

  • deepface
  • compreface 是免費開源的人臉識別服務,無需事先掌握機器學習知識即可輕松集成到任何系統中。它提供了用于人臉識別、人臉驗證、人臉檢測、特征點檢測、口罩檢測、頭部姿態檢測、年齡和性別識別的REST API,并可通過Docker輕松部署。
  • face_recognition 使用全球最簡單的人臉識別庫,從Python或命令行識別和操作人臉。
    該庫基于dlib構建,利用深度學習技術實現先進的面部識別功能。在Labeled Faces in the Wild基準測試中,模型的準確率高達99.38%。
    此外,還提供了一個簡單的face_recognition命令行工具,可以從命令行對一整套圖像進行人臉識別!
  • facenet 使用TensorFlow實現的人臉識別
  • facenet-pytorch 使用pytorch實現的人臉識別
  • insightface

安裝步驟

在開始之前,請確保您的Ubuntu系統滿足以下要求:

  • 操作系統:Ubuntu 16.04/18.04/20.04
  • Python版本:Python 3.5及以上
  • 深度學習框架:PyTorch或TensorFlow
  • 其他依賴庫:OpenCV、NumPy、Pillow等

安裝依賴庫
首先,安裝Python和pip:

sudo apt update
sudo apt install python3 python3-pip python3-dev

在這一定要安裝python3-dev,否則在構建insightface工程時會報錯:
下面報錯解決方法

mesh_core_cython.cpp:4:10: fatal error: Python.h: 沒有那個文件或目錄#include "Python.h"^~~~~~~~~~
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

然后,安裝必要的依賴庫:

pip3 install torch torchvision torchaudio nvidia-cudnn-cu12 numpy pillow -i https://pypi.tuna.tsinghua.edu.cn/simple

最后,安裝項目依賴庫:

pip3 install opencv-python onnx tqdm scikit-image albumentations matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple 

下載InsightFace項目源碼

# github clone
git clone https://github.com/deepinsight/insightface.git
# or gitee clone mirror
git clone https://gitee.com/mirrors/InsightFace.git
cd insightface
# 安裝項目指定必要的依賴
pip3 install -r requirements.txt

工程文件介紹

下面是insightface工程主要目錄,對于應用來講主要使用標紅框的目錄。
在這里插入圖片描述

構建python-package

python-package/cpp-package 主要是對insightface核心框架的應用封裝,在開發應用時可以直接進行模塊導入。
在執行測試demo前需要先執行該目錄中的setup.py進行構建當前平臺的部署。如果你是通過pip3直接安裝的insightface模塊’pip3 install insightface’,就無需執行。

執行如下:

cd python-package
python3 setup.py build_ext -i

在這里插入圖片描述
如下圖代表構建成功:

在這里插入圖片描述

examples例程測試

因為我們是工程項目進行本地部署,所以我們需要將examples目錄中的demo文件賦值到python-package目錄中在執行,否則會提示無法正確導入insightface模塊。
在首次執行demo的時候會自動進行模型下載,如果下載很慢的話也可以將模型先下載完后放到: ~/.insightface/models/目錄下即可,默認下載的是buffalo_l模型

~/work/deep-study/insightface/insightface/python-package$ cp ../examples/demo_analysis.py ./
#執行demo
~/work/deep-study/insightface/insightface/python-package$ python3 demo_analysis.py
/home/djzheng/.local/lib/python3.8/site-packages/albumentations/__init__.py:13: UserWarning: A new version of Albumentations is available: 2.0.5 (you have 1.4.18). Upgrade us

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/77572.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/77572.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/77572.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

設計一個簡單的權限管理系統

針對大規模服務器集群的權限管理系統設計,需結合 角色分層、最小權限原則 和 動態權限控制 來實現安全高效的權限管理。以下是分階段設計方案: 一、核心設計思路 基于角色的訪問控制(RBAC) 定義角色層級(如董事長 >…

使用 nano 文本編輯器修改 ~/.bashrc 文件與一些快捷鍵

目錄 使用 nano 編輯器保存并關閉文件使用 sed 命令直接修改文件驗證更改 如果你正在使用 nano 文本編輯器來修改 ~/.bashrc 文件,以下是保存并關閉文件的具體步驟: 使用 nano 編輯器保存并關閉文件 打開 ~/.bashrc 文件 在終端中運行以下命令&#xf…

spm12_fMRI 2*4混合方差分析 Flexible factorial 對比矩陣

實驗設計:2*4被試內設計 分析模型:spm 二階分析中的 Flexible factorial 問題:Flexible factorial交互作用對比矩陣如何編寫? 老師:deepseek老師【大神們看看這個矩陣是否可以如下編寫?】 以下是來自de…

用Python修改字體字形與提取矢量數據:fontTools實戰指南

字體設計與分析是NLP和視覺領域的交叉應用,而**fontTools** 是一款強大的Python庫,可以讓我們直接操作字體文件的底層結構。本文將通過兩個實用函數,展示如何修改特定字形和提取所有字形的矢量數據,幫助開發者快速上手字體編輯與分…

Windows 11 PowerShell重定向文本文件的編碼問題

目錄 問題的由來 編碼導致的問題 解決辦法 VSCode進行轉換 記事本進行轉換 直接指定輸出的文本編碼 總結 問題的由來 在我的嵌入式系統的課程中有一個裸機開發的實驗,其中需要把圖片等文件轉換為C語言數組保存在程序中。課程中,我推薦了CodePlea的…

SQL開發的智能助手:通義靈碼在IntelliJ IDEA中的應用

SQL 是一種至關重要的數據庫操作語言,盡管其語法與通用編程語言有所不同,但因其在眾多應用中的廣泛使用,大多數程序員都具備一定的 SQL 編寫能力。然而,當面對復雜的 SQL 語句或優化需求時,往往需要專業數據庫開發工程…

算法——分支限界

學習目標: 掌握算法入門知識 學習內容: 分支限界的定義例題詳細步驟講解(找牛) 1. 分支限界的定義 分支限界法是一種用于求解 組合優化問題 的算法框架,通過 系統性地搜索解空間樹,并結合 剪枝策略 來避…

對接日本金融市場數據全指南:K線、實時行情與IPO新股

一、日本金融市場特色與數據價值 日本作為全球第三大經濟體,其金融市場具有以下顯著特點: 成熟穩定:日經225指數包含日本頂級藍籌股獨特交易時段:上午9:00-11:30,下午12:30-15:00(JST)高流動性…

解決opencv中文路徑問題

見cv_imread函數和cv_imwrite函數 import cv2 import os import matplotlib.pyplot as plt from paddleocr import PaddleOCR, draw_ocr import numpy as np import urllib.parse # Add this import statementfrom txt_get import ImageTextExtractor# 初始化OCR,…

Linux中的Vim與Nano編輯器命令詳解

📢 友情提示: 本文由銀河易創AI(https://ai.eaigx.com)平臺gpt-4-turbo模型輔助創作完成,旨在提供靈感參考與技術分享,文中代碼與命令建議通過官方渠道驗證。 在Linux系統中,文本編輯是最常用的…

寶馬集團加速 ERP 轉型和上云之旅

寶馬集團(BMW Group)作為全球領先的豪華汽車和摩托車制造商,致力于構建更加智能、綠色、人性化的出行體驗。為了支持其全球化、數字化業務戰略,寶馬集團正在進行大規模的 IT 體系升級和 ERP 云轉型。該項目以“RISE with SAP S/4H…

大數據學習(105)-Hbase

🍋🍋大數據學習🍋🍋 🔥系列專欄: 👑哲學語錄: 用力所能及,改變世界。 💖如果覺得博主的文章還不錯的話,請點贊👍收藏??留言📝支持一…

【數學建模】

全國大學生數學建模競賽(CUMCM)歷年試題速瀏(查看超級方便)_全國大學生數學建模競賽真題-CSDN博客 高教社杯全國大學生數學建模競賽歷年賽題(含解析、評閱) - 賽氪教育 年份 賽題 真題 問題類型 對應算法及模型 2023年 A題 定日鏡場的優化設計 …

【Python語言基礎】18、多態

文章目錄 1. 多態1.1 什么是多態1.2 多態實現方式1.3 多態的好處1.4 多態的好處1.5 不同層面的理解1.6 多態的優缺點 1. 多態 在 Python 里,多態是一種非常有用的編程特性,它能讓你以統一的方式處理不同類型的對象 1.1 什么是多態 多態就好比在生活中…

AI多模態論文解讀:OmniCaptioner:多領域視覺描述生成框架(附腦圖)

AIGCmagic社區知識星球是國內首個以AIGC全棧技術與商業變現為主線的學習交流平臺,涉及AI繪畫、AI視頻、大模型、AI多模態、數字人以及全行業AIGC賦能等100應用方向。星球內部包含海量學習資源、專業問答、前沿資訊、內推招聘、AI課程、AIGC模型、AIGC數據集和源碼等…

Spring IoC深度解析:掌控Bean存儲藝術與分層架構的智慧??

一、IoC的本質:從"造物主"到"使用者"的思維躍遷 在傳統編程中,開發者像"造物主"一樣親手創建每個對象(new UserController()),并管理它們的依賴關系。這種方式導致代碼高度耦合&#xf…

ubuntu22.04下安裝mysql以及mysql-workbench

一、mysql安裝以及配置 安裝之前先查看是否已將安裝mysql: rpm -qa | grep mysql (一)、在線安裝 保證網絡正常的情況下: 1、更新軟件包: sudo apt update 2、安裝mysql安裝包 查看可以安裝的安裝包: sudo apt search mysql-server 安裝指定安裝包: sudo apt i…

第二屆數字圖像處理與計算機應用國際學術會議(DIPCA 2025)

重要信息 時間:2025年4月25-27日 地點:中國-西安 官網:www.icipca.net(了解詳情) 部分展示 征稿主題 包括但不限于: 圖像處理:模式識別、計算機視覺、低級視覺和圖像處理、光學技術在圖像中的…

【后端開發】Spring MVC階段總結

文章目錄 快捷引入依賴lombok的使用Lombok依賴Lombok使用Lombok注解 三層架構分層的目的MVC與分層的區別三層架構分層的好處 企業命名規范常見命名命名風格介紹大駝峰風格小駝峰風格包名 常見注解Cookie與Session 快捷引入依賴 這個方法可以快捷引入依賴,但是引入依…

FastAPI依賴注入系統及調試技巧

title: FastAPI依賴注入系統及調試技巧 date: 2025/04/11 15:00:50 updated: 2025/04/11 15:00:50 author: cmdragon excerpt: FastAPI的依賴注入系統采用樹狀結構管理依賴關系,自動解析并執行依賴項。復雜依賴關系可能導致循環依賴、性能問題、邏輯錯誤和調試困難。使用Fa…