face_recognitionЭто мощный, простой и удобный в использовании проект с открытым исходным кодом для распознавания лиц, который оснащен полной документацией по разработке и примерами приложений, особенно совместимыми с системой Raspberry Pi. Этот проект является самой лаконичной библиотекой распознавания лиц в мире. Вы можете использовать инструменты Python и командной строки для извлечения, распознавания лиц и управления ими.
Распознавание лиц в этом проекте основано на ведущей в отрасли библиотеке с открытым исходным кодом C++.dlibМодель глубокого обучения в , сLabeled Faces in the WildНабор данных о лицах протестирован, и точность достигает 99,38%. Однако точность распознавания детских и азиатских лиц еще предстоит улучшить.
Адрес в открытом доступе:GitHub.com/Ах, нажми/опубликуй…
1. Описание проблемы
используйте это на окнахface_recognitionProject, потому что официальная версия для Windows не предусмотрена: при установке постоянно возникают разные проблемы.
Как установить разные операционные системы
Установите этот проект на Mac или Linux
First, make sure you have dlib already installed with Python bindings:
Первый шаг — установить dlib и связанные с ним зависимости Python:
Then, install this module from pypi using
pip3
(orpip2
for Python 2):pip3 install face_recognition
Если вы столкнулись с мотыльком, вы можете установить этот проект с виртуальной машиной Ubuntu, см. следующий учебник. Как использовать файл образа виртуальной машины Ubuntu, предоставленный Адамом Гейтгеем, для установки и настройки виртуальной машины, этот проект включен в образ.
Установите этот проект на Mac или Linux 2
Измените источник зеркала pip на зеркало Tsinghua, а затем используйте
pip install face_recognition
, который может автоматически устанавливать для вас различные зависимости, включая dlib. Просто могут быть проблемы при установке dlib, потому что dlib нужно компилировать, проблема в общемgcc
илиg++
проблема с версией, поэтому вpip install face_recognition
Раньше это можно было сделать, набрав в командной строкеexport CC=/usr/local/bin/gcc export CXX=/usr/local/bin/g++
Чтобы указать местоположение, соответствующее вашим gcc и g++ (эти два предложения временно изменят переменную среды /usr/local/bin/gcc текущего терминала, соответствующую вашему собственному каталогу gcc или g++).
Установить на малину пи
Установить на Windows
Хотя этот проект официально не поддерживает Windows, некоторые великие боги придумали, как запустить этот проект в Windows:
Используйте файл образа виртуальной машины Ubuntu для установки и настройки виртуальной машины, этот проект включен в этот образ.
- Как использовать файл образа виртуальной машины Ubuntu, предоставленный Адамом Гейтгеем, для установки и настройки виртуальной машины, этот проект включен в образ(Требуется, чтобы на компьютере был установлен VMWare Player или VirtualBox)
Ни conda, ни pip не могут быть установлены напрямую.
2. Решение проблем
После непрерывных попыток я, наконец, решил установить указанную версию dlib==19.7.0 с помощью pip, а затем снова установить ее.face_recognition。(如果需要请自行安装Cmake):
pip install dlib==19.7.0
pip install face_recognition
3. Простота использования
face_recognition инкапсулирует многие распространенные алгоритмы, связанные с распознаванием лиц, основанные на dli.Вот два распространенных примера.
1).Распознавание лиц
import face_recognition
import cv2
img_path = "gril.jpg"
imgs = cv2.imread(img_path,cv2.IMREAD_COLOR)
face_locations = face_recognition.face_locations(imgs)
print(face_locations)
cv2.rectangle(imgs,(face_locations[0][1],face_locations[0][0]),(face_locations[0][3],face_locations[0][2]),color=(0,255,0))
while True:
cv2.imshow('image',imgs)
if(cv2.waitKey(0)==27):
break
else:
cv2.imwrite("save.jpg",imgs)
cv2.destroyAllWindows()
Как показано справа.
2) Сравнение лиц (распознавание)
Принцип распознавания лиц на самом деле очень прост для понимания: он состоит в том, чтобы выделить черты лица, затем выполнить сходство (или сравнение на расстоянии) черт и, наконец, выбрать соответствующий порог, чтобы определить, является ли это одним и тем же человеком.
Код 1, две фотографии Лю Ифэй: вывод [Верно]
import face_recognition
known_image = face_recognition.load_image_file("lyf.jpg")
unknown_image = face_recognition.load_image_file("lyf1.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)
print(results)
Код 2, Лю Ифэй и Аарон Квок: вывод [False]
import face_recognition
known_image = face_recognition.load_image_file("lyf1.jpg")
unknown_image = face_recognition.load_image_file("gfc.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)
print(results)