大家好,我是Echa。
人臉識別,是基于人的臉部特征信息進(jìn)行身份識別的一種生物識別技術(shù) (Biometric Recognition or Biometrics)。用攝像機(jī)或攝像頭采集含有人臉的圖像或視頻流,并自動在圖像中檢測和跟蹤人臉,進(jìn)而對檢測到的人臉進(jìn)行臉部識別的一系列相關(guān)技術(shù),通常也叫做人像識別、面部識別。
人臉識別流程圖
生物識別包括人臉識別、語音識別、指紋識別、視網(wǎng)膜或虹膜識別。其中人臉識別是目前在身份認(rèn)證或者身份查找應(yīng)用中使用最廣的生物識別技術(shù)。
常用的生物特征識別技術(shù)
人臉識別特指利用分析比較人臉視覺特征信息進(jìn)行身份鑒別的計算機(jī)技術(shù)。廣義的人臉識別實際包括構(gòu)建人臉識別系統(tǒng)的一系列相關(guān)技術(shù),包括人臉圖像采集、人臉定位、人臉識別預(yù)處理、身份確認(rèn)以及身份查找等;而狹義的人臉識別特指通過人臉進(jìn)行身份確認(rèn)或者身份查找的技術(shù)或系統(tǒng)。
傳統(tǒng)的人臉識別技術(shù)主要是基于可見光圖像的人臉識別,人們也比較熟悉這樣的識別方式。不過,這種方式的缺點其實非常明顯,光線的限制性非常大。隨著技術(shù)發(fā)展,也出現(xiàn)了一些新的解決方案,例如:三維圖像人臉識別、熱成像人臉識別等。
借此機(jī)會,小編今天給大家好物分享7個上熱搜的GitHub開源人臉識別項目,希望對大家有所幫助。人臉識別是機(jī)器學(xué)習(xí)熱門領(lǐng)域之一,在 Github上有很多項目實現(xiàn)了各種人臉識別功能。接下來小編給大家一一介紹。
PaddleDetection - 是一個基于PaddlePaddle的目標(biāo)檢測端到端開發(fā)套件。
InsightFace - 是一個基于PyTorch和MXNet的開源2D 3D深度人臉識別分析工具。
OpenFace -是一個用于計算機(jī)視覺和機(jī)器學(xué)習(xí)的工具,能夠進(jìn)行各種面部識別檢測。
face_recognition - 是一個強(qiáng)大、簡單、易上手的人臉識別開源項目。
deepface - 是python的輕量級面部識別和面部屬性分析(年齡,性別,情感和種族)框架。
facenet - 是谷歌公司與 2015 年提出了基于深度學(xué)習(xí)的人臉識別系統(tǒng)。
CompreFace - 是領(lǐng)先的免費開源人臉識別系統(tǒng)。
Github:https://github.com/PaddlePaddle/PaddleDetection
PaddleDetection 官網(wǎng)
PaddleDetection為基于飛槳 PaddlePaddle 的端到端目標(biāo)檢測套件,內(nèi)置30+模型算法及250+預(yù)訓(xùn)練模型,覆蓋目標(biāo)檢測、實例分割、跟蹤、關(guān)鍵點檢測等方向,其中包括服務(wù)器端和移動端高精度、輕量級產(chǎn)業(yè)級SOTA模型、冠軍方案和學(xué)術(shù)前沿算法,并提供配置化的網(wǎng)絡(luò)模塊組件、十余種數(shù)據(jù)增強(qiáng)策略和損失函數(shù)等高階優(yōu)化支持和多種部署方案,在打通數(shù)據(jù)處理、模型開發(fā)、訓(xùn)練、壓縮、部署全流程的基礎(chǔ)上,提供豐富的案例及教程,加速算法產(chǎn)業(yè)落地應(yīng)用。
PaddleDetection 模型截圖:
PaddleDetection 人臉檢測
PaddleDetection 小目標(biāo)檢測
PaddleDetection 2D關(guān)鍵點檢測
PaddleDetection 多目標(biāo)追蹤
Github :https://github.com/deepinsight/insightface
InsightFace 官網(wǎng)
InsightFace是一個基于PyTorch和MXNet的開源2D 3D深度人臉識別分析工具,與MXNet相比,基于OneFlow的實現(xiàn)方案在性能方面更優(yōu)秀,OneFlow在數(shù)據(jù)并行時速度是其2.82倍;模型并行時速度是其2.45倍;混合并行+Partial fc時速度是其1.38倍。
基于OneFlow實現(xiàn)的代碼已合并至 insightface的項目倉庫,其中包含了數(shù)據(jù)集制作教程、訓(xùn)練和驗證腳本、預(yù)訓(xùn)練模型以及和MXNet模型的轉(zhuǎn)換工具。InsightFace高效地實現(xiàn)了豐富的 最先進(jìn)的人臉識別、人臉檢測和人臉對齊算法,這些算法針對訓(xùn)練和部署進(jìn)行了優(yōu)化,該解決方案的準(zhǔn)確性非常高——在LFW數(shù)據(jù)集上為99.86%。
ArcFace、SubCenter-ArcFace、RetinaFace等都是InsightFace支持的項目。
InsightFace 模型
OpenFace -是一個用于計算機(jī)視覺和機(jī)器學(xué)習(xí)的工具,能夠進(jìn)行各種面部識別檢測。
Github:https://github.com/TadasBaltrusaitis/OpenFace
OpenFace 官網(wǎng)
OpenFace是一個用于計算機(jī)視覺和機(jī)器學(xué)習(xí)的工具,能夠進(jìn)行各種面部識別檢測,包括:特征點檢測、頭部姿態(tài)識別、面部動作識別和眼睛注視識別。
OpenFace 一個旨在為計算機(jī)視覺和機(jī)器學(xué)習(xí)研究人員、情感計算社區(qū)和有興趣構(gòu)建基于面部行為分析的交互式應(yīng)用程序的人使用的工具。OpenFace是第一個能夠進(jìn)行面部地標(biāo)檢測、頭部姿態(tài)估計、面部動作單元識別和眼睛-注視估計的工具包,它具有可用的源代碼,可用于運行和訓(xùn)練模型。代表 OpenFace 核心的計算機(jī)視覺算法在上述所有任務(wù)中都展示了最先進(jìn)的結(jié)果。此外,我們的工具能夠?qū)崟r性能,并能夠運行在非專業(yè)的硬件上, 例如一個簡單的網(wǎng)絡(luò)攝像頭。
OpenFace 是基于 Python 和Torch 的神經(jīng)網(wǎng)絡(luò)算法實現(xiàn),它的理論來自facenet。
它的功能包括:
OpenFace 面部標(biāo)志檢測
OpenFace 面部標(biāo)志和頭部姿勢跟蹤
OpenFace 面部動作單元識別
OpenFace 凝視跟蹤
OpenFace 面部特征提取
GitHub: https://github.com/ageitgey/face_recognition
face_recognition 官網(wǎng)
face_recognition 是一個強(qiáng)大、簡單、易上手的人臉識別開源項目,并且配備了完整的開發(fā)文檔和應(yīng)用案例,并且兼容樹莓派系統(tǒng)。本項目是一個非常簡潔的人臉識別庫,可以使用 Python 和命令行工具提取、識別、操作人臉。本項目的人臉識別是基于業(yè)內(nèi)領(lǐng)先的 C++ 開源庫 dlib 中的深度學(xué)習(xí)模型,用 Labeled Faces in the Wild 人臉數(shù)據(jù)集進(jìn)行測試,有高達(dá) 99.38% 的準(zhǔn)確率。但對小孩和亞洲人臉的識別準(zhǔn)確率尚待提升。
其中,Labeled Faces in the Wild是美國麻省大學(xué)安姆斯特分校(University of Massachusetts Amherst)制作的人臉數(shù)據(jù)集,該數(shù)據(jù)集包含了從網(wǎng)絡(luò)收集的13,000多張面部圖像。
本項目還提供了簡易的face_recognition命令行工具,可以用它處理整個文件夾里的圖片。
它的主要功能包括:
import face_recognitionimage = face_recognition.load_image_file("your_file.jpg")face_locations = face_recognition.face_locations(image)
face_recognition 定位圖片中的所有人臉
import face_recognitionimage = face_recognition.load_image_file("your_file.jpg")face_landmarks_list = face_recognition.face_landmarks(image)
face_recognition 識別人臉關(guān)鍵點,包括眼睛、鼻子、嘴和下巴
識別人臉關(guān)鍵點在很多領(lǐng)域都很有用,比如本項目的自動化妝案例( digital make-up):
https://github.com/ageitgey/face_recognition/blob/master/examples/digital_makeup.py。
import face_recognitionknown_image = face_recognition.load_image_file("biden.jpg")unknown_image = face_recognition.load_image_file("unknown.jpg")biden_encoding = face_recognition.face_encodings(known_image)[0]unknown_encoding = face_recognition.face_encodings(unknown_image)[0]results = face_recognition.compare_faces([biden_encoding], unknown_encoding)
face_recognition 識別圖片中的人是誰
deepface - 是python的輕量級面部識別和面部屬性分析(年齡,性別,情感和種族)框架。
Github:https://github.com/serengil/deepface
deepface 官網(wǎng)
deepface是python的輕量級面部識別和面部屬性分析(年齡,性別,情感和種族)框架。您只需幾行代碼就可以應(yīng)用面部分析。它彌合了軟件工程和機(jī)器學(xué)習(xí)研究之間的鴻溝,非常適合想開車但不會造車的你。
Deepface是一個混合人臉識別軟件包。它目前包裝了許多最先進(jìn)的人臉識別模型:VGG-Face、Google FaceNet、OpenFace、Facebook DeepFace、DeepID、ArcFace、Dlib和SFace。默認(rèn)配置使用VGG-Face模型。
實驗表明,人類在面部識別任務(wù)上的準(zhǔn)確率為97.53%,而這些模型已經(jīng)達(dá)到并通過了這個準(zhǔn)確率水平。
根據(jù)實驗測試,性能較好的有:FaceNet、VGG-Face、ArcFace和Dlib。可以在其創(chuàng)建者聲明的Labeled Faces in the Wild和YouTube Faces in the Wild數(shù)據(jù)集中找到這些模型的得分。
deepface主要提供以下人臉識別算法,具體對應(yīng)功能為:
deepface 人臉驗證
dfs = DeepFace.find(img_path = "img1.jpg", db_path = "C:/workspace/my_db")
人臉識別
DeepFace.stream(db_path = "C:/User/Sefik/Desktop/database")
deepface 人臉屬性分析
deepface 人臉檢測
backends = [ 'opencv', 'ssd', 'dlib', 'mtcnn', 'retinaface', 'mediapipe', 'yolov8', 'yunet',]#face verificationobj = DeepFace.verify(img1_path = "img1.jpg", img2_path = "img2.jpg", detector_backend = backends[0])#face recognitiondfs = DeepFace.find(img_path = "img.jpg", db_path = "my_db", detector_backend = backends[1])#embeddingsembedding_objs = DeepFace.represent(img_path = "img.jpg", detector_backend = backends[2])#facial analysisdemographies = DeepFace.analyze(img_path = "img4.jpg", detector_backend = backends[3])#face detection and alignmentface_objs = DeepFace.extract_faces(img_path = "img.jpg", target_size = (224, 224), detector_backend = backends[4])
deepface 人臉特征提取
objs = DeepFace.analyze(img_path = "img4.jpg", actions = ['age', 'gender', 'race', 'emotion'])
deepface 人臉實時分析
Github:https://github.com/davidsandberg/facenet
facenet 官網(wǎng)
FaceNet是谷歌公司與 2015 年提出了基于深度學(xué)習(xí)的人臉識別系統(tǒng)。FaceNet是一個多用途的識別系統(tǒng),可以同時用于人臉驗證(是否是同一人)、識別(這個人是誰)和聚類(尋找類似的人)。
在使用標(biāo)準(zhǔn)“人面數(shù)據(jù)庫”進(jìn)行測試時,F(xiàn)aceNet 的識別精度可以達(dá)到近乎百分之百,在面對 2.5 億張人臉的龐大數(shù)據(jù)庫時,仍能保持 86% 的識別正確率。目前提供的兩個預(yù)訓(xùn)練模型,在LFW的成績分別是99.05%和99.65%。
FaceNet 的基本原理是通過直接訓(xùn)練一個深度卷積神經(jīng)網(wǎng)絡(luò),將人臉圖像映射到 128 維的歐幾里得空間,不同人臉圖像在歐幾里得空間中的距離與圖像相似度相關(guān):那么兩幅人臉圖像特征向量間的“歐式距離”越小,表示兩幅圖像是同一個人的可能性越大。
使用FaceNet推理的過程大致為以下幾個步驟:
Github :https://github.com/exadel-inc/CompreFace
CompreFace 官網(wǎng)
Exadel CompreFace是領(lǐng)先的免費開源人臉識別系統(tǒng)。該人臉識別算法可以被輕松集成到任何系統(tǒng)中,而無需事先掌握機(jī)器學(xué)習(xí)技能。
系統(tǒng)提供用于人臉識別、人臉驗證、人臉檢測、地標(biāo)檢測、面罩檢測、頭部姿勢檢測、年齡和性別識別的REST API;支持在CPU和GPU上運行模型; 該項目還包含角色管理系統(tǒng),可以控制誰有權(quán)訪問面部識別服務(wù)。
另外,CompreFace提供了docker-compose配置,方便以Docker的模式快速部署人臉服務(wù)。
CompreFace支持多種人臉識別服務(wù),包括:
人臉檢測的使用場景很多,例如:收集商店在不同性別中受歡迎程度的統(tǒng)計數(shù)據(jù);收集有關(guān)您的活動在哪些年齡段受歡迎的統(tǒng)計數(shù)據(jù);獲取地標(biāo)信息,了解客戶的視線;收集商店里有多少顧客的統(tǒng)計數(shù)據(jù);確認(rèn)所有顧客是否正確佩戴口罩。
本文鏈接:http://www.www897cc.com/showinfo-26-13607-0.html七個上熱搜的GitHub開源人臉識別項目
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com