«Технология разработки» Минимальная установка Windows использует face_recognition для реализации распознавания лиц.

искусственный интеллект глубокое обучение

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 (or pip2 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 для установки и настройки виртуальной машины, этот проект включен в этот образ.

Ни 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)